您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > ModelSim与QuartusII的结合
实验一、ModelSim与QuartusII的结合一、实验目的1.学习设置从QuartusII中运行ModelSim。2.学习使用ModelSim进行功能仿真。3.熟悉ModelSim软件。4.熟悉Verilog硬件描述语言。二、实验内容本实验通过设计一个4位计数器学习设置从QuartusII中运行ModelSim,学习使用ModelSim进行功能仿真和熟悉ModelSim软件及Verilog硬件描述语言。三、实验步骤1.打开QuartusII5.0软件,选择File|NewProjectWizard新建一个工程,在进入选择其他EDA工具对话框时与前面实验不同,这里选择“EDAsimulationtool”中的“ModelSim(Verilog)”项和下面的“Runthistoolautomaticallyaftercompilation”。如图1-1所示。最后完成工程建立。图1-1选择EDA仿真工具ModelSim(Verilog)2.在该工程文件下新建顶层设计文件“count4.v”的源代码如下所示。modulecount4(clk,reset,out);//4位计数器模块inputclk,reset;output[3:0]out;reg[3:0]out;always@(posedgeclk)beginif(reset)out=0;elseout=out+1;endendmoduleModelSim仿真用到的测试文件“count_tp.v”源码为:(注意,该文件不加入工程中)`timescale1ns/1ns//定义时延单位1ns和时延精度为1ns(即精确到1ns)modulecount_tp;//测试模块regclk,reset;//输入激励信号定义为reg型wire[3:0]out;//输出信号定义为wire型parameterDELY=100;count4mycount(.clk(clk),.reset(reset),.out(out));//调用测试对象count4always#(DELY/2)clk=~clk;//产生时钟波形initial//激励波形定义beginclk=0;reset=0;#DELYreset=1;#DELYreset=0;#(DELY*20)$finish;endinitial$monitor($time,,,clk=%dreset=%dout=%d,clk,reset,out);//结果显示endmodule3.为ModelSim仿真设置参数。选择Assignments|EDAToolSettings…,选择左栏的“Simulation”,如图1-2所示。“ModelSim(Verilog)”和下面的“Runthistool…”是我们建立工程时设置的结果。如果那时没设置现在可以设置。注意“Generatenetlistforfunctionsimulationonly”选项决定是功能仿真还是时序仿真。这里没选,是功能仿真。然后,我们单击下方的“MoreSettings”按钮,弹出“MoreSettings”对话框如图1-3所示。选择“TestBenchmode”,选择测试文件“count_tp.v”并输入测试模块名称“count_tp”。都在我们新建工程文件夹下,设置测试时间为3us,单击OK。完成设置。图1-2ModelSim仿真参数设置图1-3选择测试文件4.进行编译,并会自动调用ModelSim进行仿真。选择Tools|CompilerTool,开始编译,我们会发现QuartusII状态栏多出两项“EDANetlistWriter”和“EDASimulationTool”。如图1-4所示。图1-4状态栏显示运行ModelSim后会弹出“FinishVsim”对话框,单击“否”。如图1-5所示。图1-5进入ModelSim进入ModelSim环境,选择“View|DebugWindows”打开“Objects”、“Wave”、“list”窗口。观察“Wave”窗口波形如图1-6所示。用“放大”、“缩小”可以方便观看波形。双击“Wave”波形窗口中输出信号“out”改变数据类型为“Unsigned”便于观察。图1-6仿真波形图6.观察完毕,退出ModelSim后,QuartusII才完成全部编译。编译成功如图1-7所示。图1-7编译成功
本文标题:ModelSim与QuartusII的结合
链接地址:https://www.777doc.com/doc-5820553 .html