问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

为什么在多模块调试的情况下$monitor需要配合$monitoron和$monitor...

发布网友 发布时间:2024-06-02 20:13

我来回答

2个回答

热心网友 时间:2024-06-04 08:01

monitoron和monitoron和monitoroff任务的作用是通过打开和关闭监控标志来控制监控任务monitor的启动和停止,这样使得程序员可以很容易的控制monitor的启动和停止,这样使得程序员可以很容易的控制monitor何时发生。monitoron来启动monitoron来启动monitor时不管monitor参数列表中的值是否发生改变,总是立刻输出显示当前时刻参数列表中的值,这用于在监控的初始时刻设定初始比较值。在默认情况下,控制标志在仿真的起始时刻就已经打开了。在多模块调试的情况下,许多模块都调用了monitor参数列表中的值是否发生改变,总是立刻输出显示当前时刻参数列表中的值,这用于在监控的初始时刻设定初始比较值。在默认情况下,控制标志在仿真的起始时刻就已经打开了。在多模块调试的情况下,许多模块都调用了monitor,因为任何时刻只能用一个monitor起作用,因此需要配合monitor起作用,因此需要配合monitoron与monitoroff使用,把需要监视的模块用monitoroff使用,把需要监视的模块用monitor打开,在监视完毕后及时用monitoroff关闭,以便把monitoroff关闭,以便把monitor让给其它模块使用。

热心网友 时间:2024-06-04 07:57

1.系统任务 $monitor格式:$monitor(p1,p2,….pn);$monit0r;$monitoron;$monitoroff;任务$monitor提供了监视和输出参数列表中的表达式或变量的功能。其参数列表中输出控制格式字符串和输出列表的规则和$display中一样。当启动一个带有一个或多个参数的$monitor任务时,仿真器则建立一个处理机制,使得每当参数列表中变量或表达式的值发生变化时,整个参数列表中的变量或表达式的值都输出显示。如果同一时刻,两个或多个参数的值发生变化则在该时刻只输出一次。但在$monitor中,参数可以是$time系统函数。$monitoron和$monitoroff任务的作用是通过打开和关闭监控标志来控制监控任务$monitor的启动和停止,这样就可以控制$monitor的发生。其中$monitoroff任务用于关闭监控标志,停止监控任务$monitor,$monitoron则用来打开监控标志,启动监控任务$monitor。通常在通过调用$monitoron来启动$monitor时,不管$monitor参数列表中的值是否发生变化,总是立刻输出显示当前的时刻参数列表中的值,这用于在监视的初始时刻设定初始比较值。在默认情况下,控制标志在仿真的起始刻就已经打开了。在多模块调试的情况下,许多模块中都调用了$monitor,因为任何时刻只能有宇哥$monitor起作用,因此需配合$monitoron与$monitoroff使用,把需要监视的模块用$monitoron打开,在监视完毕后及时用$monitoroff关闭,以便把$monitor让给其他模块使用。$monitor与$display的不同处还在于$monitor往往在initial块中调用,只要不调用$monitoroff,$monitoron便不间断地对所设定的信号进行监视。2.时间度量系统函数$time(1)系统函数$time$time可以返回一个64位的整数来表示的当前仿真时刻值。该时刻是以模块的仿真时间尺度为基准的。(2)$realtime

系统函数$realtime和$time的作用是一样的,只是$realtime返回的时间数字是一个实型数,该数字也是以时间尺度为基准的。3.系统任务$finish格式:$finish;$finish(n);系统任务$finish的作用是退出仿真器。也可以带参数,根据参数的值输出不同的特征信息。如果不带参数,默认$finish的参数树枝为1.0
不输出任何信息;1 输出当前仿真时刻和位置;2
输出当前仿真时刻,位置和在仿真过程中所用memory及CPU的时间统计。4.系统任务$stop格式:$stop;$stop(n);$stop任务的作用是把EDA工具置成暂停模式,在仿真环境下给出一个交互式的命令提示符,将控制权交给用户。这个任务可以带有参数表达式。5.系统任务$readmemb和$readmemh用来从文件中读取数据到存储器中。这两个系统任务可以在仿真的任意时刻被执行,格式:(1)$readmemb("<数据文件名>",<存储器名>);(2)$readmemb("<数据文件名>",<存储器名>,<起始地址>);(3)$readmemb("<数据文件名>",<存储器名>,<起始地址>,<结束地址>);(4)$readmemh("<数据文件名>",<存储器名>);(5)$readmemh("<数据文件名>",<存储器名>,<起始地址>);(6)$readmemh("<数据文件名>",<存储器名>,<起始地址>,<结束地址>);在这两个系统任务中,被读取的数据文件的内容只能包含:空白位置(空格、换行、制表符(tab)和form-feeds),注释行(//形式的和形式的都允许)、二进制或十六进制的数字。数字中不能包含位宽的说明和格式说明,对与$readmemb系统任务,每个数字必须是二进制数,对于$readmemh系统任务,每个数字必须是十六进制。数字中不定值x或X,高阻值z或Z和下划线的使用方法及代表的意义与一般VERILOG

HDL程序的语法和用意一样6.系统任务$random这个系统函数提供了一个产生随机数的手段。当函数被调用时返回一个32位的随机数。他是一个带符号的整数。$random一般用法是:$random%b,其中b>0。他给出一个范围在(-b+1):(b-1)中的随机数。7.编译预处理(1)宏定义`define用一个指定的标识符来代表一个字符串,他的一般形式为:`define标识符(宏名)字符串(宏内容)这种方法可以以一个简单的的名字代替一个长的字符串,也可以用一个有含义的名字来代替没有含义的数字和符号。说明:1)宏名可以用大些字母也可以用小写字母。建议用大些!2)`define命令可以出现在模块定义里面,也可以出现在模块定义外面。红名的有效范围为定义命令之后到原文结束,通常定义在模块外面,作为程序的一部分,在此程序有效。3)在引用一定义的宏名时,必须在宏名的前面加上符号“`”,表示该名字是个经过宏定义的名字。4)使用宏定义可以提高程序的可移植性和可读性。5)宏定义是用宏名代替一个字符串,也就是做简单的置换,不做语法检查。预处理时照样带如,不管是否正确。只有在编译已被宏展开的源程序才报错。6)宏定义不是Verilog语句,不必在行末加分号。如果加了分号会连分号一起进行置换。7)在进行宏定义时,可以引用已定义的宏名,可以层层置换。8)宏名和宏内容必须在同一行中进行声明。如果在宏内容中包含有注释行,注释行不会作为被置换的内容。(2)“文件包含”处理`include所谓“文件包含”处理是一个源文件可以将另外的源文件的全部内容包含进来,即另外的文件包含到本文件之中。可以节省设计时间;可以将一些常用的的宏定义或任务组成一个文件夹,然后将这些宏定义包含到自己所写的源程序中。说明:1)一个`include命令只能指定一个被包含的文件,如果包含n个文件要用n个`include命令。2)`include命令可以出现在Verilog源程序的任何地方,被包含的文件名可以是相对路径也可以是绝对路径。3)可以将多个`include命令写在一行,在`include命令行,可以出现空格和注释行。4)如果文件1包含文件2,文件2要用到文件3的内容,则在文件1用两个`include分别包含文件2和文件3,而且文件3应出现在文件2之前。这样,文件1和文件2都可以用到文件3中的内容。在文件2中不必在用`include了。5)在一个被包含文件中又可以包含另一个被包含的文件,即文件包含可以是嵌套的。(3)时间尺度`timescale`timescale命令用来说明跟在该命令后的模块的时间单位和时间精度。使用`timesale命令可以在同一个设计里面包含采用了不同的时间单位模块。格式:

`timesale<时间单位>/<时间精度>(4)条件编译命令`ifdef、`else、`endif
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
招商银行的美元天添金怎么样? 天添美蒸馒头为什么开裂呢 上海食堂送菜 邮政跨地区取款手续费多? 谁能告诉我邮政储蓄卡跨省取钱要不要收费啊? 自贡市龙盛世纪仿真模型制造有限公司公司简介 学PS真的很难吗 红烧萝卜牛筋 微信怎么转发公众号部分内容 转发公众号部分内容方法 微信公众号内的视频如何下载?一个F12搞定 verilog条件生成和条件编译的区别 形容啊遇到出乎意料的事喜事而特别高兴这个是 遇到出乎意料的喜事儿特别高兴的成语 遇到出乎意料的喜事特别高喜兴四字词语 我想收一首关于石国芳的姓名藏头诗 高潮会使带线绳内置药丸滑落出吗?想取出时发现绳不见了, 天津站到华夏酒店坐地铁几号线 宝宝脸上有红色的块状怎么回事? 像似蟠龙不是龙,朱砂一点染头红。云雾绕绕驱飞虎,夜夜为咱除害虫_百... ...珍珠一点红。烟雾袅袅没有雨,雪花纷飞不是冬。猜一动物 怎样恢复删掉的程序 环保网上备案怎么办理环保网上备案怎么注册 写出1-20号元素形成的单质的化学式 我来,王者荣耀符文之间的差距到底有多大 肾精亏虚吃什么药 药店 镇魔医治肾精亏虚、、、/?、 肾精亏虚导致浑身无力怎么办? 英短猫多久掏一次耳螨 路铂廷属于什么档次 如果农民工因为没有钱拿,而打了老板会有什么事 台字的上半部加上一个贝字念什么? 合肥民间投融资商会主办的2016大圩半程马拉松什么时间开始比赛?_百度... 安徽合肥特产:大圩蓝莓 梦到买橘子是什么意思啊 《老子》“道”的含义,及《老子》的辩证思想 拥有哪些标志,说明一个女人越来越强大成熟了? 速腾nav按钮是什么意思? 霸王丸皮肤绝版了吗 王者荣耀宫本武藏霸王丸什么时候返厂? 一个姑娘强大起来的标志是什么? “运动的物体有惯性,静止的物体无惯性" 这句话对吗 “运动的物体有惯性,静止的物体无惯性" 这句话对吗?请说明理由,要简洁... 甲同学说:“静止的物体没有惯性,运动着的物体才有惯性.”乙同学说... gmat中文叫什么 小区建设是什么意思啊? 怀孕没人管的句子 绿色康城南湖三期如意苑居委会的电话 绍兴户口迁移问题 绍兴某村的,一家六口人,爸妈,我,我老婆,两个小孩,户口要和我爸妈分开... 重庆市九龙坡区第一实验小学怎么样?