結構
D觸發器(data flip-flop或delay flip-flop)由4個
與非門組成,其中G1和G2構成基本RS觸發器。電平觸發的主從觸發器工作時,必須在正跳沿前加入輸入信號。如果在CP高電平期間輸入端出現干擾信號,那么就有可能使觸發器的狀態出錯。而邊沿觸發器允許在CP觸發沿來到前一瞬間加入輸入信號。這樣,輸入端受干擾的時間大大縮短,受干擾的可能性就降低了。邊沿D觸發器也稱為維持-阻塞邊沿D觸發器。邊沿D觸發器可由兩個D觸發器串聯而成,但第一個D觸發器的CP需要用非門反向。
工作原理
SD和RD接至基本RS觸發器的輸入端,它們分別是預置和清零端,低電平有效。當SD=1且RD=0時(SD的非為0,RD的非為1,即在兩個控制連線埠分別從外部輸入的電平值,原因是低電平有效),不論輸入端D為何種狀態,都會使Q=0,Q非=1,即觸發器置0;當SD=0且RD=1(SD的非為1,RD的非為0)時,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非。
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觸發器的路徑;該反饋線起到了使觸發器維持在1狀態和阻止觸發器變為0狀態的作用,故該反饋線稱為置1維持線,置0阻塞線。Q4為0時,將G3和G6封鎖,D端通往基本RS觸發器的路徑也被封鎖。Q4輸出端至G6反饋線起到使觸發器維持在0狀態的作用,稱作置0維持線;Q4輸出至G3輸入的反饋線起到阻止觸發器置1的作用,稱為置1阻塞線。因此,該觸發器常稱為維持-阻塞觸發器。
總之,該觸發器是在CP正跳沿前接受輸入信號,正跳沿時觸發翻轉,正跳沿後輸入即被封鎖,三步都是在正跳沿後完成,所以有邊沿觸發器之稱。與主從觸發器相比,同工藝的邊沿觸發器有更強的抗干擾能力和更高的工作速度。 /span>。由基本RS觸發器的邏輯功能可知,Q=Q3非=D。
特徵
1)功能表
D | CLK | Q | QN |
---|
0 | 時鐘上升沿 | 0 | 1 |
1 | 時鐘上升沿 | 1 | 0 |
× | 0 | last Q | last QN |
× | 1 | last Q | last QN |
2)方程
3)時序圖
4.
脈衝特性
1)建立時間
由於CP信號是加到門G3和G4上的,因而在CP上升沿到達之前門G5和G6輸出端的狀態必須穩定地建立起來。輸入信號到達D端以後,要經過一級門電路的傳輸延遲時間G5的輸出狀態才能建立起來,而G6的輸出狀態需要經過兩級門電路的傳輸延遲時間才能建立,因此D端的輸入信號必須先於CP的上升沿到達,而且建立時間應滿足:tset≥2tpd。
2)保持時間
為實現邊沿觸發,應保證CP=1期間門G5的輸出狀態不變,不受D端狀態變化的影響。為此,在D=0的情況下,當CP上升沿到達以後還要等門G3輸出的低電平返回到門G5的輸入端以後,D端的低電平才允許改變。因此輸入低電平信號的保持時間為tHL≥tpd。在D=1的情況下,由於CP上升沿到達後G4的輸出將G3封鎖,所以不要求輸入信號繼續保持不變,故輸入高電平信號的保持時間tHH=0。
3)傳輸延遲時間
從CP上升沿到達時開始計算,輸出由高電平變為低電平的傳輸延遲時間tPHL和由低電平變為高電平的傳輸延遲時間tPLH分別是:tPHL=3tpdtPLH=2tpd。
4)最高
時鐘頻率:為保證由門G1~G4組成的同步RS觸發器能可靠地翻轉,CP高電平的持續時間應大於 tPHL,所以
時鐘信號高電平的寬度tWH應大於tPHL。而為了在下一個CP上升沿到達之前確保門G5和G6新的
輸出電平得以穩定地建立,CP低電平的持續時間不應小於門G4的
傳輸延遲時間和tset之和,即時鐘信號低電平的寬度tWL≥tset+tpd。
在實際集成觸發器中,每個門傳輸時間是不同的,並且作了不同形式的簡化,因此上面討論的結果只是一些定性的物理概念。其真實參數由實驗測定。
在考慮建立保持時間時,應該考慮
時鐘樹向後偏斜的情況,在考慮建立時間時應該考慮時鐘樹向前偏斜的情況。在進行後仿真時,最大延遲用來檢查建立時間,最小延時用來檢查保持時間。
建立時間的約束和
時鐘周期有關,當系統在高頻時鐘下無法工作時,降低
時鐘頻率就可以使系統完成工作。保持時間是一個和時鐘周期無關的參數,如果設計不合理,使得布局布線工具無法布出高質量的時鐘樹,那么無論如何調整時鐘頻率也無法達到要求,只有對所設計系統作較大改動才有可能正常工作,導致設計效率大大降低。因此合理的設計系統的時序是提高設計質量的關鍵。在可程式器件中,
時鐘樹的偏斜幾乎可以不考慮,因此保持時間通常都是滿足的。
5.
語言設計
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@(posedgeclk or posedge r or posedge s)
begin
if(r) q<=1'b0;
else if(s) q<=1'b1;
else q<=d;
end
endmodule
d觸發器晶片有:
雙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 觸發器