verilog之monitor
Posted electricdream
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了verilog之monitor相关的知识,希望对你有一定的参考价值。
verilog之monitor
1、函数作用
monitor用于追踪变量的变化情况,这在实际使用中还是非常实用的。电路中的某个信号的变化可以通过monitor检测,不需要使用波形图去仔细查找。也便于准确描述某个信号的变化。
2、基本用法
module monitor; reg a_monitor; reg b_monitor; initial begin a_monitor=1; b_monitor=0; $monitor($time,,"a= %b",a_monitor); $monitor($time,,"b= %b",b_monitor); //$monitor($realtime,,"a=%b","b=%b",a_monitor,b_monitor); #1 a_monitor=0; #1 b_monitor=1; #1 a_monitor=1; b_monitor=0; #10 $stop; end endmodule
monitor具有单一进程性,即monitor只会执行一次,由monitoroff结束。同时使用两个monitor会自动关闭前面的一个。上面的结果如下:
run -all # 0 b= 0 # 2 b= 1 # 3 b= 0 # ** Note: $stop : D:/Library/verilog_soft/P1_function/H2_monitor/monitor.v(19) # Time: 13 ns Iteration: 0 Instance: /monitor
注意stop函数先于monitor,如果stop同时有变量变化,是不会出现在结果中的。
需要检测多个变量时使用多参数形式。使用time和realtime(带小数)可以将时间显示出来,用于凸显时序。
3、总结
monitor是一个自动检测函数,可以弥补display必须在需要显示的地方插入才能跟踪的缺点。使用monitor可以对某些关键变量的变化起到准确描述作用。
以上是关于verilog之monitor的主要内容,如果未能解决你的问题,请参考以下文章
javascript UV Index Monitor App订阅PubNub并显示UV索引值。博文的代码片段。在这里查看项目:https:// githu