返回介绍

23.2 确立时的typeof函数

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

typeof_function ::=           // 没有包含在附录A中
    $typeof(expression)
  | $typeof(data_type)

语法 23-1 — typeof函数语法(没有包含在附录A中)

$typeof系统函数返回它的自变量的数据类型。$typeof系统函数返回的数据类型可以用来赋值或覆盖一个类型参数,或者在确立过程中与另外一个$typeof系统函数返回的数据类型进行比较。

在调用时,如果将表达式作为它的自变量,那么$typeof返回一个代表表达式自决类型结果的类型。表达式的返回类型在确立时确定,但永远不会对其求值。表达式不应包含任何层次化的标识符或对动态对象元素的引用。在所有的关联文中,$typeof与它的自变量一起可以使用在要求确立时常量的任何地方。

当使用在比较表达式中的时候,如果操作数是类型等价的(参见5.8节中有关类型等价的内容),那么等式(==)或条件等式(===)的结果为“真”。

例如:

bit [12:0] A_bus, B_bus;
parameter type bus_t = $typeof(A_bus);

generate
    case ($typeof(but_t))
        $typeof(bit[12:0]): addfixed_int #(bus_t) (A_bus,B_bus);
        $typeof(real): add_float #($typeof(A_bus)) (A_bus,B_bus);
    endcase
endgenerate

对用户来讲,$typeof返回的真实值是不可见的并且是未定义的。

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

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

发布评论

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