當前位置:編程學習大全網 - 源碼下載 - 系統時序基礎理論

系統時序基礎理論

對於系統設計工程師來說,時序問題在設計中是至關重要的,尤其是隨著時鐘頻率的提高,留給數據傳輸的有效讀寫窗口越來越小,要想在很短的時間限制裏,讓數據信號從驅動端完整地傳送到接收端,就必須進行精確的時序計算和分析。同時,時序和信號完整性也是密不可分的,良好的信號質量是確保穩定的時序的關鍵,由於反射,串擾造成的信號質量問題都很可能帶來時序的偏移和紊亂。因此,對於壹個信號完整性工程師來說,如果不懂得系統時序的理論,那肯定是不稱職的。本章我們就普通時序(***同時鐘)和源同步系統時序等方面對系統時序的基礎知識作壹些簡單的介紹。

所謂普通時序系統就是指 驅動端和接收端的同步時鐘信號都是由壹個系統時鐘發生器提供 。下圖就是壹個典型的普通時鐘系統的示意圖,表示的是計算機系統的前端總線的時序結構,即處理器(CPU)和芯片組(Chipset)之間的連接。

在這個例子中,驅動端(處理器)向接收端(芯片組)傳送數據,我們可以將整個數據傳送的過程考慮為三個步驟:

(1) 核心處理器提供數據;

(2) 在第壹個系統時鐘的上升沿到達時,處理器將數據Dp鎖存至Qp輸出;

(3) Qp沿傳輸線傳送到接收端觸發器的Dc,並在第二個時鐘上升沿到達時,將數據傳送到芯片組內部。

壹般來說,標準普通時鐘系統的時鐘信號到各個模塊是同步的,即圖中的Tflight clka和Tflight clkb延時相同。 通過分析不難看出,整個數據從發送到接收的過程需要經歷連續的兩個時鐘沿,也就是說,如果要使系統能正常工作,就必須在壹個時鐘周期內讓信號從發送端傳輸到接收端。如果信號的傳輸延遲大於壹個時鐘周期,那麽當接收端的第二個時鐘沿觸發時,就會造成數據的錯誤讀取,因為正確的數據還在傳輸的過程中,這就是 建立時間不足帶來的時序問題 。目前普通時序系統的頻率無法得到進壹步提升的原因就在於此,頻率越高,時鐘周期越短,允許在傳輸線上的延時也就越小, 200-300MHz已經幾乎成為普通時序系統的頻率極限 。那麽,是不是傳輸延時保持越小就越好呢?當然也不是的,因為它還必須要滿足壹定的保持時間。在接下來幾節裏,我們就建立和保持時間來分析壹下時序設計需要考慮的壹些問題以及正確的系統時序所必須滿足的條件。

對於時序問題的分析,我們首先要清楚地理解相關的壹些時序參數的具體含義,比如Tco,緩沖延時,傳播延遲,最大/小飛行時間,建立時間,保持時間,建立時間裕量,保持時間裕量,時鐘抖動,時鐘偏移等等,如果對這些參數的概念理解不深刻,就很容易造成時序設計上的失誤。

首先要闡明的是Tco和緩沖延時(buffer delay)的區別。從定義上來說, Tco 是指時鐘觸發開始到有效數據輸出的器件內部所有延時的總和;而 緩沖延時 是指信號經過緩沖器達到有效的電壓輸出所需要的時間。可以看出,Tco除了包含緩沖延時,還包括 邏輯延時 。通常,確定Tco的方法是在緩沖輸出的末端直接相連壹個測量負載,最常見的是50歐姆的電阻或者30pF的電容,然後測量負載上的信號電壓達到壹定電平的時間,這個電平稱為 測量電壓(Vms) ,壹般是信號高電平的壹半。如Tco和緩沖延時的確定如下圖所示:

信號從緩沖器出來之後,就要經過傳輸線到接收終端,信號在傳輸線上的傳輸的延時我們稱為 傳播延遲(propagation delay) ,它只和信號的傳播速度和線長有關。然而我們在大多數時序設計裏面,最關鍵的卻不是傳播延遲這個參數,而是 飛行時間(Flight Time)參數,包括最大飛行時間(Max Flight Time)和最小飛行時間(Min Flight Time) 。飛行時間包含了傳播延遲和信號上升沿變化這兩部分因素,從下圖中可以很容易看出兩者的區別。

在較輕的負載(如單負載)情況下,驅動端的上升沿幾乎和接收端的信號的上升沿平行,所以這時候平均飛行時間和傳播延遲相差不大;但如果在重負載(如多負載)的情況下,接收信號的上升沿明顯變緩,這時候平均飛行時間就會遠遠大於信號的傳播延遲。這裏說的平均飛行時間是指Buffer波形的Vms到接收端波形Vms之間的延時,這個參數只能用於時序的估算,準確的時序分析壹定要通過仿真測量最大/最小飛行時間來計算。

上面只是對信號上升沿的分析,對於下降沿來說,同樣存在著最大/最小飛行時間的參數,如下圖。在時序計算時我們實際取的最大飛行時間是在上升沿和下降沿中取最長的那個飛行時間,而最小飛行時間則是取上升和下降沿中最短的那個飛行時間。

也有些時候,人們對信號的最大/最小飛行時間還有其它稱謂,比如在Cadence軟件中,就將最大飛行時間稱為最終穩定延時(Final Settle Delay),而將最小飛行時間稱為最早開關延時(First Switch Delay),如下圖。

信號經過傳輸線到達接收端之後,就牽涉到建立時間和保持時間這兩個時序參數,它們是接收器本身的特性,表征了時鐘邊沿觸發時數據需要在鎖存器的輸入端持續的時間。通俗地說,時鐘信號來的時候,要求數據必須已經存在壹段時間,這就是器件需要的 建立時間(Setup Time) ;而時鐘邊沿觸發之後,數據還必須要繼續保持壹段時間,以便能穩定的讀取,這就是器件需要的 保持時間(Hold Time) 。如果數據信號在時鐘沿觸發前後持續的時間均超過建立和保持時間,那麽超過量就分別被稱為 建立時間裕量 保持時間裕量 。見圖 1-6-6,其中還考慮了時鐘誤差的因素。

每個器件的建立和保持時間參數,壹般都可以在相應的DataSheet查到,對於設計者來說最大的目的是 提高時序的裕量 ,這樣即使信號完整性上出現壹點問題,或者外界環境發生壹定的變化,系統仍然能正常工作,這就是壹個設計優良的系統應該體現出的超強的 穩定性

系統時序設計中對時鐘信號的要求是非常嚴格的,因為我們所有的時序計算都是以恒定的時鐘信號為基準。但實際中時鐘信號往往不可能總是那麽完美,會出現 抖動(Jitter) 偏移(Skew) 問題。所謂抖動,就是指兩個時鐘周期之間存在的差值,這個誤差是在時鐘發生器內部產生的,和晶振或者PLL內部電路有關,布線對其沒有影響,如圖1-6-7。除此之外,還有壹種由於周期內信號的占空比發生變化而引起的抖動,稱之為半周期抖動。總的來說,jitter可以認為在時鐘信號本身在傳輸過程中的壹些偶然和不定的變化之總和。

時鐘偏移(skew)是指兩個相同的系統時鐘之間的偏移。它表現的形式是多種多樣的,既包含了時鐘驅動器的多個輸出之間的偏移,也包含了由於PCB走線誤差造成的接收端和驅動端時鐘信號之間的偏移,比如在圖1-6-1中所示,CLKA和CLKB之間的差異,CLKC和CLKP之間的差異均為時鐘偏移,這些偏移量在時序計算中需要全部考慮。

除了上面提到的這些概念,還有壹點要註意的是,時刻不能忽略信號完整性對時序的影響,比如串擾會影響微帶線傳播延遲;反射會造成數據信號在邏輯門限附近波動,從而影響最大/最小飛行時間;時鐘走線的幹擾會造成壹定的時鐘偏移。有些誤差或不確定因素是仿真中無法預見的,設計者只有通過周密的思考和實際經驗的積累來逐步提高系統設計的水平。

下面來具體討論壹下系統時序需要滿足的壹些基本條件。我們仍然以圖1-6-1的結構為例,並可以據此畫出相應的時序分析示意圖(圖1-6-8)。

在上面的時序圖中,存在兩個時序環,我們稱實線的環為建立時間環,而虛線的環我們稱之為保持時間環。可以看到,這兩個環都不是閉合的,缺口的大小就代表了時序裕量的多少,因此設計者總希望盡可能增大這個缺口。同時還要註意到,每個環上的箭頭方向不是壹致的,而是朝著正反兩個方向,因為整個系統時序是以時鐘上升沿為基準的,所以我們時序環的起點為系統時鐘clk in 的上升沿,而所有箭頭最終指向接收端的控制時鐘CLKC 的邊沿。

先來分析 建立時間環

缺口的左邊的半個時序環代表了從第壹個系統時鐘上升沿開始,直到數據傳輸至接收端的總的延時,我們計為 數據延時 ,以Tdata tot 表示:

上式中:Tco clkb 是系統時鐘信號CLKB 在時鐘驅動器的內部延遲;Tflt clkb 是CLKB 從時鐘驅動器輸出後到達發送端(CPU)觸發器的飛行時間;Tco data 是數據在發送端的內部延遲;Tflt data是數據從發送端輸出到接收端的飛行時間。

從CLKC 時鐘邊沿的右邊半個時序環代表了系統時鐘到達接收端的總的沿時,我們計為時鐘延時,以Tclk tot 表示:

其中,Tcycle 是時鐘信號周期;Tco clka 是系統時鐘信號CLKA(第二個上升沿)在時鐘驅動器的內部延遲;Tflt clka 是時鐘信號從時鐘驅動器輸出到達接收端觸發器的飛行時間;Tjitter是時鐘的抖動誤差。

因此我們可以根據建立時間裕量的定義,得到:

將前面的相應等式帶入可得:

我們定義時鐘驅動器(PLL)的兩個時鐘輸出之間的偏移為Tclock Skew ,兩根CLOCK 走線之間的時鐘偏移為TPCB Skew ,即:

這樣就可以得到建立時間裕量的標準計算公式:

再來看保持時間環:

對照圖1-6-8,我們可以同樣的進行分析:

於是可以得出保持時間裕量的計算公式:

即:

可以看到,式1.6.2 中不包含時鐘抖動Jitter 的參數。這是因為Jitter 是指時鐘周期間(Cycle to Cycle)的誤差,而保持時間的計算和時鐘周期無關。

對於任何時鐘控制系統,如果要能保證正常工作,就必須使建立時間余量和保持時間裕量都至少大於零,即Tsetup marin >0;Thold margin >0,將公式1.6.1 和1.6.2 分別帶入就可以得到 普通時鐘系統的時序約束條件不等式

需要註意的是:

從上面的分析可以看到,對於PCB 設計工程師來說, 保證足夠穩定的系統時序最有效的途徑就是盡量減小PCB skew 和信號傳輸的飛行時間 ,而其它的參數都只和芯片本身的性能有關。實際中經常采取的措施就是 嚴格控制時鐘和數據的走線長度,調整合理的拓補結構,並盡可能減少信號完整性帶來的影響 。然而,即便我們已經考慮的很周全,普通時鐘系統的本身的設計瓶頸始終是無法打破的,也就是建立時間的約束,我們在盡可能減少由PCB 布線引起的信號延遲之外,器件本身的特性如Tco、Jitter、TSetup 等等將成為最主要的制約因素,盡管我們可以通過提高工藝水平和電路設計技術來不斷提高數字器件的性能,但得到的效果也僅僅是在壹定範圍之內提升了系統的主頻,在頻率超過300MHz 的情況下,我們將不得不放棄使用這種普通時鐘系統設計。

針對普通時鐘系統存在著限制時鐘頻率的弊端,人們設計了壹種新的時序系統,稱之為源同步時序系統。它最大的優點就是大大提升了總線的速度,在理論上信號的傳送可以不受傳輸延遲的影響。下面我們來看看這種源同步時鐘系統的結構。

圖1-6-9是壹個基本的源同步時鐘系統的結構示意圖。可以看到,驅動芯片在發送數據信號的同時也產生了選通信號(Strobe),而接收端的觸發器由該選通信號脈沖控制數據的讀取,因此,這個選通信號也可以稱為源同步時鐘信號。

源同步時鐘系統中,數據和源同步時鐘信號是同步傳輸的,我們保證這兩個信號的飛行時間完全壹致,這樣只要在發送端的時序是正確的,那麽在接收端也能得到完全 正確的時序。整個系統在時序上的穩定性完全體現在數據和選通信號的匹配程度上,包括傳輸延遲的匹配,器件性能的匹配等等,只要兩者條件完全相同,那麽我們 就可以保證系統的時序絕對正確,而對系統的最高時鐘頻率沒有任何限制。

當然,對於任何數據接收來說,壹定的建立和保持時間都是必須滿足的,源同步時鐘系統也同樣如此,主要體現在數據信號和選通信號之間的時序要求上。最理想的情況就是選通信號能在數據信號的中央部分讀取,如圖1-6-10所示,這樣才能保證最充分的建立和保持時間。

為了保證選通信號和數據信號相對保持正確的時序,在源同步時鐘系統中是通過驅動芯片內部的數字延時器件DLL來實現(見圖1-6-9),而不是通過PCB走線來控制,因為相比較而言,DLL器件能做到更為精確的延時,同時還可以受芯片電路控制,調節起來更為方便。

前面已經提到源同步時鐘系統設計中最重要的壹點就是保證data和strobe信號之間的偏移(Skew)最小,引起 這些誤差的最主要的因素就是實際系統中各器件的時序參數Tco的不同,此外還有布線上引起的差異,為了更好地說明這些Skew對時序的具體影響,下面我們 還是通過時序圖分析的方法來計算壹下源同步時鐘系統中信號的建立時間裕量和保持時間裕量。

首先考慮建立時間裕量:和普通時序分析的方法壹下,我們也是從建立時間環的角度考慮,參考1-6-9的結構圖,我們可以作出驅動端和接收端的時序示意圖(1-6-11)。

其中,Tco 和Tflt 分別代表數據/選通信號在器件的內部延遲和信號傳輸的飛行時間,Tdelay 是指數據信號和選通信號之間的延遲,由系統內DLL 延時器件決定,圖中假設為壹個時鐘周期。

將上式帶入建立時間裕量的計算公式:

可以得到:

如果我們將數據和Strobe 信號在器件內的延時差異定義為Tvb;將PCB 走線引起的延時差異定義為Tpcb skew:

這樣可以得到壹個簡單的建立時間裕量方程:

註意:公式1.6.5 中Tvb 是壹個負值,從公式中可以看出,如果數據和選通信號的Tco 相同的話,其大小就是- Tdelay ,也就說明數據信號必須提前於選通信號發送。

再考慮保持時間裕量,如圖1-6-12,同樣分析可以得到:

如果定義:

為正值;Tpcb skew 定義不變。則保持時間裕量的計算公式為:

在公式1.6.5 和1.6.6 中,兩個重要的參數是Tvb 和Tva,Tvb 表示“Valid before”,即數據在選通脈沖前有效存在的時間;Tva 表示“Valid after”,指選通信號脈沖之後數據仍然有效持續的時間。這兩個時序參數壹般都可以在器件的datasheet 上會找到。

和普通時鐘系統相比,源同步總線在PCB 布線的設計上反而更為方便,設計者只需要嚴格保證線長的匹配就行了,而不用太多的考慮信號走線本身的長度。當然,盡管源同步數據傳輸在理論上突破了頻率的限制,但隨著頻率的提高,在控制Skew 上也變得越來越困難,尤其是壹些信號完整性因素帶來的影響也越發顯得突出,而且目前的高速系統設計中,往往綜合應用了普通時鐘和源同步時鐘技術,比如對於地址/控制信號采用普通時鐘總線,而高速的數據傳輸則是采用源同步總線。這些對於高速PCB 設計分析人員來說是壹個非常嚴峻的挑戰。

  • 上一篇:Mysql分區表Partition
  • 下一篇:SAP公司的ERP產品有什麽特點
  • copyright 2024編程學習大全網