标题：D触发器
简介
  边沿D 触发器
电平触发的主从触发器工作时，必须在正跳沿前加入输入信号。如果在CP 高电平期间输入端出现干扰信号，那么就有可能使触发器的状态出错。而边沿触发器允许在CP 触发沿来到前一瞬间加入输入信号。这样，输入端受干扰的时间大大缩短，受干扰的可能性就降低了。边沿D触发器也称为维持-阻塞边沿D触发器。
英文全称为data flip-flop或delay flip-flop。
电路结构
该触发器由6个与非门组成，其中G1和G2构成基本RS触发器。
工作原理
SD 和RD 接至基本RS 触发器的输入端，它们分别是预置和清零端，低电平有效。当/SD=1且/RD=0时,不论输入端D为何种状态，都会使Q=0，Q非=1，即触发器置0；当/SD=0且/RD=1时，Q=1，Q非=0，触发器置1,SD和RD通常又称为直接置1和置0端。我们设它们均已加入了高电平，不影响电路的工作。工作过程如下：
1.CP=0时，与非门G3和G4封锁，其输出Q3=Q4=1，触发器的状态不变。同时，由于Q3至Q5和Q4至Q6的反馈信号将这两个门打开，因此可接收输入信号D，Q5=D，Q6=Q5非=D非。  D触发器原理2.当CP由0变1时触发器翻转。这时G3和G4打开，它们的输入Q3和Q4的状态由G5和G6的输出状态决定。Q3=Q5非=D非，Q4=Q6非=D。由基本RS触发器的逻辑功能可知，Q=Q3非=D。
3.触发器翻转后，在CP=1时输入信号被封锁。这是因为G3和G4打开后，它们的输出Q3和Q4的状态是互补的,即必定有一个是0，若Q3为0，则经G3输出至G5输入的反馈线将G5封锁，即封锁了D通往基本RS 触发器的路径；该反馈线起到了使触发器维持在0状态和阻止触发器变为1状态的作用,故该反馈线称为置0维持线,置1阻塞线。Q4为0时，将G3和G6封锁，D端通往基本RS触发器的路径也被封锁。Q4输出端至G6反馈线起到使触发器维持在1状态的作用，称作置1维持线；Q4输出至G3输入的反馈线起到阻止触发器置0的作用,称为置0阻塞线。因此，该触发器常称为维持-阻塞触发器。总之，该触发器是在CP正跳沿前接受输入信号，正跳沿时触发翻转，正跳沿后输入即被封锁,三步都是在正跳沿后完成，所以有边沿触发器之称。与主从触发器相比,同工艺的边沿触发器有更强的抗干扰能力和更高的工作速度。功能描述
特征
1.特征表
  
2.特征方程
Qn+1=D
3.时序图
  波形图(CP,D,Q)
脉冲特性
1.建立时间:由图7.8.4维持阻塞触发器的电路可见,由于CP信号是加到门G3和G4上的,因而在CP上升沿到达之前门G5和G6输出端的状态必须稳定地建立起来。输入信号到达D端以后，要经过一级门电路的传输延迟时间G5的输出状态才能建立起来,而G6的输出状态需要经过两级门电路的传输延迟时间才能建立,因此D端的输入信号必须先于CP的上升沿到达，而且建立时间应满足： tset≥2tpd。
2.保持时间：由图7.8.1可知，为实现边沿触发,应保证CP=1期间门G5的输出状态不变,不受D端状态变化的影响。为此，在D=0的情况下，当CP上升沿到达以后还要等门G3输出的低电平返回到门G5的输入端以后,D端的低电平才允许改变。因此输入低电平信号的保持时间为tHL≥tpd。在 D=1的情况下，由于CP上升沿到达后G4的输出将G3封锁，所以不要求输入信号继续保持不变,故输入高电平信号的保持时间tHH=0。
3.传输延迟时间：由图7.8.3不难推算出，从CP上升沿到达时开始计算,输出由高电平变为低电平的传输延迟时间tPHL和由低电平变为高电平的传输延迟时间tPLH分别是:tPHL=3tpd tPLH=2tpd  D触发器4.最高时钟频率：为保证由门G1～G4组成的同步RS触发器能可靠地翻转，CP高电平的持续时间应大于 tPHL,所以时钟信号高电平的宽度tWH应大于tPHL。而为了在下一个CP上升沿到达之前确保门G5和G6新的输出电平得以稳定地建立，CP低电平的持续时间不应小于门G4的传输延迟时间和tset之和，即时钟信号低电平的宽度tWL≥tset+tpd，因此得到:
最后说明一点，在实际集成触发器中，每个门传输时间是不同的，并且作了不同形式的简化，因此上面讨论的结果只是一些定性的物理概念。其真实参数由实验测定。
z 在考虑建立保持时间时，应该考虑时钟树向后偏斜的情况，在考虑建立时间时应该考虑时钟树向前偏斜的情况。在进行后仿真时，最大延迟用来检查建立时间，最小延时用来检查保持时间。  D触发器z 建立时间的约束和时钟周期有关，当系统在高频时钟下无法工作时，降低时钟频率就可以使系统完成工作。保持时间是一个和时钟周期无关的参数，如果设计不合理，使得布局布线工具无法布出高质量的时钟树，那么无论如何调整时钟频率也无法达到要求，只有对所设计系统作较大改动才有可能正常工作，导致设计效率大大降低。因此合理的设计系统的时序是提高设计质量的关键。在可编程器件中，时钟树的偏斜几乎可以不考虑，因此保持时间通常都是满足的。
VHDL语言设计
使用VHDL语言设计D触发器
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY dflipflop IS
PORT (D,C : IN STD_LOGIC;
Q : OUT STD_LOGIC);
END dflipflop;
ARCHITECTURE Behavior OF dflipflop IS
BEGIN
PROCESS( C )
BEGIN
IF C'EVENT AND C='1' THEN
Q<=D;
END IF;
END PROCESS;
END Behavior;
使用Verilog HDL语言实现D触发器（带R、S端）
//门级
module cfq(s,r,d,clk,q,qbar);
input s,r,d,clk;
output q,qbar;
wire na1,na2,na3,na4;
nand
nand1(na1,s,na4,na2),
nand2(na2,r,na1,clk),
nand3(na3,na2,clk,na4),
nand4(na4,na3,r,d),
nand5(q,s,na2,qbar),
nand6(qbar,q,r,na3);
endmodule
或
//行为级
module dff_rs_async(clk,r,s,d,q);
input clk,r,s,d;
output q;
reg q;
always@(posedge clk or posedge r or posedge s)
begin
if(r) q<=1'b0;
else if(s) q<=1'b1;
else q<=d;
end
endmodule
d触发器芯片有:
74HC74 74LS90 双D触发器74LS74 
74LS364八D触发器（三态） 
7474、74 H74、74F74、74ALS74、74L74、74LS74A、74S74、74HC73、74C74双D型正沿触发器（带预置和清除端）
74174、74LS174、74F174、74ALS174、74S174、74HC174、74C174　六D型触发器（带清除端）
74175、74LS175、74F175、74ALS175、74S175、74HC175、74C175 四D型触发器（带清除端）
74273、74LS273、74S273、74F273、74ALS273、74HC273 八D型触发器（带清除端）
74LS377、74F377、74S3777　八D 触发器
74LS378、74F378、74S378、74HC378　六D 触发器
74LS379、74F379、74S379、74HC379八D 触发器