$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/