- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
东华理工大学信息与电子工程学院 11.1 系统任务与系统函数 习 题 * * 第11章 仿真 11.1 系统任务与系统函数 11.2 用户自定义元件(UDP) 11.3 延时模型的表示 11.4 数字电路的仿真 内容 第11章 仿真 ◆ 系统任务和系统函数一般以符号“$”开头。例如:$monitor,$readmemh等。 ◆ 使用不同的Verilog仿真工具(如:VCS、Verilog-XL、ModelSim等)进行仿真时,这些系统任务和系统函数在使用方法上可能存在差异,应根据使用手册来使用。 ◆ 一般在initial或always过程块中,调用系统任务和系统函数。 ◆ 用户可以通过编程语言接口(PLI)将自己定义的系统任务和系统函数加到语言中,以进行仿真和调试。 $display和$write是两个系统任务,两者的功能相同,都用于显示模拟结果,其区别是$display在输出结束后能自动换行,而$write不能。 $display和$write的使用格式为: $display(“格式控制符”,输出变量名列表); $write(“格式控制符”,输出变量名列表); 1.$display与$write 以当前的时间格式显示 %t或%T 以字符串形式输出 %s或%S 显示层次名 %m或%M 显示net型数据的驱动强度 %v或%V 以ASCII字符形式显示 %c或%C 以2进制形式显示 %b或%B 以8进制形式显示 %o或%O 以10进制形式显示 %d或%D 以16进制形式显示 %h或%H 说明 格式控制符 符号% %% 八进制数ddd对应的ASCII字符 \ ddd 符号“ \“ 符号\ \\ TAB键 \ t 换行 \ n 说明 转义字符 格式控制符 转义字符 $monitor、$strobe与$display、$write一样也是属于输出控制类的系统任务,$monitor与$strobe都提供了监控和输出参数列表中字符或变量的值的功能,其使用格式为: $monitor(“格式控制符”,输出变量名列表); $strobe(“格式控制符”,输出变量名列表); 这里的格式控制符、输出变量名列表与$display和$write中定义的完全相同。 2.$monitor与$strobe $time、$realtime是属于显示仿真时间标度的系统函数。这两个函数被调用时,都返回当前时刻距离仿真开始时刻的时间量值,所不同的是,$time 函数以64位整数值的形式返回模拟时间,$realtime 函数则以实数型数据返回模拟时间。 3.$time与$realtime 系统任务$finish与$stop用于对仿真过程进行控制,分别表示结束仿真和中断仿真。 $finish与$stop 的使用格式如下: $stop; $stop(n); $finish; $finish(n); n是$finish和$stop的参数,n 可以是0、1、2等值,分别表示如下含义。 0:不输出任何信息; 1:给出仿真时间和位置; 2:给出仿真时间和位置,还有其他一些运行统计数据。 4.$finish与$stop $readmemh与$readmemb是属于文件读写控制的系统任务,其作用都是从外部文件中读取数据并放入存储器中。两者的区别在于读取数据的格式不同,$readmemh为读取十六进制数据,而$readmemb为读取二进制数据。$readmemh与$readmemb的使用格式为: $readmemh(数据文件名,存储器名,起始地址,结束地址); $readmemb(数据文件名,存储器名,起始地址,结束地址); 其中,起始地址和结束地址均可以缺省,如果缺省起始地址,表示从存储器的首地址开始存储;如果缺省结束地址,表示一直存储到存储器的结束地址。 5.$readmemh与$readmemb $random是产生随机数的系统函数,每次调用该函数将返回一个32位的随机数,该随机数是一个带符号的整数。 6.$random 与c 语言类似,Verilog也提供了很多文件输出类的系统任务,可将结果输出到文件中。这类任务有:$fdisplay、$fwrite、$fmonitor、$fstrobe、$fopen和$fclose等。 $fopen用于打开某个文件并准备写操作,$fclose用于关闭文件,而$fdisplay、$fwrite、$fmonitor等系统任务则用于把文本写入文件。 7.文件输出 11.2 用户自定义元件 利用UDP(User Defined Primitives)用户可以自己定义基本逻辑元件的功能,用户可以象调用基本门元件一样来调用这些自己定义的元件。 UDP关键词为primitive和endprimit
文档评论(0)