繁体   English   中英

如何在 systemverilog 中对邮箱使用 get 任务?

[英]How do I use get task for mailboxes in systemverilog?

我想用一个邮箱的get任务,邮箱里有Transaction类的数据。 在访问时我需要创建一个变量 tr 的对象还是仅仅一个句柄就足以访问从邮箱接收到的数据?

邮箱#(事务) gentodriver;
交易tr;
gentodriver.get(tr);

这会工作还是我需要使用创建 tr 的对象

tr=新();

您的问题并非特定于邮箱。 SystemVerilog 使用句柄来分类对象,你永远不会直接引用类对象。 类句柄存储在类变量中。

当您使用mailbox::put()get()方法时,您正在对这些方法的参数进行赋值。 您正在将对象的句柄放入邮箱中,他们得到了句柄。 您没有复制对象,只是将其句柄复制到另一个类变量中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM