保持時間與建立時間

保持時間和建立時間----------我的個人見解  
在描述保持時間和建立時間之前我們首先需要了解爲什麼需要保持時間和建立時間,通俗的說就是在時鐘信號來臨之前,傳輸給寄存器的信號必須保持穩定,有效,纔可以打入觸發器,稱爲建立時間;時鐘沿來了之後,信號必須維持穩定一段時間,使得信號能夠正確被打入觸發器;    

下面我們就經典的D觸發器來解釋這一現象:  


首先描述一下觸發器的原理,便於我們理解之後的說明;  當CLK=0時,圖5.7.4中G3,G4,輸出的都爲1,則G5,G6,輸出分別爲D,D’, G1,G2則維持原來的值保持不變,所以我們可以看出寄存器在時鐘上升沿到來之前所鎖存的值爲上一次的值;
         當CLK=1,D=0時,則G6輸出爲1,G5輸出爲0,G3輸出爲1,G4輸出爲0,最後Q=0;       當CLK=1,D=1時,則G6輸出爲0,G5輸出爲1,G3輸出爲0,G4輸出爲1,最後Q=1;  我們可以看到爲了得到G3和G4的值,則在CLK =1,之前,必須先得出G5,G6的值,也就是說在時鐘上升沿來臨之前,D值必須經過G6,G5,也就是所謂的建立時間;   


那麼保持時間就是:在時鐘來臨之後,D值不能改變,必須維持原來的值,直到G4輸出值返回給G6的輸入端之後,D值才允許改變,此時即使D改變也不會影響G3,G4的輸出;  以上描述是基於觸發器層面上的,下面我們在通過寄存器層次來描述建立時間和保持時間;    

首先先看一張同步設計的基本模型圖


我們假設T1,T2寄存器是一條路徑上的相連的兩個寄存器,數據輸入到T1經過1個clk之後,傳輸到T2;  Tco爲經過寄存器T1的傳輸延時; Tdelay爲經過組合邏輯的傳輸延時; Tsetup爲T2的建立時間;  Tpd爲時鐘到T1和T2的偏差; 在一個時鐘週期T之內,數據從寄存器T1傳出,需要經過延時Tco,然後經過組合邏輯,需要經過延時Tdelay,最後到達寄存器T2,然後在寄存器T2建立起來,需要經過延時Tsetup(這個延時我們在之前已經講解過爲什麼了),那麼可以得出建立時間的要求:    

 Tsetup <= Tpd+ T – Tco(max)-Tdelay(max); 

這裏我們需要注意的是max,因爲經過寄存器和組合邏輯有一個最大延遲和最小的延遲,對於建立時間來說,考慮到最惡劣的情況就是必須考慮到這些最大的延遲;之所以需要加上Tpd是因爲時鐘也有可能存在着傳輸的偏移;  

保持時間Thold,我們在上面已經描述過了爲什麼需要保持時間,現在我們知道T2的輸入在時鐘上升沿來之後必須保持一段時間的穩定,也就是說輸入值不能發生改變,此時T1寄存器的值經過Tco,經過組合邏輯Tdelay,纔到達T2,那麼可以得出保持時間的要求:    

Thold <= Tco(min) + Tdelay(min);  

這裏爲什麼是min,因爲我們需要考慮到下一個信號最快傳輸到T2的情況,那麼最小的延時也就是代表着最快的傳輸;    



參考文獻: 

 1. 數字電子技術基礎.(閻石,第五版)

 2. ~~~建立時間與保持時間(兩個寄存器的詳細分析) - yuedx的個人空間 - 中國電子頂級開發網(EETOP)-電子設計論壇、博客、超人氣的電子工程師資料分享平臺 - Powered by X-Space.htm 

3. 建立時間和保持時間關係詳解 - Ethan的日誌 - 網易博客.htm 

4. 建立時間、保持時間和時序約束條件 - 第1頁 - 東大小小的數字世界 - EDN China電子設計技術.htm





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章