本發(fā)明涉及一種半導(dǎo)體集成電路制造工藝方法,特別是涉及一種版圖的LEF圖形處理方法。
背景技術(shù):
IP模塊是一種預(yù)先設(shè)計(jì)好的甚至已經(jīng)過驗(yàn)證的具有某種確定作用的集成電路、器件或部件??蛻粜酒瑪?shù)據(jù)即版圖數(shù)據(jù)中大多會(huì)調(diào)用生產(chǎn)廠商(Foundary)自主開發(fā)的IP模塊,客戶端使用的版圖數(shù)據(jù)中需要合成IP模塊的單元模塊中只有物理庫交換格式文件(Library exchange format,LEF),LEF主要定義了單元模塊的物理信息,如單元面積大小,幾何形狀,布線層等物理信息,單元模塊沒有內(nèi)部電路,需要合成IP模塊的單元模塊相當(dāng)于一個(gè)僅有連接信息而無內(nèi)部電路的IP黑盒。在流片之前需要將IP模塊合成(或者稱為并入)到客戶端所提供的版圖數(shù)據(jù)中,完整的數(shù)據(jù)合成需要由Foundary的工程師進(jìn)行操作。這里的客戶是指芯片的設(shè)計(jì)方,生產(chǎn)廠商接收客戶的委托后進(jìn)行芯片的具體生產(chǎn);版圖數(shù)據(jù)和IP模塊數(shù)據(jù)的格式都為GDS格式。
在版圖設(shè)計(jì)過程中,需要給客戶提供一些LEF信息,從而能使客戶根據(jù)LEF信息進(jìn)行IP模塊合成。這些LEF信息為布局布線工具提供了工藝信息和各個(gè)版圖單元的幾何特性,LEF信息一般包括:
1、器件單元(CELL)名、CELL邊界和原點(diǎn)坐標(biāo);
2、引腳(PIN)名、金屬層(Metal layer)和輸入端(Input)/輸出端(Output);
3、其他寄生參數(shù)等。
現(xiàn)在以一個(gè)實(shí)例來說明LEF信息的圖形結(jié)構(gòu),如圖1所示,是現(xiàn)有反相器的LEF圖形,可以看到圖1中,包括了輸入端101,輸出端102,電源端103,接地端104,圖1中輸入端也用I表示,輸出端也用O表示,電源端也用VSS表示,接地端也用GND表示。其中輸入端I具有矩形結(jié)構(gòu),電源端VSS、輸出端O和接地端GND都不是矩形結(jié)構(gòu)。
在對圖1所示的LEF圖形進(jìn)行表示時(shí),需要根據(jù)各塊圖形進(jìn)行按矩形的分割,如圖2所示,是現(xiàn)有方法對圖1中的輸出端102圖形的分割圖,現(xiàn)有的分割方法是根據(jù)LEF圖形的多邊形的頂點(diǎn)坐標(biāo)進(jìn)行分割,分割后由多個(gè)小的矩形區(qū)域塊組成多邊形結(jié)構(gòu)的輸出端102,如圖2中的標(biāo)記201所示的區(qū)域就表示了最小的矩形區(qū)域塊。采用分割的方法雖然能夠使得多邊形的LEF圖形用多個(gè)矩形圖形表示,但是現(xiàn)有方法分割方法會(huì)帶來圖形的數(shù)據(jù)增加的問題,隨著工藝的發(fā)展,現(xiàn)有方法會(huì)使版圖的LEF數(shù)據(jù)越來越大。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是版圖的LEF圖形處理方法,能減少LEF的數(shù)據(jù)并提高LEF的數(shù)據(jù)傳輸效率。
為解決上述技術(shù)問題,本發(fā)明提供的版圖的LEF圖形處理方法包括如下步驟:
步驟一、從版圖按照LEF圖形的頂點(diǎn)坐標(biāo)將所述LEF圖形分割成多個(gè)矩形區(qū)域塊。
步驟二、對各所述矩形區(qū)域塊進(jìn)行編號。
步驟三、對鄰近的所述矩形區(qū)域塊進(jìn)行合并得到面積更大的矩形區(qū)域塊,用面積更大的所述矩形區(qū)域塊的圖形替換合并前的各所述矩形區(qū)域塊的圖形,以減少所述LEF圖形的總的矩形區(qū)域塊的數(shù)目,從而減少所述LEF圖形的數(shù)據(jù)大小。
進(jìn)一步的改進(jìn)是,步驟三的合并是按照各所述矩形區(qū)域塊的編號進(jìn)行逐項(xiàng)合并。
進(jìn)一步的改進(jìn)是,所述逐項(xiàng)合并的步驟為:
步驟31、根據(jù)編號對各所述矩形區(qū)域塊和相鄰的所述矩形區(qū)域塊之間是否能進(jìn)行合并進(jìn)行檢查,如果具有能夠進(jìn)行合并的所述矩形區(qū)域,則挑選出具有能夠進(jìn)行合并的各所述矩形區(qū)域塊并進(jìn)行后續(xù)步驟32;如果挑選不出能夠進(jìn)行合并的所述矩形區(qū)域塊,則進(jìn)行步驟35。
步驟32、從合并后得到的面積最大的兩個(gè)相鄰的所述矩形區(qū)域塊開始,對挑選出的各所述矩形區(qū)域塊按照合并后的所述矩形區(qū)域塊面積依次減少的原則依次進(jìn)行合并,使合并后面積大的所述矩形區(qū)域塊優(yōu)先得到。
步驟33、對合并后的各所述矩形區(qū)域塊進(jìn)行重新編號。
步驟34、重復(fù)步驟31至33對重新編號后的各所述矩形區(qū)域塊進(jìn)行處理。
步驟35、所述逐項(xiàng)合并結(jié)束。
進(jìn)一步的改進(jìn)是,步驟31中從編號最小的所述矩形區(qū)域塊開始進(jìn)行檢查,每檢查完一個(gè)所述矩形區(qū)域塊是否具有可合并的相鄰的所述矩形區(qū)域塊之后,將對應(yīng)的所述矩形區(qū)域塊的編號值加1,直至遍歷所有編號對應(yīng)的所述矩形區(qū)域塊。
進(jìn)一步的改進(jìn)是,步驟31中從編號最大的所述矩形區(qū)域塊開始進(jìn)行檢查,每檢查完一個(gè)所述矩形區(qū)域塊是否具有可合并的相鄰的所述矩形區(qū)域塊之后,將對應(yīng)的所述矩形區(qū)域塊的編號值減1,直至遍歷所有編號對應(yīng)的所述矩形區(qū)域塊。
進(jìn)一步的改進(jìn)是,步驟一中采用EDA工具將所述LEF圖形分割成多個(gè)矩形區(qū)域塊。
進(jìn)一步的改進(jìn)是,對各所述矩形區(qū)域塊進(jìn)行編號的方法為:
將二維分布的各所述矩形區(qū)域塊分成多個(gè)行,從最低層的行開始,將每行的各所述矩形區(qū)域從左到右進(jìn)行編號值依次增加的編號,每一行最大的編號值加作為下一行的最小的編號值。
或者,將二維分布的各所述矩形區(qū)域塊分成多個(gè)行,從最低層的行開始,將每行的各所述矩形區(qū)域從右到左進(jìn)行編號值依次增加的編號,每一行最大的編號值加作為下一行的最小的編號值。
或者,將二維分布的各所述矩形區(qū)域塊分成多個(gè)行,從最頂層的行開始,將每行的各所述矩形區(qū)域從左到右進(jìn)行編號值依次增加的編號,每一行最大的編號值加作為下一行的最小的編號值。
或者,將二維分布的各所述矩形區(qū)域塊分成多個(gè)行,從最頂層的行開始,將每行的各所述矩形區(qū)域從右到左進(jìn)行編號值依次增加的編號,每一行最大的編號值加作為下一行的最小的編號值。
進(jìn)一步的改進(jìn)是,步驟二中對各所述矩形區(qū)域塊進(jìn)行編號的方法為:
將二維分布的各所述矩形區(qū)域塊分成多個(gè)列,從最左側(cè)的列開始,將每列的各所述矩形區(qū)域從上到下進(jìn)行編號值依次增加的編號,每一列最大的編號值加作為下一列的最小的編號值。
或者,將二維分布的各所述矩形區(qū)域塊分成多個(gè)列,從最左側(cè)的列開始,將每列的各所述矩形區(qū)域從下到上進(jìn)行編號值依次增加的編號,每一列最大的編號值加作為下一列的最小的編號值。
或者,將二維分布的各所述矩形區(qū)域塊分成多個(gè)列,從最右側(cè)的列開始,將每列的各所述矩形區(qū)域從上到下進(jìn)行編號值依次增加的編號,每一列最大的編號值加作為下一列的最小的編號值。
或者,將二維分布的各所述矩形區(qū)域塊分成多個(gè)列,從最右側(cè)的列開始,將每列的各所述矩形區(qū)域從下到上進(jìn)行編號值依次增加的編號,每一列最大的編號值加作為下一列的最小的編號值。
相比于現(xiàn)有方法,本發(fā)明版圖的LEF圖形處理方法是在對LEF圖形進(jìn)行矩形區(qū)域塊的分割后,再對各矩形區(qū)域塊進(jìn)行編號,然后根據(jù)編號對各矩形區(qū)域塊進(jìn)行合并并在合并后得到面積更大的矩形區(qū)域塊,用面積更大的矩形區(qū)域塊的圖形替換合并前對應(yīng)的矩形區(qū)域塊的圖形,這樣能減少LEF圖形的總的矩形區(qū)域塊的數(shù)目,從而減少LEF圖形的數(shù)據(jù)大小,比現(xiàn)有EDA工具抽取LEF的方法,本發(fā)明方法實(shí)現(xiàn)了更好的壓縮效率,原因?yàn)椋?/p>
LEF圖形的各矩形區(qū)域塊和數(shù)據(jù)對應(yīng)的關(guān)系為,每一個(gè)矩形區(qū)域塊需要通過矩形區(qū)域塊的四個(gè)頂點(diǎn)的坐標(biāo)進(jìn)行表示,每個(gè)頂點(diǎn)坐標(biāo)都為二維坐標(biāo),即需要用X和Y軸坐標(biāo)表示,每個(gè)頂點(diǎn)的X和Y軸坐標(biāo)的數(shù)值都記錄在LEF圖形的數(shù)據(jù)中,也即LEF圖形能夠通過這些數(shù)據(jù)來表示,由于本發(fā)明方法使LEF圖形的總的矩形區(qū)域塊的數(shù)目得到了減少,故能最后減少LEF的圖形數(shù)據(jù)的大小,實(shí)現(xiàn)更好的壓縮效率。
另外,由于本發(fā)明實(shí)現(xiàn)了減少LEF的圖形數(shù)據(jù)的大小,故本發(fā)明能提高LEF的數(shù)據(jù)傳輸效率,這對新工藝的大規(guī)模設(shè)計(jì)中的數(shù)據(jù)傳輸有利。
另外,本發(fā)明通過逐項(xiàng)合并的方法,能夠?qū)崿F(xiàn)對LEF圖形的最優(yōu)合并,使LEF的數(shù)據(jù)壓縮效率達(dá)到最高。
附圖說明
下面結(jié)合附圖和具體實(shí)施方式對本發(fā)明作進(jìn)一步詳細(xì)的說明:
圖1是現(xiàn)有反相器的LEF圖形;
圖2是現(xiàn)有方法對圖1中的輸出端圖形的分割圖;
圖3是本發(fā)明實(shí)施例方法流程圖;
圖4-圖8是本發(fā)明較佳實(shí)施例方法各步驟中LEF圖形的示意圖。
具體實(shí)施方式
如圖3所示,是本發(fā)明實(shí)施例方法流程圖,本發(fā)明實(shí)施例版圖的LEF圖形處理方法包括如下步驟:
步驟一、從版圖按照LEF圖形的頂點(diǎn)坐標(biāo)將所述LEF圖形分割成多個(gè)矩形區(qū)域塊。
步驟二、對各所述矩形區(qū)域塊進(jìn)行編號。
步驟三、對鄰近的所述矩形區(qū)域塊進(jìn)行合并得到面積更大的矩形區(qū)域塊,用面積更大的所述矩形區(qū)域塊的圖形替換合并前的各所述矩形區(qū)域塊的圖形,以減少所述LEF圖形的總的矩形區(qū)域塊的數(shù)目,從而減少所述LEF圖形的數(shù)據(jù)大小。
如圖4至圖8所示,是本發(fā)明較佳實(shí)施例方法各步驟中LEF圖形的示意圖,圖4-8中都是以對圖1中的輸出端102的LEF圖形進(jìn)行處理為例進(jìn)行說明的,本發(fā)明較佳實(shí)施例版圖的LEF圖形處理方法包括如下步驟:
步驟一、從版圖按照LEF圖形的頂點(diǎn)坐標(biāo)將所述LEF圖形分割成多個(gè)矩形區(qū)域塊。本步驟中,采用EDA工具將所述LEF圖形分割成多個(gè)矩形區(qū)域塊。如圖4所示,LEF圖形共分成了9個(gè)矩形區(qū)域塊。
步驟二、對各所述矩形區(qū)域塊進(jìn)行編號。
本發(fā)明較佳實(shí)施例中對各所述矩形區(qū)域塊進(jìn)行編號的方法為:將二維分布的各所述矩形區(qū)域塊分成多個(gè)行,從最低層的行開始,將每行的各所述矩形區(qū)域從左到右進(jìn)行編號值依次增加的編號,每一行最大的編號值加作為下一行的最小的編號值。如圖4所示,9個(gè)矩形區(qū)域塊的編號分別在對應(yīng)的區(qū)域中用數(shù)字標(biāo)出,也即圖4中各矩形區(qū)域塊內(nèi)的數(shù)字都為其編號。
在其它實(shí)施例中,編號方法也能為:將二維分布的各所述矩形區(qū)域塊分成多個(gè)行,從最低層的行開始,將每行的各所述矩形區(qū)域從右到左進(jìn)行編號值依次增加的編號,每一行最大的編號值加作為下一行的最小的編號值。這種編號方法僅是在本發(fā)明較佳實(shí)施例的編號方法的基礎(chǔ)上做相應(yīng)的改動(dòng)即可實(shí)現(xiàn),本發(fā)明說明書中不再做詳細(xì)的說明。
或者,編號方法也能為:將二維分布的各所述矩形區(qū)域塊分成多個(gè)行,從最頂層的行開始,將每行的各所述矩形區(qū)域從左到右進(jìn)行編號值依次增加的編號,每一行最大的編號值加作為下一行的最小的編號值。這種編號方法僅是在本發(fā)明較佳實(shí)施例的編號方法的基礎(chǔ)上做相應(yīng)的改動(dòng)即可實(shí)現(xiàn),本發(fā)明說明書中不再做詳細(xì)的說明。
或者,編號方法也能為:將二維分布的各所述矩形區(qū)域塊分成多個(gè)行,從最頂層的行開始,將每行的各所述矩形區(qū)域從右到左進(jìn)行編號值依次增加的編號,每一行最大的編號值加作為下一行的最小的編號值。這種編號方法僅是在本發(fā)明較佳實(shí)施例的編號方法的基礎(chǔ)上做相應(yīng)的改動(dòng)即可實(shí)現(xiàn),本發(fā)明說明書中不再做詳細(xì)的說明。
或者,編號方法也能為:將二維分布的各所述矩形區(qū)域塊分成多個(gè)列,從最左側(cè)的列開始,將每列的各所述矩形區(qū)域從上到下進(jìn)行編號值依次增加的編號,每一列最大的編號值加作為下一列的最小的編號值。這種編號方法僅是在本發(fā)明較佳實(shí)施例的編號方法的基礎(chǔ)上做相應(yīng)的改動(dòng)即可實(shí)現(xiàn),本發(fā)明說明書中不再做詳細(xì)的說明。
或者,編號方法也能為:將二維分布的各所述矩形區(qū)域塊分成多個(gè)列,從最左側(cè)的列開始,將每列的各所述矩形區(qū)域從下到上進(jìn)行編號值依次增加的編號,每一列最大的編號值加作為下一列的最小的編號值。這種編號方法僅是在本發(fā)明較佳實(shí)施例的編號方法的基礎(chǔ)上做相應(yīng)的改動(dòng)即可實(shí)現(xiàn),本發(fā)明說明書中不再做詳細(xì)的說明。
或者,編號方法也能為:將二維分布的各所述矩形區(qū)域塊分成多個(gè)列,從最右側(cè)的列開始,將每列的各所述矩形區(qū)域從上到下進(jìn)行編號值依次增加的編號,每一列最大的編號值加作為下一列的最小的編號值。這種編號方法僅是在本發(fā)明較佳實(shí)施例的編號方法的基礎(chǔ)上做相應(yīng)的改動(dòng)即可實(shí)現(xiàn),本發(fā)明說明書中不再做詳細(xì)的說明。
或者,編號方法也能為:將二維分布的各所述矩形區(qū)域塊分成多個(gè)列,從最右側(cè)的列開始,將每列的各所述矩形區(qū)域從下到上進(jìn)行編號值依次增加的編號,每一列最大的編號值加作為下一列的最小的編號值。
步驟三、對鄰近的所述矩形區(qū)域塊進(jìn)行合并得到面積更大的矩形區(qū)域塊,用面積更大的所述矩形區(qū)域塊的圖形替換合并前的各所述矩形區(qū)域塊的圖形,以減少所述LEF圖形的總的矩形區(qū)域塊的數(shù)目,從而減少所述LEF圖形的數(shù)據(jù)大小。
本發(fā)明較佳實(shí)施例中,步驟三的合并是按照各所述矩形區(qū)域塊的編號進(jìn)行逐項(xiàng)合并。所述逐項(xiàng)合并的步驟為:
步驟31、根據(jù)編號對各所述矩形區(qū)域塊和相鄰的所述矩形區(qū)域塊之間是否能進(jìn)行合并進(jìn)行檢查,如果具有能夠進(jìn)行合并的所述矩形區(qū)域,則挑選出具有能夠進(jìn)行合并的各所述矩形區(qū)域塊并進(jìn)行后續(xù)步驟32;如果挑選不出能夠進(jìn)行合并的所述矩形區(qū)域塊,則進(jìn)行步驟35。
更佳選擇為,步驟31中從編號最小的所述矩形區(qū)域塊開始進(jìn)行檢查,每檢查完一個(gè)所述矩形區(qū)域塊是否具有可合并的相鄰的所述矩形區(qū)域塊之后,將對應(yīng)的所述矩形區(qū)域塊的編號值加1,直至遍歷所有編號對應(yīng)的所述矩形區(qū)域塊。在其它實(shí)施例中也能為:步驟31中從編號最大的所述矩形區(qū)域塊開始進(jìn)行檢查,每檢查完一個(gè)所述矩形區(qū)域塊是否具有可合并的相鄰的所述矩形區(qū)域塊之后,將對應(yīng)的所述矩形區(qū)域塊的編號值減1,直至遍歷所有編號對應(yīng)的所述矩形區(qū)域塊。
具體說明如下:圖5A中,1為最小編號,編號1對應(yīng)的所述矩形區(qū)域塊的可以合并的鄰近的所述矩形區(qū)域塊的編號為2;圖5B中,編號1對應(yīng)的所述矩形區(qū)域塊還具有一個(gè)可以合并的鄰近的所述矩形區(qū)域塊的編號為4。同理,編號4對應(yīng)的所述矩形區(qū)域塊可以合并的鄰近的所述矩形區(qū)域塊的編號為1和5;編號5對應(yīng)的所述矩形區(qū)域塊可以合并的鄰近的所述矩形區(qū)域塊的編號為4和6;編號6對應(yīng)的所述矩形區(qū)域塊可以合并的鄰近的所述矩形區(qū)域塊的編號為5和7;以及加上前面說明過的編號1對應(yīng)的所述矩形區(qū)域塊可以合并的鄰近的所述矩形區(qū)域塊的編號為2和4;所以,本步驟31中挑選出具有能夠進(jìn)行合并的各所述矩形區(qū)域塊的編號分別為1,2,4,5,6。
步驟32、從合并后得到的面積最大的兩個(gè)相鄰的所述矩形區(qū)域塊開始,對挑選出的各所述矩形區(qū)域塊按照合并后的所述矩形區(qū)域塊面積依次減少的原則依次進(jìn)行合并,使合并后面積大的所述矩形區(qū)域塊優(yōu)先得到。
現(xiàn)根據(jù)圖5A和圖5B進(jìn)行說明如下:
比較圖5A和圖5B所示可知,編號1和2的矩形區(qū)域塊合并后的矩形區(qū)域塊的面積大于編號1和4合并后的矩形區(qū)域塊的面積;而編號6和7的矩形區(qū)域塊合并后的矩形區(qū)域塊的面積大于編號5和6合并后的矩形區(qū)域塊的面積;進(jìn)行兩兩組合時(shí)將編號5和6對應(yīng)的矩形區(qū)域塊作為一組,編號1和2對應(yīng)的矩形區(qū)域塊作為一組,剩余的編號3和4對應(yīng)的矩形區(qū)域塊作為一組,之后對3組矩形區(qū)域塊分別進(jìn)行合并。
步驟33、對合并后的各所述矩形區(qū)域塊進(jìn)行重新編號。如圖6所示,進(jìn)行第一次循環(huán)的上述步驟32之后,所述矩形區(qū)域塊的編號最大值變成了6。
步驟34、重復(fù)步驟31至33對重新編號后的各所述矩形區(qū)域塊進(jìn)行處理。
現(xiàn)根據(jù)圖7A和圖7B具體說明第一次重復(fù)步驟31至33如下:
步驟31中,圖7A中,編號1對應(yīng)的所述矩形區(qū)域塊可以合并的鄰近的所述矩形區(qū)域塊的編號為3;圖7B中,編號3對應(yīng)的所述矩形區(qū)域塊可以合并的鄰近的所述矩形區(qū)域塊的編號為1和4;所以步驟31中挑選出具有能夠進(jìn)行合并的各所述矩形區(qū)域塊的編號分別為1,3,4。
步驟32中,比較圖7A和圖7B所示可知,編號3和4的矩形區(qū)域塊合并后的矩形區(qū)域塊的面積大于編號1和3合并后的矩形區(qū)域塊的面積,故選擇將編號3和4的矩形區(qū)域塊進(jìn)行合并。合并后得到最終的LEF圖形如圖8所示。
之后進(jìn)行進(jìn)行步驟33的重新編號。由圖8所示可知,圖8所對應(yīng)的LEF圖形為最終的合并圖形。
現(xiàn)結(jié)合圖4和圖8來說明一下本發(fā)明較佳實(shí)施例如何減少LEF的數(shù)據(jù):
首先、比較圖4和圖8可知,兩個(gè)圖的整體圖形結(jié)構(gòu)相同。
其次、圖8中僅采用了5個(gè)矩形區(qū)域塊來表示整個(gè)LEF圖形,而圖4中需要采用9個(gè)矩形區(qū)域塊來表示整個(gè)LEF圖形。
再次、在LEF信息中,各矩形區(qū)域塊是通過對應(yīng)的4個(gè)頂點(diǎn)坐標(biāo)標(biāo)示,頂點(diǎn)坐標(biāo)為2維坐標(biāo),進(jìn)行數(shù)據(jù)大小計(jì)算可得:
圖4對應(yīng)的現(xiàn)有方法的數(shù)據(jù)大小為:9×4point×(x,y)×4byte;
圖8對應(yīng)的本發(fā)明較佳實(shí)施例方法的數(shù)據(jù)大小為:5×4point×(x,y)×4byte。
可以看出本發(fā)明較佳實(shí)施例方法能夠減少40%以上的數(shù)據(jù)大小。
所以,本發(fā)明實(shí)施例方法比現(xiàn)有普通EDA工具抽取LEF實(shí)現(xiàn)了更好的壓縮效率;數(shù)據(jù)大小的減少還能實(shí)現(xiàn)提高數(shù)據(jù)傳輸效率,尤其對新工藝的大規(guī)模設(shè)計(jì)數(shù)據(jù)的傳輸效率的提高效果更佳。
以上通過具體實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,但這些并非構(gòu)成對本發(fā)明的限制。在不脫離本發(fā)明原理的情況下,本領(lǐng)域的技術(shù)人員還可做出許多變形和改進(jìn),這些也應(yīng)視為本發(fā)明的保護(hù)范圍。