文章目录
一、软件准备
Quartus II 18.1
Modelsim
破解说明
cycloneⅣ器件包请各位自己寻找Quartus Ⅱ18.1 cyconeⅣ的,阿里云盘暂不支持分享此类文件
二、认识D触发器
D触发器是一个具有记忆功能的,具有两个稳定状态的信息存储器件,是构成多种时序电路的最基本逻辑单元,也是数字逻辑电路中一种重要的单元电路。
因此,D触发器在数字系统和计算机中有着广泛的应用。触发器具有两个稳定状态,即"0"和"1",在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态。
D触发器有集成触发器和门电路组成的触发器。触发方式有电平触发和边沿触发两种,前者在CP(时钟脉冲)=1时即可触发,后者多在CP的前沿(正跳变0→1)触发。
D触发器的次态取决于触发前D端的状态,即次态=D。因此,它具有置0、置1两种功能。
对于边沿D触发器,由于在CP=1期间电路具有维持阻塞作用,所以在CP=1期间,D端的数据状态变化,不会影响触发器的输出状态。
D触发器应用很广,可用做数字信号的寄存,移位寄存,分频和波形发生器等等。
方程
功能表
时序图
三、创建D触发器原理图并仿真
2.1 创建工程
直接next
选择目标芯片:cycloneIV E系列的EP4CE115F29C7
直接next
finish
2.2 新建原理图文件
打开QuartusII,选菜单“File”一“New”,在弹出的“New-”对话框中选择“ Design Files” 的原理图文件编辑输入项“Block block diagram/schematic File"按"OK"后将打开原理图编辑窗。
点击按纽“ Symbol Tool”或直接双击原理图空白处,从“ Symbol”窗中选择
需要的符号,或者直接在“name”文本框中键入元件名
或
4 个 nand2 与非门,1 个 not 非门,2个输入管脚和2个输出管脚,并连线,最终如下图:
双击输入输出管脚将其名称改为D、clk、Q、Q1(屏幕分辨率问题,博主的截图可能显示不全)
保存文件
2.3 编译
进行编译,若无错误则可进行下一步,若有错进行原理图修改。
编译成功
查看硬件电路图:点击【Tools】→【Netlist Viewers】→【RTL Viewer】。
如图所示:
2.4仿真波形图
新建波形文件 选择“university program VWF”。
输入波形文件。在波形文件编辑器左端大片空白处双击,出现“insert node or bus”对话框,点击“node finder”按钮。
然后在随后出现的“node finder”对话框中点击“list”按钮,则半加器中所有的输入输出引脚全部出现在对话框左边。再在该界面上点击“>>”,则把左边所有的端口都选择到右边,进入波形.
编辑输入CLK,产生时钟信号
输入D设置低电平和高电平
首先选中一段D的波形,然后点击如图按钮即可
保存文件
2.5 功能仿真
点击功能仿真编译按钮:
可以看出D发生变化时,Q总是延迟到下一个时钟上升沿才开始变化
2.6 时序仿真
点击时序仿真按钮
此时会产生报错
进行相关设置:
未产生报错
此时再点击时序仿真按钮
可以看出输出变化延时了一个时钟周期
三、 调用D触发器并仿真
3.1 创建工程
与上面创建工程一致
注意工程名不能与用到的器件名相同,如dff等。
3.2 新建原理图文件
方法同新建原理图文件一致
直接调用dff模块
加上输入输出(记得改名字)
3.3 编译
保存编译并查看原理图
3.4 仿真调控
具体步骤与上述仿真相同
设计波形如下
功能仿真:
依旧在下个时钟上升沿输出发生变化
时序仿真
输出依旧延时一个时钟周期
四、用Verilog语言实现D触发器及时序仿真
4.1 创建工程
与上面创建工程一致
4.2 新建Verilog HDL 文件
添加以下代码
module Dwave3 (D,CLK,Q);
input D;
input CLK;
output reg Q;
always @ (posedge CLK)//我们用正的时钟沿做它的敏感信号
begin
Q <= D;//上升沿有效的时候,把d捕获到q
end
endmodule
注意顶层模块名字必须和文件名相同 否则会产生报错 因为博主的模块名为Dwave3
编译运行
原理图如下:
4.3 仿真
功能仿真:
输出在下个时钟上升沿开始变化
时序仿真:
输出延时一个时钟周期
五、 总结
本次实验分别采用设计电路,调用触发器以及Verilog语言编写三种方式实现了D触发器,帮助我加深了对D触发器的理解,同时也算是Verilog语言的入门练习并且学会了Quartus Ⅱ和Modelsim的初步使用。
六、参考资料
https://blog.csdn.net/weixin_46129506/article/details/123443865
https://blog.csdn.net/jynyyhd/article/details/127773217