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