26得票7回答
SystemVerilog数据类型之间的区别(reg、logic、bit)

在SystemVerilog中有不同的数据类型可用,如下所示: reg [31:0] data; logic [31:0] data; bit [31:0] data; 他们三个有什么不同之处?

26得票2回答
来自RAM深度的地址宽度是什么意思?

我正在实现一个可配置的DPRAM,其中RAM深度是参数。 如何从RAM深度确定地址宽度? 我知道RAM深度和地址宽度之间的关系是RAM深度 = 2 ^ (地址宽度) 即地址宽度 = log (以2为底) RAM深度。 如何在Verilog中实现以2为底的对数函数?

21得票2回答
在Verilog中,=和<=有什么区别?

在这段代码中,=和&lt;=有什么区别?此外,我如何打印data的值? module always_example(); reg clk,reset,enable,q_in,data; always @ (posedge clk) if (reset) begin data &...

20得票2回答
如何在Verilog中定义和初始化一个只包含1的向量?

如果我想声明一个所有位都为1的128位向量,以下哪种方法总是正确的?wire [127:0] mywire; assign mywire = 128'b1; assign mywire = {128{1'b1}}; assign mywire = 128'hFFFFFFFFFFFFFFFFF...

18得票2回答
$size, $bits, verilog

Verilog中$size和$bits运算符有什么区别? 如果我有变量[9:0]a,[6:0]b,[31:0]c。c &lt;= [($size(a)+$size(b)-1]-:$bits(b)]; 以上表达式中,'c'的输出结果将是什么?

18得票3回答
Verilog:如何实例化一个模块

如果我有一个Verilog模块'top'和一个Verilog模块'subcomponent',我该如何在'top'中实例化'subcomponent'? top:module top( input clk, input rst_n, input ...

15得票4回答
如何从预处理器宏创建一个字符串

我有一个预处理器宏,代表我的设计中的分层路径。 例如: `define HPATH top.chip.block 我需要构建一个字符串来保存`HPATH的值,因此在我的例子中,该字符串应等于top.chip.block。 有没有一种方法可以构建这样的字符串? 以下尝试均未成功: ...

14得票7回答
在SystemVerilog包中处理参数化

SystemVerilog新增了包(packages)来为常用代码片段(函数、类型、常量等)提供命名空间。但由于包不能被实例化,因此处理参数化成员是有问题的。实际上,我发现这很具限制性,因为我的自定义类型通常具有一些参数来控制字段宽度等。 通常我会使用带有默认值的参数,并且知道我需要回去更改...

13得票2回答
修改Verilog模式缩进

我想让verilog模式在缩进时除了声明和always之外,全部使用两个空格。这是我添加到我的.emacs文件中的代码:;; `define are not indented ...

13得票2回答
在综合中应避免使用哪些SystemVerilog特性?

SystemVerilog引入了一些非常有用的构造来改进编码风格。然而,正如我的一位同事经常说的那样,“你不是在编写软件,而是在描述硬件。”考虑到这一点,当最终结果需要合成时,应避免语言的哪些特性?该 paper 显示了目前Synopsys工具可以综合的特性,但为了安全起见,我认为应只使用所有...