帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
Data Bus之Timing設計探微
 

【作者: 高士】   2005年02月01日 星期二

瀏覽人次:【10466】

最近幾年由於CPU的計算速度增加,電腦系統大多以數十MHz的Clock頻率動作,加上資料傳輸速度不斷提升佈線的高密度化,使得印刷電路板上的信號傳輸時脈(Timing)重要性逐漸受到重視,因此本文要介紹印刷電路板的導線Timing計算方法,以及Timing的分配技巧。


Timing設計主要目的分別如下:


  • (1)調整系統內部各元件,使各元件能夠相互正確傳輸資料。


  • (2)決定Clock與Strobe的Timing,藉此避免接收器內部元件不會違反Set Up時間與Hold時間。


  • (3)根據系統內各部位的需求,合理分配Timing。



如上所述,利用印刷電路板進行精確、高速化信號傳輸越來越困難,腳架之間單純使用導線連接的設計,對高速信號而言顯然不夠完善,因此設計者必需將驅動器送出信號的Timing,與接收器抓取信號的Timing一併列入考慮,尤其是連接各元件的佈線Layout方式,往往決定資料傳輸的精確性,因為正確的佈線Layout不但可以獲得低噪訊、低Overshot效果,同時還可以確保Timing的約束,並有效抑制噪訊輻射量。


Timing的基本設計

有關印刷電路板上的信號傳輸Timing規定,基本上它與LSI內部的信號傳輸Timing規定完全相同。如(圖1)(a)所示,LSI內部資料從Flip Flop FF1傳送到Flip Flop FF2時,FF1-FF2之間組合理論電路與延遲時間,必需符合FF2的站立維持(Hold)時間的約束。例如「LSI的Clock頻率為200MHz」時,利用複數cycle傳輸資料的路徑除外,所有Flip Flop之間的傳輸資料通常都超過200MHz,也就是說即使最慢的Flip Flop之間的資料傳輸時間,也必需低於「從5ns減掉FF2站立時間之後的值」。


事實上印刷電路板的設計與資料傳輸完全相同,因為在驅動器與接收器LSI內部都有所謂的Flip Flop,而Timing取決於該Flip Flop之間的資料傳輸。


如圖1(b)所示遵循從驅動器LSI Flip Flop FF1輸出的信號,到達接收器LSI Flip Flop FF2的站立時間與hold時間約束,乃是設計資料傳輸Timing最終追求目標。


《圖一 以Clock為基準的資料傳輸方法》
《圖一 以Clock為基準的資料傳輸方法》

(表一)是LSI內部的Timing設計,與印刷電路板上LSI之間的Timing設計比較。由表可知兩者最大差異是使用何物決定延遲時間,因為兩個Flip Flop FF1與FF2之間的延遲時間,在LSI的佈線主要是利用結合理論電路的段數,以及理論電路之間的導線阻抗與容量,藉此方式再由RC延遲決定;相較之下印刷電路板則是以基板上的導線延遲時間與緩衝器的延遲時間決定。


因此Timing的設計重點,在LSI是以「如何減少結合理論電路的段數」為主;在印刷電路板則是「如何以適當的導線長度連接各元件」為主,也就是說後者是以基板上的元件分佈與導線Layout為前提,使FF1與FF2之間的驅動器、緩衝器、接收器等傳輸延遲時間,符合FF2的Set Up時間與Hold時間限制。


有關延遲的表示方式,在LSI內部主要使用由阻抗與容量構成的具有損失的模式(model);在印刷電路板大多使用電感(inductance)與容量構成的無損失的模式。隨著LSI製作技術的微細化,雖然LSI內部導線延遲仍扮演支配性角色,不過它與忽視阻抗,計算印刷電路板上導線延遲時常用的模式截然不同。(圖二)是LSI與印刷電路板的佈線模式比較。


表一 LSI與PCB的timing設計差異比較
  LSI內部 PCB
驅動器 FF1 驅動LSI(FF)
決定延遲的主要原因

FF之間的組合電路與佈線延遲時間

LSI之間的信號傳輸延遲時間
接收器 FF2 接收器LSI(FF)
Clock源

LSIClock產生器PLL等等)

基板上的Clock產生器
延遲模式 RC延遲 LC延遲


《圖二 LSI與印刷電路板的佈線模式比較》
《圖二 LSI與印刷電路板的佈線模式比較》

Timing設計常用變數簡介

接著介紹有關Timing設計時,常用變數名稱的內涵與定義。


  • ˙tac:存取時間(access time)。它是指Clock信號輸入到驅動器的Clock端子後,一直到最遲有效資料開始輸出的時間。不過它並不保證Clock信號輸入後tac之前,有效資料會輸入至資料端子。


  • ˙toh:資料輸出維持時間。資料輸出維持時間所謂最快也是從Clock被輸入到驅動器的腳架(pin),一直到toh之後才會輸出有效資料,也就是說在toh之前雖然有效資料被輸入到資料端子,不過之後數值可能發生變化。此處定義toh的基準與 tac的Clock是指下一個Clock Edge而言。


  • ˙tsu:Set Up時間。接收器為正確抓取資料,資料輸入端子的Clock站立端緣必需在tsu之前就已經被確定。


  • ˙tho:Hold時間。接收器為正確抓取資料,資料必需維持到比資料輸入端子的Clock站立尾端(edge)更後方的tsu為止。


  • ˙tpd:資料傳輸延遲時間。資料從驅動器傳輸到接收器必要的時間。



根據以上定義,如(圖三)所示,被tac與toh夾持時間,是指驅動器LSI輸出資料時間,亦即接收器LSI為正確抓取該有效資料,因此輸入資料會將tho與tho覆蓋。


《圖三 tac與toh規範有效資料的輸出Timing》
《圖三 tac與toh規範有效資料的輸出Timing》

雖然在接收器的Timing規範中,分別設有Set Up時間與Hold時間等規定,不過令人好奇的是,若不遵循上述規定時會有怎樣的影響?有關這點如(圖四)所示,所謂的Flip Flop的Set Up時間,是假設將Clockψ的Clock站立端緣定義為基準,依此一旦確定“H”與“L”已經遵循Set Up時間與Hold時間的話,便可因正歸返(return)維持上述兩值,也就是說包含在Flip Flop內的正歸返電路,會將信號增幅同時再將D與Q成為“H”與“L”。


相反的,如果不遵循上述Set Up時間的話,由於正歸返的初期值一直到維持資料確定為止的時間會發生變化,某些情況即使想要抓取“H”的資料,有可能因為極微少的噪訊重疊變成“L”,這種現象稱為「meta stable」,其是數值即使未反相的場合,數值完全確定為止的時間如果發生相異時,有可能會影響資料傳送到下一個Flip Flop的Timing,進而造成誤動作等後果。


《圖四 未遵照Set Up時間與hold時間引發亞穩(metastable)狀態》
《圖四 未遵照Set Up時間與hold時間引發亞穩(metastable)狀態》

(圖五)是將資料從FF1傳送到FF2時Timing關係單純化的結果,由圖可知Clock信號一旦輸入到FF1,資料立即被輸出到Clock信號的站立尾端,一直到存取時間(access time)tac之後為止,根據以上定義所謂「有效資料輸出時段」,事實上是指從tac一直到利用下一個Clock信號站立端緣定義的資料輸出維持時間toh而言。


由於資料從FF1傳送到FF2時間一定,所以可以將該資料有效期間視為固定維持現狀,因此從FF1到FF2之間的導線傳輸延遲時間tpd,實際上是經過延遲後才到達FF2。此處FF2為正確抓取資料,資料有效期間必需將Clock端緣規定的Set Up時間tsu與維持(hold)時間tho完全覆蓋。如(圖五)下方第二段所示,傳輸延遲時間tpd過大時,由於無法滿足FF2的Set Up時間,所以不能順利抓取資料;此外如圖五下方最末段所示,傳輸延遲時間tpd過短時,相反的無法滿足維持時間約束,因此同樣不能順利抓取資料。


《圖五 單純化之後的資料傳輸時序》
《圖五 單純化之後的資料傳輸時序》

兩種Clock分配方式與Timing的設計技巧

面對同步系統的Timing,通常會針對基準信號做某種規範,一般而言Clock往往會成為基準信號,因此Clock分配方式與信號波形就順理成章成為設計上非常重要的課題之一。


印刷電路板資料傳輸常用的Clock信號分配方式,分別有Common Clock與Source Synchronous兩種,因此接著本文要以Common Clock與Source Synchronous設計實例,探討Timing的設計技巧。


有關Common Clock方式的Timing規定

(圖六)是利用Common Clock方式構成的資料傳輸系統,此處要探討資料從LSI1傳輸到LSI2的動作特性。假設從LSI1到LSI2的Clock分配,是根據印刷電路上的Clock信號產生器CPG,再透過時計緩衝器(Clock Buffer)執行。


《圖六 利用Common Clock方式傳輸資料》
《圖六 利用Common Clock方式傳輸資料》

驅動端的Timing

(圖七)是驅動端的Time Chart,橫軸為時間越往右側表示時間越遲緩,在波形橫向側邊的A1、B1、C1、D1、E1,分別與圖六中的各位置相對應,它是以A點波形為基準,表示各點觀測獲得的波形行進與延遲特性。


圖六中的點A到達時計緩衝器的時計信號,輸入到點B1只遲緩緩衝器的延遲時間tbuf_clk1 ;點B1的信號抵達驅動器LSI1的Clock信號輸入端子C1時,只遲緩印刷電路板上導線的延遲時間tpd_clk1,亦即Clock抵達LSI1的實際Timing。此處若以該Timing為基準,則LSI1只會在tac_data與toh_data定義期間輸出有效資料,而輸出的資料在LSI1與LSI2之間的延遲時間tpd_data之後才會到達點E1。


《圖七 Common Clock方式的驅動器資料輸出Timing》
《圖七 Common Clock方式的驅動器資料輸出Timing》

接收端的Timing

(圖八)是LSI2輸入資料的Timing。由圖可知點A抵達時計緩衝器(clock buffer)的Clock信號輸出到B2時,只遲緩緩衝器LSI的延遲時間tbuf_clk2,抵達LSI2的Clock信號輸入端子C2時,只遲緩印刷電路板上導線的延遲時間tpd_clk2,亦即Clock抵達LSI2的實際Timing。此處若以該Timing為基準,就可以定義Set Up時間tsu與維持時間(hold time)tho。LSI2為抓取資料因此在到達E1的資料有效期間內,只要將Set Up時間與維持時間覆蓋即可。依此分別精確描繪輸出與輸入兩者的Time Chart,再將兩圖堆疊使點A的基準時計一致,便可以知道資料是否能夠順利傳送。


《圖八 Common Clock方式的驅動器資料輸出Timing》
《圖八 Common Clock方式的驅動器資料輸出Timing》

如何計算Common Clock方式的Timing

此處假設以點A的Clock站立Edge為基準,抵達LSI2的有效資料兩端的時刻tE1_min與tE1_max可用下式表示:



《公式一》
《公式一》

此外到達接收器LSI2的Clock信號站立尾端,以點相同的站立端緣為基準,進而成為的下一個時段:



《公式二》
《公式二》

因此Set Up界限(margin)可用下式表示:



《公式三》
《公式三》

根據同樣的計算方式,Hold端的界限(margin)可用下式表示:



《公式四》
《公式四》

式中的tbuf_skew是指時計緩衝器腳架之間的輸出時間差,它是用下式定義:



《公式五》
《公式五》

式中的tpd_clk_skew是指導線Layout造成的時計信號傳輸延遲時間差,它可用下式定義:


《公式六》
《公式六》

導線長度決定資料傳輸頻率的上限值

根據公式(4)可知Common Clock方式,LSI之間的導線傳輸時間tpd越大,Set Up界限則相對降低;相形之下根據公式(5)可知,LSI之間的導線傳輸延遲時間tpd越大,維持界限(Hold Margin)則隨著增加,尤其是信號的傳輸周期tcycle較小的高速信號傳輸,為遵循Set Up時間的約束,因此必需降低tpd_data、tpd_clk_skew、tsu、tbuf_skew。


由於本文設計實例使用的tac、tsu、tbuf_skew是利用LSI決定,這意味著低變數(parameter)LSI對高頻系統比較有利。此外有關基板設計者可以改善的項目,主要是以傳輸延遲時間tpd_data為主。具體方法是盡量降低導線長度,藉此降低傳輸延遲時間tpd_data,或是刻意使分配到驅動器以及利用接收器的Clock導線長度產生差異(tpd_clk_skew)藉此調整Timing,這種理方法論上也能夠改善Set Up時間,不過類似記憶體的資料導線,可作雙向資料傳輸的場合,根本上無法大幅改變驅動器與接收器的Clock Timing,因此本質上並沒有解決對策。


由於LSI之間的傳輸延遲時間tpd_data取決於LSI之間的距離,所以利用Layout技巧,使Clock信號的傳輸延遲時間差變成0,以物理層面而言並無法無限制減少,這意味著Common Clock方式,由於LSI之間的傳輸延遲問題,最大傳送頻率會受到一定的限制,尤其是高傳輸頻率低傳輸周期tcycle的情況,驅動器與接收器之間的距離會變得非常小。一般印刷電路基板基於元件設置方式與導線長度等實際考量,因此Common Clock方式的Clock頻率上限值,通常都被限制在200~300MHz範圍內。


Jitter只會壓迫Set Up時間

如上所述,繪製Time Chart可以快速有效求得計算Timing,因此此處依樣畫蘆繪製Time Chart,藉此檢討Clock Jitter對Timing的影響。


(圖九)是Clock含有抖動(Jitter)的Time Chart。所謂「Jitter」是因為熱或是電源電壓變化,以及噪訊(noise)的影響,造成傳輸資料(矩形波)的duty隨著cycle發生變化,並且從正常遷移位置作時間性前後移動。


此處針對Clock含有Jitter,探討站立尾端(時段的基準)對站立時間快慢的影響。變化後的尾緣如圖九的點B2與點C2所示,它的影響波及接收器的時計(clock),並且使資料的輸入Timing產生與點A相同的變化,在此同時驅動器被分配到相同的Clock,其結果是利用變動中的尾緣定義的Timing,只將輸出維持時間作位置變動。屬於Clock輸入的點C2的Timing變化,與點E的Timing變化,為了要使相同Clock復原勢必變成相同方向,結果是維持界限(hold margin)即使有Jitter也不會發生改變,而Set Up界限(margin)只會對抓取Clock作變化。


《圖九 利用Clock Jitter的Timing變化》
《圖九 利用Clock Jitter的Timing變化》

有關Source Synchronous方式的Timing規定

利用Strobe信號解決Common Clock方式的缺點

(圖十)是以Source Synchronous Clock做基準信號,進行Source Synchronous方式資料傳輸的方塊圖。它是利用驅動器LSI1的時計脈衝(clock pulse)產生器CPG輸出資料,在此同時則送出可以抓取資料的Timing基準信號(該基準信號又稱為Strobe信號),接著再配合資料的有效時間中段,達成資料同步傳輸的目的。由圖可知在Source Synchronous方式,資料從LSI1傳送到LSI2時是根據Strobe作規範,而不是使用可以使LSI2抓取資料的Timing,與基板上所有LSI都能夠同時抵達的Clock做約束。


《圖十 利用Source同步傳輸資料的方塊圖》
《圖十 利用Source同步傳輸資料的方塊圖》

上節介紹的Common Clock方式,驅動器與接收器LSI兩者距離越大,資料信號的延遲會隨著增加,因此成為抓取資料的基準,亦即Clock Timing是否常時送出一定的Clock,反而變成爭論的焦點問題。相形之下Source Synchronous方式,可以透過巧妙的設計使成為抓取資料的基準,亦即Strobe信號具備相同的延遲,如此一來便可以化解LSI之間距離造成的限制。


如何計算Source Synchronous方式的Timing

(圖十一)是利用Source Synchronous方式傳輸資料的Time Chart。由圖可知Set Up界限(margin)可用下式表示:


@內文式中的tC1_min是指抵達接收器LSI2的有效資料左側的時段。此外tvb與tpd_skew分別用下式表示:


《圖十一 Source Synchronous方式的驅動器資料輸出Timing》
《圖十一 Source Synchronous方式的驅動器資料輸出Timing》

(圖十二)主要是解釋tvb的動作特性。相較於Strobe信號的站立端緣,tvb可以表示資料從多久之前開始變成有效資料,外觀上tvb的計算式很容易被誤認為Set Up界限(margin)常時呈負的狀態,然而實際上tvb本身就是負值,所以界限反而成正的值。tpd_skew主要是表示資料信號與Strobe信號的傳輸延遲時間差。


維持界限(hold margin)thd_mgn可用下式表示:


式中的tva是指strobe信號的站立尾端緣之,有多少的時間資料是有效持續。


《圖十二 資料信號與Strobe信號的關係》
《圖十二 資料信號與Strobe信號的關係》

資料傳輸頻率的上限不受導線長度影響

以上介紹的公式(6)與公式(7)兩者都不含導線的延遲時間,這意味著Source Synchronous方式的資料傳輸頻率的上限與Common Clock方式不同,它不會受到導線長度影響。由於資料傳輸頻率的上限取決於資料與Strobe信號的偏協(skew),因此Source Synchronous方式比較適合長導線高頻率的應用。


Common Clock方式與Source Synchronous方式兩者,許多情況都使用共通的時計(clock),由於Strobe信號與Clock信號並非非同步。為了要充分應用抓入chip內部的資料,所以必需使資料同步化,基於此需求所以一般都會設置FIFO緩衝器(buffer)。


有關Timing預算的分配

Timing預算的重要性

到目前為止都是以LSI依照理想條件動作為前提,探討是否可以順利抓取資料。然而實際設計卻必需考慮即使有噪訊等各種因素,發生包含Timing變動在內的變化也能夠常時傳送資料,例如根據各LSI之間的AC Timing規格,使用非常接近傳輸時間上限容許值的長導線的話,除了會造成電源變動與Crosstalk變大延遲時間增加之外,特定pattern甚至有可能無法傳輸資料。因此設計上必需針對設計對象,充分檢討Timing的分配。


何謂Timing預算

(圖十三)是Timing預算概念圖,基本上它是以資料有效時間,與Clock等資料抓取為主要考量,探討有關基準信號的動作特性。例如使用Data Bus等複數導線進行資料傳輸時,由於導線之間的偏斜時間tpd_skew造成資料有效時間減少,因此所有導線輸出有效資料的時間,反而是最早抵達接收器的導線,與最晚抵達接收器的導線兩者形成的共通部份,因此若將它當作新的有效資料時間的話,如圖十三的A、B、C、D所示,由於偏斜(skew)與噪訊(noise)的影響,將導致效時間逐漸減少。


圖十三的A是指Clock的Jitter造成的界限(margin)減少,如上節介紹的圖九 Common Clock系統,由於Clock Jitter,會造成Set UP端的界限降低;B是指Crosstalk;C是指電源電壓變動;D是指符號(symbol)之間的干涉造成界限降低,整體而言A、B、C、D都會隨著Set UP時間與Hold時間逐漸降低。


由於導線長度經常造成基準信號的輸出資料無法進入有效時間的中央部位,加上噪訊的影響,使得基準信號有可能不是Set UP端與Hold端的動作對象,因此除了透過導線長度最佳化設計之外,還必需針對造成Timing變動的原因,依照Timing規範的目標值設法使最後界限變成正。


《圖十三 造成Symbol界限減少的原因》
《圖十三 造成Symbol界限減少的原因》

Timing預算的分配實例

(表二)將圖13具體數值化的結果。類似Data Bus等必需作雙向甚至是多向資料傳輸的場合,建議讀者最好根據彼此的傳輸方向製作類似表2的檢討表。


表2的描述方式是依照各端子對應的有效資料輸出時間為主,因此去除各項目的Timing變動成份,表中附有「*」符號的項目,例如Set Up時間與Hold時間基本上是由LSI決定。由於類似DRAM等汎用LSI的data sheet,大都會詳細記載計算Timing時必要的數據,使用上相當方便。


此外Clock的Jitter同樣是由Clock LSI決定,不過必需注意的是產生Clock的LSI電源電壓如果變動的話,Jitter也會隨著增加,因此建議讀者設法降低界限。


表二 Timing預算分配例
符號 分配項目 數值列【ns】
-- 資料有效時間 4.8
-- 傳輸延遲時間歪斜 -0.5
A Clock的Jitter -0.2
-- Set UP/Hold時間 -2.3
B 導線之間的crosstalk噪訊 -0.6
C 電源變動 -0.5
D Symbol之間的干涉 -0.3
-- Set UP+Hold +0.4

導線的傳輸延遲時間最大值與最小值的差異(skew),可以透過基板上電子元件設置,與LSI接線順序的佈置(layout)作改變,尤其是傳輸線路必需充分考慮信號的over shoot、under shoot以及波形的段落,並利用電腦模擬分析依序改變導線的topology,與分岐的位置以及長度,藉此方式盡可能事先正確估算導線的傳輸延遲時間。


由於基板上佈滿各種導線,所以信號傳輸導線常時受到鄰近電源或是接地層的影響,為提高估算高速信號傳輸系統Timing的精度,筆者建議進行電腦模擬分析時,應該將複數電路整合以及電源電壓一併列入考慮。


結語

以上介紹Data Bus的Timing設計技巧。如上所述由於CPU的計算速度增加,電腦系統的Clock頻率動作也隨著大幅提高,加上資料傳輸速度不斷提升、佈線的高密度化,一般認為未來印刷電路板上的信號傳輸Timing重要性,勢必更受到設計者的重視。


延 伸 閱 讀
設計過程中最重要的一步是確定要用多少個不同的時脈,以及如何進行佈線,本文將對這些設計策略深入闡述 。相關介紹請見「利用FPGA的多時脈設計策略 」一文。
本文將深入探討無雜訊時脈脈衝產生器配合完善的時脈電路設計,如何大幅改善資料擷取系統訊號雜訊比並提升效能。你可在「無雜訊時脈脈衝產生器」一文中得到進一步的介紹。
設計高頻電路用電路板有許多注意事項,尤其是GHz等級的高頻電路,更需要注意各電子元件pad與印刷pattern的長度對電路特性所造成的影響。在「高頻電路用電路板設計技術探索 」一文為你做了相關的評析。
市場動態

IDT十日推出電腦時脈(PC Clock)單晶片,將結合PCI Express技術,並針對下一代Intel Centrino行動運算技術(代號Sonoma)的筆記型電腦而設計。IDT電腦時脈單晶片專為筆記型電腦而設計

ADI發佈新的時脈IC系列產品,能在當今高性能電子應用中,例如無線基礎設施收發機、儀器和寬頻基礎設施,滿足嚴格的信號處理要求。ADI推出低抖動性能的時脈IC

皇家飛利浦電子(Royal Philips Electronics)旗下的Handshake Solutions宣布將與ARM合作開發並銷售一款內建Handshake Solutions獨有的低功率自我計時(self-timed)的ARM處理器。
ARM與Handshake Solutions合作開發無時脈處理器

相關文章
汽車微控制器技術為下一代車輛帶來全新突破
擺明搶聖誕錢!樹莓派500型鍵盤、顯示器登場!
Arduino新品:UNO SPE擴充板,隨插即用UNO R4實現超高數據傳輸、即時連結
以馬達控制器ROS1驅動程式實現機器人作業系統
推動未來車用技術發展
相關討論
  相關新聞
» 3D IC封裝開啟智慧醫療新局 工研院攜凌通開發「無線感測口服膠囊」
» 日本SEMICON JAPAN登場 台日專家跨國分享半導體與AI應用
» Nordic Thingy:91 X平臺簡化蜂巢式物聯網和Wi-Fi定位應用的原型開發
» 豪威集團推出用於存在檢測、人臉辨識和常開功能的超小尺寸感測器
» ST推廣智慧感測器與碳化矽發展 強化於AI與能源應用價值


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.18.226.17.3
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw