返回介绍

3.8 event数据类型

发布于 2020-09-09 22:55:44 字数 676 浏览 1118 评论 0 收藏 0

event数据类型是Verilog命名事件的增强。SystemVerilog事件为一个同步对象提供了一个句柄。与Verilog一样,事件变量可以被显式地触发以及等待。更进一步,SystemVerilog事件还具有一个稳固的触发状态,它在整个时间步值间隔内持续。此外,一个事件变量可以被赋值为另外一个事件变量或者被赋值为特殊的null值。当赋值为另外一个事件变量的时候,这两个事件变量均指向相同的同步对象。当赋值为null的时候,同步对象与事件变量之间的关系被切断。事件还可以作为任务的参数传递。

event的声明语法如下:

event variable_name [= initial_value];

其中variable_name是一个有效的标识符,可选的initial_value可以是另外一个事件变量或null值。

如果在声明事件变量的时候没有指定初始值,那么事件变量会被初始化成一个新的同步对象。

如果事件变量被赋值为null,那么事件变成非阻塞的,就好像它被永久触发一样。例如:

event done;             // 声明一个新的命名为done的事件
event done_too = done;  // 将done_too声明为done的别名
event empty = null;     // 没有同步对象的事件变量

事件的操作和语义将在13.5节中详细讨论。

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

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

发布评论

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