0
高速電路設計領域,關于布線有一種幾乎是公理的認識,即“等長”走線,認為走線只要等長就一定滿足時序需求,就不會存在時序問題。本文對常用高速器件的互連時序建立模型,并給出一般性的時序分析公式。為體現具體問題具體分析的原則,避免將公式當成萬能公式,文中給出了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的存在,如果器件間的時鐘和數據走線等長,則在接收端,用于發送時間的邊沿不能用于數據的采樣。為了在接收端對數據進行正確采樣,必須調整時鐘和數據走線的關系,有兩種方法:第一,時鐘走線長于數據走線,使得數據飛行時間較時鐘短。此時,在接收端仍然可以使用產生數據的時鐘沿采樣數據;第二,數據走線比時鐘長,使得數據飛行時間較時鐘長。此時,可以使用使用產生數據時鐘沿的下一個上升沿采樣數據。
實際工程中,設計人員一般使用第二種方法并希望對于數字系統的建立時間和保持時間都留有一定裕量,因此我們可以得出下列公式,即建立時間公式:
(Tsetup)min + (Tco)max + (Tflt-data - Tflt-clk)max + Tjitter-clk+ Tjitter-data < T (1)
和保持時間公式:
(Tco)min + (Tflt-data - Tflt-clk)min - Tjitter-clk- Tjitter-data > (Thold)min (2)
很顯然,Tco、Tflt-data 、Tflt-clk中,Tco是器件的固有參數,Tflt-data 和Tflt-clk取決于對應的PCB走線長度和走線層等。如果Tflt-data 和Tflt-clk的差過小,則導致數據的保持時間不足;如果過大,則會使得建立時間不足。因此,Tflt-data 和Tflt-clk的差存在上限和下限雙重限制。
圖3 高速電路設計_數據讀時序關系圖
圖3是基于本模型的數據讀時序關系圖。圖中參數含義與前述相同。需要注意的是:在讀關系中,時鐘首先需要從主控端傳到從端,待從端發出的數據回到主控端后,才能由主控端對數據進行采樣。因此,建立和保持時間的公式如下:
(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)
參數Tco、Tflt-data 、Tflt-clk中,To是器件的固有參數,Tflt-data 和Tflt-clk取決于對應的PCB走線長度和走線層等。如果Tflt-data 和Tflt-clk的總和過小,則導致數據的保持時間不足;如果過大,則會使得建立時間不足。因此,Tflt-data 和Tflt-clk的和存在上限和下限雙重限制。
需要額外說明的是,前述公式的分析中暗含一個結果,就是:默認器件的輸出保持時間和輸出延時是等時間的。實際上,不同的半導體器件具有不同的情況,即使同一個半導體器件,在每次輸出數據時也不一定是完全相同的。這正是本文開始就一再強調的,時序分析的公式并不是萬能的,盡管大多數情況均適用,鑒于現實世界中的情況多樣,必須具體問題具體分析。
還有一個問題:是否可以使用產生數據時鐘沿的次次上升沿采樣數據,或者更靠后的邊沿來采樣數據。圖4所示是1#時鐘沿發出的數據由3#時鐘沿采樣的例子,在前述內容中,1#時鐘沿發出的數據均由2#時鐘沿采樣。此處。為了在接收端有較好的建立和保持時間,可以看出數據的飛行時間最好要大于一個時鐘周期。假設此時鐘周期為40ns,表層走線,板材為FR-4,則數據線的最小長度要635CM。即使時鐘周期為8ns,數據線最小長度也要127CM。這顯然不是我們所希望的。因此,實際中使用產生數據時鐘沿的次上升沿來采樣數據。
圖4 高速電路設計_使用數據產生沿的后續邊沿采樣數據
MII接口是最常用的百兆以太網PHY芯片與MAC間的接口,表1和表2分別是某百兆PHY芯片和某MPU內部MAC的RX通道時序參數表。
表1 高速電路設計_某PHY芯片RX通道時序參數表
表2 高速電路設計_某MPU內MAC RX通道時序參數表
通過表格可以看出,MAC側要求RXD、RX_DV和RX_ER信號對RX_CLK信號的建立與保持時間最小為8ns,也就是實際的建立與保持時間不得小于8ns。假設RXD、RX_DV與RX_CLK信號從PHY側到MAC側的延時完全相同,則在MAC側有:
傳輸的時鐘周期為40ns;
最小的建立時間為40-tval =12ns;
最小的保持時間為thold = 10ns;
最小的建立時間和保持時間總和為22ns;
假設RXD、RX_DV和RX_ER信號對RX_CLK信號存在延時,則存在兩種極端情況:
當延時導致建立時間達到最低要求,即當相對延時為+4ns時,則在MAC側建立時間為8ns,保持時間為14ns;
當延時導致保持時間達到最低要求,即當相對延時為-2ns時,則在MAC側建立時間為14ns,保持時間為8ns;
假設MII接口走線在PCB表層,PCB板材為FR-4,可知信號傳輸速度大約為160ps/inch,綜合上述兩種情況,可以得出RXD、RX_DV和 RX_ER相對RX_CLK的走線長度關系為:延遲+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通道信號,可以無需考慮等長。
注意,時序關系不代表不需要考慮反射問題。當信號在走線上的傳播和返回延時比信號的上升時間長時,就有必要考慮是否進行終端阻抗匹配以抑制反射。
下面使用公式進行計算,以對比理論分析和公式法的優劣。為簡化計算,忽略公式(1)和公式(2)中的抖動因素Tjitter-clk和Tjitter-data,相關公式變為:
(Tsetup)min + (Tco)max + (Tflt-data - Tflt-clk)max< T (5)
(Tco)min + (Tflt-data - Tflt-clk)min>(Thold)min (6)
將表2和表3中的參數帶入公式(5)和公式(6),得出:
10 - (Tco)minflt-data - Tflt-clk< 4
由于PHY芯片參數并沒有給出(Tco)min這個參數,所以公式無法得到最終結果。由于PHY芯片的最長輸出延時為28ns,最短保持時間為10ns,在此假設(Tco)min為12ns,則:
-2flt-data - Tflt-clk< 4
可分解為:
Tflt-data - Tflt-clk< 4
Tflt-clk -Tflt-data< 2
換算成長度就是:
Lflt-data - Lflt-clk<63cm< p="">
Lflt-clk -Lflt-data<32cm< p="">
可以看出,使用公式分析時有時會受到參數不全的制約,這時需要根據其他參數推斷出需要的參數。對比分析法和公式法,可以看出:分析法比較繁瑣,需要認真分析時序關系,而公式法卻非常快捷。
不過,公式法有時會受到參數的制約,得不到全面的結論。實際中,應該兩種方法結合使用。
下面分析該PHY芯片和MAC間TX通道的時序。表3和表4分別是該百兆PHY芯片和MPU內部MAC的TX通道時序參數表。
表3 高速電路設計_某PHY芯片TX通道時序參數表
表4 高速電路設計_某MPU內MAC TX通道時序參數表
使用公式進行計算,為簡化忽略公式(3)和公式(4)中的抖動因素Tjitter-clk和Tjitter-data,則相關公式變為:
(Tsetup)min + (Tco)max + (Tflt-data)max + (Tflt-clk)min< T
(Thold)min< (Tco)min + (Tflt-data)min + (Tflt-clk)max
帶入上述參數表中的參數,化簡得到:
Lflt-data + Lflt-clk< 47.625CM
假設MII走線在PCB表層,PCB材料為FR-4,走線傳輸速度為160ps/inch,綜合上述分析,可以得出TXD、 TXEN 分別和 TXCLK的走線之和不能大于47CM。實際布線中,本組走線應當越短越好。走線越短,則數據的建立時間越充足,保持時間越少。本實例中,恰好MAC側允許保持時間為0ns。
RMII接口也是常用的百兆以太網PHY芯片與MAC間的接口。表5是某百兆PHY的時序參數表,表6和表7分別是某MPU內部MAC的時序參數表。
表5 高速電路設計_某PHY芯片的時序參數表
表6 高速電路設計_某MPU內MAC RX通道時序參數表
表7 高速電路設計_某MPU內MAC TX通道時序參數表
該MPU內MAC在RMII模式時,不支持時鐘輸出,同時PHY要求時鐘信號為輸入。該MPU配合PHY工作在RMII模式下,需要外部使用一顆符合雙方精度要求的50MHz振蕩器,來為雙方提供時鐘基準。
為簡化時序分析,可以將外部振蕩器至MPU和PHY雙方的走線設計為等長,此時時鐘信號在兩者的時鐘輸入引腳上具有完全一致的時刻。
注意:等長走線的一般實現方法是蛇形線,但等長的蛇形線并不一定意味著等延時。只有當蛇形線的延時效果等同或者盡可能近似于直線時,等長才意味著等延時。為了讓蛇形線具有類似于直線的延時效果,蛇形線的高度應盡可能小,蛇形線的開口應盡可能寬,也就是說,波浪線的外形更利于等延時。
當時鐘信號等時刻到達收發雙方的輸入引腳時,具有如圖5所示的時序模型,因而僅需討論數據線的長度。
圖5 高速電路設計_共用時鐘的RMII時序模型
根據上述時序模型,可得出下列時序公式:
(Tsetup)min + (Tco)max + (Tflt-data)max + Tjitter-clk+ Tjitter-data < T (7)
(Tco)min + (Tflt-data)min - Tjitter-clk- Tjitter-data >(Thold)min (8)
對RXD、CRS_DV和RX_ER信號來說,該組信號由PHY發給MPU,根據公式(7)和公式(8),可得(為了簡化,認為最小的Tco時間等于Thold時間):
-1 flt-data < 2
走線時間不可能為負值,假設走線位于PCB表層,材料為FR-4,則:
Lflt-data < 31.75CM
對TXD、和TX_EN信號來說,該組信號由MPU發給PHY,根據公式(7)和公式(8),可得:
-0.5 flt-data < 3
走線時間不可能為負值,假設走線位于PCB表層,材料為FR-4,則:
Lflt-data < 47.625CM
對 RXD、CRS_DV和RX_ER信號來說,該組信號由PHY發給MPU。假設數據線走線長度為0,則數據線延時為0ns,此時在MPU側接受到信號的最小建立時間為:20-14=6ns,最小保持時間為:3ns。MAC側要求的最小建立時間為4ns,最小保持時間為2ns。可見,此時數據線的走線長度最長延時可以到2ns,此時MAC側接受到信號的建立時間和保持時間分別為4ns和5ns,符合時序要求。所以走線長度最長可以為31.75CM。
對 TXD和TX_EN信號來說,該組信號由MPU發給PHY。假設數據線走線長度為0,則數據線延時為0ns,此時在PHY側接受到信號的最小建立時間為:20-13=7ns,最小保持時間為:2ns。MAC側要求的最小建立時間為4ns,最小保持時間為1.5ns。可見,此時數據線的走線長度最長延時可以到3ns,此時MAC側接受到信號的建立時間和保持時間分別為4ns和4.5ns,符合時序要求。所以走線長度最長可以為47.625CM。
RGMII接口是最常用的千兆以太網PHY芯片與MAC間的接口,表8和表9分別是某千兆PHY芯片和某MPU內部千兆MAC的TX通道時序參數表。該千兆MAC不支持RGMII-ID功能,為簡化布線工作,PHY內部雙向啟用 RGMII-ID功能,相關時序參數為RGMII-ID功能使能后的數值。注意,RGMII時序為DDR模式。
表8 高速電路設計_某千兆PHY芯片 TX通道時序參數表
表9 高速電路設計_某MPU內千兆MAC TX通道時序參數表
本組數據由MAC發往PHY,為源時鐘同步。在PHY端開啟內部延時的情況下,要求接受數據的建立時間和保持時間最小值分別為-0.9ns和2.7ns。最差情況下,MPU端發送數據的最小建立時間為-0.5ns,最小保持時間為4-0.5=3.5ns。因此,時鐘線和數據線等長是最簡單的布線方法。
假設數據信號相對時鐘信號存在正延時,為了保證PHY端最小的建立時間-0.9ns,數據最多可以相對時鐘延時+0.4ns。最差情況下,有:
PHY側數據相對時鐘的延時為-0.9ns,即建立時間為-0.9ns;
由于數據獨立存在期不會低于4-0.5-0.5=3ns,因此保持時間永遠不低于3.5ns;
此時,系統整體滿足時序要求,數據線可以比時鐘線長6.35CM。
假設數據信號相對時鐘信號存在負延時,為了保證PHY端最小的保持時間2.7ns,由于數據相對于時鐘邊沿的存在期不短于3.5ns,設數據最多可以相對時鐘延時-0.8ns。最差情況下,有:
PHY側數據相對時鐘的延時為0.3ns,即建立時間為0.3ns;
PHY側數據的保持時間為3.5-0.8=2.7ns;
此時,系統整體滿足時序要求,時鐘線可以比數據線長12.7CM。
表10和表11分別是該千兆PHY芯片和該MPU內部千兆MAC的TX通道時序參數表。本組時序分析較為簡單,很容易分析出數據走線對時鐘走線的延時偏差可以為±0.2ns,對于表層走線,FR-4材料,折算成走線長度就是3.175CM。
表10 高速電路設計_某千兆PHY芯片 TX通道時序參數表
表11 高速電路設計_某MPU內千兆MAC TX通道時序參數表
圖6是RGMII的時序模型,即DDR模式的時序圖。公式(9)和公式(10)是對應的建立時間和保持時間約束公式。公式中, Tstrobe – data表示選通信號相對數據信號的傳送延時;Tdata -strobe表示數據信號相對選通信號的傳送延時。
圖6 高速電路設計_RGMII時序模型圖
(Tsetup)min< (Tco)min +( Tstrobe - data )min – Tjitter-data – Tjitter-strobe (9)
(Thold)min< (Thold-data)min + (Tdata -strobe)min – Tjitter-data – Tjitter-strobe (10)
將RGMII時序參數表中的相應參數帶入公式(9)和(10),可得:
對于RX通道:
Tdata-strobe< 0.4
Tstrobe–data < 0.8
即相當于:
Ldata-Lstrobe< 6.35CM
或
Lstrobe–Ldata< 12.7CM
可見,公式計算結果與理論分析結果一致。TX通道可使用類似方法計算。
出于成本因素,越來越多的消費電子使用SPI FLASH作為存儲器。SPI的通信速度也越來越高。目前,多數MPU都可以支持100M以上的SPI通信速度且支持多I/O通信。
SPI通信的時序關系與前述有所不同,圖7和圖8分別是SPI在模式1下的數據讀時序和數據寫時序,公式(11)、公式(12)、公式(13)和公式(14)是對應的時序約束公式。可以看出,由于時序關系的不同,公式也會有所變化。所以,時序分析要具體問題具體對待。
圖7 高速電路設計_SPI模式1的寫時序
圖8 高速電路設計_SPI模式1的讀時序
進行時序分析的關鍵點首先在于必須對被分析的時序關系非常清楚、能夠深刻理解當前對象的時序協議。其次,時序分析要針對具體問題具體分析,不存在所謂的萬能時序公式。有時,單純依靠理論分析或者單純依靠時序關系公式并不一定能夠解決問題,而是要兩者結合使用。
對于高速信號的布線而言,存在“等長”說,即很多工程師認為只要所有的線路盡可能等長,就一定滿足時序要求。事實上,這是一種錯誤的認識,本文的實例分析就明確證明了這一點。只有那些時鐘和數據由同一個器件發出,由另一個器件接受,并且發送端的建立時間和保持時間恰好滿足接收端需求時,“等長”才算是一種偷懶的方法。除此以外,尤其是那些通過單向時鐘驅動、采樣雙向數據或者逆向數據的信號,必須具體問題具體分析。當然,對于PC機這類通用設備來說,由于主板的設計需要兼容不同廠家的內存條,此時走線設計為等長確實是合理的設計。
公共時鐘系統由于使用單向時鐘信號對雙向數據進行采樣,因此存在雙重限制,兩組限制制約了走線不僅有走線長度差值限制,同時還有走線總長度限制。源同步時鐘系統使用與數據同向的時鐘,因此只存在單重限制,使得走線只有差限制而沒有總長度限制。
一般而言,對于SPI接口、MII接口、共享時鐘的RMII接口或者SDRAM信號,走線應盡可能的短。對于DDR SDRAM信號以及RGMII等DDR時序的接口來說,多數情況下,組內等長確實是一種簡便快速的方法。
雙面板免費加費,四層板加急打樣,厚銅電路板打樣
Xcm