摘? 要: 高速電路設計對PCB設計者提出了新的要求和挑戰,高速電路中的信號完整性問題變得越來越突出,傳統的設計方法已經不能適應,利用IBIS模型進行信號完整性分析正是為了迎接這種挑戰而提出的新方法。介紹了IBIS模型的構成要素、基本的建模原理,以及利用IBIS模型進行信號完整性分析及其在高速電路設計中的應用,最后用一個實例講述了分析的具體步驟和過程。
關鍵詞: PCB? IBIS? EDA? 高速電路設計? 信號完整性
?
隨著技術的進步,目前高速集成電路的信號切換時間已經達到幾百ps,時鐘頻率也已達到幾百MHz,如此高的邊沿速率導致印刷電路板上的大量互連線產生低速電路中所沒有的傳輸線效應,使信號產生失真,嚴重影響信號的正確傳輸。若在電路板設計時不考慮其影響,邏輯功能正確的電路在調試時往往會無法正常工作。為了解決這個問題,在設計高速電路時必須進行信號完整性分析,采用虛擬樣板對系統進行透徹仿真,精確分析電路的布局布線對信號完整性的影響,并以此來指導電路的設計。這樣,以往很多在調試時才能發現的問題,在設計期間就可以解決,極大地提高了設計成功率,縮短了設計周期。
要對信號進行完整性分析,首先要建立精確的器件模型。以前在電路仿真時普遍采用SPICE模型,它是建立在電路基本元器件(如晶體管、電阻、電容等)的工作機理和物理細節之上的,可以精確地在電路器件一級仿真系統的工作特性,驗證系統的邏輯功能,因此在集成電路設計中得到了廣泛的應用。因為它能夠精確計算出系統的靜態和動態等各種工作特性,所以也可以用來進行系統級的信號完整性分析。但是使用SPICE模型有一些難以克服的缺點:首先,由于SPICE模型是晶體管一級的模型,隨著現在集成電路規模越來越大,即使只建立各個管腳的SPICE模型,也會包含成千上萬晶體管一級的器件,所以其仿真速度必然很慢,這對于交互的PCB設計來講是不可接受的;其次,由于SPICE模型涉及到許多集成電路設計方面的細節,一般集成電路廠商都不愿意公開提供,限制了它的廣泛應用。所以,需要有另外一種通用的模型來替代SPICE模型完成信號完整性分析,IBIS模型正是在這種情況下產生的。IBIS模型是通過一族電流/電壓(I/V)和電壓/時間(V/T)曲線來描述各個器件管腿的輸入輸出(I/O)特性的。由于IBIS模型只描述器件的外部特性,不涉及到器件的內部細節,不存在知識產權泄漏的問題,因此得到了各大集成電路廠商的支持。另外IBIS模型的抽象層次比SPICE模型高,是建立在器件一級的模型,模擬時所需的計算量少,因此模擬速度大為提高,一般比SPICE模型高兩個數量級,非常適合于系統級的仿真。現在IBIS模型已經被接納為國際標準EIA/ANSI-656,版本也從ver1.0發展到了現在的ver3.2。
1 IBIS模型的構成
圖1描述了一個輸入/輸出緩沖器的整體結構模型,每一個方框代表了IBIS模型的一個構成要素,其中包括封裝參數、鉗位二極管、上拉/下拉I/V曲線、上升/下降速率等。
?
?
下面以CMOS電路輸入/輸出緩沖器為例介紹IBIS建模的基本原理,其它器件的建模可參考IBIS規范。
1.1 輸入模型
輸入緩沖器模型包括了影響信號傳輸質量的主要因素,如圖2所示。C_pkg、R_pkg、L_pkg為管腿的封裝參數,分別對應封裝所引起的寄生電容、電阻和電感;C_comp為管腿的輸入電容,由器件的內部結構決定;Power_Clamp和GND_Clamp分別表示管腿的輸入鉗位二極管,其特性用輸入電流/電壓(I/V)曲線來描述。
?
1.2 輸出模型
輸出模型比輸入模型稍微復雜一些,如圖3所示。C_pkg、R_pkg、L_pkg仍然是管腿的封裝參數;C_comp是管腿的輸出電容,Power_Clamp和GND_Clamp分別表示管腿的輸出鉗位二極管,其特性也用V/I曲線來描述;與輸入不同的是輸出模型中多了Pullup和Pulldown參數,Pullup表示輸出為高電平時不同的上拉電壓與輸出電流的關系,Pulldown的意義則相反,它們都用V/I曲線描述;Ramp_rate表示輸出電壓的變化速率,這是一個動態參數,用以描述器件的交流特性。
1.3 IBIS模型的表示
同SPICE模型一樣,IBIS模型文件也用可閱讀的ASCII碼表示,一個器件的IBIS模型由若干部分組成,每一部分都以一個關鍵字開頭,然后對所定義的關鍵字利用數據或表格的形式進行描述。下面是一個簡單的IBIS模型文件的示例,其中包括了一些最常用的關鍵字:
[IBIS Ver]??????????????2.1
[Comment Char]? |_char
[File Name]???? ?? n74f244n.ibs
[File Rev]????? ??????? 2.0
[Date]????????? ??????? September 17, 1997
[Source]??? ??????????? File originated at Intel Corporation,
????????????????????????as an example of an IBIS Version
????????????????????????1.0 file.
[Notes]?????????????????This is modified from an original Version
????????????????????????1.0 example to include some IBIS
????????????????????????Version 2.1 features to illustrate some
????????????????????????keywords, sub??? parameters and IBIS format
????????????????????????style.
[Disclaimer]? ????????? This information is for modeling
????????????????????????purposes only,and is not guaranteed.
[Copyright]?? ????????? None
[Component]?? N74F244N
[Manufacturer] Philips
[Package]?
|????????????typ????????? min??????????max ?
R_pkg????????50m????????? 10m??????????100m?
L_pkg????????6.3nH??????? 2.4nH????????10.2nH ?
C_pkg????????1.35pF???? ? 0.89pF???? ? 1.81pF ?
|
[Pin] signal_name? model_name? R_pin? L_pin?? C_pin
|?
1??????OEa#???? ENABLE ???? NA???? 10.2nH 1.81pF?
2????? Ia0????? F244_INP??? NA???? 7.8nH? 1.50pF?
3????? Yb0????? F244_OUT ? ?NA???? 5.8nH? 1.17pF
????????????? ... data omitted ...
20???? Vcc????? POWER?????? NA???? 10.2nH? 1.81pF
|???????????????F244_OUT? MODEL
[Model]?????????F244_OUT
Model_type??????3-state
Polarity????????Non-Inverting
Enable????????? Active-Low
Rref = 500
Cref = 50pF
Vref = 0V
Vmeas = 1.5V
|????????????????? typ????????? ? min??????? max
[Voltage Range]?? ?5.0V?????????? 4.5V?????? 5.5V
[Pulldown]
|????Voltage??? ?? I(typ)????? ? I(min)??????I(max)
???? -5.0V?? ????? -16m????? ??? -15.2m????? -16.5m
???? -4.0V?? ????? -14m???? ???? -13.2m??????-14.5m
????????????? ... data omitted ...
?????10.0V???????? 755m?????????? 612m??????? 810m
[Pullup]
?... data omitted ...
[GND Clamp]
|?? Voltage?????? I(typ)???????? I(min)????? I(max)
??? -5.0V??????? ?-784m????????? -756m?????? -811m
??? -1.0V???? ??? -64m?????????? -56m????? ? -71m
??? ... data omitted ...
??? 5.0V????????? 0.0m?????????? 0.0m??? ??? 0.0m
[Ramp]
|??? ?????????? typ??????????? min?????????? max?
dV/dt_r? ?????? 1.5/2.00n???? 1.5/2.98n????? 1.5/1.61n?
dV/dt_f??? ??? 2.0/1.21n????? 2.0/1.74n????? 2.0/0.65n?
|????????????? F244_INP? MODEL?
?????? ... data omitted ...
|???????????? ?ENABLE? MODEL
?????? ... data omitted ...
|
[End]
IBIS模型可以由集成電路廠商提供,也可以通過實際測量得到,或者將已有的SPICE模型進行轉換,現在已經有許多成熟的轉換程序供使用。
2 IBIS模型的精度
由于IBIS模型是通過SPICE模型轉換或直接測量得到的結果,因此它具有較高的精度,能夠很好地反映器件的外部特性。圖4是一個典型電路。
?
?
???? 該電路用一個輸出緩沖器驅動一段傳輸線負載,并測量傳輸線末端的電壓波形。圖5是分別用SPICE模型和IBIS模型仿真得到的結果。
?
?
從圖5可以看出,兩種方法的仿真結果相差無幾,因此利用IBIS模型進行信號完整性分析是非常精確和可靠的。
3 利用IBIS模型進行信號完整性分析
懂得了IBIS模型的基本原理,就可以方便地對所設計的電路進行信號完整性分析了。由于IBIS模型具有高精度以及器件透明性等優點,其一推出就得到了各大EDA廠商的支持。現在各種EDA工具都具有利用IBIS模型進行系統仿真的功能,有些還將其與PCB設計工具集成在一起,設計過程中可以直接在線進行信號的仿真驗證,使用非常方便。
3.1 信號完整性分析的原理
雖然各種EDA工具對信號完整性分析的實現方法不同,但其基本原理卻是一致的。電路都是由器件通過導線互聯構成的,信號完整性分析的基本單元就是連接若干個器件的布線網絡,如圖6所示。
?
每一個網絡所連接的管腿的I/O特性直接由相應器件的IBIS模型來描述(無源器件也可以使用SPICE模型),各個器件之間的互聯導線則等效成傳輸線模型。傳輸線的具體參數可以根據PCB板的厚度、材料、層數、布線的線寬、間距等已知參數計算得到,各個網絡之間由于導線交叉耦合而引起的寄生參數如寄生電容、電阻、電感等也可以計算出來。這樣,在信號傳輸的全過程中,從源端發送一直到目的端接收的主要影響因素就都已經包括在內,再根據相應的電路理論就可以精確計算出信號在傳輸過程中所發生的各種變化。
3.2 信號完整性分析的應用
3.2.1 信號延遲分析
一些高速數字電路,如存儲器接口等,要求各個存儲芯片的時鐘相位偏差不能過大,否則可能會引起讀寫錯誤,這就要求從時鐘發生器到各個芯片接收端因PCB布線引起的時鐘延遲要大致相等。利用信號完整性分析工具,就可以方便地模擬時鐘到達各個芯片的時間延遲,從而調整相應的布局布線以達到預定的要求。
3.2.2 信號畸變分析
利用信號波形可以直觀地觀察信號在傳輸過程中所發生的畸變,包括過沖、下沖、振鈴等各種現象。IBIS模型提供了電路的動態參數,因此可以模擬脈沖傳輸的全過程。對比傳輸前后信號波形的變化,就可以知道電路設計能否滿足要求,如不滿足則可以做 出相應的修改。
3.2.3 信號串擾分析
串擾是指兩個不同的電性能網絡之間的相互作用。產生串擾的被稱為Aggressor,而收到干擾的被稱為Victim。通常,一個網絡既是Aggressor,又是Victim。嚴重的串擾會導致信號的延遲增加、波形畸變加劇等后果。串擾是電路設計中最難解決的問題之一,因為在電路的最后調試過程中很難判斷是由于串擾引起的還是其它因素影響的。目前解決這個問題的最好方法就是在電路設計過程中進行模擬,預先避免由于串擾而可能引起的各種問題。
4 信號完整性分析應用示例
下面通過一個阻抗匹配的例子說明如何進行信號完整性分析,分析工具采用Cadence公司的Signoise(其它PCB設計軟件也有相類似的工具,如PADS的Linesim和Boardsim,Protel的Signal Integrity Tools等)。
阻抗匹配是電路設計中經常遇到的問題。當負載的阻抗與驅動源的阻抗不相等時,信號傳輸時會在源與目的之間來回反射多次,從而導致過沖、振鈴等現象而使信號質量變差,阻抗匹配的目的就是通過端接適當的電阻使源和目的端的阻抗大致相等。
示例電路很簡單,如圖7所示。用一個74LS245作為驅動源驅動一個74LS245負載,中間串入電阻R作為阻抗匹配電阻,激勵信號采用占空比為50%的50MHz方波。
?
仿真前首先為器件分配IBIS模型,一般是由芯片供應商提供,也可使用Signoise自帶的模型仿真庫中的模型;然后將激勵信號設為占空比為50%的50MHz方波。這樣就可以進行仿真分析了。PCB板的布線線寬為6mil(mil:千分之一英寸),為了突出傳輸線效應走線長度拉長為5英寸,通過改變阻抗匹配電阻R的值,可得到一組驅動端與負載端的信號曲線,如圖8所示。
?
?
從以上各組曲線可以看出,匹配電阻的改變對信號質量有很大影響。電阻值較小時信號有較大的震蕩,電阻值過大時信號又上升緩慢,延遲時間變長。其中R=33Ω時信號上升速度快且沒有振蕩,信號質量最好,所以阻抗匹配電阻應取為33Ω。由此可以看出,信號完整性分析能夠幫助我們提早發現電路設計中的問題,并且能夠根據仿真結果修改電路參數以達到預定要求。
現在,電路板設計正在向高密度、高速度、小型化、低成本的方向發展,而且由于市場的激烈競爭,技術的不斷更新換代,設計周期越來越短,傳統的先設計后驗證的方法已經不能適應這種發展趨勢。在國外,設計復用、并行設計、信號完整性驗證已經成為設計者推崇的三大要素。但在國內,由于技術、資金等各方面條件的限制,還沒有獲得廣泛的應用,因此急待學習和改善條件,以提高我們的設計水平,增強產品的競爭力。
?
參考文獻
1 魯 郁.SpecctraQuest在高速信號印刷板設計中的應用.北京:Cadence中國通訊,2000(2):21~27
2 Derrick Duehren.I/O-buffer modeling specification simplifies simulation for high-speed systems. EIA IBIS
Open Forum, September 26, 1994
3 Bob Ross.Practical Issues with IBIS Models.Electronic Design, December 2, 1996
4 ANSI/EIA STANDARD. I/O Buffer Information Specification, Version 3.2. September 21, 1999
5 Bob Ross.IBIS Models for Signal Integrity Applications. Electrical Engineering Times, September 2, 1996