線上影音

Home > ANSYS SIwave教學> Simultaneous Switching Noise

 

本文始於2009年,筆者依Ansoft官方範例以SIwave v3.5進行SSN模擬。2011年重新以SIwave v5.0撰寫,並附上範例檔供學習參考。

SSN (Simultaneous Switching Noise)是指數位電路運作時,許多邏輯閘在同一時序上瞬間同步轉態,所引起的switching noise。本章範例,選擇三條IC之間的訊號(ST_DATA1~3),比較在輸入端有驅動(ST_DATA1,2)與不驅動(ST_DARA3)時的訊號輸出端波形差異,也觀察因兩條訊號驅動所導致power line上的SSN。

  1. Create ports using automatic port generation feature

  2. Compute S-parameters

  3. Compute FWS sub-circuit (SPICE model for sub-circuit, .sp)

  4. Import SPICE model for time domain simulation (SPICE model for IO driver, .lib)

  5. Simulate SSN with FWS subcircuit using Nexxim and Ansoft Designer

  6. Compare SSN by adding the number of driven signals

  7. Compare SSN by decreasing the strength of driving

 

  1. Create ports using automatic port generation feature 

1.1 Open a SIwave project and validation check (ref. lesson 3)

1.2 Look for components and pin names:選擇三條訊號線與VCC/GND, and add ports

在[Single Ended Nets]標籤頁中,選擇U27與U37間的三條data pins,如下圖黃色highlight所示

若要看清楚所有pin name或Element Name

View \ Circuit Elements \ All \ On
View \ Circuit Elements \ Pin Names \ All On

如果還是看不清楚, 可繼續調整字體大小與顏色

View \ Modify Attributes \ Change Text Attributes將[Non-scalable text]核選

1.3  Change Net Color

[Single Ended Nets] tab,select VCC、GND and right-click, change VCC net to red, and GND to green

改變PCB pattern顯示顏色的另一方法:以Select by click選定某一條net,然後從View \ Modify Attributes \ Change Selection Color修改。
修改Net name,除了在net標籤頁中,以滑鼠右鍵的快捷功能修改,還
可以從Edit \ Nets \ Change Name...修改

1.4 Automatic Port Generation:

在Components標籤頁中,展開"Integrated Circuit",展開"74ACT299_SOIC",展開U37,選定pin4,5,15,20,按滑鼠右鍵,選擇"Create Ports"。

在Components標籤頁中,展開"Integrated Circuit",展開"PAL22V10_SMSOCKETAMD",展開U27,選定pin10,11,12,28,按滑鼠右鍵選擇"Create Ports"。

會跳出一個reference pin的設定對話窗,請指定剛剛所選擇要放port的訊號,並決定它的port要依哪一個元件的哪一個net當reference GND。

設定完成後按OK,就會看到所有選定的signals自動被加上port了

  

1.5 選定一組(VCC, GND),加上port,且命名該port為VRM,以模擬整個系統的輸入電源接口。
    PCB左下方的J3接口,(J3.1, J3.3)

1.6 Edit \ Circuit Element Parameters檢查一下所有的port是否都接對,並且在這裡可以更改port name

官方的訓練課程講義,此處VRM的reference impedance是設50 ohm,但另一份Ansoft的資料(Accurate and Efficient SSN Modeling, p.23)卻是建議VRM的reference impedance設1~0.1 ohm以提高模擬準度。

  1. Compute S-parameters 

Setting Simulation Global Options (ref. lesson 3)

Simulation \ Compute S-, Y-, Z-Parameters

若勾選"Set FWS generation parameter",表示可以Export時域的"Full-wave SPICE" sub-circuit,此時的"Start Freq"只能設定0,因為需要有DC的資訊

  1. Compute FWS sub-circuit 

3.1 Simulation \ Compute FWS sub-circuit by SIwave v3.5,to Export SPICE file (.sp)

     Results \ SYZ \ ... \ Compute FWS sub-circuit by SIwave v4.0 or v5.0

必須先做過"Compute S-,Y-,Z-Parameter",此項功能才可以執行。

.sp檔名不可有空格,否則symbol 會多一隻多餘(錯誤的)pin,且該name正好是檔名空格後的字母

核選"Use common ground for Spice output",每個net的reference才不會出現

從SIwave匯出SPICE (.sp)或是touchstone file (.snp),對於模擬結果有差嗎? 筆者實驗的結果是:看不出差異

3.2 若勾選"Launch Designer Nexxim"該項,執行完成時會跳出一個顯示.sp內容的視窗,按"Close",然後會自動帶出一個Nexxim project,內含此.sp model的symbol 。

3.3 若是打開一個新的Designer/Nexxim project,則從Tools \ Import SPICE Components,引入這個SPICE sub-circuit

  1. Import SPICE model for time domain simulation 

4.1 import SPICE model of I/O drivers in Designer/Nexxim

Tools \ Import SPICE Components

這個library中有好幾個component,選擇其中的"pentpro_GTL_IN"、"pentpro_GTL_OUT"

   

如果已經import某些component,後來又沒有使用,那在component標籤頁內就會殘留許多沒使用的project component,此時可以從Project / Remove Unused Definitions執行清除

4.2 如果導入的model symbol不是三角形的amplify符號,您可以選定該symbol按滑鼠右鍵,選擇[Edit Component],依以下操作步驟修改。對於Symbol導入後所顯示的pin次序與位置,也可透過[Edit Symbol]修改

pentpro_GTL_OUT放左邊, pentpro_GTL_IN放右邊,電路如下圖所示連接,其中的V_PULSE取電壓1.5V,Tr=Tf=500ps、PW=20ns、PER=40ns;V_DC電壓也是取1.5V。

如已經import的"component"來源IBIS/SPICE要更換,使用Alter function是一個方式,另一個方法是選定該元件,然後在SIwave左下方的"Properties window"內,"file"列有個"Value"按鈕可以設定所link的IBIS路徑;或是選定該元件,然後按滑鼠右鍵選擇[Edit Model],即可設定model所聯結的IBIS路徑

右端的訊號線上要加25歐姆的pull-up電阻的原因是,這pentpro_GTL_OUT Model_type是Open-drain

u

  1. Simulate SSN with FWS subcircuit using Nexxim and Ansoft Designer 

5.1 project標籤頁內的 Analysis \ Add Solution Setup \Transient Analysis
     或Circuit \ Add Nexxim Solution Setup \Transient Analysis)

5.2 project標籤頁內的 Analysis \ Analyze或直接按F10即可開始模擬

5.3 project標籤頁內的 Result \ Create Standard Report \ Rectangular Plot

 

ST_DATA3因為輸入訊號keep 0 (non-driven),所以只看到SSN所引起的noise
ST_DATA1輸入V_PULSE (driven),所以可以看到訊號變化與些微相位時間延遲

VCC_U37與VCC_U27上都可以看到因 ST_DATA1,2 driving low所引起的SSN,但前者波形上凸,後者波形下凹,這與電流sink的方向有關。此例電源上看到的SSN,跟layout比較沒有關係,而與output driver model有關。

  1. Compare SSN by adding the number of driven signals 

將原本只驅動ST_DATA1~3三條線,改成驅動ST_DATA1~7七條線

觀察在VCC_U27、VCC_U38上的SSN彈跳確實是變嚴重了

  1. Compare SSN by decreasing the strength of driving 

將.lib的SPICE內 (line 328),描述pentpro_GTL_OUT內部開關的Ron從1改成2000歐姆,看看波形會變成什麼樣子

.model swmod1 SW VT=0.5 RON=2000 ROFF=1e+007 
.model swmod2 SW VT=-0.5 RON=
2000 ROFF=1e+007 

若是修改ibis.ibs的[Ramp]設定,看看波形會變成什麼樣子

自行修改IBIS file有幾點注意事項

  1. 檔名不可超過12個字母,且不能大寫字母

  2. 每行不得超過80個字,即使是註解