QuartusⅡ软件与第三方工具.ppt

上传人:小飞机 文档编号:5446236 上传时间:2023-07-07 格式:PPT 页数:221 大小:5.68MB
返回 下载 相关 举报
QuartusⅡ软件与第三方工具.ppt_第1页
第1页 / 共221页
QuartusⅡ软件与第三方工具.ppt_第2页
第2页 / 共221页
QuartusⅡ软件与第三方工具.ppt_第3页
第3页 / 共221页
QuartusⅡ软件与第三方工具.ppt_第4页
第4页 / 共221页
QuartusⅡ软件与第三方工具.ppt_第5页
第5页 / 共221页
点击查看更多>>
资源描述

《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

26、perties对话框,在Radix栏为信号counter选取十进制(Decimal),相应的list窗口的输出也发生改变,成为十进制数,而不是缺省的二进制了。(2)选取主窗口工作区中sim标签页层次结构中的dut:counter,然后在source窗口打开的counter.v中的第30行(这里包含一个Verilog功能增量的调用)设置断点,如图3.28所示。,图3.28 在source窗口中设置断点,(3)点击Restart按钮,重载设计组件并重置仿真时间为零。也可以在ModelSim的命令行操作区输入restart(回车),或在主窗口中选择SimultateRunRestart命令。(4)确

27、认Restart对话框中所有条目被选中,如图3.29所示,然后点击Restart按钮。(5)在主窗口工具条中选择RunAll快捷按钮,恢复执行仿真。中断后观察source窗口。(6)当中断到达后,可以观察一个或多个信号的值,通过以下几种方法可以检测这些值:,图3.29 Restart对话框,查看显示在signals窗口中的值;在source窗口中,在变量上点鼠标右键,从弹出的右键菜单中选择Examine命令;在命令行操作区输入examine命令,可以输出变量值,如examine count。(7)执行单步命令Step,遍历Verilog源函数。(8)结束仿真,其执行命令为quit-force。

28、,4VHDL/Verilog混合仿真1)准备仿真(1)建立一个新的工作目录,拷贝Modeltech_5.8d examplesmixedHDL目录中所有的VHDL(.vhd)文件和Verilog(.v)文件到该目录下。(2)启动ModelSim软件,选择FileChange Directory命令,将新建目录设置为当前工作目录。(3)在主窗口中选择FileNewLibrary命令,在新目录下建立一个设计库来保留编译结果。,(4)编译文件。在主窗口中选择CompileCompile命令,打开Compile Source Files对话框,逐个编译Verilog文件,如cache.v、memory

29、.v和proc.v。也可以在主窗口命令行操作区输入下面的命令行完成Verilog文件编译:vlog cache.v memory.v proc.v(回车)(5)依赖于设计,VHDL的编译次序是特定的。在这个例子中,top.vhd文件必须最后编译。按照下面的顺序编译文件:util.vhd set.vhd top.vhd,或在主窗口命令行操作区输入下面的命令行完成VHDL文件编译:vcom util.vhd set.vhd top.vhd(回车)(6)编译完成后,点击Compile Source Files对话框中的Done按钮。2)运行仿真(1)在主窗口工作区的Library标签页中点击work

30、库前面的加号“”展开该库,可以看到所有设计单元。(2)用鼠标左键双击work库中的top实体,在工作区中出现一个新的sim标签页,如图3.30所示。,图3.30 载入top实体仿真,也可以直接在ModelSim的命令行操作区输入下面的命令完成top实体的载入:vsim top(回车)(3)在ModelSim主窗口中选择ViewAll Windows命令,打开所有仿真窗口。也可以直接在命令行操作区输入下面的命令:view*(回车)(4)在signals窗口中,选择AddWaveSignals in Region命令,向wave窗口添加信号;选择AddListSignals in Region命令

31、,向list窗口添加信号。,也可以直接在ModelSim命令行操作区输入下面的命令实现向wave窗口和list窗口添加信号:add wave*(回车)add list*(回车)(5)观察ModelSim工作区sim标签页中的层次结构。注意设计中两者的层次混合,VHDL层级用一个蓝色方框前缀指示,Verilog层级用一个天蓝色的圆形前缀指示。(6)在工作区sim标签页中,点击层次结构中的c:cache模块,它的源代码出现在source窗口中。,(7)在source窗口中,选择EditFind命令,用查找功能在cache.v文件中定位到cache_set的声明位置。(8)找到cache_set声明

32、后可以发现,cache_set是cache.v文件内例示化的VHDL实体。(9)在ModelSim工作区sim标签页的层次结构中点击c:cache前面的加号“”展开,点击c:cache下一级的s0:cache_set(only),则source窗口显示了cache_set实体的VHDL代码。(10)结束仿真,其执行命令为quit-force。,5调试VHDL仿真1)准备仿真(1)建立一个新的工作目录,拷贝Modeltech_5.8dexamples目录中的gates.vhd、adder.vhd和testadder.vhd文件到该目录下。(2)启动ModelSim软件,选择FileChange

33、Directory命令,将新建目录设置为当前工作目录。(3)在主窗口中选择FileNewLibrary命令,在新目录下建立一个设计库library_2来保留编译结果,或在命令行中输入vlib library_2命令。,(4)在ModelSim主窗口命令行操作区或UNIX/DOS命令行中,输入下面的命令将源文件编译到新的设计库中:vcom-work library_2 gates.vhd adder.vhd testadder.vhd(回车)(5)映射新库到工作库。可以直接编辑modelsim.ini文件来生成映射,或者用vmap命令生成一个逻辑库名字来完成:vmap work library_

34、2(回车)ModelSim自动修改modelsim.ini文件。,(6)在ModelSim主窗口工作区的Library标签页中,点击work库前面的加号“”展开,可以看到所有设计单元。(7)用鼠标左键双击work库中名为test_adder_structural的配置,在工作区中出现一个新的sim标签页,如图3.31所示;也可以直接在命令行操作区输入下面的命令:vsim-t ns work.test_adder_structural(回车),图3.31 载入配置,(8)在主窗口中选择ViewAll Windows命令,或输入view*命令,打开所有仿真窗口。(9)在signals窗口中选择Ed

35、itSelect All命令,选中所有信号,然后将它们拖动到list窗口中。该操作与在signals窗口中选择AddListSignals in Region命令或输入add list*命令的结果相同。(10)以同样的方法,把信号加到wave窗口中。(11)在ModelSim主窗口的运行时间长度中设置1000ns。,2)运行调试仿真(1)选取Run命令,运行仿真。主窗口中的一条消息将通报有一个判断错误,如图3.32所示。执行后面的步骤查找错误。,图3.32 运行消息提示,(2)改变仿真判断选项,在主窗口中选择SimulateSimulation Options命令,弹出如图3.33所示的Sim

36、ulation Options对话框。,图3.33 Simulation Options对话框,(3)选取Assertions标签页。在Break on Assertion栏中改变选择为Error,并点击OK。该选项将使仿真停在HDL判断语句上。(4)选取Restart重新开始仿真。确定Restart对话框中的所有条目被选,然后点击Restart按钮。(5)选取Run命令,可以看到source窗口中的箭头指向判断语句,在variables窗口中可以看到i=6,这表示仿真停留在测试模式环路的第六次重复中,如图3.34所示。,图3.34 调试中的variables窗口,(6)在variables窗

37、口中点击加号“”展开名为test_patterns的变量,也要展开排列在test_patterns下的第六次记录6,如图3.35所示。,图3.35 展开第六次记录,判断表明了signals窗口中的sum不等于variables窗口中的sum字段。输入a、b和cin的和应该等于输出sum,但是在测试向量内有一个错误。为了改正这个错误,需要重新仿真且修改测试向量的初始值。(7)执行restart-f命令。参数-f使ModelSim不出现确认对话框就重新仿真。(8)在process窗口中选取test/testbench过程更新variables窗口,如图3.36所示。,图3.36 process窗口

38、,(9)再次展开variables窗口中的test_patterns和test_patterns6。点击变量名字,高亮显示.sum记录,然后选择variables窗口中的EditChange.命令,弹出Change Selected Variable对话框,如图3.37所示。,图3.37 修改variables窗口中记录值,(10)在Change Selected Variable对话框中,把Value中的数值最后四位(1000)替换为0111,并点击Change。(这只是暂时编辑,必须用文本编辑器永久地改变源代码。)(11)选取Run命令运行仿真。这样,仿真运行时就不会报错了。6运行批处理模

39、式(batch-mode)仿真批处理模式仿真必须运行在DOS或UNIX提示符下。除非特殊说明,该部分所提到的命令都是在DOS或UNIX命令提示符下输入的。(1)建立一个新目录,拷贝Modeltech_5.8dexamplescounter.vhd文件到该目录下。,(2)将新建目录设置成当前工作目录。(3)生成一个新的设计库。在新建目录的DOS或UNIX命令提示符后输入vlib work后按回车键。(4)映射库:在DOS或UNIX命令提示符后输入vmap work work后按回车键。(5)编译源文件:在DOS或UNIX命令提示符后输入vcom counter.vhd后按回车键。(6)使用宏文件

40、为计数器提供激励。这里我们使用ModelSim提供的宏文件,拷贝examplestim.do文件到当前工作目录中。,(7)使用编辑器建立批处理文件,内容为add list-decimal*do stim.dowrite list counter.lstquit-f保存批处理文件到当前目录,命名为yourfile。,(8)执行下面的命令,运行批处理模式仿真:vsim-do yourfile-wlf saved.wlf counter-c(回车)在名为“counter”的设计单元调用vsim仿真器;通过-wlf这个可选项通知仿真器在名为saved.wlf的日志文件中保存仿真结果;运行yourfil

41、e批处理设置:值以十进制的方式列示出来;执行名为stim.do的激励,并将结果写到名为counter.lst的文件中。缺省的设计名为counter。(9)浏览保存在saved.wlf文件中的仿真结果:vsim-view saved.wlf(回车),(10)在ModelSim软件的主窗口中选择View菜单打开signals、list和wave窗口,或在ModelSim命令行操作区输入下面的命令:view signals list wave(回车)(11)在窗口中放置信号,在ModelSim命令行操作区输入下面的命令:add wave*(回车)add list*(回车)(12)在Variables

42、窗口中检验保存的仿真结果。(13)结束仿真,其执行命令为quit-f(回车),3.1.3 在ModelSim SE中指定Altera的仿真库图3.38所示为ModelSim SE 5.8d版的启动画面。,图3.38 ModelSim SE 5.8d版的启动画面,以下讲述如何在ModelSim SE中创立Altera的仿真库(在Quartus里提取库)。(1)启动ModelSim SE仿真工具,在主窗口中选择FileChange Directory命令,将工作目录改变到想要存放仿真库的目录下,如图3.39所示,点击OK按钮确定。(2)在主窗口中选择FileNewLibrary命令,弹出Creat

43、e a New Library窗口,将Create选项设置为a new library and a logical mapping to it,键入库的名字(例如Altera_song),如图3.40所示,点击OK按钮确定。,图3.39 指定工作目录,图3.40 Create a New Library对话框,这个操作过程实质上相当于在ModelSim主窗口的命令操作区中输入了vlib和vmap命令。(3)选中主窗口Library标签页中的Altera_song,选择CompileCompile命令,弹出如图3.41所示的对话框。将查找范围指定到edasim_lib文件夹下,对以下8个文件分两

44、次进行编译:220model.v,220model.vhd,220model_87.vhd,220pack.vhd,altera_mf.v,altera_mf.vhd,altera_mf_87.vhd,altera_mf_components.vhd编译顺序为220pack.vhd和altera_mf_components.vhd先编译,其他文件后编译。点击Compile编译,完成后点击Done。,图3.41 选择Altera编译库,(4)如果要后仿真,就把要用的系列库再编译。例如用Altera的Cyclone系列,就再编译cyclone_components.vhd、cyclone_atom

45、s.vhd和cyclone_atoms.v三个文件。(5)将ModelSim SE根目录下的配置文件modelsim.ini的属性由只读改为可写,这个操作是为了使软件可以记录仿真库建立的路径以及映射关系。以后每次启动ModelSim仿真工具时,软件都会根据ini文件中的配置寻找仿真库,并形成映射关系。(6)保存文件并退出。以后对Altera的设计进行仿真都不需要再进行库的处理了。,3.2 调用Synplify Pro综合工具设计流程,1在Quartus后台调用Synplify Pro正常情况下,正版Quartus软件和Synplify通过Altera的NativeLink实现无缝链接。用户所需

46、要注意的仅仅是正确设置Synplify Pro的环境变量。(1)在Quartus软件中选择AssignmentsEDA Tool Settings命令,弹出Settings对话框,如图3.42所示。,在Design Entry&Synthesis页中,指定第三方综合工具为Synplify Pro,并选择Run this tool automatically to synthesize the current project选项。在Library Mapping File的File栏中显示的是一个Quartus软件与Synplify关联的库映射文件,在Quartus的安装目录lmpsynplct

47、y.lmf中。Quartus软件会自动找到该文件,也就是说,在这里只要用户看到的文件是synplcty.lmf就可以了,不必浏览指定路径。,图3.42 Quartus Settings对话框,(2)一定要为Quartus设置Synplify Pro路径,这里以对Windows 2000系统用户设置环境变量为例。在Windows 2000系统桌面上,用鼠标右键点击“我的电脑”,从弹出的右键菜单中选择“属性”,弹出如图3.43所示的系统特性对话框。选择“高级”标签页,点击“环境变量”按钮,在环境变量的Administrator的用户变量中编辑PATH变量,在变量值中设置正确的Synplify Pr

48、o可执行文件synplify pro.exe的路径。如果该变量名下还有其他软件的变量值,不同的变量值之间用分号(;)隔开。,图3.43 设置环境变量,(3)在Quartus软件中建立工程。假设设计人员已经编写好了所有设计源代码,需要注意的是,用户在向工程中加入文件时,不能把与_bb.v同名的.v文件也加入到Quartus工程导航Files标签页的Device Design Files中。其中,bb.v文件是使用MegaWizard向导产生的。至此,Synplify Pro的综合即可完成,用户不需要干预Synplify Pro的中间结果。,2Quartus和Synplify Pro分离的操作流程

49、首先,分离操作流程对用户来说,最主要的问题是要在不同于原来Quartus的工程目录中重新建立Synplify Pro目录,这可能涉及到设计中需要手动拷贝或指定一些源文件,很容易把人搞糊涂。其次,Quartus中所有的约束文件QSF如何移植到Synplify Pro中的对应约束文件*.sdc中,也是一个值得注意的问题。最后还要考虑Synplify Pro产生的输出文件VQM如何回到Quartus中完成布局布线的问题。,在Quartus工程目录下,会自动产生一个synplify_work目录,这个目录中有几个非常重要的文件,如输出的vqm、_alt.tcl以及*.sdc等所有Synplify Pr

50、o的工程文件。在后续的步骤中用户需要的最主要的是VQM文件。为了便于说明,手动操作分为以下两步。(1)完成源代码文件在Synplify Pro中的综合,如图3.44所示。同理,只要是用Synplify Pro综合,在源代码目录下建Synplify工程时就要注意加入的文件不能有和bb.v同名的.v文件,否则,Synplify Pro会给出一个module同名的错误。,图3.44 Synplify Pro综合,(2)生成VQM文件后,启动Quartus软件,在VQM所在目录新建工程,并加入该文件,其他任何文件都不需要加入,只要保证所有的源代码和VQM文件在同一个Quartus工程目录下即可。Qua

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号