Verilog HDL 的系统任务$monitor
格式:$monitor(p1,p2,.....,pn);
$monitor;
$monitoron;
$monitoroff;
任务$monitor提供了监控和输出参数列表中的表达式或变量值的功能。其参数列表中输出控制格式字
符串和输出表列的规则和$display中的一样。当启动一个带有一个或多个参数的$monitor任务时,仿
真器则建立一个处理机制,使得每当参数列表中变量或表达式的值发生变化时,整个参数列表中变量
或表达式的值都将输出显示。如果同一时刻,两个或多个参数的值发生变化,则在该时刻只输出显示
一次。但在$monitor中,参数可以是$time系统函数。这样参数列表中变量或表达式的值同时发生变
化的时刻可以通过标明同一时刻的多行输出来显示。如:
$monitor($time,,"rxd=%b txd=%b",rxd,txd);
在$display中也可以这样使用。注意在上面的语句中,“,,"代表一个空参数。空参数在输出时显示
为空格。
$monitoron和$monitoroff任务的作用是通过打开和关闭监控标志来控制监控任务
$monitor的启动和停止,这样使得程序员可以很容易的控制$monitor何时发生。其中$monitoroff任
务用于关闭监控标志,停止监控任务$monitor,$monitoron则用于打开监控标志,启动监控任务
$monitor。通常在通过调用$monitoron启动$monitor时,不管$monitor参数列表中的值是否发生变
化,总是立刻输出显示当前时刻参数列表中的值,这用于在监控的初始时刻设定初始比较值。在缺省
情况下,控制标志在仿真的起始时刻就已经打开了。在多模块调试的情况下,许多模块中都调用了
$monitor,因为任何时刻只能有一个$monitor起作用,因此需配合$monitoron与$monitoroff使用,
把需要监视的模块用$monitoron打开,在监视完毕后及时用$monitoroff关闭,以便把$monitor 让
给其他模块使用。$monitor与$display的不同处还在于$monitor往往在initial块中调用,只要不
调用$monitoroff,$monitor便不间断地对所设定的信号进行监视。 Verilog HDL 的系统任务$monitor Verilog HDL 的系统任务$monitor
页:
[1]