前言

1.写的人真的是个菜鸡,欢迎在评论区讨论相关细节
2.这个时候写篇博客也就是给没写的同学救救急用
3.这篇博客不包含作业的代码,仅仅涉及Quartus的安装**和编写testbench的流程步骤

Quartus和Modelsim的安装

这两个软件的安装确实比较头疼,两篇安装博客如下

Modelsim 的安装https://blog.csdn.net/he__yuan/article/details/80560064
Quartus13.0 的安装 https://blog.csdn.net/qq_18649781/article/details/81025650
(多谢胡铂)

以下教程都以上面链接的版本为准

配置环境

Quartus是一个编写电路的软件
Modelsim是一个仿真模拟的软件

所以是在Quartus里面写代码(电路代码和testbench代码),然后丢到modelsim里面仿真

安装好这两个软件之后,进去以后应该是这样
数字逻辑作业非技术教程
(出现device问题的我就不管了,上面安装quartus的教程里面已经说的比较详细了)

点一下创建项目

数字逻辑作业非技术教程
第一个选择你的项目的地址
第二个和第三个默认是填一样的,这里建议就直接填你要设计的电路的实体名称,比如第5题,你干脆就写and_gate_4(好像还不能数字开头)
然后点next

数字逻辑作业非技术教程
然后他让你Add files, 别理他
next

数字逻辑作业非技术教程
这个地方好像是让你选板子(我也不知道),反正开始这个默认的是不行的,换成Cyclone 2

数字逻辑作业非技术教程
next
数字逻辑作业非技术教程
EDA 工具设定要改一下,把仿真的设置换成我们安装的modelsim并且把语言换成VHDL
next之后是一张总结(Summary),然后finish。

写作业

设置好了之后就进入项目页面了
数字逻辑作业非技术教程
作业里面涉及到写VHDL和画原理图

VHDL

点击new
数字逻辑作业非技术教程
在Design Files里面最后一个就是新建VHDL文件
数字逻辑作业非技术教程

原理图

一样先new
数字逻辑作业非技术教程
Design Files下面第二个就是Block Diagram/ Schematic File
新建完之后是这样的
数字逻辑作业非技术教程
原理图讲道理比VHDL好玩一点,就是搭积木,双击原理图的任意位置
数字逻辑作业非技术教程
然后定位到这个目录,写作业要用的原件基本都在这个目录里面
数字逻辑作业非技术教程
记住要用的原件之后也可以直接在下面的name里面输入
添加完原件之后就是连线了,真没啥可说的,这块我就不截图了

编译

无论你写的是啥(VHDL还是原理图),写完了编译按这个数字逻辑作业非技术教程
报错的话,一般是上课没好好听讲,代码问题,或者前面没好好看,起的实体名称跟项目名称不一样

编译完成之后应该是这样
数字逻辑作业非技术教程
放错图了。。。。应该是这样数字逻辑作业非技术教程

到这其实作业就算写完了,后面是仿真检验写的作业是不是对的

仿真

testbench配置

首先看看assignments下的settings的Simulation,设定是不是跟下图一样数字逻辑作业非技术教程
不是就改改
然后下一步要告诉Quartus我们的Modelsim安装在哪
点开Tools下的option(比较靠下)
数字逻辑作业非技术教程
把modelsim的地址填上(Altera那个是我开始乱填的,不用管),但是如果你用的是altera就把altera的地址填上

编写testbench

我是肯定不会教testbench怎么写的(我也不会)
但是Quartus比较贴心,可以一键生成模板
点击Processing下的start,在右边延伸出来的选项卡中选择start Testbench template writer
生成完了之后会弹出一个成功的提示框

生成的testbench模板不会自动打开(沙雕设计),要手动打开
点击openfile(在new旁边),然后再simulation下的modelsim目录底下找到这个文件(后缀vht,要是vt则表示前面Assignments没设定好)
数字逻辑作业非技术教程
打开之后是这样的
数字逻辑作业非技术教程
在注释–code that executes only once的下面一行写testbench就行

仿真

写完了testbench还不能直接就RTL Simulation
还得配置
首先先把写好的testbench包含进文件:project–>add current file to project
数字逻辑作业非技术教程
包含完了之后
让Quartus编译testbench
打开assignments下的settings
数字逻辑作业非技术教程
把NativeLink settings的编译testbench选中,然后把你的testbench放进去
点一下右边的Test Benches…
数字逻辑作业非技术教程

点一下new数字逻辑作业非技术教程
然后点一下File name 右边的
数字逻辑作业非技术教程
把你的testbench打开,然后add
数字逻辑作业非技术教程
然后给你的testbench再起个名字。。。。(我也不知道为啥要有那么多名字)
然后一路OK回去,最后apply
然后点一下那个编译按钮

最后一步仿真

点一下RTL simulation
数字逻辑作业非技术教程
介个

然后modelsim会跑一会,等到他左下角的状态栏不再闪了之后
选中工作目录中你写的testbench
数字逻辑作业非技术教程
然后鼠标右键,模拟它(simulate)数字逻辑作业非技术教程
然后选中右下窗口的所有信号(按住shift鼠标左键)然后鼠标右键选择add to->wave ->selected signals
数字逻辑作业非技术教程
数字逻辑作业非技术教程
上图的蓝圈表示模拟的时间长度,红圈表示开始模拟
选好时长点击run,应该就会产生你testbench里面写好的波形,通过观察输出判断你的电路写对了没
数字逻辑作业非技术教程
Tips:按I可以放大,O可以缩小

原理图的仿真

原理图的仿真稍微麻烦一点,因为modelsim等第三方仿真软件不支持原理图这种输入形式,所以要把原理图文件转换成vhdl才能仿真

打开原理图(手动打码)数字逻辑作业非技术教程

选择左边file->creat/update ->creat HDL file for current design数字逻辑作业非技术教程
ok,创建VHDL文件

生成成功之后,要把原理图文件从当前项目中去除,把由原理图文件生成的VHDL文件包含进来
点击project->add/remove files in project
数字逻辑作业非技术教程
把bdf文件移除,然后把生成的vhdl文件包含进来
数字逻辑作业非技术教程
后面就跟对vhdl文件进行仿真的操作一样了,可以参考前面的流程。

祝大家都能按时交作业吧

相关文章:

  • 2022-01-07
  • 2021-11-27
  • 2022-12-23
  • 2021-08-16
  • 2021-06-08
  • 2022-01-06
  • 2021-04-25
  • 2022-01-24
猜你喜欢
  • 2021-10-26
  • 2022-02-25
  • 2021-10-23
  • 2021-08-10
  • 2021-11-26
  • 2022-02-18
  • 2021-11-27
相关资源
相似解决方案