VCS 视频教程 笔记 第一课

这篇博客介绍了Verilog仿真中的事件队列原理,强调了不同仿真器可能产生的差异。详细阐述了VCS仿真器的工作流程,包括active、inactive、nonblocking assign和monitor等区域。还讨论了在Verilog代码中避免使用阻塞性赋值和#0语句的规范,并提到了VCS的编译和运行时命令选项。此外,提到了DesignWare库的使用及定义`define的三种方法。
摘要由CSDN通过智能技术生成

第一课

 

仿真事件队列

  • Verilog内建仿真规范

同一个代码在不同的仿真器当中,或者同一个仿真器的不同版本结果可能是不同的,因为仿真器的内建规范不同。

verilog的仿真队列如上图所示:

1.VCS首先会读取所有的initial和always block,并执行一些没有延时的语句。

2.将时间设置成t=0

3.进入active region:(1)首先执行原语(包括UDP即用户定义的原语),例如简单的与门或门、上拉下拉等。

                                    (2)$display

                                    (3)continuous assignments例如assign

                                    (4)阻塞赋值,先计算右边的表达式再赋给左边

***非阻塞赋值在这个部分

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值