在納米工藝下,工藝尺寸達到了14nm, 7nm等很小的尺寸,常用的1微米 = 1000 個資料庫單位的表示會導致精度不夠,因此,出現了Precision的新的定義。
之前,普通的DRC Code中,定義如下:
PRECISION 1000
LAYOUT PRECISION 1000
可以看到,它的PRECISON定義都是1000,由於這2個數據完全一致,因此不會造成混淆。
但是,如果進入14nm, 7nm工藝,上述定義會修改為:
PRECISION 2000(或者5000,10000)
LAYOUT PRECISION 1000
可以看到,PRECISION的值與LAYOUTPRECISION的值不一致了。為什麼會出現不一致的定義呢?
PRECISON定義為2000的含義是:1微米的長度在DRC工具計算時自動轉換為2000 的整數,而不是1000。它的用途是:當出現45度斜線時,由於所有的版圖坐標數據都用整數表示,在45度線上的某些點坐標可能計算結果是: 0.4565,如果PRECISON = 1000,則整數值是456.5,它必須做四捨五入的取整,導致出現誤差。
如果PRECISION = 2000,則0.4565的整數值為913,它沒有出現任何誤差,因此計算精度更準確。
那麼,Layout Precision的含義是什麼呢?它的含義是:DRC工具在在讀gds文件時,gds文件中的資料庫單位與1微米的比值關係。一般情況下,這個數據是1000。
由於PRECISION = 2000 ,與LAYOUTPRECISION = 1000 的數字不一致,假設一個圖形的原始寬度為0.05微米,它在gds文件中的值是50,當讀入DRC工具後,DRC工具自動把這個數據變化為100,報錯的最終結果也會按照100這個數據輸出到DRC RESULTS DATASE的文件中。
如果用戶不做任何設置,直接用RVE工具打開報錯結果,會發現報錯的位置與版圖的位置對不上。原因是:RVE默認版圖的precision = 1000,但是DRC工具輸出的結果都是按照1微米=2000的數據輸出的,二者不匹配。
為了解決上述問題,用戶需要在RVE界面中設置如下:
在Setup的Option中設置Highlighting參數,把LayoutHighlighting的Magnify highlight coordinates by設置為2 (2000/1000= 2),則報錯結果可以正常反標到layout中。
那麼,DRC Code設置好後,TestPattern自動生成工具scout需要如何設置才能與其一致呢?
當Precision/LayoutPrecision的比值等於10時,其含義是:DRC工具自動把test pattern的版圖放大10倍去檢查,為了滿足這一條件,Scout工具要求在RuleEditor的Technology界面中設置如下:
用戶在MagnifyResults中填寫10倍的數字,則工具自動會把testpattern.gds的版圖擴大10倍。同時注意,由於scout工具支持externalgds的輸入,如果用戶原始的externalgds並沒有手工做放大10倍,則把ExternalGDS勾中後,工具自動會按照externalgds的版圖放大10倍後放入testpattern.gds中。工具在對externalgds進行操作時並不改變原始externalgds的文件內容,而是對其進行了copy後進行操作,不會影響用戶原始的externalgds 的數據。如果用戶已經對externalgds的圖形手工進行了放大10倍,則用戶不要夠鍾ExternalGDS的按鈕。
上述數值設置好後,用戶可以點擊Scout工具的GenerateTest Pattern來生成版圖並進行驗證。在驗證過程中,工具會自動對Pattern Bound進行等比例放大,滿足Incomplete檢查的要求。
同理,針對RCX Runset的TestPattern自動生成工具Tuta,用戶可以設置如下:
在LayoutPrecision中選擇與DRC Code/LVS Code中設置一致,在本例中,由於LAYOUT Precison等於1000,因此,工具界面中設置為1000。
DRC Code經常還有另外一種寫法,如下:
PRECISION 2000
LAYOUT PRECISION 1000
LAYOUT MAGNIFY AUTO
它的含義是:由於PRECISION與LAYOUTPRECISION不一致,DRC工具在做運算時,首先自動把gds文件的坐標擴大2倍,這樣gds資料庫的數據與DRC處理時的內部數據完全一致。在這種條件下,test pattern自動生成工具就不需要再去設置放大倍數了,RVE工具也不需要再去設置放大倍數了,因為DRC工具的輸入數據和輸出報錯數據,都已經自動把資料庫單位保持一致了。