在數字IC后端設計實現chipfinish階段需要寫出很多數據,比如netlist,def,gds,lib和lef等文件。
今天給大家分享PR工具Innovus寫出Calibre物理驗證LVS要用的netlist的詳細步驟。
手把手教你debug解決物理驗證Calibre LVS錯誤
1)derive pg
確保所有cell(包括physical only cell)的derive pg都是正確的。
globalNetConnect VDD_CORE -type pgpin -pin {VDD} -inst * -override
globalNetConnect VSS -type pgpin -pin {VSS} -inst * -override
PG邏輯連接的腳本編寫需要建立在對設計powerplan結構理解的基礎上。這個是過Calibre LVS的基石。
比如咱們社區T12nm A55項目,如果使用如下的globalNetConnect腳本,則會出現問題。VPP和VBB分別是nwell和psub的接觸點,其中PD_PSO是需要power down的domain,而PD_AW_ON是常開的domain。
globalNetConnect VDD_LOCAL -type pgpin -pin {VPP} -inst * -powerDomain PD_PSO
globalNetConnect VDD_CORE -type pgpin -pin {VPP} -inst * -powerDomain PD_AW_ON
globalNetConnect VSS -type pgpin -pin {VBB} -inst * -powerDomain PD_PSO
globalNetConnect VSS -type pgpin -pin {VBB} -inst * -powerDomain PD_AW_ON
2)刪除空module
deleteEmptyModule
如果設計中存在空module,在做calibre LVS檢查時會報Incorrect Instances的錯誤,具體見如下圖所示。
咱們社區也分享過一個實際后端項目案例,設計中存在幾個空module。小編也手把手教大家如何進行LVS問題debug,并解決這樣的Calibre LVS問題。感興趣的可以在社區通過搜索關鍵詞“delete”,即可快速找到這份教程。
物理驗證Calibre LVS Stamping Conflict SoftConnect案例解析
3)physical only cell處理
對于有device的physical only cell,我們必須在寫netlist時通過incldePhysicalCell選項把它們寫出來,否則會出現layout gds和source netlist 不匹配的情況。
saveNetlist …/data/cortexa7_lvs.vg
-includePhysicalCell {DCAP32BWP40P140 DCAP16BWP40P140 DCAP8BWP40P140}
-excludeLeafCell
-includePowerGround
-flattenBus
4)Split Bus處理
如果Design里面有Macro,比如SRAM,在SRAM的.spi網表中所有的pin都是單個bit聲明的,那么在導出網表的時候我們必須把Bus來flatten成單個的bit,加上選項-flattenBus即可,否則在做完v2lvs之后做LVS的時候會報這些bus和pin不匹配的問題。