本發(fā)明涉及存儲(chǔ)器技術(shù)領(lǐng)域,尤其涉及一種獲取存儲(chǔ)器版圖電源主線的方法及裝置。
背景技術(shù):
隨著半導(dǎo)體制造工藝和集成電路設(shè)計(jì)能力的不斷進(jìn)步,系統(tǒng)級(jí)芯片(System-on-Chip,SoC)中使用的存儲(chǔ)器數(shù)目日益增多,由于在同一個(gè)設(shè)計(jì)中需要各種大小不同或者結(jié)構(gòu)不同的存儲(chǔ)器,完全用全定制的方法設(shè)計(jì)這些存儲(chǔ)器變得非常困難。存儲(chǔ)器編譯器就成為用來生成不同大小與功能的存儲(chǔ)器的有效工具而被廣泛使用。
對(duì)于存儲(chǔ)器的電源設(shè)置,在SoC的電源規(guī)劃時(shí),連接存儲(chǔ)器宏單元的單一層次電源線需要有確定的方向,所以存儲(chǔ)器編譯器生成的版圖和LEF文件需要提供完整的確定方向的電源主線以供電源規(guī)劃工具連接,存儲(chǔ)器編譯器一般提供矩形的電源主線金屬層。目前現(xiàn)有技術(shù)中存儲(chǔ)器編譯器形成電源主線是通過在存儲(chǔ)器基本單元中事先人工繪制電源主線,然后通過拼接的方式編程到存儲(chǔ)器宏單元中。
在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下技術(shù)問題:存儲(chǔ)器基本單元的電源主線與編程方法緊密耦合。由于存儲(chǔ)器基本單元的電源主線與編程方法緊密耦合,從而導(dǎo)致存儲(chǔ)器基本單元中繪制定型的電源主線不能適應(yīng)編程方式的改變;不同的存儲(chǔ)器編譯器的版圖編程可能有不同的單元拼接方式,這樣導(dǎo)致在存儲(chǔ)器基本單元中手動(dòng)繪制電源主線的工作量比較大;在 提取LEF文件時(shí),需要掃描所有包含電源主線的基本單元,速度比較慢,導(dǎo)致存儲(chǔ)器編譯器的效率低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供的一種獲取存儲(chǔ)器版圖電源主線的方法及裝置,能夠解決存儲(chǔ)器基本單元的電源主線與編程方法緊密耦合的技術(shù)問題。
第一方面,本發(fā)明提供一種獲取存儲(chǔ)器版圖電源主線的方法,所述方法包括:
在各版圖基本單元上添加電源主線標(biāo)記,所述電源主線標(biāo)記包括標(biāo)記矩形和電源標(biāo)識(shí);
將所述各版圖基本單元按照版圖編程拼接算法進(jìn)行拼接,形成頂層單元,所述各版圖基本單元上的電源主線標(biāo)記作為所述頂層單元的電源主線標(biāo)記;
根據(jù)所述頂層單元的電源主線標(biāo)記,計(jì)算并繪制電源主線。
可選地,當(dāng)具有相同電源標(biāo)識(shí)的標(biāo)記矩形發(fā)生相交時(shí),所述根據(jù)所述頂層單元中的電源主線標(biāo)記,計(jì)算并繪制電源主線包括:
當(dāng)繪制水平方向的電源主線時(shí),將具有相同電源標(biāo)識(shí)的多個(gè)標(biāo)記矩形在水平方向上進(jìn)行覆蓋合并,將覆蓋合并后的矩形作為水平方向電源主線的金屬層矩形;將與覆蓋合并后的矩形沒有發(fā)生相交的其它具有相同電源標(biāo)識(shí)的標(biāo)記矩形也作為水平方向電源主線的金屬層矩形。
可選地,當(dāng)具有相同電源標(biāo)識(shí)的標(biāo)記矩形發(fā)生相交時(shí),所述根據(jù)所述頂層單元中的電源主線標(biāo)記,計(jì)算并繪制電源主線包括:
當(dāng)繪制垂直方向的電源主線時(shí),先將所述頂層單元逆時(shí)針旋轉(zhuǎn)90度,將具有相同電源標(biāo)識(shí)的多個(gè)標(biāo)記矩形在水平方向上進(jìn)行覆蓋合并,再將頂層單元順 時(shí)針旋轉(zhuǎn)90度,將覆蓋合并后的矩形作為垂直方向電源主線的金屬層矩形;將與覆蓋合并后的矩形沒有發(fā)生相交的其它具有相同電源標(biāo)識(shí)的標(biāo)記矩形也作為垂直方向電源主線的金屬層矩形。
可選地,在所述將具有相同電源標(biāo)識(shí)的多個(gè)標(biāo)記矩形在水平方向上進(jìn)行覆蓋合并之前,所述方法還包括:
將頂層單元上的標(biāo)記矩形擴(kuò)展到宏單元寬度。
可選地,所述將具有相同電源標(biāo)識(shí)的多個(gè)標(biāo)記矩形在水平方向上進(jìn)行覆蓋合并包括:
對(duì)發(fā)生相交的具有相同電源標(biāo)識(shí)的標(biāo)記矩形進(jìn)行覆蓋合并,形成覆蓋矩形;
若覆蓋矩形與具有相同電源標(biāo)識(shí)的其它標(biāo)記矩形相交,則將覆蓋矩形與所述其它標(biāo)記矩形進(jìn)行覆蓋合并,形成新的覆蓋矩形;
若具有相同電源標(biāo)識(shí)的覆蓋矩形發(fā)生相交,則將相交的覆蓋矩形進(jìn)行覆蓋合并,形成新的覆蓋矩形。
可選地,當(dāng)具有相同電源標(biāo)識(shí)的標(biāo)記矩形未發(fā)生相交時(shí),所述根據(jù)所述頂層單元中的電源主線標(biāo)記,計(jì)算并繪制電源主線包括:
將每個(gè)標(biāo)記矩形作為所述電源標(biāo)識(shí)對(duì)應(yīng)的電源主線的金屬層矩形。
可選地,在所述將每個(gè)標(biāo)記矩形作為所述電源標(biāo)識(shí)對(duì)應(yīng)的電源主線的金屬層矩形之前,所述方法還包括:
將頂層單元上的標(biāo)記矩形擴(kuò)展到宏單元寬度。
可選地,所述版圖編程拼接算法為版圖編程中版圖基本單元的拼接算法。
第二方面,本發(fā)明提供一種獲取存儲(chǔ)器版圖電源主線的裝置,所述裝置包括:
添加單元,用于在各版圖基本單元上添加電源主線標(biāo)記,所述電源主線標(biāo)記包括標(biāo)記矩形和電源標(biāo)識(shí);
拼接單元,用于將所述各版圖基本單元按照版圖編程拼接算法進(jìn)行拼接,形成頂層單元,所述各版圖基本單元上的電源主線標(biāo)記作為所述頂層單元的電源主線標(biāo)記;
計(jì)算繪制單元,用于根據(jù)所述頂層單元的電源主線標(biāo)記,計(jì)算并繪制電源主線。
可選地,所述計(jì)算繪制單元,用于當(dāng)具有相同電源標(biāo)識(shí)的標(biāo)記矩形發(fā)生相交時(shí),當(dāng)繪制水平方向的電源主線時(shí),將具有相同電源標(biāo)識(shí)的多個(gè)標(biāo)記矩形在水平方向上進(jìn)行覆蓋合并,將覆蓋合并后的矩形作為水平方向電源主線的金屬層矩形;將與覆蓋合并后的矩形沒有發(fā)生相交的其它具有相同電源標(biāo)識(shí)的標(biāo)記矩形也作為水平方向電源主線的金屬層矩形。
可選地,所述計(jì)算繪制單元,用于當(dāng)具有相同電源標(biāo)識(shí)的標(biāo)記矩形發(fā)生相交時(shí),當(dāng)繪制垂直方向的電源主線時(shí),先將所述頂層單元逆時(shí)針旋轉(zhuǎn)90度,將具有相同電源標(biāo)識(shí)的多個(gè)標(biāo)記矩形在水平方向上進(jìn)行覆蓋合并,再將所述頂層單元順時(shí)針旋轉(zhuǎn)90度,將覆蓋合并后的矩形作為垂直方向電源主線的金屬層矩形;將與覆蓋合并后的矩形沒有發(fā)生相交的其它具有相同電源標(biāo)識(shí)的標(biāo)記矩形也作為垂直方向電源主線的金屬層矩形。
可選地,所述裝置還包括第一擴(kuò)展單元,用于所述計(jì)算繪制單元在所述將具有相同電源標(biāo)識(shí)的多個(gè)標(biāo)記矩形在水平方向上進(jìn)行覆蓋合并之前,將頂層單元上的標(biāo)記矩形擴(kuò)展到宏單元寬度。
可選地,所述計(jì)算繪制單元,用于對(duì)于發(fā)生相交的具有相同電源標(biāo)識(shí)的標(biāo) 記矩形進(jìn)行覆蓋合并,形成覆蓋矩形;當(dāng)覆蓋矩形與具有相同電源標(biāo)識(shí)的其它標(biāo)記矩形相交時(shí),將覆蓋矩形與所述其它標(biāo)記矩形進(jìn)行覆蓋合并,形成新的覆蓋矩形;當(dāng)具有相同電源標(biāo)識(shí)的覆蓋矩形發(fā)生相交時(shí),將相交的覆蓋矩形進(jìn)行覆蓋合并,形成新的覆蓋矩形。
可選地,所述計(jì)算繪制單元,用于當(dāng)具有相同電源標(biāo)識(shí)的標(biāo)記矩形未發(fā)生相交時(shí),將每個(gè)標(biāo)記矩形作為所述電源標(biāo)識(shí)對(duì)應(yīng)的電源主線的金屬層矩形。
可選地,所述裝置還包括第二擴(kuò)展單元,用于所述計(jì)算繪制單元在所述將每個(gè)標(biāo)記矩形作為所述電源標(biāo)識(shí)對(duì)應(yīng)的電源主線的金屬層矩形之前,將頂層單元上的標(biāo)記矩形擴(kuò)展到宏單元寬度。
可選地,所述版圖編程拼接算法為版圖編程中版圖基本單元的拼接算法。
本發(fā)明實(shí)施例提供的一種獲取存儲(chǔ)器版圖電源主線的方法及裝置,將版圖的電源主線繪制和版圖編程獨(dú)立開來(解耦),使得存儲(chǔ)器編譯器的開發(fā)更為靈活;只在頂層單元中繪制電源主線,不需要在存儲(chǔ)器基本單元中繪制定型的電源主線,減少了存儲(chǔ)器編譯器的工作量;同時(shí)在提取LEF文件時(shí),對(duì)電源主線金屬層矩形的計(jì)算只在頂層單元進(jìn)行,提高了提取LEF文件的速度。
附圖說明
圖1為本發(fā)明一實(shí)施例存儲(chǔ)器版圖電源主線的結(jié)構(gòu)示意圖;
圖2為本發(fā)明一實(shí)施例獲取存儲(chǔ)器版圖電源主線方法的流程圖;
圖3a為本發(fā)明一實(shí)施例添加了電源主線標(biāo)記的版圖基本單元的結(jié)構(gòu)示意圖;
圖3b為本發(fā)明一實(shí)施例版圖基本單元拼接形成頂層單元的結(jié)構(gòu)示意圖;
圖3c為本發(fā)明一實(shí)施例頂層單元的電源主線標(biāo)記拼接成電源主線金屬層矩 形的結(jié)構(gòu)示意圖;
圖4a為本發(fā)明一實(shí)施例標(biāo)記矩形覆蓋合并中的多個(gè)標(biāo)記矩形結(jié)構(gòu)示意圖;
圖4b為本發(fā)明一實(shí)施例標(biāo)記矩形覆蓋合并中標(biāo)記矩形相交覆蓋合并形成覆蓋矩形的結(jié)構(gòu)示意圖;
圖4c為本發(fā)明一實(shí)施例標(biāo)記矩形覆蓋合并中覆蓋矩形與標(biāo)記矩形相交覆蓋合并形成新的覆蓋矩形的結(jié)構(gòu)示意圖;
圖4d為本發(fā)明一實(shí)施例標(biāo)記矩形覆蓋合并中覆蓋合并后的矩形作為電源主線金屬層矩形的結(jié)構(gòu)示意圖
圖5為本發(fā)明另一實(shí)施例擴(kuò)展到電源寬度的電源主線的結(jié)構(gòu)示意圖;
圖6a為本發(fā)明另一實(shí)施例中添加了電源主線標(biāo)記的版圖基本單元的結(jié)構(gòu)示意圖;
圖6b為本發(fā)明另一實(shí)施例中電源主線標(biāo)記擴(kuò)展到宏單元寬度的結(jié)構(gòu)示意圖;
圖7為本發(fā)明獲取存儲(chǔ)器宏單元電源主線的裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
存儲(chǔ)器編譯器是指生成存儲(chǔ)器宏單元設(shè)計(jì)文件的一系列參數(shù)化的庫(kù)和工具包的集合,通常包含版圖編程,網(wǎng)表編程,EDA視圖產(chǎn)生等模塊。其中版圖編 程是指使用編程的方法對(duì)版圖圖元進(jìn)行選取、拼接、繪制等操作,此過程輸出存儲(chǔ)器版圖和LEF文件。存儲(chǔ)器版圖為將集成電路的金屬、氧化物和半導(dǎo)體等各層次組成部分表示成平面幾何圖元的方法。LEF文件表示存儲(chǔ)器宏單元版圖概要信息的ASCII文件,包含存儲(chǔ)器引腳、電源主線等信息,電源主線是給存儲(chǔ)器宏單元供電的金屬層,繪制在存儲(chǔ)器宏單元版圖中,以供SoC設(shè)計(jì)人員在做電源規(guī)劃時(shí)連接。
如圖1所示,在SoC的電源規(guī)劃時(shí),連接存儲(chǔ)器宏單元的單一層次電源線需要有確定的方向,所以存儲(chǔ)器編譯器生成的版圖和LEF文件需要提供完整的確定方向的存儲(chǔ)器宏單元電源主線11以供電源規(guī)劃工具連接,存儲(chǔ)器編譯器一般提供矩形狀的電源主線金屬層。當(dāng)電源規(guī)劃做垂直方向布線時(shí),存儲(chǔ)器宏單元需要有水平方向的電源主線;同樣的,當(dāng)電源規(guī)劃做水平方向布線時(shí),存儲(chǔ)器宏單元需要有垂直方向的電源主線。此外,為了便于電源規(guī)劃工具的自動(dòng)化,有時(shí)要求存儲(chǔ)器宏單元電源主線需要在水平方向上盡量布滿宏單元寬度。
本發(fā)明提供一種獲取存儲(chǔ)器版圖電源主線的方法,如附圖2所示,所述獲取存儲(chǔ)器版圖電源主線的方法包括:
步驟S11:在各版圖基本單元上添加電源主線標(biāo)記,所述電源主線標(biāo)記包括標(biāo)記矩形和電源標(biāo)識(shí)。
版圖編程在繪制基本單元時(shí),在需要連接電源的位置,使用預(yù)定義的層次添加標(biāo)記矩形,同時(shí)根據(jù)不同的電源,使用預(yù)定義的標(biāo)記字層次添加電源標(biāo)識(shí),標(biāo)記矩形和電源標(biāo)識(shí)共同組成電源主線標(biāo)記。如圖3a所示,基本單元1有兩個(gè)電源主線標(biāo)記,一個(gè)電源1的電源主線標(biāo)記,一個(gè)電源2的電源主線標(biāo)記,基本單元2只有一個(gè)電源2的電源主線標(biāo)記。
步驟S12:將所述各版圖基本單元按照版圖編程拼接算法進(jìn)行拼接,形成頂層單元,所述各版圖基本單元上的電源主線標(biāo)記作為所述頂層單元的電源主線標(biāo)記。
版圖編程拼接算法的基本原理是模塊拼接,從版圖基本單元開始拼接形成高層次的模塊,然后再對(duì)這些模塊進(jìn)行拼接直到最終形成頂層單元。版圖編程將版圖基本單元進(jìn)行拼接,以產(chǎn)生新建單元,將拼接所用的基本單元的電源主線標(biāo)記作為新建單元的電源主線標(biāo)記,直至拼接到頂層單元。如圖3b所示,新建單元包含了基本單元1和基本單元2,同時(shí)將兩個(gè)基本單元的電源1及電源2的電源主線標(biāo)記作為新建單元的電源主線標(biāo)記。電源主線標(biāo)記在新建單元中,位置與基本單元中的重合。
步驟S13:根據(jù)所述頂層單元的電源主線標(biāo)記,計(jì)算并繪制電源主線。
如圖3c所示,在頂層單元中,根據(jù)電源主線標(biāo)記,計(jì)算并繪制電源主線。電源主線的計(jì)算方法涉及到矩形的覆蓋合并,把覆蓋合并后的矩形作為電源主線的位置,為提取LEF文件做準(zhǔn)備。
本發(fā)明實(shí)施例提供的一種獲取存儲(chǔ)器版圖電源主線的方法,將版圖的電源主線繪制和版圖編程獨(dú)立開來(解耦),使得存儲(chǔ)器編譯器的開發(fā)更為靈活;只在頂層單元中繪制電源主線,不需要在存儲(chǔ)器基本單元中繪制定型的電源主線,減少了存儲(chǔ)器編譯器的工作量;同時(shí)在提取LEF文件時(shí),對(duì)電源主線金屬層矩形的計(jì)算只在頂層單元進(jìn)行,提高了提取LEF文件的速度。
可選地,當(dāng)具有相同電源標(biāo)識(shí)的標(biāo)記矩形發(fā)生相交時(shí),所述根據(jù)所述頂層單元中的電源主線標(biāo)記,計(jì)算并繪制電源主線包括:
當(dāng)繪制水平方向的電源主線時(shí),將具有相同電源標(biāo)識(shí)的多個(gè)標(biāo)記矩形在水 平方向上進(jìn)行覆蓋合并,將覆蓋合并后的矩形作為水平方向電源主線的金屬層矩形;將與覆蓋合并后的矩形沒有發(fā)生相交的其它具有相同電源標(biāo)識(shí)的標(biāo)記矩形也作為水平方向電源主線的金屬層矩形。
可選地,對(duì)發(fā)生相交的具有相同電源標(biāo)識(shí)的標(biāo)記矩形進(jìn)行覆蓋合并,形成覆蓋矩形;
若覆蓋矩形與具有相同電源標(biāo)識(shí)的其它標(biāo)記矩形相交,則將覆蓋矩形與所述其它標(biāo)記矩形進(jìn)行覆蓋合并,形成新的覆蓋矩形;
若具有相同電源標(biāo)識(shí)的覆蓋矩形發(fā)生相交,則將相交的覆蓋矩形進(jìn)行覆蓋合并,形成新的覆蓋矩形。
對(duì)于多個(gè)標(biāo)記矩形在水平方向上進(jìn)行覆蓋合并的方法,如附圖4a-4d所示為同一電源標(biāo)識(shí)的一組標(biāo)記矩形在水平方向上進(jìn)行覆蓋合并的過程。如附圖4a所示,A、B、C、D為同一電源標(biāo)識(shí)的四個(gè)電源主線標(biāo)記的標(biāo)記矩形,標(biāo)記矩形C和標(biāo)記矩形D相交,形成覆蓋標(biāo)記矩形C及標(biāo)記矩形D的覆蓋矩形,如圖4b中的陰影部分。覆蓋矩形為覆蓋標(biāo)記矩形C及標(biāo)記矩形D的最小覆蓋單一矩形,即取標(biāo)記矩形C和標(biāo)記矩形D的左下角的X坐標(biāo)的最小值作為覆蓋矩形的左下角的X坐標(biāo),取標(biāo)記矩形C和標(biāo)記矩形D的左下角的Y坐標(biāo)的最小值作為覆蓋矩形的左下角的Y坐標(biāo);取標(biāo)記矩形C和標(biāo)記矩形D的右上角X坐標(biāo)的最大值作為覆蓋矩形的右上角的X坐標(biāo),取標(biāo)記矩形C和標(biāo)記矩形D的右上角Y坐標(biāo)的最大值作為覆蓋矩形的右上角的Y坐標(biāo)。
標(biāo)記矩形C和標(biāo)記矩形D覆蓋合并后的覆蓋矩形和標(biāo)記矩形B相交,則把所述覆蓋矩形與標(biāo)記矩形B進(jìn)行覆蓋合并形成新的覆蓋矩形,如附圖4c所述。同樣的所述新的覆蓋矩形為覆蓋所述覆蓋矩形及標(biāo)記矩形B的最小覆蓋單一矩形。 標(biāo)記矩形A不和其他的矩形相交,把標(biāo)記矩形A對(duì)應(yīng)的矩形及標(biāo)記矩形B、C、D覆蓋合并后形成的矩形作為電源主線的金屬層矩形,如附圖4d所示。后續(xù)提取LEF文件時(shí),直接讀取這兩個(gè)矩形坐標(biāo)即可。
當(dāng)具有相同電源標(biāo)識(shí)的標(biāo)記矩形發(fā)生相交時(shí),多個(gè)標(biāo)記矩形覆蓋合并形成電源主線的金屬層矩形還包括情況:標(biāo)記矩形覆蓋合并形成的覆蓋矩形與其他的覆蓋矩形相交,則把相交的覆蓋矩形進(jìn)行覆蓋合并,形成新的覆蓋矩形。
可選地,當(dāng)具有相同電源標(biāo)識(shí)的標(biāo)記矩形未發(fā)生相交時(shí),所述根據(jù)所述頂層單元中的電源主線標(biāo)記,計(jì)算并繪制電源主線包括:
將每個(gè)標(biāo)記矩形作為所述電源標(biāo)識(shí)對(duì)應(yīng)的電源主線的金屬層矩形。
當(dāng)繪制水平方向的電源主線時(shí),為了便于電源規(guī)劃工具的自動(dòng)化,有時(shí)要求存儲(chǔ)器宏單元的電源主線需要在水平方向上盡量布滿存儲(chǔ)器宏單元寬度;同樣的當(dāng)繪制垂直方向的電源主線時(shí),有時(shí)要求存儲(chǔ)器宏單元的電源主線需要在垂直方向上盡量布滿存儲(chǔ)器宏單元高度。如附圖5所示,對(duì)于擴(kuò)展到宏單元寬度的電源主線:
當(dāng)頂層單元上具有相同電源標(biāo)識(shí)的標(biāo)記矩形發(fā)生相交時(shí),可選地,在所述將具有相同電源標(biāo)識(shí)的多個(gè)標(biāo)記矩形在水平方向上進(jìn)行覆蓋合并之前將頂層單元上的標(biāo)記矩形擴(kuò)展到宏單元寬度。
當(dāng)頂層單元上具有相同電源標(biāo)識(shí)的標(biāo)記矩形未發(fā)生相交時(shí),可選地,在所述將每個(gè)標(biāo)記矩形作為所述電源標(biāo)識(shí)對(duì)應(yīng)的電源主線的金屬層矩形之前,將頂層單元上的標(biāo)記矩形擴(kuò)展到宏單元寬度。
即頂層單元中電源主線標(biāo)記的標(biāo)記矩形在覆蓋合并形成電源主線的金屬層矩形之前,電源主線標(biāo)記的標(biāo)記矩形需要擴(kuò)展到宏單元寬度。然后按照前述的 覆蓋合并方法進(jìn)行覆蓋合并,形成電源主線金屬層矩形。如附圖6a所示,A、B、C、D為同一電源標(biāo)識(shí)的四個(gè)電源主線標(biāo)記的標(biāo)記矩形,先把標(biāo)記矩形A、B、C、D在水平方向上擴(kuò)展到宏單元的寬度,然后將相交的矩形進(jìn)行覆蓋合并,形成電源主線金屬層矩形。當(dāng)頂層單元電源主線標(biāo)記對(duì)應(yīng)的標(biāo)記矩形都不相交時(shí),把頂層單元上的每個(gè)標(biāo)記矩形先擴(kuò)展到宏單元寬度,把擴(kuò)展后的矩形作為電源主線金屬層矩形。
可選地,當(dāng)繪制垂直方向的電源主線時(shí),先將所述頂層單元逆時(shí)針旋轉(zhuǎn)90度,將具有相同電源標(biāo)識(shí)的多個(gè)標(biāo)記矩形在水平方向上進(jìn)行覆蓋合并,再將所述頂層單元順時(shí)針旋轉(zhuǎn)90度,將覆蓋合并后的矩形作為垂直方向電源主線的金屬層矩形。將與覆蓋合并后的矩形沒有發(fā)生相交的其它具有相同電源標(biāo)識(shí)的標(biāo)記矩形也作為垂直方向電源主線的金屬層矩形。此處所述將具有相同電源標(biāo)識(shí)的多個(gè)標(biāo)記矩形在水平方向上進(jìn)行覆蓋合并的方法與前述內(nèi)容中繪制水平方向電源主線中的覆蓋合并方法一致,在此不再贅述。
可選地,所述版圖編程拼接算法為版圖編程中版圖基本單元的拼接算法。
版圖編程拼接算法為版圖編程中版圖基本單元的拼接算法,即指在版圖基本單元拼接形成頂層單元的過程中,如何選擇版圖基本單元,以何種方式拼接版圖基本單元,對(duì)版圖基本單元的個(gè)數(shù)及位置的調(diào)整等。
本發(fā)明實(shí)施例還提供一種獲取存儲(chǔ)器版圖電源主線的裝置,如圖7所示,所述裝置包括:
添加單元71,用于在各版圖基本單元上添加電源主線標(biāo)記,所述電源主線標(biāo)記包括標(biāo)記矩形和電源標(biāo)識(shí);
拼接單元72,用于將所述各版圖基本單元按照版圖編程拼接算法進(jìn)行拼接, 形成頂層單元,所述各版圖基本單元上的電源主線標(biāo)記作為所述頂層單元的電源主線標(biāo)記;
計(jì)算繪制單元73,用于根據(jù)所述頂層單元的電源主線標(biāo)記,計(jì)算并繪制電源主線。
對(duì)于添加單元71,版圖編程在繪制基本單元時(shí),在需要連接電源的位置,使用預(yù)定義的層次添加標(biāo)記矩形,同時(shí)根據(jù)不同的電源,使用預(yù)定義的標(biāo)記字層次添加電源標(biāo)識(shí),標(biāo)記矩形和電源標(biāo)識(shí)共同組成電源主線標(biāo)記,如圖3a所示,基本單元1有兩個(gè)電源主線標(biāo)記,一個(gè)電源1的電源主線標(biāo)記,一個(gè)電源2的電源主線標(biāo)記,基本單元2只有一個(gè)電源2的電源主線標(biāo)記。
對(duì)于拼接單元72,版圖編程拼接算法的基本原理是模塊拼接,從版圖基本單元開始拼接形成高層次的模塊,然后再對(duì)這些模塊進(jìn)行拼接直到最終形成頂層單元。版圖編程將版圖基本單元進(jìn)行拼接,以產(chǎn)生新建單元,將拼接所用的版圖基本單元的電源主線標(biāo)記作為新建單元的電源主線標(biāo)記,直至拼接到頂層單元。如圖3b所示,新建單元包含了基本單元1和基本單元2,同時(shí)將兩個(gè)基本單元的電源1及電源2的電源主線標(biāo)記作為新建單元的電源主線標(biāo)記。電源主線標(biāo)記在新建單元中的位置與基本單元中的重合。
對(duì)于計(jì)算繪制單元73,如圖3c所示,在頂層單元中,根據(jù)電源主線標(biāo)記,計(jì)算并繪制電源主線。電源主線的計(jì)算方法涉及到標(biāo)記矩形的覆蓋合并,把覆蓋合并后的矩形作為電源主線的位置,為提取LEF文件做準(zhǔn)備。
本發(fā)明實(shí)施例提供的一種獲取存儲(chǔ)器版圖電源主線的裝置,將版圖的電源主線繪制和版圖編程獨(dú)立開來(解耦),使得存儲(chǔ)器編譯器的開發(fā)更為靈活;同時(shí)由于只在頂層單元中繪制電源主線,不需要在存儲(chǔ)器基本單元中繪制定型的 電源主線,減少了存儲(chǔ)器編譯器的工作量;同時(shí)在提取LEF文件時(shí),對(duì)電源主線金屬層矩形的計(jì)算只在頂層單元進(jìn)行,提高了提取LEF文件的速度。
可選地,所述計(jì)算繪制單元73,用于當(dāng)具有相同電源標(biāo)識(shí)的標(biāo)記矩形發(fā)生相交時(shí),當(dāng)繪制水平方向的電源主線時(shí),將具有相同電源標(biāo)識(shí)的多個(gè)標(biāo)記矩形在水平方向上進(jìn)行覆蓋合并,將覆蓋合并后的矩形作為水平方向電源主線的金屬層矩形;將與覆蓋合并后的矩形沒有發(fā)生相交的其它具有相同電源標(biāo)識(shí)的標(biāo)記矩形也作為水平方向電源主線的金屬層矩形。
可選地,所述計(jì)算繪制單元73,用于對(duì)于發(fā)生相交的具有相同電源標(biāo)識(shí)的標(biāo)記矩形進(jìn)行覆蓋合并,形成覆蓋矩形;當(dāng)覆蓋矩形與具有相同電源標(biāo)識(shí)的其它標(biāo)記矩形相交時(shí),將覆蓋矩形與所述其它標(biāo)記矩形進(jìn)行覆蓋合并,形成新的覆蓋矩形;當(dāng)具有相同電源標(biāo)識(shí)的覆蓋矩形發(fā)生相交時(shí),將相交的覆蓋矩形進(jìn)行覆蓋合并,形成新的覆蓋矩形。
對(duì)于多個(gè)標(biāo)記矩形在水平方向上進(jìn)行覆蓋合并的方法,如附圖4a-4d所示為同一電源標(biāo)識(shí)的一組標(biāo)記矩形在水平方向上進(jìn)行覆蓋合并的過程。如附圖4a所示,A、B、C、D為同一電源標(biāo)識(shí)的四個(gè)電源主線標(biāo)記的標(biāo)記矩形,標(biāo)記矩形C和標(biāo)記矩形D相交,形成覆蓋標(biāo)記矩形C及標(biāo)記矩形D的覆蓋矩形,如圖4b中的陰影部分。覆蓋矩形為覆蓋標(biāo)記矩形C及標(biāo)記矩形D的最小覆蓋單一矩形,即取標(biāo)記矩形C和標(biāo)記矩形D的左下角的X坐標(biāo)的最小值作為覆蓋矩形的左下角的X坐標(biāo),取標(biāo)記矩形C和標(biāo)記矩形D的左下角的Y坐標(biāo)的最小值作為覆蓋矩形的左下角的Y坐標(biāo);取標(biāo)記矩形C和標(biāo)記矩形D的右上角X坐標(biāo)的最大值作為覆蓋矩形的右上角的X坐標(biāo),取標(biāo)記矩形C和標(biāo)記矩形D的右上角Y坐標(biāo)的最大值作為覆蓋矩形的右上角的Y坐標(biāo)。
標(biāo)記矩形C和標(biāo)記矩形D覆蓋合并后的覆蓋矩形和標(biāo)記矩形B相交,則把所述覆蓋矩形與標(biāo)記矩形B進(jìn)行覆蓋合并形成新的覆蓋矩形,如附圖4c所述。同樣的所述新的覆蓋矩形為覆蓋所述覆蓋矩形及標(biāo)記矩形B的最小覆蓋單一矩形。標(biāo)記矩形A不和其他的矩形相交,把標(biāo)記矩形A對(duì)應(yīng)的矩形及標(biāo)記矩形B、C、D覆蓋合并后形成的矩形作為電源主線的金屬層矩形,如附圖4d所示。后續(xù)提取LEF文件時(shí),直接讀取這兩個(gè)矩形坐標(biāo)即可。
當(dāng)具有相同電源標(biāo)識(shí)的標(biāo)記矩形發(fā)生相交時(shí),多個(gè)標(biāo)記矩形覆蓋合并形成電源主線的金屬層矩形還包括情況:標(biāo)記矩形覆蓋合并形成的覆蓋矩形與其他的覆蓋矩形相交,則把相交的覆蓋矩形進(jìn)行覆蓋合并,形成新的覆蓋矩形。
可選地,所述計(jì)算繪制單元73,用于當(dāng)具有相同電源標(biāo)識(shí)的標(biāo)記矩形未發(fā)生相交時(shí),將每個(gè)標(biāo)記矩形作為所述電源標(biāo)識(shí)對(duì)應(yīng)的電源主線的金屬層矩形。
當(dāng)繪制水平方向的電源主線時(shí),為了便于電源規(guī)劃工具的自動(dòng)化,有時(shí)要求存儲(chǔ)器宏單元的電源主線需要在水平方向上盡量布滿存儲(chǔ)器宏單元寬度;同樣的當(dāng)繪制垂直方向的電源主線時(shí),有時(shí)要求存儲(chǔ)器宏單元的電源主線需要在垂直方向上盡量布滿存儲(chǔ)器宏單元高度。如附圖5所示,對(duì)于擴(kuò)展到宏單元寬度的電源主線:
當(dāng)頂層單元上具有相同電源標(biāo)識(shí)的標(biāo)記矩形發(fā)生相交時(shí),可選地,還包括第一擴(kuò)展單元,用于在所述將具有相同電源標(biāo)識(shí)的多個(gè)標(biāo)記矩形在水平方向上進(jìn)行覆蓋合并之前將頂層單元上的標(biāo)記矩形擴(kuò)展到宏單元寬度。
當(dāng)頂層單元上具有相同電源標(biāo)識(shí)的標(biāo)記矩形未發(fā)生相交時(shí),可選地,還包括第二擴(kuò)展單元,用于在所述將每個(gè)標(biāo)記矩形作為所述電源標(biāo)識(shí)對(duì)應(yīng)的電源主線的金屬層矩形之前,將頂層單元上的標(biāo)記矩形擴(kuò)展到宏單元寬度。
即頂層單元中電源主線標(biāo)記矩形在覆蓋合并形成電源主線的金屬層矩形之前,電源主線標(biāo)記矩形需要擴(kuò)展到宏單元寬度。然后按照前述的覆蓋合并方法進(jìn)行覆蓋合并,形成電源主線金屬矩形。如附圖6b所示,A、B、C、D為同一電源標(biāo)識(shí)的四個(gè)電源主線標(biāo)記的標(biāo)記矩形,先把標(biāo)記矩形A、B、C、D在水平方向上擴(kuò)展到宏單元的寬度,然后將相交的矩形進(jìn)行覆蓋合并,形成電源主線金屬層矩形。
可選地,所述計(jì)算繪制單元73,當(dāng)繪制垂直方向的電源主線時(shí),先將所述頂層單元逆時(shí)針旋轉(zhuǎn)90度,將具有相同電源標(biāo)識(shí)的多個(gè)標(biāo)記矩形在水平方向上進(jìn)行覆蓋合并,再將所述頂層單元順時(shí)針旋轉(zhuǎn)90度,將覆蓋合并后的矩形作為垂直方向電源主線的金屬層矩形。將與覆蓋合并后的矩形沒有發(fā)生相交的其它具有相同電源標(biāo)識(shí)的標(biāo)記矩形也作為垂直方向電源主線的金屬層矩形。此處所述將具有相同電源標(biāo)識(shí)的多個(gè)標(biāo)記矩形在水平方向上進(jìn)行覆蓋合并的方法與前述內(nèi)容中繪制水平方向電源主線中的覆蓋合并方法一致,在此不再贅述。
可選地,所述版圖編程拼接算法為版圖編程中版圖基本單元的拼接算法。
版圖編程拼接算法為版圖編程中版圖基本單元的拼接算法,即指在版圖基本單元拼接形成頂層單元的過程中,如何選擇版圖基本單元,以何種方式拼接版圖基本單元,對(duì)版圖基本單元的個(gè)數(shù)及位置的調(diào)整等。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。