高速數(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 圖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 表3 某PHY芯片TX通道時序參數(shù)表 表4 某MPU內(nèi)MAC TX通道時序參數(shù)表 使用公式進(jìn)行計算,為簡化忽略公式(3)和公式(4)中的抖動因素Tjitter-clk和Tjitter-data,則相關(guān)公式變?yōu)椋?br /> (Tsetup)min + (Tco)max + (Tflt-data)max + (Tflt-clk)min 表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。可見,此時數(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í)是一種簡便快速的方法。 |