在Verilog仿真中,我们可以使用一些控制语句和系统任务来管理仿真过程。这些语句和任务可以帮助我们控制仿真的进行并输出必要的信息。
1. $stop:这是一个系统任务,用于停止运行仿真。在ModelSim中,可以继续仿真。
2. $stop(n):带参数的系统任务,根据参数的不同取值(0、1或2),输出相应的仿真信息。
3. $finish:结束运行仿真,不可继续仿真。
4. $finish(n):带参数的系统任务,根据参数的不同取值(0、1或2),输出相应的仿真信息。
5. $random:用于产生随机数。
6. $random % n:产生范围在-n到n之间的随机数。
7. {$random} % n:产生范围在0到n之间的随机数。
仿真终端显示描述:
在仿真过程中,我们可以通过一些系统任务来控制终端的显示,以便查看仿真结果和变量的变化。
1. $monitor:这是一个系统任务,用于在终端显示仿真过程中的变量。
2. $display:用于在终端打印字符串,显示仿真结果等。
3. $time:返回64位整型时间。
4. $stime:返回32位整型时间。
5. $realtime:实现实型模拟时间。
文本输入方式:$readmemb/$readmemh
Verilog提供了读入文本文件的系统函数,用于激励具有复杂数据结构的模块。
1. $readmemb/$readmemh("<数据文件名>", <存储器名>):读取二进制/十六进制数据文件到存储器中。
2. $readmemb/$readmemh("<数据文件名>", <存储器名>, <起始地址>):从指定起始地址开始读取数据文件到存储器中。
3. $readmemb/$readmemh("<数据文件名>", <存储器名>, <起始地址>, <结束地址>):从起始地址到结束地址读取数据文件到存储器中。
在模块中,我们可以使用$readmemh函数将数据文件中的内容读取到存储器中,然后通过$display显示存储器的内容。