如愿
一、Quartus-II
1.1 介绍
- Quartus II 是Altera公司推出的综合性CPLD/FPGA开发软件,软件支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware 支持Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
1.2 使用版本
Quartus-II 13.1
1.3 安装教程
二、Modelsim
2.1 介绍
- Mentor公司的ModelSim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业界唯一的单内核支持VHDL和Verilog混合仿真的仿真器。它采用直接优化的编译技术、Tcl/Tk技术、和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段,是FPGA/ASIC设计的首选仿真软件。
2.2 主要特点
- RTL和门级优化,本地编译结构,编译仿真速度快,跨平台跨版本仿真;
- 单内核VHDL和Verilog混合仿真;
- 源代码模版和助手,项目管理;
- 集成了性能分析、波形比较、代码覆盖、数据流ChaseX、Signal Spy、虚拟对象Virtual Object、Memory窗口、Assertion窗口、源码窗口显示信号值、信号条件断点等众多调试功能;
- C和Tcl/Tk接口,C调试;
- 对SystemC的直接支持,和HDL任意混合;
- 支持SystemVerilog的设计功能;
- 对系统级描述语言的最全面支持,SystemVerilog,SystemC,PSL;
- ASIC Sign off。
- 可以单独或同时进行行为(behavioral)、RTL级、和门级(gate-level)的代码。
2.3 使用版本
Modelsim SE-64 10.4
2.4 安装教程
三、D触发器
3.1 结构
3.2 工作原理
SD和RD接至基本RS触发器的输入端,它们分别是预置和清零端,低电平有效。当SD=1且RD=0时(SD的非为0,RD的非为1,即在两个控制端口分别从外部输入的电平值,原因是低电平有效),不论输入端D为何种状态,都会使Q=0,Q非=1,即触发器置0;当SD=0且RD=1(SD的非为1,RD的非为0)时,Q=1,Q非=0,触发器置1,SD和RD通常又称为直接置1和置0端。我们设它们均已加入了高电平,不影响电路的工作。
3.3 功能表
四、D触发器原理图并仿真
-
点击new project wizard创建新工程
-
选择保存路径,以及确定项目名和顶层设计名
-
下个界面直接点击next
-
这里选择EP4CE115C7芯片
-
接下来一路next就行,最后点击finish
-
点击file -> new,选择框出来的
-
点击小插头符号,进入元器件选择
-
原理图如下,看着器件在元器件那里搜索就行了
-
然后点击上面的紫色小箭头进行编译,有些警告没什么,只要没有红色的错误就能过
-
选择新建文件,选择VWF文件
-
点击旁边的空白处,会出现插入界面,再点击node finder
-
进去之后选择pin all,点击list,再点击>>就会将发现的引脚全部选上,最后选择OK
-
选中clk信号,再点击上面带有钟表的图标,生成时钟信号
-
选中D信号的一段,用上面的0和1来控制取值
-
这里调好之后还不能进行仿真,需要设置一下,选择第二个
-
这里需要选择下载modelsim里exe文件的路径,下面输出路径需要这样选择,然后点击start complication
-
编译完了之后返回波形图文件,选择第二个箭头进行仿真,结果如下
五、调用D触发器仿真
- 这里创建工程的步骤都是一样的,也一样需要先创建一个内部原理图,直接点击那个小插头,搜索dff
- 最后的电路如下
- 然后一样的创建vwf文件,clk信号和D输入信号也是一样的调整,波形仿真也是一样的步骤,结果如下
六、verilog实现D触发器
- 依旧创建新项目,不过这里创建的文件就不一样了,这里需要创建的是Verilog HDL File文件
- 写入代码
//Dwave是文件名
module Dwave(d,clk,q);
input d;
input clk;
output q;
reg q;
always @ (posedge clk)//我们用正的时钟沿做它的敏感信号
begin
q <= d;//上升沿有效的时候,把d捕获到q
end
endmodule
- 然后编译之后也是波形仿真,下面为仿真的结果
七、总结
- 这三个波形图仿真的结果都是一致的,说明三种方式都可以,但如果复杂起来,电路图将会越来越复杂,后面应该用代码的形式会更多。