SPICE器件模型
為了進行電路模擬,必須先建立元器件的模型,也就是對於電路模擬程式所支持的各種元器件,在模擬程式中必須有相應的數學模型來描述他們,即能用計算機進行運算的計算公式來表達他們。一個理想的元器件模型,應該既能正確反映元器件的電學特性又適於在計算機上進行數值求解。一般來講,器件模型的精度越高,模型本身也就越複雜,所要求的模型參數個數也越多。這樣計算時所占記憶體量增大,計算時間增加。而積體電路往往包含數量巨大的元器件,器件模型複雜度的少許增加就會使計算時間成倍延長。反之,如果模型過於粗糙,會導致分析結果不可靠。因此所用元器件模型的複雜程度要根據實際需要而定。
如果需要進行元器件的物理模型研究或進行單管設計,一般採用精度和複雜程度較高的模型,甚至採用以求解半導體器件基本方程為手段的器件模擬方法。二維準靜態數值模擬是這種方法的代表,通過求解泊松方程,電流連續性方程等基本方程結合精確的邊界條件和幾何、工藝參數,相當準確的給出器件電學特性。而對於一般的電路分析,應儘可能採用能滿足一定精度要求的簡單模型(Compact model)。
電路模擬的精度除了取決於器件模型外,還直接依賴於所給定的模型參數數值的精度。因此希望器件模型中的各種參數有明確的物理意義,與器件的工藝設計參數有直接的聯繫,或能以某種測試手段測量出來。
目前構成器件模型的方法有兩種:一種是從元器件的電學工作特性出發,把元器件看成‘黑盒子’,測量其連線埠的電氣特性,提取器件模型,而不涉及器件的工作原理,稱為行為級模型。這種模型的代表是IBIS模型和S參數。其優點是建模和使用簡單方便,節約資源,適用範圍廣泛,特別是在高頻、非線性、大功率的情況下行為級模型幾乎是唯一的選擇。缺點是精度較差,一致性不能保證,受測試技術和精度的影響。另一種是以元器件的工作原理為基礎,從元器件的數學方程式出發,得到的器件模型及模型參數與器件的物理工作原理有密切的關係。SPICE模型是這種模型中套用最廣泛的一種。其優點是精度較高,特別是隨著建模手段的發展和半導體工藝的進步和規範,人們已可以在多種級別上提供這種模型,滿足不同的精度需要。缺點是模型複雜,計算時間長。
一般驅動器和接收器的模型由器件廠商提供,傳輸線的模型通常從場分析器中提取,封裝和連線器的模型即可以由場分析器提取,又可以由製造廠商提供。
在電子設計中已經有多種可以用於PCB板級信號完整性分析的模型,其中最為常用的有三種,分別是SPICE、IBIS和Verilog-AMS、VHDL-AMS。
SPICE模型
SPICE模型是較早出現的一種。Spice是Simulation Program with Integrated Circuit Emphasis的縮寫,是一種功能強大的通用模擬電路仿真器,描述器件內部的實際電氣連線,已經具有幾十年的歷史了。該程式是美國加利福尼亞大學伯克利分校電工和計算科學系開發的,主要用於積體電路的電路分析程式中,Spice的網表格式變成了通常模擬電路和電晶體級電路描述的標準,其第一版本於1972年完成,是用Fortran語言寫成的,1975年推出正式實用化版本,1988年被定為美國國家工業標準,主要用於IC,模擬電路,數模混合電路,電源電路等電子系統的設計和仿真。由於Spice仿真程式採用完全開放的政策,用戶可以按自己的需要進行修改,加之實用性好,迅速得到推廣,已經被移植到多個作業系統平台上。自從Spice問世以來,其版本的更新持續不斷,有Spice2、Spice3等多個版本,新版本主要在電路輸入、圖形化、數據結構和執行效率上有所增強,人們普遍認為Spice2G5是最為成功和有效的,以後的版本僅僅是局部的變動。同時,各種以伯克利的Spice仿真程式的算法為核心的商用Spice電路仿真工具也隨之產生,運行在PC和UNIX平台,許多都是基於原始的SPICE 2G6版的原始碼,這是一個公開發表的版本,它們都在Spice的基礎上做了很多實用化的工作,比較常見的Spice仿真軟體有HSpice、Pspice、Spectre、Tspice、SmartSpcie、IsSpice等,雖然它們的核心算法雷同,但仿真速度、精度和收斂性卻不一樣,其中以Synopsys公司的Hspice和Cadence公司的Pspice最為著名。Hspice是事實上的Spice工業標準仿真軟體,在業內套用最為廣泛,它具有精度高、仿真功能強大等特點,但它沒有前端輸入環境,需要事前準備好網表檔案,不適合初級用戶,主要套用於積體電路設計;Pspice是個人用戶的最佳選擇,具有圖形化的前端輸入環境,用戶界面友好,性價比高,主要套用於PCB板和系統級的設計。
SPICE仿真軟體包含模型和仿真器兩部分。由於模型與仿真器是緊密地集成在一起的,所以用戶要添加新的模型類型是很困難的,但是很容易添加新的模型,僅僅需要對現有的模型類型設定新的參數即可。
SPICE模型由兩部分組成:模型方程式(Model Equations)和模型參數(Model Parameters)。由於提供了模型方程式,因而可以把SPICE模型與仿真器的算法非常緊密地聯接起來,可以獲得更好的分析效率和分析結果。
現在SPICE模型已經廣泛套用於電子設計中,可對電路進行非線性直流分析、非線性瞬態分析和線性交流分析。被分析的電路中的元件可包括電阻、電容、電感、互感、獨立電壓源、獨立電流源、各種線性受控源、傳輸線以及有源半導體器件。SPICE內建半導體器件模型,用戶只需選定模型級別並給出合適的參數。
採用SPICE模型在PCB板級進行SI分析時,需要積體電路設計者和製造商提供詳細準確描述積體電路I/O 單元子電路的SPICE模型和半導體特性的製造參數。由於這些資料通常都屬於設計者和製造商的智慧財產權和機密,所以只有較少的半導體製造商會在提供晶片產品的同時提供相應的SPICE模型。
SPICE模型的分析精度主要取決於模型參數的來源(即數據的精確性),以及模型方程式的適用範圍。而模型方程式與各種不同的數字仿真器相結合時也可能會影響分析的精度。除此之外,PCB板級的SPICE模型仿真計算量較大,分析比較費時。
IBIS模型
IBIS 是I/O Buffer Information Specification 的縮寫,它是一種基於I/V曲線的對I/O BUFFER快速準確建模的方法,是反映晶片驅動和接收電氣特性的一種國際標準,它提供一種標準的檔案格式來記錄如驅動源輸出阻抗、上升/下降時間及輸入負載等參數,非常適合做振盪和串擾等高速電路設計中的計算與仿真。
為了制定統一的IBIS 格式,EDA 公司、IC 供應商和最終用戶成立了一個IBIS格式制定委員會,IBIS公開論壇也隨之誕生,它是由一些EDA廠商、計算機製造商、半導體廠商和大學組成的。在1993 年,格式制定委員會推出了IBIS 的第一個標準Version 1.0,以後不斷對其進行修訂,現在的最新正式版本是2004年公布的Version 4.1,V4.1主要加入了對多語言模型的支持,包括Berkeley SPICE, VHDL-AMS 和 Verilog-AMS,IBIS模型具備了對整個系統建模的能力,模型套用的範圍得到了很大的擴充,但是這需要同時支持這些模型的混合仿真引擎才能進行仿真,因此模型的軟體的大規模套用還有待時日。IBIS標準已經得到了EIA的認可,被定義為ANSI/EIA-656-A標準。每一個新的版本都會加入一些新的內容,但這些新內容都只是一個IBIS 模型檔案中的可選項目而不是必須項目,這就保證了IBIS 模型的向後兼容性能。
現在,已經有幾十個EDA 公司成為IBIS 公開論壇的成員,支持IBIS 的EDA公司提供不同器件的IBIS 模型以及軟體仿真工具。有越來越多的半導體廠商開始提供自己產品的IBIS 模型。由於IBIS模型無需描述I/O 單元的內部設計和電晶體製造參數,因而得到了半導體廠商的歡迎和支持。現在各主要的數字積體電路製造商都能夠在提供晶片的同時提供相應的IBIS模型。
IBIS規範本身只是一種檔案格式,它說明在一標準的IBIS檔案中如何記錄一個晶片的驅動器和接收器的不同參數,但並不說明這些被記錄的參數如何使用,這些參數需要由使用IBIS模型的仿真工具來讀取。
IBIS模型僅提供驅動器和接收器的行為描述,但不泄漏電路內部構造的智慧財產權細節。換句話說,銷售商可以用IBIS模型來說明它們最新的門級設計工作,而不會給其競爭對手透露過多的產品信息。並且,因為IBIS是一個簡單的模型,在進行PCB板級仿真採用查表計算,因而計算量較小,比相應的全Spice三極體級模型仿真要節省10~15倍的計算量。
IBIS提供兩條完整的I/V曲線分別代表驅動器為高電平和低電平狀態,以及在確定的轉換速度下狀態轉換的曲線。I/V曲線的作用在於為IBIS提供保護二極體、TTL圖騰柱驅動源和射極跟隨輸出等非線性效應的建模能力。IBIS模型的分析精度主要取決於I/V和V/T表的數據點數和數據的精確度。
與Spice模型相比,IBIS模型的優點可以概括為:
(1)在I/O非線性方面能夠提供準確的模型,同時考慮了封裝的寄生參數與ESD結構;
(2)提供比結構化的方法更快的仿真速度;
(3)可用於系統板級或多板信號完整性分析仿真。可用IBIS模型分析的信號完整性問題包括:串擾、反射、振盪、上沖、下沖、不匹配阻抗、傳輸線分析、拓撲結構分析。IBIS尤其能夠對高速振盪和串擾進行準確精細的仿真,它可用於檢測最壞情況的上升時間條件下的信號行為及一些用物理測試無法解決的情況;
模型可以免費從半導體廠商處獲取,用戶無需對模型付額外開銷;
兼容工業界廣泛的仿真平台,幾乎所有的信號完整性分析工具都接受IBIS模型。
當然,IBIS不是完美的,它也存在以下缺點:
(1)許多晶片廠商缺乏對IBIS模型的支持。而缺乏IBIS模型,IBIS工具就無法工作。雖然IBIS檔案可以手工創建或通過Spice模型自動轉換,但是如果無法從廠家得到最小上升時間參數,任何轉換工具都無能為力
(2)IBIS不能理想地處理上升時間受控的驅動器類型的電路,特別是那些包含複雜反饋的電路;
(3)IBIS缺乏對地彈噪聲的建模能力。IBIS模型2.1版包含了描述不同管腳組合的互感,從這裡可以提取一些非常有用的地彈信息。它不工作的原因在於建模方式,當輸出由高電平向低電平跳變時,大的地彈電壓可以改變輸出驅動器的行為。
Verilog-AMS模型和VHDL-AMS模型
與Spice模型和IBIS模型相比,Verilog-AMS和VHDL-AMS模型出現的時間要晚些,是一種行為模型語言。作為硬體行為級的建模語言,Verilog-AMS和VHDL-AMS分別是Verilog和VHDL的超集,而Verilog-A則是Verilog-AMS的一個子集。
在模擬/混合信號(AMS)語言中,與SPICE和IBIS模型不同的是,在AMS語言中是由用戶來編寫描述元器件行為的方程式。與IBIS模型相類似,AMS建模語言是獨立的模型格式,可以套用在多種不同類型的仿真工具中。AMS方程式還能夠在多種不同的層次上來編寫:電晶體級、I/O單元級、I/O單元組等,唯一的要求是製造商能夠寫出描述連線埠輸入/輸出關係的等式。
實際上,AMS模型還能夠被用於非電的系統元件上。一般地,可以把模型寫得簡單些可以加快仿真的速度,一個更詳細的模型往往需要更多的時間來仿真。在某些情況下,一個相對簡單的行為模型比Spice模型還要精確些。
由於Verilog-AMS和VHDL-AMS都是一種新的標準,被採納也只是近5年的事情,迄今為止只有少數的半導體廠商能夠提供AMS模型,目前能夠支持AMS的仿真器也比SPICE和IBIS的要少。但AMS模型在PCB板級信號完整性分析中的可行性和計算精度毫不遜色於SPICE和IBIS模型。
上述幾種模型的性能對比如表1中所示:
表1 高速電路仿真模型比較對照表
模型的校驗
不管你決定選擇何種模型和仿真工具,你所使用的方法必須是有效的。至少,模型的準確性、完整性必需得到保證。例如,一個接收器的IBIS模型必需包括Vinl和Vinh的值,驅動器的IBIS模型必需包括Vmeas的值。IBIS模型的數據表可以通過圖形化的顯示工具來檢查,比如Mentor的Visual IBIS Editor或Cadence的Model Integrity工具。
同時,模型還必需能通過仿真器的檢驗,一個簡單的點到點的互連可以被用來校驗模型,比如檢測是否存在收斂性問題,注意互連必需包括至少一段傳輸線,這樣才能觀察到反射、過沖和嵌位二極體的嵌位特性。
最終,模型還要通過實際的硬體測試進行再次校驗。當然,器件的實際工作條件不可能完全符合仿真的參數,得到的測量數據與仿真結果無法完全一致,但是反映出來的器件特性應該吻合,比如在同樣的負載條件下,邊緣的斜率、過沖的幅度、信號的曲線形狀等應該相似。
模型的選用
由於目前還沒有一種統一的模型來完成所有的PCB板級信號完整性分析,因此在高速數字PCB板設計中,需要混合上述幾種模型來最大程度地建立關鍵信號和敏感信號的傳輸模型。
對於分立的無源器件,可以尋求廠家提供的SPICE模型,或者通過實驗測量直接建立並使用簡化的SPICE模型,或者使用專門的建模工具(如三維、二維的電磁場模型提取軟體)建模。
對於關鍵的數字積體電路,則必須尋求廠家提供的模型,如IBIS模型或Spice。目前大多數積體電路設計和製造商都能夠通過Web網站或其它方式在提供晶片的同時提供所需的IBIS模型,IBIS模型一般不提供,如需要可以找廠家索取。
對於非關鍵的積體電路,若無法得到廠家的IBIS模型,還可以依據晶片引腳的功能選用相似的或預設的IBIS模型。當然,也可以通過實驗測量來建立簡化的IBIS模型。
對於PCB板上的傳輸線,在進行信號完整性預分析及解空間分析時可採用簡化的傳輸線SPICE模型,而在布線後的分析中則需要依據實際的版圖設計使用完整的傳輸線SPICE模型。如果需要更精確的分析,需要對傳輸線進行準確建模,可以利用二維或三維的模型提取工具。