概述
Quartus 实现D触发器及仿真
文章目录
- Quartus 实现D触发器及仿真
- 1. D触发器
- 2. 创建D触发器[原理图](https://so.csdn.net/so/search?q=原理图&spm=1001.2101.3001.7020)并仿真
- 2.1创建工程
- 2.2新建原理图文件
- 2.3 编译
- 2.4仿真波形图
- 2.5 功能仿真
- 2.6 时序仿真
- 3. 调用D触发器并仿真
- 3.1 创建工程
- 3.2 新建原理图文件
- 3.3 编译
- 3.4 仿真波形图
- 4. 用Verilog语言实现D触发器及时序仿真
- 4.1 创建工程
- 4.2 新建Verilog HDL 文件
- 4.3 编译
- 4.4 仿真波形图
- 5. 总结
- 6. 参考资料
1. D触发器
D触发器是一个具有记忆功能的,具有两个稳定状态的信息存储器件,是构成多种时序电路的最基本逻辑单元,也是数字逻辑电路中一种重要的单元电路。
因此,D触发器在数字系统和计算机中有着广泛的应用。触发器具有两个稳定状态,即"0"和"1",在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态。
D触发器有集成触发器和门电路组成的触发器。触发方式有电平触发和边沿触发两种,前者在CP(时钟脉冲)=1时即可触发,后者多在CP的前沿(正跳变0→1)触发。
D触发器的次态取决于触发前D端的状态,即次态=D。因此,它具有置0、置1两种功能。
对于边沿D触发器,由于在CP=1期间电路具有维持阻塞作用,所以在CP=1期间,D端的数据状态变化,不会影响触发器的输出状态。
D触发器应用很广,可用做数字信号的寄存,移位寄存,分频和波形发生器等等。
方程
功能表
D | CLK | Q | QN |
---|---|---|---|
0 | 时钟上升沿 | 0 | 1 |
1 | 时钟上升沿 | 1 | 0 |
x | 0 | last Q | last QN |
x | 1 | last Q | last QN |
时序图
2. 创建D触发器原理图并仿真
2.1创建工程
File->New Project Wizard:
设置工程的存储位置和项目名称
选择空项目
没有要添加的文件,点击next
选择目标芯片:cycloneIVE系列的EP4CE115F29C7
EDA Tool Setting设置,直接点击next
检测项目信息,点击finish
此时界面上会出现顶层文件名和项目名:
2.2新建原理图文件
打开QuartusII,选菜单“File”一“New”,在弹出的“New-”对话框中选择“ Design Files” 的原理图文件编辑输入项“Block block diagram/schematic File"按"OK"后将打开原理图编辑窗。
点击按纽“ Symbol Tool”或直接双击原理图空白处,从“ Symbol”窗中选择
需要的符号,或者直接在“name”文本框中键入元件名
输入nand2,右边会出现对应的两输入的与非门,依次添加4个与门nand2、1个非门not、两个input、两个output
可以按ctrl+鼠标滚轮放大,更好连线
保存
2.3 编译
进行编译,若无错误则可进行下一步,若有错进行原理图修改。
查看硬件电路图:点击【Tools】→【Netlist Viewers】→【RTL Viewer】。
2.4仿真波形图
新建波形文件。如上面新建图形文件的方法,从“file”中选择“new”,然后从出现的对话框中选择“university program VWF”。
输入波形文件。在波形文件编辑器左端大片空白处双击,出现“insert node or bus”对话框,点击“node finder”按钮。如图。
然后在随后出现的“node finder”对话框中点击“list”按钮,则半加器中所有的输入输出引脚全部出现在对话框左边。再在该界面上点击“>>”,则把左边所有的端口都选择到右边,进入波形.
点击两次“OK”后,出现如图的波形文件。
编辑输入CLK,产生时钟信号
输入D设置低电平和高电平
保存文件:【File】→【Save】。
2.5 功能仿真
进行相关设置:
点击功能仿真编译按钮:
如果出现下面的错误
Tools -> Options -> General -> EDA Tool Options
仿真结果如下:
可以看到每次D输入发生变化时,在下一个上升沿Q输出会跟着发生变化。
2.6 时序仿真
点击时序仿真按钮会报错:
进行相关设置:
主界面Processing→Start→Start Fitter
无报错:
点击Start TimeQuest Timing Analyzer
无报错:
返回VMF界面,再次点击时序仿真按钮
输出变化延迟了一个时钟
3. 调用D触发器并仿真
3.1 创建工程
与上面创建工程一致
注意工程名不能与用到的器件名相同,如dff等。
3.2 新建原理图文件
方法同新建原理图文件一致
直接调用dff模块
加入输入输出
3.3 编译
保存并编译,然后查看原理图:
3.4 仿真波形图
具体步骤与2.4 仿真波形图相同。
结果如下:
功能仿真:
在下个上升沿输出改变。
时序仿真:
延后一个时钟周期。
4. 用Verilog语言实现D触发器及时序仿真
4.1 创建工程
与上面创建工程一致
4.2 新建Verilog HDL 文件
File→New→Verilog HDL File
编写代码:
module Vdcfq (D,CLK,Q);
input D;
input CLK;
output reg Q;
always @ (posedge CLK)//我们用正的时钟沿做它的敏感信号
begin
Q <= D;//上升沿有效的时候,把d捕获到q
end
endmodule
4.3 编译
硬件电路图
4.4 仿真波形图
功能仿真:
时序仿真:
与前面的波形相同。
5. 总结
第一种方式可以直接看到D触发器内部结构,清楚明了的了解触发器的原理。
第二种直接调用的方法十分的简单方便,但是只能通过名字知道它是什么,其内部对应我们来说是个黑盒,不利于了解其是实现的。
第三种Verilog语言编写,由我们写出D触发器的工作原理,软件直接生成器件。
通过这三种方法实现D触发器,我们可以发现D触发器的基本功能是输入发生改变后,在时钟上升沿时改变输出的信号。
6. 参考资料
Quartus II实现D触发器及时序仿真_WOOZI9600L²的博客-CSDN博客_quartus 时序图
最后
以上就是羞涩樱桃为你收集整理的Quartus 实现D触发器及仿真Quartus 实现D触发器及仿真的全部内容,希望文章能够帮你解决Quartus 实现D触发器及仿真Quartus 实现D触发器及仿真所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复