為什麼會有建立時間setup和保持時間hold要求

2021-10-06 02:29:45 字數 1615 閱讀 8210

要知道為什麼會有setup、hold要求,首先要清楚d觸發器的結構

d觸發器可以由靜態邏輯實現,也可以由動態邏輯實現,這裡僅討論靜態cmos d觸發器的結構

構成乙個d觸發器最普遍方法是採用主從結構,由乙個負latch(主級)和正latch(從級)串聯而成,而latch可以採用傳輸門構成的多路開關mux來實現,見下圖

而具體的電路結構如下圖

可以看到latch中的mux是通過傳輸門邏輯實現的,牢記這個結構即可

假設上圖中反相器的延時都是tin

vt_tinv

​,傳輸門的延時都是ttx

t_tt

x​。對於傳輸門型的主從邊沿觸發器,輸入資料必須在時鐘上公升沿到來之前必須傳播通過i

1i_1

i1​、t

1t_1

t1​、i

3i_3

i3​、i

2i_2

i2​,這才能保證當時鐘上公升沿到來導致t

2t_2

t2​開啟時,其兩端的電壓是相等的,否則交叉耦合反相器就會停留在乙個不正確的值。

因此該結構的建立時間tse

tup=

3∗ti

nv+t

txt_=3*t_+t_

tsetup

​=3∗

tinv

​+tt

x​保持時間其實是為了保證在時鐘上公升沿之後,d端的資料不能影響觸發器在該上公升沿採集的資料。我們都知道時鐘上公升沿之後,主latch將處於鎖存狀態,也就是d資料是無法傳輸到主latch中的,那為什麼還有這樣乙個保持時間要求呢?

仔細觀察上圖結構,d端資料不再影響主latch中資料的條件是當時鐘上公升沿到來時,傳輸門t

1t_1

t1​關斷。但是注意,由於從d觸發器的d pin和clk pin到傳輸門t

1t_1

t1​的延時是不同的,以及傳輸門的關斷本身需要時間,因此在clk訊號到達傳輸門t

1t_1

t1​控制端並且完成關斷動作之前,傳輸門t

1t_1

t1​前的資料端必須保持不變(注意不是d pin端資料),由此即可計算出保持時間要求。

假設傳輸門的關斷不需要時間,而clk net上的反相器和d net上的反相器延時相同,那麼建立時間就為0

如果clk net的反相器延時為tcl

kinv

t_tc

lkin

v​,d net的反相器延時為tdi

nvt_td

inv​

,那麼保持時間tho

什麼是Setup 和Holdup時間?

什麼是setup 和holdup時間?a 什麼是setup 和holdup時間?建立時間 setup time 是指在觸發器的時鐘訊號上公升沿到來以前,資料穩定不變的時間,如果建立時間不夠,資料將不能在這個時鐘上公升沿被打入觸發器 保持時間 hold time 是指在觸發器的時鐘訊號上公升沿到來以後...

Setup 和Hold (建立時間和保持時間)解析

sta分析是基於同步電路設計模型的,在資料輸入端,假設外部也是同時鐘的暫存器的輸出並且經過若干組合邏輯進入本級,而輸出也被認為是驅動後一級的同時鐘的暫存器。在不設定約束的情況下,純組合邏輯的輸入 輸出不得超過乙個t,否則也會被認為是timing violation.timing path就是時間線。...

Setup 和Hold (建立時間和保持時間)解析

sta分析是基於同步電路設計模型的,在資料輸入端,假設外部也是同時鐘的暫存器的輸出並且經過若干組合邏輯進入本級,而輸出也被認為是驅動後一級的同時鐘的暫存器。在不設定約束的情況下,純組合邏輯的輸入 輸出不得超過乙個t,否則也會被認為是timing violation.timing path就是時間線。...