唐思超
(北京世紀瑞爾技術股份有限公司,北京100085)
在高速電路設計領域,關于布線有一種幾乎是公理的認識,即“等長”走線,認為走線只要等長就一定滿足時序需求,不會存在時序問題。本文對常用高速器件的互連時序建立模型,并給出一般性的時序分析公式。為了體現具體問題具體分析的原則,避免將公式當成萬能公式,文中給出了MII、RMII、RGMII和SPI的實例分析。在實例分析中,結合公式分析和理論分析兩種方法,用實例證明公式的局限性和兩種方法的利弊。最后,基于這些實例分析,給出了SDRAM和DDR SDRAM等布線的一般性原則。
圖1為通用高速器件互連接口簡化模型。圖中,左側虛線框表示通信器件雙方的主控端,常見的實際情形有:SDRAM控制器、SPI主控制器等。經過適當的演化,基于本模型很容易得到I2C主控端、MII接口的TX組模型、RMII共享時鐘模型以及DDR控制信號與地址信號的互連模型等。右側虛線框表示通信中的被動端。本模型中,數據是雙向的,但是時鐘是單一方向的。這個特點是本模型的適應場景。

圖1 簡化的器件互連模型
圖2是基于本模型的數據寫時序關系圖。圖中,T0表示主控端內部時鐘發生器CLK發出的時鐘到達觸發器Q1時鐘輸入端的延時;T1表示觸發器Q1接收到時鐘后到Q1輸出端出現數據的延時;T2表示主控端內部時鐘發生器CLK發出的時鐘到主控端外部時鐘輸出引腳的延時;T3表示內部觸發器Q1輸出的數據到達主控端外部數據輸出引腳的延時。通常,半導體制造商不會給出T0~T3這些參數,而是給出一個用于反映這些參數最終等價效果的參數,即主控端外部數據引腳上出現數據時相對于外部時鐘引腳出現時鐘信號的延時,這里記為Tco。

圖2 數據寫時序關系圖
時序分析最關心的參數是信號到達接收端的最終建立時間和保持時間是否符合器件要求,這里將建立時間和保持時間分別記為Tsetup和Thold。Tflt-clk和Tflt-data分別表示時鐘信號和數據信號的飛行時間,即它們在對應走線上的延時。Tjitter-clk和Tjitter-data分別表示時鐘信號和數據信號上的抖動時間。
分析圖2中時鐘信號和數據信號的相互關系,可以發現:由于Tco的存在,如果器件間的時鐘和數據走線等長,則在接收端,用于發送時間的邊沿不能用于數據的采樣。為了在接收端對數據進行正確采樣,必須調整時鐘和數據走線的關系,有兩種方法:第一,時鐘走線長于數據走線,使得數據飛行時間較時鐘短,此時,在接收端仍然可以使用產生數據的時鐘沿采樣數據;第二,數據走線比時鐘長,使得數據飛行時間較時鐘長,此時,可以使用產生數據時鐘沿的下一個上升沿采樣數據。
實際工程中,設計人員一般使用第二種方法并希望對于數字系統的建立時間和保持時間都留有一定裕量,因此可以得出下列公式,即建立時間和保持時間公式:

顯然,Tco是器件的固有參數,Tflt-data和Tflt-clk取決于對應的PCB走線長度和走線層等。如果Tflt-data和Tflt-clk的差過小,則導致數據的保持時間不足;如果過大,則會使得建立時間不足。因此,Tflt-data和Tflt-clk的差存在上限和下限雙重限制。
圖3是基于本模型的數據讀時序關系圖。

圖3 數據讀時序關系圖
圖中參數含義與圖1相同。需要注意的是:在讀關系中,時鐘首先需要從主控端傳到從端,待從端發出的數據回到主控端后,才能由主控端對數據進行采樣。因此,建立和保持時間的公式如下:


其中,Tco是器件的固有參數,Tflt-data和Tflt-clk取決于對應的PCB走線長度和走線層等。如果Tflt-data和Tflt-clk的總和過小,則導致數據的保持時間不足;如果過大,則會使得建立時間不足。因此,Tflt-data和Tflt-clk的和存在上限和下限雙重限制。
MII接口是最常用的百兆以太網PHY芯片與MAC間的接口。對MII接口使用第1節中的公式進行分析,可知對于MII的RX通道信號組,信號間允許的走線差值可達數十厘米,可認為無需考慮等長;對于MII的TX通道信號組,分析后可知其走線和有上限。在實際布線中,TX通道信號組的走線應當越短越好。對MII接口使用理論分析法,可以得出與公式法相同的結論。
注意,時序關系不代表不需要考慮反射問題。當信號在走線上的傳播和返回延時比信號的上升時間長時,就有必要考慮是否進行終端阻抗匹配以抑制反射。
RMII接口也是常用的百兆以太網PHY芯片與MAC間的接口。實際中使用時,一般會在外部使用一顆符合雙方精度要求的50 MHz振蕩器,為MAC和PHY提供共用時鐘基準。
為了簡化時序分析,可以將外部振蕩器至MAC和PHY雙方的走線設計為等長,此時時鐘信號在兩者的時鐘輸入引腳上具有完全一致的時刻。
當時鐘信號等時刻到達收發雙方的輸入引腳時,具有如圖4所示的時序模型,因而僅需分析數據線的長度。

圖4 共用時鐘的RMII時序模型
根據時序模型,可得出時序公式:

對RXD、CRS_DV和RX_ER信號以及TXD和TX_EN信號分別使用式(5)、(6)進行分析,可得到TX和RX通道組內信號的走線長度關系。
RGMII接口是最常用的千兆以太網PHY芯片與MAC間的接口。依據標準,千兆MAC和PHY有可選擇實現的RGMII-ID功能。注意,RGMII時序為DDR模式。圖5是RGMII的時序模型,即DDR模式的時序圖。
式(7)和(8)是對應的建立時間和保持時間約束公式。式中,Tstrobe–data表示選通信號相對數據信號的傳送延時;Tdata-strobe表示數據信號相對選通信號的傳送延時。

將RGMII時序參數中的相應值帶入公式(7)和(8),可得到RX通道和TX通道組內信號走線長度的關系。對RGMII接口進行理論分析,結果與公式計算一致。
出于成本因素考慮,越來越多的消費電子使用SPI FLASH作為存儲器,SPI的通信速度也越來越高。目前,多數MPU都可以支持100 Mbps以上的SPI通信速度且支持多I/O通信。SPI通信的時序關系略——編者注。
進行時序分析的關鍵點首先在于必須對被分析的時序關系非常清楚,能夠深刻理解當前對象的時序協議。其次,時序分析要針對具體問題具體分析,不存在所謂的萬能時序公式。有時,單純依靠理論分析或者時序關系公式并不一定能夠解決問題,而是要兩者結合使用。
對于高速信號的布線而言,存在“等長”說,即很多工程師認為只要所有的線路盡可能等長,就一定滿足時序要求。事實上,只有那些時鐘和數據由同一個器件發出,由另一個器件接收,并且發送端的建立時間和保持時間恰好滿足接收端需求時,“等長”才算是一種偷懶的方法。除此以外,尤其是那些通過單向時鐘驅動、采樣雙向數據或者逆向數據的信號,必須具體問題具體分析。當然, 20對于PC機這類通用設備來說,由于主板的設計需要兼容不同廠家的內存條,此時走線設計為等長確實是合理的設計。

圖5 RGMII時序模型圖
一般而言,對于SPI接口、MII接口、共享時鐘的RMII接口或者SDRAM信號,走線應盡可能短。對于DDR SDRAM信號以及RGMII等DDR時序的接口來說,多數情況下,組內等長確實是一種簡便快速的方法。
編者注:本文為期刊縮略版,全文見本刊網站www.mesnet.com.cn。