發表文章

目前顯示的是 2月, 2021的文章

Power Integrity - PDN頻域Z參數解析

圖片
       Take-away:  常用「IC pad/bump點的頻域Z參數」當作PI分析參數 PDN Z參數不能只能看共振點,各段都要仔細分析。 改善PDN共振點,需知道共振點的成因,找出共振點對應的LC 。 拼命加電容不一定能改善PDN,要確切知道問題點才有效。 -----Start Power的穩定性是工程師的一大挑戰,往往可能比signal更令人頭疼。 一般人常認為power的特性難以估計、千變萬化,只能拼命加電容。 但其實仔細觀察、一步一步的拆解、抓住關鍵參數,還是有跡可循的喔! 筆者將介紹PDN頻域分布、時域波型、layout設計、電容選擇、電流抽載...等。 本篇由PDN頻域開始! (如下圖) 觀測點 & Z參數 歐姆定律dV=dI*Z, 其中      dI為IC電路抽載電流,由內部電路決定。      dV為電壓變動,目標是電壓變動越小越好。     Z參數為PDN阻抗分布,是 dV/dI兩者橋梁。 我們要穩壓的點是IC內部,所以我們常用「IC pad/bump點的頻域Z參數」當作PI分析參數。 NOTE:  常用「IC pad/bump點的Z參數」當作PI分析參數 (如下圖) PDN頻譜分布 以下為 IC pad/bump點的PDN Z阻抗結果,阻抗值隨頻率不同。 可以看到PDN有兩個共振點,分別在8MHz和34MHz。 大部分的Z參數也是類似此圖,有2~3個共振點。 我們仔細的分析PDN Z參數, 將其拆成五段A、B 、C、D、E。 由Z參數的斜率,可知道ACE為電容性,BD為電感性。      A: Die內部電容。      B: Pad/bump到封裝電容的路徑電感 + 封裝電容的寄生電感。      C:  封裝電容。      D: Pad/bump到PCB電容的路徑電感 + PCB電容的寄生電感。      E: PCB電容。 共振點P1主要由A、B構成。 共振點P2主要由C、D構成。 NOTE: PDN Z參數不能只能看共振點,各段都要仔細分析。 (如下圖) PDN共振點分析 為什麼我們要把PDN拆成這麼細呢? 在此問個有趣的問題,若我們要把「P1往高頻移動,在PCB加10顆電容有用嗎?」 也就是常見手法,一個電容不夠,那就再加一個! 透過PDN Z參數分析,我們知道共振點P1主要由A「Die內部電容」、B「P

Keysight ADS教學 - 三步驟完成TDR模擬

圖片
      Take-away:  步驟1: 呼叫ADS內建TDR電路 步驟2: 接上待測物、設置TDR參數、按下模擬 步驟3: 得TDR結果 -----Start 筆者之前已詳細介紹過TDR原理 [連結] ,本篇介紹如何用Keysight ADS軟體做TDR分析。 只需要三個步驟,非常簡單。 (如下圖) 步驟1: 呼叫ADS內建TDR電路 ADS已有內建好的TDR電路,我們只需要點一下滑鼠就可輕鬆呼叫。 Insert => Template => ConvRespT (如下圖) 步驟2: 接上待測物、設置TDR參數、按下模擬 接上欲模擬的待測物(例如S參數)後,設置TDR參數 常用設定    trise:  0.35/頻寬    ZO: 50    Reference Line Delay: 100ps    magnitude: 1 (如下圖)步驟3: 得TDR結果 ADS完成模擬後,使用ADS內建TDR函數"tdr_step_imped(TDR,50)", 便可看到TDR結果。 注意,TDR前200ps為reference line delay的效應,所以待測物的TDR結果是從200ps之後開始哦! (如下圖)差分訊號TDR 如果要看差分系統的TDR,只要更改以下設定就可以囉!    1. 待測物前後加上balun    2. ZO改為100    3. 函數tdr_step_imped(TDR,100) 有了ADS內建電路&函數的幫助,TDR模擬是不是變得超級簡單了呢 :D -----END

Keysight ADS教學 - 一維&二維參數掃描(parameter sweep)

圖片
    Take-away:  ADS電路模擬可sweep一維和二維(以上)變數。 一維sweep可用Param Sweep元件。 二維sweep 可用B atch Sim Controller元件。 -----Start (如下圖) 在設計中,我們常要看參數變動對結果造成的影響,例如線寬變動對走線串擾有多少影響。Keysight ADS軟體提供了非常便利的參數sweep功能,本篇會介紹一維變數sweep、二維變數sweep。 (如下圖)一維變數sweep 本篇用ADS中TL-LINE模型當範例。 (對TL-Line不熟悉者,可見 [連結] ) 首先建立變數var,並將要sweep的參數用變數取代,範例為掃描trace的spacing。 (如下圖) 一 維變數sweep 電路設定 接著放入Param Sweep元件,由此元件來管理變數的sweep方式。 掃描trace_spacing,20um開始、144um結束、每15um一點。 請記得在ParamSweep元件中的分頁Simulations中填入simulator的名子(這邊simulator是SP1)。 (如下圖) 一 維變數sweep 模擬結果 模擬完後,我們先叫出trace_spacing參數,看跑的變數是否如同預期。 結果顯示 trace_spacing的確是由 20um開始、144um結束、每15um一點,共跑了10個點。 叫出S(1,3),可以看到S(1,3)有10條線,分別為不同trace_spacing的結果。 S(3,1)為串擾XTALK的結果,可以看到trace_spacing越大時,XTALK越小,符合預期。 跑一次模擬就完成不同spacing的XTALK結果。 如果我們不想一次看10條線的結果,只想看 trace_spacing 20um的單獨結果。 可在參數後方加入[0,::],例如S(1,3)[0,::]。 同理,S(1,3)[1,::]為 trace_spacing是35um的單獨結果。 同理,S(1,3)[2,::]為 trace_spacing是50um的單獨結果。 (如下圖)二 維變數sweep 介紹完一維變數sweep後,接著介紹二維變數sweep。 例如我們想看trace_spacing和trace_width兩個變數帶來的影響。 可想而知,兩個變數sweep會形成一個Mx

Keysight ADS教學 - 模擬走線阻抗(均勻傳輸線)

圖片
   Take-away:  介紹ADS-CILD設定 。 利用ADS-CILD計算走線阻抗 。 利用ADS-CILD掃參數,線寬vs阻抗 。 在ADS電路中插入CILD建立的line type model。 -----Start (如下圖) 模擬傳輸線阻抗是工程師的基本技能,對於PKG/PCB架構的阻抗, 筆者建議採用採用Keysight公司的ADS軟體[ 連結 ]來模擬阻抗。 ADS的Controlled Impedance Line Designer(CILD)是一個2D field solver,可模擬外層microstrip、內層stripline、差分線,平面波導...等架構之阻抗,亦可模擬梯型走線、金屬粗糙面surface roughness、疊構材料causality material、Dk/Df...等。 便利的是,CILD可以透過sweep parameter的方式,輕鬆得到參數變異對走線特性的影響,例如線寬vs阻抗、Df vs loss...等。 最強的是,ADS可將建立好的傳輸線模型帶入ADS電路當中,可和PCB/connector/PKG model做串接,對於前期的pre-simulation非常有幫助。 以下將介紹ADS-CTLE的操作方式。 (如下 圖) 建立substrate(stack-up) 若有內層/外層走線的計算需求,Template可選board_4layer。 (如下圖)設定疊構厚度 讀入substrate template後,可看到圖形化的4層板。 先在疊構厚度設定區,輸入PCB/PKG 金屬/介質/SolderMask厚度。 (如下圖) 新增層數 新增層數是新手在CILD常碰到的難題。 在圖形化疊構區,右鍵點選Insert新增介質層後,在灰色薄層右鍵map conductor layer。 就完成新增一層介質和一層金屬。 (如下圖)設定介質層材料Dk/Df 接著設定疊構材料特性,設定Dk/Df。 在材料dielectric frequency dependent loss model上,若無特別需求,筆者建議用預設的Djordjevic model即可,可增加time domain模擬的收斂性。如想看Djordjevic model數學式,可見[ 連結 ]。 (如下圖)設定金屬層 點選一下圖面上的金屬層,右手邊就會出