用于金屬/過孔可編程門陣列集成電路的可編程宏的制作方法
【專利摘要】提供了一種設(shè)計方法,用于使在金屬/過孔可編程IC中使用的多個性化可編程宏的創(chuàng)建完全自動化。使用可編程開關(guān)來獲得可編程性,每個可編程開關(guān)可以包括在以串聯(lián)、并聯(lián)、或其組合而配置的一個或多個層上的一個或多個金屬跡線和/或過孔。多個交疊開關(guān)可以存在于相同的位置。也就是說,可以限定使用相同資源中的一些資源的開關(guān)。可以“接通”開關(guān)中的任一個開關(guān),同時其他開關(guān)保持斷開。作為設(shè)計方法的一部分,通過用使電路閉合的硬線連接代替開關(guān),或者用無連接來代替開關(guān)以斷開電路或使電路保持斷開,來對電路設(shè)計的不同網(wǎng)絡(luò)或部分進行編程。該方法允許共享布線或編程資源,以獲得最優(yōu)化的布局區(qū)域使用率。
【專利說明】
用于金屬/過孔可編程門陣列集成電路的可編程宏
【背景技術(shù)】
[0001]金屬/過孔可編程門陣列集成電路(metal/via programmable gate arrayintegrated circuit)(IC)使用宏單元、或“宏(macro)”來定義IC的功能。這樣的宏包括:例如,1緩沖、PLL、DLL、存儲器單元等。這樣的宏通常是非可編程的(non-programmable)。因此,從現(xiàn)有的金屬/過孔可編程門陣列IC產(chǎn)生衍生ICXderivative IC)通常需要大量的重新設(shè)計。缺乏可編程性的一個可能原因是缺乏利用可編程層的合適的設(shè)計方法。
【附圖說明】
[0002]根據(jù)以下參照附圖的描述可以理解本發(fā)明。在附圖中:
[0003]圖1A是包括軟開關(guān)(soft switches)的基本(未提交的(uncommitted))宏單元的一部分的原理圖表示,該軟開關(guān)允許對宏單元的定制(編程、個性化)。
[0004]圖1B至圖1D是圖1A的宏單元的不同定制的原理圖表示。
[0005]圖2A是包括定制流程的集成電路設(shè)計流程的流程圖。
[0006]圖2B是包括定制流程的另一集成電路設(shè)計流程的流程圖。
[0007]圖3A是可以在圖2A和圖2B的定制流程中使用的開關(guān)的一個示例的橫截面圖。
[0008]圖3B是可以在圖2A和圖2B的定制流程中使用的開關(guān)的另一示例的橫截面圖。
[0009]圖4A是包括軟開關(guān)的基本(未提交的)宏單元的一部分的原理圖表示,該軟開關(guān)允許對宏單元的定制(編程、個性化)。
[0010]圖4B和圖4C是圖4A的宏單元的不同定制的原理圖表示。
[0011]圖5A至圖5C是圖4A至圖4C的宏單元的布局表示。
[0012]圖6A至圖6C是圖4A至圖4C的宏單元的橫截面圖。
[0013]圖7A是宏單元的一部分的布局表示,其中開關(guān)阻擋了布線路徑(routingtrack)。
[0014]圖7B是圖7A的宏單元的布局表示,其中因為未使用宏,所以已經(jīng)移除開關(guān)或內(nèi)部信號金屬。
[0015]圖7C是圖7B的宏單元的布局表示,其中釋放的布線路徑已用于連接信號源和信號目標。
[0016]圖8A至圖8C是圖7A至圖7C的宏單元的橫截面圖。
[0017]圖9A是包括宏A和宏B的第一電路配置的原理圖表不。
[0018]圖9B是第二電路配置的原理圖表示,其中,來自圖9A中的宏A的器件已被重新分配給宏B,產(chǎn)生新的宏X和宏Y。
[0019]圖1OA是圖9A的電路配置的擴散層和多晶硅層的布局表示。
[0020 ]圖1OB是圖9B的電路配置的擴散層和多晶硅層的布局表示。
[0021]圖11是示出宏替換或重新設(shè)計以及宏編程的原理圖表示。
[0022]圖12A是未提交的電路的原理圖表不和布局表不。
[0023]圖12B是圖12A的電路的第一定制的原理圖表示和布局表示。
[0024]圖12C是圖12A的電路的第二定制的原理圖表示和布局表示。
【具體實施方式】
[0025]挺述
[0026]提供了一種設(shè)計方法,該設(shè)計方法用于使在金屬/過孔可編程IC中使用的多個性化可編程宏(multiple-personality programmable macro)的創(chuàng)建完全自動化。使用可編程開關(guān)來獲得可編程性,所述可編程開關(guān)中的每個可編程開關(guān)可以包括在以串聯(lián)、并聯(lián)、或串聯(lián)配置與并聯(lián)配置的組合而配置的一個或多個層上的一個或多個金屬跡線(metaltrace)和/或過孔。此外,多個交疊開關(guān)可以存在于相同的位置。也就是說,可以限定使用相同資源中的一些資源的開關(guān)??梢越油ü蚕硖囟ㄙY源的開關(guān)中的任一個開關(guān),同時斷開其他開關(guān)。作為設(shè)計方法的一部分,通過用使電路閉合的硬線連接來代替開關(guān),或者通過用無連接來代替開關(guān)以斷開電路或使電路保持斷開,來對電路設(shè)計的不同網(wǎng)絡(luò)或部分進行編程。該方法允許共享布線或編程資源,以獲得最優(yōu)化的布局區(qū)域使用率。
[0027]可以基于單個原理圖和布局來使用于不同個性化宏的原理圖和布局的創(chuàng)建完全自動化??梢詫⒂查_關(guān)器件從最終編程的原理圖或網(wǎng)表和電路設(shè)計布局中完全去除。它們產(chǎn)生對設(shè)計的更佳的物理表示和行為表示,與現(xiàn)有的EDA工具完全兼容。在電氣規(guī)則檢查期間,在不存在開關(guān)器件的情況下可以更準確地提取連接性。在寄生參數(shù)提取期間,實現(xiàn)了相似的益處,由此在不需要對開關(guān)器件進行建模的情況下提高了提取結(jié)果準確度。
[0028]在一個實施方式中,提供了一種計算機實現(xiàn)的方法,該計算機實現(xiàn)的方法使用至少一個基于軟件的設(shè)計工具來設(shè)計基于宏的金屬可編程集成電路。根據(jù)該方法,由非定制的原理圖表示和非定制的布局表示來表示多個宏中的每個宏。對軟件設(shè)計工具的用戶輸入被接收,并且基于用戶輸入,基于軟件的設(shè)計工具自動地生成由定制的原理圖表示和定制的布局表不所表不的至少一個個性化宏。
[0029]在另一實施方式中,提供了一種方法,該方法將金屬可編程集成電路的宏單元的電路節(jié)點進行可編程地互連。在設(shè)計階段期間,將多個潛在互連中的每個潛在互連表示為開關(guān),該開關(guān)可以被表示為連接至少兩個電路節(jié)點的線符號。對于潛在互連中的每個潛在互連,保留用于連接電路節(jié)點的物理資源,物理資源包括一個或多個過孔、一個或多個金屬線、或者一個或多個過孔與一個或多個金屬線兩者。潛在互連中的不同的潛在互連具有不同的物理布局。在物理布局階段期間,指定潛在互連中的每個潛在互連的狀態(tài);并且對于潛在連接中的每個潛在連接,對該潛在連接的一個或多個過孔、一個或多個金屬線、或一個或多個過孔與一個或多個金屬線兩者執(zhí)行布局。
[0030]在另一實施方式中,可以通過以下操作來將宏設(shè)計A轉(zhuǎn)變?yōu)楹暝O(shè)計B(不同的電路設(shè)計):在特定級別內(nèi),移除所有可編程互連開關(guān)和現(xiàn)有的互連,然后使用新的一組可編程互連開關(guān)和互連來代替??梢酝ㄟ^開關(guān)編程流程將宏A和宏B中的每個宏進一步編程為不同的個性化電路。
[0031]詳細描述
[0032]現(xiàn)在參照圖1A,示出了包括電路節(jié)點N1、N2、N3和N4的電路原理圖的一部分的圖。在該示例中,節(jié)點NI和N2是水平金屬線,而節(jié)點N3和N4是豎直金屬線。電路原理圖還包括“軟”可編程開關(guān)S1、S2、S3和S4。每個開關(guān)由兩個電路節(jié)點之間的線表示,并且通過未填充的圓圈接合至電路節(jié)點。該表示代表開關(guān)處于其未編程狀態(tài)。(注意,可以通過任何其他符號來表示開關(guān),只要能與其他電路元件區(qū)分即可)。圖1A的電路可以表示未提交或未編程的基本宏的一些電路節(jié)點。
[0033]如圖1B至圖1D中所示,可以以各種組合和配置對開關(guān)SI至S4編程,以達到基本宏的各種定制。在提交狀態(tài)下,如果開關(guān)被接通,則該開關(guān)的圓圈被填充。在圖1B中,開關(guān)SI和S4被接通,而開關(guān)S2和S3被斷開。因為開關(guān)S2和S3被斷開,因此從電路原理圖中省略了開關(guān)S2和S3。在圖1C中,僅開關(guān)S2和S3被接通。在圖1D中,僅開關(guān)SI和S2被接通。
[0034]參照圖2A,示出了使用可編程宏和如圖1中的開關(guān)的設(shè)計方法的一部分的流程圖。在傳統(tǒng)的設(shè)計方法中,邏輯(原理圖)設(shè)計和物理(布局)設(shè)計201被輸入至標準ASIC或傳統(tǒng)的門陣列設(shè)計流程220。在傳統(tǒng)的設(shè)計流程中,對于具有不同功能的宏的每個定制而言,可能存在大量邏輯(原理圖)設(shè)計和物理(布局)設(shè)計201。一般的ASIC設(shè)計流程步驟可以包括例如物理檢驗、設(shè)計規(guī)則檢查、布局對比原理圖檢查、RC寄生參數(shù)提取等。根據(jù)一個實施方式,圖2A的設(shè)計流程包括附加的定制流程步驟210,以允許使用如圖1中的軟開關(guān)的可編程宏能夠根據(jù)一個邏輯(原理圖)和物理(布局)設(shè)計201生成宏的不同個性化或功能,這可以使得開發(fā)和檢驗時間減小。在步驟211中,對不同的宏的原理圖和布局設(shè)計201進行編程。在該步驟中,移除打開的(斷開的)開關(guān),并且使用導線來短接閉合的(接通的)開關(guān)。根據(jù)確定每個開關(guān)的狀態(tài)(打開/閉合)的一個或多個開關(guān)規(guī)范(switch specificat1n)213來執(zhí)行編程。然后,將得到的經(jīng)修改的原理圖和布局設(shè)計215輸入至步驟220。
[0035]根據(jù)圖2A的設(shè)計方法,可以基于單個、未定制的原理圖和布局,使用于宏的不同編程實例(即,不同的個性化宏)的原理圖和布局的創(chuàng)建完全自動化。
[0036]參照圖2B,示出了使用可編程宏和如圖1的開關(guān)的設(shè)計方法的一部分的流程圖。與圖2A相比,劃分了標準ASIC設(shè)計流程中的步驟(圖2A中的220)。在一個實施方式中,第一組步驟220-1包括布局對比原理圖檢查(LVS)和設(shè)計規(guī)則檢查(DRC)。在附加的定制流程步驟210之前執(zhí)行這些步驟。也就是說,對未提交的布局執(zhí)行LVS和DRC步驟。在定制流程步驟210之后,執(zhí)行ASIC設(shè)計流程的剩余一組步驟220-2。
[0037]通過對未提交的布局執(zhí)行LVS和DRC,宏的不同編程實例(S卩,不同的個性化宏)的所生成的布局總是“LVS和DRC清除”,并且減小了不同的個性化宏的開發(fā)和檢驗時間。
[0038]參照圖3A和圖3B,示出了不同的可能的開關(guān)布局的示例的橫截面圖。開關(guān)被映射至串聯(lián)或并聯(lián)的或多個可編程布局層一一例如,金屬或過孔。在圖3A的示例中,開關(guān)具有V23-M3-V23配置。換言之,由開關(guān)接合的電路節(jié)點被過孔、金屬跡線和另一過孔的組合來接合。在該示例中,金屬跡線屬于金屬3層M3,而過孔屬于過孔層V23,過孔層V23位于金屬3層之下并且位于金屬2層之上。在圖3B的示例中,開關(guān)具有V23-M3-V34-M4配置,觀察相同的記號。
[0039]參照圖4A至圖4C、圖5A至圖5C以及圖6A至圖6C,不同的開關(guān)可以共享金屬/過孔編程資源的同一集合的一部分。在圖4A的示例中,節(jié)點N1、N2、N3是邏輯上被表示為水平線和豎直線的豎直金屬跡線。開關(guān)S12被定義為潛在地接合節(jié)點NI和N2。開關(guān)S13被定義為潛在地接合節(jié)點NI和N3。圖4A的原理圖表示當前未提交的基本宏設(shè)計的一部分。圖5A中示出了對應(yīng)的布局表示,示出了與節(jié)點N1、N2和N3中的每個節(jié)點對應(yīng)的金屬跡線的部分,以及用虛線示出了路徑Tl的一部分,在該部分中金屬跡線可以形成在金屬層M3上。開關(guān)S12和S13共享路徑TI。圖6A中示出了對應(yīng)的橫截面圖。在基本設(shè)計中,與節(jié)點N1、N2和N3中的每個節(jié)點對應(yīng)的金屬跡線可以占用金屬層M2。沒有結(jié)構(gòu)存在于過孔層V23和金屬層M3內(nèi)。
[0040]參照圖4B、圖5B和圖6B,根據(jù)第一定制,如由圖4B中的填充的圓圈所指示的,開關(guān)S12被接通,而開關(guān)S13被斷開(因此被刪去)。如圖5B中可見,通過與節(jié)點NI的金屬相接觸的過孔、形成在路徑Tl內(nèi)的金屬段、以及與節(jié)點N2的金屬相接觸的過孔的組合來實現(xiàn)開關(guān)S12。圖6B中示出了對應(yīng)的橫截面圖。
[0041 ]參照圖4C、圖5C和圖6C,根據(jù)第二定制,如由圖4C中的填充的圓圈所指示的,開關(guān)S13被接通,而開關(guān)S12被斷開(因此被刪去)。如圖5C中可見,通過與節(jié)點NI的金屬相接觸的過孔、形成在路徑Tl內(nèi)的更長的金屬段、以及與節(jié)點N3的金屬相接觸的過孔的組合來實現(xiàn)開關(guān)S13。圖6C中示出了對應(yīng)的橫截面圖。
[0042]如先前所描述的,如果開關(guān)斷開,則從得到的原理圖中移除該開關(guān)。同時,先前為該開關(guān)保留的資源被釋放(free up)??梢栽诓季制陂g使用這些被釋放的資源,例如作為附加的布線資源。圖7A至圖7C以及圖8A至圖8C中示出了該構(gòu)思。參照圖7A,示出了具有由M2-V23-M3-V23開關(guān)結(jié)構(gòu)所接合的兩個金屬跡線的宏的一部分的頂視圖。開關(guān)結(jié)構(gòu)S占用路徑T2的一部分。還示出了連接至信號源的金屬跡線段M3A以及連接至信號目標的金屬跡線段M3B,其中,金屬跡線段M3A和M3B兩者也占用路徑T2。因為針對開關(guān)S保留了路徑T2的一部分,因此阻擋了源和目標之間的布線。圖8A中示出了對應(yīng)的橫截面圖。
[0043]當確定開關(guān)S要被斷開時,如圖7B和圖SB所示,可以不保留先前為開關(guān)S保留的路徑T2的部分NS。因此,如圖7C和圖8C中所示,金屬段M3A和M3B可以被接合在一起,作為連接信號源與信號目標的單個金屬段M。也就是說,當在金屬/過孔-可編程基本陣列器件中已經(jīng)分配的宏資源未被使用時,可以移除屬于該資源的可編程金屬和過孔,為作為慣常的布局和布線流程的一部分的信號布線騰出地方。然后,可以通過“宏填充(macro-fill-1n)”特征使用釋放的資源(如在先前所描述的示例中接合金屬段M3A和M3B的金屬的情況下)。
[0044]在至此所描述的示例中,已假設(shè)不管開關(guān)的編程如何,屬于特定宏的器件(即,晶體管)的數(shù)量保持不變。在其他實施方式中,可以在宏之間重新分配器件(不可編程的層),從而實現(xiàn)更大范圍的可重編程性??梢岳缤ㄟ^創(chuàng)建新宏的新原理圖設(shè)計來實現(xiàn)所述重新分配,其中,只要最終布局中的基本層與初始布局中的基本層(例如,多晶硅和擴散)相匹配,設(shè)計者就具有充分的靈活性來重建電路。參照圖9A,示出了兩個宏單元A和B的部分的頂視圖,該兩個宏單元A和B均具有兩個器件。如圖1OA中所示,器件可以例如是MOS晶體管,所述MOS晶體管均具有擴散區(qū)和在擴散區(qū)之上的多晶硅柵極??梢云谕淖冊诤闍與宏B之間器件的分配。參照圖9B,在一個示例中,替代于具有兩個器件的兩個宏,已在宏之間重新分配了器件,使得現(xiàn)在宏X僅具有單個器件,而宏Y具有三個器件。圖1OB中示出了對應(yīng)圖,該對應(yīng)圖示出在擴散層和多晶硅層處的分配。注意,擴散層和多晶硅層自身未改變。
[0045]圖11示出了重新分配的另一示例。原始電路包括未編程的宏A的實例,未編程的宏A具有P晶體管Pl和P2的布置、N晶體管NI和N2的布置、開關(guān)SI和S2的布置以及相關(guān)聯(lián)的互連。如先前所描述的,通過開關(guān)編程,可以對宏A進行編程以獲得不同的個性化電路,圖11中示出了不同的個性化電路的兩個示例。通過電路重新設(shè)計和劃分,宏A可以轉(zhuǎn)變成不同的宏B。對宏B可用的器件與對宏A可用的器件相同,S卩,P晶體管Pl和P2以及N晶體管NI和N2。在該示例中,宏B也使用兩個開關(guān)SI和S2。然而,這些電路元件在宏B中被布置為與在宏A中不同,實現(xiàn)了不同的電路功能。如先前所描述的,通過開關(guān)編程,可以對宏B進行編程以獲得不同的個性化電路,圖11中示出了不同的個性化電路的兩個示例。在圖10和圖11中,虛線框表示可以在不同的宏之間重復(fù)使用的子宏。
[0046]圖12A至圖12C中不出了使用可編程開關(guān)的電路定制的另一不例。參照圖12A,電路被示出為處于未提交狀態(tài)。設(shè)置了晶體管MP3和MP3A。晶體管MP3的柵極電極被連接至輸入IN。晶體管MP3A的柵極電極的連接取決于對開關(guān)SW12-1和SW12-2的編程。如在圖12A的底部所示,開關(guān)SW12-1的物理實現(xiàn)是跡線n_5的中斷和連續(xù)。開關(guān)SW12-2的物理實現(xiàn)是將跡線n_5連接至電源總線VCC1的過孔的存在或不存在。
[0047]參照圖12B,根據(jù)第一定制,開關(guān)SW12-1被編程為閉合,而開關(guān)SW12-2被編程為打開。在原理圖中,開關(guān)SW12-1被連接線所代替。在布局圖中,使跡線11_5的金屬是連續(xù)的。在開關(guān)SWl2-2的情況下,在原理圖中,繼續(xù)由空方框表示開關(guān)SWl2-2,該空方框具有接觸跡線n_5和電源總線VCC1的接觸點。(注意,不管開關(guān)SW12-2的編程如何,跡線n_5延伸通過開關(guān)SWl2-2并且連接至開關(guān)SWl2-1。)在布局圖中,與開關(guān)SWl2-2對應(yīng)的過孔未被填充(unpopulated),其中該開關(guān)SW12-2在開關(guān)的閉合狀態(tài)下可以將跡線n_5連接至電源總線。
[0048]參照圖12C,根據(jù)第二定制,開關(guān)SW12-2被編程為閉合,而開關(guān)SW12-1被編程為打開。在原理圖中,開關(guān)SWl2-2被連接線所代替。在布局圖中,與開關(guān)SWl2-2對應(yīng)的過孔被填充,以將跡線n_5連接至電源總線。在開關(guān)SW12-1的情況下,在原理圖中,開關(guān)SW12-1繼續(xù)用空方框來表示,其中該空方框具有接觸跡線11_5和輸入IN的接觸點。在布局圖中,使跡線11_5的金屬中斷。
[0049]本領(lǐng)域的技術(shù)人員將意識到,在不偏離本發(fā)明的精神或必要特征的情況下,可以以其他特定形式來實施本發(fā)明。因此,前述在所有方面意圖是說明性的而非限制性的。由所附權(quán)利要求,而不是前述描述來指示本發(fā)明的范圍,并且落入本發(fā)明的等同物的含義和范圍內(nèi)的所有改變都意圖被包括在本發(fā)明的范圍內(nèi)。
【主權(quán)項】
1.一種將金屬可編程集成電路的宏單元的電路節(jié)點進行可編程互連的計算機實現(xiàn)的方法,包括:在設(shè)計階段期間:在計算機存儲器中將多個潛在互連中的每個潛在互連表示為連接至少兩個電路節(jié)點的圖形特征,并且顯示所述金屬可編程集成電路的設(shè)計的至少一部分,所述至少一部分示出所述圖形特征的實例;以及對于所述多個潛在互連中的每個潛在互連,保留用于連接所述至少兩個電路節(jié)點的物理資源,所述物理資源由導體構(gòu)成并且包括一個或多個過孔、一個或多個金屬線、或者一個或多個過孔與一個或多個金屬線兩者;其中,所述多個潛在互連中的不同的潛在互連具有不能互相取代的不同的物理布局;以及在物理布局階段期間:在計算機存儲器中將所述多個潛在互連中的每個潛在互連的狀態(tài)指定為連接或斷開,其中,所述多個潛在互連中的一些潛在互連被指定為連接,并且所述多個潛在互連中的一些潛在互連被指定為斷開;以及對于被指定為連接的多個潛在互連中的每個潛在互連,對包括所述潛在互連中的相應(yīng)潛在互連的一個或多個過孔、一個或多個金屬線、或者一個或多個過孔與一個或多個金屬線兩者進行布局。2.根據(jù)權(quán)利要求1所述的方法,包括:對于被指定為斷開的所述潛在互連的子集,從所述金屬可編程集成電路的表示中移除所述潛在互連的所述子集。3.根據(jù)權(quán)利要求2所述的方法,其中,移除所述潛在互連的子集產(chǎn)生釋放的物理資源,所述方法包括在布線過程期間使用所釋放的物理資源。4.根據(jù)權(quán)利要求1所述的方法,其中,對所述一個或多個過孔、一個或多個金屬線、或者一個或多個過孔與一個或多個金屬線兩者進行布局導致將器件從第一宏單元重新分配至第二宏單元。5.根據(jù)權(quán)利要求1所述的方法,其中,所述多個潛在互連中的不同的潛在互連共享物理資源。6.—種將金屬可編程集成電路的宏單元的電路節(jié)點進行可編程互連的計算機執(zhí)行的方法,包括:在設(shè)計階段期間:在計算機存儲器中將多個可編程開關(guān)中的每個可編程開關(guān)表示為連接至少兩個電路節(jié)點的線,并且顯示所述金屬可編程集成電路的設(shè)計的至少一部分,所述至少一部分示出所述線的實例;以及對于所述多個可編程開關(guān)中的每個可編程開關(guān),保留用于連接所述至少兩個電路節(jié)點的物理資源,所述物理資源由導體構(gòu)成并且包括一個或多個過孔、一個或多個金屬線、或者一個或多個過孔與一個或多個金屬線兩者;其中,所述多個可編程開關(guān)中的不同的可編程開關(guān)具有不能互相取代的不同的物理布局;以及在物理布局階段期間:在計算機存儲器中將所述多個可編程開關(guān)中的每個可編程開關(guān)的狀態(tài)指定為連接或斷開,其中,所述多個可編程開關(guān)中的一些可編程開關(guān)被指定為連接,并且所述多個可編程開關(guān)中的一些可編程開關(guān)被指定為斷開;以及對于被指定為斷開的多個可編程開關(guān)中的每個可編程開關(guān),對包括所述可編程開關(guān)中的相應(yīng)可編程開關(guān)的一個或多個過孔、一個或多個金屬線、或者一個或多個過孔與一個或多個金屬線兩者進行布局。
【文檔編號】G06F17/50GK106030582SQ201480066013
【公開日】2016年10月12日
【申請日】2014年12月4日
【發(fā)明人】喬納森·帕克, 劉殷豪, 李嘉健
【申請人】貝圣德公司