集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1517|回复: 2

Verilog HDL 的系统任务$monitor

[复制链接]
afei6969 发表于 2021-3-30 21:36:38 | 显示全部楼层 |阅读模式
格式:
$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便不间断地对所设定的信号进行监视。
zxopenluyutong 发表于 2021-3-31 09:12:15 | 显示全部楼层
Verilog HDL 的系统任务$monitor
zhangyukun 发表于 2021-3-31 09:20:12 | 显示全部楼层
Verilog HDL 的系统任务$monitor
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-4-19 21:32 , Processed in 0.058019 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表