在Quartus中调用Modelsim进行仿真.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在 QuartusⅡ中调用 ModelSim 进行仿真 Quartus Ⅱ版本:Quartus Ⅱ10.0 (32-bit);安装路径为 D:\Myfiles\QUARTUS_10.0 ModelSim 版本:ModelSim SE 6.5;安装路径为 D:\Myfiles\ModelsimSE 一、 Quartus 设置 在 Quartus Ⅱ中指明仿真工具及其路径 在 Quartus Ⅱ中编译所需的元器件库 二、建立工程及仿真 在 Quartus Ⅱ中建立工程 counter ,并指明仿真工具 顶层文件代码 激励文件代码 在 Quartus 中添加 testbench 文件 在 Quartus 中全编译工程 前仿真 后仿真 一、 QuartusⅡ的相关设置 (1)在 QuartusⅡ中指明仿真工具及其路径 在 QuartusⅡ中执行 Tools\Options,打开 EDA Tool Options 选项卡。我们使用 ModelSim 进 行仿真,所以在 ModelSim 对应的 Location of Executable 中选择 ModelSim 的安装路径 D:\Myfiles\ModelsimSE\win32,如图 1 所示: 1 图 1 (2)在 QuartusⅡ中编译所需的元器件库 在 ModelSim 安装路径 D:\Myfiles\ModelsimSE 中新建文件夹 modelsimSE_lib,用于存 放编译的文件 在 QuartusⅡ10.0 中执行 Tools\Launch EAD Simiulation Library Compiler,在打开的界 面中 Executable location 一项选择 ModelSim 的安装路径 D:\Myfiles\ModelsimSE\Win32 在 Avaliable families 中根据自己需要选择可能用的到器件系列,如 cyclone、stratix 等;在 这里可以多选择一些,以备能用到,并且一次编译后,以后就不用再编译了。 Library Language 一项勾选 Verilog; Output directory 选择 D:\Myfiles\ModelsimSE\modelsimSE_lib; 设置好后界面如图 2 所示: 2 图 2 3)在图 1 所示界面中单击 Start Compilation,开始编译; 4)编译完成后如图 3 所示,依次点击 OK、Close。 3 图 3 二、在 QuartusⅡ中建立工程及仿真 (1)在QuartusⅡ中建立工程counter,并指明仿真工具为Modelsim(Verilog),这一步可 以在New Project Wizard中指定,如图4所示;也可以先建立好工程在 Assignments\Setting\EDA Tool Settings中的simulation选项中设置,如图5所示。 4 图 4  在 New Project Wizard 中指定仿真工具 5 图 5  在 EDA Tool Settings 中指定仿真工具 (2)Quartus 工程顶层文件 counter.v 代码: `timescale 1ns/1ps module counter (  // 时间单位/时间精度 input input clk_100M, rst, output reg[3:0] cnt, //时钟计数器 output output output ); always @ ( posedge begin if (rst) begin cnt=4h0; end else begin div_2, div_4, div_8 clk_100M or posedge rst) //2 分频 //4 分频 //8 分频 6 cnt=cnt+1; end 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 module counter_test( ); reg clk_100M; reg rst; wire [3:0] cnt; wire div_2; wire div_4; wire div_8;  // 仿真时间单位/时间精度 parameter parameter  clk_cycle=10; clk_hcycle=5;  // 20M

文档评论(0)

damoyihao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档