IBIS模型: IBIS AMI之建模

截至目前,我們所談有關緩沖器的模型均侷限於其類比前端、直接連到通信渠道的部份;這篇文章我們則將談談其前級、有關TX/RX等化電路部份之建模。這些設計在業界現常以IBIS AMI (以下簡稱AMI, 即”Algorithmic Modeling Interface”理論建模界面之縮寫)來實現。
IBIS AMI模型範圍:
IBISAMI_Block

上圖所示為一端自最首至最末的通信渠道;其中綠色的部份佔渠道的大部份,是以如傳輸線模形所表示的PCB繞線、及用S參數所表示的導孔或連接器等組成的被動渠道部份;其兩端、以粉紅色區塊表示的部份即以IBIS表示的類比前端;這些前端部份直接与渠道連接;除這兩者之外,在TX的最前級、及RX的最後面則是各種等化電路。這些電路現常以AMI模型來描述。之前所述的幾個部份組合在一起,則可用以描述通信渠道整體並加以仿真或分析。由此可見,AMI實則是和IBIS的部份一起運作以提供等化模型的(也就是說,若無等化電路,則無使用AMI模型的需要)。實務上來說,在一會與AMI共同運作的IBIS模型裡,會看到如下圖所示之數行描述,即會指向所使用的幾個AMI模型成分:含各類模型參數、以純文字檔表示的.ami檔案、編譯出來的二進位檔.dll(on windows)或.so(on linux),以及編譯此二進位檔所使用的編譯環境等等。

IBISAMI_Include
為什麼需要使用AMI:

對於系統整合性的分析,若欲為結果做一量化的描述,一般最常用的是眼圖裡的眼高及眼寬、以及依此所能推算出來的位元誤率(Bit Error Rate, or BER)或bath tub curve,要能形成眼圖,則需有很多的位元信號響應在時域上圍著週期中心重疊起來。在分析完整的通信渠道時,不論是以原Transistor之緩沖器設計抑或是其IBIS模型,在時域上要仿真數以百萬計的位元信號(才能得到想要的低BER)都是要需時甚久的。即便如此,得到的BER數據也極其有限而常需要以外插的方式來推算實際值。除了以仿真為手段為,另一種能得到波形以形成眼圖的方式是直接合成。。速度遠比進行仿真快得多。IBIS模型因其設計上的限制並無法讓我們如此做。除了能在極短時間內算出許多位元波形的速率考量外,下列數者也是發展AMI的原因:

  • 業界標準:純欲以高速在短時間內得到很多位元波形的目的而言,也是有其它商家特有的高階語言(如Matlab)可滿足這需求的;但如此一來建模工程師便等同限制了使用其模形客戶的分析工具;除此之外,這樣建出的模型也無法用其它仿真器來加以驗證。為了能讓IC及EDA業者均有能交換使用的模型標準,如AMI的模型規格實有其必要。
  • 分析速率:如之前所述,需要一能在短時間內得到數以百萬計位元響應的方法及模型。
  • 擴充彈性:其實在AMI之前,IBIS委員會也曾經用Bus Hold或Driver Schedule等的關鍵字來試圖在IBIS內加入等化器的有關描述。甚至在IBIS V4.0中,也有用以Verilog-A為代表的高階語言來擴充以關鍵字為主的IBIS模型的彈性。但執行起來,前述兩關鍵字的使用極其僵化,而Verilog-A又是直譯的語言,遠比不上用C/C++來編譯的語言彈性更高且能保護智財,因而有AMI之倡議。
  • 智財保護:等化器設計電路常是IC公司極欲保護的智財,故一以編譯(編來的檔案是二進位檔)為主、不易被反向導出原設計的建模即有存在的必要。

 

什麼是IBIS AMI:

在談過AMI的模型範圍及其需求背景之後,我們來談談倒底什麼是AMI及其組成部份:

  • 對IBIS AMI建模者的角度而言: IBIS AMI即三個您需提供實際執行的函式定義表頭 (header .h file),這三個函式即Init, GetWave 及Close:
    • AMI_Init: 這個函式必需有實際執行碼,它的功能就好比物件導向語言裡Constructor的角色。若輸入AMI模型的是長串的位元輸入,則AMI規格允許它們被分成好幾小段分別被作為輸入並執行。也就是說,程式碼裡有很多資料結構可能重覆地(在不同的位元輸入段落)裡被使用,故Init函式提供一可在一開始之初便初始化這些資料結構的地方。其次,若通信渠道為線性且非時變(Linear, Time-Invariant or LTI),則在Init函式裡便可對仿真器所提供的渠道突波響應(Impulse Response)做直接的計算而可略過GetWave函式的實際執行。
    • AMI_Close: 這個函式必需有實際執行碼,它的功能就好比物件導向語言裡Destructor的角色。其功能是在仿真結束之際,為之前已分配的資料結構之記憶空間釋放回底層的作業系統。
    • AMI_GetWave: 這個函式的執行可有可無。若含EQ在內的通信渠道為非線性或具時變性,則將無法透這一個突變響應便用波形疊加(Superposition)的方式直接合成並算出BER,在這種情況下,則必需執行GetWave,一長串的位元信號會依序或分段地傳進模型,而後GetWave便一段段地將其做計算並輸出結果波形,仿真器最後才將這些波形再組合起來以組成時域波形並進行疊合(Folding)以產生眼圖。
  • 對IBIS AMI使用者的角度而言:IBIS AMI是由以下三個檔案組成的模型:
      • IBIS file: 這即類比前端的部份,且需有一”[Algorithmic Model]”的描述以指向下面兩個檔案, 即.ami及.dll/.so檔。
      • .ami file: 這是一純文字敍述的參數檔案。建模者將模形參數外顯供用戶調整的部份均在此處。例如下圖中即示出一含有四個tap的等化器設定;可以看到各個tap的比重參數均以數字實際標示出來,且用戶也可加以更改。除此之外,其它的模型參數、諸如是否有GetWave函式的支持等等也包括在此檔。仿真器一旦透過最上層的IBIS檔案讀到這.ami檔後,其便知將如何跟最底層的二位元檔(.so/.dll)進行資料交換。

    IBISAMI_AMIParam

    • .dll/.so file:這即編譯出來的檔案,要注意的是這兩者也跟用戶作業系統是32或64位元有關。若您是使用64位元的作業系統,則也必需要用64位元的.dll或.so檔案才能透過仿真器進行分析。

IBIS AMI的使用場景:

IBIS AMI的建模者無法預見其建出的模型如何被使用,然而模型本身便限制了其適用的場景。AMI的使用場景有分為Statistical及Empirical兩種模式;若GetWave函式沒有在.dll/.so裡支持的話,則這個模型將只能透過Statistical模式運作。也就是說:通信渠道將假設為線性非時變,一個突波響應即可用來導出所有的BER。相較之下,一個有GetWave函式支持的AMI模型在Statistical及Empirical兩個模式裡都可被使用而不一定要有渠道是線性且非時變的假設。下圖簡示了兩模式運作的不同:

IBISAMI_Work

 

  • Statistical flow: 在此模式下,渠道為線性且非時變,故可用一個突波響應來以superposition的方式合成數個或更多的位元的真實響應。也就是說,仿真器提供被動渠道部份的突波後,TX 及RX的模型即可在Init裡將自身的轉換函式與其做捲積(convolution)來做如peak distortion analysis般的計算來得到BER。
  • Empirical flow: 在這模式下,渠道為時變或非線性,仿真器會產生長串的位元序列並與被動渠道做捲積,其結果會再被分成數小段,每一段會與TX 或RX的GetWave函式做運算,最終結果再由仿真器重組成長串時域波形而算出眼圖或BER。

在實務上,因為TX, RX的模型可能由不同的IC廠家所提供,故不同組合下會有更多運作上的限制。讀者可參閱IBIS規格文件裡第十章的部份來了解更多的細節。

這篇文章簡述了IBIS AMI模型的構成及使用;記得之前談到IBIS建模時,我們提到其優點之一是工程師毋需了解真實設計內部的細節也可進行建模。這項優點在AMI上可能得大打折扣,首先EQ內部的參數通常很多,建模者需要更多的了解或與原設計師更多的溝通才能決定有那些參數可以外顯,其次,這些等化器的設計需透過如數位信號處理之編程般才能以C/C++語言以符合IBIS AMI表頭規格的方式來進行編譯,除了編譯器的操作本身需要一些專業外,如何對建出的模型進行驗證也是一項挑戰。所以在業界一般是由像我們SPISim使必信科技般:對SI及編程領域都同時有專業的商家來和IC廠家一同合作來完成建模。這中間還有很多細節值得深入討論,我們將來有機會回頭再談。

IBIS模型: IBIS模型的效能參數

在數個或更多的IBIS模型中,假設它們都通過了Golden Parser的驗證而且運作速度也合乎需求,則吾人要如何才能判斷其中何者較其它更適合我們高速設計上的需求呢?在這篇文章中,我們將試圖定義出一些IBIS模型的效能參數以供參考選擇之用。
IbisRttROn

 

之前的文章已數度談及IBIS模型的基本架構。。。再示於上圖;基本上是由上拉(PU)、下拉(PD)電路決定其穩態電壓及輸出阻抗。而靜電保護電路ESD則由一般在反向偏壓的箝位電路(PC), (GC)所組成。上拉電路能多快地由斷路轉成通路、同時下拉電路由通路變成斷路,則決定了此緩沖器上升時的瞬態表現。下降波形的形成也是同樣一的道理、只是開關的極性方向相反。由於PC, GC電路操作在反向偏壓區間,其漏電電流一般很小。

 

RttTerm

 

另一種常見的狀況則如上圖所示。。。一般是用在動態記憶體裡。這裡因為有晶片上的阻斷電路(On die termination)…由兩個電阻組成一分壓器(voltage divider), 所以即便是緩沖器是在高阻抗無輸出的狀態之下,由分壓器所導致的輸入電流也遠比之前所提的漏電電流來得大而不能加以忽略。

由這兩種常見的操作情況,吾人可合理地將一緩沖器在輸出阻抗及其瞬態反應(以信號斜率及上升、下降需時來表示)的相關參數用做比較用的效能參數。再詳述於下:

IBIS輸出阻抗:

若緩沖器的輸出阻抗和立即接到其輸出端點元件的輸入阻抗不相匹配,則信號在一開始之初就會形成相當的反射而來回振盪;一般而言,緩沖器的輸出即是封裝部份穿過各腳位的拉出傳輸線(特性阻抗一般是50歐姆);而解決這種不能匹配的問題一般則是再加上一個串聯的電阻以便使總阻抗能達到50歐姆左右。下圖為一輸出不匹配而造成巨大振盪的例子:
ZMismatch

 

由於IBIS緩沖器有上拉及下拉的電路, 兩者的輸出阻抗在參考電壓(一般是高位電壓的一半)間的輸出阻抗未必一樣;工程師一般得取這兩者的中間值來做為還要再加上多少串聯電阻的依據。

IBIS的時域參數:

為能有較佳的信號整合性,一般來說我們需要用的緩沖器輸出的信號速度只要夠快就好。。在夠快的條件下愈快其實愈不好。為說明這原因,我們可以常見的對一方波解構的各個諧波為例,如下所示:最上面的是一純Sin的波形、其頻率和方波同(稱基本頻率或基頻);其下則是此Sin及其二倍頻的組合,依此類推;我們可以看到:隨著更高頻Sin Wave的加入,所組合出來的波形就愈來愈像一方波。也就是說:一個信號上升下降速度很快、趨近無窮快、的方波,是由很豐富的頻率信號所組成。
Harmonics

 

又:不同頻率的信號在同一介質中的傳播速度並不相同,故會造成信號的失真。這種傳輸速度隨頻率而異的現象一般稱作“色散”;若一信號速度慢又和緩(在夠快了的前題下,相較於更像方波的快速上升/下降),則其色散的情況會較輕微而傳送的速度也就較不易為高頻部份所影響而形成信號失真。

效能參數:

綜上所述,吾人可建議並定出下列的效能參數以作為IBIS緩沖器模形間的比較之用:

  • PVT: 也就是快/中/慢,供應電壓及環境溫度等的資料。這些值都已在模型裡清楚定義。使用這模形的工程師必需確保應用範圍在這些值的區間內,則仿真出來的模形效能才具有實際上的意義;
  • C_Comp: 也是已在模形裡定義的,總結連到pad的電容負載;
  • Z_PU: 即上拉電路在參考電壓值時的輸出阻抗;
  • Z_PD: 即下拉電路在參考電壓值時的輸出阻抗;
  • Z_PU_MM in %: 即上拉電路在距參考電壓值之下及之下相同的距離(比如說100mv)時輸出阻抗的變化程度;這可視為阻抗線性變化程度的參考;
  • Z_PD_MM in %: 即下拉電路在距參考電壓值之下及之下相同的距離(比如說100mv)時輸出阻抗的變化程度;這可視為阻抗線性變化程度的參考;
  • Z_RTT: 當有之前所述的晶片上阻斷電路時(ODT, on-die termination),緩沖器的輸出阻抗;
  • RT: 輸出自 20%~80% 的上升振幅所需時間;
  • FT: 輸出自 20%~80% 的下降振幅所需時間;
  • FREQ: 在不被超頻的情況下此緩沖器可運作的最高速率。

除此之外,有些時候傳播遲延, 即數位信號輸入到一緩沖器到其輸出跨過參考電壓所需的時間Tco, 也被拿來做為參考數據之一。我們認為這其實是沒太大意義的。原因在於同之前的文章所述,為保存大部份的瞬態反應又容許模型在高頻下操作,建模工程師或是使用的仿真器就常會把一開始平穩的穩態波形點所刪除,在這種操作之下,所量得的Tco也就不準了。其次,信號整合性工程師常看的眼圖(eye plot)本身即由一連串的時脈波形相疊而成,不論Tco的真實與否,因其整個波形被順勢位移了,故在眼圖裡並不會看到任何影響。也就是說, Tco實際上不會對眼圖有任何的改變。

由以上所建議的數項性能參數,則吾人可利用如我們SPISim BPro模組裡的功能,將一個或多個IBIS模形裡的性能製出一表總結以供參考選擇緩沖器之用,並能因使用適當的模型而提高系統的信號完整性。

參數模形:

利用這些參數,我們也可更進一步地建出一假設的IBIS模形;抑或是對其中的數個參數進行掃描以產生多個可能的模形進行比較分析。當有了以仿真結果做依據的分析後,建模或完整性工程師便可以此建議晶片上緩沖器設計師應設計出的效能。也就是說:完整性工程師可坐在一個主導的地位來導引緩沖器所應被設計出的效能。現時的緩沖器設計一般有數個腳位可供微調速度及輸出強度之用,有了建議的效能值,晶片設計師便可試著不同的腳位開關組合或甚至是改變場效體通道的寬度來滿足所需。

 

SPISim BPro's Spec. model generation

SPISim BPro 的參數建模流程

我們SPISim使必信技的 BPro 便在此考量之下加入了參數模形產生的功能。這是完全不需要做任何的仿真的。用戶只要填入適當的效能參數,含兩組上升、下降波形表在內的IBIS模形就會即刻產生。用戶也可進一步利用如下所示的手動微調功能來為一些點或波形做改變,這些人工產生的(非由仿真結果產生的)IBIS模形在前期分析及甚致是外部模形的釋出上都有其實際上的用處及意義。

BPro generated spec model will have smooth transitions.

BPro 建出的參數模形均有平順的變化曲線

 

IBIS模型: IBIS模型的除錯及效能調校

我們將在此文談到如何對IBIS模型資料進行除錯及超頻調校;如之前文章所述,IBIS建模程序中首先的驗證程序即是以Golden Parser為模型進行檢查,若模型資料有問題,則一般會看到下列的錯誤訊息:

  • DC mismatch: 即VT及IV穩態資料間相衝突;
  • Non-monotonic data points in I/V curve;
  • Extreme currents in IV data。

我們將在以下為這些錯誤訊息詳做解釋。至於效能調校部份,我們將談談IBIS模型的超頻及其可能衍生的精確性顧慮;為確保您產生的模型可在預定的時脈速度下運作,確保其工作頻率的準確性是很重要的課題。最後,我們也將簡單談談我們使必信科技發展出來的工具裡是如何來克服這些技術上的挑戰。

DC mismatch:
IBIS建模程序中最麻煩的莫過於碰到下面的錯誤訊息:
DCMismatchMsg

當發生這種誤差(mismatch)時,建模者所會看到的是在VT的穩態部份電壓和自原緩沖器設計(Transistor)跑出來的結果位準不同。一般的解決方式是回頭去檢查穩態分析部份(IV:PU/PD/PC/GC)設定偏壓是否正確,而後重新仿真、產生模型後再測一次。最後不得已的手段則是手動地去改資料點,以便能減輕這種誤差的程度至可接受的範圍、或是讓其完全消失。不論何種方式,我們都得先對這個誤差的成因做一了解才不會如瞎子摸象不知從何修起。

VT 波型資料的起迄點均為穩態

VT 波型資料的起迄點均為穩態

VT 波型資料的起迄點均被視為已達穩態;也就是說,不論時間點(橫軸)的變化,這兩點的電壓均不再變化。Golden Parser即取這兩點的值來算出由VT所顯現出的負載電流。

DC mismatch 係起因於IV/VT穩態資訊的不相容

DC mismatch 係起因於IV/VT穩態資訊的不相容

上圖中, 我們在左下方簡單表示了緩沖器的負載情形,輸出電流I取決於端點電壓及其輸出的負載,也就是說,當VT達到穩態時,吾人可由模型裡的負載組合來做下列的試算:

  • I_LoadLine = (V_Pad – V_Fixture) / R_Fixture

其中Fixture部份即測試負載、而PAD即緩沖器的輸出端口。從電路來上來看,當緩沖器輸出為高態時,大部份的電流都是由上拉電路PU所貢獻;下拉電路PD此時可看作是完全地斷路而不提供任何電流的。若我們以V_Pad為值,減去Vcc(因為PU的X值是相對應於Vcc的, 即Vcc relative),則可用PU的IV資料表來找出相對應的輸出電流。然後,由於靜電保護電路PC/GC均在反向偏壓的狀態,我們也可用同樣的方式及值(PC也是Vcc relative)來找出相對應的電流。總結而言,由IV資訊所顯示出的應有的電流輸出即是I_Out=I_PU-I_PC-I_GC;所謂的DC Mismatch即表示這由IV所算出的輸出電流I_Out和由VT資料所算出的應有的負載電流I_LoadLine並不相同。

我們剛剛提到的只是輸出高態的部份,輸出為低態的情況也是一樣,只不過在低態時,上拉電路可視為完全斷路。故大部份的電流都是由下拉電路PD所提供。

由於一個IBIS模型裡可以有好幾組VT表,每個表產生時的測試負載均不相同,所以這個DC Mismatch的問題一旦產生,常是每個VT表的兩個靜態值都會有錯誤而顯得錯誤很多。

由上所述:mismatch的成因在於IV及VT所提供的資料對算出來的輸出電流不相符合,則修正之道即在於改變IV或VT以使再算出來的資料能相符。通當建模者需回頭檢視當初在做穩態仿真時偏壓是否正確,或是在“偽穩態分析”時輸入的電壓是否改變過快而使量得的電流並不真是像穩態時的值。一般來說,VT的瞬態仿真一般是較沒問題的。因為若VT有問題的話,在其仿真結果上就可很直接的發現出錯誤。

 

Non-Monotonic Points in I/V data:

這訊息意謂資料表裡的值為非單調性增加或減少;也就是其一階導數有正負性變化的問題。一般而言這類的警示是可被忽略的。唯有在非單調性增加/減少情況較嚴重時,仿真器會在這部份的範圍有不收歛的可能,因其一階導數(找牛頓解用)之不穩定變化之故。

這些資料表裡的問題點常是在緩沖器的非工作區間,故解決之道之一是也可以用人工的方式去消去一些點或增加一些點使得其看起來更平滑些。要注意的是有些緩沖器的設計在先天上就會有這些非單調性存在。故若使用模型的人對這類的緩沖器有所了解,則事後人為的改變資料反而會使的建出來的模型看起來像是假造的而有精確上的顧慮。

Extreme current in IV data:
ExtremeIError

這類的警示或錯誤訊息常發生在代表靜電保護電路(ESD)的PC/GC資料上。另一種情況是上拉下拉電路的穩態仿真結果不對。因為PC/GC的逆向雷流無所不在,故在建模過程中,當將由PC/GC的電流自PU/PD電流做減去的運算是便使得PU/PD也顯示出了如PC/GC般的崩潰區曲線而形成大電流的通過。

PowerGndClamp

如上所示,一般在正常工作區間,PC/GC兩者都是反向偏壓的。。。在很大的範圍內都是平線且值很小(即漏電電流很小);唯有在崩潰區才有如指數般的電流成長。惟由於IBIS規格中,為將遠端之全反射列入考慮而有的-Vcc ~ 2Vcc掃描區間的要求,故ESD電路便可能在這些很少可能才發生的時候顯出高電流。解決之道一般是在開始進入崩潰區的一伏特後對在那之後的電壓做線性外插。如此一來電流在模型裡將不再是指數性、而是變線性的改變。於此同時當ESD發生作用時也會有足夠的崩潰電流在仿真時保護連接到緩沖器輸出端的電路。

 

超頻(Overclocking):

每一組瞬態的上升/下降時態曲線加起來可表示出此一緩沖器模型運作的最小週期T。而這模型可運作的最高頻率即為此週期的倒數FMax = 1 / T; 也就是說:週期愈短,模型在不被仿真器更改資料的前題下可運作的工作頻率也就愈高。

若在真實運作時(如在通信渠道裡全仿真時),若操作頻率超過了如前所述的FMax, 這個模型便是在被超頻。一個被超頻運作的模型將有精確性及效能一致性上的顅慮產生。
Tolerance上圖中,有很長的一段時間緩沖器的輸出都是在穩態的情況下。若建模時能將這些部分、外加上一些容許範圍、地被移走;則最後留下的VT部份將維時甚短, 這表示雖然大部份的上升/下降時的變化情形仍在建出模型中,但這個新模型將可以更快的頻率來運作。

一般而言,業界裡常用的仿真器都可透過參數來進行如此的調校。問題在於在IBIS規格裡並未對一仿真器應如何消去這些穩態資訊來定義。其結果便是兩家仿真器對同一模型在超頻時所產生的結果可能不同。作為一個建模工程師,您不應對將有可能使用您產生模型的用戶為他們做仿真器使用上的限制。所以較理想之道應是您在建模之初便能將這些穩態資料點適做處理,並在模型表頭的部分明列這模形可操作的最高工作頻率。

MIN曲線有很長的時間延遲

MIN曲線有很長的時間延遲

上面的圖表則列出了另一種可能形成超頻的原因。圖中MIN曲線的延遲遠比其它兩者(TYP/MAX)來得多。由於IBIS規格裡要求三者在模型裡均由同一橫行、即時間點、來表示;上面的圖形將可能形成超長的MIN曲線的起始穩態值而很可能地自動變超頻。有些時候甚至還沒法及時將MIN曲線的資料完全含括在欲建的IBIS模型中。

為了解決這些技術上的問題,我們使必信科技BPro模組裡的解決方式是該建模者有更大多的操作選項可以來移除這些穩態資料。移除之後再由我們的工具自動地計算並優化以避免造成之前所述的DC Mismatch的問題。最後,我們也在同一模組中提供了直覺的工具供建模者可以手動地為現在模型資料做調整。

 

Tuning

SPISim BPro 的手動調整工具

 

最後要再加以註解的是:以上所述僅限於電壓部份的資料除錯及調校。對於IBIS 5.0後的模型、因其亦含有輸入電流的資訊、故要考慮的面向也就更多了。舉例而言:這些輸入的電流因也含有前級部份切換電路的部份,故很有可能在緩沖器輸出的電壓還仍在穩態時(還沒開始上升或下降)就有很大的波動性。因為VT和Composite Current 的IT在時間上是連動的,故吾人就不能隨意地將一開始時的穩態資料做移除,因為這麼一來輸入電流部份的時間點就不對了。凡此種種,將再在日後的文章中另作討論。

IBIS模型: 如何建立IBIS模型

在前面的文章裡,我們簡述了IBIS模型內所需有的資料。這些資料多是以IV, VT, IT的波型表方式呈現;所以所謂的為IBIS建立模型,即是激發原來的緩沖器設計並進行仿真、最後再將仿真的結果進一步處理以合乎IBIS語法的模型表示出來。下面簡單列出了為IBIS建模所需進行的幾道程序:

  • 搜集資料: 即獲得原緩沖器之設計資訊及相關操作係數;
  • 產生電路: 為所用的仿真器產生模擬電路以適當激發緩沖器來運作;
  • 進行仿真: 仿真上一步所產生的各種擬電路;
  • 分析結果: 後罝處理仿真的結果, 並加以運算或轉換;
  • 產生模型: 產生合乎IBIS語法的模型;
  • 語法檢查: 用IBIS公用的程式(Golden Parser)來檢查產生的IBIS模型;
  • 驗證模型: 為建立之IBIS模型產生相同操作情汜的電路並進行仿真;
  • 產生報告: 替驗證的結果做出量化的報告,為模型加上如生廠商等的資訊等。
SPISim BPro's 的IBIS建模流程

SPISim BPro’s 的IBIS建模流程

 

以下我們再對上列的步驟做進一步的說明:

  • 搜集資料: 以下面圖中的緩沖器設計為例,欲為其建立模型,首先我們先要從設計工程師那裡取得詳細的設計檔案,其次, 我們也需要拿到這個設計生產時的製程係數:比如說是用那個製程(Process), 理想的供電電壓是多少(Voltage),以及預設的操作環境溫度等(Temperature), 這些參數一般統稱為(PVT係數)。最後,我們還需要知道這設計正常運作時端點該如何連接? 也就是說那個節點應該的偏壓是多少。當代的緩沖器設計常有許多控制腳位(Control Legs), 藉由不同腳位的通路與否,可決定了這個設計的諸如輸出電流強度及速度等的效能。以上資料缺一不可。都完備之後即可進行下一步:產生適當的電路以對激發緩沖器並為其進行仿真。
緩沖器的設計及相關製程資訊

緩沖器的設計及相關製程資訊

 

  • 產生電路: 在這個步驟,我們需要產生各種電路以便能對其結果萃取出所需的IV/VT/IT資料波型。如之前所述:不同類型的緩沖器有不同的資料表需求,以下就為所需資料緩沖器需被激發運作的方式做一簡述:
    • IV for PU: 緩沖器需被致能(enable), 而後令其輸出邏輯1的高態,在輸出端以 -Vcc ~ 2Vcc進行掃描以獲得電流輸出/入資訊;
    • IV for PD: 緩沖器需被致能(enable), 而後令其輸出邏輯0的低態,在輸出端以 -Vcc ~ 2Vcc進行掃描以獲得電流輸出/入資訊;
    • IV for PC: 緩沖器需被放在高電阻態(High Z), 而後令其輸出邏輯1的高態,在輸出端以 -Vcc ~ 2Vcc進行掃描以獲得電流輸出/入資訊
    • IV for GC: 緩沖器需被放在高電阻態(High Z), 而後令其輸出邏輯0的低態,在輸出端以 -Vcc ~ 2Vcc進行掃描以獲得電流輸出/入資訊;
    • ISSO PU: 在理想供電點及緩沖器上拉端口間接一電壓,電壓值自-Vcc~Vcc進行掃描,同時在輸出端量測輸出/入的電流資訊。這個設置模擬了緩沖器在非理想供電電壓的情況下,輸出電流的變化情形。(Voltage Droop)
    • ISSO PD: 在理想接地點及緩沖器下端口間接一電壓,電壓值自-Vcc~Vcc進行掃描,同時在輸出端量測輸出/入的電流資訊。這個設置模擬了緩沖器在非理想接地的情況下,輸出電流的變化情形。(Ground Bounce)
    • VT for rising/falling waveform: 緩沖器的輸出端需連上測試電阻及電壓等的電路,以合乎實際情形(如100ps的上升時間)的數位信號輸入, 同時在輸出端量測瞬態的電壓波形。這種電路應對不同的測試負載情況再做一次。這兩組的測試情況應足以涵蓋了實際運作情況的操作範圍。
    • IT for composite current: 在緩沖器的上拉端口接一零電壓差的電壓源、用以監測流過的電流。在如同VT電路的測試負載運作時,量測並記錄這電流值。基本上IT 和VT的電路分析可在同一次仿真中同時進行。

BPro_ISSO

IBISIT

 

  • 進行仿真: 以上所產生的電路可分別放在不同的檔案…每個檔案只針對一個不同的資料仿宜需求, 抑或是它們都放在同一個檔案裡, 再用如HSpice裡的.alter依序進行仿真。前者的好處是不同的檔案可在同一機器上的不同執行緒裡、或是不同機器上同時進行仿真以結省建模時間。有些緩沖器的設計需含有時脈(Clock)的輸入, 在這種情況下穩態的掃描(DC Sweep)則不可得, 而得透過如假瞬態分析的方式才能得到結果。這分析技巧也套用在一些不易在DC仿真收斂的設計。

    BPro 產生的電路檔

    BPro 產生的電路檔

 

  • 分析結果: 這一步所要做的是對仿真結果讀出及計算。比如說要將無法剔除、一直都會有的PC/GC逆向偏壓時漏電電流自PU/PD電流裡減去, 以及將PU/PC的結果轉換為對VCC而非對地等等。 若是緩沖器還含有 on-die termination, 則PC/GC仿真所得的電流將不容忽略,而得進行更複雜的[如此所述]的運算。

 

  • 產生模型: 有了結果後,便是將其轉換成合乎IBIS模型的語法並輸出成檔案了。 為了使模型準確而精簡, 優化的程序常是不可或缺的。優化的需求在於仿真的時域結果常包含了上千甚至是上萬個資料點,但IBIS V3.2的規格只準許運用100個點。即便是IBIS V5.0 後準許用更多個點數,也因為Composite Current常是非常波動而不平緩的, 所以仍需要對現有資料點分析以選用最佳的點來表示波型。其次, 在IBIS的資料表裡TYP/MIN/MAX的各個欄位都有同樣的時間點(同一行表同一時間點), 這更曾加了優化的需求及難度。因為優化的程序需同時考量到三組波型資料的取捨。
BPro's 的演算法可優化並以最佳100/1000點來建模

BPro’s 的演算法可優化並以最佳100/1000點來建模

 

  • 語法檢查: 有了IBIS模型後,便需以IBIS委員會公開發佈的語法檢查器(Golden Parser)來檢查。除了一般語法外,它也會偵測可能的穩態電壓誤差。當誤差值大過容許值時,警告便變成了錯誤…一般業界的仿真器是不會對含有錯誤的IBIS模型進行分析仿真的。所以根除錯誤及了解並儘量減少警告的標示便是極重要的工作。
BPro 用 golden parser檢查語法等的錯誤

BPro 用 golden parser檢查語法等的錯誤

 

  • 驗證模型: 有了合乎語法的模型,下一步是為其建立如原緩沖器相同的測試負載情況下的電路來進行仿真。一個好的IBIS模型應是準確、精簡、且運作迅速的。所以這些電路應跑得非常快。當有了結果後就可先以視覺上將模型及原設計在同一測試負載情況下的結果一同比較。一般信號輸入到輸出間的延遲是不能由IBIS模型的所重建出來的。所以如果除經果些許的時間位移外,兩者的上升及下降波形都很近似、而且穩態的(高/低)電壓也都相符,則這就是一個可接受的IBIS模型。

 

  • 產生報告: 替驗證的結果做出量化的報告也常是建模標準之一, 以下的兩份資料已為量化的標準做了一些規範:IBIS accuracy handbook and quality spec. 對於圖形驗證上, 一種品質因數(Figure of merits)常被用來表示所建出模形和原設計在同一負載時輸出波形的相似度。
BPro's 視覺上的檢查及品質因數報告

BPro’s 視覺上的檢查及品質因數報告

以上我們簡單敍述了欲為緩沖器建立IBIS模型所需經過的程序。所謂”魔鬼藏在細節裡”, 很多細節之處雖是值得深入探討、但已在本篇文章的範圍之外。實務上來說, 以人工手動的方式來建立IBIS模型雖是可以做得到、但往往是曠日費時又易生錯誤。這也就是為什麼我們SPISim 使必信科技研發BPro模組來簡化這項建模工作的原因。

IBIS模型: IBIS模型的資料在仿真時是如何被運用的

*緩沖器模型:IBIS模型是如何組成的
IBISType

IBIS規格裡定義了不同類型的緩沖器,不同類型對於模型裡的構成資料即有不同的要求。一般而言,IBIS模型一般有下列的模型資料/對應表:

  • 環境設置:及這模型建模的環境為何, 一般包括了理想電壓及操作溫度的資訊等。
  • 負載情況:如C_COMP:伴隨電容及各截取各瞬態波型時緩沖器的測試負載等等。
  • I/V:電源/電壓的穩態曲線,通常包括了Pull-up(PU):上拉穩態曲線、Pull-down(PD):下拉穩態曲線、GND Clamp (GC):地箝位曲線及Power Clamp(PC): 電源箝位曲線等。這些曲線可視為對上拉下拉電路通道上非線性電阻的描述。
    要注意的是這些曲線的掃描範圍在規格上是要求要由-Vcc至2Vcc (Vcc是理想的供電電壓), 之所以如此是因為在無耗損傳輸的情況下,若接收端因完全開路或完全閟路而造成全反射,則全反射的Vcc振幅再加在原0~Vcc的工作範圍就會有-Vcc至2Vcc間的可能。另一要注意的是對於上拉型電路、如PU和PC, 其電壓波形相對應是是理想電壓Vcc值而非對地。也就是說:在這些波形裡的V=0實際上是V=0 to Vcc即V=Vcc的。有時在除錯的情況下,要把這值轉換過來才不易出錯。SPISim IBIS模組BPro的模型查驗界面就有直接將對應Vcc轉成Vss/Gnd的按鈕可使用。IBISPUPD
    IBISPCGC
  • ISSO PU/PD:這曲線描述了在非理想供應電壓及接地電壓情況時,緩沖器輸出電流的變化。當分析電路含有電源供應電路(Power delivery network)時,必需要有這些資訊才能對電源完整性的影響做出評估。一般而言,當供電端電壓下降或接地端電壓上升時, 橫跨場效體的端點電壓差會減少而使的輸出強度變弱,這即使所謂的閘道調變效應(Gate modulation effect);所以ISSO PU/PD定義了端點電壓在非理想值時,輸出有效電流的變化。IBISVT
  • V/T:這曲線描述了緩沖器切換後瞬態的輸出電壓;在不同的測試設置中(不同的外接測試阻抗及測試電壓),所產生節VT波形會不同;在稍後會細述的運作過理論可看到,一般的IBIS緩沖器應都至少含有兩組在不同測試設置下所產生的VT波形。這些測試情況需涵括了在現實情況下這被建構的IBIS模型會運作的環境。IBISIT
  • I/T:這曲線描述了緩沖器切換後瞬態的取用電流;亦是IBIS5.0(含)之後才有的關鍵字。這波形裡的橫軸的時域變量和上面的VT裡的時域是同一時間點。也就是說, 這IT曲線的資料用以在VT波形裡的同一瞬間點自電源拉出相對應的電流。這”組合電流”(IBIS關鍵字是Composite Current)大致上包含了下面幾種電流成分(詳細請見IBIS Spec.):旁路電流、前級驅動電流、切換電流及端點阻抗電流。

* IBIS模型是如何運作的:
那這些IBIS模型裡IV/IT/VT的波形資訊又是如何在仿真器裡運用的呢? 為簡化起見, 讓我們先不管靜電保護電路(ESD)的PC/GC電路部份,它們在大多數的操作情形都是在反向偏壓區而有極小的漏電電流。對於主要的上拉(PU)及下拉(PD)電路而言,我們可以把它們看做是非線性電阻; 就好比是場效體的P/N通道般,其電阻值隨著端電電壓值而改變。這兩組電路之相互同時運作,便決定了在不同輸出負載情況下的緩沖器的瞬態反應 VT及IT。
IBISKuKd0
在瞬態的上升期間,上拉電路PU可視為由完全斷路變成到完全通路,而下拉電路是由完全通路而變成完全斷路。由於接到地線間的通路成為斷路而造成輸出電壓的升高到邏輯1態。瞬態的下降期間則是相反地運作。於是吾人可定義一”切換係數(Ku(t), Kd(t))”…來相乘到對應的PU/PD電流的輸出。這切換係數的X變數是時域的…即像VT/IT裡的時域變數般。Ku(t)=1表示PU完全通路。反之,Kd(t)=0表示PD完全斷路。這Ku(t)及Kd(t)的組合即可用以說明VT/IT的相對應變化情形。

為著這Ku(t)及Kd(t)的兩個變數,我們也需要有兩組方程式才能對其求解。假設IBIS模型裡有至少兩組的VT波形及其負載測試情況, 則我們恰用這兩組資料來對Ku(t)及Kd(t)進行求解。因為Ku(t)及Kd(t)只和緩沖器裡的場效體切換的經過時間有關、而和其負載無關,所以我們恰可用兩組方程來得到Ku(t)及Kd(t)的真解。這也就是為什麼一般的IBIS模型裡需要至少有兩組的VT波形原因了。
IBISKuKd1

實務上而言,若欲求兩組波形而不可得,則仿真器也可做另一假設:即在每一時間點都滿足Ku(t) + Kd(t) = 1。大體上而言,這組假設在緩沖器的穩態高電位或穩態低電位輸出時是成立的,但在其間的瞬態轉換期間則未必。另一種可能是仿真器也可用IBIS模型裡的斜率(Ramp rate)資料來形成假設的上升/下降VT波形, 以達到能對切換係數求解的目的。
IBISKuKd2
在這架構之下,為求精確起見,所有有關的支流電流最後也都要加入方程式裡,如此解得的切換係數才算精確。這些後來才加上的支流電流包括了常在反向偏壓的ESD電路PC/GC,以及會通過伴隨電容C_COMP的電流等等。比如我們可用I=C_Comp * dV/dt來算出流過伴隨電容的電流且將其自總輸出電流中減去,才不會在日後模型的仿真時造成重算(double counting)的情形。

IBISCComp
最後, 在IBIS 5.0之後的、含電源完整性資訊的、IBIS模型而言,另一組瞬態端點電壓相關的係數也要再加上去。如此,因為閘道調變效應而使得緩沖器輸出變弱的因素才能被列入考量。

以上所簡述的操作細節,讀者若有興趣,可參閱下列的原學術論文:

系統完整性分析之範疇

系統完整性分析大致上可分為幾個領域:信號完整性(Signal Integrity)、電源完整性(Power Integrity)及電磁相容性(EMC… Electro-Magnetic Compatibility)等等。分析的方式通常是先經由對被分析元件或通信渠道建構模型、而後透過軟體進行仿真。

在談更多的細節前,我們需先為所謂的”系統”做一定義:

20120126_01
上圖(1)中所示為一常見的電腦主機板;在板子最上層的元件多包括了散熱器、各種的電容及末端的連接器等等。若把板子翻過來..如圖(2)所示,我們則可看到很多的焊接點及在電路板上的佈線(PCB trace),如此類的非晶片內部的、可宏觀上用肉眼看到的系統即是我們所定義系統分析的範疇。唯這類系統並不侷限於電腦主機板,舉凡手機電路板、內篏式系統或甚至是大型伺服器裡的電路亦可含括在內;以上所舉的這些例子宏觀上均可以用肉眼看到…差別只在於大小。之所以不將晶片上的設計包含在系統分析之內是因為其相對尺寸較小…對於一般傳訊的波長、信號失真的幅度遠比在我們所定義的系統上來得小。
20120126_02
我們剛剛談到的這些系統多是用電腦輔助軟體所設計而成,若我們能把設計圖如圖(3)放大來看,可以看到許多的佈線從晶片邊緣的針腳(Pin out)走線透過導孔(Via)經過不同的PCB疊層而走到板子邊供輸出輸入的各類連接器,如圖(4)所示。
20120126_03

若我們能繼續放大以三維模式看這些針腳及導孔附近,如圖(5)所示,則可發現這些宏觀上毫不起眼的細微之處,實為各類圓柱體所建構相連接而成;圓柱體穿過疊層間(Layer stackup)而連到電路板上專位信號或電源預留的走線層(每一電路板在上下兩層間實為數層不同的電源、走線層與不導電界質(medium) 交互壓縮而成),在這一連串走線的兩端是晶片的封裝(package)及連接器(connector)。電氣信號從晶片裡的緩沖器而始、經過這一連串的走線及導孔、最終來到連接器。連接器之後亦經同樣的程序最終走到彼端晶片內的接收器。如果說這端的源頭是電腦處理器(CPU)或晶片組(chip-set)的緩沖器,彼端可能就像是如記憶體(DDR)或USB的各類裝置裡晶片的接收器。
20120126_04
當我們把這些在傳送或接收晶片裡的緩沖器(buffer)調出其設計圖來看,則可看到不同大小的場效體(MOSFET)以相應的邏輯方式組成。不同位元(bit)的信號由其前級的電路輸出後,透過這些緩沖器對信號加以放大及加強以便能在不失真甚鉅的條件下透過剛才所述的走線、導孔、連接器或甚至是中間的藕合電容等達到另一端的緩沖器對已衰減了的信號加以復元重建。為減少衰減的情況、這些欲傳送的位元信號也可能先進行編碼,再在接收端進行解碼。

系統分析模型:

由上所述,我們可以看到若欲對我們剛剛所定義的系統做完整性的分析,則必需先對其中所牽涉到的各種元件及因素(整理表列於下)做些了解。如此才能為其建構模型而進行仿真分析:

  • 輸出、輸入緩沖器: 通常是以IBIS或Verilog-A所描述;如何為其建模等等;
  • 晶片的封裝:各種封裝的方式及其建模;
  • 電路板及其疊層:不同疊層、介電質及通信、電源層設置的影響;
  • 走線(傳輸線):如何為失真的因素、如串擾(Crosstalk)、等做分析;
  • 導孔、連接器:如何設計、建模並分析其傳訊效能;
  • 通信渠道:各種佈線、佈局(topology)方式及端口阻抗的設計;
  • 信號:不同界面(PCIe, USB, DDR等)的不同信號方式及差分信號及其等化等等。

我們將試著在這個SPISim的版面, 為以上所列之建模及分析方式做一簡單的整理介紹。

IBIS模型: 什麼是IBIS(輸入輸出緩沖器信息標準)

IBISLogo
IBIS是 I/O Buffer Information Specification的縮寫,中文即譯為輸入輸出緩沖器信息標準。它是在上世紀末之90年代初為提倡可為不同仿真器或分析工具所接受運作的模型而制定出來的標準。時至今日它仍不斷地演化而時有更新的制定出現。茲在下面列出其規格上的重大進程:

  • V3.2: 利用不同的電流/電壓曲線及電壓/時間曲線來建構出緩沖器在穩態及瞬態的特性。這一規格的模型以供電電壓及接地電壓是理想狀態為前提,故僅能做為信號整合性上的仿真分析所用。
  • V4.0:這一版本首度將其它也常見的建模語言,如Verilog-A, VHDL及Spice等也列入模型的成分之一, 以便能在IBIS標準關鍵字不易更新改變的限制之下亦能有效地為特別的緩沖器進行建模。
  • V5.0:這個版本加入了ISSO PU/PD以為在非理想供電或接地電壓的情況下、諸如由供電網路(Power delivery network)所造成的Voltage droop或Ground bounce情況下、亦能正確地描述緩沖器的行為。其亦包括了[Composite Current]關鍵字以對緩沖器在切換間電流與當下的時刻做出連結。這一版本的模型可以同為信號及電源整合性(SI/PI)共同分析所使用。
  • V5.1:這個版本加入了AMI (Algorithmic Modeling Interface, 即演算法建模界面),以為在單純類比緩沖器之外加上等化器等的建模需求。透過常是用C/C++語言所建構之AMI模型,可和原類別緩沖器為主的模型搭配而在通信渠道做Latch to latch的高速仿真運算以得到誤碼率(Bit error rate)類之參數。最常用在SerDes (串化/解串化器)之界面上。也由於建模語言的低階化、以及建模前對等化器EQ運作細節了解的需求,使得建模的門坎及難度都相對應地增加了。

IBISEvolve

 

在我們談到IBIS這個語詞時,也需同時地對IBIS規格, IBIS檔案以及IBIS模型三者的分別做一簡單說明:

  • IBIS規格:是由IBIS標準委員會經會員投票制定出的規格。廣義上而言ICM (InterConnect Modeling Spec),即連接器建模標準,亦是由這委員會制定出而同屬IBIS規格的一部分。ICM定義出了通信渠道間所有被動性連接元件的建模標準。這些元件包括了如傳輸纜線(Cable)、連接器(Connector)及印刷電路版(PCB)之間的繞線等。之前的EBD (Electric board description)標準即為ICM所取代。
  • IBSI檔案:IBSI檔案是一描述某晶片廠商所生產的某一或更多晶片模型的檔案。一如一般市面上的晶片封裝內含不同的針腳(Pin)…每一針腳內連到一同的電路輸入;IBSI檔案在檔案前面也有這製造廠商等的資訊,而後是晶片封裝的不同針解及其與其相連之緩沖器模型名稱,最後才是緩沖器單獨的模型資料。故一個IBSI檔案可內含有許多的IBSI模型,也可含有如封裝模型(Package model)之相關資訊。
  • IBIS模型:這即是我們一般所言之緩沖器模型;IBIS規格定出十數種不同類的緩沖器模型,每一種類別有其所必需要有的模型資料。一般來說,這些資料包含了如:電流/電壓(穩態)、電壓/瞬態、電流/瞬態等的對應表格;也包括了這個模型在建模時的運作及負載環境設置等等。如果模型在仿真時超出了這些當初建模時所採用的設計範圍,則仿真出來的效果也就未必準確了。
IBIS Files vs Models

IBIS 檔案 vs 模型

Viewing model data of an IBIS file in SPIBPro

在SPIBPro中查看一IBIS檔案內不同模型的波形資料

IBIS模型: 什麼需要用緩沖器模型及為什麼是IBIS (輸入輸出緩沖器信息標準)

在我們開始探討緩沖器模型的細節前,得先談一下為什麼它值得一談:

緩沖器位在通信渠道(communication channel)的兩端:通信渠道上多是由被動元件如傳輸線(Transmission line)、導孔(Via)及連接器(connector)所組成,而在兩端做有源的主動發送及接收的即是緩沖器了。

Channel

若您是晶片設計師,場效體尺寸及製程間摻雜質(doping)的濃度可能就影響了設計出電路的工作效能;這些效能可能以輸入出電流強度、阻抗及上升下降速率等時間性的參數來表示。

Transistor and process info. for a buffer design

緩沖器內部之設計細節及相關製程影響其外在的效能表現

但若您是系統設計師或完整性分析師,則您所顧慮的可能是更宏觀的設計:諸如佈線、端口阻抗、元件放置及佈局等等。則之前所述那些晶片設計師所關心的細節對您來說可能就顯得無關宏旨。對您來說,那些晶片就像是現成的元件,您並不在意這些緩沖器是怎麼設計出來的,只要緩沖器效能可以達到您規格的需求就足夠了。

所以從這兩者的角度來看,能有一個簡易描率緩沖器規格及效能的模型就足以做為溝通應用的橋樑。於是一能描述緩沖器效能的模型便有存在的需求。

System level design use buffer as component.

系統設計師視緩沖器為一現成的元件而不管其內部設計細節

 

一般而言,一緩沖器模型有幾項評量的標準:

  • 是否精確:這是建模最基本的需求,一個不準的模型毫無用武之地。所謂精確,一般需在原設計的5%之內。
  • 是否能保護智財:做為一晶片設計廠商,發佈模型以供使用原是為讓客戶能更方便地應用自己的設計,但這是以決不能危急設計的智慧財產權為前提;除了原設計的架構外,製程的細節也通常在保護之列。
  • 仿真時的效率:從系統設計師的角度來看,模型在仿真上也有效率上的需求。一個系統上常包含了上百甚至上千個緩沖器,它們常必需有較原設計快上100~1000倍的速度才堪於系統仿真分析上所使用。
  • 建模是否容易:對系統建模工程師來說, 如果建模程序大費周章,則暗喻著其中的過能很有可能出錯而有精確上的顧慮。一般而言,能做以黑箱為基礎地建模。。。 即建模者不需知道緩沖器內部的設計細節而只要能就界面上的端口做激發以獲得數據來建模。。是較佳的解決方案。
  • 模型是否廣為接受:建出的模型需能在數個業界採用的仿真器、如HSpice 或ADS上運行。若某種建模只能在特定的仿真器上跑,則長遠來看容易有精確上的問題而不為人知,而且在建模的過程上也能急就章而不能受到公正的檢驗。

由於以上的考慮常不能面面俱到,有些人便以仿真器內建的加密模式為原設計編碼建模(Encrypted Model), 這類的模型不僅只能在單一仿真器上運行,其效率也常只與原電路設計相當而沒有加速的效果,故若非無技可失,筆者並不建議採用這種方式來建模。

時至今日,業界已推出數種標準的建模規格:如IBIS (輸入輸出緩沖器信息標準)及Verilog-A等, 其中IBIS 又較為廣泛採用。IBIS已是ANSI(美國國家標準機構)認可之規格,其詳細資訊可在此取得

前言

關於本部落格:

SPISim科技專注的領域是信號、電源完整性及電路擬真;我們的產品亦為這些領域裡有關方法、流程以及演算法在軟體上的具體實現。為了進一步與大家分享我們的設計理念、標準分析程序、專業知識及相關經驗;我們認為設立一個部落格是必需且會有相當的幫助。

以下為我們希望藉此部落格達成的目標:

  • 能做為我們在信號完整性、電源完整性及電路擬真領域中;相關基礎及進階理論知識的彙整之處;
  • 能做為一管道以便我們能將相關軟體設計理念及常用分析流程與讀者分享;
  • 能收集讀者的反映及建議以做為日後產品加入新功能時的參考。

我們計劃每週刋出數篇文章來涵蓋下列方面的主題:

  • 基礎:如信號、電源完整性裡相關的概念及理論;
  • 建模:如傳輸線、S參數及驅動器的建模程序;
  • 分析:如jitter, noise 及 timing等的分析方法;
  • 擬真:如如何將以上的理論及模型放整合以進行電路擬真;
  • 軟體:我們如何將這些概念及設計理念實現於SPISim的產品。