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可以對某些關鍵變量的變化起到准確描述作用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM