当前位置:首页 > > 芯片验证工程师
[导读]SystemVerilog提供四种不同的实例之间的通信或连接方式:端口、句柄、全局变量、直接层次引用。 端口是静态实例世界的成员之间的连接,如module和interface实例。因此,它们可能不会在动态实例世界类中使用。UVM提供了诸如uvm_tlm_put_port等端口的概...

SystemVerilog提供四种不同的实例之间的通信或连接方式:端口、句柄、全局变量、直接层次引用。

 

端口是静态实例世界的成员之间的连接,如module 和interface 实例。因此,它们可能不会在动态实例世界类中使用。UVM提供了诸如uvm_tlm_put_port等端口的概念。这些端口不是SystemVerilog 端口,而是一个指针的wrapper 类。因此,UVM TLM端口是一种基于指针的通信方案,它伪装成Verilog和VHDL工程师所熟悉的端口

 

类句柄是指向类对象(实例)的指针。virtual interface是一个指向interface 实例的变量。它可以被认为是一个interface 实例的一个句柄。

 

SystemVerilog中的每个标识符都有一个唯一的层级路径名。SystemVerilog 对象可以从任何SystemVerilog 对象中根据这个层次路径名称引用。虽然这很强大,因为它允许从任何地方到任何地方的通信,但通常不希望使用这种技术。在设计中,这种方法无法综合;在验证中,无法重用。

 

全局变量是指在某个作用域中声明的可被其他作用域引用的变量。在testbenche中使用全局变量的两个最常见的示例是在package中声明的变量和类的静态属性。建议全局变量仅用于初始化或状态类型通信。不建议全局变量用于在对象之间传输数据由于全局变量的性质,会存在竞争冒险问题。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭