当前位置:   article > 正文

【FPGA】Quartus项目工程创建以及联合Modelsim进行仿真(FPGA项目创建与仿真)_modelsim和quartus联合仿真

modelsim和quartus联合仿真

目录

软件下载

Quartus中设置Modelsim-Altera仿真器

创建新项目

编写项目代码

编写测试模块


 

软件下载

这里使用的是Quartus Prime Light 18.1 以及ModelSim Intel FPGA 10.5b,两个软件在同一个地方下载,附网址https://www.intel.com/content/www/us/en/software-kit/665990/intel-quartus-prime-lite-edition-design-software-version-18-1-for-windows.html

153cc18f3e2f4161be3a540aaa6cc21d.png

解压过后根据提示等待安装即可,唯一需要注意的点是安装路径不要出现中文

Quartus中设置Modelsim-Altera仿真器

双击打开quartus,点击Tools->options

786d5bd14e3e458b965320b93ada092f.png

点击EDA Tool Options,找到Modelsim-Altera并点击其后...设置仿真器路径

3af93b24e4a345c3a95e6249b9ef106f.png

找到安装Quartus的文件夹,按照路径选择modelsim_ase\win32aloem文件夹,点击选择文件夹即可

2584a5625b0a499f944e72516ea6d49d.png

设置完后点击ok保存即完成

创建新项目

点击New Project Wizard

a21913bc9ab94ad097d77ff9a7a0bad5.png

根据引导进行配置

d95e61f423f9449f88959416af2c10f3.png

选择项目储存的位置,同样,位置和项目名字也不要出现中文,同时项目储存文件名和项目名最好是以项目名称命名,这里以2选1数字选择器为例,点击next

8c1f18e7a3ef48338394a40a72b51c41.png

这里我们不用项目模板也没有要添加的文件,所以一直点击next来到设备选择,我这里用的是Cyclone IV系列的,选好设备后点击next

02cd1555f03b490a9655fb7b228bff41.png

接下来来到EDA Tool Setting,在这里我们需要选择我们仿真使用的仿真器Modelsim-Altera,format选择verilog HDL

1658d594c0ac4671a1c94c911c222a73.png

点击finish完成项目创建

编写项目代码

首先点击一下项目文件,然后按住Ctrl+N或者左上角 文件-New 进行verilog HDL 文件添加,选择verilog HDL File选项,点击ok确认

bc9d04e7193f4233b503f35f55a4f828.png

接下来在打开的文件中编写要实现的模块的代码,要注意的是,顶层模块的名字应该与你创建项目的名字相同,否则会报错,然后点击左上角保存按钮(保存地址默认即可),并按照途中③开始编译项目

bd1b97a4c2e8415189796b0e865b4a4e.png

代码如下

  1. module mux2to1(
  2. input D0, D1, S,
  3. output Y
  4. );
  5. wire Snot, A, B;
  6. not U1(Snot, S);
  7. and U2(A, D0, Snot);
  8. and U3(B, D1, S);
  9. or U4(Y, A, B);
  10. endmodule

编译完成后查看下方,没有error即可

d81f6dd7fea34d29956b6c7d481ddf6c.png

编写测试模块

首先,在processing->start->start test bench template writter生成测试模块文件模板,他会在仿真文件夹中生成一个vt文件

6644da33f18040e18f43b4046c1cdbc3.png

接着我们打开该测试模板进行编写,按住Ctrl+O选择文件,将文件类型改成all files,并点击simulation文件夹

9ad26dd695e243a6bbff00b27bdc441e.png

找到以vt为后缀的文件打开即可

913319b23c6749309debcddc139ed7d7.png

打开后首先将时间单位改成ns

17bb9fb175c14feb8fa547a2b2faeb67.png

然后选中以下区域,将其替换成下面代码块中的代码

  1. initial begin
  2. S = 1'b0;
  3. D0 = 1'b0;
  4. D1 = 1'b0;
  5. #1 D0 = 1'b1;
  6. #1 D0 = 1'b0;
  7. #1 D1 = 1'b1;
  8. #1 D0 = 1'b1;
  9. #1 S = 1'b1;
  10. #1 D0 = 1'b0;
  11. #1 D1 = 1'b0;
  12. #1 D0 = 1'b1;
  13. #1 D0 = 1'b0;
  14. #1 D1 = 1'b1;
  15. #1 D0 = 1'b1;
  16. end
  17. initial begin
  18. $monitor($time,":\tS=%b\tD1=%b\tD0=%b\tY=%b", S, D1, D0, Y);
  19. end
  20. endmodule

9819b0e1fe3f4301a3eea2c213dc8166.png

c58dc934aaca46b297d5b17af97f6de3.png

完成后点击左上角保存

找到文件中顶层模块名字并复制他

2d20e5e695a241b2a19e9f1941180af5.png

接下来按住Ctrl+shift+E打开设置,或者点击Processing->settings

点击Simulation->compile test bench

然后点击test benches进行配置

2e90fb6246da4d4cb2b687c44d244f09.png

点击new添加,并把刚刚复制的顶层模块名粘贴进去,然后点击下面的...找到文件

b7cf4ab32b43404a938d747108913e65.png

按照之前的路径选择刚才编辑的vt文件,点击open打开

7f0aad641a614a71938f127251aa29c9.png

点击add进行添加后按ok确认

2ce7b44aaf5041749f521ca459952f4f.png

接着回到主页面,先点击三角形再编译一次,然后按照提示开始进行仿真

c45ef7f4e0504134857e1475f413c551.png

编辑器就会自动打开modelsim开始仿真并得到我们的波形

33ca0929b41b42078da4bd4861492f09.png

欢迎大家的讨论

 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/485339
推荐阅读
相关标签
  

闽ICP备14008679号