高速PCB設(shè)計中的時序分析及仿真策略解析
在網(wǎng)絡(luò)通訊領(lǐng)域,ATM交換機、核心路由器、千兆以太網(wǎng)以及各種網(wǎng)關(guān)設(shè)備中,系統(tǒng)數(shù)據(jù)速率、時鐘速率不斷提高,相應(yīng)處理器的工作頻率也越來越高;數(shù)據(jù)、語音、圖像的傳輸速度已經(jīng)遠(yuǎn)遠(yuǎn)高于500Mbps,數(shù)百兆乃至數(shù)吉的背板也越來越普遍。數(shù)字系統(tǒng)速度的提高意味著信號的升降時間盡可能短,由數(shù)字信號頻率和邊沿速率提高而產(chǎn)生的一系列高速設(shè)計問題也變得越來越突出。當(dāng)信號的互連延遲大于邊沿信號翻轉(zhuǎn)時間的20%時,板上的信號導(dǎo)線就會呈現(xiàn)出傳輸線效應(yīng),這樣的設(shè)計就成為高速設(shè)計。高速問題的出現(xiàn)給硬件設(shè)計帶來了更大的挑戰(zhàn),有許多從邏輯角度看來正確的設(shè)計,如果在實際PCB設(shè)計中處理不當(dāng)就會導(dǎo)致整個設(shè)計失敗,這種情形在日益追求高速的網(wǎng)絡(luò)通信領(lǐng)域更加明顯。專家預(yù)測,在未來的硬件電路設(shè)計開銷方面,邏輯功能設(shè)計的開銷將大為縮減,而與高速設(shè)計相關(guān)的開銷將占總開銷的80%甚至更多。高速問題已成為系統(tǒng)設(shè)計能否成功的重要因素之一。
本文引用地址:http://butianyuan.cn/article/256428.htm因高速問題產(chǎn)生的信號過沖、下沖、反射、振鈴、串?dāng)_等將嚴(yán)重影響系統(tǒng)的正常時序,系統(tǒng)時序余量的減少迫使人們關(guān)注影響數(shù)字波形時序和質(zhì)量的各種現(xiàn)象。由于速度的提高使時序變得苛刻時,無論事先對系統(tǒng)原理理解得多么透徹,任何忽略和簡化都可能給系統(tǒng)帶來嚴(yán)重的后果。在高速設(shè)計中,時序問題的影響更為關(guān)鍵,本文將專門討論高速設(shè)計中的時序分析及其仿真策略。
1 公共時鐘同步的時序分析及仿真
在高速數(shù)字電路中,數(shù)據(jù)的傳輸一般都通過時鐘對數(shù)據(jù)信號進(jìn)行有序的收發(fā)控制。芯片只能按規(guī)定的時序發(fā)送和接收數(shù)據(jù),過長的信號延遲或信號延時匹配不當(dāng)都可能導(dǎo)致信號時序的違背和功能混亂。在低速系統(tǒng)中,互連延遲和振鈴等現(xiàn)象都可忽略不計,因為在這種低速系統(tǒng)中信號有足夠的時間達(dá)到穩(wěn)定狀態(tài)。但在高速系統(tǒng)中,邊沿速率加快、系統(tǒng)時鐘速率上升,信號在器件之間的傳輸時間以及同步準(zhǔn)備時間都縮短,傳輸線上的等效電容、電感也會對信號的數(shù)字轉(zhuǎn)換產(chǎn)生延遲和畸變,再加上信號延時不匹配等因素,都會影響芯片的建立和保持時間,導(dǎo)致芯片無法正確收發(fā)數(shù)據(jù)、系統(tǒng)無法正常工作。
所謂公共時鐘同步,是指在數(shù)據(jù)的傳輸過程中,總線上的驅(qū)動端和接收端共享同一個時鐘源,在同一個時鐘緩沖器(CLOCK BUFFER)發(fā)出同相時鐘的作用下,完成數(shù)據(jù)的發(fā)送和接收。圖1所示為一個典型的公共時鐘同步數(shù)據(jù)收發(fā)工作示意圖。圖1中,晶振CRYSTAL產(chǎn)生輸出信號CLK_IN到達(dá)時鐘分配器CLOCK BUFFER,經(jīng)CLOCK BUFFER分配緩沖后發(fā)出兩路同相時鐘,一路是CLKB,用于DRIVER的數(shù)據(jù)輸出;另一路是CLKA,用于采樣鎖存由DRIVER發(fā)往RECEIVER的數(shù)據(jù)。時鐘CLKB經(jīng)Tflt_CLKB一段飛行時間(FLIGHT TIME)后到達(dá)DRIVER,DRIVER內(nèi)部數(shù)據(jù)由CLKB鎖存經(jīng)過TCO_DATA時間后出現(xiàn)在DRIVER的輸出端口上,輸出的數(shù)據(jù)然后再經(jīng)過一段飛行時間Tflt_DATA到達(dá)RECEIVER的輸入端口;在RECEIVER的輸入端口上,利用CLOCK BUFFER產(chǎn)生的另一個時鐘CLKA(經(jīng)過的延時就是CLKA時鐘飛行時間,即Tflt_CLKA)采樣鎖存這批來自DRIVER的數(shù)據(jù),從而完成COMMON CLOCK一個時鐘周期的數(shù)據(jù)傳送過程。
以上過程表明,到達(dá)RECEIVER的數(shù)據(jù)是利用時鐘下一個周期的上升沿采樣的,據(jù)此可得到數(shù)據(jù)傳送所應(yīng)滿足的兩個必要條件:①RECEIVER輸入端的數(shù)據(jù)一般都有所要求的建立時間Tsetup,它表示數(shù)據(jù)有效必須先于時鐘有效的最小時間值,數(shù)據(jù)信號到達(dá)輸入端的時間應(yīng)該足夠早于時鐘信號,由此可得出建立時間所滿足的不等式;②為了成功地將數(shù)據(jù)鎖存到器件內(nèi)部,數(shù)據(jù)信號必須在接收芯片的輸入端保持足夠長時間有效以確保信號正確無誤地被時鐘采樣鎖存,這段時間稱為保持時間,CLKA的延時必須小于數(shù)據(jù)的無效時間(INVALID),由此可得出保持時間所滿足的不等式。
1.1 數(shù)據(jù)建立時間的時序分析
由第一個條件可知,數(shù)據(jù)信號必須先于時鐘CLKA到達(dá)接收端,才能正確地鎖存數(shù)據(jù)。在公共時鐘總線中,第一個時鐘周期的作用是將數(shù)據(jù)鎖存到DRIVER的輸出端,第二個時鐘周期則將數(shù)據(jù)鎖存到RECEIVER的內(nèi)部,這意味著數(shù)據(jù)信號到達(dá)RECEIVER輸入端的時間應(yīng)該足夠早于時鐘信號CLKA。為了滿足這一條件,必須確定時鐘和數(shù)據(jù)信號到達(dá)RECEIVER的延時并保證滿足接收端建立時間的要求,任何比需要的建立時間多出來的時間量即為建立時間時序余量Tmargin。在圖1的時序圖中,所有箭頭線路表示數(shù)據(jù)信號和時鐘信號在芯片內(nèi)部或傳輸線上產(chǎn)生的延時,在下面的箭頭線路表示從第一個時鐘邊沿有效至數(shù)據(jù)到達(dá)RECEIVER輸入端的總延時,在上面的箭頭線路表示接收時鐘CLKA的總延時。從第一個時鐘邊沿有效至數(shù)據(jù)到達(dá)RECEIVER輸入端的總延時為:
TDATA_DELAY=TCO_CLKB+Tflt_CLKB+TCO_DATA+Tflt_DATA
接收時鐘CLKA下一個周期的總延時為:
TCLKA_DELAY=TCYCLE+TCO_CLKA+Tflt_CLKA
要滿足數(shù)據(jù)的建立時間則必須有:
TCLKA_DELAY_MIN-TDATA_DELAY_MAX-Tsetup-Tmargin>0
展開并考慮時鐘的抖動Tjitter等因素整理后得到:
TCYCLE+(TCO_CLKA_MIN-TCO_CLKB_MAX)+ (Tflt_CLKA_MIN-Tflt_CLKB_MAX)-TCO_DATA_MAX-Tflt_DATA_SETTLE_DELAY_MAX-Tjitter-Tsetup-Tmargin>0 (1)
式(1)中TCYCLE為時鐘的一個時鐘周期;第一個括號內(nèi)是時鐘芯片CLOCK BUFFER輸出時鐘CLKA、CLKB之間的最大相位差,即手冊上稱的OUTPUT-output skew;第二個括號內(nèi)則是CLOCK BUFFER芯片輸出的兩個時鐘CLKA、CLKB分別到達(dá)RECEIVER和DRIVER的最大延時差。式(1)中TCO_DATA是指在一定的測試負(fù)載和測試條件下,從時鐘觸發(fā)開始到數(shù)據(jù)出現(xiàn)在輸出端口并到達(dá)測試電壓Vmeas(或VREF)閾值的時間間隔,TCO_DATA的大小與芯片內(nèi)部邏輯延時、緩沖器OUTPUT BUFFER特性、輸出負(fù)載情況都有直接關(guān)系,TCO可在芯片數(shù)據(jù)手冊中查得。
由公式(1)可知,可調(diào)部分實際只有兩項:Tflt_CLKB_MIN-Tflt_CLKB_MAX和Tflt_DATA_SETTLE_DELAY_MAX。單從滿足建立時間而言,Tflt_CLKA_MIN應(yīng)盡可能大,而Tflt_CLKB_MAX和Tflt_DATA_SETTLE_DELAY_MAX則要盡可能小。實質(zhì)上,就是要求接收時鐘來得晚一點,數(shù)據(jù)來得早一點。
1.2 數(shù)據(jù)保持時間的時序分析
為了成功地將數(shù)據(jù)鎖存到器件內(nèi)部,數(shù)據(jù)信號必須在接收芯片的輸入端保持足夠長時間有效以確保信號正確無誤地被時鐘采樣鎖存,這段時間稱為保持時間。在公共時鐘總線中,接收端緩沖器利用第二個時鐘邊沿鎖存數(shù)據(jù),同時在驅(qū)動端把下一個數(shù)據(jù)鎖存到數(shù)據(jù)發(fā)送端。因此為了滿足接收端保持時間,必須保證有效數(shù)據(jù)在下一個數(shù)據(jù)信號到達(dá)之前鎖存到接收端觸發(fā)器中,這就要求接收時鐘CLKA的延時要小于接收數(shù)據(jù)信號的延時。
TCLKA_DELAY=TCO_CLKA+Tflt_CLKA
而數(shù)據(jù)延時:
TDATA_DELAY=TCO_CLKB+Tflt_CLKB+TCO_DATA+Tflt_DATA_SWITCH_DELAY
若要滿足數(shù)據(jù)的保持時間,則必須有:
TDATA_DELAY_MIN-TCLKA_DELAY_MAX-Thold-Tmargin>0
展開、整理并考慮時鐘抖動Tjitter等因素,可得如下關(guān)系:
(TCO_CLKB_MIN-TCO_CLKA_MAX)+(Tflt_CLKB_MIN-Tflt_CLKA_MAX)+TCO_DATA_MIN+Tflt_DATA_SWITCH_DELAY_MIN-Thold-Tmargin-Tjitter>0 (2)
路由器相關(guān)文章:路由器工作原理
路由器相關(guān)文章:路由器工作原理
交換機相關(guān)文章:交換機工作原理
晶振相關(guān)文章:晶振原理
評論