码迷,mamicode.com
首页 > 其他好文 > 详细

verilog之monitor

时间:2020-07-26 01:45:00      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:soft   module   end   not   ilog   基本   追踪   用法   实用   

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

标签:soft   module   end   not   ilog   基本   追踪   用法   实用   

原文地址:https://www.cnblogs.com/electricdream/p/13378531.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!