建立時間和保持時間
文章目錄
建立時間和保持時間
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。
相關文章
- MyBatis自動設定建立時間和更新時間MyBatis
- mysql時間操作(時間差和時間戳和時間字串的互轉)MySql時間戳字串
- 時間型別和時間戳型別時間戳
- Linux時間設定系統時間、硬體時間和時間服務Linux
- 時間相減和時間轉換
- 細說PHP筆記08(第12章)--日期和時間,建立時間戳,mktime轉換unix時間戳,獲取字串時間,獲得日期和時間資訊,日期和時間格式化輸出,microtime()獲取微秒數PHP筆記時間戳字串
- 基於Mybatis-Plus實現自動化操作建立時間和修改時間MyBatis
- 日期和時間
- Git檢視分支建立時間Git
- c++ 獲取檔案建立時間、修改時間、訪問時間、檔案內容長度C++
- MySQL時間戳、時間MySql時間戳
- 用bat批次修改檔案建立和修改時間BAT
- 事件溯源中的時間和時間建模 - Tomasz Jaskula事件
- 玻璃還要保持弱勢一段時間
- oracle建立臨時表空間和資料表空間以及刪除Oracle
- Python 日期和時間Python
- Java日期和時間Java
- 日期和時間格式
- datetime日期和時間
- linux 如何建立定時任務?crontab -e 定時任務使用的時間是系統時間Linux
- jwt_token的有效時間和重新整理時間JWT
- python時間戳和時間字串的各種轉換Python時間戳字串
- 使用Python獲取DNS解析時間和響應時間PythonDNS
- 建立帶過期時間的map
- 坑系列 — 時間和空間的平衡
- 獲取時間戳,幾個時間點的時間戳時間戳
- 時間段時間點自己理解
- C# 時間戳轉時間C#時間戳
- 直播軟體搭建,當前時間、既定時間後的時間及時間比較大小
- 時間
- 2.5.7 建立預設臨時表空間
- Git檢視tag標籤建立時間Git
- 兩個時間戳的時間差時間戳
- 時間戳轉化為時間格式時間戳
- PostgreSQL 插入時間與更新時間(qbit)SQL
- Excel中時間戳轉換時間Excel時間戳
- MySQL如何獲取binlog的開始時間和結束時間MySql
- SSL證書的簽發時間和訂單時間同步嗎