QuartusⅡ软件与第三方工具.ppt
《QuartusⅡ软件与第三方工具.ppt》由会员分享,可在线阅读,更多相关《QuartusⅡ软件与第三方工具.ppt(221页珍藏版)》请在三一办公上搜索。
1、第3章 Quartus软件与第三方工具,3.1 ModelSim软件的使用 3.2 调用Synplify Pro综合工具设计流程 3.3 ModelSim、Synplify和Quartus结合使用的流程 3.4 HDL调试工具Debussy入门 思考题,3.1 ModelSim软件的使用,3.1.1 ModelSim软件的主要结构首次启动ModelSim5.8d软件,可以看到ModelSim的主窗口,包括菜单栏、工具栏、工作区和命令行操作区,如图3.1所示。在工作区可以根据操作显示Project标签、Library标签、Sim标签(显示Load Design、Hierarchical Stru
2、cture)以及Files标签;在命令行操作区,可以用命令提示符的方式进行编译、仿真设计,同时打开其他窗口。,图3.1 ModelSim主窗口,3.1.2 ModelSim的简要使用方法1建立工程使用ModelSim建立工程的操作步骤如下:(1)第一次打开ModelSim会出现Welcome to ModelSim对话框,选择Create a Project,或者启动ModelSim后选择FileNewProject.命令,都会打开Create Project对话框,如图3.2所示。,图3.2 Create Project对话框,(2)在Create Project对话框中,填写test作为P
3、roject Name;在Project Location栏中选择Project文件的存储目录;保留Default Library Name的设置为work。(3)点击OK按钮确认,在ModelSim软件主窗口的工作区中即增加了一个空的Project标签,同时弹出一个Add items to the Project对话框,如图3.3所示。,图3.3 Add items to the Project对话框,(4)添加包含设计单元的文件。直接点击Add items to the Project对话框中的Add Existing File或Create New File选项可以在工程中加入已经存在的
4、文件或建立新文件。本节我们选择Add Existing File。也可以点击Close按钮关闭Add items to the Project对话框以后,在ModelSim软件中选择FileAdd to ProjectExisting Files命令,弹出Add file to Project对话框,如图3.4所示。,图3.4 Add file to Project对话框,点击Add file to Project对话框中的Browse按钮,打开ModelSim安装路径中的examples目录,选取counter.v和tcounter.v文件(注意,同时选取两个文件时,文件名直接用空格隔开),
5、再打开对话框下面的Reference from current location选项,然后点击OK按钮。(5)在工作区的Project标签页中可以看到新加入的文件,单击右键,选取CompileCompile All命令对加入的文件进行编译,如图3.5所示。,图3.5 编译文件,(6)两个文件编译完成后,用鼠标点击Library标签栏。在Library标签页中,用鼠标点击work库前面的加号“”,展开work库,将会看到两个编译了的设计单元(如果看不到,需要把Library的工作域设为work),如图3.6所示。,图3.6 编译后的设计单元,(7)导入一个设计单元。双击Library标签页中的c
6、ounter,在工作区中将会出现sim标签,其中显示了counter设计单元的结构,如图3.7所示。,图3.7 导入设计单元,到这一步通常就开始运行仿真、分析以及调试设计了,不过这些工作将在后面的讲述中完成。现在,结束仿真并关闭工程。选择SimulateEnd Simulation命令,当提示是否退出仿真时选择“是”,然后选择FileCloseProject命令,并确定关闭当前工程。前面的步骤在工作目录下建立了一个名为tset.mpf的工程文件,该文件中包含了建立工程过程中的所有信息。在任何时间,可以选择FileOpenProject命令打开该工程文件。,2基本VHDL仿真1)准备仿真在进行仿
7、真之前还应进行以下准备工作:(1)为本次练习新建一个目录,然后拷贝Modeltech_5.8d examples目录中所有的vhd文件到该目录下。(2)启动ModelSim软件,选择FileChange Directory命令,在弹出的Choose folder对话框中设置该目录为当前工作目录。(3)在编译任何HDL代码前,要建立一个设计库来存放编译结果。在ModelSim主窗口中,选择FileNewLibrary命令建立一个新的设计库,如图3.8所示。,图3.8 建立新的设计库,在Create a New Library对话框中,选择Create栏中的a new library and a
8、logical mapping to it选项,并在Library Name栏中键入新的设计库名称,如work,点击OK按钮确定。这就在当前目录中建立了一个子目录,即用户的设计库。ModelSim在这个目录中保存了名为_info的特殊文件。也可以直接在ModelSim的命令行操作区或DOS/UNIX的命令行中输入下面的命令完成设计库的建立和逻辑映射:vlib work(回车)vmap work work(回车)注意:不要直接在Windows或UNIX的文件夹管理器中建立设计库目录,因为这样建立的目录中无法得到ModelSim需要的特殊文件_info。,(4)选择CompileCompile命令
9、,将弹出Compile Source Files对话框,如图3.9所示。,图3.9 Compile Source Files对话框,从文件列表中选取要编译的VHDL文件,如counter.vhd,并点击图3.9中的Compile按钮,编译完成后点击Done按钮。也可以从文件列表中同时选择多个文件进行编译,按照设计的需要依次选取并进行编译。还可以直接在ModelSim的命令行操作区或DOS/UNIX的命令行中输入下面的命令完成设计文件的编译:vcom count.vhd(回车)(5)在ModelSim主窗口工作区的Library标签页中点击work库前面的加号“”展开work库,从中选择coun
10、ter设计单元并双击鼠标左键,如图3.10所示。,图3.10 导入设计单元仿真,也可以直接在ModelSim的命令行操作区或DOS/UNIX的命令行中输入下面的命令行:vsim counter(回车)(6)在ModelSim主窗口中选择ViewAll Windows命令,打开所有ModelSim窗口,包括dataflow窗口、list窗口、memory窗口、process窗口、signals窗口、source窗口、structure窗口、variables窗口以及wave窗口。也可以直接在ModelSim的命令行操作区输入下面的命令打开所有窗口:view*(回车)(7)从signals窗口中选
11、择AddWaveSignals in Region命令,如图3.11所示,该命令将设计中的顶层(top-level)信号加入到wave窗口中,如图3.12所示。,图3.11 signals窗口,图3.12 wave窗口,也可以直接在ModelSim的命令行操作区输入下面的命令将顶层信号加入到wave窗口中:add wave/counter/*(回车)(8)在signals窗口中选择AddListSignals in Region命令,该命令在list窗口中加入设计中所有顶层信号,如图3.13所示。,图3.13 list窗口,也可以直接在ModelSim的命令行操作区输入下面的命令将顶层信号加入
12、到list窗口中:add list/counter/*(回车)2)运行仿真通过输入连续的时钟信号开始仿真。(1)在ModelSim主窗口的命令行操作区中,在VSIM提示符下输入下面的命令:force clk 1 50,0 100-repeat 100(回车)ModelSim解释force命令如下:从当前时间开始,在其后50 ns时置clk为1;当前时间后100 ns时置clk为0;每隔100 ns重复该clk周期。,也可以通过菜单操作定义时钟输入信号:在signals窗口中选中clk信号,然后选择signals窗口的EditClock命令,弹出如图3.14所示的时钟定义(Define Cloc
13、k)对话框,在此对话框中进行相应的设置。,图3.14 仿真时钟定义对话框,图3.15 执行放置快捷按钮,(2)执行主窗口或wave窗口工具条按钮的两个不同的Run功能(Run功能只在主窗口和波形(wave)窗口中定义,即这两个窗口中有Run功能),如图3.15所示。首先选取Run按钮,运行完成之后选取RunAll按钮。Run:运行仿真,在100 ns后停止。也可以在ModelSim的命令行操作区输入run 100后按回车键,或在主窗口中选择SimultateRunRun 100 ns命令。RunAll:一直运行仿真,直到点击Break为止。也可以在ModelSim的命令行操作区输入runall
14、后按回车键,或在主窗口中选择SimultateRunRun-All。,(3)选取主窗口或波形窗口的Break按钮来中断仿真,一旦仿真到达一个可接受的停止点,它就停止运行。在源文件窗口中,箭头指向下一条将被执行的HDL语句。如果暂停发生时仿真器不是在评测一个过程,则没有箭头显示在源文件窗口上。(4)在函数内部设置一个断点,本节在counter.vhd文件的第18行函数内部设置一个断点:移动鼠标到源文件窗口,在18行上点击设置断点,可以看到紧挨着行号有一个红点,可以用鼠标点击切换断点的使能功能,断点禁止后看到的是一个小的红色圆环。可以在断点上点击鼠标右键,选取Remove BreakPoint 1
15、8来取消断点,如图3.16所示。,图3.16 设置或取消断点,也可以在ModelSim的命令行操作区输入下面的命令设置断点:bp counter.vhd 18(回车)注意:断点只能设置在蓝色标号的文本行上。(5)选取连续运行快捷按钮(Continue Run)恢复中断了的运行,ModelSim会碰上断点,通过源文件中的一个箭头或是在主窗口中的一条中断信息显示出来。该操作也可以通过在ModelSim的命令行操作区输入runcontinue后按回车键来完成,或在ModelSim主窗口中选择SimulateRunContinue命令。(6)点击Step按钮可以单步执行仿真,注意variables窗口
16、中值的变化,如图3.17所示。可以持续点击Step执行单步仿真。,图3.17 variables窗口,该操作也可以通过在ModelSim的命令行操作区输入runstep后按回车键来完成,或在ModelSim主窗口中选择SimulateRunStep命令。(7)输入下面的命令结束仿真:quit-force(回车)该命令不需要确认就直接结束仿真并退出ModelSim。3基本Verilog仿真1)准备仿真在进行基本Verilog仿真之前要进行以下准备工作:(1)为本练习新建一个目录,拷贝Modeltech_5.8dexamples目录中所有的Verilog(.v)文件到该目录下。,(2)设置该目录为
17、当前工作目录,通过从该目录直接调用ModelSim或启动ModelSim软件后选择FileChange Directory命令来完成。(3)在编译Verilog文件前,需要在新目录下生成一个设计库来保留编译结果。如果读者仅仅熟悉解释性Verilog仿真器,诸如Cadence Verilog-XL,那么对于你来说这是一个新的方法。因为ModelSim是一个编译性Verilog仿真器,对于编译它需要一个目标设计库。如果需要的话,ModelSim能够编译VHDL和Verilog代码到同一个库中。(4)在ModelSim主窗口中,选择FileNewLibrary命令建立一个新的设计库,如图3.8所示。
18、,在Create a New Library对话框中,选择Create栏中的a new library and a logical mapping to it选项,并在Library Name栏中键入新的设计库名称,如work,点击OK按钮确定。这就在当前目录中建立了一个子目录,即用户的设计库。ModelSim在这个目录中保存了名为_info的特殊文件。也可以直接在ModelSim的命令行操作区或DOS/UNIX的命令行中输入下面的命令完成设计库的建立和逻辑映射:vlib work(回车)vmap work work(回车),注意:不要直接在Windows或UNIX的文件夹管理器中建立设计库目
19、录,因为这样建立的目录中无法得到ModelSim需要的特殊文件_info。(5)编译Verilog设计。这个设计例子由两个Verilog源文件组成,每一个都包含一个惟一的模块。文件counter.v包含一个名为counter的模块,它执行一个简单的八位二进制加法计数器。另一个文件tcounter.v是一个测试台模块(test_counter),通常用来检验counter。在仿真中,可以看到这两个文件被层次化配置,它们使用了被测试台例示化的counter模块的一个简单实例(实例名为dut)。后面将有机会看到这个代码的结构,现在,需要编译两个文件到work设计库中。,(6)选择CompileCom
20、pile命令编译counter.v和tcounter.v两个文件。在如图3.18所示的Compile Source Files对话框中,使用Ctrl键鼠标左键操作同时选择工作目录中的counter.v和tcounter.v文件,然后点击Compile按钮,完成后点击Done按钮。也可以直接在ModelSim的命令行操作区输入下面的命令完成编译:vlog counter.v tcounter.v(回车),图3.18 Compile Source Files对话框,注意:ModelSim只有在载入设计以后才检查Verilog模块的顺序,因此,在这里不用考虑编译counter.v和tcounter.
21、v文件的先后顺序。(7)在主窗口工作区的Library标签页中,点击work库前面的加号“”展开该库,可以看到counter和test_counter两个设计单元,如图3.19所示。在图3.19中,用鼠标左键双击test_counter载入设计单元,同时在工作区中出现一个新的sim标签页,如图3.20所示。,图3.19 展开work库,图3.20 载入设计单元,也可以直接在ModelSim的命令行操作区输入下面的命令完成设计单元的载入:vsim test_counter(回车)(8)在主窗口命令行操作区的VSIM提示符下输入下面的命令,调出signals、list和wave窗口:view si
22、gnals list wave(回车)也可以通过选择View打开需要的窗口。(9)向wave窗口添加信号。在signals窗口中,选择EditSelect All命令,选择所有信号,然后拖动所有信号到wave窗口的路径名或数值窗格中,如图3.21所示。,图3.21 向wave窗口拖入信号,HDL条目也能够从一个窗口拷贝到另一个窗口(或者是在wave和list窗口内部),这可通过选择EditCopy和EditPaste命令完成。通过EditDelete命令也能删除选取的条目。(10)导入设计的时候会在工作区打开一个新的sim标签。在sim标签页中点击“”展开设计层次结构,可以看到本节实例的tes
23、t_counter、dut(counter)和名为increment的函数(如果在sim标签页中没有显示test_counter,则当前仿真的是counter,而不是test_counter),如图3.22所示。,图3.22 层级结构显示,(11)点击其中的increment函数,可以注意到其他窗口自动更新。明确地说,source窗口显示了在sim标签页层次结构中所选层次的Verilog代码,signals窗口显示了对应信号。在这种方式下使用层次结构类似于解释性Verilog仿真器中的Scoping命令。现在,点击sim标签页中的顶层行,保证test_counter模块显示在source窗口中
24、,如图3.23所示。,图3.23 Source窗口,2)运行仿真(1)点击主窗口工具条上的Run启动仿真,默认仿真长度为100 ns;也可以在ModelSim的命令行操作区输入run(回车),或在主窗口中选择SimultateRunRun 100 ns命令。(2)设置运行长度(Run Length)为500 ns,然后点击Run,如图3.24所示。现在仿真运行了600 ns(默认的100 ns加上设置的500 ns),在工作区底部状态栏可以看到这些信息。(3)上面的设置使仿真器前进了500 ns,也可以通过下面的命令设置仿真器推进的时间:run 3000(回车),图3.24 设置运行长度,(4
25、)点击主窗口工具条上的RunAll快捷按钮,让仿真器连续运行,直到停止在tcounter.v模块中为止,如图3.25所示。,图3.25 仿真停止在tcounter.v模块,也可以点击Break中断运行,在source窗口中查看中断时执行的语句。3)调试仿真(1)在list窗口中选取/test_counter/count,如图3.26所示。从list窗口菜单条中选择ViewSignal Properties,弹出List Signal Properties对话框,如图3.27所示。,图3.26 在list窗口中选择/test_counter/count,图3.27 List Signal Pro
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Quartus 软件 第三 工具
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5446236.html