線上影音
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。
-
Compute FWS sub-circuit (SPICE model for sub-circuit, .sp)
-
Import SPICE model for time domain simulation (SPICE model for IO driver, .lib)
-
Simulate SSN with FWS subcircuit using Nexxim and Ansoft Designer
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以提高模擬準度。
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的資訊
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
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
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有關。
將原本只驅動ST_DATA1~3三條線,改成驅動ST_DATA1~7七條線
觀察在VCC_U27、VCC_U38上的SSN彈跳確實是變嚴重了
將.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有幾點注意事項
檔名不可超過12個字母,且不能大寫字母
每行不得超過80個字,即使是註解