一種平板顯示版圖設(shè)計規(guī)則檢查的去除重復(fù)報錯方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明是一種使用于集成電路版圖驗證工具中的,針對平板顯示電路版圖的去除重復(fù)報錯方法,所屬的技術(shù)領(lǐng)域是集成電路計算機輔助設(shè)計領(lǐng)域,尤其是涉及集成電路版圖的設(shè)計規(guī)則檢查(DRC)領(lǐng)域。
【背景技術(shù)】
[0002]近年來,平板顯示器(FPD)的設(shè)計和制造逐步借鑒和引進了集成電路(IC)設(shè)計和制造過程中所采用的電子設(shè)計自動化(EDA)技術(shù),這其中包括了版圖設(shè)計規(guī)則檢查(DRC)。借助軟件實現(xiàn)的版圖的設(shè)計規(guī)則檢查是集成電路和平板顯示器設(shè)計制造過程中十分重要的環(huán)節(jié),它對于消除錯誤、降低設(shè)計成本和減少設(shè)計失敗的風(fēng)險具有重要作用。
[0003]為了加快版圖驗證的速度,我們通常采用層次化的驗證方法,即根據(jù)版圖本身所具有的層次結(jié)構(gòu),對多次重復(fù)出現(xiàn)的單元只驗證一次,而不需要將所有重復(fù)的單元實例都打散。這可以減少了冗余的操作和運算,從而有效提高計算效率。使用層次算法的另一個好處是可以減少重復(fù)的報錯,對于在每個單元實例都出現(xiàn)的報錯,我們只需在該單元內(nèi)部報錯一次即可。對于FPD的版圖驗證而言,這種層次的算法更加不可或缺,因為FPD的版圖通常包含了一個龐大的象素陣列(Pixel Array),其規(guī)模與顯示器的大小和分辨率成正比,通常可達500行500列以上。象素陣列是由象素單元(Pixel Cell)以矩陣的形式排列而成,在層次算法中,許多計算只需在象素單元內(nèi)部進行,這使得計算量減少了幾個數(shù)量級。同時,在每個象素單元的實例都出現(xiàn)的報錯,我們只需在象素單元內(nèi)部報錯一次即可,報錯數(shù)目大大減少,設(shè)計人員更容易定位出錯的位置。
[0004]然而,當象素陣列的各個象素單元實例之間存在重疊關(guān)系,或者象素單元實例之間的間隔小于一定值時,一些版圖數(shù)據(jù)有可能提升到上層單元進行運算,進而導(dǎo)致報錯出現(xiàn)在上層單元,引起大量的重復(fù)報錯。例如,假設(shè)有一個由象素單元A組成的4乘8的象素陣列,版圖預(yù)處理階段將重新組織單元層次:兩個A單元組成新單元1_1,兩個1_1單元組成新單元1_2,兩個1_2單元組成新單元1_3.......預(yù)處理后的版圖層次結(jié)構(gòu)如附圖1
所示。假設(shè)左右兩兩A單元之間均有報錯,那么,最終的報錯模式如附圖2所示,報錯數(shù)目為7。而實際上,這7個報錯都是相同的,屬于重復(fù)報錯。在實際版圖中,這種重復(fù)報錯常常數(shù)以萬計,給設(shè)計人員定位和排查錯誤帶來了極大的不便。
[0005]本發(fā)明的目的是為了去除FPD版圖設(shè)計規(guī)則檢查中的重復(fù)報錯。
【發(fā)明內(nèi)容】
[0006]本發(fā)明針對平板顯示器電路版圖的設(shè)計規(guī)則檢查中所遇到的重復(fù)報錯過多的問題,提供了一種減少重復(fù)報錯的方法。該方法的核心是把位于上層單元的報錯往底層的象素單元投影,最終只在象素單元內(nèi)部報錯。
[0007]本發(fā)明的主要技術(shù)方案包括以下六個步驟:
第一,切分象素單元陣列,重命名象素單元以區(qū)分內(nèi)層單元和外層單元。
[0008]重復(fù)報錯主要是象素陣列中的象素單元與象素單元之間的重疊關(guān)系或鄰近關(guān)系引發(fā)的。陣列的內(nèi)層單元與上下左右的單元都有重疊或鄰近關(guān)系,而內(nèi)層單元在某些方向不與其它單元發(fā)生重疊或鄰近,從打平的角度來看,內(nèi)層單元與外層單元報錯數(shù)目是不一樣的。因此,把象素單元陣列進行切分,具有不同報錯數(shù)目和報錯位置的單元切分到不同的部分,并為每個部分的單元賦予新的名字。假設(shè)陣列為m行η列,將其切分為9個部分:1個中間的m-2行n-2列的陣列(A)、左右各I個m_2行I列的陣列(B、C)、上下各I個I行m_2列的陣列(D、E)以及4個角上的單元(F、G、H、I)。并且,為這9個部分的單元賦予新的名字,以把它們區(qū)分開來。
[0009]第二,創(chuàng)建一個新的單元I,把切分得到的陣列A-E和實例F-1插入其中。
[0010]插入單元I的目的是為了隔離象素單元和其它單元,為后續(xù)的投影操作創(chuàng)造一個單純的環(huán)境,避免不屬于象素單元的報錯也被投影到象素單元中。
[0011]第三,重組陣列A-E的層次結(jié)構(gòu),把陣列結(jié)構(gòu)轉(zhuǎn)化為樹形層次結(jié)構(gòu)。
[0012]對A-E中的每一個陣列,首先橫向地把陣列中左右相鄰的兩個單元組合為一個新單元,得到一個由新單元組成的陣列。然后縱向地把陣列中上下相鄰的兩個單元組合為一個新單元,得到一個由新單元組成的陣列。如此循環(huán),直到陣列函數(shù)和列數(shù)都小于或等于2為止。插入樹形結(jié)構(gòu)是層次版圖驗證的常用做法,目的是為了減少數(shù)據(jù)提升,提高驗證速度。
[0013]第四,自底向上標記所有投影單元。
[0014]投影單元可以如下遞歸定義:(I)如果一個單元僅包含象素單元,那么該單元為投影單元;(2)如果一個單元沒有調(diào)用除象素單元和投影單元之外的其它單元,那么該單元為投影單元。投影單元的特征為:如果投影單元內(nèi)有報錯,則需要把報錯依次投影下去,直到投影到象素單元為止。
[0015]第五,按一般的層次處理方法進行設(shè)計規(guī)則檢查,計算出每個單元(包括插入單元)的報錯。
[0016]第六,自頂向下把投影單元的報錯投影到象素單元中。
[0017]對于每一個有報錯的投影單元I,做如下三個步驟:
(1)計算I單元的子單元區(qū)域,然后計算報錯在子單元區(qū)域內(nèi)的部分InCI和報錯在子單元區(qū)域外的部分OutCI ;
(2)對于InCI,直接投影到每個子單元中,需要根據(jù)子單元的位置和旋轉(zhuǎn)方向做坐標變換;
(3)對于OutCI,對每一個子單元,先把子單元的區(qū)域向外擴張d個單位(d為象素單元間的最大間隔),然后把OutCI投影到每一個擴張的子單元中去,需要根據(jù)子單元的位置和旋轉(zhuǎn)方向做坐標變換。
[0018]對于每一個有報錯的象素單元,因為象素單元可能有來自于不同投影單元的報錯,報錯之間可能有重疊區(qū)域,所以需要通過自或運算把重合的區(qū)域合并起來。
[0019]經(jīng)歷了象素單元的重組、自底向上的標記和自頂向下的投影之后,所有投影單元的報錯都將投影到象素單元中去,所有在象素單元內(nèi)部和象素單元間的報錯都將只報錯一次,極大地減少了重復(fù)報錯的規(guī)模。
[0020]
【附圖說明】
[0021]圖1插入層次示例;
圖2重復(fù)報錯示例;
圖3版圖切割不意;
圖4插入層次過程示意;
圖5插入層次后單元I的結(jié)構(gòu);
圖6投影示意圖。
[0022]
【具體實施方式】
[0023]假設(shè)有一個由象素單元A組成的1000行1000列的陣列。
[0024]1.把陣列切分為9個部分,重命名象素單元為A1-A9,創(chuàng)建單元I并把切分所得的子陣列插入單元I,如附圖3所示。
[0025]2.遞歸地插入層次,把單元A2、A4、A5、A6、A8所對應(yīng)的陣列結(jié)構(gòu)重組為樹形結(jié)構(gòu)。以998行998列的A5陣列為例:
步驟一,橫向地把左右相鄰的兩個A5實例插入新單元1_1,得到998行449列的1_1單元陣列,如附圖4所示。
[0026]步驟二,縱向地把上下相鄰的兩個1_1實例插入新單元1_2,得到449行449列的1_2單元陣列,如附圖4所示。
[0027]重復(fù)步驟一和步驟二,直到陣列的行數(shù)和列數(shù)都小于或等于2為止。在此期間,若碰到行數(shù)或列數(shù)為奇數(shù)的情況,則每列或每行的最后I個實例在當前步驟不插入新單元,而在下一次行數(shù)或列數(shù)為偶數(shù)的情況下再和相鄰的實例一起插入新單元。
[0028]對于A2、A4、A6、A8的陣列,插入層次的方法是類似的。層次插入完成后,本例子一共產(chǎn)生了 109個新單元,其中A5陣列插入了 53個新單元,A2、A4、A6、A8陣列各插入了 14個新單元。頂層單元I調(diào)用了 14個單元,如附圖5所示。
[0029]3.自底向上標記投影單元。例如,1_1包含了兩個象素單元A5,因此1_1被標記為投影單元;1_2包含了兩個投影單元1_1,因此1_2被標記為投影單元。單元I也只包含象素單元和投影單元,根據(jù)規(guī)則,它也被標記為投影單元。
[0030]4.按一般的層次處理方法進行設(shè)計規(guī)則檢查,計算出每個單元(包括插入單元)的報錯。
[0031]5.自頂向下進行報錯投影。
[0032]最頂層的被標記為投影單元的單元是I,I中的所有報錯都將依據(jù)與子單元的幾何位置關(guān)系向下投影。假設(shè)I中的其中一個報錯如附圖6中的梯形所示,通過與子單元的邊框做AND運算,得到梯形中的陰影部分,它直接投影到子單元中。梯形中不含陰影的部分,將在子單元邊框外擴d (d為象素單元之間的間距)之后再往子單元投影。由附圖6可見,陰影部分I與單元1_95的邊框重疊,因此它將投影至單元1_95 ;陰影部分2與單元1_52的邊框重疊,因此它將投影至單元1_52。而不含陰影的部分與外擴d之后的1_95邊框和1_52邊框均重疊,因此它既被投影至1_52,也被投影至1_95。
[0033]在I中的所有報錯都投影到它的子單元后,它的每個子單元也類似地往子單元的子單元投影,直到投影到象素單元為止。
【主權(quán)項】
1.一種使用于平板顯示(FPD)電路層次版圖驗證中的減少重復(fù)報錯方法,能去除平板顯示電路版圖設(shè)計規(guī)則檢查中的大量重復(fù)報錯;其技術(shù)特征在于:切割象素單元矩陣并重命名象素單元以區(qū)分內(nèi)層和外層單元、重組象素單元矩陣的層次結(jié)構(gòu)為樹形結(jié)構(gòu)、自底向上標記投影單元、將投影單元內(nèi)的報錯結(jié)果自頂向下投影直至象素單元;通過投影操作,把大量的位于上層單元的報錯結(jié)果投影至象素單元,達到了減少重復(fù)報錯的目的。
2.根據(jù)權(quán)利要求1所述的方法,在重組象素單元矩陣為樹形結(jié)構(gòu)(即插入層次)前,切割象素單元矩陣并重命名象素單元以區(qū)分內(nèi)層和外層單元;具體的切割方式是:給定一個m行η列的象素單元矩陣A,將其左下、左上、右上、右下四個角各切出一個象素單元;剩余部分左右各切出一個m-2行I列的矩陣,上下各切出一個I行n-2列的矩陣;最終還剩下一個m-2行n-2列的矩陣;如此,A被切分為9個部分,這9個部分分別重新命名單元名字。
3.根據(jù)權(quán)利要求1所述的方法,自底向上標記投影單元并將投影單元內(nèi)的報錯結(jié)果自頂向下投影直至象素單元;投影單元如下遞歸定義:(I)如果一個單元僅包含象素單元,那么該單元為投影單元;(2)如果一個單元沒有調(diào)用除象素單元和投影單元之外的其它單元,那么該單元為投影單元;投影操作的特征為:如果投影單元內(nèi)有報錯,則把報錯投影到它的子單元,如果它的子單元也是投影單元,則繼續(xù)往下投影,直到投影到象素單元為止。
【專利摘要】本發(fā)明公布了一種使用于平板顯示(FPD)電路版圖驗證工具中的減少重復(fù)報錯方法,所屬的技術(shù)領(lǐng)域是集成電路計算機輔助設(shè)計領(lǐng)域,尤其是涉及集成電路版圖的設(shè)計規(guī)則檢查(DRC)領(lǐng)域。本發(fā)明能夠大幅減少平板顯示電路版圖驗證中的重復(fù)錯誤,方便版圖設(shè)計人員快速定位和修正錯誤。本發(fā)明的關(guān)鍵步驟包括:切割象素單元矩陣并重命名象素單元以區(qū)分內(nèi)層和外層單元、重組象素單元矩陣的層次結(jié)構(gòu)為樹形結(jié)構(gòu)、自底向上標記投影單元、將投影單元內(nèi)的報錯結(jié)果自頂向下投影直至象素單元。通過投影操作,把大量的位于上層的報錯投影至象素單元,達到了減少重復(fù)報錯的目的。實驗結(jié)果表明,本發(fā)明能夠有效降低重復(fù)報錯數(shù)目2個數(shù)量級以上。
【IPC分類】G06F17-50
【公開號】CN104573149
【申請?zhí)枴緾N201310485474
【發(fā)明人】成杰, 王小冷, 馬海南, 劉艷霞, 路艷芳
【申請人】北京華大九天軟件有限公司
【公開日】2015年4月29日
【申請日】2013年10月17日