1. 程式人生 > 實用技巧 >觸發器的時序引數與時序分析(轉)

觸發器的時序引數與時序分析(轉)

一、概念

  在實際電路中,必須考慮傳輸延遲的影響。比如D鎖存器,在時鐘訊號從1變成0時,它把當前輸出的值儲存在鎖存器中。如果輸入D穩定,則電路可以穩定工作,如果在時鐘跳變時候D的內容也正好發生變化,則可能產生不可預知的結果。所以電路設計者必須保證時鐘訊號跳變時後,輸入訊號是穩定的。

下圖中標示了一些關鍵時間區間,這些區間和工藝有關。積體電路製造廠家都會提供這個引數。

建立時間(Tsu:set up time):是指在觸發器的時鐘訊號上升沿到來以前,資料穩定不變的時間,如果建立時間不夠,資料將不能在這個時鐘上升沿被穩定的打入觸發器,Tsu就是指這個最小的穩定時間。

保持時間(Th:hold time):

是指在觸發器的時鐘訊號上升沿到來以後,資料穩定不變的時間,如果保持時間不夠,資料同樣不能被穩定的打入觸發器,Th就是指這個最小的保持時間。

如果電路中使用的觸發器沒有沒有遵循建立和保持要求,則電路會進入“亞穩態”的不穩定狀態。

輸出響應時間(Tco或者TcQ) 

  觸發器輸出的響應時間,也就是觸發器的輸出在clk時鐘上升沿到來之後多長的時間內發生變化,也即觸發器的輸出延時。一般的,Q值從1到0和從0到1的延時並不完全一樣,但為了簡化,通常假定他們是相等的。對於商業晶片,通常會給出兩個Tco/TcQ的值,分別代表實際上可能產生的最大延時和最小延時。指定一個範圍是評估一個晶片延時的常見做法,因為晶片製造過程中存在許多延遲變化的來源。

二、數字系統設計常見與之有關的問題

1、問題提出

  數字系統設計常見的電路圖,這裡需要保證資料能夠正確的在這兩個觸發器上進行傳輸,由此確定中間組合邏輯電路的傳輸延時的範圍。

Tcomb: 組合邏輯電路的傳輸延時

2、第二個觸發器要滿足建立時間的約束條件

 時序圖如下,假設D1的輸入為圖中的藍線所示

時序解釋:

  在第一個時鐘上升沿,前邊的觸發器採集D1訊號,將高電平打入觸發器,經過Tco的觸發器輸出延時到達組合邏輯電路。又經過組合邏輯電路的延時Tcomb(我們假定組合邏輯電路此時沒有改變訊號的高低,可以把它假定為一個緩衝器)送到了D2介面上。在第二個時鐘上升沿到來之前,D2資料線上的訊號要滿足穩定時間>觸發器的建立時間Tsu。

Tclk - Tco - Tcomb > Tsu

  考慮最壞的情況:觸發器的輸出延時最大,組合邏輯電路的延時也最大,可得:

Tclk - Tco-max - Tcomb-max > Tsu
所以最小的 Tclk-min  = Tco-max + Tcomb-bmax +Tsu;
根據這個公式,我們可以計算出該電路最大的始終頻率 Fmax = 1/Tclk-min

3、第二個觸發器要滿足保持時間的約束條件

  時序圖如下,假設D1的輸入為圖中的藍線所示

時序解釋:

   接著之前的時序圖繼續,在第二個時鐘上升沿前邊觸發器採集到D1上的低電平,經過Tco的延時在Q1上得到表達。這個低電平在經過組合電路延時Tcomb到達D2。現在的問題是經過這麼Tco+Tcomb的延時,D2上原本的高電平在第二個時鐘上升沿到來之後的穩定時間 > 第二個觸發器的保持時間。滿足了這個條件,後邊的觸發器才能穩定的接收到最初由D1傳過來的高電平。

Tco + Tcomb > Th

考慮到最壞的情況:觸發器的輸出延時最小,組合邏輯電路的延時也最小

Tco-min + Tcomb-min > Th
通常時序分析中,我們要檢查這個不等式,來確定電路中是否有時間違背。

4、問題的答案

  我們得到中間組合邏輯電路的輸出延時範圍為:

(Tclk - Tco-max -  Tsu) > Tcomb > (Th - Tco-min)

5、兩個時序分析例子

假設觸發器時間引數:Tsu = 0.6ns, Th = 0.4ns以及 0.8ns<= Tco <= 1.0ns, 通常我們可以假設邏輯閘的延時為1+0.1k,其中k為邏輯閘輸入端的個數。比如對於非門,只有一個輸入端,則為1+1*0.1=1.1ns。

我們來計算下面電路的時鐘最小週期:

Tclk-min = Tco-max + Tcomb-max + Tsu = 1.0 + 1.1 + 0.6 = 2.7ns

所以最高時鐘週期Fmax = 1/Tclk-min = 370.37MHz


下面我們看一個複雜一點的例子,4位計數器電路。電路圖如下圖所示:

電路中有很多路徑可以使觸發器開始或結束,其中最長的路徑開始於觸發器Q0結束於Q3電路中這種最長的路徑稱為關鍵路徑。如下圖中紅色線所示路徑,包括觸發器Q0的時鐘訊號輸出至Q的延時Tco,3個與門,1個異或門以及建立時間Tsu,所以有

Tclk-min = Tco + 3Tand + Txor +Tsu = 1.0 + 3*1.2+1.2+0.6=6.4ns

Fmax = 1/6.4ns = 156.25MHz

電路的最短路徑是每個觸發器經過一個異或門到它自身,每條這樣的路徑的最小延時為Tco+Txor=0.8+1.2=2.0ns>Th=0.4ns, 所以電路中不存在時間違背。


6、時鐘偏斜的時序分析

上面4位暫存器的例子中,我們假設4個觸發器的時鐘訊號是同一時刻到達的。現在我們仍然假設時鐘訊號同一時刻到達Q0、Q1、Q2,但到達Q3存在一個延時。這種時鐘訊號達到觸發器的時間偏離稱為時鐘偏斜時鐘偏斜可能由多種因素引起的。

關鍵路徑是從觸發器Q0到Q3,然而Q3的時鐘偏斜具有減小延遲的作用。原因在於資料載入到觸發器之前提供了額外的時間。將時鐘偏斜1.5ns計算在內,從Q0到Q的的路徑延時為:Tco+3Tand+Txor+Tsu-Tskew=6.4-1.5=4.9ns,此時從Q0到Q2的線路徑成為關鍵路徑:

   Tclk-min = Tco + 2Tand + Txor +Tsu = 1.0 + 2*1.2+1.2+0.6=5.2ns

   Fmax = 1/5.2ns = 192.31MHz

在這種情況下,時鐘偏斜會提高時鐘頻率,但如果時鐘偏斜是負的,則會降低時鐘頻率。

  由於時鐘偏斜的存在,資料載入到Q3會被延遲,對於所有開始於Q0,Q1,Q2而結束於Q3的路徑,載入的延時會提高觸發器維持時間的要求(Th+Tskew),其中最短的路徑是從Q2到Q3,延遲為Tco + Tand + Txor = 0.8 + 1.2+1.2=3.2ns > Th+Tskew=1.9ns,所以不存在時間違背。

  對於時鐘偏斜值Tskew >= 2.8ns情況,可以看出存在時間違背,此時不論時鐘頻率多少,該電路都不可能可靠的工作

  我們再看下面這個例子,在這個電路中有一條路徑開始於觸發器Q1,經過一些邏輯閘網路,在觸發器Q2的D端結束。由圖可知,時鐘訊號到達觸發器前存在不同的延遲。假設觸發器Q1和Q2的時鐘訊號延遲分別為t1和t2,這兩個觸發器之間的時間偏斜可定義為Tskew= t2-t1,假設電路中通過邏輯閘路徑的最長延遲為TL,則這兩個觸發器的最小時鐘週期為Tclk-min=Tco+TL+Tsu-Tskew, 因此如果t2-t1>0,則時鐘頻率會提升,否則時鐘偏斜會降低頻率。

  為了計算觸發器Q2是否存在時間違背,需要確定觸發器的最短路徑。如果電路中通過邏輯閘的最小延遲為Tl,且Tl+Tco<Th+Tskew, 將會產生時間違背。如果t2-t1>0,維持時間的限制將更難以滿足,而如果t2-t1<0,則較易滿足。

原文連結:https://www.cnblogs.com/mikewolf2002/p/10200660.html