文章目录
一、认识D触发器
D触发器是一个具有记忆功能的,具有两个稳定状态的信息存储器件,是构成多种时序电路的基本逻辑单元,也是数字逻辑电路中的一种重要的单元电路。
二、在Quartus-II中自己用门电路设计一个D触发器及仿真
(一)创建工程
- File->New Project Wizard
- 填写工程名称
- 选择芯片系列及类型
- 一直点next直到完成
(二)创建方框文件
- 选择new,选择Block Diagram/Schematic File
- 选择nand2和not,依次添加四个nand2和一个非门not
- 选择连线工具
- 最终效果图
- 保存
(三)编译原理图文件
-
选择编译
-
选择Tools->Netlist Viewers->RTL Viewer
-
硬件电路图
(四)创建vwm格式波形文件 -
new->University Program VWF
-
选择Edit->Insert->Insert Node or Bus
-
添加Node or Bus
-
效果图
-
选中CLK,产生时钟信号
-
选择D,Q信号Q1,进行编辑
双击对应部分,对value进行修改
(五)时序波形仿真
点击时序仿真,仿真结果如下
三、在Quartus-II中直接调用一个D触发器及仿真
(一)创建工程
过程如上
(二)创建方框文件
- 调用D触发器
- 效果图
(三)编译原理图文件 - 编译
- 查看硬件电路图
(四)创建vwm格式波形文件并进行时序仿真 - 创建vwm文件
- 编辑波形
- 时序仿真结果
四、在Quartus-II中用Verilog语言写一个D触发器及仿真
(一)创建工程
方法如上
(二)编写Verilog文件
-
new->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
- 保存并编译
(三)查看生成的电路图
(四)利用Verilog语言编写测试代码并进行时序仿真
- 测试代码
//测试代码
`timescale 1ns / 1ns
module dwave_tb;
reg clk,d;
wire q;
dwave u1(.d(d),.clk(clk),.q(q));
initial
begin
clk = 1;
d <= 0;
forever
begin
#60 d <= 1;//人为生成毛刺
#22 d <= 0;
#2 d <= 1;
#2 d <= 0;
#16 d <= 0;//维持16ns的低电平,然后让它做周期性的循环
end
end
always #20 clk <= ~clk;//半周期为20ns,全周期为40ns的一个信号
endmodule
- 仿真效果
五、参考
Quartus-II13.1三种方式实现D触发器及时序仿真
Modelsim SE版本的安装及使用方法
Quartus-II实现D触发器的三种方式