systemverilog中阻塞和非阻塞事件以及同步

本文详细介绍了SystemVerilog中的非阻塞事件和阻塞事件。通过示例展示了如何使用->和@操作符,以及它们在程序执行顺序中的影响。在示例中,两个initial块并发执行,尽管在同一时刻,但执行顺序受到源代码排列的影响,展示了阻塞事件在等待未触发事件时导致的程序暂停现象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、SV中非阻塞事件

module test;

event ev1, ev2;

//belong to logic function part
always@(ev1)
$display("ev1 triggered at %0ts", $time);

initial wait(ev2.triggered)
$display("ev2 triggered at %0ts", $time);

//belong to stimulus
initial begin
->> #5 ev1; //"->>": non-blocking event, delay 5 cycle triggering the event
end

initial begin
->> @(ev1) ev2;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值