您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > ModelSim-Altera使用方法
平台软件:ModelSim-Altera6.5e(QuartusII10.0)StarterEdition内容1设计流程使用ModelSim仿真的基本流程为:图1.1使用ModelSim仿真的基本流程2开始2.1新建工程打开ModelSim后,其画面如图2.1所示。图2.1ModelSim画面1.选择FileNewPreject创建一个新工程。打开的CreateProject对话框窗口,可以指定工程的名称、路径和缺省库名称。一般情况下,设定DefaultLibraryName为work。指定的名称用于创建一个位于工程文件夹内的工作库子文件夹。该对话框如图2.2所示,此外还允许通过选择.ini文件来映射库设置,或者将其直接拷贝至工程中。图2.2创建工程的对话框2.按照图2.3所示,设置ProjectName为LED_FLOW,ProjectLocation为D:/led_flow。图2.3输入工程信息当单击OK按钮后,在主体窗口的下方将出现Project标签,如图2.4所示。图2.4Project标签3.之后,将出现AddItemstotheProject的对话框,如图2.5所示。图2.5在工程中,添加新项目2.2在工程中,添加新项目在AddItemstotheProject对话框中,包括以下选项:CreateNewFile——使用源文件编辑器创建一个新的Verilog、VHDL、TCL或文本文件AddExistingFile——添加一个已存在的文件CreateSimulation——创建指定源文件和仿真选项的仿真配置CreateNewFolder——创建一个新的组织文件夹1.单击CreateNewFile。打开图2.6所示窗口。图2.6创建工程文件夹2.输入文件名称:LED_FLOW,然后选择文件类型为Verilog。图2.7输入工程文件信息3.单击OK,关闭本对话框。新的工程文件将会在工程窗口显示。单击Close,以关闭AddItemstotheProject。图2.8新的设计文件LED_FLOW.v4.双击打开LED_FLOW.v文件(注意:若是Verilog文件已经关联了其他的文本编辑器,则双击后在关联的文本编辑器中打开)。图2.9LED_FLOW代码输入窗口在LED_FLOW.v输入下面的测试平台代码:`timescale1ns/1nsmoduleLED_FLOW;regCLOCK_50M;regRST_N;wire[9:0]LED;ledled_inst(.clk_50M(CLOCK_50M),.reset_n(RST_n),.led(LED));initialbeginCLOCK_50M=0;while(1)#10CLOCK_50M=~CLOCK_50M;endinitialbeginRST_N=0;while(1)#10RST_N=1;endinitialbegin$display($time,CLOCK_50M=%dRST_N=%dLED=%d,CLOCK_50M,RST_N,LED);endendmodule录入完代码后,单击Save。图2.10输入testbench代码5.选择FileNewSourceVerilog,创建新的Verilog文件,如图2.11所示。图2.11创建新的Verilog文件6.录入下面的代码,录入画面如图2.12所示。`timescale1ns/1nsmoduleled(inputclk_50M,//Systemclock50MHzinputreset_n,//Systemresetoutputreg[9:0]led//led);reg[13:0]counter=0;reg[3:0]state=0;always@(posedgeclk_50M,negedgereset_n)if(!reset_n)counter=0;elsecounter=counter+1'b1;always@(posedgecounter[13])if(!reset_n)state=0;elsebeginif(state==4'b1001)state=0;elsestate=state+1'b1;endalways@(posedgeclk_50M,negedgereset_n)if(!reset_n)led=0;elsebegincase(state)4'b0000:led=10'b00000_00001;4'b0001:led=10'b00000_00010;4'b0010:led=10'b00000_00100;4'b0011:led=10'b00000_01000;4'b0100:led=10'b00000_10000;4'b0101:led=10'b00001_00000;4'b0110:led=10'b00010_00000;4'b0111:led=10'b00100_00000;4'b1000:led=10'b01000_00000;4'b1001:led=10'b10000_00000;default:led=10'b00000_00001;endcaseendendmodule图2.12录入新文件7.选择FileSave,输入文件名:led.v,单击Save,如图2.13所示。图2.13保存led.v8.选择ProjectAddtoProjectExistingFile,如图2.14所示。图2.14添加文件到工程中9.单击Browse,选择led.v,如图2.15所示。图2.15选择待加入工程的文件10.单击打开,在Addfiletotheproject窗口,单击OK。2.3编译文件在Project标签下的Status列的问号,表示文件尚未编译进工程,或者在最后编译前,源文件有所改动。欲编译文件,选择CompileCompileALL,或者右击Project标签,选择CompileCompileAll。1.倘若此处没有错误,编译成功的消息,就会在Transcript窗口如图2.6所示。图2.16编译成功3仿真工程3.1开始仿真1.单击Library图标,选择work,单击+以展开选项,然后选择LED_FLOW。单击右键,选择编译,如图3.1所示。图3.1单击Simulate2.单击Simulate,到达图3.2所示画面。图3.2仿真窗口4.在图3.2中,单击LED_FLOW,单击右键,然后选择AddToWaveAllItemsinregion,然后单击左键。出现图3.3所示画面。图3.3AddToWave3.2仿真设置1.完成上述最后一步后,波形窗口出现。图3.4波形窗口2.在RunLength列输入仿真时间长度为10ms,如图3.5所示。图3.5设置RunLength3.单击Run按钮,如图3.6所示。图3.6运行仿真4.运行若干秒后,将会如图3.9所示的仿真结果。图3.7显示仿真结果5.连续单击ZoomOut图标,可查看仿真的完整波形,如图3.8所示。图3.8波形窗口6.单击鼠标所指的+,展开LED_FLOW的波形,如图3.9所示。图3.9展开波形通过放大/缩小波形,可以观察到LED的值在保持变化,即LED的时序效果。若将其移植到QuartusII中,适当配置后,经过综合、时序分析、引脚分配、配置及下载等,即可实现跑马灯的效果。
本文标题:ModelSim-Altera使用方法
链接地址:https://www.777doc.com/doc-6303648 .html