笔记:路科V0第22节——线程控制

28 篇文章 1 订阅
28 篇文章 4 订阅

课程链接:https://www.bilibili.com/video/BV1k7411H7Jo?p=23
在Verilog中,initial和always都可以看做独立的线程,always线程会一直占用仿真的资源,因为它们并不会结束。而验证环境中的线程都为initial线程,在仿真过程中,这些线程可以销毁,因此验证过程中的资源分布是动态的。
在initial语句中,有两种分组方式。一种是begin…end,一种是fork…join。前者是顺序执行,后者是并行执行。
SV新引入的fork…join_none和fork…join_any。在进入fork…join语句后,语句内的进程被同时执行。第一种情况表明只有在语句块中所有的进程全部完成,才会跳出语句块。第二种情况表明只需最短地进程完成就可以跳出语句块。第三种情况表明不需要等待任何进程完成就可以继续执行接下来的程序。
这种方法和fork…jion有什么区别?不懂。
这里的disable fork保证了最短的线程结束后另外两个线程能停止,避免了不需要的线程对仿真资源的浪费。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值