arrays - $size, $bits, verilog

标签 arrays verilog system-verilog

$size有什么区别和 $bits verilog中的运算符。?
如果我有变量,[9:0]a , [6:0]b , [31:0]c .

c <= [($size(a)+$size(b)-1]-:$bits(b)];

上面表达式在 'c' 处的输出是什么?

最佳答案

$size()给出单个维度的位数。 $bits()给出完全表示变量的位数。

例如:

reg [9:0] a;
reg [9:0] b [5:0];

initial begin
  $display("a Size ", $size(a));
  $display("a Bits ", $bits(a));
  $display("b Size ", $size(b));
  $display("b Bits ", $bits(b)) ;
end

给出:
a Size          10
a Bits          10
b Size           6 // Depth of memory
b Bits          60 // Width * Depth

在您的情况下,您只有一维数组,而不是内存或结构,所以 $size()$bits()将是同样的事情。

关于arrays - $size, $bits, verilog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13340301/

相关文章:

verilog 赋值会导致未定义的 'X' 输出——为什么?

arrays - 系统Verilog : How to create an interface which is an array of a simpler interfaces?

verilog - verilog中可变大小的参数数组

c - C 中对 `main' 的 undefined reference

java - 不兼容的类型 : String[] cannot be converted to String

java - Java中如何传递链表?

syntax - 来自 vhdl 程序员的 verilog 中的泛型

c++ - 大小为 k 的数组(大小为 n)的子集数,最大和最小元素之差最多为 x

php - 将数组转换为逗号分隔值

verilog - SystemVerilog 端口类型 [网络或变量]?