唐思超
(北京世紀瑞爾技術股份有限公司,北京100085)
在高速電路設計領域,關于布線有一種幾乎是公理的認識,即“等長”走線,認為走線只要等長就一定滿足時序需求,不會存在時序問題。本文對常用高速器件的互連時序建立模型,并給出一般性的時序分析公式。為了體現(xiàn)具體問題具體分析的原則,避免將公式當成萬能公式,文中給出了MII、RMII、RGMII和SPI的實例分析。在實例分析中,結(jié)合公式分析和理論分析兩種方法,用實例證明公式的局限性和兩種方法的利弊。最后,基于這些實例分析,給出了SDRAM和DDR SDRAM等布線的一般性原則。
圖1為通用高速器件互連接口簡化模型。圖中,左側(cè)虛線框表示通信器件雙方的主控端,常見的實際情形有:SDRAM控制器、SPI主控制器等。經(jīng)過適當?shù)难莼诒灸P秃苋菀椎玫絀2C主控端、MII接口的TX組模型、RMII共享時鐘模型以及DDR控制信號與地址信號的互連模型等。右側(cè)虛線框表示通信中的被動端。本模型中,數(shù)據(jù)是雙向的,但是時鐘是單一方向的。這個特點是本模型的適應場景。
圖1 簡化的器件互連模型
圖2是基于本模型的數(shù)據(jù)寫時序關系圖。圖中,T0表示主控端內(nèi)部時鐘發(fā)生器CLK發(fā)出的時鐘到達觸發(fā)器Q1時鐘輸入端的延時;T1表示觸發(fā)器Q1接收到時鐘后到Q1輸出端出現(xiàn)數(shù)據(jù)的延時;T2表示主控端內(nèi)部時鐘發(fā)生器CLK發(fā)出的時鐘到主控端外部時鐘輸出引腳的延時;T3表示內(nèi)部觸發(fā)器Q1輸出的數(shù)據(jù)到達主控端外部數(shù)據(jù)輸出引腳的延時。通常,半導體制造商不會給出T0~T3這些參數(shù),而是給出一個用于反映這些參數(shù)最終等價效果的參數(shù),即主控端外部數(shù)據(jù)引腳上出現(xiàn)數(shù)據(jù)時相對于外部時鐘引腳出現(xiàn)時鐘信號的延時,這里記為Tco。
圖2 數(shù)據(jù)寫時序關系圖
時序分析最關心的參數(shù)是信號到達接收端的最終建立時間和保持時間是否符合器件要求,這里將建立時間和保持時間分別記為Tsetup和Thold。Tflt-clk和Tflt-data分別表示時鐘信號和數(shù)據(jù)信號的飛行時間,即它們在對應走線上的延時。Tjitter-clk和Tjitter-data分別表示時鐘信號和數(shù)據(jù)信號上的抖動時間。
分析圖2中時鐘信號和數(shù)據(jù)信號的相互關系,可以發(fā)現(xiàn):由于Tco的存在,如果器件間的時鐘和數(shù)據(jù)走線等長,則在接收端,用于發(fā)送時間的邊沿不能用于數(shù)據(jù)的采樣。為了在接收端對數(shù)據(jù)進行正確采樣,必須調(diào)整時鐘和數(shù)據(jù)走線的關系,有兩種方法:第一,時鐘走線長于數(shù)據(jù)走線,使得數(shù)據(jù)飛行時間較時鐘短,此時,在接收端仍然可以使用產(chǎn)生數(shù)據(jù)的時鐘沿采樣數(shù)據(jù);第二,數(shù)據(jù)走線比時鐘長,使得數(shù)據(jù)飛行時間較時鐘長,此時,可以使用產(chǎn)生數(shù)據(jù)時鐘沿的下一個上升沿采樣數(shù)據(jù)。
實際工程中,設計人員一般使用第二種方法并希望對于數(shù)字系統(tǒng)的建立時間和保持時間都留有一定裕量,因此可以得出下列公式,即建立時間和保持時間公式:
顯然,Tco是器件的固有參數(shù),Tflt-data和Tflt-clk取決于對應的PCB走線長度和走線層等。如果Tflt-data和Tflt-clk的差過小,則導致數(shù)據(jù)的保持時間不足;如果過大,則會使得建立時間不足。因此,Tflt-data和Tflt-clk的差存在上限和下限雙重限制。
圖3是基于本模型的數(shù)據(jù)讀時序關系圖。
圖3 數(shù)據(jù)讀時序關系圖
圖中參數(shù)含義與圖1相同。需要注意的是:在讀關系中,時鐘首先需要從主控端傳到從端,待從端發(fā)出的數(shù)據(jù)回到主控端后,才能由主控端對數(shù)據(jù)進行采樣。因此,建立和保持時間的公式如下:
其中,Tco是器件的固有參數(shù),Tflt-data和Tflt-clk取決于對應的PCB走線長度和走線層等。如果Tflt-data和Tflt-clk的總和過小,則導致數(shù)據(jù)的保持時間不足;如果過大,則會使得建立時間不足。因此,Tflt-data和Tflt-clk的和存在上限和下限雙重限制。
MII接口是最常用的百兆以太網(wǎng)PHY芯片與MAC間的接口。對MII接口使用第1節(jié)中的公式進行分析,可知對于MII的RX通道信號組,信號間允許的走線差值可達數(shù)十厘米,可認為無需考慮等長;對于MII的TX通道信號組,分析后可知其走線和有上限。在實際布線中,TX通道信號組的走線應當越短越好。對MII接口使用理論分析法,可以得出與公式法相同的結(jié)論。
注意,時序關系不代表不需要考慮反射問題。當信號在走線上的傳播和返回延時比信號的上升時間長時,就有必要考慮是否進行終端阻抗匹配以抑制反射。
RMII接口也是常用的百兆以太網(wǎng)PHY芯片與MAC間的接口。實際中使用時,一般會在外部使用一顆符合雙方精度要求的50 MHz振蕩器,為MAC和PHY提供共用時鐘基準。
為了簡化時序分析,可以將外部振蕩器至MAC和PHY雙方的走線設計為等長,此時時鐘信號在兩者的時鐘輸入引腳上具有完全一致的時刻。
當時鐘信號等時刻到達收發(fā)雙方的輸入引腳時,具有如圖4所示的時序模型,因而僅需分析數(shù)據(jù)線的長度。
圖4 共用時鐘的RMII時序模型
根據(jù)時序模型,可得出時序公式:
對RXD、CRS_DV和RX_ER信號以及TXD和TX_EN信號分別使用式(5)、(6)進行分析,可得到TX和RX通道組內(nèi)信號的走線長度關系。
RGMII接口是最常用的千兆以太網(wǎng)PHY芯片與MAC間的接口。依據(jù)標準,千兆MAC和PHY有可選擇實現(xiàn)的RGMII-ID功能。注意,RGMII時序為DDR模式。圖5是RGMII的時序模型,即DDR模式的時序圖。
式(7)和(8)是對應的建立時間和保持時間約束公式。式中,Tstrobe–data表示選通信號相對數(shù)據(jù)信號的傳送延時;Tdata-strobe表示數(shù)據(jù)信號相對選通信號的傳送延時。
將RGMII時序參數(shù)中的相應值帶入公式(7)和(8),可得到RX通道和TX通道組內(nèi)信號走線長度的關系。對RGMII接口進行理論分析,結(jié)果與公式計算一致。
出于成本因素考慮,越來越多的消費電子使用SPI FLASH作為存儲器,SPI的通信速度也越來越高。目前,多數(shù)MPU都可以支持100 Mbps以上的SPI通信速度且支持多I/O通信。SPI通信的時序關系略——編者注。
進行時序分析的關鍵點首先在于必須對被分析的時序關系非常清楚,能夠深刻理解當前對象的時序協(xié)議。其次,時序分析要針對具體問題具體分析,不存在所謂的萬能時序公式。有時,單純依靠理論分析或者時序關系公式并不一定能夠解決問題,而是要兩者結(jié)合使用。
對于高速信號的布線而言,存在“等長”說,即很多工程師認為只要所有的線路盡可能等長,就一定滿足時序要求。事實上,只有那些時鐘和數(shù)據(jù)由同一個器件發(fā)出,由另一個器件接收,并且發(fā)送端的建立時間和保持時間恰好滿足接收端需求時,“等長”才算是一種偷懶的方法。除此以外,尤其是那些通過單向時鐘驅(qū)動、采樣雙向數(shù)據(jù)或者逆向數(shù)據(jù)的信號,必須具體問題具體分析。當然, 20對于PC機這類通用設備來說,由于主板的設計需要兼容不同廠家的內(nèi)存條,此時走線設計為等長確實是合理的設計。
圖5 RGMII時序模型圖
一般而言,對于SPI接口、MII接口、共享時鐘的RMII接口或者SDRAM信號,走線應盡可能短。對于DDR SDRAM信號以及RGMII等DDR時序的接口來說,多數(shù)情況下,組內(nèi)等長確實是一種簡便快速的方法。
編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www.mesnet.com.cn。