在Quartus中调用Modelsim进行仿真Word文档下载推荐.docx
《在Quartus中调用Modelsim进行仿真Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《在Quartus中调用Modelsim进行仿真Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
(1)在QuartusⅡ中建立工程counter,并指明仿真工具
(2)顶层文件代码
(3)激励文件代码
(4)在Quartus中添加testbench文件
(5)在Quartus中全编译工程
(6)前仿真
(7)后仿真
一、QuartusⅡ的相关设置
在QuartusⅡ中执行Tools\Options,打开EDAToolOptions选项卡。
我们使用ModelSim进行仿真,所以在ModelSim对应的LocationofExecutable中选择ModelSim的安装路径D:
\Myfiles\ModelsimSE\win32,如图1所示:
图1
1)在ModelSim安装路径D:
\Myfiles\ModelsimSE中新建文件夹modelsimSE_lib,用于存放编译的文件
2)在QuartusⅡ10.0中执行Tools\LaunchEADSimiulationLibraryCompiler,在打开的界面中Executablelocation一项选择ModelSim的安装路径D:
\Myfiles\ModelsimSE\Win32
在Avaliablefamilies中根据自己需要选择可能用的到器件系列,如cyclone、stratix等;
在这里可以多选择一些,以备能用到,并且一次编译后,以后就不用再编译了。
LibraryLanguage一项勾选Verilog;
Outputdirectory选择D:
\Myfiles\ModelsimSE\modelsimSE_lib;
设置好后界面如图2所示:
图2
3)在图1所示界面中单击StartCompilation,开始编译;
4)编译完成后如图3所示,依次点击OK、Close。
图3
二、在QuartusⅡ中建立工程及仿真
(1)在QuartusⅡ中建立工程counter,并指明仿真工具为Modelsim(Verilog),这一步可以在NewProjectWizard中指定,如图4所示;
也可以先建立好工程在Assignments\Setting\EDAToolSettings中的simulation选项中设置,如图5所示。
图4在NewProjectWizard中指定仿真工具
图5在EDAToolSettings中指定仿真工具
(2)Quartus工程顶层文件counter.v代码:
`timescale 1ns/1ps //时间单位/时间精度
modulecounter(
input clk_100M,
input rst,
outputreg[3:
0] cnt,//时钟计数器
output div_2, //2分频
output div_4, //4分频
output div_8 //8分频
);
always@(posedgeclk_100Morposedgerst)
begin
if(rst)begin
cnt<
=4'
h0;
end
elsebegin
=cnt+1;
end
assign div_2=cnt[0];
assign div_4=cnt[1];
assign div_8=cnt[2];
endmodule
(3)testbench文件counter_test.v代码:
`timescale 1ns/1ps //仿真时间单位/时间精度
modulecounter_test();
reg clk_100M;
reg rst;
wire [3:
0] cnt;
wire div_2;
wire div_4;
wire div_8;
parameter clk_cycle=10;
//20M时钟
parameter clk_hcycle=5;
counterdut( //实例化待测试模块
.clk_100M(clk_100M),
.rst(rst),
.cnt(cnt),
.div_2(div_2),
.div_4(div_4),
.div_8(div_8)
initialbegin
clk_100M=1'
b1;
always#clk_hcycleclk_100M=~clk_100M;
//产生时钟信号
initialbegin //产生复位信号
rst=1'
#10//延时10ns即10个时间单位后,rst从1变为0
b0;
$monitor($stime,,clk_100M,,rst,,cnt,,div_2,,div_4,,div_8);
#1000$stop;
//指明仿真时间
(4)在Quartus中添加testbench文件
1)打开Assignments\Setting\EDAToolSettings,单击simulation选项,在如图3所示在打开的界面中选中compiletestbench,在如图6所示:
图6
2)在图6界面中,单击TestBenchs…,弹出图7所示界面:
图7
3)在图7界面中,单击New,在弹出的界面中,Testbenchname一项填写counter_test;
Toplevelmoduleintestbench填写counter_test;
在FileName中找到testbench文件counter_test.v的保存路径,单击Add,如图8所示:
图8
4)然后一路单击OK。
(5)在Quartus中全编译工程,这样在工程目录下会生成simulation文件夹,内部modelSim文件夹中有三个文件分别是counter.vo(布局布线后的仿真模型文件),counter_modelsim.xrf(好像是实例化的元件),counter_v.sdo(标准延时输出文件)。
(6)前仿真:
在Quartus中执行Tools\RunEDAsimulationTool\EDARTLSimulation
ModelSim会自动启动并完成前仿真。
前仿真结果如图9所示:
图9
(7)后仿真:
在Quartus中执行Tools\RunEDAsimulationTool\EDAGateLevelSimulation
在弹出的界面图10中单击Run,’’Slow-71.2V100Model’’是选择FPGA的工作模型,工作于温度为100度的环境。
图10
ModelSim会自动启动并完成后仿真。
后仿真结果如图11所示:
图11
9