返回介绍

23.4 表达式尺寸系统函数

发布于 2020-09-09 22:55:57 字数 741 浏览 1110 评论 0 收藏 0

size_function ::=        // 没有包含在附录A中
    $bits(expression)
  | $bits(type_identifier)

语法23-3 — 尺寸函数语法(没有包含在附录A中)

$bits系统函数返回将一个表达式作为位流保存时所需要的位数。参见3.16节,一个有效类型定义的位流强制类型转换。一个四态值作为一位计数。对于下面的声明:

logic [31:0] foo;

那么$bits(foo)应该返回32,尽管软件实现会采用多于32位的存储空间来代表四态值。对于下面的声明:

typedef struct {
    logic valid;
    bit [8:1] data;
} MyType;

表达式$bits(MyType) 应返回9,也就是类型为MyType的变量所需要的数据位的数目。当用于固定尺寸类型的时候,$bits函数可以作为一个确立时常量使用。 因此,它可以用在其它类型或变量的声明中。

typedef bit[$bits(MyType):1] MyBits; // 与typedef bit [9:1] MyBits;相同
MyBits b;

变量b可以用来保留类型为MyType的变量的位模式而不会丢失任何信息。当作用于一个当前为空的动态尺寸类型的时候,$bits系统函数返回0。将$bits系统函数直接与动态尺寸类型标识符一起使用是错误的。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文