ModelSim入门教程

上传人:n**** 文档编号:50707597 上传时间:2018-08-10 格式:PPT 页数:69 大小:1.60MB
返回 下载 相关 举报
ModelSim入门教程_第1页
第1页 / 共69页
ModelSim入门教程_第2页
第2页 / 共69页
ModelSim入门教程_第3页
第3页 / 共69页
ModelSim入门教程_第4页
第4页 / 共69页
ModelSim入门教程_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《ModelSim入门教程》由会员分享,可在线阅读,更多相关《ModelSim入门教程(69页珍藏版)》请在金锄头文库上搜索。

1、1Modelsim 入门教程 21.Modelsim简介 Modelsim仿真工具是Model公司开发的。它支持 Verilog、VHDL以及他们的混合仿真,它可以将整个程序 分步执行,使设计者直接看到他的程序下一步要执行的语 句,而且在程序执行的任何步骤任何时刻都可以查看任意 变量的当前值,可以在Dataflow窗口查看某一单元或模块 的输入输出的连续变化等,比Quartus自带的仿真器功能 强大的多,是目前业界最通用的仿真器之一。ModelSim分几种不同的版本:SE、PE和OEM,其中 集成在 Actel、Atmel、Altera、Xilinx以及Lattice等 FPGA厂商设计工具中

2、的均是其OEM版本。比如为Altera提 供的OEM版本是ModelSim-Altera,为Xilinx提供的版本为 ModelSim XE. SE版本为最高级版本,在功能和性能方面比 OEM版本强很多,比如仿真速度方面,还支持PC 、 UNIX 、 LIUNX混合平台.3FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器 件的基础上进一步发展的产物。Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字 系统硬件的结构和行为的语言,用

3、它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所 完成的逻辑功能。VHDL是VHSIC Hardware Description Language(VHSIC硬件描述语言)。VHSIC是Very High Speed Integrated Circuit的缩写,是20世纪80年代在美国国防部的资助下始创的,并最终导致了VHDL语言 的出现。 VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语 句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。testbench是一种验证的手段。首先,任何设计都是会有输入输出的。但是在软环境中没有

4、激励输入 ,也不会对你设计的输出正确性进行评估。那么此时便有一种,模拟实际环境的输入激励和输出校验 的一种“虚拟平台“的产生。在这个平台上你可以对你的设计从软件层面上进行分析和校验,这个就是 testbench的含义。RTL在电子科学中指的是寄存器转换级电路(Register Transport Level)的缩写,也叫暂存器转移层 次。在RTL级,IC是由一组寄存器以及寄存器之间的逻辑操作构成。4为什么要学Modelsim? 1.Modelsim是专业的HDL语言仿真器,比 Quartus自带的仿 真器功能强大的多. 2. Quartus simulator不支持Testbench ,只支持

5、波形文 件.vwf vwf文件全称是矢量波形文件(Vector Waveform File),是Quartus II中仿真 输入、计算、输出数据的载体。一般设计者建立波形文件时,需要自行建立 复位、时钟信号以及控制和输入数据、输出数据信号等。其中工作量最大的 就是输入数据的波形录入。比如要仿真仅1KB的串行输入数据量,则手工输入 信号的波形要画8000个周期,不仅费时费力而且容易出错 怎样入门? 对于初学者,modelsim自带的教程是一个很好的选择,在 Help-SE PDF Documentation-Tutorial里面.它从简单到复 杂、从低级到高级详细地讲述了modelsim的各项功

6、能的使 用,简单易懂。5Modelsim的安装同许多其他软件一样,Modelsim SE同样需要合法的 License,通常我们用Kengen产生license.dat。 解压安装工具包开始安装,安装时选择Full product 安装。当出现Install Hardware Security Key Driver时 选择否。当出现Add Modelsim To Path选择是。出现 Modelsim License Wizard时选择Close。 在C盘根目录新建一个文件夹flexlm,用Keygen产生一 个license.dat,然后复制到该文件夹下。 修改系统的环境变量。右键点击桌面我

7、的电脑图标, 属性-高级-环境变量-(系统变量)新建。按下图所示 内容填写,变量值内如果已经有别的路径了,请用“;” 将其与要填的路径分开。LM_LICENSE_FILE = c:flexlmlicense.dat 678使用Modelsim进行仿真Modelsim运行方式有4种: 用户图形界面模式 交互式命令行模式 不显示modelsim的可视化界面 ,仅通过命令控制台输入的 命令完成所有工作 Tcl和宏模式 编写可执行扩展名为do或者tcl语法文件 批处理模式 其所有操作都在后台进行,用户看不到modelsim的界面,也不需要交 互式输入命令。当工程很大,文件比较多时,用批处理比较方便。直

8、 接运行批处理文件,在后台调用modelsim,执行modelsim的脚本文件* .do,完成操作 注 :http:/ html9仿真 仿真分为功能仿真,门级仿真,时序仿真功能仿真(前仿真,代码仿真)主旨在于验证电路的功能是否符合设计要求,其特点是不考虑电路 门延迟与线延迟,主要是验证电路与理想情况是否一致。可综合FPGA代 码是用RTL级代码语言描述的,其输入为RTL级代码与Testbench.在设计 的最初阶段发现问题,可节省大量的精力 门级仿真和时序列仿真 (后仿真)使用综合软件综合后生成的门级网表进行仿真,不加入时延文件的仿 真就是门级仿真.可以检验综合后的功能是否满足功能要求,其速度

9、比功 能仿真要慢,比时序仿真要快.在门级仿真的基础上加入时延文件(.sdf)的仿真就是时序仿真,比较 真实地反映了逻辑的时延与功能.综合考虑电路的路径延迟与门延迟的影 响,验证电路能否在一定时序条件下满足设计构想的过程,是否存在时 序违规10功能仿真 功能仿真需要的文件 1设计HDL源代码:可以使VHDL语言或Verilog语言。 2测试激励代码:根据设计要求输入/输出的激励程序 3仿真模型/库:根据设计内调用的器件供应商提供的模块而定,如:FIFO 、ADD_SUB等 仿真步骤 以4 位计数器为例给出详细步骤 1.启动modelsim软件 先在c盘建立文件夹count4,在modelsim中

10、选择File - Change Directory,在弹出的Choose folder对话框中设置目录路径为 c:/count4 2.建立工程 在modelsim中建立project,选择File -New -Project. 在Project Name栏中填写你的项目名字,建议和你的顶层文件名字一 致。Project Location是你的工作目录,你可通过Brose按钮来选择 或改变。Ddfault Library Name可以采用工具默认的work。 Workspace窗口的library中就会出现work库. 11123.为工程添加文件 工程建立后,选择Add Exsiting Fil

11、e后,根据相应提示将文件加到该Project中 这里是count4.v和其测试向量count_tp.v,源代码如下:13144.编译文件 编译(包括源代码和库文件的编译)。编译可点击ComlileComlile All来完成。 5.装载文件 (1)双击libray 中work中的count_tp装载 (2)点击simulate start simulation 按右图设置,点击ok156.开始仿真 点击workspace下的sim,点击count_tp,选择add add to wave 然后点run all,开始仿真167.退出仿真 在仿真调试完成后退出仿真,在主窗口中选择simulate

12、end simulation17补充: (1)也可以不加testbench,仿真步骤跟前面相似, 装载文件时双击count4 在sim中点击count4,add add to wave 对输入信号clk,reset编辑测试波形点击run -all18(2)我们可以在modelsim内直接编写Testbench Modelsim提供了很多Testbench模板,我们直接拿过来用可以减少工作 量。点View-Source-Show Language Templates然后会出现一个加载 工程,接着你会发现在刚才的文档编辑窗口左边出现了一个Language Templates窗口19展开Verilo

13、g项,双击Creat Testbench会出现一个创建向导选择 Specify Design Unit工作库下的目标文件,点Next 可以指定Testbench的名称以及要编译到的库等,此处我们使用默认设 置直接点Finish。这时在Testbench内会出现对目标文件的各个端口的 定义还有调用函数接下来,设计者可以自己往Testbench内添加内容了,然后保存为 .v格式即可。按照前面的方法把Testbench文件也编译到工作库中.8位计数器功能仿真 进入ModelSim主窗口后,选择File菜单下的“new project”,新建一个工程,在弹 出的对话框中,给该工程命名并指定一个存放的路

14、径,如图:工程名保持和顶层文件名一致是比较推荐的方法,路径的选择如4位计数器例子,默认 的库名选择“work”,设置完成后点击“OK”。20新建好工程后,会弹出一个对话框,如图:要选择新建一个文件还是添加已存在的文件均可,在这里新建两个文件,一个是 counter8.v,一个是test_counter8.v。前者是原始的设计文件,后者是其相应的仿真测试文件。21counter8.v文件代码22test_counter8.v文件代码23在ModelSim主窗口的project区域已经能看到刚建立的两个文件,如图:这时由于没有编译文件,所以在status一栏显示的是两个问号。接下来在project

15、区域 单击鼠标右键,选择“Compile Compile All”,把源文件编译到当前工程的工作 库当中,如图:在ModelSim主窗口下方的Transcript区域中如果看到下图字样,就说明编译通过:24编译通过后界面有两个successful字样。在project区域中的status一栏中能够看见两 个绿色的对勾,也说明编译成功。 编译通过后,再在project区域里用鼠标右键点击“Add to Project Simulation Configuration”,如图:在出现的Add Simulation Configuration对话框的右下角打开optimization options

16、 , 打开后切换到Options选项卡页面,在optimization Level中选择Disable optimization , 如图:25点击ok后,返回Add Simulation Configuration对话框,在Optimization栏中关闭 Enable Optimiztion,再展开work目录,选中test_counter8,之后save保存,如图:此时在project区域出现一个仿真配置文件Simulation,双击它就能进入仿真了。而且 重启modelsim软件也可以双击它进入仿真。26双击simulation后进入仿真波形界面,在object区域鼠标右键选择“Add To waveSignals in Region ”,把要仿真的信号添加到wave窗口,如图:27在wave窗口中的两个信号量改成如符号数显示,方便观察,在lo

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号