compiles with IEEE1364 : verilog语言的仿真基于分层的事件队列
VCS 仿真模块的顺序(先从没有延迟的事件开始,执行它们,然后把时间设为0,然后按照时间顺序依次执行各个时间,同一层的时间,什么执行顺序都是可以的):
(1)no delay(initial / always)
(2)set t=0
(3)active region
执行一些原语(UDP),$display,assigns,blocking assignments,nonblocking RHS
(4)inactive region (#0)
(5)Nonblocking assign region 非阻塞语句赋值
(6)monitor region ( $ strobe $ monitor ) 当变量发生变化,检测
(7)future region 其他指定的PLI命令语句
Verilog PLI(Programming Language Interface )是一种Verilog代码调用C/C++函数的机制。它能让Verilog像调用一些系统调用(如 $display/ $stop/ $random)一样调用用户编写的C/C++函数,这样我们可以用C/C++语言开始自己的system task/function, 来实现用verilog不太方便的功能,并与外界建立了联系。
VCS 的运行方式有两种,一种是交互模式(interactive mode),一种是批处理模式(batch
mode),两种方式各有优劣,具体用在不同的情况下。在测试小模块或者底层模块,情况不
太复杂的时候,而又需要很详细信息的时候,可以采用交互模式,交互性能更好,显示更直
观;当进行复杂测试而关注于整体性能,而不必去查看每个信号的时候,只需要查看所需要
关心的信号即可,这种情况可以用批处理模式
- Interactive Simulator Controls
步骤:RTL、TB(加入vcspluson 否则无法debug)
直接输入命令
vcs souce_file -full64 +v2k debug_pp -l compile.log
./simv -gui -l fsm.log
或者
vcs souce_file -full64 +v2k debug_pp -R -gui -l - post-processing with VCD+ files
编写makefile对电路进行处理,一般用于后期的仿真
(一)编译compile
VCS对源文件进行编译,生成中间文件和可执行文件
-
-Mupdate (Incremental compilation (only changed files are compiled)
-
-R (Run after compi