建立時間和保持時間

NUAA_CY發表於2021-01-02

建立時間和保持時間

1. 建立時間和保持時間的概念

在這裡插入圖片描述

  • 建立時間tsu:所謂建立時間就是說為了保證D觸發器的輸出是穩定的,資料必須在時鐘上升沿tsu時間之前保持穩定,否則D觸發器的輸出就是不穩定的。

  • 保持時間thold:所謂保持時間就是說為了保證D觸發器的輸出是穩定的,資料必須在時鐘上升沿來之後繼續保持thold時間的穩定,否則D觸發器的輸出就是不穩定的。

2. 建立時間和保持時間如何約束時序電路

在這裡插入圖片描述
在這裡插入圖片描述
第一張圖展示的是基本的數字時序電路的組成,基本延時由兩部分組成。一部分是tc-q,指的是觸發器從時鐘上升沿到資料穩定輸出的延時;第二部分是tcomb logic,就是兩級觸發器之間的組合邏輯的延遲。

2.1 建立時間約束

在這裡插入圖片描述

  • 建立時間約束:從上面的時序圖可以看出,一個時鐘週期可以分為三部分:第一部分是tc-q,第二部分是組合邏輯的延時tcomb logic,第三部分是觸發器的建立時間tsu。三者要滿足以下的關係:
T >= tc-q + tcomb logic(max) + tsu
其中組合邏輯的延時應該為所有組合邏輯塊中的最大延時,我們必須考慮電路在延時最大情況下的工作主頻

2.2 保持時間約束

在這裡插入圖片描述

  • 保持時間約束:在如圖示識的時鐘的上升沿會同時發生D1和D2的傳輸,由於D2資料有保持時間的要求,所以需要D2在時鐘的上升沿之後仍需保持一段時間,但同時D1也在傳輸,並且經過tc-q+tcomb logic就會追上D2,我們要保證D2不被沖刷掉,所以我們的保持時間約束如下:
tc-q + tcomb logic(min) >= thold
這裡要考慮組合邏輯延時最小的情況,也就是D1最快追上D2的情況。當保證D1最快的情況下都追不上D2,那麼在其它情況下D1也就不可能追上D2了。

3. 為什麼觸發器會有建立時間和保持時間

在這裡插入圖片描述

上圖展示的是一個最基本的利用雙穩態結構做成的正沿觸發器內部結構。只有瞭解了其內部結構才能搞清楚為什麼會存在建立時間和保持時間。

3.1 為什麼會存在建立時間

  • 所謂的建立時間,就是說在時鐘上升沿來之前資料必須穩定的時間,如果資料沒有穩定,那麼我的觸發器將採不到這個資料。
    在這裡插入圖片描述
  • 當我們的時鐘上升沿還沒來到的時候,時鐘處於低電平,傳輸們T1被開啟,對於前一級鎖存器來說,其對資料D建立雙穩態的時間為I1+T1+I3+I2的延時,即三個反相器的延時tpd_inv加上一個傳輸們的延時tpd_tx,然後當時鐘上升沿來了之後,時鐘變為高電平,傳輸們T2被開啟,輸入資料D成功到達QM,此即為成功取樣資料D。
  • 換言之,當輸入資料D在時鐘上升沿來之前沒有到達傳輸們T2,那麼當時中上升沿來之後,第一級的雙穩態就不能建立起來,那麼此時QM取樣的資料將會是不確定的,也就是說此次取樣資料D失敗。
  • 所以,該暫存器的建立時間就是tsu = 3 x tpd_inv + tpd_tx

3.1 為什麼會存在保持時間

  • 所謂維持時間,就是說時鐘上升沿之後輸入資料仍需保持穩定一段時間,否則資料也會取樣失敗。

在這裡插入圖片描述

  • 在這裡的情形下,當時鍾變為高電平時,傳輸們T1關斷。由於D輸入和CLK在到達T1之前都需要經過一個反相器,所以在時鐘變為高電平之後輸入上的任何變化都不會影響輸出。所以維持時間是0。
  • 但是如果clk後面跟了三個反相器,那麼clk變為高電平之後,其需要經過三個反相器延時才能關斷傳輸們T1,而資料D則經過一個反相器延時就到達了T1,所以如果此時輸入資料D變化的話其實是可以直接通過傳輸們T1被後級電路取樣的。所以這種情況下在時鐘上升沿來之後輸入資料D仍需要保持兩個反相器的延時2 x tpd_inv。即該暫存器的保持時間為thold = 2 x tpd_inv

相關文章