互連時序模型與布線長度分析
高速數(shù)字電路互連時序模型與布線長度分析
本文引用地址:http://m.butianyuan.cn/article/274626.htm高速電路設(shè)計領(lǐng)域,關(guān)于布線有一種幾乎是公理的認識,即“等長”走線,認為走線只要等長就一定滿足時序需求,就不會存在時序問題。本文對常用高速器件的互連時序建立模型,并給出一般性的時序分析公式。為體現(xiàn)具體問題具體分析的原則,避免將公式當成萬能公式,文中給出了MII、RMII、RGMII和SPI的實例分析。實例分析中,結(jié)合使用公式分析和理論分析兩種方法,以實例證明公式的局限性和兩種方法的利弊。本文最后還基于這些實例分析,給出了SDRAM和DDR SDRAM等布線的一般性原則。
本文通過實例指明時序分析的關(guān)鍵在于:對具體時序理解透徹的基礎(chǔ)上,具體問題具體分析,不能一味的套用公式,更不是通過走線的等長來解決時序問題。
1.典型高速器件互連時序模型
圖1給出通用高速器件互連接口簡化模型。圖中,左側(cè)虛線框表示通信器件雙方的主控端。常見的實際情形有:SDRAM控制器、SPI主控制器等。經(jīng)過適當?shù)难莼?,基于本模型很容易得到I2C主控端、MII接口的TX組模型、RMII共享時鐘模型以及DDR控制信號與地址信號的互連模型等。右側(cè)虛線框表示通信中的被動端。本模型中,數(shù)據(jù)是雙向的,但是時鐘是單一方向。簡單地說,就是時鐘單一方向發(fā)送,數(shù)據(jù)雙向傳遞。這個特點是本模型的適應(yīng)場景。
圖1簡化的器件互連模型
圖2是基于本模型的數(shù)據(jù)寫時序關(guān)系圖。圖中,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ù)輸出引腳的延時。通常,半導(dǎo)體制造商不會給出T0-T3這些參數(shù),通常會給出一個用于反映這些參數(shù)最終等價效果的參數(shù),即主控端外部數(shù)據(jù)引腳上出現(xiàn)數(shù)據(jù)時相對于外部時鐘引腳出現(xiàn)時鐘信號的延時,這里記為Tco.
圖2數(shù)據(jù)寫時序圖
時序分析最關(guān)心的參數(shù)是信號到達接受端的最終建立時間和保持時間是否符合器件要求。這里將建立時間和保持時間分別記為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)目標邏輯時序關(guān)系的集總參數(shù)。信號從器件的引腳到內(nèi)部目標邏輯存在一定延時,同時內(nèi)部邏輯需要最終的建立和保持時間,綜合器件內(nèi)部的這些需求,最終得到器件對外的時序要求。
分析圖2中時鐘信號和數(shù)據(jù)信號的相互關(guān)系,可以發(fā)現(xiàn):由于Tco的存在,如果器件間的時鐘和數(shù)據(jù)走線等長,則在接收端,用于發(fā)送時間的邊沿不能用于數(shù)據(jù)的采樣。為了在接收端對數(shù)據(jù)進行正確采樣,必須調(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ù)字系統(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ù)進行采樣。因此,建立和保持時間的公式如下:
(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取決于對應(yīng)的PCB走線長度和走線層等。如果Tflt-data 和Tflt-clk的總和過小,則導(dǎo)致數(shù)據(jù)的保持時間不足;如果過大,則會使得建立時間不足。因此,Tflt-data 和Tflt-clk的和存在上限和下限雙重限制。
需要額外說明的是,前述公式的分析中暗含一個結(jié)果,就是:默認器件的輸出保持時間和輸出延時是等時間的。實際上,不同的半導(dǎo)體器件具有不同的情況,即使同一個半導(dǎo)體器件,在每次輸出數(shù)據(jù)時也不一定是完全相同的。這正是本文開始就一再強調(diào)的,時序分析的公式并不是萬能的,盡管大多數(shù)情況均適用,鑒于現(xiàn)實世界中的情況多樣,必須具體問題具體分析。
還有一個問題:是否可以使用產(chǎn)生數(shù)據(jù)時鐘沿的次次上升沿采樣數(shù)據(jù),或者更靠后的邊沿來采樣數(shù)據(jù)。圖4所示是1#時鐘沿發(fā)出的數(shù)據(jù)由3#時鐘沿采樣的例子,在前述內(nèi)容中,1#時鐘沿發(fā)出的數(shù)據(jù)均由2#時鐘沿采樣。此處。為了在接收端有較好的建立和保持時間,可以看出數(shù)據(jù)的飛行時間最好要大于一個時鐘周期。假設(shè)此時鐘周期為40ns,表層走線,板材為FR-4,則數(shù)據(jù)線的最小長度要635CM。即使時鐘周期為8ns,數(shù)據(jù)線最小長度也要127CM。這顯然不是我們所希望的。因此,實際中使用產(chǎn)生數(shù)據(jù)時鐘沿的次上升沿來采樣數(shù)據(jù)。
圖4 使用數(shù)據(jù)產(chǎn)生沿的后續(xù)邊沿采樣數(shù)據(jù)
評論