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