互連時序模型與布線長度分析
掃描二維碼
隨時隨地手機(jī)看文章
高速數(shù)字電路互連時序模型與布線長度分析
高速電路設(shè)計領(lǐng)域,關(guān)于布線有一種幾乎是公理的認(rèn)識,即“等長”走線,認(rèn)為走線只要等長就一定滿足時序需求,就不會存在時序問題。本文對常用高速器件的互連時序建立模型,并給出一般性的時序分析公式。為體現(xiàn)具體問題具體分析的原則,避免將公式當(dāng)成萬能公式,文中給出了MII、RMII、RGMII和SPI的實(shí)例分析。實(shí)例分析中,結(jié)合使用公式分析和理論分析兩種方法,以實(shí)例證明公式的局限性和兩種方法的利弊。本文最后還基于這些實(shí)例分析,給出了SDRAM和DDR SDRAM等布線的一般性原則。
本文通過實(shí)例指明時序分析的關(guān)鍵在于:對具體時序理解透徹的基礎(chǔ)上,具體問題具體分析,不能一味的套用公式,更不是通過走線的等長來解決時序問題。
1.典型高速器件互連時序模型
圖1給出通用高速器件互連接口簡化模型。圖中,左側(cè)虛線框表示通信器件雙方的主控端。常見的實(shí)際情形有:SDRAM控制器、SPI主控制器等。經(jīng)過適當(dāng)?shù)难莼诒灸P秃苋菀椎玫絀2C主控端、MII接口的TX組模型、RMII共享時鐘模型以及DDR控制信號與地址信號的互連模型等。右側(cè)虛線框表示通信中的被動端。本模型中,數(shù)據(jù)是雙向的,但是時鐘是單一方向。簡單地說,就是時鐘單一方向發(fā)送,數(shù)據(jù)雙向傳遞。這個特點(diǎn)是本模型的適應(yīng)場景。
圖1簡化的器件互連模型
圖2是基于本模型的數(shù)據(jù)寫時序關(guān)系圖。圖中,T0表示主控端內(nèi)部時鐘發(fā)生器CLK發(fā)出的時鐘到達(dá)觸發(fā)器Q1時鐘輸入端的延時;T1表示觸發(fā)器Q1接受到時鐘后到Q1輸出端出現(xiàn)數(shù)據(jù)的延時;T2表示主控端內(nèi)部時鐘發(fā)生器CLK發(fā)出的時鐘到主控端外部時鐘輸出引腳的延時;T3表示內(nèi)部觸發(fā)器Q1輸出的數(shù)據(jù)到達(dá)主控端外部數(shù)據(jù)輸出引腳的延時。通常,半導(dǎo)體制造商不會給出T0-T3這些參數(shù),通常會給出一個用于反映這些參數(shù)最終等價效果的參數(shù),即主控端外部數(shù)據(jù)引腳上出現(xiàn)數(shù)據(jù)時相對于外部時鐘引腳出現(xiàn)時鐘信號的延時,這里記為Tco.
圖2數(shù)據(jù)寫時序圖
時序分析最關(guān)心的參數(shù)是信號到達(dá)接受端的最終建立時間和保持時間是否符合器件要求。這里將建立時間和保持時間分別記為Tsetup和Thold.Tflt-clk和Tflt-data分別表示時鐘信號和數(shù)據(jù)信號的飛行時間,即他們在對應(yīng)走線上的延時。Tjitter-clk和Tjitter-data分別代表時鐘信號和數(shù)據(jù)信號上的抖動時間。
器件的建立時間和保持時間是通過描述器件外部的時鐘引腳和數(shù)據(jù)引腳上的時序關(guān)系來反映器件內(nèi)部相關(guān)的時序延時和相關(guān)目標(biāo)邏輯時序關(guān)系的集總參數(shù)。信號從器件的引腳到內(nèi)部目標(biāo)邏輯存在一定延時,同時內(nèi)部邏輯需要最終的建立和保持時間,綜合器件內(nèi)部的這些需求,最終得到器件對外的時序要求。
分析圖2中時鐘信號和數(shù)據(jù)信號的相互關(guān)系,可以發(fā)現(xiàn):由于Tco的存在,如果器件間的時鐘和數(shù)據(jù)走線等長,則在接收端,用于發(fā)送時間的邊沿不能用于數(shù)據(jù)的采樣。為了在接收端對數(shù)據(jù)進(jìn)行正確采樣,必須調(diào)整時鐘和數(shù)據(jù)走線的關(guān)系,有兩種方法:第一,時鐘走線長于數(shù)據(jù)走線,使得數(shù)據(jù)飛行時間較時鐘短。此時,在接收端仍然可以使用產(chǎn)生數(shù)據(jù)的時鐘沿采樣數(shù)據(jù);第二,數(shù)據(jù)走線比時鐘長,使得數(shù)據(jù)飛行時間較時鐘長。此時,可以使用使用產(chǎn)生數(shù)據(jù)時鐘沿的下一個上升沿采樣數(shù)據(jù)。
實(shí)際工程中,設(shè)計人員一般使用第二種方法并希望對于數(shù)字系統(tǒng)的建立時間和保持時間都留有一定裕量,因此我們可以得出下列公式,即建立時間公式:
(Tsetup)min + (Tco)max + (Tflt-data - Tflt-clk)max + Tjitter-clk+ Tjitter-data (Thold)min(2)
很顯然,Tco、Tflt-data、Tflt-clk中,Tco是器件的固有參數(shù),Tflt-data和Tflt-clk取決于對應(yīng)的PCB走線長度和走線層等。如果Tflt-data和Tflt-clk的差過小,則導(dǎo)致數(shù)據(jù)的保持時間不足;如果過大,則會使得建立時間不足。因此,Tflt-data和Tflt-clk的差存在上限和下限雙重限制。
圖3數(shù)據(jù)讀時序圖
圖3是基于本模型的數(shù)據(jù)讀時序關(guān)系圖。圖中參數(shù)含義與前述相同。需要注意的是:在讀關(guān)系中,時鐘首先需要從主控端傳到從端,待從端發(fā)出的數(shù)據(jù)回到主控端后,才能由主控端對數(shù)據(jù)進(jìn)行采樣。因此,建立和保持時間的公式如下:
(Tsetup)min + (Tco)max + (Tflt-data)max + (Tflt-clk)min + Tjitter-clk+ Tjitter-data < T (3)
(Thold)min< (Tco)min + (Tflt-data)min + (Tflt-clk)max - Tjitter-clk- Tjitter-data (4)
參數(shù)Tco、Tflt-data 、Tflt-clk中,To是器件的固有參數(shù),Tflt-data 和Tflt-clk取決于對應(yīng)的PCB走線長度和走線層等。如果Tflt-data 和Tflt-clk的總和過小,則導(dǎo)致數(shù)據(jù)的保持時間不足;如果過大,則會使得建立時間不足。因此,Tflt-data 和Tflt-clk的和存在上限和下限雙重限制。
需要額外說明的是,前述公式的分析中暗含一個結(jié)果,就是:默認(rèn)器件的輸出保持時間和輸出延時是等時間的。實(shí)際上,不同的半導(dǎo)體器件具有不同的情況,即使同一個半導(dǎo)體器件,在每次輸出數(shù)據(jù)時也不一定是完全相同的。這正是本文開始就一再強(qiáng)調(diào)的,時序分析的公式并不是萬能的,盡管大多數(shù)情況均適用,鑒于現(xiàn)實(shí)世界中的情況多樣,必須具體問題具體分析。
還有一個問題:是否可以使用產(chǎn)生數(shù)據(jù)時鐘沿的次次上升沿采樣數(shù)據(jù),或者更靠后的邊沿來采樣數(shù)據(jù)。圖4所示是1#時鐘沿發(fā)出的數(shù)據(jù)由3#時鐘沿采樣的例子,在前述內(nèi)容中,1#時鐘沿發(fā)出的數(shù)據(jù)均由2#時鐘沿采樣。此處。為了在接收端有較好的建立和保持時間,可以看出數(shù)據(jù)的飛行時間最好要大于一個時鐘周期。假設(shè)此時鐘周期為40ns,表層走線,板材為FR-4,則數(shù)據(jù)線的最小長度要635CM。即使時鐘周期為8ns,數(shù)據(jù)線最小長度也要127CM。這顯然不是我們所希望的。因此,實(shí)際中使用產(chǎn)生數(shù)據(jù)時鐘沿的次上升沿來采樣數(shù)據(jù)。
圖4 使用數(shù)據(jù)產(chǎn)生沿的后續(xù)邊沿采樣數(shù)據(jù)
2.時序分析實(shí)例
2.1 MII接口
MII接口是最常用的百兆以太網(wǎng)PHY芯片與MAC間的接口,表1和表2分別是某百兆PHY芯片和某MPU內(nèi)部MAC的RX通道時序參數(shù)表。
表1某PHY芯片RX通道時序參數(shù)表
表2某MPU內(nèi)MAC RX通道時序參數(shù)表
通過表格可以看出,MAC側(cè)要求RXD、RX_DV和RX_ER信號對RX_CLK信號的建立與保持時間最小為8ns,也就是實(shí)際的建立與保持時間不得小于8ns.假設(shè)RXD、RX_DV與RX_CLK信號從PHY側(cè)到MAC側(cè)的延時完全相同,則在MAC側(cè)有:
傳輸?shù)臅r鐘周期為40ns;
最小的建立時間為40-tval =12ns;
最小的保持時間為thold = 10ns;
最小的建立時間和保持時間總和為22ns;
假設(shè)RXD、RX_DV和RX_ER信號對RX_CLK信號存在延時,則存在兩種極端情況:
當(dāng)延時導(dǎo)致建立時間達(dá)到最低要求,即當(dāng)相對延時為+4ns時,則在MAC側(cè)建立時間為8ns,保持時間為14ns;
當(dāng)延時導(dǎo)致保持時間達(dá)到最低要求,即當(dāng)相對延時為-2ns時,則在MAC側(cè)建立時間為14ns,保持時間為8ns;
假設(shè)MII接口走線在PCB表層,PCB板材為FR-4,可知信號傳輸速度大約為160ps/inch,綜合上述兩種情況,可以得出RXD、RX_DV和RX_ER相對RX_CLK的走線長度關(guān)系為:延遲+4ns時,RXD、RX_DV和RX_ER走線相對RX_CLK可以長:4000/160 * 2.54 = 63CM;延遲-2ns時,RXD、RX_DV和RX_ER走線相對RX_CLK可以短:2000/160 * 2.54 = 32CM;可見,對于MII的RX通道信號,可以無需考慮等長。
注意,時序關(guān)系不代表不需要考慮反射問題。當(dāng)信號在走線上的傳播和返回延時比信號的上升時間長時,就有必要考慮是否進(jìn)行終端阻抗匹配以抑制反射。
下面使用公式進(jìn)行計算,以對比理論分析和公式法的優(yōu)劣。為簡化計算,忽略公式(1)和公式(2)中的抖動因素Tjitter-clk和Tjitter-data,相關(guān)公式變?yōu)椋?br />
(Tsetup)min + (Tco)max + (Tflt-data - Tflt-clk)max(Thold)min(6)
將表2和表3中的參數(shù)帶入公式(5)和公式(6),得出:
10 - (Tco)minflt-data - Tflt-clk< 4
由于PHY芯片參數(shù)并沒有給出(Tco)min這個參數(shù),所以公式無法得到最終結(jié)果。由于PHY芯片的最長輸出延時為28ns,最短保持時間為10ns,在此假設(shè)(Tco)min為12ns,則:
-2flt-data - Tflt-clk< 4
可分解為:
Tflt-data - Tflt-clk< 4
Tflt-clk-Tflt-data< 2
換算成長度就是:
Lflt-data - Lflt-clk<63CM
Lflt-clk -Lflt-data<32CM
可以看出,使用公式分析時有時會受到參數(shù)不全的制約,這時需要根據(jù)其他參數(shù)推斷出需要的參數(shù)。對比分析法和公式法,可以看出:分析法比較繁瑣,需要認(rèn)真分析時序關(guān)系,而公式法卻非??旖荨2贿^,公式法有時會受到參數(shù)的制約,得不到全面的結(jié)論。實(shí)際中,應(yīng)該兩種方法結(jié)合使用。
下面分析該P(yáng)HY芯片和MAC間TX通道的時序。表3和表4分別是該百兆PHY芯片和MPU內(nèi)部MAC的TX通道時序參數(shù)表。
表3 某PHY芯片TX通道時序參數(shù)表
表4 某MPU內(nèi)MAC TX通道時序參數(shù)表
使用公式進(jìn)行計算,為簡化忽略公式(3)和公式(4)中的抖動因素Tjitter-clk和Tjitter-data,則相關(guān)公式變?yōu)椋?/p>
(Tsetup)min + (Tco)max + (Tflt-data)max + (Tflt-clk)min
< T
(Thold)min< (Tco)min + (Tflt-data)min + (Tflt-clk)max
帶入上述參數(shù)表中的參數(shù),化簡得到:
Lflt-data + Lflt-clk< 47.625CM
假設(shè)MII走線在PCB表層,PCB材料為FR-4,走線傳輸速度為160ps/inch,綜合上述分析,可以得出TXD、 TXEN 分別和 TXCLK的走線之和不能大于47CM。實(shí)際布線中,本組走線應(yīng)當(dāng)越短越好。走線越短,則數(shù)據(jù)的建立時間越充足,保持時間越少。本實(shí)例中,恰好MAC側(cè)允許保持時間為0ns。
2.2 RMII接口
RMII接口也是常用的百兆以太網(wǎng)PHY芯片與MAC間的接口。表5是某百兆PHY的時序參數(shù)表,表6和表7分別是某MPU內(nèi)部MAC的時序參數(shù)表。
表5某PHY芯片的時序參數(shù)表
表6某MPU內(nèi)MAC RX通道時序參數(shù)表
表7某MPU內(nèi)MAC TX通道時序參數(shù)表
該MPU內(nèi)MAC在RMII模式時,不支持時鐘輸出,同時PHY要求時鐘信號為輸入。該MPU配合PHY工作在RMII模式下,需要外部使用一顆符合雙方精度要求的50MHz振蕩器,來為雙方提供時鐘基準(zhǔn)。
為簡化時序分析,可以將外部振蕩器至MPU和PHY雙方的走線設(shè)計為等長,此時時鐘信號在兩者的時鐘輸入引腳上具有完全一致的時刻。
注意:等長走線的一般實(shí)現(xiàn)方法是蛇形線,但等長的蛇形線并不一定意味著等延時。只有當(dāng)蛇形線的延時效果等同或者盡可能近似于直線時,等長才意味著等延時。為了讓蛇形線具有類似于直線的延時效果,蛇形線的高度應(yīng)盡可能小,蛇形線的開口應(yīng)盡可能寬,也就是說,波浪線的外形更利于等延時。
當(dāng)時鐘信號等時刻到達(dá)收發(fā)雙方的輸入引腳時,具有如圖5所示的時序模型,因而僅需討論數(shù)據(jù)線的長度。
圖5共用時鐘的RMII時序模型
根據(jù)上述時序模型,可得出下列時序公式:
(Tsetup)min + (Tco)max + (Tflt-data)max + Tjitter-clk+ Tjitter-data (Thold)min(8)
對RXD、CRS_DV和RX_ER信號來說,該組信號由PHY發(fā)給MPU,根據(jù)公式(7)和公式(8),可得(為了簡化,認(rèn)為最小的Tco時間等于Thold時間):
1 flt-data < 2
走線時間不可能為負(fù)值,假設(shè)走線位于PCB表層,材料為FR-4,則:
Lflt-data < 31.75CM
對TXD、和TX_EN信號來說,該組信號由MPU發(fā)給PHY,根據(jù)公式(7)和公式(8),可得:
-0.5 flt-data < 3
走線時間不可能為負(fù)值,假設(shè)走線位于PCB表層,材料為FR-4,則:
Lflt-data < 47.625CM
對RXD、CRS_DV和RX_ER信號來說,該組信號由PHY發(fā)給MPU。假設(shè)數(shù)據(jù)線走線長度為0,則數(shù)據(jù)線延時為0ns,此時在MPU側(cè)接受到信號的最小建立時間為:20-14=6ns,最小保持時間為:3ns。MAC側(cè)要求的最小建立時間為4ns,最小保持時間為2ns??梢姡藭r數(shù)據(jù)線的走線長度最長延時可以到2ns,此時MAC側(cè)接受到信號的建立時間和保持時間分別為4ns和5ns,符合時序要求。所以走線長度最長可以為31.75CM。
對TXD和TX_EN信號來說,該組信號由MPU發(fā)給PHY。假設(shè)數(shù)據(jù)線走線長度為0,則數(shù)據(jù)線延時為0ns,此時在PHY側(cè)接受到信號的最小建立時間為:20-13=7ns,最小保持時間為:2ns。MAC側(cè)要求的最小建立時間為4ns,最小保持時間為1.5ns??梢?,此時數(shù)據(jù)線的走線長度最長延時可以到3ns,此時MAC側(cè)接受到信號的建立時間和保持時間分別為4ns和4.5ns,符合時序要求。所以走線長度最長可以為47.625CM。
3.結(jié)論
進(jìn)行時序分析的關(guān)鍵點(diǎn)首先在于必須對被分析的時序關(guān)系非常清楚、能夠深刻理解當(dāng)前對象的時序協(xié)議。其次,時序分析要針對具體問題具體分析,不存在所謂的萬能時序公式。有時,單純依靠理論分析或者單純依靠時序關(guān)系公式并不一定能夠解決問題,而是要兩者結(jié)合使用。
對于高速信號的布線而言,存在“等長”說,即很多工程師認(rèn)為只要所有的線路盡可能等長,就一定滿足時序要求。事實(shí)上,這是一種錯誤的認(rèn)識,本文的實(shí)例分析就明確證明了這一點(diǎn)。只有那些時鐘和數(shù)據(jù)由同一個器件發(fā)出,由另一個器件接受,并且發(fā)送端的建立時間和保持時間恰好滿足接收端需求時,“等長”才算是一種偷懶的方法。除此以外,尤其是那些通過單向時鐘驅(qū)動、采樣雙向數(shù)據(jù)或者逆向數(shù)據(jù)的信號,必須具體問題具體分析。當(dāng)然,對于PC機(jī)這類通用設(shè)備來說,由于主板的設(shè)計需要兼容不同廠家的內(nèi)存條,此時走線設(shè)計為等長確實(shí)是合理的設(shè)計。
公共時鐘系統(tǒng)由于使用單向時鐘信號對雙向數(shù)據(jù)進(jìn)行采樣,因此存在雙重限制,兩組限制制約了走線不僅有走線長度差值限制,同時還有走線總長度限制。源同步時鐘系統(tǒng)使用與數(shù)據(jù)同向的時鐘,因此只存在單重限制,使得走線只有差限制而沒有總長度限制。
一般而言,對于SPI接口、MII接口、共享時鐘的RMII接口或者SDRAM信號,走線應(yīng)盡可能的短。對于DDR SDRAM信號以及RGMII等DDR時序的接口來說,多數(shù)情況下,組內(nèi)等長確實(shí)是一種簡便快速的方法。