對集成電路版圖數(shù)據(jù)進(jìn)行區(qū)域索引的方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及一種對集成電路版圖數(shù)據(jù)進(jìn)行處理的方法。
【背景技術(shù)】
[0002]集成電路版圖(integrated circuit layout)是以二維圖形的形式所描述的集成電路。集成電路通常由多個物理層次所組成,這些圖形分別表示每一層中的金屬、介質(zhì)、半導(dǎo)體材料的結(jié)構(gòu)以及連線。這些圖形的形狀、尺寸、所在層、位置與互連關(guān)系就決定了集成電路的電路結(jié)構(gòu)。集成電路版圖數(shù)據(jù)通常采用GDSII格式,該格式存儲著版圖的各種信息,包括結(jié)構(gòu)信息、坐標(biāo)信息、層次信息等。
[0003]對集成電路版圖進(jìn)行區(qū)域索引是指在版圖中找到相同的、或等比例縮放的圖形或圖形組合的所有出現(xiàn)位置,并得到這些圖形或圖形組合在所有出現(xiàn)位置的對外連線。請參閱圖la,相同的圖形是指相同形狀、相同大小的圖形,等比例縮放的圖形是指相同形狀、等比例縮放大小的圖形。請參閱圖lb,相同的圖形組合是指相同形狀、相同大小的多個圖形在相同位置關(guān)系下的組合,等比例縮放的圖形組合是指相同形狀、等比例縮放大小的多個圖形在等比例縮放位置關(guān)系下的組合。
[0004]如今,幾十GB、乃至上百GB大小的版圖數(shù)據(jù)已經(jīng)非常常見。如果直接對版圖數(shù)據(jù)進(jìn)行任何操作,都需要耗費(fèi)大量的硬件資源。而對版圖數(shù)據(jù)進(jìn)行區(qū)域索引后,就可以僅對小部分的版圖數(shù)據(jù)進(jìn)行操作,從而大大減輕了硬件要求。例如,已知某個圖形或圖形組合可能具有某種缺陷,對其進(jìn)行區(qū)域索引后,就能有針對性地對這些圖形或圖形組合的所有出現(xiàn)位置進(jìn)行檢查。又如,已知某個圖形具有錯誤,對其進(jìn)行區(qū)域索引后,就能有針對性地對這些圖形或圖形組合的所有出現(xiàn)位置進(jìn)行修改。
[0005]現(xiàn)有的對集成電路版圖數(shù)據(jù)進(jìn)行區(qū)域索引的方法是:
[0006]第I步,根據(jù)原始圖形或圖形組合,在版圖數(shù)據(jù)中尋找相同的、或等比例縮放的圖形或圖形組合的所有出現(xiàn)位置。尋找圖形可以通過計(jì)算機(jī)實(shí)現(xiàn),而尋找圖形組合則只能由人工目視查找。如果只是根據(jù)單個圖形(原始圖形)尋找相同的、或等比例縮放的圖形,那么單個圖形只是結(jié)構(gòu),沒有連線,因此完成第I步即完成了區(qū)域索引。
[0007]第2步,在第I步所找到的圖形組合的所有出現(xiàn)位置,尋找各種對外連線。這只能以人工目視查找。
[0008]由于依賴于人工操作,現(xiàn)有的區(qū)域索引方法不僅非常耗時,而且有可能因?yàn)閳D形數(shù)目過多而造成人為失誤。
【發(fā)明內(nèi)容】
[0009]本申請所要解決的技術(shù)問題是提供一種對集成電路版圖數(shù)據(jù)快速地進(jìn)行區(qū)域索引的方法,以便于進(jìn)行后續(xù)的版圖數(shù)據(jù)檢查和修改等操作。
[0010]為解決上述技術(shù)問題,本申請對集成電路版圖數(shù)據(jù)進(jìn)行區(qū)域索引的方法為:
[0011]第I步,在版圖數(shù)據(jù)中將包圍著原始圖形或圖形組合的一個中空閉合圖形指定為索引圖形,記錄索引圖形的各頂點(diǎn)坐標(biāo)值;
[0012]第2步,根據(jù)索引圖形的各頂點(diǎn)坐標(biāo)值,在版圖數(shù)據(jù)中尋找出所有與索引圖形相同的、或等比例縮放的圖形,稱為索引結(jié)果圖形;
[0013]第3步,將每一個索引結(jié)果圖形都轉(zhuǎn)換為多邊形圖形,稱為索引多邊形圖形;
[0014]第4步,計(jì)算各個索引多邊形圖形的最小外接矩形和最大內(nèi)接矩形的各頂點(diǎn)坐標(biāo)值;
[0015]第5步,將版圖數(shù)據(jù)逐層讀取并插入到一顆R*樹中,稱為第一 R*樹;
[0016]第6步,如果版圖數(shù)據(jù)上的某一圖形,其最小外接矩形被某一個索引多邊形圖形的最大內(nèi)接矩形所包圍,則將該圖形稱為索引多邊形圖形的內(nèi)部圖形;
[0017]在版圖數(shù)據(jù)中尋找所有的索引多邊形圖形的內(nèi)部圖形,并將其形成第二 R*樹;在第一 R*樹中刪除掉所有的索引多邊形圖形的內(nèi)部圖形,作為第三R*樹;
[0018]第7步,如果版圖數(shù)據(jù)上的某一圖形,其最小外接矩形被所有的根據(jù)索引圖形轉(zhuǎn)換的多邊形圖形的最小外接矩形都完全沒有覆蓋,則將該圖形稱為索引多邊形圖形的外部圖形;
[0019]在版圖數(shù)據(jù)中尋找所有的索引多邊形圖形的外部圖形,并將其形成第四R*樹;在第三R*樹中刪除所有的索引多邊形圖形的外部圖形,作為第五R*樹,這是所有的索引多邊形圖形的邊界圖形。
[0020]本申請可以快速、準(zhǔn)確地在版圖數(shù)據(jù)中進(jìn)行區(qū)域索引,可用于區(qū)分版圖數(shù)據(jù)的不同區(qū)域,對特定區(qū)域進(jìn)行數(shù)據(jù)修改和檢查等。
【附圖說明】
[0021]圖la、圖1b是與相同的、等比例縮放的圖形或圖形組合的示意圖;
[0022]圖2是本申請對集成電路版圖數(shù)據(jù)進(jìn)行區(qū)域索引的方法的流程圖;
[0023]圖3是一個版圖數(shù)據(jù)的芯片、子芯片、圖形劃分示意圖;
[0024]圖4a是圖3所示的版圖數(shù)據(jù)的各個圖形位置關(guān)系示意圖;
[0025]圖4b是圖4a所示圖形屬于某一個索引多邊形圖形的內(nèi)部圖形、外部圖形的示意圖;
[0026]圖5a?圖5e分別是圖3所示的版圖數(shù)據(jù)形成的第一 R*樹?第五R*樹的示意圖;
[0027]圖6是索引多邊形圖形的邊界圖形的不同情況示意圖;
[0028]圖7是第一 R*樹?第五R*樹的關(guān)系不意圖。
【具體實(shí)施方式】
[0029]請參閱圖2,本申請對集成電路版圖數(shù)據(jù)進(jìn)行區(qū)域索引的方法包括如下步驟:
[0030]第I步,在版圖數(shù)據(jù)中找到原始圖形或圖形組合的至少一處出現(xiàn)位置,將包圍著原始圖形或圖形組合的一個中空閉合圖形指定為索引圖形。索引圖形用來標(biāo)識原始圖形或圖形組合的出現(xiàn)與否,兩者之間為一一對應(yīng)關(guān)系。然后記錄索引圖形的各頂點(diǎn)坐標(biāo)值,也就是記錄索引圖形的形狀與大小。
[0031]版圖數(shù)據(jù)用來描述多個物理層次,所述“包圍”是指從物理版圖的正投影方向觀察。因此索引圖形與原始圖形或圖形組合可以在同一個物理層次或分屬于不同的物理層次。
[0032]版圖數(shù)據(jù)中的圖形用來表示金屬、介質(zhì)、半導(dǎo)體材料的結(jié)構(gòu)或連線。所述“包圍”允許原始圖形或圖形組合中的連線穿越到索引圖形之外,但原始圖形或圖形組合中的結(jié)構(gòu)必須在索引圖形之內(nèi)。
[0033]優(yōu)選地,在指定原始圖形或圖形組合的索引圖形后,再次檢查索引圖形是否為一個中空閉合圖形。如果是,則繼續(xù)下一步。如果否,則重新指定索引圖形。
[0034]第2步,根據(jù)索引圖形的各頂點(diǎn)坐標(biāo)值,在版圖數(shù)據(jù)中尋找與索引圖形相同的、或等比例縮放的圖形(稱為索引結(jié)果圖形)的所有出現(xiàn)位置,這可以由計(jì)算機(jī)自動尋找。
[0035]優(yōu)選地,這一步還獲取各個索引結(jié)果圖形的內(nèi)、外邊界的各頂點(diǎn)坐標(biāo)值。這可以通過對GDSII格式的版圖數(shù)據(jù)所記錄的信息轉(zhuǎn)換后得到,所獲取的坐標(biāo)值可用于第3步轉(zhuǎn)換為多邊形圖形、第4步獲得最小外接矩形和最大內(nèi)接矩形。
[0036]第3步,將第2步找到的所有出現(xiàn)位置的索引結(jié)果圖形都轉(zhuǎn)換為多邊形圖形(稱為索引多邊形圖形)。
[0037]如果索引圖形就是多邊形圖形,則無需轉(zhuǎn)換。如果索引圖形不是多邊形圖形,例如為圓形、圓角矩形等,則需要轉(zhuǎn)換為多邊形圖形。這種轉(zhuǎn)換必然會導(dǎo)致索引多邊形圖形與索引圖形的形狀、大小發(fā)生變化,但是對本申請沒有影響。
[0038]第4步,計(jì)算各個索引多邊形圖形的最小外接矩形和最大內(nèi)接矩形的各頂點(diǎn)坐標(biāo)。
[0039]最小外接矩形是指以索引多邊形圖形的外邊界的各頂點(diǎn)坐標(biāo)中的最大橫坐標(biāo)、最小橫坐標(biāo)、最大縱坐標(biāo)、最小縱坐標(biāo)定所確定的矩形。
[0040]最大內(nèi)接矩形是指以索引多邊形圖形的內(nèi)邊界所覆蓋的范圍內(nèi)所能得到的面積最大的矩形。如果某個索引多邊形圖形具有多個最大內(nèi)接矩形,任選其一即可。
[0041]第5步,將版圖數(shù)據(jù)逐層讀取并插入到一顆R*樹中,稱為第一 R*樹。
[0042]版圖數(shù)據(jù)用來描述集成電路(稱為芯片),芯片由子芯片和/或圖形所組成,子芯片又由子芯片和/或圖形組成。最后,歸根結(jié)底芯片是由多個圖形所組成的。例如,請參閱圖3,某個版圖數(shù)據(jù)中記錄著:整個芯片由子芯片I和圖形E所組成。而子芯片3又由子芯片a、圖形A、圖形B和圖形C所組成。而子芯片a又由圖形D和圖形F所組成。該芯片歸根結(jié)底是由圖形A?圖形F所組成的,圖4a顯示了這些圖形之間的相對位置關(guān)系。值得注意的是,這些圖形可能在同一個物理層次,也可能屬于不同的物理層次。
[0043]R*樹(R*tree)是一種樹形的數(shù)據(jù)結(jié)構(gòu),用來索引空間對象(形狀、線、點(diǎn))。R*樹由根節(jié)點(diǎn)、中間節(jié)點(diǎn)和葉節(jié)點(diǎn)組成。將版圖數(shù)據(jù)插入到R*樹的過程中,R*樹會在芯片與子芯片和/或圖形之間、子芯片與子芯片和/或圖形之間新增一層單元,單元的數(shù)量與歸類方法與R*樹初始設(shè)置的節(jié)點(diǎn)數(shù)量有關(guān)。一旦R*樹的參數(shù)確定,則這種歸類方法也就唯一確定了。根據(jù)圖3所示的版圖數(shù)據(jù)所形成的第一 R*樹如圖5a所示。芯片作為根節(jié)點(diǎn),單元和子芯片作為中間節(jié)點(diǎn),圖形作為葉節(jié)點(diǎn)。
[0044]第6步,如果版圖數(shù)據(jù)上的某一圖形,其最小外接矩形被某一個索引多邊形圖形的最大內(nèi)接矩形所包圍,則將該圖形歸類為索引多邊形圖形的內(nèi)部圖形。
[0045]請參閱圖4b,圖形A、B的最小外接矩形被某一索引多邊形圖形的最大內(nèi)接矩形所包圍,則圖形A、B屬于索引多邊形圖形的內(nèi)部圖形。圖形E的最小外接矩形被該索引多邊形圖形的最大內(nèi)接矩形部分覆蓋,圖形C、D、F的最小外接矩形被該索引多邊形圖形的最大內(nèi)接矩形完全沒