prog_linenum

2021年6月22日 星期二

LVL command file 範例

LVL(layout versus layout)
顧名思義就是在做兩個layout之間的比對,為什麼會需要做這個比對的原因,舉個例來說,如果今天光罩已經好一版,但這後續為了解決某些問題,而導致需要修改光罩,那就會需要來做LVL,為了確保我們沒有修改的部分都與原本的layout一致。

LVL Example.

<code>
//lvl.cal

//SPECIFY FIRST DATABASE
LAYOUT PRIMARY "TOP_CELL_NAME"
LAYOUT PATH "top.gds"
LAYOUT SYSTEM GDSII

//SPECIFY SECOND DATABASE
LAYOUT PRIMARY2 "TOP_CELL_NAME2"
LAYOUT PATH2 "top2.gds"
LAYOUT SYSTEM2 GDSII
LAYOUT BUMP2 1000    // add 1000 to layer number for the second database

//OUTPUT REPORT
DRC RESULTS DATABASE "top.lvl.db" ASCII
DRC SUMMARY REPORT "top.lvl.rep"

DRC MAXIMUM RESULTS ALL
PRECISION        1000
RESOLUTION    1

//LAYER COMPARE
LAYER OD                1001    LAYER MAP           2    DATATYPE    0    1001
LAYER OD_Sec        2001    LAYER MAP    1002    DATATYPE    0    2001
DIFF.OD {@ OD is different from the OD of another GDS
OD XOR OD_Sec
}
</code>

以下為範例詳解


//lvl.cal
//部分為註解,開頭先打上rule file名稱,取.cal為副檔名是因為使用的EDA tool 為Calibre

//SPECIFY FIRST DATABASE
LAYOUT PRIMARY "TOP_CELL_NAME"
LAYOUT PATH "top.gds"
LAYOUT SYSTEM GDSII
指定第一個layout要驗證的
Top Cell Name
GDS的位置
設定讀取檔案格式為GDSII

//SPECIFY FIRST DATABASE
LAYOUT PRIMARY2 "TOP_CELL_NAME2"
LAYOUT PATH2 "top2.gds"
LAYOUT SYSTEM2 GDSII
LAYOUT BUMP2 1000    // add 1000 to layer number for the second database
指定第二個layout要驗證的
Top Cell Name
GDS的位置
設定讀取檔案格式為GDSII
並且將第二個gds的layer number數值都加上1000
也就是說假設本來OD 這層layer對應到的layer number為2,那這邊就會變成1002

//OUTPUT REPORT
DRC RESULTS DATABASE "top.lvl.db" ASCII
DRC SUMMARY REPORT "top.lvl.rep"
這段就是設定我們report輸出的檔名及位置
database 是可以用RVE 開啟的檔案
summary 是文字內容的報告

DRC MAXIMUM RESULTS ALL
PRECISION        1000
RESOLUTION    1
設定DRC能回報出的結果為最大值
精準度為1000
Defines the layout grid step-size

//LAYER COMPARE
LAYER OD                1001    LAYER MAP           2    DATATYPE    0    1001
LAYER OD_Sec        2001    LAYER MAP    1002    DATATYPE    0    2001
DIFF.OD {@ OD is different from the OD of another GDS
OD XOR OD_Sec
}
rule file內需要定義每層layer對應的layer number及datatype
OD_Sec這行定義的是第二個gds的layer,這邊要注意layer定義的數值不能重複,否則會出錯
DIFF.OD這邊就是我們的rule 名字,下面做OD 與OD_Sec的XOR運算, 如果有不同就會抓錯


按照上面內容做更改就可以寫出LVL的command file了,但如果一行一行慢慢改,可能會改到天荒地老,而且還可能改錯,這時候就需要有寫Shell Script的能力,讓電腦自己完成這些事,下一篇會分享我自己寫的shell script,以及介紹內容。





沒有留言:

張貼留言