一種在spare cell上加入spare via的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及芯片設(shè)計(jì)數(shù)據(jù)調(diào)整(EC0)、聚焦離子束微調(diào)(FIB)、可靠性設(shè)計(jì)等領(lǐng) 域。
【背景技術(shù)】
[0002] 隨著集成工藝的發(fā)展,CMOS管及金屬布線的尺寸越來越小,芯片規(guī)模及集成密度 越來越高,芯片制造過程中工藝的可靠性及可控性隨之降低,在芯片設(shè)計(jì)過程中通過對設(shè) 計(jì)的改良而提升芯片制造過程中的可靠性的設(shè)計(jì)方法成為芯片設(shè)計(jì)領(lǐng)域內(nèi)一個不可忽視 的重要環(huán)節(jié)。另一方面,芯片流片的費(fèi)用及成本,也隨著集成度的提高而快速增長,對成本 因素的考量也必須貫穿芯片設(shè)計(jì)領(lǐng)域的各個方面。而可靠性設(shè)計(jì)常常是通過在電路中引入 冗余設(shè)計(jì)而提高可靠性,而冗余設(shè)計(jì)的代價則是成本的提高。兼顧成本因素的可靠性設(shè)計(jì) 逐漸成為這一領(lǐng)域的熱點(diǎn)。
[0003] 在電路中加入冗余單元(spare cell)是提高設(shè)計(jì)可靠性的一種有效手段。Spare cell的原理,就是在電路的各個區(qū)域加入冗余的標(biāo)準(zhǔn)單元,這些單元本身具有一些簡單的 邏輯功能或是存儲功能。當(dāng)芯片的初始設(shè)計(jì)在流片完成后的驗(yàn)證中發(fā)現(xiàn)問題時(這種問題 可能是多方面的,有可能是工藝問題,有可能是版圖結(jié)構(gòu)問題,也有可能是由于前期功能驗(yàn) 證的不充分而導(dǎo)致的功能問題),需要通過更改或調(diào)整電路某一部分的結(jié)構(gòu)來修正這些問 題,這些改動便可以通過設(shè)計(jì)階段預(yù)先加入的spare cell來完成,并且僅僅只需通過修改 spare cell相應(yīng)管腳的金屬連接便可實(shí)現(xiàn)。制版時,只需要代工廠(Foundry)替換掉需進(jìn) 行修改的幾層金屬的mask,便可以方便的修正掉芯片初始流片中所發(fā)現(xiàn)的各種問題。相比 于重新設(shè)計(jì)、重新流片,這種方法設(shè)計(jì)周期大大減少,其設(shè)計(jì)的成本也顯著降低。
[0004] 由于需要對修改的金屬層的掩膜(mask)進(jìn)行替換,所以其所涉及到的mask的層 數(shù),直接決定了這一修改的成本。如何獲得最小的金屬層數(shù)改動,是利用spare cell進(jìn)行 ECO調(diào)整所面臨的核心問題。
[0005] 目前關(guān)于spare cell的處理方式,一般是將spare cell的輸入、輸出端與電源或 地端相連,然后利用EDA工具完成這一連接的布線。EDA工具的處理方式,通常都是將輸入、 輸出端與其附近的電源軌(power rail)或地線軌(ground rail)相連。由于power rail 或ground rail -般由底層金屬實(shí)現(xiàn),所以這一連接布線,通常只涉及底層金屬的少量布 線。當(dāng)芯片需要ECO調(diào)整時,需首先將這一連接切斷,然后選擇合適的金屬層,以及合適的 走線位置,將spare cell的端口與目標(biāo)端口相連。這一方式存在的問題是,由于EDA工具 對于spare cell端口與power/ground rail之間的布線采用了很底層的金屬走線完成,那 么當(dāng)此處的spare cell需要進(jìn)行ECO調(diào)整時,這一調(diào)整很有可能需要從頂層金屬一路向下 跳到底層金屬才能完成從spare cell端口到目標(biāo)端口的走線,這將涉及到大量的金屬及通 孔層重新制版的工作,所付出的費(fèi)用和成本是巨大的。
[0006] 兩方面的因素造成了這一問題:其一,spare cell本質(zhì)上就是標(biāo)準(zhǔn)單元,一般標(biāo)準(zhǔn) 單元都由最底層金屬即Ml實(shí)現(xiàn)的,其所有輸入、輸出端口以及power/ground rail都是采 用Ml走線的,并且power/ground rail -般處于標(biāo)準(zhǔn)單元版圖結(jié)構(gòu)的上下兩邊,所有輸入、 輸出端口處于power/ground rail之間,所以從輸入、輸出端口到power/ground rail的 布線距離是很小的,一般情況下M2以下的走線即可完成這一連接,這也是計(jì)算機(jī)自動化設(shè) 計(jì)(EDA)工具的普遍處理方方式;其二,布線密度從底層到頂層依次減小,所以當(dāng)布線需要 ECO調(diào)整時,頂層由于布線密度低,存在可調(diào)整的空間,越往底層,其可調(diào)整的空間越小。以 上這兩個因素,導(dǎo)致了多數(shù)利用spare cell進(jìn)行的ECO布線調(diào)整都需要走線從頂層一路通 過通孔跳到底層才能實(shí)現(xiàn)。很多情況下,為了實(shí)現(xiàn)某一 ECO調(diào)整,可能需要從Ml開始直至 頂層所有的金屬及通孔的mask都重新制版才能實(shí)現(xiàn),成本巨大。
【發(fā)明內(nèi)容】
[0007] 為了克服已有應(yīng)用spare cell進(jìn)行ECO調(diào)整時所產(chǎn)生的需重新制版的金屬層及 通孔層的數(shù)量較大、ECO調(diào)整的費(fèi)用及成本較高的不足,本發(fā)明提供一種減少應(yīng)用spare cell進(jìn)行ECO調(diào)整時所產(chǎn)生的需重新制版的金屬層及通孔層的數(shù)量,降低ECO調(diào)整的費(fèi)用 及成本的在spare cell上加入spare via的方法。
[0008] 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
[0009] -種在spare cell上加入spare via的方法,包括以下環(huán)節(jié):
[0010] 1)芯片整體的電源網(wǎng)絡(luò)規(guī)劃時需采用頂層金屬,以power、ground為一組做水平 方向的電源、地線網(wǎng)格(power/ground stripe),兩根stripe之間的間距要大于標(biāo)準(zhǔn)單元 所定義的標(biāo)準(zhǔn)單元最小位移(core site)的高度,但要小于這一高度的兩倍。每組power/ ground stripe加入的位置要保證兩根stripe之間能夠容下一條完整的標(biāo)準(zhǔn)單元的行 (core row)〇
[0011] 之后,將 spare cell 加入每組 power/ground stripe 之間的 core row ;
[0012] 2)提取所有spare cell輸入、輸出端口的位置坐標(biāo),版圖結(jié)構(gòu)信息,根據(jù)所選擇 的冗余通孔(spare via)結(jié)構(gòu),在端口上生成相應(yīng)的通孔區(qū)域(via region);
[0013] 3)根據(jù)各端口的via region,選擇各端口生成spare via的相應(yīng)位置坐標(biāo),坐標(biāo) 的選擇要確保各端口的spare via在垂直方向,結(jié)合EDA工具,生成spare via ;
[0014] 4)將spare via通過頂層金屬連接到與其相鄰的一組頂層power/ground stripe 上。
[0015] 進(jìn)一步,所述步驟2)中,首先找到全設(shè)計(jì)里所有的spare cell。$pattern變量定 義了 spare cell名稱中的關(guān)鍵字,并以此關(guān)鍵字作為通配符來對全電路里的spare cell 進(jìn)行篩選,進(jìn)而獲得每一個spare cell的位置坐標(biāo)instLoc及尺寸坐標(biāo)instCellDim, 之后代碼對每一個spare cell的端口信息進(jìn)行提取,通過dbForEachFTermLefPort和 dbForEachLefPortLayerShape,獲得每一個端口的版圖結(jié)構(gòu)信息,由于在標(biāo)準(zhǔn)單元中很多 端口的版圖為不規(guī)則多邊形,dbForEachLayerShapeShape命令能夠?qū)⒉灰?guī)則多邊形拆分為 一組等價的矩形坐標(biāo)數(shù)組,至此所有端口的版圖形狀及位置信息全部獲得。
[0016] 再進(jìn)一步,所述步驟2)中,Via region的生成通過對spare cell各端口的Ml的 版圖進(jìn)行提取、分析、處理得到,包括如下過程:2. 1),需對Ml的⑶S層號進(jìn)行定義,將spare cell的Ml的版圖信息按照GDS層號進(jìn)行抽取,并依據(jù)圖論對抽取的數(shù)據(jù)進(jìn)行映射,建立數(shù) 學(xué)模型;2. 2),對映射后的數(shù)據(jù)進(jìn)行遍歷,生成能夠容納via的邊界特征點(diǎn),由此特征點(diǎn)構(gòu) 建via region區(qū)域;2.3),將via region的坐標(biāo)信息輸出。
[0017] 更進(jìn)一步,所述步驟3)中,坐標(biāo)位置的選擇過程為:
[0018] 3. 1)對spare cell所有的端口的via region按照權(quán)值大小進(jìn)行排序,權(quán)值的選 擇為via region面積的大小與via region垂直方向交疊次數(shù)的比例加權(quán),面積越小,交疊 次數(shù)越高的via region其優(yōu)先級越高;
[0019] 3. 2)設(shè)置已產(chǎn)生spare via的區(qū)域集合為空;
[0020] 3. 3)按照優(yōu)先級的高低,依次對相應(yīng)的via region區(qū)域進(jìn)行掃描遍歷,如發(fā)現(xiàn)遍 歷區(qū)域與已產(chǎn)生spare via的區(qū)域集合中的區(qū)域在垂直方向有交疊,貝Ij跳過該區(qū)域繼續(xù)遍 歷,直至發(fā)現(xiàn)未產(chǎn)生交疊的via region區(qū)域?yàn)橹?;如不存在這樣的區(qū)域,則選擇交疊區(qū)域 作為spare via的生成區(qū)域,將得到的spare via的位置區(qū)域追加入已產(chǎn)生spare via的 區(qū)域集合,繼續(xù)重復(fù)3. 3)的步驟。
[0021] 本發(fā)明的技術(shù)構(gòu)思為:在spare cell的輸入、輸出端口上加入從底層至頂層的 spare via,并連接至頂層power/ground stripe。所有spare cell被布局在一組頂層金屬 的power/ground stripe之間,確保從spare cell的輸入、輸出端口到power、ground的 連接距離最短,占用最少的布線資源。
[0022] 本發(fā)明的有益效果主要表現(xiàn)在:極大的減少了利用spare cell進(jìn)行ECO調(diào)整時所 產(chǎn)生的需重新制版的mask數(shù)量,降低了芯片制造的成本。
【附圖說明】
[0023] 圖1是加入spare cell的芯片規(guī)劃(floorplan)示意圖,其中數(shù)字1代表ground stripe ;數(shù)字 2 代表 power stripe ;數(shù)字 3 代表 core row ;數(shù)字 4 代表 spare cell。
[0024] 圖 2 是via region示意圖。
[0025] 圖3是spare via在via region區(qū)域內(nèi)位置分布產(chǎn)生交疊的示意圖。
[0026] 圖4是在spare cell上生成spare via的版圖示意圖。
[0027] 圖5是在spare cell上生成spare via的縱切面示意圖。
【具體實(shí)施方式】
[0028] 下面結(jié)合附圖對本發(fā)明作進(jìn)一步描述。
[0029] 參照圖1~圖5, 一種在spare cell上加入spare via的方法,所述方法包括如下 步驟:
[0030] 1)加入spare cell的電源網(wǎng)格規(guī)劃示意圖如圖1所示。其中水平的power/ground stripe采用頂層金屬走線,兩根stripe之間的間距恰好可以完整的容納一條core row, spare cell放入該core row中。這樣做的目的在于:首先,由于spare cell的輸入、輸出 端口既有可能與power端相連,也有可能與ground端相連,所以顯而易見,將spare cell放 入一組power/ground stripe之間是最節(jié)省布線資源的解決方案;其次,所述方法的spare cell的輸入、輸出端口并不是與標(biāo)準(zhǔn)單元的power/ground rail相連,而是與頂層金屬的 power/ground stripe相連,如果spare cell與其相鄰的頂層金屬的stripe相距過遠(yuǎn),則 會導(dǎo)致布線過程中額外的布線資源的消耗,所以兩根stripe之間的間距選擇為大于1倍的 core row高度而小于或等于2倍的core row高度,亦即剛好可以容納一條core row ;最后, 關(guān)于stripe的走線方向,如果將頂層金屬的power/ground stripe改為垂直方向走線, 則放入兩根stripe之間的spare cell的輸入、輸出端口有可能被其相鄰的power/ground stripe遮蔽掉,需要通過低層金屬的跳層走線才能連接到頂層金屬,產(chǎn)生額外的布線資源 消耗。而如果要所有端口完全無遮蔽,則需加大兩根stripe之間的間距,而這本身又會導(dǎo) 致端口與stripe之間的間距增大,產(chǎn)生額外的布線資源消耗。
[0031] spare cell的加入,可以在芯片布局階段完成,只是加入的位置局限在每組頂層 金屬 power/ground stripe 之間。
[0032] 2)因?yàn)樾枰趕pare cell端口生成spare via,所以首先需提取所有spare cell 輸入、輸出端口的位置坐標(biāo),版圖結(jié)構(gòu)信息。
[0033] 采用TCL/TK這一標(biāo)準(zhǔn)接口,T