前言
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文件进行仿真的操作一样了,可以参考前面的流程。
祝大家都能按时交作业吧