專利名稱:一種集成電路版圖驗證中矩形包含規(guī)則的驗證方法
技術(shù)領(lǐng)域:
本發(fā)明是一種用于集成電路版圖驗證工具中矩形包含規(guī)則的驗證方法,所屬的技術(shù)領(lǐng)域是集成電路計算機輔助設(shè)計領(lǐng)域,尤其是涉及集成電路版圖的設(shè)計規(guī)則檢查(DRC)和版圖與原理圖的一致性檢查(LVS)領(lǐng)域。
背景技術(shù):
在過去的30年里,集成電路技術(shù)得到了巨大的發(fā)展。芯片的特征尺寸越來越小,單個芯片的集成度也越來越高。隨著芯片規(guī)模的擴大,在集成電路設(shè)計的各個階段所需驗證的設(shè)計規(guī)則也在不斷增多。其中集成電路版圖的設(shè)計規(guī)則檢查(DRC)以及集成電路版圖與原理圖的一致性檢查(LVS)變得越來越重要,它們對于消除錯誤、降低設(shè)計成本和減少設(shè)計失敗的風(fēng)險具有重要作用。在超大規(guī)模集成電路的設(shè)計中,版圖規(guī)模急劇膨脹,后端版圖物理驗證成為集成電路設(shè)計的一項瓶頸。I.掃描線在集成電路版圖驗證中的應(yīng)用掃描線方法最初是為解決線段相交問題而提出的。由于其快速、有效的優(yōu)點而在圖形運算中得到廣泛應(yīng)用,是目前已知的最有效的版圖運算方法。其基本思想為(I)掃描線停頓點為線段的左、右端點及線段間的交點。(2)垂直掃描線從左向右運動,在每一個停頓點處停留。起始于當(dāng)前掃描線的所有線段進入當(dāng)前工作表,終止于當(dāng)前掃描線的所有線段從工作表中刪去,跨越當(dāng)前掃描線的線段仍然保留。(3)在當(dāng)前掃描線狀態(tài)下,工作對象都在當(dāng)前工作表中。DRC不同于線段求交和圖形的邏輯、拓撲運算,其任務(wù)是幾何圖形的尺寸檢查。掃描線方法對于圖形檢查具有獨特的優(yōu)勢,當(dāng)圖形中沒有斜邊時,掃描線方法可以大大簡化,效率也有較大提升。在本發(fā)明中對于有斜邊和無斜邊的圖形,采用了不同的掃描線方法,大幅提升了矩形包含規(guī)則的驗證效率。2.集成電路版圖DRC驗證中的矩形包含規(guī)則簡介在集成電路版圖的DRC驗證中,矩形包含規(guī)則是指對于版圖中某個圖層的圖形,驗證其是否可以包含給定長寬的矩形,其中矩形包含的方式限定為水平包含、斜45度包含或者斜135度包含三種,也可以指定矩形只能以水平方式包含。針對甚大規(guī)模集成電路版圖驗證中的矩形包含規(guī)則驗證,目前還沒有一個快速有效的方法,當(dāng)集成電路版圖規(guī)模很大時,面臨驗證時間過長,甚至導(dǎo)致版圖驗證最終不可解的問題。
發(fā)明內(nèi)容
本發(fā)明針對集成電路版圖驗證中矩形包含規(guī)則驗證所面臨的問題,提出了 “邊對區(qū)間”的概念,首先將圖形切分為多個邊對區(qū)間,利用邊對區(qū)間限定矩形包含的位置范圍;然后利用邊對區(qū)間的位置關(guān)系,不斷地更新和調(diào)整已有邊對區(qū)間矩形包含的位置范圍,如果找到一個邊對區(qū)間滿足矩形包含規(guī)則,則該圖形滿足矩形包含規(guī)則。在集成電路版圖驗證中利用本方法,大幅地改善了矩形包含規(guī)則驗證的效率,擴大了可驗證版圖的規(guī)模。主要技術(shù)方案包括以下兩個方面第一,邊對區(qū)間的概念。首先,邊對的概念是指掃描線上順序的兩條邊,在這兩條邊中間的區(qū)域為圖形內(nèi)部,依據(jù)邊的類型,邊對分為水平和非水平兩種。邊對區(qū)間是指一個二維區(qū)域,在X軸方向上的部分為兩條邊在X軸上的公共部分,在I軸方向指位于兩條邊所夾的部分。根據(jù)邊對區(qū)間的定義,一個圖形所包含的矩形必定在這個圖形的一個或多個邊對區(qū)間內(nèi)。所以驗證矩形包含規(guī)則的基本思想是依次找出圖形的所有邊對區(qū)間,每一個邊對區(qū)間對應(yīng)三種矩形包含的位置范圍,分別為水平包含范圍、斜45度包含范圍和斜135度包含范圍;利用邊對區(qū)間的位置關(guān)系,新生成的邊對區(qū)間對已有邊對區(qū)間矩形包含的位置范 圍進行更新和調(diào)整,直到找到一個滿足矩形包含規(guī)則的邊對區(qū)間,或者圖形結(jié)束。第二,對圖形進行分類,不同類圖形采用不同的方法驗證矩形包含規(guī)則。將圖形分為以下三類矩形圖形,利用判斷條件直接驗證矩形包含規(guī)則;除矩形之外的無斜邊圖形,采用水平邊對區(qū)間驗證圖形的矩形包含規(guī)則;有斜邊圖形,則采用非水平邊對區(qū)間驗證。
圖I無斜邊圖形及水平邊對區(qū)間示意圖;圖2有斜邊圖形及非水平邊對區(qū)間示意圖;圖3矩形的位置點更新示意4方法總流程圖;圖5掃描線方法流程圖。
具體實施例方式本方法針對不同的圖形分類處理,對應(yīng)于無斜邊圖形和有斜邊圖形,邊對區(qū)間分為以下兩種(I)水平邊對區(qū)間,指兩條邊都為水平邊的邊對。一個邊對區(qū)間對應(yīng)矩形包含的三種位置范圍,如圖I中的(b)、(c)和(d)所示大括號對應(yīng)的范圍,即為邊對(bl,b2)的三種矩形包含的位置范圍。位置范圍的變化沿y軸方向,如果其下界yl小于等于上界y2,則位置范圍有效,否則為無效。(2)非水平邊對區(qū)間,指邊對的兩條邊中至少有一條是非水平邊。如圖2中(b)、(c)和(d)所示,圖中大括號指定的范圍為非水平邊對區(qū)間(al,a2)對應(yīng)的三種矩形包含的位置范圍,位置范圍的變化包括沿y軸方向和沿斜邊方向的變化。如果位置范圍的變化沿著y軸方向,則當(dāng)其下界yl小于等于上界12時,位置范圍有效;如果位置范圍的變化沿斜邊方向,當(dāng)矩形在斜邊上的頂點X坐標(biāo)位于邊對兩條邊在X軸方向的公共范圍內(nèi)時,位置范圍有效。邊對區(qū)間的有效性判斷如下邊對區(qū)間的三種矩形包含的位置范圍只要有一個有效,則邊對區(qū)間有效,只有當(dāng)三種位置范圍都無效時,邊對區(qū)間才無效。邊對區(qū)間的范圍與所要包含矩形的左下角頂點位置相對應(yīng),在斜45度或者斜135度包含的情況下,當(dāng)掃描線從邊對區(qū)間的開始位置在X軸方向經(jīng)過的距離大于等于sqrt (2) *L時,如果位置范圍有效,則邊對區(qū)間可以包含一個傾斜的矩形,否則,邊對區(qū)間不能包含一個傾斜的矩形;在矩形水平包含的情況下,當(dāng)掃描線從邊對區(qū)間的開始位置在X軸方向經(jīng)過的距離大于等于L時,如果位置范圍有效,則邊對區(qū)間可以包含一個水平的矩形,否則,邊對區(qū)間不能包含一個水平的矩形。當(dāng)指定矩形只能以水平方式包含時,邊對區(qū)間只驗證是否可以包含一個水平的矩形。邊對區(qū)間的矩形包含范圍被新生成的邊對區(qū)間不斷更新和調(diào)整,具體地更新和調(diào)整方式如下用新生成邊對的兩條邊來限定和更新在y軸方向有重疊部分的已生成的邊對區(qū)間,更新矩形包含范圍的上邊界或下邊界,從而推算出矩形包含的位置點坐標(biāo),再以位置點坐標(biāo)更新矩形包含位置范圍的上下界。以水平邊對區(qū)間為例,當(dāng)矩形是水平包含方式時,假定新生成邊對中一條邊的一個頂點為(Xn,Yn),已有邊對區(qū)間矩形包含的位置范圍為[yl, y2],如果對矩形包含范圍的上界更新,則更新后的位置范圍為[yl,MIN(y2, Yn-W)];如果對矩形包含范圍的下界進行更新,則更新后的位置范圍為[MAX(yl,Yn),y2]。當(dāng)矩形
包含方式是斜45度或者斜135度時,如圖3中(a)和(b)所示,將包含矩形的位置沿x軸方向分為三段,利用簡單的幾何知識,不難得到一個與之對應(yīng)的分段函數(shù)來計算包含矩形的位置點坐標(biāo)。在更新矩形包含范圍時,首先判斷新生成邊對中邊的頂點位于哪一段,然后再推算出包含矩形的位置點坐標(biāo),最后對矩形位置范圍的上界或下界進行更新。本方案的總流程圖如圖4所示,對于不同的圖形,采用以下的方法分別處理(I)矩形的驗證方法。當(dāng)要驗證的圖形為矩形時,假定其長為nLength,寬為nffidth (要求nLength > = nffidth),所要包含的矩形長度為L,寬度為W (要求L > = W),那么有如下兩個判斷條件條件一(L< = nLength && W < = nffidth) | | (L < = nffidth && W < = nLength)條件二sqrt(2) * nffidth-ff > = L條件一用來判斷是否可以水平包含長度為L、寬度為W的矩形,若為真,說明可以水平包含,否則,不能包含;條件二用來判斷是否能斜45度或斜135度包含長度為L、寬度為W的矩形,若為真,說明可以包含,否則,不能包含。(2)無斜邊圖形的驗證方法。采用“水平邊對區(qū)間判斷方法”來判斷,參考圖5所示,“水平邊對區(qū)間判斷方法”的實現(xiàn)主要包括以下幾個步驟a)讀入新進邊。讀入當(dāng)前掃描線上的所有新進邊,并加入新進邊鏈表;b)歸并掃描線,生成新的邊對區(qū)間,同時判斷是否有滿足矩形包含規(guī)則的邊對區(qū)間。對于一個完整的圖形,在同一條掃描線上一定是一條正向邊,一條負向邊成對地交替出現(xiàn),在歸并的過程中,如果讀到的邊對中至少有一條是新進邊,則生成一個新的邊對,同時用新生成的邊對檢查和更新邊對區(qū)間鏈表中的在y方向上有重疊部分的邊對區(qū)間,如果有無效的邊對區(qū)間,則從鏈表中直接刪除;如果有滿足矩形包含規(guī)則的邊對區(qū)間,則程序結(jié)束,返回圖形是結(jié)果的標(biāo)記,否則將新生成的邊對區(qū)間加入邊對區(qū)間鏈表。c)計算下一條掃描線的位置,掃描線停的位置為邊的左端點和右端點處。掃描線沿X軸方向從左到右依次對輸入圖形所有邊的左右端點進行掃描,如果掃描結(jié)束,則將掃描線位置置于無窮遠處;d)判斷掃描線是否結(jié)束,如果掃描線位置位于無窮遠處,則掃描線結(jié)束,否則進入a)步驟繼續(xù)執(zhí)行。(3)有斜邊圖形的驗證方法,采用“非水平邊對區(qū)間判斷方法”來判斷?!胺撬竭厡^(qū)間判斷方法”實現(xiàn)的主要步驟與“水平邊對區(qū)間判斷方法”一致,參考圖5所示,兩者的主要的差別在于采用的邊對區(qū)間類型不同;邊對區(qū)間的生成、更新和調(diào)整方式不同;邊對區(qū)間的有效性判斷不同。在這一步的驗證方法中,由于要處理的邊集合屬于同一個圖形,不存在斜邊相交的情況,所以在掃描線方法中, 不需要調(diào)整斜邊位置。
權(quán)利要求
1.一種集成電路版圖驗證中矩形包含規(guī)則的驗證方法,其技術(shù)特征包含以下兩點:①對不同類型的圖形分別采用“無斜邊圖形的驗證方法”和“有斜邊圖形的驗證方法”,兩種驗證方法的基本思想都是首先將圖形切分為多個邊對區(qū)間,然后通過不斷調(diào)整邊對區(qū)間包含矩形的位置范圍,驗證矩形包含規(guī)則。②邊對區(qū)間的生成和調(diào)整都借助于“掃描線方法”。
2.根據(jù)權(quán)利要求I所述的“無斜邊圖形的驗證方法”,其特征在于借助于掃描線方法,將無斜邊圖形切分為多個水平邊對區(qū)間,水平邊對區(qū)間矩形包含的位置范圍只在y軸方向變化,在掃描過程中,不斷調(diào)整矩形包含的位置范圍,驗證矩形包含規(guī)則。
3.根據(jù)權(quán)利要求I所述的“有斜邊圖形的驗證方法”,其特征在于借助于掃描線方法,將有斜邊圖形切分為多個非水平邊對區(qū)間,非水平邊對區(qū)間矩形包含的位置范圍沿I軸方向和沿斜邊方向變化,通過不斷調(diào)整矩形包含的位置范圍,驗證矩形包含規(guī)則。
4.根據(jù)權(quán)利要求I所述的“掃描線方法”,其特征在于①在新進邊鏈表和經(jīng)過邊鏈表歸并的過程中產(chǎn)生新的邊對區(qū)間,并對已有邊對區(qū)間的矩形包含范圍進行更新和調(diào)整。②在掃描線執(zhí)行的過程中,如果已經(jīng)找到一個邊對區(qū)間滿足矩形包含規(guī)則,說明該圖形滿足矩形包含規(guī)則,掃描線終止。
全文摘要
本發(fā)明公布了一種集成電路版圖驗證中矩形包含規(guī)則的驗證方法(以下簡稱驗證方法),所屬的技術(shù)領(lǐng)域是集成電路計算機輔助設(shè)計領(lǐng)域,尤其是涉及集成電路版圖的設(shè)計規(guī)則檢查(DRC)和版圖與原理圖的一致性檢查(LVS)領(lǐng)域。本發(fā)明提出了“邊對區(qū)間”的概念,首先將圖形分為多個邊對區(qū)間,利用邊對區(qū)間限定圖形包含矩形的位置范圍;然后利用邊對區(qū)間的位置關(guān)系,不斷地更新和調(diào)整已有邊對區(qū)間矩形包含的位置范圍,如果找到一個邊對區(qū)間滿足矩形包含規(guī)則,則圖形滿足矩形包含規(guī)則。在集成電路版圖驗證中利用本方法,可以大幅地改善矩形包含規(guī)則驗證的效率,擴大可驗證版圖的規(guī)模。
文檔編號G06F17/50GK102890730SQ201110202790
公開日2013年1月23日 申請日期2011年7月20日 優(yōu)先權(quán)日2011年7月20日
發(fā)明者丁豐慶, 于士濤, 宋德強 申請人:北京華大九天軟件有限公司