EDA技术与应用 教学课件 作者 陈海宴第8章 系统仿真与ModelSim软件使用.ppt

EDA技术与应用 教学课件 作者 陈海宴第8章 系统仿真与ModelSim软件使用.ppt

ID:50046639

大小:2.28 MB

页数:106页

时间:2020-03-08

EDA技术与应用 教学课件 作者 陈海宴第8章 系统仿真与ModelSim软件使用.ppt_第1页
EDA技术与应用 教学课件 作者 陈海宴第8章 系统仿真与ModelSim软件使用.ppt_第2页
EDA技术与应用 教学课件 作者 陈海宴第8章 系统仿真与ModelSim软件使用.ppt_第3页
EDA技术与应用 教学课件 作者 陈海宴第8章 系统仿真与ModelSim软件使用.ppt_第4页
EDA技术与应用 教学课件 作者 陈海宴第8章 系统仿真与ModelSim软件使用.ppt_第5页
资源描述:

《EDA技术与应用 教学课件 作者 陈海宴第8章 系统仿真与ModelSim软件使用.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章系统仿真与ModelSim软件使用8.1系统任务与函数在Verilog中定义了很多系统任务和函数,这些系统任务和函数主要用于仿真,有助于实现高效的仿真和有效的仿真分析。1、$display与$write$display和$write是两个系统任务,两者的功能相同,都用于显示模拟结果,其区别是$display在输出结束后能自动换行,而$write不换行。$display和$write的使用格式为:$display(“格式控制符”,输出变量名列表)$write(“格式控制符”,输出变量名列表)例如:$display($time,

2、,,”a=%hb=%hc=%h”,a,b,c);2、$monitor和$strobe与$display和$write类似,$monitor和$strobe也属于仿真结果显示与输出系统任务。它们的使用格式如下:$monitor(”显示格式控制符”,输出变量列表);$strobe(”显示格式控制符”,输出变量列表);$monitor就像有一个独立的监视器,每当输出变量列表中的变量发生变化时,$monitor任务就执行一次。3、$time和$realtime$time和$realtime是显示仿真时间标度的系统任务,这两个系统任务被调用

3、时,可以返回当前的仿真时刻表。两者的区别在于$time返回的是整数时间值,$realtime返回的是实数时间值。在modelsim下仿真后输出结果显示为:#0a=x#10a=1#20a=2如果将$time改为$realtime,那么仿真后输出显示为:#0a=x#10.1a=1#20.2a=24、$finish与$stop系统任务$finish与$stop用于对仿真过程进行控制,分别表示结束仿真和中断仿真。$finish与$stop的使用格式如下:$stop;$stop(n);$finish;$finish(n);n是$finish

4、与$stop的参数,n可以是0、1、2等值,分别表示以下含义:0:不输出任何信息;1:给出仿真时间和位置2:给出仿真时间和位置,还有其他一些运行统计数据。如果不带参数,则默认的参数是1.5、$readmemh与$readmemb$readmemh与$readmemb是属于文件读写控制的系统任务,其作用都是从外部文件中读取数据并放入存储器中。两者的区别在于读取数据的格式不同,$readmemh为读取十六进制数据,而$readmemb为读取二进制数据。$readmemh与$readmemb的使用格式为:$readmemh(”数据文件名

5、”,存储器名,起始地址,结束地址);$readmemb(”数据文件名”,存储器名,起始地址,结束地址);其中,起始地址和结束地址均可以采用默认,如果缺省起始地址,表示从存储器的首地址开始存储;如果缺省结束地址,表示一直存储到存储器的结束地址。6、$random$random是产生随机数的系统函数,每次调用该函数将返回一个32位的随机数,该随机数是一个带符号的整数。8.2用户自定义原语利用用户自定义原语(UserDefinedPrimitives,即UDP),用户可以自行定义和调用基本逻辑元件。用户定义基本单元(UDP、UserDe

6、finedPrimitive)和VerilogHDL内部的基本单元相似,但UDP只能用于仿真程序中,不能用于可综合的设计描述。用真值表可以描述组合逻辑UDP元件和时序逻辑UDP元件。2、UDP的应用UDP在ASIC库单元开发、中小型芯片设计中很有用,主要表现在以下方面:(1)可以使用UDP扩充已定义的基本单元集;(2)UDP是自包容的,也就是不需要实例化其它模块;(3)UDP可以表示时序元件和组合元件;(4)UDP的行为由真值表表示;(5)UDP实例化与基本单元实例化相同。8.3应用Testbench仿真验证如何验证设计的正确性及

7、其功能的实现是否达到了最初的设计目的,在项目实践中尤为重要。设计的过程实际上是从一种形式到另一种形式的转换,比如从设计要求到RTL代码,从RTL代码到门级网表,从门级网表到版图等。验证则是保证每一步的设计转换过程准确无误。在FPGA/CPLD设计领域,最常用的仿真软件工具是Modelsim软件。Testbench,即测试平台,用于仿真验证。在软环境中没有激励输入,也不能对用户的设计输出结果的正确性做出评估。因此就有必要模拟实际环境的输入激励和输出校验,在这个虚拟平台上用户可以对设计从软件层面上进行分析和校验,完成仿真验证。接下来将

8、简单介绍一下测试平台Testbench的编写及其在ModelSim仿真中的应用。8.3.1基本结构测试平台在结构上包括两部分,一部分是实例化被测设计DUT(DesignUnderTest)并提供激励源,另一部分是验证输出结果并校验其正确性。其基本结

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。