結構
D觸發器(dataflip-flop或delayflip-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、建立時間
由于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。
在實際集成觸發器中,每個門傳輸時間是不同的,并且作了不同形式的簡化,因此上面讨論的結果隻是一些定性的物理概念。其真實參數由實驗測定。
在考慮建立保持時間時,應該考慮時鐘樹向後偏斜的情況,在考慮建立時間時應該考慮時鐘樹向前偏斜的情況。在進行後仿真時,最大延遲用來檢查建立時間,最小延時用來檢查保持時間。
建立時間的約束和時鐘周期有關,當系統在高頻時鐘下無法工作時,降低時鐘頻率就可以使系統完成工作。保持時間是一個和時鐘周期無關的參數,如果設計不合理,使得布局布線工具無法布出高質量的時鐘樹,那麼無論如何調整時鐘頻率也無法達到要求,隻有對所設計系統作較大改動才有可能正常工作,導緻設計效率大大降低。因此合理的設計系統的時序是提高設計質量的關鍵。在可編程器件中,時鐘樹的偏斜幾乎可以不考慮,因此保持時間通常都是滿足的。
語言設計
使用VHDL語言設計D觸發器
LIBRARYieee;
USEieee.std_logic_1164.all;
ENTITYdflipflopIS
PORT(D,C:INSTD_LOGIC;
Q:OUTSTD_LOGIC);
ENDdflipflop;
ARCHITECTUREBehaviorOFdflipflopIS
BEGIN
PROCESS(C)
BEGIN
IFC'EVENTANDC='1'THEN
Q<=D;
ENDIF;
ENDPROCESS;
ENDBehavior;
使用VerilogHDL語言實現D觸發器(帶R、S端)
//門級
modulecfq(s,r,d,clk,q,qbar);
inputs,r,d,clk;
outputq,qbar;
wirena1,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
或
//行為級
moduledff_rs_async(clk,r,s,d,q);
inputclk,r,s,d;
outputq;
regq;
always@(posedgeclkorposedgerorposedges)
begin
if(r)q<=1'b0;
elseif(s)q<=1'b1;
elseq<=d;
end
endmodule
d觸發器芯片有:
雙D觸發器74LS74
74LS364八D觸發器(三态)
7474、74H74、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觸發器