首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SystemVerilog $bits()返回类型?

SystemVerilog $bits()返回类型?
EN

Stack Overflow用户
提问于 2021-08-06 09:01:44
回答 2查看 713关注 0票数 2

正如我从SystemVerilog 3.1a语言参考手册中知道的那样,“$bits系统函数返回作为比特流保存表达式所需的位数。”

  1. 此函数返回什么类型?
  2. 是此类型与机器相关的最大大小吗?
  3. 是最大systemverilog类型延拓吗?

任何链接到规范或文档揭示这一神秘将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-06 13:08:36

根据Verilog系统标准:

20.6.2表达式大小系统函数$bits系统函数返回作为比特流保存表达式所需的位数。返回类型是 Integer 6.11整数数据类型integer -- 4状态数据类型,32位有符号整数

票数 2
EN

Stack Overflow用户

发布于 2021-08-06 10:03:25

就位数而言,您可以使用如下代码在模拟器中进行测试

代码语言:javascript
运行
复制
`define inspect(arg) \
  $display(`"arg = %b = %d (%0d bits)`", arg, arg, $bits(arg));

module bit_width;
  reg [4:0] x;
  reg [4'd4:4'd0] y;
  initial begin
    `inspect($bits(x));
    `inspect($bits(y));
  end
endmodule

在Icarus Verilog中

代码语言:javascript
运行
复制
$bits(x) = 00000000000000000000000000000101 =          5 (32 bits)
$bits(y) = 00000000000000000000000000000101 =          5 (32 bits)

这意味着两者都会给出32位,固定大小。

老实说,在阅读了你的问题之后,在测试之前,我希望$bits(y)有4位。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68678939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档