LVL(layout versus layout)
顧名思義就是在做兩個layout之間的比對,為什麼會需要做這個比對的原因,舉個例來說,如果今天光罩已經好一版,但這後續為了解決某些問題,而導致需要修改光罩,那就會需要來做LVL,為了確保我們沒有修改的部分都與原本的layout一致。
LVL Example.
<code>
//lvl.cal
//SPECIFY FIRST DATABASE
LAYOUT PRIMARY "TOP_CELL_NAME"
LAYOUT PRIMARY "TOP_CELL_NAME"
LAYOUT PATH "top.gds"
LAYOUT SYSTEM GDSII
//SPECIFY SECOND DATABASE
LAYOUT PRIMARY2 "TOP_CELL_NAME2"
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 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 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,以及介紹內容。
沒有留言:
張貼留言