第7章仿真软件ModelSim及其应用.ppt_第1页
第7章仿真软件ModelSim及其应用.ppt_第2页
第7章仿真软件ModelSim及其应用.ppt_第3页
第7章仿真软件ModelSim及其应用.ppt_第4页
第7章仿真软件ModelSim及其应用.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第7章仿真软件ModelSim及其应用,本章内容,7.1 ModelSim简介 7.2 ModelSim的特点 7.3 ModelSim仿真流程 7.4 ModelSim交互命令方式介绍 7.5 ModelSim批处理仿真文件和工作方式 7.6 ModelSim的Verilog HDL测试平台设计 7.7 ModelSim仿真设计举例,7.1 ModelSim简介,是业界优秀的HDL仿真器; 采用直接优化的编译技术、Tcl/Tk技 术和单一内核仿真技术; 专业版支持UNIX(包括64位)、Linux 和Windows平台 分几种不同的版本:SE、PE、LE和OEM,其中SE是最高版本,7.2

2、ModelSim的特点,交互方式、图形用户交互方式和批处理方式三种执行方式 命令式仿真和波形仿真两种仿真形式 支持测试平台软件的运行 进行VHDL,Verilog以及VHDL和Verilog混合仿真 集成 C调试器,在统一的界面中同时仿真C 和VHDL/Verilog 支持加密IP,便于保护IP核,7.3 ModelSim仿真流程,流程图如下:,7.4 ModelSim交互命令方式介绍,通过在主窗口的命令窗口输入命令来实现 具有更好的调试和交互功能 提供多种指令,既可以是单步指令,也可以构成批处理文件,用来控制编辑、编译和仿真流程 下面对主要的指令进行介绍: Run,Force,View等,1

3、. Run指令,指令格式:Run Timesteps:时间步长 time_unit: 时间单位,可以是fs(10s),ps(10s), ns(s), ms(s), sec(s) 这种 指令功能:运行(仿真)并指定时间及单元 例子: run 1000:表示运行1000个默认的时间单元(ps)run 2500ns: 表示运行2500ns run continue:表示继续运行 run -all: 表示运行全过程,2. Force指令,指令格式:force , item_name:不能默认,可以是端口信号,也可以是内部信号,支持通配符号,但只能匹配一个 value :不能默认,其类型与item_na

4、me一致;time: 可选项,支持时间单元。 例子: force clr 1 100:表示经历100个默认时间单元延迟后为clk赋值1 force clr 1,01000”表示clk赋值1后,经历1000默认时间单元延迟后为clk赋值为0,3. Force-repeat指令,指令格式:force , -repeat。 指令功能:每隔一段的周期(period)重复一定的force命令。该指令常用来产生时钟信号。 例子: force clk 0 0,1 30-repeat 100:表示强制clk从0时间单元开始,起始电平为0,结束电平为1,忽略时间(即0电平保持时间)为30个默认时间单元,周期为1

5、00个默认时间单元,占空比为(100-30)/100 = 70%。,4. Force-cancel指令,指令格式: force-cancel 指令功能: 执行period周期时间后取消force命令。 例子: force clk 0 0,1 30-repeat 60-cancel 1000:表示强制clk从0时间单元开始,直到1000个时间单元结束。,5. View 指令,指令格式:view 指令功能:打开ModelSim的窗口。 例子: view souce: 表示打开源代码窗口 view wave: 表示打开波形窗口 view list: 表示打开列表窗口 view variables:表

6、示打开变量窗口 view signals: 表示打开信号窗口 view all: 表示打开所有窗口,7.5 ModelSim 批处理仿真文件和工作方式,1.DO文件的应用和工作方式 执行“File”“New”“Source”“Do”命令,进入ModelSim的Do文件编辑方式 在编辑窗口输入仿真批处理文件的代码,以.do为扩展名保存文件 Do文件的调用方式:do filename parameters 在命令窗口中执行 do filename parameters即可完成对设计的仿真 以计数器仿真批处理文件为例: cnt10.do的内容如下:,DO文件的应用和工作方式,Vsim t10 for

7、ce-freeze sim:/cnt10/clk1 0,050 ns-r 100 force-freeze sim:/cnt10/rst 0,1 200,0 1000 force-freeze sim:/cnt10/ena 1,0 2200,1 2600 adder wave-r /* run 10000 最后在ModelSim命令窗口中执行“do cnt10.do”,完成对计数器设计的仿真,2TCL文件的应用和工作方式 TCL语言是一种脚本语言,可以拓展ModelSim集成环境中的仿真命令。 在ModelSim集成环境中,TCL文件的调用方式是:Source filename paramet

8、ers 在ModelSim的集成环境中, TCL语言的帮助信息可以通过选择ModelSim用户界面中的Help Tel Man Pages 获得。,TCL文件的应用和工作方式,简单的TCL程序 TCL命令 运行结果 set a 47 a=47 set b $ a b=10 set bexpr $ a+10 b=57 set b a $is a a is 47 set expr $ a+10 expr $ a+10,7.6 ModelSim的Verilog HDL测试平台设计,测试平台设计结构如图所示: 被测元件是一个已经设计好的电路或系统测试平台软件用元件例化语句将其嵌入程序中 被测元件的输入

9、端定义为reg(寄存器)型变量 被测元件的输出端定义为wire(网线)型变量,1组合逻辑电路测试平台软件的设计,用initial块把被测电路的输入按照真值表提供的数据变化作为测试条件 用verilog HDL编写全加器源程序(adder.v) 根据全加器的真实表编写全加器测试程序(adder_tb.v) 编译源程序和测试程序,执行Modelsim的主窗口“Simulate”菜单下的“Run”“Runall”命令进行仿真 源程序、测试程序和仿真结果见教材,2时序逻辑电路测试平台软件的设计,与组合逻辑电路的主要区别在于需要用always块语句生成时钟信号 编写十进制加法计数器的源程序 编写十进制加

10、法计数器的测试平台软件 进行编译、仿真 源程序、测试程序和仿真结果见教材,7.7 ModelSim仿真设计举例,以4位加法器的ModelSim仿真为例: 1.创建工程进入Modelsim主界面之后,选择“File”菜单下的“New-Project”选项命令,,2. 添加源代码(adder4.v和test_adder4.v ),adder4.v的内容 module adder4(COUT,SUM,A,B,CIN); output3:0 SUM; output COUT; input3:0 A,B; input CIN; assign COUT,SUM=A+B+CIN; endmodule,完成新

11、建工程向导之后,会弹出如图所示的对话框。,选择“Add Existing File”命令,会弹出如图7-9所示的对话框。点击“Browse”选择要添加的源文件。,是新建一个源文件,点击“Creat New File”,将会弹出如图7-10所示的对话框。点击“Browse”选择新建文件的保存路径。在“File Name”中写入新建文件的名字。,3.编译,在左边的“workspace”空白处右键单击,选择“Compile-Compile All”,编译源文件和测试文件。如下图所示:,4.启动仿真器,点击“workspace”下方的Libaray切换到库界面 在“Objects”区域里单击右键,选择“Add to Wave-Signals in Region”,将区域里的所有信号添加到波形图中,在“Objects”区域里单击右键,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论