目录
- 一、D触发器简介
- 1、简介
- 2、时序图
- 二、创建D触发器原理图仿真
- 1、工程创建
- 2、新建原理图
- 3、编译
- 4、波形图仿真
- 5、功能仿真
- 6、时序仿真
- 三、调用D触发器仿真
- 1、创建工程
- 2、新建原理图
- 3、编译
- 4、波形图仿真
- 四、Verilog实现D触发器仿真
- 1、新建工程
- 2、新建Verilog HDL 文件
- 3、编译
- 4、波形图仿真
- 五、总结
- 六、参考
一、D触发器简介
1、简介
- D触发器是一个具有记忆功能的,具有两个稳定状态的信息存储器件,是构成多种时序电路的最基本逻辑单元,也是数字逻辑电路中一种重要的单元电路。
- D触发器在数字系统和计算机中有着广泛的应用。触发器具有两个稳定状态,即"0"和"1",在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态。
- D触发器有集成触发器和门电路组成的触发器。触发方式有电平触发和边沿触发两种,前者在CP(时钟脉冲)=1时即可触发,后者多在CP的前沿(正跳变0→1)触发。
- D触发器的次态取决于触发前D端的状态,即次态=D。因此,它具有置0、置1两种功能。对于边沿D触发器,由于在CP=1期间电路具有维持阻塞作用,所以在CP=1期间,D端的数据状态变化,不会影响触发器的输出状态。
- D触发器应用很广,可用做数字信号的寄存,移位寄存,分频和波形发生器等等
2、时序图
二、创建D触发器原理图仿真
1、工程创建
创建新项目
设置储存位置及文件名
芯片:cycloneIVE系列的EP4CE115F29C7
中间省略步骤选择next或者finish,没有特殊设置
2、新建原理图
原理图编辑窗口
元件设置
三种选择方法:
- 点击按纽“ Symbol Tool
- 双击原理图空白处,从“ Symbol”窗中选择需要的符号
- 直接在“name”文本框中键入元件名
添加元件
输入:
- nand2:生成两输入与非门(4个)
- not:生成非门(1个)
- input:生成输入(2个)
- output:生成输出(2个)
注意此处大写命名输入为D和CLK,输出为Q和Q1
元件链接
1、可通过Ctrl+加鼠标滚轮放大方便链接
2、链接完成后另存为已有的db文件夹
3、链接完成无X标识
3、编译
编译
硬件电路图查看
4、波形图仿真
新建波形文件
打开方法与新建图形相同
输入波形文件
波形文件编辑器左端大片空白处双击点击“node finder”按钮
进入波形文件
点击list
按钮,则半加器中所有的输入输出引脚全部出现在对话框左边。
再在该界面上点击>>
,则把左边所有的端口都选择到右边
点击两次OK
进入波形
编辑波形
编辑CLK,产生时钟信号
输入D设置低电平和高电平
选中D随意长度随意段数进行变化
注意保存文件使用默认路径
5、功能仿真
仿真设置
功能仿真
**结果分析:**每次D输入发生变化时,在下一个上升沿Q输出会跟着发生变化
6、时序仿真
开启时序仿真
VMF界面,点击时序仿真按钮
结果分析: 输出变化延迟了一个时钟
三、调用D触发器仿真
1、创建工程
与前文新建工程相同
2、新建原理图
与前文新建原理图相同
直接应用dff模块
设计的原理图
3、编译
保存并进行编译
查看电路图
4、波形图仿真
与前文波形图仿真相同
时序仿真:
结果分析: 延后一个时钟周期
功能仿真:
结果分析: 在下个上升沿输出改变
四、Verilog实现D触发器仿真
1、新建工程
与前文新建工程相同
2、新建Verilog HDL 文件
与前文新建相似
代码编写:
module DThree (D,CLK,Q);
input D;
input CLK;
output reg Q;
always @ (posedge CLK)//我们用正的时钟沿做它的敏感信号
begin
Q <= D;//上升沿有效的时候,把d捕获到q
end
endmodule
注意代码中模块名与文件名相同
3、编译
保存并编译
查看电路图
4、波形图仿真
与前文波形图仿真相同
功能仿真:
结果分析: D输入发生变化时,在下一个上升沿Q输出会跟着发生变化
时序仿真:
结果分析: 输出变化延迟了一个时钟
五、总结
- 第一种设计D触发器实现,了解了触发器内部原理以及内部的结果
- 第二种调用D触发器,方便实现需求功能,但原理了解不足
- 第三种通过Verilog编程实现,是通过软件编程实现,也了解了原理
- 本次验证了三种方式实现触发器并实现仿真