發表文章

如果遇到xRC 或 xACT 抽出來的電阻有問題時? 應該怎麼debug?

 1. 將所有RC Reduction 的command 先關掉       例如PEX REDUCE MINRES COMBINE 5       註: xACT 要將 PEX REDUCE ANALOG 設定成 NO 2. 在PEX NETLIST 後面加上RLAYER RLENGTH RWIDTH       重抽一次 只要抽電阻就好      下 -pdb -r 即可.   再找出有問題的電阻是哪個layer 造成的,     RLENGTH / RWIDTH 是否異常? 3. 使用 Calibre RVE 的Parasitic browser 功能      貼回去layout 看是否異常? 如果RLENGTH/RWIDTH 異常, 請回報原廠的AE技師維修.

執行完xRC 之後,想要檢查xRC抽出來的netlist 是否有斷線?

  這裡提供使用 SIMPLE NETLIST 來做比對的方法 :   1.       xRC 也寫出 SIMPLE NETLIST (不帶任何寄生元件,只有原本的device 的netlist) 記得在 rule 中 加入底下這一行 : PEX NETLIST SIMPLE “simple.sp” HSPICE SOURCENAMES 執行完 LVS, 再執行底下這個步驟 : >calibre -xrc -fmt -simple lvs.rule | tee fmt.log   2.       將原本的 lvs rule copy 成 svs.rule SOURCE PATH “simple.sp”  // SIMPLE NETLIST SOURCE PRIMARY top_cell SOURCE SYSTEM SPICE   LAYOUT PATH “output.sp” // xRC抽出來的NETLIST LAYOUT PRIMARY “top_cell” LAYOUT SYSTEM SPICE   LVS SPICE SLASH IS SAPCE NO LVS FILTER R SHORT             // 所有的電阻視為短路 LVS FILTER C OPEN               // 所有的電容視為開路    3.       Netlist 需要修改的部分有 有些 device 在原本的 lvs rule 定義成 M 開頭 , 可是寫出 NETLIST 變成 X 開頭 例如在 LVS rule 中 : DEVICE MP(P) PGAT PO1(G) PSD(S) PSD(D) NWL(B) NETLIST ELEMENT "X...

RC extraction 的軟體, 為什麼有時候會抽出斷線的Netlist?

有時候 circuit designer 會發現跑 po-sim 模擬時出現 NO DC PATH TO GROUND 的錯誤 , 追蹤後發現是 RC extraction 的軟體抽出來的 netlist 有斷線的節點 . 接下來 , 讓我們來討論一下這個情形 .   首先 , 造成斷線的原因 , 這邊整理三個可能發生的原因: 1.       LVS rule 造成的 2.       Layout 中的 pattern 圖形造成的 3.       Tool 本身的 bug   1.       LVS rule 造成的 : RC extraction 的軟體對於 CONNECTION 的定義比較嚴謹 , 基本上是透過 “CONNECT” 這個指令來得知 metal 與 metal 透過什麼 via 連接 . 例如 : CONNECT METAL1 METAL2 BY VIA1 METAL1 與 METAL2 透過 VIA1 連接上下層 .   有些 rule 中 , device 的 pin layer 的 net information 是透過繼承來的或是使用 STAMP , 雖然 LVS 可以跑可以 match, 但是抽 RC 時往往會出現問題 . 這個部份要請撰寫 LVS rule 的朋友們 , 多加注意 .   2.       Layout 中的 pattern 造成的 : 我們都知道 , 寄生電阻的計算公式是 電阻係數乘上線長除以線寬 . (R = RSH * L/W) 所以軟體在計算寄生電阻之前 , 會先處理 layout 圖形 , 把它變成一塊塊長方形 , 通常這個動作叫 fracturing. 在這個過程中有可能因為原本的 pattern 造成 fracturing 之後有縫隙 , 另一個可能是在做 fracture 時 , layout 圖形落在不同階層的 cel...

LAYOUT 上打的TEXT與xRC/xACT抽寄生電阻的關係 (TEXT LOCATION VS PARASITIC RESISTANCE)

圖片
  xRC/xACT 會依據 Layout 上打的 TEXT 與元件的 pin 腳決定電流路徑並計算寄生電阻 . 1. 如下圖 紅色部分就是會計算寄生電阻的路徑: 2. 如果我們把 TEXT 打在另一端 , 則 xRC 會計算另一條路徑的寄生電阻: 3. 如果TEXT打在兩端, 則xRC會計算兩條路徑的寄生電阻:   這個時候 xRC 寫出來的 netlist, 如果是 HSPICE/SPECTRE 格式 , 會寫出兩個 A 點 . 這在模擬的時候 , 電路模擬軟體會視這兩點為短路 . 如果是 DSPF 格式 , 預設只會寫出一點 ( 只出現一個 *|P A X 0.0). 需要在 PEX NETLIST command 後面加上 MULTITXTPORT 這個選項 ( 會出現 *|P(A X 0.0) 與 *|P (A_1 X 0.0) . 第二點會加上 _1, 跟寫出 HSPICE/SPECTRE 格式時不同 .

xRC/xACT抽出來的Netlist Pin腳順序與source netlist 不一樣?

1. 你可以加入 “PEX PIN ORDER SOURCE” 讓xRC 抽出來的top level block pin 腳順序與source 相同. 2. 如果是device 的pin 腳順序,標準device 會自動依照source netlist 中的順序. User defined device 可以透過 PEX BA MAPFILE 指定一個輸入檔調整. 例如我的user define device : DEVICE NMOS NGAT PO1(G) NSD(S) NSD(D) PWL(B) <OX1> 寫出來的pin 腳順序為 G S D B . 如果想調整成 D G S B . PEX BA MAPFILE 可以用底下的寫法,改變device NMOS 的pin 腳順序. %Models NMOS NMOS PINORDER D D G G S S B B