專利名稱:半導體集成電路和其設計方法
技術領域:
本發明涉及半導體集成電路和其設計方法,具體地說,本發明涉及母片型半導體集成電路和其布圖設計方法。
背景技術:
傳統上,在許多情形中,通過利用諸如基于單元的(cell base)LSI和FPGA(現場可編程門陣列)之類的半導體集成電路,來實現ASIC(專用集成電路),ASIC是用于特殊使用目的的半導體集成電路。例如,通過以單元為基礎(基本單元)組合作為基礎的晶體管來完成基本布線,并將基本單元組合為對應于使用目的的期望電路,然后形成必要的線路,來執行在基于單元的LSI中ASIC的開發。
在門陣列中,前述基本單元規則放置在半導體芯片中,在這樣的門陣列中,只有最上層線路可以根據使用目的改變,以方便ASIC的設計和制造,而其他線路層的線路是固定線路(例如,參見專利文獻1和專利文獻2)。
日本專利申請早期公開No.6-163860[專利文獻2]日本專利申請早期公開No.2-30163在傳統的ASIC開發中,對于每個ASIC(對于每種產品)都要執行設計基本單元和線路的組合的過程,以實現用戶要求的功能。因此,對于每種產品,都要制作用于將設計電路形成在半導體芯片上的掩模(光罩)。
近年來,隨著半導體集成電路的微制造技術的發展,能夠被集成在一個半導體芯片上的電路規模也隨之增大,并且在ASIC的開發中,開發周期的延長以及設計和制造的復雜度也在增加。由于半導體集成電路的微制造技術和隨之而來的電路規模的增大,每一個掩模(光罩)的成本變高,所需要的掩模數增加,從而極大地提升了制造一種ASIC所需的掩模成本。因此,需要縮短開發周期和降低開發成本。
發明內容
本發明的目的是可以減小在開發對應于使用目的的半導體集成電路時的負擔。
本發明的半導體集成電路是母片型半導體集成電路,其特征在于具有基體層和以多個層的形式順序形成在基體層上的多個線路層,其中,在基體層上形成有實現預定電路功能的多個基體圖案,多個線路層包括其線路圖案可由用戶改變的可變線路圖案和其線路圖案不可由用戶改變的固定線路層,并且該母片型半導體集成電路的特征還在于被固定且選定的多個基體圖案預先放置在整個芯片表面上能夠在基體層中形成基體圖案的區域處。
根據上述構造,基體圖案被預先固定并放置在整個芯片表面上能夠在基體層中形成基體圖案的區域處,從而,可以通過只設計可變線路層的線路,并產生用于形成可變線路層中所設計線路的掩模,來制造對應于使用目的的半導體集成電路。
圖1是示出了根據本發明第一實施例的半導體集成電路的配置示例的視圖;圖2是示出了根據第一實施例的半導體集成電路的配置示例的截面圖;圖3A到3E用于解釋形成在基體圖案上的線路(線路圖案);圖4A和4B是用于解釋輸入/輸出端的線路圖案的視圖;圖5是示出了根據第一實施例的半導體集成電路的具體配置示例的視圖;圖6是示出了根據第一實施例的半導體集成電路的具體配置示例的視圖;圖7A和7B是示意性地示出了第一實施例中半導體集成電路的布圖設計方法的視圖;圖8A和8B是示出了第一實施例中半導體集成電路的布圖設計方法的流程圖;圖9是示出了能夠執行本發明每個實施例中的半導體集成電路的布圖設計方法的計算機功能的視圖;圖10是示出了根據第一實施例的半導體集成電路的另一個配置示例的視圖;圖11是示出了根據本發明第二實施例的半導體集成電路的配置示例的視圖;圖12A、12B和12C是示出了固定宏的一個示例的視圖;圖13是示出了根據第二實施例的半導體集成電路的具體配置示例的視圖;圖14是示意性地示出了第二實施例中半導體集成電路的布圖設計方法的視圖;圖15是示出了第二實施例中半導體集成電路的布圖設計方法的流程圖;圖16是示出了根據第二實施例的半導體集成電路的另一個配置示例的視圖;圖17A和17B是示意性地示出了第二實施例中半導體集成電路的另一種布圖設計方法的視圖;圖18是示出了根據本發明第三實施例的半導體集成電路的特性的電路配置圖;圖19是示出了第三實施例中半導體集成電路的另一個電路修改示例的視圖;圖20是示出了第三實施例中半導體集成電路的另一個電路修改示例的視圖;圖21是示出了第三實施例中半導體集成電路的另一個電路修改示例的視圖;圖22是示出了第三實施例中半導體集成電路的電路封裝的一個示例的視圖;圖23是示意性地示出了根據每個實施例中的半導體集成電路中的基體圖案的初始放置的布圖設計方法的視圖;圖24是示出了根據每個實施例中的半導體集成電路中基體圖案的初始放置的布圖設計方法的流程圖。
具體實施例方式
下面,將基于附圖解釋本發明的實施例。
在下面的解釋中,在根據本發明實施例的半導體集成電路中,“基體層(bulk layer)”指形成有晶體管的多晶硅基底、擴散層等等,并且不包括線路層。即,基體層對應于具有晶體管層和線路層的傳統的基于單元的LSI中的晶體管層。
“基體(bulk)”是制作在基體層上的包括預定電路功能的功能模塊,即所謂的宏。
-第一實施例-圖1示出了根據本發明第一實施例的半導體集成電路的配置示例,更具體地說,示出了半導體集成電路中基體層的配置示例。
在圖1所示的半導體芯片1(下文中,整個半導體芯片1也稱為“框架”)中,根據第一實施例的半導體集成電路具有多種基體(基體圖案)。圖1所示示例中的半導體集成電路有8個第一基體圖案B1、144個第二基體圖案B2、16個第三基體圖案B3、24個第四基體圖案B4和344個第五基體圖案B5。
在該實施例(包括后述的其他實施例)中,第一基體圖案B1被設為PLL(鎖相環)電路的功能模塊(PLL宏),第二基體圖案B2被設為輸入和輸出電路的功能模塊(I/O宏)。第三和第四基體圖案B3和B4分別被設為存儲器(RAM)的功能模塊(第一和第二RAM宏),第一RAM宏和第二RAM宏至少在尺寸和功能(例如,端口數、字的位數等)其中之一上有所不同。第五基體圖案B5被設為這樣的功能模塊(單位單元),用戶可利用該功能模塊可選地構造邏輯,并且第五基體圖案B5對應于傳統門陣列中被稱為基本單元的東西。
從圖1清楚可見,在根據第一實施例的半導體集成電路中,不僅放置對應于傳統門陣列的基本單元的第五基體圖案B5(單位單元),而且放置最少種類的基體圖案B1到B5,使得它們被鋪設在框架1內部。即,根據第一實施例的半導體集成電路通過預先以固定的規則嵌入基體圖案B1到B5來被構造,其中基體圖案B1到B5被給定了各種功能,并且在所有鋪設有對應于傳統晶體管層的基體層的基體圖案的部分(區域)中形成某些電路功能。
基體圖案B1到B5和其在框架1中的放置不能在用戶側改變(定制)。至于框架1中基體圖案B1到B5的放置,所希望的是,其放置的方式能實現估計為大多數用戶所希望獲得的電路配置,或者能實現估計經常被用戶所使用的電路配置。
這里,在基體中,相同基體圖案,即具有相同電路功能的基體圖案,具有相同尺寸和相同圖形圖案(多晶硅、擴散層、接觸等),但是在基體中,不同的基體圖案至少在尺寸或圖形圖案其中之一上有所不同。我們希望每個基體圖案B1到B5的尺寸都是標準單元(標準化尺寸的參考單元)的尺寸的整數倍,但是有時也會包括尺寸不等于標準單元尺寸整數倍的基體圖案。每個基體圖案B1到B5能夠由形成在每個基體圖案B1到B5上的線路(線路圖案)來控制電路功能,這將在下文描述。
至于每個基體圖案B1到B5中的晶體管(p溝道晶體管和n溝道晶體管)的尺寸,以完全定義化的尺寸構造晶體管,從而使用戶不能自由改變其尺寸。
圖2是示出根據第一實施例的半導體集成電路的配置示例的截面圖。
在圖2中,標號3表示具有基體層BL的半導體襯底(芯片)。在基體層BL上方,提供了形成為多個層的第一到第六線路層PL1到PL6,用于使用Cu(銅)、Al(鋁)等形成金屬線路(下文中為了解釋方便,從基體層BL一側開始,順序稱為第一、第二、第三、第四、第五和第六線路層)。形成在每個線路層PL1到PL6中的線路通過層間絕緣膜與不同的線路層絕緣,并且在必要情況下利用過孔連接到不同線路層的線路。
在根據第一實施例的半導體集成電路中,形成在第一、第五和第六線路層PL1、PL5和PL6中的線路是線路圖案不可改變的固定線路,而形成在第二、第三和第四線路層PL2、PL3和PL4中的線路是線路圖案可改變的可變線路。即,第一、第五和第六線路層PL1、PL5和PL6是不能被定制的固定線路層,而第二、第三和第四線路層PL2、PL3和PL4是能夠被定制的可變線路層。
在上述解釋中,為了解釋的方便,只在被稱為固定線路層和可變線路層的各自線路層中實現固定線路和可變線路,但是可以只通過形成在線路層中的線路、或只通過位于線路層之間的過孔、或者通過形成在線路層中的線路和位于線路層之間的過孔的組合,來實現固定線路和可變線路。換句話說,當提及分別在其中形成固定線路和可變線路的固定線路層和可變線路層時,所指的只是線路層、或者只是位于線路層之間的過孔、或者線路層和位于線路層之間的過孔的組合。
例如,通過能夠被定制的可變線路層中的線路,可以將電源提供給形成在基體層中的電路,并且可以切換內部邏輯配置。即使是能夠被定制的可變線路層有時也包括使形成在基體層BL中的電路工作的必要線路。
圖3A到3E是用于解釋形成在基體圖案上的線路(線路圖案)的視圖。圖3A到3E示出了分別形成在第一到第五基體圖案B1到B5上的線路圖案。
如圖3A到3E中所示,每個基體圖案B1到B5都具有對應于每個基體圖案的多個線路圖案。該多個線路圖案被分別給予指示標準單元類型的特殊單元名的代碼(例如,對于形成在第一基體圖案B1上的線路圖案為B1A、B1B和B1C)作為標識信息,并且可以由代碼唯一地確定線路圖案。
至于相同的基體圖案B1到B5,可以將線路圖案改變為對應于其的多個線路圖案中的任何線路圖案。例如,作為將被形成在第二基體圖案B2上的線路圖案,可以選擇線路圖案B2A、B2B、B2C和B2D中的任何一個,并將其應用到不同位置的基體圖案中的每一個上。
對應于相同基體圖案的多個線路圖案是彼此不同的線路圖案,并且根據形成在基體層中的電路,在基體圖案中包括用于向電路提供電源的線路的線路圖案、連接到或不連接到向終端提供邏輯(“1”或“0”)的電源的線路的線路圖案等等,其中終端切換電路內部的模式。因此,通過改變基體圖案上的線路圖案,可以控制(改變)由基體圖案實現的電路功能。
優選地,在對應于相同基體圖案的線路圖案中,單元尺寸以及提供相對于外部的輸入和輸出端的位置都是相同的,即固定的。例如,如圖4A中所示,在用于通過第五基體圖案B5實現具有兩輸入(IN1、IN2)和一輸出(OUT1)的某一邏輯5的線路圖案的情形中,提供相對外部的輸入端6和7以及輸出端8的位置是固定的,并且在線路圖案B5A′中對應于邏輯5,其他線路被制成不同的,如圖4B中所示。另外優選地,固定線路層和可變線路層之間的接口部分類似地也是固定的。
圖5和6示出了根據第一實施例的半導體集成電路的具體配置示例。
圖5示出了對如圖1所示放置每個基體圖案B1到B5的半導體集成電路,在執行對應于用戶需求的用戶布圖處理之前的半導體集成電路。
如圖5中所示,在根據第一實施例的半導體集成電路中,在用戶布圖處理之前的初始狀態,對于每個基體圖案B1到B5設置被預先設為初始值的線路圖案。在圖5所示的示例中,對于第一基體圖案B1設置線路圖案B1A,對于第二基體圖案B2設置線路圖案B2A。類似地,對于第三、第四和第五基體圖案B3、B4和B5設置線路圖案B3A、B4A和B5A。例如被設為用于每個基體圖案B1到B5的初始值的線路圖案對于每種基體圖案B1到B5來說是可選擇的,并且希望在用戶布圖處理中線路圖案的改變量較小。
在半導體集成電路中,在用戶布圖處理之前的初始狀態,將觸發器(FF)、時鐘緩沖器、用于應對電源噪聲的電容單元(解耦合單元)等放置使得其規則排列,并且預先執行應對串擾等的復雜和困難的設計,在現有技術中,該設計與用戶布圖處理一起執行。在圖3所示的線路圖案中,在某一限定線路層(例如,第一線路層PL1)中包括有提供時鐘信號的線路圖案(根據時鐘樹的線路圖案)、測試電路的線路圖案和用于電源的線路圖案,從而使得這些線路可以在用戶布圖處理之前的初始狀態階段被構造到半導體集成電路中,或者其可以根據用戶需求只用在必要的場合。
圖6示出了對圖5中所示的半導體集成電路執行了用戶布圖處理之后的半導體集成電路。
在圖6所示的示例中,某些基體圖案B1′的線路圖案被從B1A替換(改變)為B1B,某些基體圖案B2′的線路圖案被從B2A改變為B2D。某些第三、第四和第五基體圖案B3′、B4′和B5′的線路圖案被分別從B3A、B4A、B5A改變為B3D、B4D、B5D。
未示出線路圖案的基體圖案B1″、B2″、B3″、B4″和B5″是未使用的基體圖案,并且這些基體圖案自身被留下但是可刪除線路從而將其釋放為其他線路的線路通道。通過將附于線路圖案的代碼替換為標識信息,來執行用戶布圖處理中線路圖案的替換,細節將在后面描述。
如上,在第一實施例的半導體集成電路中,在基體圖案保持通用,即,基體層(晶體管層)的結構不改變且固定的情況下,只改變了附于形成在每個基體圖案的線路層上的線路圖案的代碼,從而可以改變線路圖案,并且可以容易地切換要實現的電路功能(宏的功能)。
在第一實施例的半導體集成電路中,可根據用戶需求而變化的部分(可定制部分)限于線路層的一部分,而包括基體層的其他部分仍然通用。因此,可以在短時間內容易地進行設計,并且當實際制造半導體集成電路時,可以通過在用戶側只是根據可變化部分的線路層制作掩模(光罩),來制造具有希望功能的半導體集成電路。
例如,在PLL宏(第一基體圖案B1)的情形中,可以通過僅僅改變線路圖案,來執行改變VCO(電壓控制振蕩器)頻率、設置分頻比、改變反饋端到外部的擴展和非擴展、當在內部包括多個模塊時對使每個模塊的有效和禁止的改變等等操作。在I/O宏(第二基體圖案B2)的情形中,可以執行改變驅動力和I/O種類、在高速I/O(HSIO)為示例的情形中設置發送-接收通道數和改變精細功率控制、在與SSTL標準(存儲器接口標準)一致的I/O情形中切換類1和類2(改變I/O單元的驅動力)、改變操作電壓等等操作。
在RAM宏(第三、第四基體圖案B3、B4)的情形中,執行了改變字比特電路配置及速度和功率控制的操作,并且幾乎所有的線路層當不使用時都是開放的。在單位單元(第五基體圖案B5)的情形中,可以執行某些輸入端的VDD(電源電位)/VSS(參考電位)的自動箝位、改變驅動力、門延遲的上升/下降特性、通過保持后續管腳(電源線)和支撐的強化、通過釋放預先設置的邏輯或其他邏輯的再分配來開放作為線路通道等等操作。
下面將解釋第一實施例中半導體集成電路的布圖設計方法。
圖7A和7B示意性地示出了第一實施例中半導體集成電路的布圖設計方法。
圖7A示出了在如圖5所示的初始狀態中半導體集成電路的設計方法。
在初始狀態半導體集成電路的設計中,通過參考框架1中的基體圖案放置數據71和每個基體的線路圖案表72,來執行線路圖案的初始值選擇處理P1,其中,基體圖案放置數據71是在如圖1所示的基體圖案放置在整個框架1中的情況下,框架1中基體圖案的放置信息,每個基體的線路圖案表72示出了對應于該基體圖案的多個線路圖案,如圖3所示。
在線路圖案的初始值選擇處理P1中,根據預先從線路圖案表72設置的初始值,來選擇每個基體圖案的線路圖案,并將該線路圖案設為基體圖案的線路圖案。通過該處理P1,獲得了初始線路圖案設置框架數據73,在數據73中,對每個基體圖案設置了相同的線路圖案,如圖5所示。
圖7B示出了根據對應于用戶需求的期望半導體集成電路的用戶布圖設計方法。
在用戶布圖設計中,通過參考如上所述獲得的初始線路圖案設置框架數據73和每個基體的線路圖案表72,來執行用戶布圖處理P2。
在該用戶布圖處理P2中,對于放置在框架1中的每個基體圖案,輸入合適的線路圖案的代碼,并且基于輸入的線路圖案代碼,將每個基體圖案的線路圖案從被設為初始值的線路圖案改變并設置為該合適的線路圖案,從而使得初始線路圖案設置框架變為對應于用戶需求的期望半導體集成電路。可以對放置在框架1中的所有基體圖案輸入線路圖案代碼,或者可以只輸入需要替換線路圖案的基體圖案的線路圖案代碼。
通過用戶布圖處理P2,獲得了用戶布圖完成框架數據74,數據74實現了對應于用戶需求的期望電路功能,如圖6所示。基于該用戶布圖完成框架數據74,可以只產生與形成在可變線路層中的線路圖案有關的掩模,從而可以制造對應于用戶需求的期望半導體集成電路。
下面將詳細解釋第一實施例中半導體集成電路的布圖設計方法。
圖8A和8B是示出了第一實施例中半導體集成電路的布圖設計方法的流程圖,圖8A對應于圖7A中所示的設計方法,而圖8B對應于圖7B中所示的設計方法。
在圖8A中,在步驟S1,輸入基體圖案放置數據和線路圖案的初始值(初始線路圖案的代碼)。
接著在步驟S2,通過參考每個基體的線路圖案表,選擇對應于步驟S1中輸入的線路圖案的初始值的線路圖案。
在步驟S3,將步驟S2中選擇的線路圖案設為基體圖案的初始線路圖案。
隨后在步驟S4,判定是否存在未設置初始線路圖案的基體圖案。當該判定結果為存在未設置初始線路圖案的基體圖案時,流程返回步驟S2,并且再次執行前述處理。
另一方面,當步驟S4中判定結果為不存在未設置初始線路圖案的基體圖案時,即,當對所有基體圖案都已完成初始線路圖案設置時,生成并輸出初始線路圖案設置框架數據,從而在步驟S5完成處理。
在圖8B中,在步驟S11,輸入初始線路圖案設置框架數據和替換線路圖案數據。這里,替換線路圖案數據是指示出了在半導體集成電路中,用于實現對應于用戶所需求的功能的線路圖案的代碼的數據。
在步驟S12,初始化用于一個接一個地順序掃描放置在框架1中的基體圖案的掃描座標。
接著在步驟S13,掃描對應于掃描座標的基體圖案,并且判定是否執行線路圖案的替換。當判定結果為要執行線路圖案替換時,流程到達步驟S14,而當結果為不需要執行替換時,流程到達步驟S16。
在步驟S14,參考目標基體圖案的線路圖案表,并且選擇對應于在步驟S11中輸入的作為替換線路圖案數據的線路圖案代碼的線路圖案。
在步驟S15,用在步驟S14中選擇的線路圖案替換目標基體圖案的線路圖案,并設置該線路圖案。
在步驟S16,判定是否有未被掃描的基體圖案。當判定結果為有未掃描基體圖案時,在步驟S17中設置下一次掃描座標,并且流程返回步驟S13。
另一方面,當在步驟S16中判定結果為沒有未掃描基體圖案時,在步驟S18中生成并輸出用戶布圖完成框架數據,處理完成。
在第一實施例中,如圖1所示的基體圖案的放置只是一個示例,只要基體圖案放置在框架1的內部,其放置方式是可選的。例如,可以布置更多的PLL宏(第一基體圖案B1),或者可以放置更多的RAM宏(第三或第四基體圖案、B3或B4)。另外,不同基體圖案的多種放置方式被保存為數據,并且可以從中選擇一種。對應于圖3所示示例的每個基體圖案的線路圖案數是可選的。
在前述第一實施例中,基體圖案B1到B5中的每一個被獨立放置在框架1中,但是例如如圖10所示,兩個第三基體圖案B3、三個第四基體圖案B4和32個第五基體圖案B5的組合可以被布置為與基體圖案類似的基本模塊BB1。圖10中所示的基本模塊BB1只是一個示例,基本模塊BB1并不限于此。
-第二實施例-下面將解釋本發明的第二實施例。
第二實施例是通過將由用戶設計的用于實現通用電路功能的預先設計信息(基體圖案的放置信息、線路信息等等)準備為庫,并利用該庫執行設計,來減少與半導體集成電路開發有關的時間和成本以減小負擔,其中通用電路功能例如是可由許多用戶使用的電路功能。
圖11示出了根據本發明第二實施例的半導體集成電路的配置示例,更具體地說,示出了半導體集成電路中基體層的配置示例。
如圖11中所示,在根據第二實施例的半導體集成電路中,多個最少種類的基體圖案B1到B5被布置在框架1中,以鋪放在可形成基體圖案的區域上。因此,在根據第二實施例的半導體集成電路中,與第一實施例類似,在框架1中放置有基體層的基體圖案的所有部分(區域)中形成某些電路功能。
在第二實施例中,當基體圖案B1到B5被放置在框架1中時,通過將多個被選擇并固定的基體圖案組合在一起來構造基本模塊BLK,并且基本模塊BLK被放置在框架1的預定區域中。此時,放置盡可能多的基本模塊BL以將其鋪放在框架1的預定區域中。在該實施例中,提供了固定(firm)宏(庫),固定宏是預先設計的,并且通過使用N(N是可選自然數)個基本模塊BLK,實現預定電路功能。
至于預定區域中的剩余區域,可以適當地放置基體圖案(例如,第五基體圖案B5),或者可以作為空區域而不放置基體圖案,其中剩余區域是指在基本模塊BLK被放置在框架1的預定區域中之后剩余的區域。
例如,在圖11所示的示例中,通過將一個第三基體圖案(第一RAM宏)B3、兩個第四基體圖案(第二RAM宏)B4和18個第五基體圖案(單位單元)B5組合在一起,來構造一個基本模塊BLK。在框架1的預定區域中,放置基本模塊BLK以使其鋪放在該區域上,并且放置了16個基本模塊BLK。這里,框架1中的放置基本模塊BLK的預定區域是指從框架1中可形成基體圖案B1到B5的區域中排除放置了用戶禁止使用的基體圖案的區域而獲得的區域,并且例如是框架1中用戶可實現可選電路功能的區域,但除去布置有第一基體圖案(PLL宏)B1和第二基體圖案(I/O宏)B2的區域(換句話說,布置有與外部接口有關的基體圖案和與時鐘控制有關的基體圖案的區域)。
在圖11所示的示例中,第五基體圖案B5被放置在預定區域的剩余區域中。
根據第二實施例的半導體集成電路中與基體層BL和線路層PL1到PL6有關的堆疊結構與圖2中所示的根據第一實施例的半導體集成電路中的相同,因此省略其解釋。
圖12A、12B和12C示出了通過使用N個如上所述的基本模塊BLK,實現特定電路功能的固定宏的示例。在固定宏中,注冊通過預先執行用于實現特定電路功能的布圖設計而獲得的信息,并且例如將具有經常被用戶使用的設計的通用電路功能注冊為固定宏。例如,作為可通過使用固定宏實現的電路功能的示例,列舉了用于AV設備、服務器設備、存儲設備、圖像處理等的CPU和處理器,與每個高速I/O標準一致的數據鏈路層的處理電路(高速I/O的接口電路)等。
固定宏具有基體圖案的放置信息和線路信息作為預先設計的數據,這些信息用于在基本模塊BLK單元中實現預定電路功能。基體圖案的放置信息包括與放置座標和基體圖案種類有關的信息,而線路信息包括與示出了形成線路的位置的座標和線路層有關的信息。這些種類信息中的座標值是以基本模塊BLK中的預定位置作為參考的座標值。
在圖12A到12C所示的示例中,在線路層PL1到PL6中具有用于實現預定電路功能的線路的基體圖案,即,被用于實現電路功能且在線路層中形成有線路的基體圖案被以陰影線示出。
圖12A示出了第一固定宏FM1,FM1利用一個基本模塊BLK實現了特定電路功能(特定電路功能注冊在一個基本模塊BLK中)。第一固定宏FM1通過一個第三基體圖案B3和六個第五基體圖案B5實現了該特定電路功能。
圖12B示出了第二固定宏FM2,FM2利用一個基本模塊BLK實現了特定電路功能。第二固定宏FM2通過一個第三基體圖案B3、兩個第四基體圖案B4和四個第五基體圖案B5實現了該特定電路功能。
圖12C示出了第三固定宏FM3,FM3利用兩個基本模塊BLK實現了特定電路功能。第三固定宏FM3通過一個基本模塊BLK中的一個第三基體圖案B3、一個第四基體圖案B4和七個第五基體圖案B5以及另一個基本模塊BLK中的一個第三基體圖案B3、一個第四基體圖案B4和六個第五基體圖案B5實現了該特定電路功能。
圖13示出了根據第二實施例的半導體集成電路的具體配置示例。
圖13示出了當固定宏FM1到FM3對應于用戶需求被分配給框架1的基本模塊BLK中時的半導體集成電路。
通過依據基本模塊BIK單元將根據固定宏FM1到FM3的基體圖案的放置信息和線路信息應用到向其指定了分配的基本模塊BLK并反映這些信息(下文中也稱為“返回”),來執行固定宏FM1到FM3的分配。從而,指定的可選基本模塊BLK可被替換為特定電路功能,例如處理器和高速I/O接口電路。
當固定宏FM1到FM3的基體圖案的放置信息和線路信息被應用到基本模塊BLK時,基于框架1中指定基本模塊BLK的放置位置(放置座標),來轉換基體圖案放置信息和線路信息中的座標值。即,根據指定基本模塊BLK的位置,來轉換并返回固定宏FM1到FM3的基體圖案放置信息和線路信息中的座標值。通過使用諸如CAD系統的具有座標轉換(計算)功能的設計系統,可以進行該處理。當基體圖案的放置信息和線路信息都被返回到指定基本模塊BLK時,不是這兩種信息都被返回,并且可以只返回基體圖案的放置信息,至于線路,則可以執行再布線。
用戶可以通過使沒有被不分配給固定宏FM1到FM3的基本模塊(圖13中是基本模塊UBK)可由用戶自由使用,在這樣的基本模塊的基體圖案B1到B5和線路通道中形成可選電路功能,或使其不可由用戶使用。另外,即使當固定宏FM1到FM3被分配給基本模塊時,也可以釋放固定宏FM1到FM3中未使用的基體圖案B1到B5和線路通道,從而使用戶可以自由使用它們。
如上所述,在根據第二實施例的半導體集成電路中,在用戶設計中被預先設計以實現通用電路功能的固定宏FM1到FM3的信息(基體圖案的放置信息、線路信息等等)被預備為庫,并且當執行半導體集成電路的設計時使用該庫,從而只需通過簡單的操作,即對于提供為固定宏FM1到FM3的電路功能,應用已經存在的基本模塊的放置信息和線路信息,就可以完成基本電路設計,并且可以實現期望電路功能,而不需進行基體圖案放置和其線路的設計。因此,通過減少與半導體集成電路開發有關的時間周期和成本,可以極大地減少負擔。也可以獲得與第一實施例相同的效果。
下面將解釋第二實施例中半導體集成電路的布圖設計方法。
圖14示意性地示出了第二實施例中半導體集成電路的布圖設計方法。
在根據第二實施例的半導體集成電路的設計中,通過參考基本模塊放置數據141和固定宏庫142,來執行固定宏分配處理P11,其中,數據141是框架1中基本模塊的放置信息,基本模塊被放置使得被鋪放在框架1中的預定區域上,如圖11所示,固定宏庫142示出了固定宏,如圖12所示。
在固定宏分配處理P11中,根據用戶對框架1中每個基本模塊的設置值,從固定宏庫142中選擇預先設計的固定宏,并且將該固定宏設為基本模塊的固定宏。通過該處理P11,得到固定宏已分配框架數據143,在該數據143中,為每個基本模塊分配了固定宏,如圖13所示。
另外,執行放置/線路信息返回處理P12,用于根據固定宏,將基體圖案的放置信息和線路信息返回到指定基本模塊。
放置/線路信息返回處理P12是這樣的處理,其對于每個分配的固定宏,將基體圖案放置信息和線路信息返回到基本模塊,或者當在布圖中使用已經存在于基本模塊中的諸如時鐘線路和測試電路線路的線路時,只將基體圖案放置信息返回到基本模塊。通過處理P12,獲得了用戶布圖完成框架數據144,該數據144具有根據用戶設置在框架1中實現期望電路功能的固定宏的布圖。
下面將詳細解釋第二實施例中半導體集成電路的布圖設計方法。
圖15是示出了第二實施例中半導體集成電路的布圖設計方法的流程圖。
首先,在步驟S21,輸入固定宏的設置值,其示出了被分配給布置在框架1的預定區域中的基本模塊的固定宏。
在步驟S22,初始化用于一個接一個地順序掃描放置在框架1中的基本模塊的掃描座標。
隨后在步驟S23,基于在步驟S21中輸入的固定宏的設置值,選擇被分配給對應于掃描座標的基本模塊的固定宏。
在步驟S24,判定是否返回為基本模塊選定的固定宏的線路信息。當判定的結果為返回固定宏的線路信息時,流程到達步驟S25,并且將固定宏的線路信息返回到基本模塊。另一方面,在基本模塊的布圖中已經使用了諸如時鐘線路和測試電路線路的線路的情況下,當判定結果為不返回固定宏的線路信息時,則跳過步驟S25。
接著在步驟S26,將所選的固定宏的基體圖案的放置信息返回到基本模塊。
即,在步驟S24到S26的處理中,在基本模塊等的布圖中已經使用了諸如時鐘線路和測試電路線路的線路的情形中,考慮到可能會使已經存在的線路發生問題,不返回固定宏的線路信息,此時只是將固定宏中基體圖案的放置信息返回到基本模塊,否則,要將固定宏中基體圖案的放置信息和線路信息都返回到基本模塊。
在步驟S27,判定是否有還未被掃描的未掃描的基本模塊。當判定的結果為存在未掃描的基本模塊時,在步驟S28中設置下一次掃描座標,然后流程返回到步驟S23。
當在步驟S27中判定的結果為不存在未掃描的基本模塊時,在步驟S29中生成并輸出用戶布圖完成框架數據,并且處理完成。
在前述的第二實施例中,這樣的半導體集成電路被示為如圖11所示的一個示例,在該半導體集成電路中,放置一種基本模塊BLK,以使其鋪放在位于框架1中的預定區域上,但是本發明并不限于此,并且可以在框架1的預定區域中放置多種基本模塊。當使用多種基本模塊時,每個基本模塊的尺寸可以相同,也可以不同。即,基本模塊的尺寸是可選的。
在圖11中所示根據第二實施例的半導體集成電路中,放置在框架1的預定區域中的基本模塊都沿同一方向對齊放置,但是這些基本模塊也可以以基本模塊中預定位置作為中心,旋轉預定角度放置,或者被反轉以相對于基本模塊中某些軸對稱放置。當固定宏被分配給被旋轉或反轉放置的基本模塊時,對于固定宏的基體圖案的放置信息和線路信息中的座標值,也執行對應于旋轉或反轉的座標轉換處理。
例如,如圖16所示,可以在框架1的預定區域中放置兩種基本模塊BLK1和BLK2,其中,第一基本模塊BLK1組合了一個第三基體圖案B3、兩個第四基體圖案B4和18個第五基體圖案B5,第二基本模塊BLK2組合了一個第四基體圖案B4和20個第五基體圖案B5。例如在圖16中,可以與基本模塊BLK1一同布置基本模塊BLK1′,基本模塊BLK1′是基本模塊BLK1以基本模塊BLK1內部的點或軸作為參考旋轉或對稱移動而得到的。
如上所述,有各種基本模塊的放置方法,因此,多種不同的基本模塊的放置圖案被保存為數據(框架庫),并且當設計半導體集成電路時可以從中選擇一種。
圖12和13中所示的固定宏FM1到FM3和其放置示例只是示例,并且不限于此。例如,可使用不同的基本模塊BLK1和BLK2來構造一個固定宏,作為圖16中所示的固定宏FM4。當一個固定宏由多個基本模塊構成時,并不需要將基本模塊之間互相接觸地組合在一起,換句話說,并不需要基本模塊的任意一側與另一個基本模塊的任意一側重疊,并且作為圖16中所示的固定宏FM3′,固定宏被分配給其的基本模塊可以是分離的。當固定宏被分配給其的基本模塊是分離的時,要對對應于該固定宏的基本模塊之間的線路重新布線。
當一個固定宏由多個基本模塊構成時,基本上重新布線基本模塊之間的線路。然而,當包括固定宏的基本模塊之間的空間(間隙)相同時,則不需要對基本模塊之間的線路重新布線,而是可以使用固定宏的線路信息。
如果在第二實施例的基本模塊的布圖中,已經使用了諸如時鐘線路和測試電路線路之類的線路,則在這種情形中,考慮到已經存在的線路存在發生問題的可能,并不將固定宏的線路信息返回到基本模塊中的所有基體圖案,而是可以只是不將固定宏的線路信息返回到發生問題的部分。固定宏的線路信息總是被返回到基本模塊,而不論該基本模塊是否發生問題,并且只對諸如物理核實(設計例程檢查、電氣連接檢查)所檢測的違反短路等等之類的非法部分執行重新布線。
在前述第二實施例中的半導體集成電路的布圖設計方法中,將完成固定宏的分配處理P11和放置/線路信息返回處理P12之后所獲得的數據作為用戶布圖完成框架數據,但是還可通過使用框架1中未使用的基體圖案B1到B5和線路通道(未分配固定宏的基本模塊的基體圖案B1到B5和線路通道,以及固定宏中未使用的基體圖案B1到B5和線路通道),來進一步執行用于實現對應于用戶需求的各個電路功能的用戶布圖。在圖17A和17B中示出了這種情況下布圖設計方法的概要。
圖17A和17B示意性地示出了第二實施例中半導體集成電路的另一種布圖設計方法。在圖17A和17B中,給予對應于圖14中所示組件的組件相同的標號和符號。
圖17A中所示半導體集成電路的布圖設計方法與圖14中所示半導體集成電路的布圖設計方法相同,但是與圖14中的半導體集成電路的區別在于,為了解釋的方便,將完成固定宏的分配處理P11和放置/線路信息返回處理P12之后所獲得的數據稱為初始布圖完成框架數據144′,因此省略其解釋。
圖17B示出了用于實現對應于用戶需求的各個電路功能的用戶布圖設計方法。
在用戶布圖設計中,通過參考初始布圖完成框架數據144′和每個基體的線路圖案表175,來執行用戶布圖處理P23,其中,數據144′是如圖17A所示完成了固定宏分配處理P11和放置/線路信息返回處理P12之后所獲得的。
在該用戶布圖處理P23中,通過使用在已執行了固定宏分配的初始布圖完成框架中可由用戶自由使用的未使用基體圖案和線路通道,來執行用于實現對應于用戶需求的電路功能的線路圖案的設置處理。更具體地說,對于框架1中每個未使用的基體圖案輸入合適的線路圖案的代碼,并且基于輸入的線路圖案代碼,選擇用于每個基體圖案的線路以設置合適的線路圖案。
通過執行用戶布圖處理P23中與未使用的基體圖案有關的線路圖案的設置處理,利用分配固定宏后的未使用基體圖案B1到B5和線路通道,獲得了用戶布圖完成框架數據176,數據176實現了對應于用戶需求的各個電路功能。
-第三實施例-下面將解釋本發明的第三實施例。
當例如在半導體集成電路中包括兩個遵從于JTAG(邊界掃描測試)的TAP(測試接入端口)控制器時,通常將兩個TAP控制器構造為利用復用器來切換。通過利用復用器,包括在芯片內部的兩個TAP控制器從外部被視為是互斥的,并且可以減少外部管腳(端)的數目(外部I/O的數目)。
然而,當實現前述電路時,在傳統的半導體集成電路中與兩個TAP控制器和復用器有關的邏輯(網絡列表)例如從制造者一側等提供,并且通常與用戶無關,但是每個用戶自由執行實際的布圖設計。即,盡管實現了相同的電路功能,但是每個用戶都執行布圖設計,這降低了開發效率,并且成為妨礙降低開發、制造等所需成本的因素之一。
從而,下文中將解釋的第三實施例通過將預先設計的用于實現測試電路功能的信息(基體圖案的放置信息、線路信息等等)準備為庫,并使用該信息執行設計,減少了與半導體集成電路開發有關的時間和成本,并且減少了負擔。用戶使得提供為庫的配置的一部分可變化,從而增強了通用多樣性。
應當注意,在下面的解釋中,只解釋根據第三實施例的半導體集成電路的特性電路配置,并且由于整體配置等與根據第一和第二實施例的半導體集成電路相同,因而省略其解釋。
圖18示出了根據本發明第三實施例的半導體集成電路的配置示例。在圖18中,只示出了根據第三實施例的半導體集成電路的元件特性,其對應于其整體配置被示于第一和第二實施例中的半導體集成電路的配置中的一部分。
在圖18中,標號192指代JTAG的復用器,標號193指代第一TAP控制器(TAP-A),標號194指代第二TAP控制器(TAP-B)。例如,TAP-A193是為整個芯片測試提供的TAP控制器,TAP-B194是為處理器提供的TAP控制器。
復用器192經由緩沖器BUF11由線路連接到外部端(管腳)IO11(輸入IN1),并且經由緩沖器BUF12由線路連接到外部端IO12(輸出OUT1)。復用器192和TAP-A193經由緩沖器BUF21和BUF22由線路連接。類似地,復用器192和TAP-B194經由緩沖器BUF31和BUF32由線路連接。
從外部將測試模式信號TST輸入到復用器192中,并且TAP-A193或TAP-B194中哪一個TAP控制器是可切換的。可以根據測試模式信號TST切換TAP-A193和TAP-B194,即,TAP-A193或TAP-B194中哪一個連接到外部端IO11和IO12可以切換。
經由緩沖器BUF11的線路(連接復用器192和外部端IO11)和經由緩沖器BUF21和BUF31的線路(分別將復用器192連接到TAP-A193和TAP-B194)由多種線路構成,所述多種線路分別對應于遵從IEEE1149.1標準(所謂的JTAG)的測試數據輸入TDI、測試時鐘TCK、測試模式選擇TMS和測試復位nTRST,但是為了解釋方便在圖18中省略了這些線路。經由緩沖器BUF12的線路(連接復用器192和外部端IO12)和經由緩沖器BUF22和BUF32的線路(分別將復用器192連接到TAP-A193和TAP-B194)對應于遵從IEEE1149.1標準的測試數據輸出TDO。
這里,在該實施例中,基體圖案的放置信息和線路信息被注冊為預先設計的數據(庫),如在第二實施例的固定宏中,而這些信息用于實現圖18中所示示例的電路配置。因此,實現了復用器192、TAP-A193、TAP-B194和每個緩沖器的電路功能的宏的基體圖案(基體層的結構)是固定的,與用戶無關,并且不能在用戶側改變。
各個宏之間的線路是固定的,并且不能在用戶側改變,但是復用器192(緩沖器BUF31和BUF32)和TAP-B194之間的線路可以在用戶側改變,如后面所述。因此,在各個宏的線路中,至少復用器192(緩沖器BUF31和BUF32)和TAP-B194之間的線路形成在可變線路層中。其他宏之間的線路或者可以形成在固定線路層中,或者可以形成在可變線路層中。
如上所述,在第三實施例中,被預先設計以實現如圖18所示的測試電路功能的基體圖案放置信息和線路信息被準備為庫,并且當執行半導體集成電路的設計時使用該庫。結果,對于提供為庫的測試電路功能,只需通過應用庫中所示的信息的簡單操作,而不需執行基體圖案之間的線路以及基體圖案的放置和其線路的設計,就可以實現測試電路的功能。因此,包括在芯片內部的兩個TAP控制器(TAP-A193、TAP-B194)從外部被視為是互斥的,獲得了能夠減少外部端數目(外部I/O數目)的效果,并且減少了與半導體集成電路開發有關的時間和成本,從而能夠減少負擔。
另外,復用器192(緩沖器BUF31和BUF32)和TAP-B194之間的線路可以在用戶側改變,即可以定制,從而改變了電路配置的一部分,并且可以實現各種應用。下文中,將參考圖19到21,示出根據第三實施例的半導體集成電路的一個定制示例。在圖19到21中,只示出了對應于圖18的電路部分。
圖19示出了第三實施例中半導體集成電路的電路修改示例。在圖19所示的示例中,刪除了復用器192(緩沖器BUF31和BUF32)和TAP-B194之間的線路,并且TAP-B194的輸入端和輸出端分別連接到不同于外部端IO11和IO12的外部端(管腳)IO21(輸入IN2)和IO22(輸出OUT2)。
通過以這種方式將TAP-B194的輸入端和輸出端連接到外部端IO21和IO22,芯片內部的TAP-A193和TAP-B194從芯片外部看來是獨立的,并且可以通過獨立地控制兩個TAP控制器193和194來操作這兩個TAP控制器。
可以在TAP-B194的輸入端和輸出端與外部端IO21和IO22之間插入可選邏輯電路(與電路、或電路和與非電路)等。與被刪除線路有關的緩沖器BUF31和BUF32可以刪除,也可以原樣保留,如果其被保留,則緩沖器BUF31的輸出端可能懸浮,但是優選地將緩沖器BUF32的輸入端箝位在VDD(電源電位)或VSS(參考電位)。
圖20示出了第三實施例中半導體集成電路的另一個電路修改示例。在圖20所示的示例中,第三TAP控制器(TAP-C)195以鏈(串聯)進一步連接到圖18所示電路配置中的TAP-B194。當TAP控制器可如這樣串聯連接時,多個TAP控制器連接在鏈中,如圖20所示,并且可以可選地增加對應于TAP控制器的電路元件(例如處理器)數目。可以包括不同的電路元件等。
圖21示出了第三實施例中半導體集成電路的另一個電路修改示例。在圖21所示的示例中,第四TAP控制器(TAP-D)196連接到復用器192,而不使用在庫中預備的TAP-B194,其中控制器196的布圖設計在用戶側被新執行。未使用的TAP-B194可以刪除,也可以原樣保留。
如上所述,可以將新布局的TAP-D196連接到復用器192,而不使用庫中存在的TAP-B194,即,可以通過有效地利用現存的復用器192,將不同的TAP控制器連接到復用器192。例如,如果TAP-B194是對應于某一種(類型A)CPU的TAP控制器,而TAP-D196是對應于不同種(類型B)CPU的TAP控制器,則也可以通過應用現存的復用器192,連接不同的CPU。
根據第三實施例的半導體集成電路的定制并不限于此,但是可以可選地在可改變范圍內執行定制。例如,可以通過可選地組合圖19到21中所示內容來執行定制。
在前述解釋中,用于實現圖18中所示電路配置的設計信息被注冊為庫,但是用于實現排除了可改變部分的電路部分191的設計信息也可注冊為庫。這種情況下,到外部的接口部分,即,緩沖器BUF31的輸出端和緩沖器BUF32的輸入端是固定的,并且可連接到TAP-B194和TAP-D196。
圖22示出了第三實施例中半導體集成電路的電路封裝的具體示例。在圖22中,標號221指代芯片,在芯片中形成有復用器222、用于整個芯片測試的TAP控制器223和處理器內核224。在處理器內核224中形成有用于處理器的TAP控制器225。這里,復用器222、用于整個芯片測試的TAP控制器223和用于處理器的TAP控制器225分別對應于圖18中所示的復用器192、TAP-A193和TAP-B194。
宏221對應于IEEE1149.1標準,并且其外部端(管腳)分別被用作遵從IEEE1149.1標準的測試數據輸入TDI、測試時鐘TCK、測試模式選擇TMS、測試復位nTRST和測試數據輸出TDO。另外,宏221還有用于輸入測試模式信號TST的外部端,測試模式信號TST用于控制復用器222,以切換到TAP控制器223和225中的任何一個。
根據信號是來自芯片外部的輸入信號(測試數據輸入TDI、測試時鐘TCK、測試模式選擇TMS、測試復位nTRST)、還是到芯片外部的輸出信號(測試數據輸出TDO),或者根據信號是正邏輯、負邏輯等等,通過使用或電路、與電路和2選1選擇器來構造復用器222。復用器222對應于測試模式信號TST,將每個信號發送到TAP控制器223和225中任何一個,并且發送來自控制器223和225中任何一個的信號。
前述方法是將用于實現第三實施例中測試電路功能的設計信息預備為庫,并通過使用庫來執行布圖設計,前述方法不僅適用于第一和第二實施例中所示的半導體集成電路,還適用于包括門陣列等的可選ASIC,其中通過固定基體層和一部分或整個線路來提供該可選ASIC。
-每個實施例中半導體集成電路的初始布圖設計-這里,將解釋每個前述實施例中半導體集成電路的初始布圖設計方法,即,根據圖1、10、11等中所示示例的基體圖案的初始放置的布圖設計方法。
圖23示意性地示出了每個實施例中半導體集成電路的布圖設計方法(基體圖案的初始放置方法)。
在半導體集成電路的初始布圖設計(基體圖案初始放置的設計)中,通過參考基體圖案數據231和基體圖案放置候選表232,來執行基體圖案選擇和放置處理P31,其中數據231是框架中基體圖案的設置信息,表232示出了可被放置在框架中的基體圖案。在基體圖案數據231和基體圖案放置候選表232中可包括第二實施例中所示的基本模塊等。
在基體圖案選擇放置處理P31中,根據對于框架1的每個預定區域的基體圖案數據231中所示的設置值,從基體圖案放置候選表232中選擇基體圖案,并且將該基體圖案設置為用于該預定區域的基體圖案并放置該圖案。通過該處理P31,可以獲得基體圖案設置框架數據233,在數據233中,基體圖案被放置在整個框架中,如圖1、10和11所示鋪放在其中基體可布置在基體層中的區域上。
隨后將詳細解釋每個實施例中半導體集成電路的初始布圖設計方法。
圖24是示出了每個實施例中半導體集成電路的初始布圖設計方法的流程圖。
首先在步驟S31,輸入基體圖案數據231(基體圖案的設置值),數據231示出了在框架的每個區域中要被放置的基體圖案。
隨后在步驟S32,對于框架的每個預定區域選擇對應于在步驟S31輸入的基體圖案的設置值的基體圖案,然后將其設置并放置在區域中。通過參考基體圖案放置候選表來執行基體圖案的選擇,其中基體圖案放置候選表示出了可適用于半導體集成電路,即可在框架中放置的基體圖案。
然后在步驟S33,判定框架中是否存在未放置基體圖案的區域。當判定結果為存在未放置基體圖案的區域時,流程返回到步驟S32,并且再次執行前述的處理。
另一方面,當在步驟S33中判定結果為不存在未放置基體圖案的區域,即,對于框架中可放置基體的所有區域都已完成基體圖案放置時,在步驟S34生成并輸出基體圖案設置框架數據,并且處理結束。
-其他實施例-通過由具有CPU或MPU、RAM、ROM等的計算機執行存儲在ROM中的程序,可以實現與前述半導體集成電路的布圖設計方法有關的處理,并且上述程序包括在本發明的實施例中。通過將程序記錄在諸如CD-ROM的記錄介質中并且使計算機讀取程序,可以實現該處理,其中計算機操作所述程序以執行上述功能,并且存儲上述程序的記錄介質包括在本發明的實施例中。至于記錄上述程序的記錄介質,除了CD-ROM外,還可使用軟盤、硬盤、磁帶、光磁盤、非易失性存儲器卡等等。
程序產品包括在本發明的實施例中,其中計算機通過執行該程序產品并執行處理,實現上述實施例的功能。上述程序產品包括實現上述實施例功能的程序自身、讀取上述程序的計算機、能夠將上述程序提供給經由網絡通信地連接的計算機的通信設備、包括該通信設備的網絡系統等。
上述實施例功能的實現不僅可以由計算機執行所提供的程序來獲得,還可以由運行在計算機中的OS(操作系統)或其他應用軟件等的合作來獲得,以及由計算機的擴展板或擴展單元執行所提供程序的處理的全部或一部分來獲得。為了在網絡環境中利用本發明,可以由另一個計算機執行程序的全部或一部分。
例如,根據前述實施例的半導體集成電路的布圖設計方法使用圖9中所示的計算機功能900,并且可由其CPU 901執行。
在計算機功能900的配置中,CPU 901、ROM 902、RAM 903、鍵盤(KB)909的鍵盤控制器(KBC)905、作為顯示部分的CRT顯示器(CRT)910的CRT控制器(CRTC)906、硬盤(HD)911和軟盤(FD)912的磁盤控制器(DKC)907、以及網絡接口卡(NIC)908經由系統總線904通信地連接,如圖9所示。
CPU 901通常通過執行存儲在ROM 902或HD 911中的軟件(程序)或者從FD 912提供的軟件(程序),來控制連接到系統總線904的每個組件。
即,CPU 901通過讀取來自于ROM 902、HD 911或FD 912的用于執行前述操作的處理程序,來執行控制以實現上述實施例中的操作。
RAM 903充當CPU 901的主存儲器、工作區域等等。
KBC 905控制從KB 909和未示出的點擊設備等的指令輸入。CRTC906控制CRT 910的顯示。DKC 907控制對HD 911和FD 912的存取,HD 911和FD 912存儲引導程序、各種應用、用戶文件、網絡管理程序和在上述實施例中的上述處理程序等。NIC 908與網絡913上的其他設備雙向交換數據。
在本發明的前述實施例中,六層線路的半導體集成電路被示為一個示例,其中使得第一、第五和第六線路層PL1、PL5和PL6為固定線路層,第二、第三和第四線路層PL2、PL2和PL4為可變線路層,但是本發明并不限于此,而是適用于具有多層線路(線路層數目是可選的)的半導體集成電路,并且只要包括至少一個可變線路層,可變線路層和固定線路層就是可選的。如上所述,可以只通過形成在線路層中的線路,或者通過設置在線路層之間的過孔,或者通過形成在線路層中的線路和設置在線路層之間的過孔的組合,來實現固定線路和可變線路。
上述實施例只是用于執行本發明的實施例的示例,并且一定不能限制性地解釋本發明的技術范圍。本發明可以各種形式實現,而不偏離技術概念或主要特性。
根據本發明,在開發對應于用戶目的的半導體集成電路時,可以只通過設計每種產品的可變線路層的線路并產生用于形成設計線路的掩模,來制造期望的半導體集成電路。因此,由于對于每種產品只需產生最小數目的掩模,所以可以極大地減小開發成本,并且由于對每種產品只設計了有限線路層的線路,減少了要產生的掩模數目,所以可以極大地減小開發時間周期。由于此,可以極大地減小人工小時數,即人力成本,并且可以避免開發中的復雜化。
相關申請的交叉引用本申請基于并要求2004年4月19日提交的在先日本專利申請No.2004-123320、2004年11月5日提交的No.2004-322730和2005年3月4日提交的No.2005-061442的優先權,這里通過引用并入上述申請的全部內容。
權利要求
1.一種為母片型半導體集成電路的半導體集成電路,包括基體層,在所述基體層上形成有實現特定電路功能的多個基體圖案;和多個路線層,以多個層的形式順序形成在所述基體層上,并且包括其線路圖案可由用戶改變的可變線路層和其線路圖案不可由用戶改變的固定線路層,其中,被固定且選定的所述多個基體圖案預先放置在整個芯片表面上,其中,所述基體圖案能夠形成在所述基體層上。
2.如權利要求1所述的半導體集成電路,其中,在所述多個線路層的某些線路層中預先形成有預定線路圖案。
3.如權利要求2所述的半導體集成電路,其中,所述預定線路圖案包括提供時鐘信號的線路圖案、用于由所述基體圖案組成的測試電路的線路圖案和用于電源的線路圖案中的至少一種。
4.如權利要求1所述的半導體集成電路,其中,多個所述基體圖案放置為基本模塊,所述基本模塊由可選地將所述多個基體圖案組合為單元來構成。
5.如權利要求1所述的半導體集成電路,其中,基本模塊由將被固定且選定的所述多個基體圖案組合在一起來構成,并且多個所述基本模塊預先放置在芯片表面上的預定區域中。
6.如權利要求5所述的半導體集成電路,其中,所述預定區域是通過從所述整個芯片表面中能夠形成所述被固定且選定的多個基體圖案的區域中,排除放置了用戶禁止使用的基體圖案的區域而獲得的區域。
7.如權利要求6所述的半導體集成電路,其中,所述放置了用戶禁止使用的基體圖案的區域是放置了與外部接口有關的基體圖案和與時鐘控制有關的基體圖案的區域。
8.如權利要求5所述的半導體集成電路,其中,放置了多種基本模塊,且構成所述基本模塊的基體圖案的組合彼此不同。
9.如權利要求5所述的半導體集成電路,其中,向可選的被放置的基本模塊分配通過使用N(N為可選自然數)個所述基本模塊實現特定電路功能的布圖設計庫,從而能夠實現所述電路功能。
10.如權利要求9所述的半導體集成電路,其中,所述布圖設計庫包括所述基體圖案的放置信息和線路信息。
11.如權利要求1所述的半導體集成電路,其中,包括所述基體圖案的放置信息和線路信息以實現測試電路功能的布圖設計庫被使用并且所述庫被應用,從而實現了所述測試電路的功能。
12.如權利要求11所述的半導體集成電路,其中,所述線路信息中所示的某些線路圖案可由用戶改變。
13.如權利要求11所述的半導體集成電路,其中,所述測試電路是執行遵從IEEE1149.1標準的測試的電路。
14.如權利要求13所述的半導體集成電路,其中,所述測試電路能夠連接到兩個測試接入端口控制器,并且具有用于切換要使用的所述測試接入端口控制器的復用器。
15.一種用于設計母片型半導體集成電路布圖的方法,所述母片型半導體集成電路具有在其上放置有用于實現特定電路功能的多個基體圖案的基體層和以多個層的形式順序形成在所述基體層上的多個線路層,所述方法包括基體圖案初始放置步驟,用于從預先準備的能夠被放置在所述基體層上的基體圖案中選擇對應于指示要放置的基體圖案的設置信息的基體圖案,并將所述基體圖案放置在所述基體層上。
16.一種用于設計母片型半導體集成電路布圖的方法,所述母片型半導體集成電路具有在其上放置有被固定且選定以實現特定電路功能的多個基體圖案的基體層和以多個層的形式順序形成在所述基體層上的多個線路層,所述多個線路層包括其線路圖案可由用戶改變的可變線路層和其線路圖案不可由用戶改變的固定線路層,所述方法包括初始線路設置步驟,用于從對應于每個所述預先準備的基體圖案的多個線路圖案中,將被設為初始值的線路圖案設為所述被放置的基體圖案的初始線路圖案,其中,通過使用能夠唯一地確定線路圖案的標識信息來設置所述初始值。
17.如權利要求16所述的用于設計半導體集成電路布圖的方法,其中,所述標識信息是被分配給每個線路圖案、并且對于每個線路圖案都不同的代碼。
18.如權利要求17所述的用于設計半導體集成電路布圖的方法,還包括線路圖案指定步驟,用于在所述初始線路設置步驟中設置所述初始線路圖案之后,設置所述線路圖案的標識信息,以由所述基體圖案實現期望電路功能;以及線路圖案改變步驟,用于通過基于在所述線路圖案指定步驟中設置的所述線路圖案的標識信息對其進行替換來設置所述基體圖案的線路圖案。
19.如權利要求18所述的用于設計半導體集成電路布圖的方法,其中,在所述線路圖案指定步驟中,只設置與其線路圖案要被替換的基體圖案有關的線路圖案的標識信息。
20.如權利要求18所述的用于設計半導體集成電路布圖的方法,其中,在所述線路圖案指定步驟中,設置與所有基體圖案有關的線路圖案的標識信息。
21.如權利要求18所述的用于設計半導體集成電路布圖的方法,其中,通過所述線路圖案改變步驟,刪除了通過用所述布線圖案進行替換而沒有被使用的、與所述的基體圖案有關的線路圖案。
22.如權利要求18所述的用于設計半導體集成電路布圖的方法,在所述線路圖案改變步驟中,替換了所述線路圖案,以由不同的邏輯功能操作所述基體圖案。
23.一種用于設計母片型半導體集成電路布圖的方法,所述母片型半導體集成電路具有在其上放置有被固定且選定以實現特定電路功能的多個基體圖案的基體層和以多個層的形式順序形成在所述基體層上的多個線路層,其中,由將所述多個基體圖案組合在一起而構成的多個基本模塊放置在這樣的區域的預定區域中,其中在所述區域中,能夠在所述基體層中形成所述基體圖案,所述方法包括第一設計步驟,用于將通過使用N(N是可選自然數)個預先準備的所述基本模塊實現特定電路功能的布圖設計庫分配到實現所述電路功能的所述基本模塊。
24.如權利要求23所述的用于設計半導體集成電路布圖的方法,其中,所述預定區域是通過從所述整個芯片表面的能夠形成所述被固定且選定的多個基體圖案的區域中,排除放置了用戶禁止使用的基體圖案的區域而獲得的區域。
25.如權利要求24所述的用于設計半導體集成電路布圖的方法,其中,所述放置了用戶禁止使用的基體圖案的區域是放置了與外部接口有關的基體圖案和與時鐘控制有關的基體圖案的區域。
26.如權利要求23所述的用于設計半導體集成電路布圖的方法,還包括庫設置步驟,用于設置所述被分配給所述基本模塊的布圖設計庫,其中,在所述第一設計步驟中,根據所述庫設置步驟中的設置,將所述布圖設計庫分配到所指定的基本模塊。
27.如權利要求26所述的用于設計半導體集成電路布圖的方法,其中,所述第一設計步驟包括選擇步驟,用于根據所述庫設置步驟的所述設置,選擇所述布圖設計庫,以及分配步驟,用于將所述選擇步驟中選定的所述布圖設計庫分配到所指定的基本模塊。
28.如權利要求27所述的用于設計半導體集成電路布圖的方法,其中,所述布圖設計庫具有所述基體圖案的放置信息和線路信息;以及其中,在所述分配步驟中,在所指定的基本模塊中反映所述基體圖案的放置信息和所述線路信息,或者只反映所述基體圖案的放置信息。
29.如權利要求23所述的用于設計半導體集成電路布圖的方法,還包括第二設計步驟,用于在所述第一設計步驟中將所述布圖設計庫分配到所述基本模塊后,通過使用未使用的基體圖案執行用戶布圖以實現可選電路功能。
30.如權利要求29所述的用于設計半導體集成電路布圖的方法,其中,在所述第二設計步驟中,對于所述未使用的基體圖案,設置實現所述可選電路功能的線路圖案。
31.一種用于設計母片型半導體集成電路布圖的方法,所述母片型半導體集成電路具有在其上放置有被固定且選定以實現特定電路功能的多個基體圖案的基體層和以多個層的形式順序形成在所述基體層上的多個線路層,其中,由將所述多個基體圖案組合在一起而構成的多個基本模塊放置在這樣的區域的預定區域中,其中在所述區域中,能夠在所述基體層中形成所述基體圖案,其中,通過將使用N(N是可選自然數)個所述預先準備的基本模塊實現特定電路功能的布圖設計庫分配到所述半導體集成電路的可選基本模塊,來完成設計。
32.一種用于設計母片型半導體集成電路布圖的方法,所述母片型半導體集成電路具有在其上放置有被固定且選定以實現特定電路功能的多個基體圖案的基體層和以多個層的形式順序形成在所述基體層上的多個線路層,所述方法包括測試電路設計步驟,用于將布圖設計庫應用到所述基體層和線路層,其中所述布圖設計庫包括實現所述測試電路功能的所述基體圖案的放置信息和線路信息。
33.如權利要求32所述的用于設計半導體集成電路布圖的方法,其中,在所述線路信息中示出的某些線路圖案可由用戶改變。
34.一種用于使計算機執行設計母片型半導體集成電路布圖的方法的程序產品,所述母片型半導體集成電路具有在其上形成有實現特定電路功能的多個基體圖案的基體層和以多個層的形式順序形成在所述基體層上的多個線路層,所述方法包括基體圖案初始放置步驟,用于根據示出了要放置的基體圖案的設置信息從預先準備的能夠被放置在所述基體層上的基體圖案中選擇基體圖案,并將所述基體圖案放置在所述基體層上。
35.一種用于使計算機執行設計母片型半導體集成電路布圖的方法的程序產品,所述母片型半導體集成電路具有在其上放置有被固定且選定以實現特定電路功能的多個基體圖案的基體層和以多個層的形式順序形成在所述基體層上的多個線路層,所述多個線路層包括線其路圖案可由用戶改變的可變線路層和其線路圖案不可由用戶改變的固定線路層,所述方法包括初始線路設置步驟,用于從對應于每個所述預先準備的基體圖案的多個線路圖案中,將通過使用能夠唯一地確定線路圖案的標識信息而被設為初始值的線路圖案設為每個所述被放置的基體圖案的初始線路圖案。
36.如權利要求35所述的程序產品,還包括線路圖案指定步驟,用于在所述初始線路設置步驟中設置所述初始線路圖案之后,設置所述線路圖案的標識信息,以由所述基體圖案實現期望電路功能;以及線路圖案改變步驟,用于通過基于在所述線路圖案指定步驟中設置的所述線路圖案的標識信息,對其進行替換來設置所述基體圖案的線路圖案。
37.一種用于使計算機執行設計母片型半導體集成電路布圖的方法的程序產品,所述母片型半導體集成電路具有在其上放置有被固定且選定以實現特定電路功能的多個基體圖案的基體層和以多個層的形式順序形成在所述基體層上的多個線路層,其中,由將所述多個基體圖案組合在一起而構成的多個基本模塊放置在這樣的區域的預定區域中,其中在所述區域中,能夠在所述基體層中形成所述基體圖案,所述方法包括第一設計步驟,用于將通過使用N(N是可選自然數)個所述預先準備的基本模塊實現特定電路功能的布圖設計庫分配到實現所述電路功能的基本模塊。
38.如權利要求37所述的程序產品,還包括第二設計步驟,用于在所述第一設計步驟中將所述布圖設計庫分配到所述基本模塊后,通過使用未使用的基體圖案進一步執行用戶布圖以實現可選電路功能。
39.一種用于使計算機執行設計母片型半導體集成電路布圖的方法的程序產品,所述母片型半導體集成電路具有在其上放置有被固定且選定以實現特定電路功能的多個基體圖案的基體層和以多個層的形式順序形成在所述基體層上的多個線路層,所述方法包括測試電路設計步驟,用于將布圖設計庫應用到所述基體層和線路層,其中所述布圖設計庫包括實現所述測試電路功能的所述基體圖案的放置信息和線路信息。
全文摘要
本發明公開了一種母片型半導體集成電路,該半導體集成電路具有基體層和多個線路層,其中,在基體層上形成有實現特定電路功能的多個基體圖案,多個線路層包括其線路圖案可由用戶改變的可變線路圖案和其線路圖案不可由用戶改變的固定線路層,在這樣的母片型半導體集成電路中,多個基體圖案預先固定并放置在整個芯片表面上能夠在基體層中形成基體圖案的區域處,從而,可以通過只設計可變線路層的線路,并在用戶側產生用于形成線路層中所設計線路的掩模,來制造對應于使用目的的半導體集成電路。
文檔編號H01L21/70GK1770448SQ20051007992
公開日2006年5月10日 申請日期2005年6月27日 優先權日2004年11月5日
發明者松原裕之 申請人:富士通株式會社