在普通的DRC間距檢查中,假設約束規則是最小寬度為0.6um,那麼,下圖距離為0.5,它是否報錯呢?
答案是:普通的DRC檢查是查不出上述錯誤的。
Vnotch_space {
EXT M1 < 0.6 ABUT < 90 SINGULAR REGION
}
上述檢查是最常用的間距檢查,注意其中有一個ABUT < 90的選項,它的含義是,當兩條相鄰邊的角度小於90度時報錯。但是,在本例中,V型Notch的豁口兩條邊的角度剛好是90度,它沒有違反規則。同時,雖然豁口的距離0.5微米小於指定的0.6微米的距離,但是由於這兩條邊是相鄰邊,按照DRC的語法定義,相鄰邊是不檢查距離的,因此這個0.5也沒有違反上述語句的約束,不會報錯。
那麼,該如何把上述錯誤報出來呢?寫法如下:
Vnotch_space {
EXT M1 < 0.6 ABUT < 90 SINGULAR REGION
Z = INT [M1] < 0.004INTERSECTING ONLY ABUT == 135
EXT Z < 0.594 PERP ONLYNOTCH ABUT == 90 region
}
上述命令中,INT [M1] < 0.004 INTERSECTING ONLY ABUT == 135 是什麼含義呢?
回想起我們前面文中多次提到的Xcal工具,當你不知道DRC Code是什麼含義時,記住,Xcal告訴你的圖形化含義。
點擊Z的按鈕,可以看到Z的圖形如下:
圖中的紅色線段就是Z的結果,它的含義是:把135度角的相鄰邊找到,相鄰邊的長度取0.004微米。
EXTZ < 0.594 PERP ONLY NOTCH ABUT == 90 region 的含義是什麼呢?我們繼續通過xcal工具分析其含義:
上圖中黃色報錯就是該語句的輸出,把其放大,如下:
可以看到,距離小於0.594的含義是:在豁口處如果距離小於0.6,則從豁口往下很小的距離,它到對面邊的距離也會小於0.594,該命令就是把小於0.594的一對邊報錯出來。
如果豁口處如果距離大於0.6,Z邊的長度只有0.004,從豁口往下很小的距離,它到對面邊的距離就會大於0.594,因此不會報錯。
那麼,如果構造test pattern圖形來驗證上述DRC Code是否準確呢?前文中我們多次提到,當你要檢查DRC Code是否準確時,scout工具就是很好的幫手。
在scout工具的Rule Editor中編輯如下命令:
關鍵字選取VnotchSpacing,則工具自動生成如下Pattern:
在good pattern中,豁口的距離剛好等於0.6微米,而在bad pattern中,豁口的距離剛好小於0.6微米。
Pattern構造好後,點擊Verify DRC,工具自動運行DRC工具,最後得出結論:Pass。