欢迎来到天天文库
浏览记录
ID:8840735
大小:355.83 KB
页数:9页
时间:2018-04-09
《在quartus中调用modelsim进行仿真》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、在QuartusⅡ中调用ModelSim进行仿真QuartusⅡ版本:QuartusⅡ10.0(32-bit);安装路径为D:MyfilesQUARTUS_10.0ModelSim版本:ModelSimSE6.5;安装路径为D:MyfilesModelsimSE一、Quartus设置(1)在QuartusⅡ中指明仿真工具及其路径(2)在QuartusⅡ中编译所需的元器件库二、建立工程及仿真(1)在QuartusⅡ中建立工程counter,并指明仿真工具(2)顶层文件代码(3)激励文件代码(4)在Quartus中添加testbench文件(5)在Quartus中全编译工程(6)
2、前仿真(7)后仿真一、QuartusⅡ的相关设置(1)在QuartusⅡ中指明仿真工具及其路径在QuartusⅡ中执行ToolsOptions,打开EDAToolOptions选项卡。我们使用ModelSim进行仿真,所以在ModelSim对应的LocationofExecutable中选择ModelSim的安装路径D:MyfilesModelsimSEwin32,如图1所示:图19(2)在QuartusⅡ中编译所需的元器件库1)在ModelSim安装路径D:MyfilesModelsimSE中新建文件夹modelsimSE_lib,用于存放编译的文件2)在Quartus
3、Ⅱ10.0中执行ToolsLaunchEADSimiulationLibraryCompiler,在打开的界面中Executablelocation一项选择ModelSim的安装路径D:MyfilesModelsimSEWin32在Avaliablefamilies中根据自己需要选择可能用的到器件系列,如cyclone、stratix等;在这里可以多选择一些,以备能用到,并且一次编译后,以后就不用再编译了。LibraryLanguage一项勾选Verilog;Outputdirectory选择D:MyfilesModelsimSEmodelsimSE_lib;设置好后界
4、面如图2所示:图23)在图1所示界面中单击StartCompilation,开始编译;4)编译完成后如图3所示,依次点击OK、Close。9图3二、在QuartusⅡ中建立工程及仿真(1)在QuartusⅡ中建立工程counter,并指明仿真工具为Modelsim(Verilog),这一步可以在NewProjectWizard中指定,如图4所示;也可以先建立好工程在AssignmentsSettingEDAToolSettings中的simulation选项中设置,如图5所示。9图4在NewProjectWizard中指定仿真工具9图5在EDAToolSettings中指定仿真工
5、具(2)Quartus工程顶层文件counter.v代码:`timescale1ns/1ps//时间单位/时间精度modulecounter(inputclk_100M,inputrst,outputreg[3:0]cnt,//时钟计数器outputdiv_2,//2分频outputdiv_4,//4分频outputdiv_8//8分频);always@(posedgeclk_100Morposedgerst)beginif(rst)begincnt<=4'h0;endelsebegin9cnt<=cnt+1;endendassigndiv_2=cnt[0];assigndiv_4=
6、cnt[1];assigndiv_8=cnt[2];endmodule(3)testbench文件counter_test.v代码:`timescale1ns/1ps//仿真时间单位/时间精度modulecounter_test();regclk_100M;regrst;wire[3:0]cnt;wirediv_2;wirediv_4;wirediv_8;parameterclk_cycle=10;//20M时钟parameterclk_hcycle=5;counterdut(//实例化待测试模块.clk_100M(clk_100M),.rst(rst),.cnt(cnt),.div
7、_2(div_2),.div_4(div_4),.div_8(div_8));initialbeginclk_100M=1'b1;endalways#clk_hcycleclk_100M=~clk_100M;//产生时钟信号initialbegin//产生复位信号rst=1'b1;#10//延时10ns即10个时间单位后,rst从1变为0rst=1'b0;endinitialbegin9$monitor($stime,,clk_100M,,rst,,cnt
此文档下载收益归作者所有