zoukankan      html  css  js  c++  java
  • 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可以对某些关键变量的变化起到准确描述作用。

  • 相关阅读:
    cqyz oj | 单峰排列
    cqyz oj/uva 548 | 二叉树
    cqyz oj | 树网的核 | 树的直径
    cqyz oj | 树上的询问 | 最近公共祖先
    cqyz oj | 循环逆序对 | 逆序对 | 树状数组
    cqyz oj | 潜水比赛 | 贪心
    YOLO v3 & Pascal VOC数据集
    太阳爆发分类
    PPT制作
    anaconda
  • 原文地址:https://www.cnblogs.com/electricdream/p/13378531.html
Copyright © 2011-2022 走看看