APR - Stream File === 當APR都做完後就可以Stream GDS檔和Netlist檔了,以下會說明檔案的用途與方法。 準備Netlist&SDF檔案 === Save Netlist --- 首先先來匯出netlist檔,之後會用在Post-Layout Simulation、Power Analysis和LVS。 1. File->Save->Netlist.. ![image](https://hackmd.io/_uploads/rJWcNoc6R.png =30%x) 2. Save ![image](https://hackmd.io/_uploads/rykhEo56C.png =40%x) Write SDF File --- 1. 在innovus輸入以下指令以匯出CHIP.sdf ```=tcl=1 setAnalysisMode -analysisType bcwc write_sdf -max_view av_func_mode_max -min_view av_func_mode_min -edges noedge -splitsetuphold -remashold -splitrecrem -min_period_edges none CHIP.sdf ``` 準備LVS檔案 === Stream GDS File --- 1. 在APR的跟目錄下新增資料夾,命名為"tec_gds" 2. 將以下檔案複製到tec_gds資料夾下 ![image](https://hackmd.io/_uploads/By_fUiq6A.png =70%x) 3. 複製streamOut.map到APR的根目錄 ![image](https://hackmd.io/_uploads/rkUHUjca0.png =70%x) 4. 將SRAM的GDS檔複製到tec_gds資料夾下,SRAM的GDS轉檔方式在[這邊](https://hackmd.io/RAoIane0RqaoftqnlBD0cg#APR-Level) 5. 以下是tec_gds資料夾下有的檔案,因為我沒有使用到rvt,所以刪除了rvt的檔案 ![image](https://hackmd.io/_uploads/rJDTci5a0.png =70%x) 6. 建立一個檔案命名為"streamGds.tcl",檔案內容如下 ```=tcl=1 setStreamOutMode -specifyViaName default -SEvianames false -virtualConnection false -uniquifyCellNamesPrefix false -snapToMGrid false -textSize 1 -version 3 streamOut CHIP_lvs.gds -mapFile ./streamOut.map -merge {tec_gds/sc9_cln40g_base.hvt.gds tec_gds/sc9_cln40g_base.lvt.gds tec_gds/sc9_cln40g_pmk_hvt.gds tec_gds/sc9_cln40g_pmk_lvt.gds tec_gds/tpbn45v_g1m.gds tec_gds/tpzn45gsgv20d3_g1m.gds tec_gds/sram_k_35k.gds tec_gds/sram_v_40k.gds} -uniquifyCellNames -units 2000 -mode all ``` 7. 在innovus輸入以下指令匯出"CHIP_lvs.gds" `source streamGds.tcl` 準備DRC檔案 === 請先準備好LVS檔案再來做這步 Add bonding Pad --- 1. 複製這三個檔案到APR的根目錄 ![image](https://hackmd.io/_uploads/B1qNniqpC.png =70%x) 2. 在innovus輸入以下指令 ```=1 perl ./addbonding_v3.6.pl CHIP.def source addRouteBlk.cmd ``` 3. 做完pad旁邊會灰灰的 ![image](https://hackmd.io/_uploads/r1ZbTocpC.png =30%x) Stream GDS File --- 1. 將streamGds.tcl檔案中的第二行"CHIP_lvs.gds"改為"CHIP_drc.gds" 2. 在innovus輸入以下指令,以匯出DRC使用的GDS檔案 `source streamGds.tcl`