專利名稱:一種sram版圖制作方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及集成電路版圖設(shè)計領(lǐng)域,特別是涉及一種SRAM版圖制作方法及裝置。
背景技術(shù):
SRAM是Static Random Access Memory的縮寫,意為靜態(tài)隨機存儲器。SRAM通常 在掉電之后就丟失數(shù)據(jù),但SRAM的速度非???,是目前讀寫最快的存儲設(shè)備,但是它也非 常昂貴,所以只在要求很苛刻的地方使用,如CPU的一級緩沖、二級緩沖等。在存儲器的版圖設(shè)計領(lǐng)域,針對SRAM的版圖制作,現(xiàn)有的版圖設(shè)計工具產(chǎn)生的 SRAM版圖由三部分組成,參照圖1所示,分別是Logic (邏輯部分)、Mbank (存儲部分)和 VDC_0SC(電源部分)。其中,Mbank由Sblk(存儲塊圖元)組成(參照圖2所示),Sblk的 個數(shù)由產(chǎn)生的SRAM容量大小決定。目前,在版圖設(shè)計工具的圖元庫中(每個圖元是進(jìn)行版圖制作的基本單位),用于 制作SRAM版圖的Sblk —般有兩種類型Sblk_F* Sblk_H,其容量分別為16k(32x512)和 8k (32x256)。由于Sblk_F和Sblk_H的高度不同,所以圖元庫中每種Sblk對應(yīng)的Logic (邏 輯圖元)和VDC_0SC(電源圖元)也各有高度不同的兩種Logic_F、Logic_H、VDC_0SC_F、 VDC_0SC_H(參照圖3所示)?;谏鲜鰧RAM版圖及圖元庫的介紹,SRAM版圖的制作過程就是根據(jù)定制的 SRAM的容量大小,從圖元庫中選擇合適的Sblk類型及Sblk個數(shù),以及相應(yīng)的Lo gic、VDC_ 0SC,組成一個SRAM版圖。而現(xiàn)有技術(shù)制作SRAM版圖時,一般參照表1所示的經(jīng)驗表,在其 中選擇所需的組合情況。例如,下面的表1所列的是存儲器容量對應(yīng)的Sblk類型及Sblk個數(shù),該表列出了 部分最常用、最節(jié)省芯片面積的組合情況。參照該表,如果定制容量為ieokbit的sramju 制作該SRAM版圖需要選擇10個Sblk_F ;如果定制64kbit的SRAM,則制作該SRAM版圖需 要選擇8個SblkJL 表 1根據(jù)表1所示,雖然目前的兩種Sblk可以組合出多個容量的SRAM,滿足多種SRAM版圖的設(shè)計需要,但是,目前可制作出的SRAM種類還是很有限。因為所述兩種類型的Sblk 只能支持8、16、32和64Bit (位),所以能夠設(shè)計出的SRAM容量都是8k或16k的整數(shù)倍,如 果需要制作的SRAM容量不是8k或16k的整數(shù)倍,就無法滿足設(shè)計需要。例如,18k的SRAM 就無法根據(jù)Sblk_F和Sblk_H設(shè)計出來。綜上所述,目前的版圖設(shè)計工具制作出的SRAM種類非常有限,尤其是隨著芯片技 術(shù)的快速發(fā)展,根本無法滿足各種新出現(xiàn)的SRAM設(shè)計要求
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種SRAM版圖制作方法及裝置,以解決目前 的版圖設(shè)計工具制作出的SRAM種類有限,無法滿足設(shè)計要求的問題。為了解決上述問題,本發(fā)明公開了一種SRAM版圖制作方法,包括計算所需SRAM的容量;根據(jù)所述SRAM需要支持的字長,從預(yù)置的多種存儲塊圖元中選擇符合所述字長 的存儲塊圖元,并選擇與該存儲塊圖元相對應(yīng)的邏輯圖元和電源圖元;其中,所述預(yù)置的多 種存儲塊圖元包括容量為2\和2、的存儲塊圖元,還包括至少一種容量為nk的存儲塊圖 元,η為大于21并小于2」的任一整數(shù),i < j ;根據(jù)所述SRAM的容量及所選擇的存儲塊圖元的容量,計算所選擇的存儲塊圖元 的個數(shù);將所選擇的邏輯圖元和電源圖元及計算所得個數(shù)的存儲塊圖元拼接產(chǎn)生SRAM版 圖。優(yōu)選的,將所選擇的邏輯圖元和電源圖元及計算所得個數(shù)的存儲塊圖元拼接產(chǎn)生 SRAM版圖之前,還包括判斷符合所述字長的存儲塊圖元是否有多種可選類型,如果否,則 將該存儲塊圖元確認(rèn)為所選擇的唯一的存儲塊圖元;如果是,則計算每種類型的存儲塊圖 元及其相應(yīng)邏輯圖元和電源圖元拼接而成的SRAM版圖的面積,并選擇面積最小的存儲塊 圖元。其中,所述計算每種類型的存儲塊圖元及其相應(yīng)邏輯圖元和電源圖元拼接而成的 SRAM版圖的面積,具體包括針對每種類型的存儲塊圖元,將計算所得個數(shù)的存儲塊圖元 的寬度及其相應(yīng)邏輯圖元和電源圖元的寬度相加得到總寬度,再乘以他們相同的高度,得 到拼接而成的SRAM版圖的面積。優(yōu)選的,當(dāng)i取3、j取4時,所述預(yù)置的多種存儲塊圖元包括容量為8k和16k的 存儲塊圖元,還包括至少一種容量為nk的存儲塊圖元,η為大于8并小于16的任一整數(shù)。其中,所述預(yù)置的多種存儲塊圖元包括九種,容量分別為8k、9k、10k、llk、12k、 13k、14k、15k或16k ;則根據(jù)所述九種存儲塊圖元拼接產(chǎn)生的SRAM容量是8k、9k、10k、Ilk、 12k、13k、14k、15k 或 16k 的整數(shù)倍。其中,所述計算所需SRAM的容量,具體包括將SRAM的字?jǐn)?shù)乘以每個字包含的位 數(shù),得到該SRAM的容量。本發(fā)明還提供了一種SRAM版圖制作裝置,包括圖元庫,用于提供多種存儲塊圖元,以及與每種存儲塊圖元相對應(yīng)的邏輯圖元和 電源圖元;其中,所述多種存儲塊圖元包括容量為2、和2、的存儲塊圖元,還包括至少一種容量為nk的存儲塊圖元,η為大于21并小于2」的任一整數(shù),i < j ;容量計算單元,用于計算所需SRAM的容量;圖元選擇單元,用于根據(jù)所述SRAM需要支持的字長,從所述圖元庫中的多種存儲 塊圖元中選擇符合所述字長的存儲塊圖元,并選擇與該存儲塊圖元相對應(yīng)的邏輯圖元和電 源圖元;圖元個數(shù)計算單元,用于根據(jù)所述SRAM的容量及所選擇的存儲塊圖元的容量,計 算所選擇的存儲塊圖元的個數(shù);拼接單元,用于將所選擇的邏輯圖元和電源圖元及計算所得個數(shù)的 存儲塊圖元拼 接產(chǎn)生SRAM版圖。優(yōu)選的,所述裝置還包括判斷單元,用于判斷符合所述字長的存儲塊圖元是否有 多種可選類型,如果否,則將該存儲塊圖元確認(rèn)為所選擇的唯一的存儲塊圖元;如果是,則 觸發(fā)比較單元;比較單元,用于計算每種類型的存儲塊圖元及其相應(yīng)邏輯圖元和電源圖元 拼接而成的SRAM版圖的面積,并選擇面積最小的存儲塊圖元。其中,所述比較單元通過以下方式計算每種類型的SRAM版圖面積所述比較單 元針對每種類型的存儲塊圖元,將計算所得個數(shù)的存儲塊圖元的寬度及其相應(yīng)邏輯圖元和 電源圖元的寬度相加得到總寬度,再乘以他們相同的高度,得到拼接而成的SRAM版圖的面 積。優(yōu)選的,當(dāng)i取3、j取4時,所述預(yù)置的多種存儲塊圖元包括容量為8k和16k的 存儲塊圖元,還包括至少一種容量為nk的存儲塊圖元,η為大于8并小于16的任一整數(shù)。其中,所述圖元庫中的多種存儲塊圖元包括九種,容量分別為8k、9k、10k、llk、 12k、13k、14k、15k或16k ;則根據(jù)所述九種存儲塊圖元拼接產(chǎn)生的SRAM容量是8k、9k、10k、 Ilk、12k、13k、14k、15k 或 16k 的整數(shù)倍。其中,所述容量計算單元通過以下方式計算所需SRAM的容量所述容量計算單元 將SRAM的字?jǐn)?shù)乘以每個字包含的位數(shù),得到該SRAM的容量。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點首先,本發(fā)明對現(xiàn)有的圖元庫進(jìn)行了改進(jìn),提供了更多種類型的Sblk(存儲塊圖 元),不僅包括容量為8k和16k的Sblk,還包括容量為nk的Sblk,η為大于8并小于16 的任一整數(shù)。這樣,根據(jù)圖元庫制作出來的SRAM容量就可以是nk的整數(shù)倍?;谶@種思 想,根據(jù)實際應(yīng)用的需要,本發(fā)明還可以擴展提供容量為2、到2、之間的若干Sblk,其中i < J·。而且,本發(fā)明提供的Sblk的字長不僅支持8、16、32和648^,還支持4至16、18、 20、22、24等更多Bit數(shù)。因此,如果設(shè)計需要的字長不是8,16,32和64Bit,如24Bit時, 如果利用現(xiàn)有技術(shù)僅有的兩種Sblk,就需要使用32Bit的Sblk,這樣就會浪費剩余的SBit ; 但使用本發(fā)明提供的支持24Bit的Sblk,就可以恰好滿足設(shè)計需要,從而節(jié)省Sblk的位數(shù)。綜上所述,本發(fā)明提供的Sblk增加了字長支持的位數(shù)和容量,可以制作出更多種 類型的SRAM,滿足新的版圖設(shè)計要求。其次,由于每種Sblk的字長可支持的位數(shù)可能有相同的位,所以當(dāng)滿足制作需要 的Sblk有多種時,本發(fā)明通過比較每種Sblk拼接成的SRAM版圖面積,優(yōu)化選取面積最小 的Sblk來完成版圖制作,從而使制作出的SRAM版圖滿足芯片面積最小的設(shè)計要求。
圖1是現(xiàn)有的SRAM版圖示意圖;圖2是圖1所示的版圖中Mbank的組成示意圖;圖3是現(xiàn)有的圖元庫示意圖;圖4是本發(fā)明實施例所述改進(jìn)后的圖元庫示意圖;圖5是本發(fā)明實施例所述一種SRAM版圖制作方法的流程圖;圖6是本發(fā)明優(yōu)選實施例所述一種SRAM版圖制作方法的流程圖;圖7是本發(fā)明實施例所述一種SRAM版圖制作裝置的結(jié)構(gòu)圖。
具體實施例方式為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實 施方式對本發(fā)明作進(jìn)一步詳細(xì)的說明?,F(xiàn)有的圖元庫中用于制作SRAM版圖的Sblk僅有兩種,容量分別為8k和16k。本發(fā)明在此基礎(chǔ)上,根據(jù)實際應(yīng)用的需要,擴展出共九種類型的Sblk。參照圖4,是改進(jìn)后的圖元庫示意圖。庫中的九種Sblk分別為Sblk_8、 Sblk_9、Sblk_10、Sblk_ll、Sblk_12、Sblk_13、Sblk_14、Sblk_15 和 Sblk_16,其容量分 別為 8k(32x256)、9k(32x288)、10k(32x320)、llk(32x352)、12k(32x384)、13k(32x416)、 14k(32x448)、15k(32x480)和16k(32x512)。這樣,根據(jù)所述九種Sblk設(shè)計出的存儲器的 容量可以是 8k、9k、10k、Ilk、12k、13k、14k、15k 或 16k 的整數(shù)倍。相應(yīng)的,圖元庫中對應(yīng)每種Sblk的Logic和VDC_0SC也各有九種Logic_8、 Logic_9、Logic_10、Logic_l1、Logic_l2、Logic_l3、Logic_14、Logic_l5、Logic_16 禾口 VDC_ 0SC_8、VDC_0SC_9、VDC_0SC_10、VDC_0SC_11、VDC_0SC_12、VDC_0SC_13、VDC_0SC_14、VDC_ 0SC_15、VDC_0SC_16。在圖元庫中,每種Sblk與其對應(yīng)的Logic和VDC_0SC具有相同的高 度,但各種Sblk的高度不同。此外,所述九種Sblk的字長可支持的Bit數(shù)也不限于8、16、32和64Bit,可支持 的 Bit 數(shù)增加到 4、5、6、7、8、9、10、11、12、13、14、15、16、18、20、22、24、26、28、30、32、36、40、 44、48、52、56、60和64。參照表2,列出了九種Sblk的容量、每種字長可支持的Bit數(shù)等參數(shù)。 表2該表中,Sblk數(shù)是指版圖制作時選取的個數(shù)范圍,最小容量和最大容量是根據(jù) Sblk容量和Sblk數(shù)相乘所得的范圍值。上表是根據(jù)電路的架構(gòu)、程序的自動化以及人力資 源的安排,僅設(shè)定了九種Sblk,但在實際應(yīng)用中,還可以根據(jù)需要擴展出更多種的Sblk。下面說明表2中Sblk容量與字長支持的Bit數(shù)之間的關(guān)系一個存儲塊由32列X8行組成,一個8k的Sblk_8需要由32個這樣的存儲塊組 成,即8k = 8X1024 = (32列X8行)X32塊。同樣,一個9k的Sblk_9需要36個這樣的 存儲塊,一個16k的Sblk_16需要64個這樣的存儲塊,等等。而一個Sblk的字長所支持的 Bit數(shù)是指每次讀取該Sblk時能夠一次性讀取的Bit數(shù),如8k的Sblk_8可支持的Bit數(shù)是 32、16、8、4,其中支持32Bit是指每次讀取時從每個存儲塊中讀取lBit,32塊就是32Bit ; 支持16Bit是指從每兩個存儲塊中讀取IBit,32塊就是16Bit ;支持SBit就是從每4個存 儲塊中讀取lBit,32塊就是8Bit。還例如9k的Sblk_9可支持的Bit數(shù)是36、18、9,其中 支持36Bit是指每次讀取時從每個存儲塊中讀取IBit,36塊就是36Bit ;支持ISBit是指從 每兩個存儲塊中讀取lBit,36塊就是ISBit ;支持9Bit就是從每4個存儲塊中讀取IBit, 36塊就是9Bit。需要說明的是,在Sblk的容量表示方式中,如Sblk_8的容量是8k(32x256),
Sblk_9的容量是9k(32x288),......,Sblk_16的容量是16k (32x512),其中的32是指每
個存儲塊32列的意思,并不是指字長支持32Bit,應(yīng)該加以區(qū)別。例如,容量8k = 8X1024 =32 X 256 = 32 列 X (8 行 X 32 塊)=(32 列 X 8 行)X 32 塊,9k = 9 X 1024 = 32 X 288 =32 列 X (8 行 X 36 ±夬)=(32 列 X 8 行)X 36 塊。針對上述改進(jìn)后的圖元庫,本發(fā)明實施例提供了一種SRAM版圖制作方法。參照圖 5,是實施例所述的流程圖。如果要制作一個SRAM版圖,則執(zhí)行以下步驟S501,計算所需SRAM的容量;計算方法可以有多種,但實際應(yīng)用中,存儲器的容量及其配置通常以WXB來表 示。W表示該存儲器的字?jǐn)?shù),而B表示每一個Word由多少Bit組成,即該存儲器的字長可支 持的Bit數(shù)。存儲器不同,每個word包含的Bit也可能不同。如支持32Bit的存儲器、支 持24Bit的存儲器,等等。
S502,根據(jù)所述SRAM需要支持的字長,從預(yù)置的多種存儲塊圖元(Sblk)中選擇符 合所述字長的存儲塊圖元,并選擇與該存儲塊圖元相對應(yīng)的邏輯圖元(Logic)和電源圖元 (VDC_0SC);其中,所述預(yù)置的多種存儲塊圖元包括容量為8k和16k的存儲塊圖元,還包括 至少一種容量為nk的存儲塊圖元,η為大于8并小于16的任一整數(shù);根據(jù)WXB中的Bit數(shù)從圖元庫(可參照表2)中選擇合適的Sblk類型,并選擇與 其相對應(yīng)的Logic和VDC_0SC。本實施例中,根據(jù)實際應(yīng)用的需要,圖元庫中除包括現(xiàn)有的 8k和16k的Sblk,還包括9k至15k之間的任意一種或多種Sblk。S503,根據(jù)所述SRAM的容量及所選擇的存儲塊圖元的容量,計算所選擇的存儲塊 圖元的個數(shù);即通過計算(WXB)/Sblk的容量,得到Sblk的個數(shù)。S504,將所選擇的邏輯圖元和電源圖元及計算所得個數(shù)的存儲塊圖元拼接產(chǎn)生 SRAM版圖。按照圖1和圖2所示的示意圖,將所選擇的Logic、多個Sblk及VDC_0SC順次拼接 起來, 形成容量及配置為WXB的SRAM版圖。例如,在24位真彩顯示等音視頻領(lǐng)域,產(chǎn)生一個容量為1024WX24B = 24k的 SRAM,根據(jù)表2選擇Sblk_12,每個Sblk_12的容量為12k,則選擇2個Sblk_12以及 Logic_12和VDC_0SC_12拼接,就可以產(chǎn)生一個容量為24k、支持24Bit的SRAM版圖。綜上所述,本發(fā)明擴展了版圖設(shè)計工具中的圖元庫,提供的Sblk增加了支持的位 數(shù)和容量,因此可以制作出更多種類型的SRAM版圖。而且,與現(xiàn)有技術(shù)相比,如果產(chǎn)生一個 容量為24k、字長支持24Bit (即1024WX24B = 24k)的SRAM版圖,現(xiàn)有技術(shù)需要使用4個 容量為8k、字長支持32Bit的Sblk來拼接,因為現(xiàn)有技術(shù)中4個容量為8k的Sblk才滿足 1024W。這樣,每個Sblk就浪費了 8Bit,總的容量也浪費了 8k ;但如果使用本發(fā)明擴展出來 的Sblk,選擇2個容量為12k、字長支持24Bit的Sblk即可恰好滿足設(shè)計要求。因此,本發(fā) 明能夠節(jié)省Sblk的Bit數(shù),減少版圖面積,更符合設(shè)計要求。根據(jù)表2所示,8k和16k的Sblk的字長所支持的Bit數(shù)有部分是相同的,都支持 8、16和32Bit。因此,當(dāng)設(shè)計的存儲器的Bit數(shù)是8、16或32時,既可以選擇Sblk_8又可 以選擇Sblk_16。這種情況下,本發(fā)明提供了一種優(yōu)選的方法來盡量提高版圖設(shè)計質(zhì)量,滿 足芯片面積最小的設(shè)計要求?;趫D5所示的實施例,本發(fā)明采用的方法是,在S504之前還包括一個處理步驟 判斷符合所述字長的Sblk是否有多種可選類型,如果否,則將該種類型的Sblk確認(rèn)為所 選擇的唯一的Sblk,則S504中利用該種類型的Sblk拼接產(chǎn)生版圖;如果是,則計算每種類 型的Sblk及其相應(yīng)的Logic和VDC_0SC拼接而成的SRAM版圖的面積,并選擇面積最小的 Sblk來產(chǎn)生版圖。其中,計算每種版圖面積的方法是針對每種類型的版圖,組成版圖的Sblk、 Logic和VDC_0SC的寬度可能各不相同,但高度都是相同的,所以計算面積時利用S503計算 得到的Sblk的個數(shù),可以將多個Sblk的寬度及其相應(yīng)Logic和VDC_0SC的寬度相加得到 總寬度,再乘以他們相同的高度,就得到拼接而成的SRAM版圖的面積。以表2所列的九種Sblk為例,參照圖6,是本發(fā)明優(yōu)選實施例所述一種SRAM版圖 制作方法的流程圖。
S601,接收用戶輸入的存儲器配置信息,即Word數(shù)和Bit數(shù);S602,將Word數(shù)和Bit數(shù)相乘,計算SRAM的容量;S603,判斷用戶輸入的Bit數(shù)是否為8、16或32 ;如果是,則即可以選擇Sblk_8又可以選擇Sblk_16,則需要分別計算出用這兩種 Sblk拼接產(chǎn)生的版圖面積,比較選擇面積較小的一個,并繼續(xù)S604。計算過程是將SRAM 的容量/每種Sblk的容量,得到每種Sblk的個數(shù),然后分別計算每種SRAM版圖的面積。如果否,說明只有一種Sblk滿足SRAM的Bit數(shù),則選定該Sblk,并計算Sblk的個 數(shù),繼續(xù)S604。S604,根據(jù)選定的Sblk拼接產(chǎn)生SRAM版圖。下面以產(chǎn)生一個Sk(Word) X 32 (Bit)的存儲器為例進(jìn)行說明 輸入的Word 數(shù)是 8X1024 = 8192,Bit 數(shù)是 32,則 SRAM 容量是 8192X32 = 256k。由于Bit數(shù)是32,所以既可以用Sblk_8又可以用Sblk_16,需要分別計算這兩種情 況的版圖面積。在版圖制作時,需要用到圖元庫中的圖元是Logic_8,Sblk_8,VDC_0SC_8, Logic_16, Sblk_16, VDC_0SC_16。.begin Logic_8Logic_8ffidth = 36. 8Logic_8Height = 432. 9. end. begin Logic_16Logic_16ffidth = 24. 6Logic_16Height = 804. 7. end. begin Sblk_8Sblk_8ffidth = 56. 5Sblk_8Height = 432. 9. end. begin Sblk_16Sblk_16ffidth = 56. 5Sblk_16Height = 804. 7. end.begin VDC_0SC_8VDC_0SC_8ffidth = 44. 2VDC_0SC_8Height = 432. 9. end.begin VDC_0SC_16VDC_0SC_16ffidth = 31. 6VDC_0SC_16Height = 804. 7. end計算Sblk的個數(shù)SRAM容量/Sblk容量。
當(dāng)用Sblk_8 時,Sblk_8 的個數(shù)為 256k/8k = 32。當(dāng)用Sblk_16 時,Sblk_16 的個數(shù)為 256k/16k = 16。計算面積當(dāng)用Sblk_8時,還需要用Logic_8和VDC_0SC_8,他們的高度都是432. 9,寬度 分別為56. 5,36. 8和44. 2,所以拼接后總的寬度為36. 8+56. 5X32+44. 2 = 1889,面積為 432. 9X1889 = 817748. 1。當(dāng)用Sblk_16時,還需要用Logic_16和VDC_0SC_16,他們的高度都是804. 7,寬度 分別為56. 5、24. 6和31. 6。所以拼接后總的寬度為24. 6+56. 5X16+31. 6 = 960. 2,面積為 804. 7X960. 2 = 772672. 94。比較發(fā)現(xiàn)用Sblk_16時面積小,所以選用Sblk_16,Sblk_16的個數(shù)為16。按照圖 1的順序依次將Logic_16、Sblk_16(16個)、VDC_0SC_16拼接起來,就產(chǎn)生一個8kX32的
存儲器版圖。需要說明的是,基于上述發(fā)明思想,根據(jù)實際應(yīng)用需求,本發(fā)明還可以擴展提供容 量為2、到2、之間的若干Sblk,其中i < j,i、j均為正整數(shù)。例如當(dāng)i取3、j取4時,即 為上述容量為8k到16k之間的Sblk。當(dāng)然,本發(fā)明并不限定到8k到16k之間,因為上述實 施例中的數(shù)值均是經(jīng)驗取值,僅作為實施例說明。針對上述方法實施例,本發(fā)明還提供了相應(yīng)的裝置實施例。參照圖7,是本發(fā)明實施例所述一種SRAM版圖制作裝置的結(jié)構(gòu)圖。所述版圖制作 裝置主要包括圖元庫U71,用于提供多種存儲塊圖元(Sblk),以及與每種存儲塊圖元相對應(yīng)的 邏輯圖元(Logic)和電源圖元(VDC_0SC);其中,所述多種存儲塊圖元包括容量為2\和2、 的存儲塊圖元,還包括至少一個容量為nk的存儲塊圖元,η為大于21并小于2」的任一整數(shù), i < i ;例如,當(dāng)i取3、j取4時,所述預(yù)置的多種存儲塊圖元包括容量為8k和16k的存 儲塊圖元,還包括至少一種容量為nk的存儲塊圖元,η為大于8并小于16的任一整數(shù)。容量計算單元U72,用于計算SRAM的容量;一種比較通用的計算方式是將SRAM 的字?jǐn)?shù)乘以每個字包含的位數(shù),得到該SRAM的容量;圖元選擇單元U73,用于根據(jù)所述SRAM需要支持的字長,從所述圖元庫U71中的多 種存儲塊圖元中選擇符合所述字長的存儲塊圖元,并選擇與該存儲塊圖元相對應(yīng)的邏輯圖 元和電源圖元;圖元個數(shù)計算單元U74,用于根據(jù)所述SRAM的容量及所選擇的存儲塊圖元的容 量,計算所選擇的存儲塊圖元的個數(shù);拼接單元U75,用于將所選擇的邏輯圖元和電源圖元及計算所得個數(shù)的存儲塊圖 元拼接產(chǎn)生SRAM版圖。其中,當(dāng)i取3、j取4時,所述圖元庫U71中的多種存儲塊圖元可以包括九種,容 量分別為8k、9k、10k、Ilk、12k、13k、14k、15k或16k ;則根據(jù)所述九種存儲塊圖元拼接產(chǎn)生 的 SRAM 容量是 8k、9k、10k、Ilk、12k、13k、14k、15k 或 16k 的整數(shù)倍。優(yōu)選的,當(dāng)圖元選擇單元U73選擇出來的存儲塊圖元具有多個類型時,所述裝置 還可以包括
判斷單元,用于判斷符合所述字長的存儲塊圖元是否有多種可選類型,如果否,則將該存儲塊圖元確認(rèn)為所選擇的唯一的存儲塊圖元;如果是,則觸發(fā)比較單元;比較單元,用于計算每種類型的存儲塊圖元及其相應(yīng)邏輯圖元和電源圖元拼接而 成的SRAM版圖的面積,并選擇面積最小的存儲塊圖元。其中,所述比較單元通過以下方式計算每種類型的SRAM版圖面積針對每種類型 的存儲塊圖元,將計算所得個數(shù)的存儲塊圖元的寬度及其相應(yīng)邏輯圖元和電源圖元的寬度 相加得到總寬度,再乘以他們相同的高度,得到拼接而成的SRAM版圖的面積。在此計算過 程中,比較單元會調(diào)用圖元個數(shù)計算單元U74的計算結(jié)果。所述版圖制作裝置提供的圖元庫更加豐富,增加了 Sblk支持的位數(shù)和容量,因此 利用該裝置可以制作出更多種類型的SRAM。本說明書中的各個實施例均采用遞進(jìn)的方式描述,每個實施例重點說明的都是與 其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于裝置實施例 而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部 分說明即可。以上對本發(fā)明所提供的一種SRAM版圖制作方法及裝置,進(jìn)行了詳細(xì)介紹,本文中 應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助 理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想, 在具體實施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本 發(fā)明的限制。
權(quán)利要求
一種SRAM版圖制作方法,其特征在于,包括計算所需SRAM的容量;根據(jù)所述SRAM需要支持的字長,從預(yù)置的多種存儲塊圖元中選擇符合所述字長的存儲塊圖元,并選擇與該存儲塊圖元相對應(yīng)的邏輯圖元和電源圖元;其中,所述預(yù)置的多種存儲塊圖元包括容量為2ik和2jk的存儲塊圖元,還包括至少一種容量為nk的存儲塊圖元,n為大于2i并小于2j的任一整數(shù),i<j;根據(jù)所述SRAM的容量及所選擇的存儲塊圖元的容量,計算所選擇的存儲塊圖元的個數(shù);將所選擇的邏輯圖元和電源圖元及計算所得個數(shù)的存儲塊圖元拼接產(chǎn)生SRAM版圖。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,將所選擇的邏輯圖元和電源圖元及計算 所得個數(shù)的存儲塊圖元拼接產(chǎn)生SRAM版圖之前,還包括判斷符合所述字長的存儲塊圖元是否有多種可選類型,如果否,則將該存儲塊圖元確 認(rèn)為所選擇的唯一的存儲塊圖元;如果是,則計算每種類型的存儲塊圖元及其相應(yīng)邏輯圖元和電源圖元拼接而成的SRAM 版圖的面積,并選擇面積最小的存儲塊圖元。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述計算每種類型的存儲塊圖元及其相 應(yīng)邏輯圖元和電源圖元拼接而成的SRAM版圖的面積,具體包括針對每種類型的存儲塊圖元,將計算所得個數(shù)的存儲塊圖元的寬度及其相應(yīng)邏輯圖元 和電源圖元的寬度相加得到總寬度,再乘以他們相同的高度,得到拼接而成的SRAM版圖的 面積。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于當(dāng)i取3、j取4時,所述預(yù)置的多種存儲塊圖元包括容量為8k和16k的存儲塊圖元, 還包括至少一種容量為nk的存儲塊圖元,η為大于8并小于16的任一整數(shù)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于所述預(yù)置的多種存儲塊圖元包括九種,容量分別為8k、9k、10k、Ilk、12k、13k、14k、15k 或 16k ;則根據(jù)所述九種存儲塊圖元拼接產(chǎn)生的SRAM容量是8k、9k、10k、Ilk、12k、13k、14k、 15k或16k的整數(shù)倍。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述計算所需SRAM的容量,具體包括將SRAM的字?jǐn)?shù)乘以每個字包含的位數(shù),得到該SRAM的容量。
7.—種SRAM版圖制作裝置,其特征在于,包括圖元庫,用于提供多種存儲塊圖元,以及與每種存儲塊圖元相對應(yīng)的邏輯圖元和電源 圖元;其中,所述多種存儲塊圖元包括容量為2、和2、的存儲塊圖元,還包括至少一種容量 為nk的存儲塊圖元,η為大于21并小于2」的任一整數(shù),i < j ;容量計算單元,用于計算所需SRAM的容量;圖元選擇單元,用于根據(jù)所述SRAM需要支持的字長,從所述圖元庫中的多種存儲塊圖 元中選擇符合所述字長的存儲塊圖元,并選擇與該存儲塊圖元相對應(yīng)的邏輯圖元和電源圖 元;圖元個數(shù)計算單元,用于根據(jù)所述SRAM的容量及所選擇的存儲塊圖元的容量,計算所選擇的存儲塊圖元的個數(shù);拼接單元,用于將所選擇的邏輯圖元和電源圖元及計算所得個數(shù)的存儲塊圖元拼接產(chǎn)生SRAM版圖。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,還包括判斷單元,用于判斷符合所述字長的存儲塊圖元是否有多種可選類型,如果否,則將該 存儲塊圖元確認(rèn)為所選擇的唯一的存儲塊圖元;如果是,則觸發(fā)比較單元;比較單元,用于計算每種類型的存儲塊圖元及其相應(yīng)邏輯圖元和電源圖元拼接而成的 SRAM版圖的面積,并選擇面積最小的存儲塊圖元。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述比較單元通過以下方式計算每種類 型的SRAM版圖面積所述比較單元針對每種類型的存儲塊圖元,將計算所得個數(shù)的存儲塊圖元的寬度及其 相應(yīng)邏輯圖元和電源圖元的寬度相加得到總寬度,再乘以他們相同的高度,得到拼接而成 的SRAM版圖的面積。
10.根據(jù)權(quán)利要求7所述的裝置,其特征在于當(dāng)i取3、j取4時,所述預(yù)置的多種存儲塊圖元包括容量為8k和16k的存儲塊圖元, 還包括至少一種容量為nk的存儲塊圖元,η為大于8并小于16的任一整數(shù)。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于所述圖元庫中的多種存儲塊圖元包括九種,容量分別為8k、9k、10k、Ilk、12k、13k、14k、 15k 或 16k ;則根據(jù)所述九種存儲塊圖元拼接產(chǎn)生的SRAM容量是8k、9k、10k、Ilk、12k、13k、14k、 15k或16k的整數(shù)倍。
12.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述容量計算單元通過以下方式計算所 需SRAM的容量所述容量計算單元將SRAM的字?jǐn)?shù)乘以每個字包含的位數(shù),得到該SRAM的容量。
全文摘要
本發(fā)明提供了一種SRAM版圖制作方法及裝置,以解決目前的版圖設(shè)計工具制作出的SRAM種類有限,無法滿足設(shè)計要求的問題。所述方法對現(xiàn)有的圖元庫進(jìn)行了改進(jìn),提供的存儲塊圖元增加了字長支持的位數(shù)和容量,是圖元庫中的存儲塊圖元類型更為豐富,因此可以制作出更多種類型的SRAM,滿足新的版圖設(shè)計要求。
文檔編號G06F17/50GK101847164SQ20091008067
公開日2010年9月29日 申請日期2009年3月25日 優(yōu)先權(quán)日2009年3月25日
發(fā)明者劉永波, 舒清明 申請人:北京芯技佳易微電子科技有限公司