VCS-知识

VCS运行过程。

vcs仿真事件队列

第一步:将所有initial和always块和连续赋值语句读进去,将这些语句按照固定的顺应放到一个队列中。
第二步:首先执行没有延迟的语句,比如变量的初始化语句。
第三步:当这些没有延迟的语句和initial语句全部执行完,VCS工具就会将时间记为0,就是current time。
第四步:进入active region区,在这个区间首先执行User Defined Primitive(用户自定义语言),比如说与门、或门、非门;$dispaly语句;没有延迟的assign语句;阻塞赋值的全部;非阻塞赋值只将右边的表达式的值计算出来,没有完成对左边的赋值。
第五步:进入inactive region区,相当于没有#0的语句,该区域的语句执行相对晚点,这个区域主要执行#0延迟语句的。
第六步:进入 Nonblocking assign region区,该区域完成对非阻塞赋值左边的赋值。
第七步:进入monitor区,该区域主要执行monitor函数,比如说监测a的值,当a的值变化,monitor才会监测到。用monitor和display监测非阻塞赋值,monitor监测的赋值后的值,display展示的是赋值前的值。
第八步:进入future区,执行一些其他的语句。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值