做完 APR 以後,產出的 gds 檔中沒有 memory 和 analog macro 的 layout,需要將這些 macro 的 layout 進行合併,可使用以下指令。
calibredrv -a layout filemerge -smartdiff -rename -preserve merge_filterfile\
-in top_apr.gds \
-in memory.gds \
-in analog_macro.gds \
-out top_apr_merge.gds \
-topcell top_apr
-smartdiff
由於在不同的 gds 中可能存在相同名稱的 cell,當合併時會造成某些 cell 被覆蓋掉,加上這個選項,就可以自動辨別 cell 的內容,當 cell 內容不同時會自動重新命名。
-in
定義要被合併的 gds 路徑與檔名。
-out
定義輸出的 gds 的路徑與檔名。
-topcell
指定 top cell 的名稱。
-preserve
在 -preserve 後面的 merge_filterfile 是一個檔案,其內容如下:
analog_macro.gds analog_macro_module_name -nohier
memory.gds memory_module_name -nohier
由於在原本 APR 後產生的 memory 和 analog macro 要用真實的 layout 換掉,因此在 merge_filter_file 中定義 analog_macro.gds 和 memory.gds 是合併後保留的。
-nohier 表示只有 analog_macro 的最上層 hierarchy 會被強制保留,其它內容還是會透過 smartdiff 進行比對,決定是否需要重新命名。如果沒有加上 -nohier,會造成 memory.gds 或 analog_macro.gds 中的 cell 可能把 top_apr.gds 裡面同名的 cell 覆蓋掉。
沒有留言:
張貼留言