信號完整性之最佳化:假設性分析

系統性能之優化或最佳化:

就系統上的信號完整性而言,所謂的『系統』一般定義為通信通道的頭尾兩端,亦即是自晶片上IO buffer的driver、經諸如封裝、傳輸線、通孔及連接器等的interconnect、最到接收器的receiver為止。這通道上有許多元件且各有各的設計參數;故若要以系統性能為優化目標,其實含有為數甚多的變量;即便是就『性能』而言,也是有很多不同量測的依據。。。諸如眼圖的寬度、高度及位元錯誤率(BER)等等,它們之間有些也未必成正比、如欲求極大化之眼圖寬度便可能得犧牲其高度等,故在諸性能間也有得取捨的空間或是得用加乘比重的方式來對整合出的複合性能求極大或極小的優化。

系統雜訊的來源:

系統性能除了被許多參與元件之參數所控制外,也可看做是受了許多雜訊的影響。如果我們把元件參數的變量以x1, x2 ~xn表示,則這些雜訊也可看成是函式g1(x1, x2), g2(x2, x3)等而同為元件參數所控制;最終的系統性能則是f(g1(x), g2(x)…) = f(x1, x2~xn);這樣分隔的的目的,在於很多設計或元件參數只對某個性能有影響;比如說傳輸線的間距與串擾(crosstalk)有強烈的相關性,相較之下buffer的驅動特性及速度則不那麼正相關︔也就是說,吾人可將具相關性的參數放在一起來對某系統雜訊的影響做分析,如此可能更具直觀性且不用在含全部參數的廣大解答空間裡尋找最佳值。

一般而言,系統的雜訊來源大致可分類如下:

  • 符碼間干擾 (inter-symbol interference, or ISI): 由於通道的色散特性及各級連接之間阻抗不匹配所造成的反射現象,傳輸的位元信號會與其自身相干擾而在接收端造成失真;
  • 串擾 (crosstalk, or cross-channel interference CCI): 串擾是由於victim及aggressors之間能量透過電容或電感性的藕合來傳遞而造成接收端訊號的減弱;串擾的情形一般在高頻時特別明顯、且也和許多界質及間距有強烈的相關性;
  • 電源雜訊:不同數目的buffer在不同工作區間或頻率運作時有不同的驅動電流之需求,當它們流過power delivery network時就會造成供應端的壓降而使得驅動強度及斜率均相對改變;
  • 隨機雜訊:由諸由有高斯分布特性之熱雜訊及其它顫動(jitter)等;

藉由探討元件參數對這些相互獨立的雜訊的影響,我們可以各個擊破地減少這些雜訊進而對整體系統性能達到優化的效果。

系統優化的方法:

有了這麼多的元件參數x1, x2 ~ xn, 間接形成的雜訊函數g(x)及最終的性能函數f(x), 我們要如何進行最佳化呢?

通訊通道一般都有必需滿足的規格,如業界標準的PCIe GenX, HDMI, SATA, USB, DDR等等,各有其公定的最低標準,唯有滿足其要求通過檢測後才能在最終產品上貼上相符的識別標章;對於較小的設計公司或是有截止期限的壓力時而言,很多情況下工程師都只求產品能通過規格標準即可,也就是說,他們所要的只是『一個』、而非『最佳』的解決方案;但對於有些需要提供design guide的公司,為了確保其它公司使用其產品的設計能順利運作,便得對所有可能的情況做分析以便即使在最壞情況下其結果仍能通過標準,所以它們便得做類似『最佳化』的全面性分析。其次,最佳化的流程常需透過大量的仿真及計算、故非有充裕計算機資源及能力無法完成。為滿足上述的兩種情況,一般而言我們有兩種優化的方式

  • 假設性分析:即what-if analysis, 在這種分析法中,我們將許多參數都先給定一數值,而後只對少數的參數做線性的研究;就信號整合性的例子而言、就好比是藉由調整傳輸線間距或線寬來觀察其對串擾的影響等;由於是線性地調整一兩個參數、所以全域(global)的最佳化不大可能由此分析而獲得,但在另一方面,這種假設性分析通常有如下的優點
    • 可用相對少的計算機資源來找到『一個』解決方案;
    • 可以相對短的時間內快速地得到結果;
    • 透過其近乎即時的反饋,工程師能對所調參數對反應的影響產生直觀上的連結及了解,近而可在日後有益於做出更好的設計。
  • 系統性分析:【如實驗設計法design of experiments等】這種分析法可看做是多維空間的假設性分析;有更多的設計參數可一起列入考量,在為每個參數定出其可能值的上下限後(所以嚴格地說仍不能算是global地優化)進行下列的程序: (我們會在之後的貼文再對這分析法做更詳細的解釋)
    • 決定取樣空間
    • 就每一取樣點產生相對應的設計
    • 對每一設計仿真及後處理
    • 為取樣點參數到後處理的結果建立模型
    • 透過所建之模型來預測最佳結果時的參數值
    • 研究殘餘值(residue)及參數間之相關係數

再談假設性分析:

由於假設性分析是透過對較少數變量的線性操作來達到探討其對最終結果的反應,故而在可操作變量的選取上便得先決定其是否有主要的影響,否則線性的參數調整將看不到結果的變化而失去其意義;其次、為求結果能很快地產出而有近乎即時反饋的效果,對其餘定量的因素或相關系統模型便可更進一步地做簡化。比如說、若吾人想探討的是系統參數對其ISI及CCI的影響,那我們便可將通道上的元件簡化成下列三部份來分別研究其與前述兩性能間的關係:

  • Driver: driver’s strength, slew rate, supply voltage, EQ (等化)settings
  • Interconnect:
    • transmission lines: layer stackup and materials Dk/Df, trace width, distances and layout etc
    • vias: pad, anti-pad size, barrel width, back-drill etc
    • package/connectors: change of reference and reference impedance etc
  • Receiver: termination scheme and different terminator values, EQ response and settings etc.

上述中的driver/receiver均已是行為模型(behavioral model)而非原始場效體型諸如通道尺吋或載體濃度的參數、也就是說一般是利用IBIS或/及AMI的參數來加以操作;對於interconnect而言,以二維場解器來計算傳輸線物理及尺寸(間距、線寬等等)所造成的阻抗或串擾上的影響是相對簡單的;一旦是必需要用3D場解才能算出的結構:如通孔Via、封裝或連接器connector等,就要需時甚久而使得假設性分析的效果打折扣了︔如果許可的話,應以簡化的的模型來取代。如下圖為例、在大致的計算上通孔設計可以PI模型來取代。

優化方式間的取捨:

我們認為一信號/電源完整性工程師的價值在於其能對各參數對系統性能的問題有其深入的了解進而能找出解決問題的方案。假設性及系統性分析均可做為這種知識及經驗取得的手段;對系統分析性【如實驗設計法】而言,有一可能的陷阱是因為其需要完整的流程及執行許多步驟,一旦前人建置完成,後來的工程師便可能陷入僅僅執行流程以產出結果報告而未對所得的預測模型做更深入的了解的險境;從而在眾多的數據中喪失了對單一參數的認知及了解。

SPISim使必信產品對假設性分析的支援:

基於前述討論的精神之下,我們設計出了支援假設性分析的XPro模組【X即Experiment, 亦即實驗】在這模組中、我們簡化了許多通道模型並提供了對能主要系統參數做假設性分析的功能,以便用戶能分別對ISI, CCI及電源完整性的一些課題分別做直觀快速的分析:

分析時所需的的仿真都是直接透過內建的SSolver無縫進行,一旦性能滿足所需,只要按下”Generate Model”鈕,則相對應參數的模型便可直接產出而在完整通道的分析上使用。這些功能是大部分其它公司的產品所欠缺而獨見於我們使必信的工具程式裡的。

Leave a Reply

Your email address will not be published. Required fields are marked *