久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    系統時序基礎理論

     李立豐 2008-11-18


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

    . 普通時序系統(共同時鐘系統)

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

    在這個例子中,驅動端(處理器)向接收端(芯片組)傳送數據,我們可以將整個數據傳送的過程考慮為三個步驟:
    1.
    核心處理器提供數據;
    2.
    在第一個系統時鐘的上升沿到達時,處理器將數據Dp鎖存至Qp輸出;
    3.Qp
    沿傳輸線傳送到接收端觸發器的Dc,并在第二個時鐘上升沿到達時,將數據傳送到芯片組內部。
    一般來說,標準普通時鐘系統的時鐘信號到各個模塊是同步的,即圖中的Tflight clkaTflight clkb延時相同。通過分析不難看出,整個數據從發送到接收的過程需要經歷連續的兩個時鐘沿,也就是說,如果要使系統能正常工作,就必須在一個時鐘周期內讓信號從發送端傳輸到接收端。如果信號的傳輸延遲大于一個時鐘周期,那么當接收端的第二個時鐘沿觸發時,就會造成數據的錯誤讀取,因為正確的數據還在傳輸的過程中,這就是建立時間不足帶來的時序問題。目前普通時序系統的頻率無法得到進一步提升的原因就在于此,頻率越高,時鐘周期越短,允許在傳輸線上的延時也就越小,200-300MHz已經幾乎成為普通時序系統的頻率極限。那么,是不是傳輸延時保持越小就越好呢?當然也不是的,因為它還必須要滿足一定的保持時間。在接下來幾節里,我們就建立和保持時間來分析一下時序設計需要考慮的一些問題以及正確的系統時序所必須滿足的條件。

    1.  
    時序參數的確定

    對于時序問題的分析,我們首先要清楚地理解相關的一些時序參數的具體含義,比如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),而將最小飛行時間稱為最早開關延時(Firsttch Delay),如下圖。

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

    每個器件的建立和保持時間參數,一般都可以在相應的DataSheet查到,對于設計者來說最大的目的是提高時序的裕量,這樣即使信號完整性上出現一點問題,或者外界環境發生一定的變化,系統仍然能正常工作,這就是一個設計優良的系統應該體現出的超強的穩定性。
            
    系統時序設計中對時鐘信號的要求是非常嚴格的,因為我們所有的時序計算都是以恒定的時鐘信號為基準。但實際中時鐘信號往往不可能總是那么完美,會出現抖動(Jitter)和偏移(Skew)問題。所謂抖動,就是指兩個時鐘周期之間存在的差值,這個誤差是在時鐘發生器內部產生的,和晶振或者PLL內部電路有關,布線對其沒有影響,如圖1-6-7。除此之外,還有一種由于周期內信號的占空比發生變化而引起的抖動,稱之為半周期抖動。總的來說,jitter可以認為在時鐘信號本身在傳輸過程中的一些偶然和不定的變化之總和。


          
    時鐘偏移(skew)是指兩個相同的系統時鐘之間的偏移。它表現的形式是多種多樣的,既包含了時鐘驅動器的多個輸出之間的偏移,也包含了由于PCB走線誤差造成的接收端和驅動端時鐘信號之間的偏移,比如在圖1-6-1中所示,CLKACLKB之間的差異,CLKCCLKP之間的差異均為時鐘偏移,這些偏移量在時序計算中需要全部考慮。
          
    除了上面提到的這些概念,還有一點要注意的是,時刻不能忽略信號完整性對時序的影響,比如串擾會影響微帶線傳播延遲;反射會造成數據信號在邏輯門限附近波動,從而影響最大/最小飛行時間;時鐘走線的干擾會造成一定的時鐘偏移。有些誤差或不確定因素是仿真中無法預見的,設計者只有通過周密的思考和實際經驗的積累來逐步提高系統設計的水平。

    2  
    時序約束條件

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

     
    在上面的時序圖中,存在兩個時序環,我們稱實線的環為建立時間環,而虛線的環我們稱之為保持時間環。可以看到,這兩個環都不是閉合的,缺口的大小就代表了時序裕量的多少,因此設計者總希望盡可能增大這個缺口。同時還要注意到,每個環上的箭頭方向不是一致的,而是朝著正反兩個方向,因為整個系統時序是以時鐘上升沿為基準的,所以我們時序環的起點為系統時鐘clk in的上升沿,而所有箭頭最終指向接收端的控制時鐘CLKC的邊沿。
     
    先來分析建立時間環:
     
    缺口的左邊的半個時序環代表了從第一個系統時鐘上升沿開始,直到數據傳輸至接收端的總的延時,我們計為數據延時,以Tdata tot表示:
    Tdata tot =Tco clkb+Tflt clkb +Tco data +Tflt data
    上式中:Tco clkb是系統時鐘信號CLKB在時鐘驅動器的內部延遲;Tflt clkb CLKB從時鐘驅動器輸出后到達發送端(CPU)觸發器的飛行時間;Tco data是數據在發送端的內部延遲;Tflt data是數據從發送端輸出到接收端的飛行時間。
    CLKC時鐘邊沿的右邊半個時序環代表了系統時鐘到達接收端的總的沿時,我們計為時鐘延時,以Tclk tot表示:
    Tclk tot =Tcycle +Tco clka +Tflt clka – Tjitter
          
    其中,Tcycle是時鐘信號周期;Tco clka 是系統時鐘信號CLKA(第二個上升沿)在時鐘驅動器的內部延遲;Tflt clka是時鐘信號從時鐘驅動器輸出到達接收端觸發器的飛行時間;Tjitter是時鐘的抖動誤差。
    因此我們可以根據建立時間裕量的定義,得到:
    Tsetup margin = Tclk tot – Tdata tot – Tsetup
    將前面的相應等式帶入可得:
    Tsetup marin = Tcycle + Tco clka + Tflt clka – Tjitter – Tco clkb – Tflt clkb – Tco data – Tflt data – Tsetup
    我們定義時鐘驅動器(PLL)的兩個時鐘輸出之間的偏移為Tclock Skew ,兩根CLOCK走線之間的時鐘偏移為TPCB Skew ,即:
    Tclock Skew = Tco clkb - Tco clka
    TPCB Skew = Tflt clkb - Tflt clka
    這樣就可以得到建立時間裕量的標準計算公式:
    Tsetup marin =Tcycle – TPCB skew –Tclock skew –Tjitter – Tco data – Tflt data-Tsetup  
    1.6.1
          
    再來看保持時間環:
    對照圖1-6-8,我們可以同樣的進行分析:
    Tdata delay = Tco clkb + Tflt clkb + Tco data + Tflt data
    Tclock delay = Tco clka + Tflt clka
    于是可以得出保持時間裕量的計算公式:
     Thold margin = Tdata delay – Tclock dalay – Thold time
    : Thold margin = Tco data + Tflt data + Tclock skew + Tpcb skew – Thold   1.6.2
    可以看到,式1.6.2中不包含時鐘抖動Jitter的參數。這是因為Jitter
    指時鐘周期間(Cycle to Cycle)的誤差,而保持時間的計算和時鐘周期無關。
    對于任何時鐘控制系統,如果要能保證正常工作,就必須使建立時間余量和保持時間裕量都至少大于零,即Tsetup marin >0Thold margin >0,將公式1.6.11.6.2分別帶入就可以得到普通時鐘系統的時序約束條件不等式:
    TPCB skew +Tclock skew +Tjitter + Tco data + Tflt data+Tsetup  < Tcycle    (1.6.3)
    Tco data + Tflt data + Tclock skew + Tpcb skew > Thold     (1.6.4)
    需要注意的是:
    1
    . 數據在發送端的內部延時Tco data可以從芯片的datasheet查到,這個值是一個范圍,在式1.6.3中取最大值,在式1.6.4中取最小值。
    2
    . 數據在傳輸線上的飛行時間Tflt data在實際計算中應該取最大/最小飛行時間參數,在式1.6.3中取最大飛行時間,在式1.6.4中取最小飛行時間。
    3
    . 時鐘的偏移TPCB skewTclock skew也是一個變化的不確定參數,一般為+/-N ps,同樣,在建立時間約束條件1.6.3中取+Nps,而在保持時間約束條件1.6.4中取-Nps
    從上面的分析可以看到,對于PCB設計工程師來說,保證足夠穩定的系統時序最有效的途徑就是盡量減小PCB skew和信號傳輸的飛行時間,而其它的參數都只和芯片本身的性能有關。實際中經常采取的措施就是嚴格控制時鐘和數據的走線長度,調整合理的拓補結構,并盡可能減少信號完整性帶來的影響。然而,即便我們已經考慮的很周全,普通時鐘系統的本身的設計瓶頸始終是無法打破的,也就是建立時間的約束,我們在盡可能減少由PCB布線引起的信號延遲之外,器件本身的特性如TcoJitterTSetup等等將成為最主要的制約因素,盡管我們可以通過提高工藝水平和電路設計技術來不斷提高數字器件的性能,但得到的效果也僅僅是在一定范圍之內提升了系統的主頻,在頻率超過300MHz的情況下,我們將不得不放棄使用這種普通時鐘系統設計。

    .  源同步時序系統

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

    1.  
    源同步系統的基本結構


    1-6-9是一個基本的源同步時鐘系統的結構示意圖。可以看到,驅動芯片在發送數據信號的同時也產生了選通信號(Strobe),而接收端的觸發器由該選通信號脈沖控制數據的讀取,因此,這個選通信號也可以稱為源同步時鐘信號。
     
    源同步時鐘系統中,數據和源同步時鐘信號是同步傳輸的,我們保證這兩個信號的飛行時間完全一致,這樣只要在發送端的時序是正確的,那么在接收端也能得到完全正確的時序。整個系統在時序上的穩定性完全體現在數據和選通信號的匹配程度上,包括傳輸延遲的匹配,器件性能的匹配等等,只要兩者條件完全相同,那么我們就可以保證系統的時序絕對正確,而對系統的最高時鐘頻率沒有任何限制。
    當然,對于任何數據接收來說,一定的建立和保持時間都是必須滿足的,源同步時鐘系統也同樣如此,主要體現在數據信號和選通信號之間的時序要求上。最理想的情況就是選通信號能在數據信號的中央部分讀取,如圖1-6-10所示,這樣才能保證最充分的建立和保持時間。

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

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

     
    首先考慮建立時間裕量:
     
    和普通時序分析的方法一下,我們也是從建立時間環的角度考慮,參考1-6-9的結構圖,我們可以作出驅動端和接收端的時序示意圖(1-6-11)。
     Tdata = Tco data +Tflt data
    Tstrobe = Tco strobe + Tflt strobe + Tdelay
    其中,TcoTflt分別代表數據/選通信號在器件的內部延遲和信號傳輸的飛行時間,Tdelay是指數據信號和選通信號之間的延遲,由系統內DLL延時器件決定,圖中假設為一個時鐘周期。
     
    將上式帶入建立時間裕量的計算公式:Tsetup margin = Tclk – Tdata– Tsetup
    可以得到:
     Tsetup margin =
    Tco strobe + Tflt strobe + Tdelay- (Tco data + Tflt data) – Tsetup
     
    如果我們將數據和Strobe信號在器件內的延時差異定義為Tvb;將PCB走線引起的延時差異定義為Tpcb skew
    Tvb = Tco data– (Tco strobe + Tdelay)
     Tpcb skew = Tflt data – Tflt strobe
    這樣可以得到一個簡單的建立時間裕量方程:
    Tsetup margin = - Tvb – Tsetup – Tpcb skew   (1.6.5)
     
    注意:公式1.6.5Tvb是一個負值,從公式中可以看出,如果數據和選通信號的Tco相同的話,其大小就是- Tdelay ,也就說明數據信號必須提前于選通信號發送。
     
    再考慮保持時間裕量,如圖1-6-12,同樣分析可以得到:
    Thold margin = (Tco data + Tflt data + Tdelay) – (Tco strobe + Tflt strobe) – Thold
     
    如果定義:Tva = Tco data – Tco strobe + Tdelay,為正值;Tpcb skew定義不變。則保持時間裕量的計算公式為:
    Thold margin = Tva – Thold – Tpcb skew  (1.6.6)
        
    在公式1.6.51.6.6中,兩個重要的參數是TvbTvaTvb表示“Valid before”,即數據在選通脈沖前有效存在的時間;Tva表示“Valid after”,指選通信號脈沖之后數據仍然有效持續的時間。這兩個時序參數一般都可以在器件的datasheet上會找到。
     
    和普通時鐘系統相比,源同步總線在PCB布線的設計上反而更為方便,設計者只需要嚴格保證線長的匹配就行了,而不用太多的考慮信號走線本身的長度。當然,盡管源同步數據傳輸在理論上突破了頻率的限制,但隨著頻率的提高,在控制Skew上也變得越來越困難,尤其是一些信號完整性因素帶來的影響也越發顯得突出,而且目前的高速系統設計中,往往綜合應用了普通時鐘和源同步時鐘技術,比如對于地址/控制信號采用普通時鐘總線,而高速的數據傳輸則是采用源同步總線。這些對于高速PCB設計分析人員來說是一個非常嚴峻的挑戰。

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 丁香色欲久久久久久综合网| 国产午夜亚洲精品国产成人 | 久久人与动人物a级毛片 | 国内精品久久久久久久影视| 国产猛男猛女超爽免费视频 | 国产精品久久露脸蜜臀| 欧美精品一区二区在线观看播放| 无码H黄肉3D动漫在线观看| 日韩有码中文字幕国产| 国产成人一区二区三区视频免费 | 精品日本一区二区三区在线观看 | 久久丫精品国产亚洲AV| 一区二区中文字幕久久| 婷婷五月综合色视频| 99久久激情国产精品| 免费日韩中文字幕高清电影| 亚洲精品麻豆一二三区| 理论片午午伦夜理片久久| 日韩高清亚洲日韩精品一区二区| 国产美女裸体无遮挡免费视频| 日本精品一区二区不卡| 7777精品久久久大香线蕉| 99RE8这里有精品热视频| 好吊视频一区二区三区| 成年视频人免费网站动漫在线| 少妇高潮喷水正在播放| 又爽又黄又无遮挡的视频 | 国产美女精品自在线拍免费| 久久精品国产一区二区三区不卡| 好满射太多了装不下了真人| 中文字幕有码日韩精品| 中文无码AV一区二区三区| 国内精品视频一区二区三区八戒| 久热这里只有精品12| 日本XXXX色视频在线观看免费| 国产性色的免费视频网站| 国产99在线 | 亚洲| 国产亚洲一区二区在线观看| 国产在线不卡精品网站| 中文字幕日韩人妻一区| 国产偷国产偷亚洲高清人|