gpt4 book ai didi

system-verilog - 什么算作虚拟接口(interface)的非法层次引用?

转载 作者:行者123 更新时间:2023-12-05 04:02:11 29 4
gpt4 key购买 nike

IEEE 1800-2017 LRM 在25.9 虚拟接口(interface)部分指出:

Although an interface may contain hierarchical references to objects outside its body or ports that reference other interfaces, it shall be illegal to use an interface containing those references in the declaration of a virtual interface.

以下是此类不允许的分层引用的示例吗?

interface some_other_intf();
bit some_signal;
endinterface


interface some_intf();

some_other_intf intf();

task foo();
intf.some_signal <= 0;
endtask

endinterface


virtual some_intf some_vif;

我有一个工具会提示包含 intf.some_signal <= 0 的行.同时 intf.some_signal是一个分层引用,它是一个相对引用,所以我不明白为什么这会被禁止。

intf是界面主体的一部分。我不确定如何解释引用其他接口(interface)的端口部分。

最佳答案

这是一个引用另一个接口(interface)的端口示例

interface some_other_intf();
bit some_signal;
parameter T = int;
endinterface

interface some_intf(some_other_interface intf);
task foo();
intf.some_signal <= 0;
endtask
typefef intf.T myT;
myT another_signal;
endinterface
virtual some_intf some_vif;

问题来自对 some_vif.another_signal 的引用,它的类型可能会根据 T 的哪些参数化连接到 intf 而改变。

对于大多数用例,这不是问题,但 SystemVerilog 委员会从未花时间澄清可以允许的特定情况;刚刚制定了广泛的禁令。

关于system-verilog - 什么算作虚拟接口(interface)的非法层次引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54627223/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com