在verilog中绝大多数使用的都是边沿敏感事件,例如@(posedge event)和@(negedgeevent)。
在SystemVerilog中使用电平敏感事件控制的语法关键词是“wait”。
“wait”不是去检测一个边沿事件的发生,而是去等待一个条件的满足,否则会一直仿真进程阻塞。
module level; int a; initial begin # 10; wait (a == 1); $display($stime,,, "wait complete"); end initial begin a = 1; end endmodule
仿真log:
wait complete V C S S i m u l a t i o n R e p o r t
在这个例子中,我们使用“wait”等待a的值为1,只要在语句“wait (a == 1);” 后面时间满足条件才会仿真继续执行。
因为在时间0,a赋值为1,所有在时间10就打印了“wait complete”。
但是,如果我们使用的是@(posedge a),实际上在这个例子当中是永远等待不到的。
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
Verilog
+关注
关注
28文章
1343浏览量
109983 -
System
+关注
关注
0文章
165浏览量
36884
原文标题:SystemVerilog中的电平敏感事件控制
文章出处:【微信号:芯片验证工程师,微信公众号:芯片验证工程师】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
SystemVerilog中的“const”类属性
SystemVerilog中可以将类属性声明为常量,即“只读”。目的就是希望,别人可以读但是不能修改它的值。
发表于 11-29 10:25
•2096次阅读
组合逻辑中的always后面的敏感事件表是高电平触发还是电平发生翻转的时候触发?
如题,组合逻辑中的always后面的敏感事件表是高电平触发还是电平发生翻转的时候触发?感觉两者说法都过的去,求正确的说法。
发表于 06-08 11:00
SystemVerilog的断言手册
SystemVerilog Assertion Handbook1 ROLE OF SYSTEMVERILOG ASSERTIONSIN A VERIFICATION METHODOLOGY
发表于 07-22 14:12
•20次下载
SystemVerilog中对于process的多种控制方式
Block,也就是语句块,SystemVerilog提供了两种类型的语句块,分别是begin…end为代表的顺序语句块,还有以fork…join为代表的并发语句块。
SystemVerilog中$cast的应用
SystemVerilog casting意味着将一种数据类型转换为另一种数据类型。在将一个变量赋值给另一个变量时,SystemVerilog要求这两个变量具有相同的数据类型。
SystemVerilog中的package
SystemVerilog packages提供了对于许多不同数据类型的封装,包括变量、task、function、assertion等等,以至于可以在多个module中共享。
SystemVerilog中的Semaphores
SystemVerilog中Semaphore(旗语)是一个多个进程之间同步的机制之一,这里需要同步的原因是这多个进程共享某些资源。
Systemverilog中的Driving Strength讲解
在systemverilog中,net用于对电路中连线进行建模,driving strength(驱动强度)可以让net变量值的建模更加精确。
评论