在時(shí)序電路設(shè)計(jì)中,建立時(shí)間/保持時(shí)間可以說(shuō)是出現(xiàn)頻率最高的幾個(gè)詞之一了,人們對(duì)其定義已經(jīng)耳熟能詳,對(duì)涉及其的計(jì)算(比如檢查時(shí)序是否正確,計(jì)算最大頻率等)網(wǎng)上也有很多。但拋開(kāi)這些表面,建立時(shí)間/保持時(shí)間到底是如何產(chǎn)生的,了解的人卻不是很多。本篇文章就透過(guò)現(xiàn)象看本質(zhì),打開(kāi)觸發(fā)器的“黑盒子”,來(lái)了解一下到底什么是建立時(shí)間/保持時(shí)間。
01
先來(lái)看一下建立時(shí)間/保持時(shí)間的定義:
建立時(shí)間(setup time):觸發(fā)器的時(shí)鐘信號(hào)上升沿到來(lái)以前,數(shù)據(jù)需要保持穩(wěn)定的時(shí)間。
保持時(shí)間(hold time):觸發(fā)器的時(shí)鐘信號(hào)上升沿到來(lái)之后,數(shù)據(jù)需要保持穩(wěn)定的時(shí)間。
值得注意的是,建立/保持時(shí)間的概念是針對(duì)觸發(fā)器的特性來(lái)說(shuō)的。但是不僅觸發(fā)器有建立/保持時(shí)間,鎖存器也有,而且觸發(fā)器的建立/保持時(shí)間還是基于鎖存器的特性得來(lái)的。為此,先來(lái)了解一下鎖存器。
圖1 鎖存器的符號(hào)表示
典型的鎖存器如圖1所示,包括三個(gè)端口:數(shù)據(jù)輸入端D,使能輸入端G和數(shù)據(jù)輸出端Q。當(dāng)使能端為高電平時(shí),輸出Q隨輸入D變化;當(dāng)使能端為低電平時(shí),輸出保持不變。鎖存器的時(shí)序如圖2所示。
圖2 鎖存器的時(shí)序特性
在使能端由高電平向低電平變化過(guò)程中,為了使鎖存器正確鎖存住數(shù)據(jù),需要對(duì)輸入數(shù)據(jù)的時(shí)間加以約束,因此便有了鎖存器的建立時(shí)間和保持時(shí)間,即圖2中的T_setup 和T_hold 。鎖存器的這兩個(gè)時(shí)序特性定義跟觸發(fā)器很相似,不同的是在鎖存器上這兩個(gè)時(shí)序約束條件發(fā)生在使能端由高電平向低電平轉(zhuǎn)化時(shí)。圖2中的T_dGQ為使能端到輸出端的延時(shí)。
鎖存器在使能信號(hào)為高電平時(shí)相當(dāng)于透明,而如何組合鎖存器,使其變成只在使能信號(hào)邊沿鎖存數(shù)據(jù)的觸發(fā)器呢?答案是兩個(gè)鎖存器串聯(lián)。如圖3(a)所示,串聯(lián)的前一個(gè)鎖存器使能端為低電平觸發(fā)(即反向使能),稱為主鎖存器,后一個(gè)鎖存器稱為從鎖存器。在clk為低電平時(shí),使能主鎖存器,主鎖存器的輸出信號(hào)m隨輸入d變化,此時(shí)因?yàn)閺逆i存器未被使能,所以輸出信號(hào)q無(wú)變化;在clk從低電平變?yōu)楦唠娖綍r(shí),m采樣輸入信號(hào)d并且保持,與此同時(shí)從鎖存器打開(kāi),輸出端輸出被主鎖存器鎖存的信號(hào)值。觸發(fā)器的符號(hào)表示如圖3(b)。
圖3 (a)兩個(gè)鎖存器組成的觸發(fā)器 (b)觸發(fā)器符號(hào)表示
為了進(jìn)一步了解主從鎖存器的工作原理,示例的波形圖如圖4所示。可以看到,當(dāng)clk為低時(shí),m跟隨d變化;當(dāng)clk由低變高,主鎖存器鎖存輸入值,中間m停止變化,此時(shí)從鎖存器打開(kāi),經(jīng)過(guò)一段延遲后將中間信號(hào)送至輸出。
圖4 兩個(gè)鎖存器組成的觸發(fā)器時(shí)序波形
為了不引起混淆,圖4在重畫(huà)的波形圖上給出觸發(fā)器的時(shí)序特性表示。其中T_dCQ為觸發(fā)器從clk端到Q端的延遲。需要注意的是,在clk上升后到Q端穩(wěn)定以前,Q端可能會(huì)變化多次,T_dCQ 則是取從clk變化到穩(wěn)定輸出之間的延遲。
圖5 觸發(fā)器的時(shí)序特性表示
鎖存器的時(shí)序特性和觸發(fā)器的時(shí)序特性該如何對(duì)應(yīng)呢?仔細(xì)一想就會(huì)得到答案:觸發(fā)器的建立時(shí)間和保持時(shí)間其實(shí)就是主鎖存器的建立時(shí)間和保持時(shí)間,而觸發(fā)器的clk到q端的延遲T_dCQ就是從鎖存器的延遲T_dGQ。
到這里我們已經(jīng)打開(kāi)了觸發(fā)器的第一層“黑盒子”,但是建立時(shí)間和保持時(shí)間究竟是如何產(chǎn)生的呢?這就需要打開(kāi)第二層“黑盒子”——觸發(fā)器的門(mén)電路表示。
02
構(gòu)成鎖存器的電路多種多樣,這里我們選擇使用傳輸門(mén)和三態(tài)門(mén)構(gòu)建的CMOS鎖存器,電路如圖6所示。
圖6 鎖存器電路
當(dāng)G為高電平時(shí),傳輸門(mén)Ug打開(kāi),信號(hào)從D端輸入,經(jīng)過(guò)Ug、U2、U4到達(dá)輸出端Q,此時(shí)三態(tài)反相器為關(guān)閉狀態(tài);當(dāng)G端變?yōu)榈碗娖綍r(shí),傳輸門(mén)關(guān)閉,U3打開(kāi),此時(shí)U2、U3構(gòu)成雙穩(wěn)態(tài)器件將輸入信號(hào)保持,輸出端Q也穩(wěn)定輸出雙穩(wěn)態(tài)器件保持的信號(hào)。
現(xiàn)在來(lái)探討鎖存器的建立時(shí)間和保持時(shí)間。在G為高電平時(shí),輸入D變化后為了能輸出正確的值,存儲(chǔ)器——即雙穩(wěn)態(tài)器件必須存儲(chǔ)到正確的輸入值。這意味著要想使輸出正確,在G下降前輸入值必須經(jīng)過(guò)U2。由此得出建立時(shí)間
T_setup = Tg + T2
其中Tg和T2分別為傳輸門(mén)和反相器U2的延遲。
當(dāng)G變?yōu)榈碗娖胶?,輸入值需要在傳輸門(mén)關(guān)閉之前保持不變,否則輸入值就會(huì)穿過(guò)傳輸門(mén),從而無(wú)法鎖存正確的值。傳輸門(mén)的關(guān)閉信號(hào)需要經(jīng)過(guò)U1,所以得出保持時(shí)間
T_hold = T1
其中T1為反相器U1的延遲。
接下來(lái)算一下T_dGQ。G由高變低后,G的變化經(jīng)過(guò)反相器U1到達(dá)傳輸門(mén)Ug,使傳輸門(mén)關(guān)閉,輸入的信號(hào)再經(jīng)過(guò)Ug、U2、U4到達(dá)輸出端。所以
T_dGQ = T1 + Tg + T2 + T4
從輸入端到輸出端,信號(hào)經(jīng)過(guò)了Ug、U2、U4,所以輸入到輸出的延遲
T_dDQ = Tg + T2 + T4
因?yàn)樵谟|發(fā)器中T_dDQ意義不大,所以在此也不做過(guò)多贅述。
有了單個(gè)鎖存器的基礎(chǔ),接下來(lái)進(jìn)行觸發(fā)器的探討也會(huì)變得容易很多。
03
由第一段分析可知,觸發(fā)器是由兩個(gè)鎖存器串聯(lián)而組成的,由傳輸門(mén)和三態(tài)反相器構(gòu)成的觸發(fā)器如圖7所示:
圖7 觸發(fā)器電路
可以看到在觸發(fā)器電路中,Ug1、U2、U3構(gòu)成了主鎖存器,Ug2、U4、U5構(gòu)成了主鎖存器。為了更直觀的展示觸發(fā)器的原理,將圖7中的時(shí)鐘信號(hào)用彩色的連線代替,得到圖8:
圖8 觸發(fā)器的原理圖的直觀表示
在圖8中,主鎖存器和從鎖存器分別用虛線框出,紅色連線為clk信號(hào),藍(lán)色連線為經(jīng)過(guò)反相器U1后的clk信號(hào)。
觸發(fā)器的建立時(shí)間和保持時(shí)間與主鎖存器的相同:
T_setup = Tg1 + T2
T_hold = T1
觸發(fā)器的clk到Q端延遲則為從鎖存器的延遲,分析方法與鎖存器的分析方法相同:
T_dCQ = T1 + Tg2 + T4
-
反相器
+關(guān)注
關(guān)注
6文章
311瀏覽量
43412 -
時(shí)序電路
+關(guān)注
關(guān)注
1文章
114瀏覽量
21723 -
鎖存器
+關(guān)注
關(guān)注
8文章
906瀏覽量
41563 -
門(mén)電路
+關(guān)注
關(guān)注
7文章
199瀏覽量
40207 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
2000瀏覽量
61258
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論