IBIS建模—第2部分:為何以及如何創建您自己的IBIS模型

作者:產品應用工程師Rolynd Aquino , Janchris Espinoza及系統應用工程師Francis Ian Calubag


摘要

本文提供創建IBIS模型時如何使用LTspice®的指南,涵蓋從IBIS預建模程式到IBIS模型驗證的整個過程,並詳細介紹如何在LTspice中為IBIS模型準確擷取I-V、V-T、斜坡和C_comp數據。此外,本文並提供定性和定量FOM方法,用於驗證IBIS模型的性能。該應用案例展示了為假設的ADxxxx三態數位緩衝器開發IBIS模型的過程,其中包含適合輸入和三態CMOS介面的可用IBIS範本,有助於即刻開始創建您的IBIS模型。

簡介

在建構任何系統時,模擬都發揮著關鍵作用。其協助設計人員預見問題,進而避免費時且成本高昂的修改。我們的目標始終是一次就成功!在模擬高速數位介面時,如果設計不當,簡單的PCB佈線可能會影響訊號品質。在訊號完整性模擬中,IBIS(輸入/輸出緩衝器資訊規範)模型用來表示元件的數位介面。

如IBIS系列文章的 第1部分 所述,IBIS是一個行為模型,透過以表格形式列出的電流與電壓(I-V)和電壓與時間(V-T)數據來描述元件的數位介面的電氣特徵。IBIS模型應儘量準確,且不含任何解析錯誤,避免在之後使用時出現問題。此外,對於具有數位介面的每個零件或元件,都應該提供可用的IBIS模型。如此當客戶需要時,可直接從製造商的網頁上下載。但是,事實並非總是如此。對於IBIS模型使用者,他們常遇到的一個問題就是模型的可用性。當其在設計中選用的零件沒有IBIS模型時,其產品開發可能受阻。

IBIS模型最好是由其製造商提供;但是,使用者也可以創建IBIS模型。本文介紹如何使用LTspice,基於SPICE模型創建最基礎的IBIS模型。下文使用 IBIS建模手冊 (IBIS 4.0版)中的規格來介紹LTspice模擬設定。並介紹如何使用定性和定量品質因數來驗證IBIS模型。

何謂「最基本的」IBIS模型?

為了協助客戶使用LTspice創建基本的IBIS模型,需要先定義「基本」一詞。基本的IBIS模型不僅取決於I/O模型關鍵字,還取決於需要建模的數位緩衝器的類型。這表示需要重新審視IBIS的早期版本,以定義建立緩衝器模型需要滿足的最低要求,以及當時建模的數位介面的類型。事實證明,單端CMOS緩衝器是可以使用IBIS建模的最簡單的數位IO之一,本文將予以介紹。

Figure 1. IBIS model of a 3-state CMOS buffer.
圖1.3態CMOS緩衝器的IBIS模型。
表1.基於Model_type的IBIS模型元件匯總
Model_type [封裝] C_comp [GND_ Clamp] [Power_ Clamp] [下拉] [上拉] V-T表 [斜坡]
輸入
3態
I/O

圖1顯示3態CMOS緩衝器IBIS模型的結構。如第1部分所述,IBIS模型中的元件或關鍵字取決於模型類型。表1匯總列出基本的IBIS模型的元件,具體由Model_type決定。

應用案例

在本文中,我們將使用一個假設的ADxxxx元件的LTspice模型來創建IBIS模型。它是一個具有致能接腳的單輸入和單輸出數位緩衝器。因此,得到的IBIS模型將具有兩個輸入(DIN1和EN)、一個三態輸出(DOUT1)。

一般來說,產生IBIS模型有五個基本步驟:

  • 建立預建模程式。
  • 對從SPICE模型中擷取的C_comp、V-I和V-T數據進行LTspice模擬。
  • 格式化IBIS檔。
  • 使用IBIS解析器測試檢查檔。
  • 比較IBIS模型與SPICE模型在相同載入條件下的模擬結果。

IBIS模型提供典型數據、最小數據和最大數據。其透過工作電源電壓範圍、溫度和製程來確定。為精簡起見,本文只討論典型條件。

Ibischk Golden Parser系列可用於檢查IBIS模型是否符合IBIS規範。ibischk可執行檔可從IBIS.ORG網頁免費獲取。本文使用整合ibischk的協力廠商IBIS模型編輯軟體。

預建模程式

在開始模擬之前,用戶應該下載元件的產品手冊,並安裝SPICE模型和LTspice檔。透過確定零件具備的數位介面數量和類型(例如,輸入、開漏、三態等),對零件進行初始評估。

根據元件產品手冊,確定工作電源電壓、工作溫度、積體電路(IC)封裝類型、元件接腳排列、數位輸出時序規格的載入條件(RLoad和/或CLoad),以及數位輸入的低位準輸入電壓(VINL)和高位準輸入電壓(VINH)。ADxxx SPICE模型如圖1所示,其指標參數列在表2。

Figure 2. An ADxxxx 3-state digital buffer SPICE model.
圖2.Adxxxx 3態數位緩衝器SPICE模型。
表2.ADxxxx產品手冊參數
產品手冊參數
VDD 1.8 V(典型值)
工作溫度 25°C
VINL 0.3 × VDD
VINH 0.7 × VDD
IC封裝 6接腳SOT-23
CLOAD 15 pF

透過使用關鍵字,將有關元件數位介面的所有資訊彙集到一個IBIS檔中。關鍵字是IBIS模型中用括弧括起來的識別字,如 第1部分所述。更多詳細資訊請參閱此部分內容。

與IC封裝模型相關的關鍵字是[Package]。其包含RLC(電阻-電感-電容)寄生參數,代表從晶片焊墊到IC焊墊/接腳的連接。此資訊可從製造商獲得。也可以查找另一個IBIS檔的[Package]數據,只要該元件採用的封裝與正在評估的元件完全相同,並且來自同一製造商。6接腳SOT-23封裝的元件封裝寄生參數如表3所示。

表3.6接腳SOT-23封裝寄生參數
[封裝]
變數 典型值 最小值 最大值
R_pkg 1.595E-01 NA NA
L_pkg 4.455E-09 NA NA
C_pkg 0.370E-12 NA NA

元件接腳排列如表4所示。關鍵字[Pin]用於描述接腳及其對應的模型名稱。[Pin]一般為3列格式。第一列是接腳編號,第二列是接腳描述,第三列是模型名稱。有些封裝包含類似的接腳(VCC、GND)。這些接腳可以按模型分組和描述。在這種情況下,由於SPICE模型沒有給出有關內部電晶體級原理圖的資訊,因此最好為每個數位介面創建單獨的模型。在IBIS檔中,模型名稱"Power"和"GND"用於命名電源和接地接腳。非數位介面和「請勿連接」接腳則描述為"NC"或無連接。請注意,模型名稱是區分大小寫的。由於在稍後的建模程式中還會用到,所以需給出具體的模型名稱。

表4.ADxxxx接腳列表
[Pin] Signal_name Model_name
1 VDD Power
2 DIN1 cmos_di1
3 EN cmos_en
4 DOUT1 cmos_out1
5 GND GND
6 NC NC

ADxxxx真值表如表5所示。這在建立LTspice模擬時非常有用。還必須要知道如何將DOUT1接腳設定為高阻抗(高阻)模式、邏輯1和邏輯0。

表5.ADxxxx真值表
EN DIN1 DOUT1
0 0 高阻
0 1 高阻
1 0 0
1 1 1

LTspice設定和模擬

一般來說,IBIS模型透過前面提到的I-V(電流與電壓)和V-T(電壓與時間)數據描述數位緩衝器的行為。進行IBIS建模時,每種類型的數位介面都擁有一組自己的I-V和/或V-T數據,如表1所示。表6更加詳細列出了這些數據集。注意查看每個數據集的注釋。那些標記為「推薦」的數據,表示這些數據缺失不會在ibischk解析器測試中導致誤差。但是,這些數據集對通道模擬有一定的作用。例如,鉗位元數據有助於分析訊號反射。

表6.輸入和3態介面的I-V和V-T數據集
  IBIS
關鍵字
輸入 3態
V-I數據 C_comp
Z
必需 必需
[Power_Clamp] 推薦 推薦
[GND_Clamp] 推薦 推薦
[上拉] 必需
[下拉]
必需
V-T數據 [上升波形] 載入至 VDD 推薦
載入至 GND 推薦
[下降波形] 載入至 VDD 推薦
載入至 GND 推薦
[斜坡] 必需

[Power_Clamp]和[GND_Clamp]

Figure 3. Conceptual diagram of [Power_Clamp] and [GND_Clamp] keyword structure.
圖3.[Power_Clamp]和[GND_Clamp]關鍵字結構的概念圖。 

[GND_Clamp]和[Power_Clamp]透過以表格形式列出的I-V數據顯示數位緩衝器的靜電放電(ESD)元件的行為。[Power_Clamp]表示以VDD為基準的ESD元件的整體行為,接地箝位表示以GND為基準的ESD元件的整體行為。

在LTspice中,I-V數據可以使用.DC SPICE命令/指令進行測量。DOUT1的接地箝位用圖4所示設定進行測量。在該設定中,使用適當的電源電壓將該元件配置為高阻態模式(請參見表5)。這可以確保將ESD元件與核心電路隔離。VSWEEP是以GND為基準的掃描電壓。使VSWEEP基準電壓接地,確保只顯示GND箝位ESD元件的特徵。

Figure 4. An ADxxxx DOUT1 ground clamp setup.
圖4.ADxxxx DOUT1接地箝位設定。 

根據IBIS規格,應掃描電壓軌以外(最好從-VDD到2 × VDD)的I-V數據,本例中是從–1.8 V到+3.6 V。透過直接執行此操作,掃描VDD以外的電壓將會開啟電源箝位ESD元件。為了避免這種情況,首先在–1.8 V至+1.8 V範圍內掃描VSWEEP,並使用外推方法增加3.6 V數據點。此方法適用於所有I-V數據集。

另外,請注意所有I-V數據集最多只接受100個數據點。如果數據點超過這個數目,在ibischk解析器測試中會提示錯誤。設定.DC命令的增量,使得到的數據點數量小於或等於99。這是為了容納用於2 × VDD外推的一個額外數據點。

進行直流掃描時,模擬中可能出現非常大的反向電流。要解決這個問題,將起始掃描從近似二極體勢壘電位(-0.7 V)設定為VDD (+1.8 V)。然後將數據外推至符合–VDD至2 × VDD I-V數據。另一種方法是將一個小電阻Rser與VSWEEP串聯,以限制極端電流。

按一下運行按鈕,LTspice開始運行模擬。由於正在評估DOUT1,所以目標節點為Ix(U1:DOUT1)。雖然從技術角度來看I(VSWEEP)也是正確的,但IBIS模型需要Ix(U1:DOUT1)上的電流極性。這是為了大幅減少I(VSWEEP)數據的進一步格式化,使其適合模型。結果應該如圖5所示。模擬完成後,先按一下結果視窗保存數據,然後按一下檔 -> 將數據匯出為文本。導航至要保存的目錄,按一下受測節點,然後按一下OK(如圖6所示)。

Figure 5. Ground clamp simulation result.
圖5.接地箝位模擬結果。
Figure 6. Exporting simulation data as text.
圖6.將模擬數據匯出為文本。

[Power_Clamp]數據提取與接地箝位元設定類似,因此掃描電壓VSWEEP以VDD為基準。設定和結果如圖7所示。

Figure 7. ADxxxx OUT1 power clamp setup and result.
圖7.ADxxxx OUT1電源箝位設定和結果。

[下拉]和[上拉]

圖8顯示了I-V關鍵字結構的概念圖。[下拉]和[上拉]表示緩衝器中上拉和下拉元素的行為。如果以圖表形式表示,其看起來就像MOSFET的I-V特徵曲線。在擷取[下拉]和[上拉]數據時,瞭解如何透過元件的真值表操控從輸出接腳輸出的訊號非常重要。擷取[下拉]和[上拉]數據的設定與[GND_Clamp]和[Power_Clamp]類似,即DOUT1接腳致能,且不處於高阻模式。

Figure 8. Conceptual diagram of a I-V keyword structure.
圖8.I-V關鍵字結構的概念圖。

要擷取[下拉]數據,DOUT1接腳應設定為邏輯0輸出或0 V。所以,必須設定適當的電源電壓,如圖9所示。對EN接腳施加1.8 V的等效邏輯高壓,以使能DOUT1接腳,對DIN1接腳施加邏輯0或0 V,將DOUT1接腳設定為邏輯0輸出。可以透過真值表(表5)進行確認。結果如圖10所示。

Figure 9. An ADxxxx OUT1 pulldown setup.
圖9.ADxxxx OUT1下拉設定。
Figure 10. An ADxxxx OUT1 pulldown plot.
圖10.ADxxxx OUT1下拉圖。

放大[下拉]數據,其類似於MOSFET的I-V特徵曲線,如圖11所示。

Figure 11. An ADxxxx DOUT1 pulldown plot (zoomed view).
圖11.ADxxxx DOUT1下拉圖(縮放視圖)。

在保存下拉數據時,請注意其構成了[GND_Clamp]和[下拉]的總電流。圖12更可以說明這一點。要移除[GND_Clamp]組件,只需從[下拉]保存數據中逐點減去它。為了簡化這一操作,[GND_Clamp]和[下拉]直流分析的電壓增量、開始電壓和結束電壓必須相同。

Figure 12. Actual current from pulldown saved data.
圖12.來自下拉保存數據的實際電流。

獲取上拉數據的設定如圖13所示。提供適當的電源電壓,以將DOUT1設定為邏輯1 (1.8 V)。這將確保上拉元件啟動/開啟。然後,VSWEEP也在–1.8 V至+1.8 V範圍內掃描,並且以VDD為基準。以如此方式連接VSWEEP,可以防止使用者格式化數據以符合IBIS規範。

Figure 13. ADxxxx DOUT1 pullup setup and result.
圖13.ADxxxx DOUT1上拉設定和結果。

與[下拉]一樣,保存的[上拉]數據是從[Power_ Clamp]和[上拉]總電流得出的結果。因此,使用者需要從保存的[上拉]數據中逐點減去數據,以去除[Power_Clamp]元件,如果它們的直流掃描參數相同,這很容易完成。提醒大家,對所有的I-V數據測量使用相同的直流掃描參數。

Figure 14. Actual current from [Pullup] saved data.
圖14.來自保存的[上拉]數據的實際電流。

[C_comp]

[C_comp]關鍵字代表緩衝器的電容,其最小、典型和最大拐角的值各不相同。其是電晶體和晶片的電容,與封裝電容不同。可以採用兩種方式擷取[C_comp]。當接腳由交流電壓供電時,可以使用公式1中的公式來得出近似值,也可以使用公式2中的公式進行計算。

Equation 1
Equation 2

其中:

  • ImIac:被測電流的虛值
  • F:交流電源的頻率
  • VAC:交流電源的幅度

使用LTspice進行C_Comp提取

如圖15所示,可透過提供交流電壓和頻率掃描來提取緩衝器電容。由於提供的是交流電壓,所以要測量電流的實部和虛部部分。當用交流電壓供電時,必須反轉電流的極性,以測量緩衝器的輸入電流值。測量輸出緩衝器電容時,對於圖15所示的圖,唯一要做的更改就是必須將交流電源連接至輸出接腳。

Figure 15. ADxxxx C_comp extraction setup.
圖15.ADxxxx C_comp擷取設定。

交流電壓的幅值可以是任意值,但通常設定為1 V。其將按照SPICE指令進行頻率掃描。使用.AC命令繪製波形時,默認設定為以波特模式顯示,單位為dB。必須將其設定為笛卡爾模式才能查看電流值,這樣可以直接使用緩衝器電容公式進行處理。要查看緩衝器電容波形,使用者必須先按右鍵波形視窗,然後按一下增加佈線,再選擇被測量的接腳。波形圖視窗將顯示兩條線。

實線表示被測電流的實部,虛線表示被測電流的虛部。

Figure 16. An <strong>Add Traces to Plot</strong> dialog box.
圖16.向圖中增加佈線對話方塊。

若要將圖形設定從波特改為笛卡爾,按右鍵波形視窗左側的y軸,以打開左縱軸—幅度對話方塊。然後將圖示方式從波特改為笛卡爾

Figure 17. Changing the plot setting from Bode to Cartesian.
圖17.將圖設定從波特改成笛卡爾

用於C_Comp設定的LTspice指令

LTspice指令用於設定電路的工作模式、測量變數和過程參數,以計算C_comp。以下是用來測量緩衝器的C_comp值的LTspice指令:

  • .AC Lin 10 1k 10k:將電路的工作模式設定為從1 kHz至10 kHz的交流線性頻率掃描。
  • .Options meascplxfmt:將.meas命令的默認結果更改為波特、奈奎斯特或笛卡爾模式。
  • .Options measdgt:設定.meas語句的有效數字位數。
  • .meas statements:這些指令用來找出電路中某些參數的值。

這些SPICE指令可根據使用者想要顯示的參數進行修改。有關在LTspice中可使用的指令的詳細說明,請參閱LTspice Help。測量語句的結果可以在工具 > SPICE錯誤日誌中查看。

SPICE錯誤日誌中顯示的結果將採用笛卡爾形式。X座標為電流和緩衝電容的實部,Y座標為電流和緩衝器電容的虛部。如上所述,在測量緩衝器電容時,電流的虛部是緩衝器電容所需的部分,所以C_comp的實際值就是圖18中突出顯示的值。

Figure 18. Measure statement results in <strong>SPICE Error Log</strong>.
圖18.SPICE錯誤日誌中的測量語句結果。

[上升波形]和[下降波形]

什麼是上升和下降波形?

[上升波形]和[下降波形]關鍵字類比輸出緩衝器的切換行為。對於輸出模型,建議包含四個V-T數據集:上升和下降波形,以地為基準載入;上升和下降波形,以VDD為基準載入。

提取上升和下降V-T數據

要在LTspice中提取OUT1的上升或下降波形,以分段線性(PWL)訊號或將脈衝電壓電源的形式向輸入接腳發送升緣或降緣輸入激勵。模擬中使用的輸入刺激的轉換必須要快,以便為模型提取出最快的輸出轉換。在測量輸出接腳的電壓時,將使用.TRAN命令對原理圖進行瞬態分析。將一個50 Ω電阻用作負載,用於提取3態輸出緩衝器的4個V-T波形的數據,但其可能會因緩衝器設計和驅動能力有所不同,以進行輸出轉換。50 Ω為V-T數據提取的預設載入值,因為其是PCB佈線電阻的典型值。將50 Ω負載連接到緩衝器相對地(載入至接地)或VDD(載入至VDD)的輸出接腳。

Figure 19. Sample rising edge input stimulus using pulse voltage supply.
圖19.使用脈衝電壓電源的採樣升緣輸入刺激。

透過以地為基準50 Ω負載獲取下降波形

為了產生一個以地為基準的下降輸出波形,需要一個降緣輸入,並且50 Ω負載需要以GND為基準,如圖20所示。得到的V-T波形如圖21所示,其中輸出穩定在16 ns到20 ns左右。需要注意的是,瞬態分析時間應足以捕捉下降波形(在穩定時)。

Figure 20. ADxxxx setup for falling waveform with a ground referenced 50 Ω load.
圖20.透過以地為基準的50 Ω負載獲取下降波形的ADxxxx設定。
Figure 21. ADxxxx result of falling waveform with a ground referenced 50 Ω load.
圖21.透過以地為基準的50 Ω負載獲取下降波形的ADxxxx結果。

透過以VDD為基準50 Ω負載獲取下降波形

圖22顯示透過以VDD為基準50 Ω負載獲取下降波形的設定和結果。如圖所示,要完全捕獲輸出的下降躍遷,需要50 ns瞬態時間。

Figure 22. ADxxxx setup and plot of DOUT1 falling waveform with VDD referenced 50 Ω load.
圖22.採用以VDD為基準50 Ω負載的ADxxxx設定和DOUT1下降波形圖。

透過以地為基準50 Ω負載獲取上升波形

對於上升波形,採用PWL訊號形式的升緣輸入刺激。圖23中的設定顯示,負載電阻連接至相對於地的輸出接腳,這將產生上升負載對地的V-T數據。

Figure 23. ADxxxx setup and plot of DOUT1 rising waveform with a ground referenced 50 Ω load.
圖23.採用以地為基準50 Ω負載的ADxxxx設定和DOUT1上升波形圖。

負載連接至VDD時的上升波形

使用相同的升緣輸入刺激,但50 Ω需要以VDD為基準。

檢查V-T數據正確性的一種方法是查看邏輯低電壓和邏輯高電壓。在VDD為基準波形應具有相同的邏輯低電壓和邏輯高電壓位準,並且邏輯高電壓應與VDD相同。另一方面,以GND為基準波形也應具有相同的邏輯低電壓和邏輯高電壓,並且邏輯低電壓位準應為約0 V。

Figure 24. ADxxxx setup and plot of DOUT1 rising waveform with a VDD referenced 50 Ω load.
圖24.採用以VDD為基準50 Ω負載的ADxxxx設定和DOUT1上升波形圖。

匯出波形

然後,必須執行以下步驟,以保存從四個設定中擷取的V-T波形:

  • 按右鍵圖
  • 將滑鼠懸停在檔上,然後按一下將數據匯出為文本
Figure 25. Saving the LTspice plot as a text file.
圖25.將LTspice圖保存為文字檔。
  • 選擇要匯出的波形和匯出波形的目錄。
Figure 26. Selecting trace and setting the saving directory.
圖26.選擇佈線,設定保存目錄。

使用LTspice提取斜坡數據

[斜坡]關鍵字是斜坡率(dV/dt),表示在上升或下降轉換沿的20%到80%位置捕捉的上升和下降VT數據。此方法可以在LTspice上實現,因其能夠使用.MEAS和.PARAM指令計算這些參數。可透過在VT波形設定上增加SPICE指令來完成斜坡擷取過程。這表示斜坡和VT波形可以同時提取。

圖27顯示上升波形斜坡計算的設定。為了計算下降波形的斜坡,應該互換VLO和VHI的時間值,因為下降斜坡的輸出波形從緩衝器的邏輯高位準開始,並轉變為邏輯低位準。

Figure 27. ADxxxx VT setup with additional directives for ramp extraction for rising waveforms.
圖27.ADxxxx VT設定,以及用於提取上升波形的斜坡的附加指令。

用於斜坡提取的LTspice指令

用於斜坡提取的SPICE指令如下:.TRAN,這是用於VT上升/下降波形的SPICE指令;.OPTIONS,用於將SPICE錯誤日誌上顯示的輸出設定為笛卡爾模式,並將其限制為所需的有效位數;.MEAS,用於斜坡的實際計算。

  • VLO:表示邏輯低電壓。
  • VHI:表示邏輯高電壓。
  • Diff:表示轉換的20%點位置的電壓,該電壓將分別與VLO和VHI參數相加和相減,以得到轉換的20%和80%點位置。
  • VX和VY:表示上升/下降轉換緣的20%和80%點位置的電壓。
  • dV和dT:這些是IBIS模型的[斜坡]關鍵字的計算值。
Figure 28. Rising ramp waveform description.
圖28.上升斜坡波形描述。
Figure 29. <strong>SPICE Error Log</strong> for ramp rate computation.
圖29.SPICE錯誤日誌,用於計算斜坡率。

建構IBIS模型

所有提取的I-V和V-T數據都將編譯到BIS模型(.ibs)文件中。以下是IBIS檔的實際範本,使用者可以在建構IBIS模型時用作參考。

.ibs檔以[IBIS Ver]關鍵字開頭,後接檔案名和修訂號。IBIS版本3.2將在[IBIS Ver]關鍵字中使用,因其是建構3態輸出緩衝器所需的最低版本。.ibs檔的檔案名應和[檔案名稱]關鍵字中的檔案名相同;否則,解析器會將其檢測為錯誤。此外,檔案名不得包含任何大寫字母,因為解析器只允許檔案名使用小寫字母。有關其他重要的關鍵字,將在後面章節中討論。

Image 1

.ibs檔的下一部分包括[組件]、[製造商]、[封裝]和[接腳]關鍵字。ADxxxx有兩個輸入緩衝器(DIN1和EN)和一個輸出緩衝器(DOUT1),因此其IBIS模型總共有三個緩衝器模型。[封裝]關鍵字透過RLC封裝寄生值作為元件的封裝模型。所有元件緩衝器的模型名稱在[接腳]關鍵字下定義,這與在[模型]關鍵字下定義命名變數類似。

Image 2

在.ibs檔的下一部分,使用測量得出的I-V和V-T數據建構元件的數位緩衝器的模型。緩衝器模型的內容因Model_type變數中指定的緩衝區類型而異。由於模型cmos_di1是一個輸入緩衝器,其緩衝器模型只包含C_comp、[Power_Clamp]和[GND_Clamp]數據。輸入緩衝器模型並包括VINH和VINL值,這兩個值都可以在元件的產品手冊中找到。由於DIN1和EN都是輸入緩衝器,所以其緩衝器模型具有相同的結構。

Image 3

另一方面,3態緩衝器模型包含一些與輸入緩衝器模型類似的關鍵字,但包含額外的I-V和V-T數據。cmos_out1的緩衝器模型包括一個額外的子參數Cref,其代表輸出電容負載,並包括Vmeas,其代表基準電壓位準。通常情況下,使用的Vmeas是VDD值的一半。

Image 4

除了C_comp、[Power_Clamp]和[GND_Clamp],3態緩衝器還包含額外的I-V數據:[上拉]和[下拉]。

Image 5

Image 6

最後,所有IBIS模型都應該用[結尾]關鍵字作為結尾。

IBIS模型驗證

正如本系列文章的 第1部分 所述,IBIS模型驗證由解析器測試和相關過程組成。這些是確保IBIS檔符合IBIS規範的必要步驟,並且模型的執行盡可能接近參考SPICE模型。

解析器測試

對於上一節中創建的IBIS檔,首先應進行解析器測試,然後再繼續執行相關過程。ibischk是用於檢查IBIS檔的Golden Parser。其用於檢查IBIS檔是否符合IBIS協會設定的規範。有關更多資訊,請參閱 ibis.org 。本文撰寫時,使用的最新解析器是ibischk版本7。

Visual IBIS Editor工具有助於簡化語法檢查。但是,如果用戶沒有這些工具,可以瀏覽 ibis.org 免費下載可執行代碼。它是在各種作業系統上編譯的,所以用戶不必擔心應使用哪種作業系統。

相關程式

在這個驗證階段,需要檢查IBIS模型的性能是否與參考模型(在本例中為SPICE模型)相同。表7顯示不同的IBIS品質級別(從0級到3級)。其描述了經受不同程度測試後,IBIS模型的精準程度。在本例中,由於參考模型是ADxxxx SPICE模型,所以產生成的IBIS模型的品質等級為2a。表示其通過了解析器測試,具有產品手冊中所描述的一組正確完整的參數,並通過了相關程式。

表7.IBIS品質等級
品質等級 說明

0級

通過Golden Parser (ibischk)
1級 與檢查清單檔中一樣完整、正確。
2a級 與模擬相關
2b級 與測量相關
3級 以上全部

要將IBIS模型與參考SPICE模型關聯起來,可以按照一些常規步驟執行操作。圖30中的流程圖總結了這些步驟。

Figure 30. Flowchart of an IBIS to SPICE model correlation.
圖30.IBIS與SPICE模型的關聯流程圖。

設定品質因數

關聯的基礎是在相同的載入條件和輸入刺激下,IBIS模型的行為應該與SPICE模型數位介面相同。這表示從理論上,其輸出應該重疊在一起。一般來說,有兩種方法可以描述IBIS模型的輸出與SPICE參考模型的接近程度:定性方法和定量方法。使用者可以使用此兩種方法來確定IBIS模型與SPICE模型之間的關係。

定性FOM測試需要依靠使用者的觀察能力。其要求對兩個輸出進行目視檢查,以確定是否通過相關性檢查。這可以透過疊加IBIS和SPICE的輸出結果來實現,並使用工程判斷來確定圖形是否相關。在進行定量FOM測試之前,這可以作為相關性初步檢查。當介面以相對較低的頻率或位元速率運行時,此測試就已足夠。

IBIS IO緩衝器精度手冊中提出了另一種定性FOM測試,即曲線包絡度。其使用過程電壓溫度極值定義的最小和最大曲線。最小和最大曲線作為相關性的邊界。要通過測試,IBIS結果中的所有點都應該在最小和最大曲線之內。此種方法在本文中不適用,因其僅適用於典型條件。

定量FOM測試使用數學運算來衡量IBIS與SPICE之間的相關性。在IBIS IO緩衝器精度手冊中也提出了曲線包絡度,其使用IBIS和SPICE輸出的數據點。計算IBIS和參考數據點之間x軸或y軸差值的絕對值除以軸上使用的總範圍和點數的乘積的總和。具體如公式3所示,此方法適合作為檢測本文所示的應用案例的關聯方法。但是,還需要考慮其他因素。公式3中提供的FOM要求將IBIS和SPICE的結果映射到一個通用的x-y網格上,這將用到數值演算法和插值方法。如果用戶想要執行快速定量FOM測試,本文提出了另一種方法,即使用曲線和x軸所限定的面積的曲線面積度量。

Equation 3

曲線面積度量以SPICE結果為參考,比較IBIS曲線下的計算面積。具體如公式4所示。但是,在進行曲線面積度量測試之前,所創建的模型必須通過定性測試。這確保了IBIS和SPICE曲線是同步的,並且相互疊加。在擷取曲線下的面積時,因為對IBIS和SPICE結果使用了相同的方法,所以用戶可以使用數值方法,例如梯形規則或中點規則。在使用這種方法時,建議使用盡可能多的點,以更接近該面積。

Equation 4

驗證ADxxxx IBIS模型

IBIS模型驗證的第一步是解析器測試。圖31顯示adxxxx.ibs IBIS模型檔的解析器測試結果,該檔是使用HyperLynx Visual IBIS Editor編寫的。使用者執行解析器測試時,目標是不會出現任何錯誤。如果出現任何錯誤或警告提示,模型建構人員需要加以解決。如此可以保證IBIS模型在模擬工具之間的相容性。

Figure 31. An ADxxxx parser test result.
圖31.ADxxxx 解析器測試結果。 

下一步是設定FOM參數。本文僅使用定性FOM和曲線面積度量作為衡量相關性的方法。該測試可能會使用IBIS和SPICE在相同負載條件和輸入刺激下的瞬態響應曲線。曲線面積度量FOM≥95%才能通過相關性測試。DOUT1、DIN1和EN的相關性如下所示。

DOUT1

圖32顯示了LTspice上用於檢測DOUT1相關性的SPICE測試台。在原理圖上提供適當的電壓電源以致能驅動器,並且為DIN1接腳提供脈衝訊號源來驅動DOUT1。要在LTspice中完成DOUT1驅動器模型,還需要使用額外的元件。C_comp代表晶片電容。將C_comp和C_load添加到LTspice模型後,繼續加入RLC封裝寄生(R_pkg、L_pkg、C_pkg)和C_load。

Figure 32. An LTspice DOUT1 correlation testbench.
圖32. LTspice DOUT1相關性測試臺。 

DOUT1 IBIS模型相關性測試台建立在Keysight先進設計系統(ADS)上,如圖33所示。與LTspice測試台一樣,使用相同的輸入激發、C_load、電壓電源和瞬態分析。但是,未在原理圖中顯示C_comp和RLC封裝寄生,因其已經包含在3態IBIS模組中。

Figure 33. An ADS OUT1 correlation testbench.
圖33.ADS OUT1相關性測試台。

瞬態響應曲線根據C_load測量得出。我們比較LTspice和ADS結果,並將其疊加在一起進行定性FOM分析。如圖34所示,LTspice和ADS DOUT1的響應非常相似。可以使用曲線和度量來量化它們之間的差異。計算1 µs瞬態時間內曲線下的面積。計算得出的曲線面積度量為99.79%,滿足設定的≥95%的通過測試條件。所以,DOUT1 IBIS模型與SPICE模型相關。

Figure 34. An LTspice vs. IBIS model OUT1 response.
圖34.LTspice與IBIS模型OUT1回應。

DIN1和EN

在驗證輸入埠時,透過定性FOM和曲線面積度量來關聯LTspice和ADS的瞬態響應曲線。LTspice中的測試台如圖35所示。這適用於DIN1和EN接腳。與DOUT1一樣,將擷取的C_comp置於DIN1埠位置,後接RLC封裝寄生效應。然後,連接50 Ω R_series電阻,該電阻後接輸入刺激脈衝電壓電源。測量回應的探頭點在DIN1_probe位置。

Figure 35. An LTspice DI1 correlation testbench.
圖35.LTspice DI1相關性測試台。

用於驗證輸入埠的Keysight ADS測試台如圖36所示。同樣,在輸入埠前放置一個R_series 50 Ω電阻,並使用相同的輸入脈衝刺激。此處未顯示C_comp和RLC寄生效應,因其已經包含在IBIS模組中。用於測量瞬態響應的探頭位於DI1_probe位置。

Figure 36. An ADS DI1 correlation testbench.
圖36.ADS DI1相關性測試台。

將LTspice和ADS的瞬態響應曲線疊加在一起進行FOM定性測試。如圖37所示,曲線是相同的,LTspice曲線完全與ADS曲線重疊。計算得出的DI1的曲線面積度量為100%,滿足所設定的≥95%的通過測試條件。EN接腳相關性結果也提供了相同的圖形和曲線面積度量。

Figure 37. An LTspice vs. IBIS model DI1 response.
圖37.LTspice與IBIS模型的DI1回應。

總結

本文介紹如何使用LTspice來提取數據和建構IBIS模型。並提出透過定性FOM和曲線面積度量的定量FOM將IBIS模型與參考SPICE模型關聯起來的方法。如此便可以讓使用者確信IBIS模型的行為與SPICE模型類似。儘管還有本文未介紹其他類型的數字IO,但提取C_comp、I-V數據和V-T數據的程式可以作為創建其他類型IO模型的基礎。

您可以 免費 下載和安裝LTspice,並開始創建自己的IBIS模型。

參考電路

Casamayor, Mercedes。「AN-715應用筆記:走近IBIS模型:什麼是IBIS模型?它們是如何產生的?」ADI,2004年。

IBIS。I/O緩衝器精度手冊。IBIS開放論壇,2000年4月。

Roy Leventhal和Lynne Green。半導體建模:用於訊號、功率和電磁完整性模擬。Springer,2006年。

Michael Mirmak、John Angulo、Ian Dodd、Lynne Green、Syed Huq、Arpad Muranyi、Bob Ross。IBIS建模手冊(IBIS 4.0版)。IBIS開放論壇,2005年9月。