版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Quartus II调用ModelsimSE进行功能仿真笔记中主要介绍基于工程流程的功能仿真流程示例1:简单的计数器设计并利用ModelsimSE仿真Step1 新建一个工程1.在Quartus II菜单栏中通过File下拉菜单New Project Wizard建立工程。a.第一页:Directory,Name,Top-Level Entitypage 1 of 5主要完成以下功能:设置工程路径(Directory)、设置工程名称(Name of Project)、设置工程中顶层实体名称(Name of Top-Level Entity)。b.第二页:Add Filespage 2 of 5
2、主要完成以下工能:向工程中添加已存在的设计文件。c.第三页:Family&Device Settingspage 3 of 5主要实现完成功能:选择自己所使用的FPGA芯片。d.第四页:EDA Tool Settingspage 4 of 5主要完成功能:根据需要选择使用哪种EDA工具Design Entry/Synthesis:设计输入/综合工具Simulation:仿真工具Timing Analysis:时序分析工具Format Verification:格式验证工具Board Level:板级工具e.第五页:Summarypage 5 of 5主要完成功能:生成建立工程的总结报告,包含了
3、前面设置的内容。根据报告查看新建工程是否与自己要建立的工程要求一致,如果不一致返回(Back)上一层或多层进行修改,直到满足要求为止。f.Finish:通过工程向导完成新建工程。2.向新建工程中添加设计文件。根据自己使用的HDL语言添加设计文件,Finish完成。本示例中设计文件代码如下所示:完成一个简单的计数器,使计数器计数满128后重新计数。module count_128(clk,rst_n,count);/工程模块及端口声明input clk,rst_n;/输入信号:时钟信号和复位output reg7:0 count;/定义count位宽和数据类型always(posedge clk
4、 or negedge rst_n)if(!rst_n)count=8d0;/复位置零else if(count7)/当count最高位为1,也就是计数到128时,count置0count=1d0;else /否则继续计数count=count+1d1;endmodule/*计数模块实现128计数,当coun计数满128重新计数*/3.将设计文件保存在工程目录下并对设计文件进行语法分析。至此,我们利用新建工程向导新建了一个工程并进行语法分析。Step2 利用Test Banch Template Writer编写Test banch1.在Processing下拉菜单中选择Start Test
5、Banch Template Writer,将自动生成Test Banch模板。2.在Quartus II中打开Test Banch文件,生成的Test Banch文件自动保存在工程目录中的Simulation/Modelsim目录下,以.vt(Verilog语言编写的测试文件)或者.vht(VHDL语言编写的测试文件)格式存在。(在用Quartus II打开过程中很多人反映找不到.vt或者.vht文件,那是因为在文件类型中没有选择*.vt或者没有选择All Files导致的文件类型不匹配。)3.打开文件后,编写工程所需的Test Banch文件。删除不需要的代码,我们只需要根据需要在init
6、ial块和always块中插入代码,代码如下:timescale 1 ns/ 1 ps /时间单位和时间精度声明,时间单位为1ns,精度为1ps /默认时间单位为ps,根据需要改写module count_128_vlg_tst(); /测试模块reg clk; reg rst_n; wire 7:0 count; count_128 i1 (.clk(clk),.count(count),.rst_n(rst_n);initial /初始化 begin clk=0; /初始时钟为0rst_n=0;/初始复位信号为低电平#20 rst_n=1; /20个时间单位后(20ns),复位信号为高电平
7、 #10000 $stop; /10000个时间单位后暂停仿真 end always #2 clk=clk; /利用always块生成周期为2*2个单位的时钟信号 endmoduleStep3 EDA Tools中的仿真(simulation)设置1.Modelsim调用设置如果是第一次用Quartus II调用ModelsimSE软件进行仿真,则要菜单Tools的下拉菜单Options中进行调用设置。在Options中的EDA Tool Options中, Modelsim一栏中,添加其启动路径。添加确认后,再次调用时不用再进行设置。2.EDA Tools中的仿真(simulation)设置
8、在菜单Assignments下拉菜单Settings中的EDA Tools进行仿真设置。EDA Tools中选择Simulation进行仿真设置,仿真工具会根据工程向导中自动设置为Modelsim不需要改变,在网表设置(EDA Netlist Writer settings)中,输出网表格式和输出路径都按默认,不需要改动,但是要注意在时间单位设置中,需要保持和Test Banch代码中的时间单位一致。选中上图中Compile test banch并添加需要编译的(Test Banc)Test Banch页面中点击New添加Test Banch。在New Test Banch Settings中
9、完成以下工作:填写Test Banch文件的名字(*.vt或者*.vht文件名)填写Test Banch文件中顶层模块名填写Test Banch文件中设计实例模块名浏览找到测试文件并添加(Add)添加完成后会看到你所添加的测试文件名、顶层模块名、实例名以及测试文件路径等信息添加完成确认,至此我们完成了EDA Tools中的仿真(simulation)设置。Step4 EDA Simulation Tools仿真下面进行最简单的一步了,就是进行Modelsim仿真,点击菜单Tools下拉菜单中的Run EDA Simulation Tool,运行EDA RTL Simulation。Models
10、im仿真结果。至此完成了Quartus II调用ModelsimSE仿真软件进行仿真的全过程。示例2.分频器设计及仿真。本示例完成一个2N的分频器设置,N可以根据需要自己调整。设计代码如下:module div(clk,rst_n,div_n);/模块声明及端口定义parameter N=2;/定义常量:计数器位宽input clk,rst_n;/输入端口output div_n;/输出端口:分频输出regN-1:0 count;/计数器always(posedge clk or negedge rst_n)if(!rst_n)/复位清零begincount=2d0;/改变N的大小后,一定要保
11、证赋值位宽一致endelse/循环计数count=count+1d1;assign div_n=countN-1;/把计数器最高位赋值给分频信号endmoduleTest Banch文件代码:timescale 1 ns/ 1 ps /定义时间单位和时间精度module div_vlg_tst(); /测试模块reg clk;reg rst_n; wire div_n; div i1 ( .clk(clk),.div_n(div_n),.rst_n(rst_n); /模块实例化initial /初始化 begin clk=0;rst_n=0;#50 rst_n=1;#10000 $stop;
12、end always #10 clk=clk; /生成周期时钟信号 endmodule仿真结果:N=1时2(21)分频仿真结果N=2时的4(22)分频仿真结果:总结:本文提供了一种Quartus II调用Modelsim进行功能仿真的方法,主要分以下几个步骤:Step1 利用工程向导新建工程建议利用新建工程向导(New project Wizard)建立工程,在建立工程的过程中在EDA Tools中选择Modelsim作为仿真工具,对于零基础的初学者来说通过工程向导新建工程可以自己对建立工程流程有深入的理解,而且保证了建立的工程完整。 Step2 利用Test Banch Template Writer编写Test banchQuartus II提供了快捷的Test banch编写方法,即start Test Banch Template Writer,通过这种方法可以快捷的根据你的工程自动生成Test Banch模板,你只需要在模板中进行初始化和提供激励就可以方便快捷的完成Test Banch文件。Step3 EDA Tools中的仿真(simulation)设置EDA Tools中的仿真(simulation)设置过程主要完成的仿真工具使用的设置
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陕西省西安电子科技大附中2026届中考数学试题仿真卷:数学试题试卷(2)含解析
- 江苏省无锡市北塘区2026届初三第二次中考适应性考试英语试题试卷含解析
- 中国医科大学《内科学二》2024-2025学年第二学期期末试卷
- 绿色矿山建设合同
- 2020第二次高考英语试卷 第二次
- 人员测试活动方案策划(3篇)
- 后备集市活动策划方案(3篇)
- 停电应急预案-物业(3篇)
- 打卡英语活动策划方案(3篇)
- 教师药店营销方案(3篇)
- 民主决策、民主管理、民主监督制度
- (甘肃一诊)2025年甘肃省高三月考试卷(3月)历史试卷(含答案)
- 电缆头制作安装安全措施
- 第47届世界技能大赛江苏省选拔赛数字建造项目技术工作文件
- 《助人技术:探索、领悟、行动三阶段模式》札记
- 2023广西桂林市桂林市七星区专职化社区工作者招聘聘前(第五批)笔试历年典型考题及考点剖析附答案带详解
- 水产动物育种学智慧树知到期末考试答案章节答案2024年上海海洋大学
- 儿科学第九版新生儿黄疸课件
- 成人气管切开拔管中国专家共识解读
- 儿童抑郁情绪自评量表(DSRSC)
- 裁剪验片记录表
评论
0/150
提交评论