【導(dǎo)讀】在高速數(shù)字電路設(shè)計中,設(shè)計者不能單純地從數(shù)字電路的角度來審查自己的產(chǎn)品,而要把信號看作不穩(wěn)定的模擬信號。高速電路中的時序設(shè)計,雖然看似復(fù)雜,然而只要明晰其分析方法,問題可以迎刃而解。那怎么計算呢?
1 滿足接收端芯片的建立,保持時間的必要性
在高速數(shù)字電路設(shè)計中,由于趨膚效應(yīng)、臨近干擾、電流高速變化等因素,設(shè)計者不能單純地從數(shù)字電路的角度來審查自己的產(chǎn)品,而要把信號看作不穩(wěn)定的模擬信號。采用頻譜分析儀對信號分析,可以發(fā)現(xiàn),信號的高頻譜線主要來自于信號的變化沿而不是信號頻率。例如一個1MHz的信號,雖然時鐘周期為1微秒,但是如果其變化沿上升或下降時間為納秒級,則在頻譜儀上可以觀察到頻率高達數(shù)百兆赫茲的譜線。因此,電路設(shè)計者應(yīng)該更加關(guān)注信號的邊沿,因為邊沿往往也就是信號頻譜最高、最容易受到干擾的地方。
在同步設(shè)計中,數(shù)據(jù)的讀取需要基于時鐘采樣,根據(jù)以上分析,為了得到穩(wěn)定的數(shù)據(jù),時鐘的采樣點應(yīng)該遠離數(shù)據(jù)的變化沿。
圖1是利用時鐘CLK的上升沿采樣數(shù)據(jù)DATA的示例。DATA發(fā)生變化后,需要等待至少Setup時間(建立時間)才能被采樣,而采樣之后,至少Hold時間(保持時間)之內(nèi)DATA不能發(fā)生變化。因此可以看出,器件的建立時間和保持時間的要求,正是為了保證時鐘的采樣點遠離數(shù)據(jù)的變化沿。如果在芯片的輸入端不能滿足這些要求,那么芯片內(nèi)部的邏輯將處于非穩(wěn)態(tài),功能出現(xiàn)異常。
2 時序分析中的關(guān)鍵參數(shù)
為了進行時序分析,需要從datasheet(芯片手冊)中提取以下關(guān)鍵參數(shù):
● Freq:時鐘頻率,該參數(shù)取決于對芯片工作速率的要求。
● Tcycle:時鐘周期,根據(jù)時鐘頻率Freq的倒數(shù)求得。Tcycle=1/Freq。
● Tco:時鐘到數(shù)據(jù)輸出的延時。上文提到,輸入數(shù)據(jù)需要采用時鐘采樣,而輸出數(shù)據(jù)同樣也需要參考時鐘,不過一般而言,相比時鐘,輸出的數(shù)據(jù)需要在芯片內(nèi)延遲一段時間,這個時間就稱為Tco。該參數(shù)取決于芯片制造工藝。
● Tsetup(min):最小輸入建立時間要求。
● Thold(min):最小輸入保持時間要求。
除以上五個參數(shù)外,時序分析中還需要如下經(jīng)驗參數(shù):
● Vsig:信號傳輸速度。信號在電路上傳輸,傳輸速度約為6英寸/納秒。
時序計算的目標是得到以下兩個參數(shù)之間的關(guān)系:
● Tflight-data:數(shù)據(jù)信號在電路板上的走線延時。
● Tflight-clk:時鐘信號在電路板上的走線延時。
以上參數(shù)是進行時序分析的關(guān)鍵參數(shù),對于普通的時序分析已經(jīng)足夠。
3 源同步系統(tǒng)的時序計算
源同步系統(tǒng)指數(shù)據(jù)和時鐘是由同一個器件驅(qū)動發(fā)出的情況,下圖是常見的源同步系統(tǒng)拓撲結(jié)構(gòu):
該系統(tǒng)的特點是,時鐘和數(shù)據(jù)均由發(fā)送端器件發(fā)出,在接收端,利用接收到的時鐘信號CLK采樣輸入數(shù)據(jù)信號DATA。
源同步系統(tǒng)的時序計算公式為:
TCO(max) + (Tflight-data - Tflight-clk)MAX + Tsetup(min) < Tcycle (式1)
TCO(min) + (Tflight-data - Tflight-clk)MIN > Thold(min) (式2)
時序計算的最終目標是獲得Tflight-data - T flight-clk的允許區(qū)間,再基于該區(qū)間,通過Vsig參數(shù),推算出時鐘信號和數(shù)據(jù)信號的走線長度關(guān)系。
[page]
4 SPI4.2接口時序分析
SPI4.2(System Packet Interface Level4, Phase 2)接口是國際組織OIF制定的針對OC192(10Gbps)速率的接口。目前廣泛應(yīng)用在高速芯片上,作為物理層芯片和鏈路層芯片之間的接口。SPI4.2的接口定義如下:
SPI4.2接口信號按照收、發(fā)方向分為兩組,如圖3中,以T開頭的發(fā)送信號組和以R開頭的接收信號組。每組又分為兩類,以發(fā)送信號組為例,有數(shù)據(jù)類和狀態(tài)類,其中數(shù)據(jù)類包含TDCLK、TDAT[15:0],TCTL,狀態(tài)類包含TSCLK,TSTAT[1:0]。
其中,狀態(tài)類信號是單端LVTTL信號,接收端利用TSCLK的上升沿對TSTAT[1:0]采樣,方向為從物理層芯片發(fā)往鏈路層芯片;數(shù)據(jù)類信號是差分LVDS信號,接收端利用TDCLK的上升沿與下降沿對TDAT[15:0]和TCTL采樣,即一個時鐘周期進行兩次采樣,方向為從鏈路層芯片發(fā)往物理層芯片。
由于接收信號組與發(fā)送信號組的時序分析類似,因此本文僅對發(fā)送信號組進行時序分析。
在本設(shè)計中,采用Vitesee公司的VSC9128作為鏈路層芯片,VSC7323作為物理層芯片,以下參數(shù)分別從這兩個芯片的Datasheet中提取出來。
● 狀態(tài)類信號的時序分析
對狀態(tài)類信號,信號的流向是從物理層芯片發(fā)送到鏈路層芯片。
第一步,確定信號工作頻率,對狀態(tài)類信號,本設(shè)計設(shè)定其工作頻率和時鐘周期為:
Freq=78.125MHz;
Tcycle = 1/ Freq = 12.8ns;
第二步,從發(fā)送端,即物理層芯片手冊提取以下參數(shù):
-1ns < Tco < 2.5ns;
第三步,從接收端,即鏈路層芯片手冊提取建立時間和保持時間的要求:
Tsetup(min) = 2ns;
Thold(min) = 0.5ns;
將以上數(shù)據(jù)代入式1和式2:
2.5ns + (Tflight-data - Tflight-clk)MAX + 2ns < 12.8ns
-1ns + (Tflight-data - Tflight-clk)MIN > 0.5ns 整理得到:
1.5ns < (Tflight-data - Tflight-clk) < 8.3ns
基于以上結(jié)論,同時考慮到Vsig = 6inch/ns,可以得到如下結(jié)論,當數(shù)據(jù)信號和時鐘信號走線長度關(guān)系滿足以下關(guān)系時,狀態(tài)類信號的時序要求將得到滿足:TSTAT信號走線長度比TSCLK長9英寸,但最多不能超過49.8英寸。
● 數(shù)據(jù)類信號的時序分析
對數(shù)據(jù)類信號,信號的流向是從鏈路層芯片發(fā)送到物理層芯片。
第一步,確定信號工作頻率,對數(shù)據(jù)類信號,本設(shè)計設(shè)定其工作頻率為:
Freq=414.72MHz;
與狀態(tài)類信號不同的是,數(shù)據(jù)類信號是雙邊沿采樣,即,一個時鐘周期對應(yīng)兩次采樣,因此采樣周期為時鐘周期的一半。采樣周期計算方法為:
Tsample = 1/2*Tcycle = 1.2ns;
第二步,從發(fā)送端,即鏈路層芯片手冊提取以下參數(shù):
-0.28ns < Tco < 0.28ns;
第三步,從接收端,即物理層芯片資料可以提取如下需求:
Tsetup(min) = 0.17ns;
Thold(min) = 0.21ns;
將以上數(shù)據(jù)代入式1和式2,需特別注意的是,對數(shù)據(jù)類信號,由于是雙邊沿采樣,應(yīng)采用Tsample代替式1中的Tcycle:
0.28ns + (Tflight-data- Tflight-clk)MAX + 0.17ns < 1.2ns
-0.28ns + (Tflight-data- Tflight-clk)MIN> 0.21ns
整理得到:
0.49ns < (Tflight-data - Tflight-clk) < 0.75ns
基于以上結(jié)論,同時考慮到Vsig = 6inch/ns,可以得到如下結(jié)論,當數(shù)據(jù)信號和時鐘信號走線長度關(guān)系滿足以下關(guān)系時,數(shù)據(jù)類信號的時序要求將得到滿足:TDAT、TCTL信號走線長度比TDCLK長2.94英寸,但最多不能超過4.5英寸。
5 結(jié)論
高速電路中的時序設(shè)計,雖然看似復(fù)雜,然而只要明晰其分析方法,問題可以迎刃而解。