建立时间和保持时间
文章目錄
- 建立時間和保持時間
- 1. 建立時間和保持時間的概念
- 2. 建立時間和保持時間如何約束時序電路
- 2.1 建立時間約束
- 2.2 保持時間約束
- 3. 為什么觸發器會有建立時間和保持時間
- 3.1 為什么會存在建立時間
- 3.1 為什么會存在保持時間
建立時間和保持時間
1. 建立時間和保持時間的概念
-
建立時間tsu:所謂建立時間就是說為了保證D觸發器的輸出是穩定的,數據必須在時鐘上升沿tsu時間之前保持穩定,否則D觸發器的輸出就是不穩定的。
-
保持時間thold:所謂保持時間就是說為了保證D觸發器的輸出是穩定的,數據必須在時鐘上升沿來之后繼續保持thold時間的穩定,否則D觸發器的輸出就是不穩定的。
2. 建立時間和保持時間如何約束時序電路
第一張圖展示的是基本的數字時序電路的組成,基本延時由兩部分組成。一部分是tc-q,指的是觸發器從時鐘上升沿到數據穩定輸出的延時;第二部分是tcomb logic,就是兩級觸發器之間的組合邏輯的延遲。
2.1 建立時間約束
- 建立時間約束:從上面的時序圖可以看出,一個時鐘周期可以分為三部分:第一部分是tc-q,第二部分是組合邏輯的延時tcomb logic,第三部分是觸發器的建立時間tsu。三者要滿足以下的關系:
2.2 保持時間約束
- 保持時間約束:在如圖標識的時鐘的上升沿會同時發生D1和D2的傳輸,由于D2數據有保持時間的要求,所以需要D2在時鐘的上升沿之后仍需保持一段時間,但同時D1也在傳輸,并且經過tc-q+tcomb logic就會追上D2,我們要保證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。
總結
- 上一篇: webfunny埋点漏斗功能
- 下一篇: 英语外刊精读笔记