驗(yàn)證部分良好的電壓島結(jié)構(gòu)的制作方法
【專(zhuān)利摘要】提供了用于設(shè)計(jì)和驗(yàn)證包括冗余邏輯塊的集成電路的結(jié)構(gòu)、方法和系統(tǒng)。集成電路包括選擇邏輯以及可以由選擇邏輯單獨(dú)控制的可選的邏輯塊??蛇x的邏輯塊包括冗余邏輯塊的相應(yīng)實(shí)例以及在集成電路中選擇性禁用冗余邏輯塊的接口邏輯塊的相應(yīng)實(shí)例。
【專(zhuān)利說(shuō)明】驗(yàn)證部分良好的電壓島結(jié)構(gòu)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及集成電路,并且更具體地涉及對(duì)于包括冗余邏輯塊的集成電路的設(shè)計(jì) 和驗(yàn)證。
【背景技術(shù)】
[0002] 集成電路("1C")設(shè)計(jì)隨著時(shí)間變得越來(lái)越復(fù)雜。功耗和產(chǎn)率限制了復(fù)雜集成電 路設(shè)計(jì)的生產(chǎn)。為了解決功耗限制,一些集成電路設(shè)計(jì)使用電壓島(voltage island)。電 壓島是單獨(dú)的可控功率區(qū)域。通過(guò)在不同電壓島中放置集成電路的元件,集成電路可以選 擇性在較低電壓下操作一個(gè)或多個(gè)電壓島中的元件和/或當(dāng)不需要它們的功能時(shí)關(guān)斷元 件。
[0003] 為了致力于解決產(chǎn)率問(wèn)題,一些集成電路設(shè)計(jì)用作部分良好的芯片。部分良好的 芯片是包括作為另一元件的冗余的一個(gè)或多個(gè)元件的集成電路,其中該冗余元件對(duì)于集成 電路芯片的功能而言并非必需,但是在相同元件的缺陷或故障的情形下工作。例如,對(duì)于部 分良好芯片的設(shè)計(jì)可以包括十個(gè)處理器核心,其中兩個(gè)處理器核心是冗余的。每個(gè)處理器 核心可以位于相應(yīng)的電壓島中,并且連接直至門(mén)控邏輯,該門(mén)控邏輯允許忽略、旁路和/或 消除單獨(dú)的處理器核心。因?yàn)楦鶕?jù)設(shè)計(jì)兩個(gè)處理器核心對(duì)于集成電路工作而言并非必需, 所以小于100%產(chǎn)率生產(chǎn)處理器核心的制造工藝可能制造具有足夠數(shù)目的良好處理器核心 的芯片。
[0004] 組合了電壓島和冗余結(jié)構(gòu)的集成電路增大了芯片設(shè)計(jì)的時(shí)間和復(fù)雜度。此外,因 為對(duì)集成電路設(shè)計(jì)的驗(yàn)證可以使得在設(shè)計(jì)集成電路使用的工作努力增至三倍,對(duì)于具有電 壓島冗余結(jié)構(gòu)的集成電路芯片的設(shè)計(jì)驗(yàn)證可以造成不切實(shí)際的耗時(shí)量。
[0005] 因此,現(xiàn)有【技術(shù)領(lǐng)域】存在需求以克服在此如上所述的缺點(diǎn)和限制。
【發(fā)明內(nèi)容】
[0006] 在本發(fā)明的一個(gè)方面中,公開(kāi)了一種集成電路,包括選擇邏輯,以及可以由選擇邏 輯單獨(dú)控制的可選的邏輯塊??蛇x的邏輯塊包括冗余邏輯塊的相應(yīng)實(shí)例,以及選擇性禁用 集成電路中冗余邏輯塊的接口邏輯塊的相應(yīng)實(shí)例。
[0007] 在本發(fā)明的另一方面中,公開(kāi)了一種用于提供集成電路的方法。該方法包括,基于 包括在集成電路中的冗余邏輯塊而確定接口邏輯塊。該方法也包括,將冗余邏輯塊和已確 定接口邏輯塊組合為可選的邏輯塊。該方法進(jìn)一步包括,確定在選擇邏輯和可選的邏輯塊 的實(shí)例之間的連接。
[0008] 在本發(fā)明的另一方面中,公開(kāi)了一種方法,包括在集成電路中的大量冗余邏輯塊 中標(biāo)識(shí)第一冗余邏輯塊以用于禁用。冗余邏輯塊包括在相應(yīng)的可選的邏輯塊中??蛇x的邏 輯塊包括接口邏輯塊,該接口邏輯塊將相應(yīng)冗余邏輯塊與集成電路的功能邏輯分隔開(kāi)。該 方法也包括記錄在集成電路的選擇邏輯中標(biāo)識(shí)第一冗余邏輯塊的信息。該方法進(jìn)一步包 括,基于選擇邏輯中記錄的信息,經(jīng)由相應(yīng)可選的邏輯塊的接口邏輯塊而禁用第一冗余邏 輯塊。
[0009] 在本發(fā)明的另一方面中,提供了一種有形地實(shí)施在機(jī)器可讀存儲(chǔ)媒介中的用于設(shè) 計(jì)、制造或測(cè)試集成電路的設(shè)計(jì)結(jié)構(gòu)。設(shè)計(jì)結(jié)構(gòu)包括三維集成芯片堆疊。在又一些實(shí)施例 中,編碼在機(jī)器可讀數(shù)據(jù)存儲(chǔ)媒介上的硬件描述語(yǔ)言(HDL)設(shè)計(jì)結(jié)構(gòu)包括當(dāng)在計(jì)算機(jī)輔助 設(shè)計(jì)系統(tǒng)中處理時(shí)生成本發(fā)明的集成電路芯片的機(jī)器可執(zhí)行表達(dá)的元素。在又一些實(shí)施例 中,提供了一種在計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng)中用于生成本發(fā)明的集成電路芯片的功能性設(shè)計(jì)模 型的方法。該方法包括生成本發(fā)明的集成電路芯片的結(jié)構(gòu)元件的功能性表達(dá)。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0010] 借由本發(fā)明示例性實(shí)施例的非限定性示例的方式參照所示多個(gè)附圖,在以下詳細(xì) 說(shuō)明書(shū)中描述了本發(fā)明。
[0011] 圖1示出了根據(jù)本發(fā)明的一些方面的示例性集成電路的框圖;
[0012] 圖2示出了根據(jù)本發(fā)明的一些方面的示例性集成電路的框圖;
[0013] 圖3示出了根據(jù)本發(fā)明的一些方面的用于實(shí)施設(shè)計(jì)和過(guò)程的示例性環(huán)境的框圖;
[0014] 圖4示出了根據(jù)本發(fā)明的一些方面用于生成并且驗(yàn)證對(duì)于示例性集成電路的設(shè) 計(jì)的示例性過(guò)程的流程圖;
[0015] 圖5示出了根據(jù)本發(fā)明的一些方面的用于配置示例性集成電路的示例性過(guò)程的 流程圖;以及
[0016] 圖6示出了在半導(dǎo)體設(shè)計(jì)、制造和/或測(cè)試中使用的設(shè)計(jì)過(guò)程的流程圖。
【具體實(shí)施方式】
[0017] 本發(fā)明涉及集成電路,并且更具體地涉及對(duì)包括冗余邏輯塊的集成電路的設(shè)計(jì)和 驗(yàn)證。根據(jù)本發(fā)明的一些方面,提供了用于集成電路的方法和相關(guān)結(jié)構(gòu),其允許對(duì)冗余邏輯 塊控制邏輯分段驗(yàn)證。也即,驗(yàn)證的工作劃分為事項(xiàng)。邏輯功能驗(yàn)證(影響(leveraging) 正常功能邏輯仿真/覆蓋技術(shù))驗(yàn)證了基本構(gòu)建塊(例如單獨(dú)的邏輯塊)。結(jié)構(gòu)驗(yàn)證在芯 片層級(jí)對(duì)正確地連接在一起的構(gòu)建塊進(jìn)行驗(yàn)證。此外,本發(fā)明的方面允許僅使用一個(gè)代表 性排列而對(duì)冗余邏輯塊的芯片層級(jí)驗(yàn)證,其中根據(jù)部分良好的芯片設(shè)計(jì)而禁用一個(gè)或多個(gè) 冗余邏輯塊。因此,在此所述根據(jù)本發(fā)明的一些方面的分段驗(yàn)證與傳統(tǒng)技術(shù)相比節(jié)省了大 量驗(yàn)證工作。
[0018] 在一些實(shí)施例中,大量冗余邏輯塊位于相應(yīng)的電壓島內(nèi),使得任何一個(gè)或多個(gè)冗 余邏輯塊可以通過(guò)選擇性門(mén)控(也即減小或停止)至對(duì)應(yīng)電壓島的供電而禁用。這些邏輯 塊可以稱(chēng)作"部分良好的電壓島塊",因?yàn)楦鶕?jù)設(shè)計(jì)一個(gè)或多個(gè)冗余邏輯塊無(wú)需對(duì)于將要運(yùn) 行的集成電路是功能性的。換言之,集成電路的冗余邏輯塊可以是"部分良好",使得冗余邏 輯塊的制造產(chǎn)率可以小于100%以生產(chǎn)根據(jù)設(shè)計(jì)運(yùn)行的集成電路。例如,每一個(gè)冗余邏輯 塊可以包括多處理器控制器的處理器核心和/或存儲(chǔ)邏輯的塊。冗余邏輯塊并不限于處理 器核心和存儲(chǔ)器塊,并且替代地可以是在集成電路芯片中重復(fù)的任何類(lèi)型結(jié)構(gòu)(例如門(mén)陣 列)。
[0019] 根據(jù)本發(fā)明的一些方面,集成電路設(shè)計(jì)包括接口邏輯和選擇邏輯。在一些實(shí)施例 中,接口邏輯提供了將單獨(dú)的冗余邏輯塊與集成電路的其他元件分隔開(kāi)的接口(例如包件 (wrapper)或分隔件(fence))。在本發(fā)明的一些方面中,接口邏輯可以由選擇邏輯單獨(dú)控 制,以選擇性地禁用冗余邏輯塊和/或從集成電路的其他功能元件斷開(kāi)冗余邏輯塊。例如, 在冗余邏輯塊包括處理器核心的情形中,接口邏輯可以包括將每個(gè)處理器核心的輸入和輸 出連接至包括在集成電路中其他功能邏輯(例如處理器、存儲(chǔ)器、存儲(chǔ)、通信、數(shù)據(jù)總線(xiàn)等 等)的開(kāi)關(guān)邏輯。此外,接口邏輯可以包括開(kāi)關(guān)邏輯以將每一個(gè)電源輸入連接至相應(yīng)電源 (例如電壓島)。
[0020] 根據(jù)本發(fā)明的一些方面,選擇邏輯和接口邏輯是從數(shù)據(jù)庫(kù)可檢索的預(yù)設(shè)計(jì)元件 (例如邏輯塊),并且具有預(yù)定的互連。在一些實(shí)施例中,使用具體連接(例如唯一的管腳 類(lèi)型,其可以經(jīng)由設(shè)計(jì)數(shù)據(jù)中的關(guān)鍵詞或者屬性而符號(hào)化)來(lái)限定互連,其中僅允許互連 某些特定有效連接(例如類(lèi)型)。就此而言,選擇邏輯和接口邏輯可以?xún)H以單個(gè)方式有效連 接。例如,管腳類(lèi)型可以在選擇邏輯和接口邏輯的軟件定義(例如VHDL)中預(yù)先設(shè)定。
[0021] 有利地,本發(fā)明的一些方面大大減少了涉及對(duì)具有電壓島冗余邏輯塊的集成電路 的設(shè)計(jì)和驗(yàn)證的努力。這是因?yàn)轭A(yù)定的選擇邏輯和接口邏輯最小化了涉及對(duì)用于選擇性禁 用冗余邏輯塊和/或從電源和數(shù)據(jù)路徑斷開(kāi)冗余邏輯塊的邏輯進(jìn)行設(shè)計(jì)和驗(yàn)證的設(shè)計(jì)努 力。此外,根據(jù)本發(fā)明的一些方面,冗余邏輯塊和接口邏輯塊的每個(gè)實(shí)例是相同的。此外, 因?yàn)轭A(yù)定了選擇邏輯和接口邏輯之間的互連,所以冗余邏輯塊的單個(gè)示例及其與單個(gè)接口 邏輯塊的接口可以用于對(duì)它們的組合的設(shè)計(jì)進(jìn)行驗(yàn)證。此外,可以?xún)H對(duì)集成電路的一個(gè)代 表性排列執(zhí)行芯片層級(jí)驗(yàn)證,其中包括在集成電路的設(shè)計(jì)中的給定數(shù)目的冗余邏輯塊示例 由選擇邏輯使用相應(yīng)接口邏輯而禁用。
[0022] 圖1示出了根據(jù)本發(fā)明的一些方面的用于集成電路芯片100的示例性結(jié)構(gòu)。集成 電路芯片100包括許多可選的邏輯塊110A-110D、選擇邏輯120、一個(gè)或多個(gè)功能性邏輯塊 130、數(shù)據(jù)總線(xiàn)140以及選擇線(xiàn)路150A…150D??蛇x的邏輯塊IlOA…IlOD包括在電連接至 對(duì)應(yīng)電源V sa…Vsd的相應(yīng)電壓島中。此外,可選的邏輯塊IlOA…IlOD經(jīng)由數(shù)據(jù)總線(xiàn)140而 通信地連接至功能性邏輯塊130。功能性邏輯塊130可以包括例如一個(gè)或多個(gè)處理器、存儲(chǔ) 器、存儲(chǔ)、通信裝置、數(shù)據(jù)總線(xiàn)等等。因?yàn)榧呻娐沸酒?00的結(jié)構(gòu)是示例性的,應(yīng)該理解的 是,根據(jù)本發(fā)明的集成電路芯片不限于圖1中所示結(jié)構(gòu)。例如,集成電路芯片100可以具有 更少或更多數(shù)目的可選的邏輯塊IlOA…110D。此外,可選的邏輯塊IlOA…IlOD和/或功 能性邏輯塊130之間的互連不限于數(shù)據(jù)總線(xiàn)140,并且替代地可以是任何類(lèi)型的有線(xiàn)或無(wú) 線(xiàn)數(shù)據(jù)鏈路(例如串行或并行)。
[0023] 根據(jù)本發(fā)明的一些方面,選擇邏輯120的輸出(V"0D經(jīng)由選擇線(xiàn)路150A…150D而 連接至可選的邏輯塊的相應(yīng)輸入If· ID,由此選擇邏輯120選擇性禁用一個(gè)或多個(gè)可選的 邏輯塊IlOA…110D。也即,選擇邏輯120控制了特定一個(gè)可選的邏輯塊IlOA…IlOD以斷 開(kāi)其相應(yīng)電源V sa-Vsd和/或集成電路100的其他功能性邏輯塊(例如通過(guò)斷開(kāi)數(shù)據(jù)總線(xiàn) 140)。例如,執(zhí)行了集成電路芯片的制造后測(cè)試的芯片制造商可以觸發(fā)選擇邏輯120以禁 用標(biāo)識(shí)為過(guò)剩或有缺陷的冗余邏輯塊。在一些實(shí)施例中,可選的邏輯塊IlOA…IlOD包括僅 由來(lái)自選擇邏輯120的信號(hào)激活的數(shù)據(jù)啟用邏輯。
[0024] 在一個(gè)示例性實(shí)現(xiàn)方式中,集成電路100可以是設(shè)計(jì)用于使用少于全部數(shù)目(例 如四個(gè)中的三個(gè))冗余處理器核心的部分良好電壓島芯片。每個(gè)冗余處理器核心可以包括 在可選的邏輯塊IlOA…IlOD中的相應(yīng)可選的邏輯塊中。集成電路芯片100的制造后測(cè)試 可以確定可選的邏輯塊IlOA中的一個(gè)冗余處理器核心是過(guò)剩的和/或有缺陷的。標(biāo)識(shí)了 良好和/或損壞處理器核心的信息可以存儲(chǔ)在選擇邏輯120中?;谒鎯?chǔ)的信息,選擇 邏輯120可以通過(guò)經(jīng)由輸出Oa和信號(hào)線(xiàn)150A將禁用信號(hào)傳輸至可選的邏輯塊IlOA的輸入 Ia以從電壓源Vsa和/或數(shù)據(jù)總線(xiàn)140斷開(kāi)過(guò)剩和/或有缺陷的處理器核心從而禁用該過(guò) ?;蛴腥毕莸奶幚砥骱诵?。此外,選擇邏輯110可以通過(guò)經(jīng)由輸出O^O d和選擇線(xiàn)150B… 150D而傳輸相應(yīng)的啟用信號(hào)至輸入Id而啟用可選的邏輯塊IlOB…110D。使得可選的 邏輯塊IlOA禁用并且啟用可選的邏輯塊IlOB…110D,集成電路芯片100可以根據(jù)設(shè)計(jì)運(yùn) 行。
[0025] 根據(jù)本發(fā)明的一些方面,基于存儲(chǔ)在集成電路芯片100中可使用的集成電路元件 的數(shù)據(jù)庫(kù)中的預(yù)先設(shè)計(jì)的元件而制造可選的邏輯塊IlOA…IlOD和選擇邏輯120。選擇邏 輯120的輸出連接(V·· Od以及可選的邏輯塊IlOA…IlOD的相應(yīng)輸入連接V·· Id在軟件定 義中規(guī)定,使得它們可以以單個(gè)有效的方式連接。在可選的邏輯塊IlOA…IlOD是相同邏輯 的實(shí)例的情形中,修改每個(gè)實(shí)例的相應(yīng)輸入連接I^I d以唯一的標(biāo)識(shí)其相應(yīng)邏輯塊。
[0026] 在本發(fā)明的一些實(shí)施例中,每個(gè)輸出連接CV-Od和輸入連接If Id是在可選的的 選擇邏輯120和邏輯塊IlOA…IlOD的軟件定義中指派不同類(lèi)型的管腳,并且每個(gè)管腳類(lèi)型 僅被允許連接至特定管腳類(lèi)型。因此,選擇線(xiàn)150A…150D以規(guī)定方式連接了選擇邏輯120 的邏輯和可選的邏輯塊IlOA…110D。因此,為了驗(yàn)證的目的,只要選擇邏輯120和可選的 邏輯塊IlOA…IlOD的內(nèi)部邏輯是正確的,并且在結(jié)構(gòu)上驗(yàn)證了選擇線(xiàn)150A…150D的互連, 則集成電路100可以期望根據(jù)設(shè)計(jì)運(yùn)行。因此,選擇邏輯120和可選的邏輯塊IlOA…IlOD 的芯片層級(jí)驗(yàn)證僅涉及對(duì)一個(gè)或少數(shù)排列的測(cè)試(例如數(shù)目對(duì)應(yīng)于可以禁用的可選的邏 輯塊IlOA…IlOD的數(shù)目,其在該示例中為一個(gè))。并不需要用于顯示禁用任何可選的邏輯 塊IlOA…IlOD的所有排列的窮舉性芯片層級(jí)驗(yàn)證。
[0027] 圖2示出了根據(jù)本發(fā)明一些方面的示出示例性集成電路芯片100的細(xì)節(jié)的框圖。 更具體地,圖2示出了示例性可選的邏輯塊IlOA和IlOB以及選擇邏輯120的細(xì)節(jié)。顯著 地,盡管為了細(xì)節(jié)而在圖2中僅示出了可選的邏輯塊IlOA和110B,關(guān)于可選的邏輯塊IlOA 和IlOB的以下說(shuō)明描述同等地應(yīng)用于圖1中的可選的邏輯塊IlOC和110D,以及根據(jù)本發(fā) 明一些方面的其他芯片中的任何數(shù)目的可選的邏輯塊。
[0028] 根據(jù)本發(fā)明的一些方面,每個(gè)可選的邏輯塊IlOA和IlOB包括冗余邏輯塊210的 實(shí)例以及接口邏輯塊220的實(shí)例。接口邏輯塊220可以提供將每個(gè)冗余邏輯塊210與集成 電路芯片100的其他功能性部件(例如圖1中功能性邏輯塊130)分隔(例如分隔件)的 接口(例如包件)。在一些實(shí)施例中,由選擇邏輯120經(jīng)由選擇線(xiàn)150A和150B來(lái)選擇性控 制接口邏輯塊220。接口邏輯塊220可以包括電源啟用邏輯225和數(shù)據(jù)啟用邏輯230。在 一些實(shí)施例中,電源啟用邏輯225在冗余邏輯塊210的電源輸入(例如Power In)與冗余 邏輯塊210的相應(yīng)電源Vsa和Vsb之間提供可切換的連接。因此,可以選擇性減小或切斷從 電源V sa和Vsb向冗余邏輯塊210的供電。在一些實(shí)施例中,電源啟用邏輯225是啟用了選 擇邏輯120以導(dǎo)通或者關(guān)斷向電壓島供電的電壓島集線(xiàn)器(header)裝置。本領(lǐng)域技術(shù)人 員理解可控地減少和/或切斷來(lái)自電源的供電的邏輯,因此對(duì)這種邏輯的進(jìn)一步解釋說(shuō)明 對(duì)于理解本發(fā)明而言并非是必需的。
[0029] 仍舊參照?qǐng)D2,數(shù)據(jù)啟用邏輯230可以向每個(gè)接口邏輯塊220提供在冗余邏輯塊 210的相應(yīng)數(shù)據(jù)連接(例如管腳)與集成電路芯片100的其他元件之間的可切換連接。在 一些實(shí)施例中,數(shù)據(jù)啟用邏輯230將冗余邏輯塊210從數(shù)據(jù)總線(xiàn)140斷開(kāi)連接。例如,數(shù)據(jù) 啟用邏輯230可以包括多路復(fù)用器邏輯和/或邏輯門(mén),當(dāng)可選的邏輯塊IIOA和IIOB的對(duì)應(yīng) 一個(gè)被禁用時(shí),與冗余邏輯塊210的輸入和輸出(也即數(shù)據(jù)I/O)對(duì)接以斷開(kāi)輸入和輸出。 本領(lǐng)域技術(shù)人員理解對(duì)信號(hào)進(jìn)行復(fù)用和/或門(mén)控的邏輯裝置,使得對(duì)這些裝置的進(jìn)一步解 釋說(shuō)明對(duì)于理解本發(fā)明而言并非是必需的。
[0030] 根據(jù)本發(fā)明的一些方面,接口邏輯塊220是修改以與特定冗余邏輯塊210對(duì)接的 預(yù)設(shè)計(jì)元件的實(shí)例。例如,設(shè)計(jì)者可以生成包括了冗余邏輯塊210的實(shí)例的新集成電路設(shè) 計(jì)。設(shè)計(jì)者可以修改設(shè)計(jì)以包覆在對(duì)應(yīng)的接口邏輯塊220中冗余邏輯塊210的每一個(gè)實(shí)例, 接口邏輯塊220將冗余邏輯塊210與集成電路芯片100的其他功能邏輯分隔開(kāi)。該修改可 以包括改變接口邏輯塊220以對(duì)接冗余邏輯塊210的特定數(shù)據(jù)輸入和輸出(也即數(shù)據(jù)1/ 0)。例如,設(shè)計(jì)者可以基于冗余邏輯塊210的數(shù)據(jù)輸入和輸出定制接口邏輯塊220的多路 復(fù)用器和/或門(mén)。設(shè)計(jì)者隨后可以對(duì)組合的冗余邏輯塊210和接口邏輯塊220的單個(gè)實(shí)例 (也即可選的邏輯塊IlOA或110B)執(zhí)行驗(yàn)證測(cè)試以驗(yàn)證它們的功能。在一些實(shí)施例中,設(shè) 計(jì)者可以使用建模和仿真軟件以驗(yàn)證接口邏輯塊220的電源啟用邏輯225和數(shù)據(jù)啟用邏輯 230采用冗余邏輯塊210的輸入和輸出而執(zhí)行功能。設(shè)計(jì)者也可以使用建模和仿真軟件以 驗(yàn)證冗余邏輯塊210和接口邏輯塊220 -起用作可選的邏輯塊IlOA或110B,并且它們的組 合滿(mǎn)足了集成電路芯片100內(nèi)冗余邏輯塊210的設(shè)計(jì)和接口需求。
[0031] 此外,根據(jù)本發(fā)明的一些方面,選擇邏輯120包括配置存儲(chǔ)240和解碼器塊250。 在一些實(shí)施例中,配置存儲(chǔ)240是包括記錄了芯片具體配置結(jié)構(gòu)信息245的非易失性存儲(chǔ) 器的邏輯裝置。在一些實(shí)施例中,配置存儲(chǔ)240包括電子芯片標(biāo)識(shí)器("ECID"),其中由可 熔斷鏈路存儲(chǔ)配置信息245,可熔斷鏈路編碼了標(biāo)識(shí)可選的邏輯塊IlOA和IlOB的信息,以 用于由選擇邏輯120啟用和/或禁用(也即良好或損壞)??梢曰谥圃旌鬁y(cè)試針對(duì)特定 集成電路芯片100確定配置信息245。例如,在制造了集成電路芯片100之后,操作測(cè)試可 以確定可選的邏輯塊IlOA中冗余邏輯塊210是損壞的(也即未通過(guò)操作集成電路100所 需的一個(gè)或多個(gè)測(cè)試)并且可選的邏輯塊IlOB的冗余邏輯塊210是良好的(也即通過(guò)了 操作集成電路100所需的所有測(cè)試)。在該情形下,配置信息245可以存儲(chǔ)在配置存儲(chǔ)240 中,從而標(biāo)識(shí)用于禁用的可選的邏輯塊IIOA和/或用于啟用的可選的邏輯塊IIOB。
[0032] 在一些實(shí)施例中,解碼器塊250是解碼了存儲(chǔ)在配置存儲(chǔ)240中配置信息245并 且將其轉(zhuǎn)化為啟用/禁用信號(hào)以用于可選的邏輯塊IlOA和IlOB的邏輯裝置。在一些實(shí) 施例中,基于對(duì)于特定集成電路芯片100的配置信息245,解碼器邏輯250解碼了配置信息 245并將其映射至輸出225A(O a)和輸出225B(Ob),輸出225A(Oa)和輸出225B(Ob)經(jīng)由選 擇線(xiàn)150A和150B而連接至接口邏輯塊220的輸入I a和Ib。例如,解碼器塊250可以參數(shù) 化為"N:M"解碼塊??梢詫?shí)現(xiàn)任何數(shù)目的傳統(tǒng)解碼方案以從存儲(chǔ)在配置存儲(chǔ)240中的啟用 /禁用信息轉(zhuǎn)化為啟用/禁用信號(hào)(例如從N個(gè)熔絲轉(zhuǎn)化為M個(gè)啟用,其中N〈M)。這些解 碼方案對(duì)于相關(guān)【技術(shù)領(lǐng)域】中本領(lǐng)域技術(shù)人員而言是熟悉的,因此無(wú)需進(jìn)一步解釋說(shuō)明以理 解本發(fā)明??梢栽O(shè)計(jì)解碼器邏輯250以對(duì)于任何數(shù)目冗余邏輯塊210而處理解碼的任何組 合,其可以包括在集成電路芯片100的設(shè)計(jì)中??梢允褂梅抡鎸?duì)于獨(dú)立基礎(chǔ)執(zhí)行對(duì)解碼器 邏輯250的驗(yàn)證以驗(yàn)證其解碼并且映射配置信息245。
[0033] 根據(jù)本發(fā)明的一些方面,配置存儲(chǔ)240和解碼器邏輯250是在兩者之間具有特定 允許的連接的預(yù)定元件。同樣,在解碼器邏輯250和接口邏輯塊220之間的連接也是預(yù)定 的,其中接口邏輯塊220的每一個(gè)實(shí)例具有去往解碼器塊250的特定允許的連接。在一些 實(shí)施例中,配置存儲(chǔ)245的輸出251僅允許有效地以特定方式連接至解碼器邏輯250的輸 入253。此外,解碼器邏輯250的輸出255A (Oa)和輸出255B (Ob)僅允許分別有效地連接至 輸入 257A (Ia)和輸入 257B (Ib)。
[0034] 根據(jù)本發(fā)明的一些方面,修改在集成電路芯片100的設(shè)計(jì)中包括的接口邏輯塊 220的每個(gè)實(shí)例以唯一地標(biāo)識(shí)其相應(yīng)輸入257A、257B。在一些實(shí)施例中,限定配置存儲(chǔ)240、 解碼器邏輯250和接口邏輯塊220的模型的軟件代碼(例如VHDL)可以限定特定類(lèi)型管 腳,每一個(gè)輸入和輸出允許連接(例如通過(guò)選擇線(xiàn)150A和150B)。這確保了實(shí)施正確的邏 輯結(jié)構(gòu)而不必在芯片層級(jí)對(duì)接口邏輯塊的功能窮舉地建模和仿真。替代地,可以執(zhí)行芯片 層級(jí)結(jié)構(gòu)驗(yàn)證(例如電氣規(guī)則檢查)以基于它們相應(yīng)管腳類(lèi)型而驗(yàn)證所有用于啟用和禁用 冗余邏輯塊210的連接是有效的。這導(dǎo)致對(duì)驗(yàn)證的傳統(tǒng)方法的顯著簡(jiǎn)化,其中對(duì)不同熔絲 數(shù)值的巨大矩陣仿真,以確保熔絲數(shù)值的所有可能組合產(chǎn)生了冗余邏輯塊的正確子集,其 位于供電的電壓島上并且連接至有源數(shù)據(jù)路徑。
[0035] 此外,根據(jù)本發(fā)明的一些方面,在集成電路芯片100的設(shè)計(jì)中包括選擇邏輯120和 可選的邏輯塊IlOA和IlOB大大簡(jiǎn)化了對(duì)集成電路芯片100的設(shè)計(jì)和驗(yàn)證。也即,每個(gè)可 選的邏輯塊IlOA或IlOB在功能上是等同實(shí)例,其可以通過(guò)預(yù)定義和預(yù)驗(yàn)證的選擇邏輯120 而單獨(dú)地啟用和/或禁用。就此而言,并非必需對(duì)啟用和/或禁用的冗余邏輯塊的每一個(gè) 可能排列執(zhí)行功能驗(yàn)證。替代地,只要配置存儲(chǔ)240、解碼器邏輯250和可選的邏輯塊IlOA 和IlOB已經(jīng)驗(yàn)證作為獨(dú)立元件并且如它們相應(yīng)元件定義中的規(guī)定(可以由結(jié)構(gòu)驗(yàn)證來(lái)驗(yàn) 證)而有效地連接,則選擇邏輯120將正確地執(zhí)行功能。因此,功能驗(yàn)證對(duì)于啟用/禁用的 冗余邏輯塊的所有可能排列而言并非必需。
[0036] 基于對(duì)可選的邏輯塊IlOA和IlOB以及選擇邏輯120的前述描述說(shuō)明,本發(fā)明的 一些方面提供了對(duì)包括電壓島冗余邏輯塊的集成電路的簡(jiǎn)化驗(yàn)證。例如,設(shè)計(jì)者可以提供 對(duì)于包括冗余邏輯塊210的集成電路芯片100的設(shè)計(jì),其可以是唯一的或者用戶(hù)定制的設(shè) 計(jì)。芯片制造商可以維持集成電路元件的預(yù)定庫(kù),包括配置存儲(chǔ)240、解碼器邏輯250和接 口邏輯塊220。庫(kù)可以包括對(duì)應(yīng)于制造技術(shù)的配置存儲(chǔ)240、解碼器邏輯250和/或接口邏 輯塊220的不同版本。設(shè)計(jì)者可以與芯片制造商一起合作以通過(guò)修改預(yù)定元件以與設(shè)計(jì)者 的冗余邏輯塊210的特定輸入/輸出相接口而將冗余邏輯塊210的實(shí)例與相應(yīng)接口邏輯塊 220相組合。設(shè)計(jì)者可以基于冗余邏輯塊210而定制接口邏輯塊220的數(shù)據(jù)啟用230 (多 路復(fù)用以及門(mén)邏輯),并且可以存儲(chǔ)該組合作為可選的邏輯塊110A、110B的實(shí)例。設(shè)計(jì)者 隨后可以通過(guò)仿真對(duì)可選的邏輯塊110AU10B的實(shí)例的功能進(jìn)行驗(yàn)證。因?yàn)榭蛇x的邏輯 塊110A、1 IOB的實(shí)例對(duì)于包括在集成電路芯片100的設(shè)計(jì)中的其他塊在功能上等同,任何 數(shù)目的可選的邏輯塊IlOA和IlOB可以例示在芯片設(shè)計(jì)中。每個(gè)實(shí)例將可以由解碼器邏輯 250控制,預(yù)設(shè)計(jì)解碼器邏輯250以解碼和禁用和/或啟用信號(hào)并且將其映射至可以合理 地包括在集成電路的給定設(shè)計(jì)中的任何數(shù)目的可選的邏輯塊。包括可選的邏輯塊IlOA和 IlOB以及選擇邏輯120的集成電路芯片100隨后可以采用單個(gè)有效芯片配置結(jié)構(gòu)來(lái)仿真。 例如,集成電路芯片100的設(shè)計(jì)可以使用單個(gè)、代表性配置結(jié)構(gòu)來(lái)驗(yàn)證,其中配置信息245 存儲(chǔ)了其中四個(gè)可選的邏輯塊110AU10B中的一個(gè)被禁用的熔絲數(shù)值。因此,根據(jù)本發(fā)明 的一些方面,設(shè)計(jì)者無(wú)需負(fù)擔(dān)在集成電路芯片100的設(shè)計(jì)中對(duì)于用于禁用冗余邏輯塊210 的門(mén)控的每一個(gè)可能排列進(jìn)行驗(yàn)證。
[0037] 圖3是根據(jù)本發(fā)明的一些方面的用于實(shí)現(xiàn)一些步驟的示例性環(huán)境310。就此而言, 環(huán)境310包括服務(wù)器或者可以執(zhí)行在此描述的過(guò)程的其他計(jì)算基礎(chǔ)結(jié)構(gòu)312。特別地,計(jì)算 機(jī)基礎(chǔ)結(jié)構(gòu)312包括計(jì)算裝置314。計(jì)算裝置314可以駐留在網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)或者第三方服 務(wù)提供商的計(jì)算裝置上(任何這些裝置通常表示在圖3中)。
[0038] 計(jì)算裝置314也包括處理器320、存儲(chǔ)器322A、I/O接口 324、以及總線(xiàn)326。存儲(chǔ) 器322A可以包括在實(shí)際執(zhí)行程序代碼期間采用的本地存儲(chǔ)器,大容量存儲(chǔ)器,以及提供了 對(duì)至少一些程序代碼的臨時(shí)存儲(chǔ)以便于在執(zhí)行期間減少必需從大容量存儲(chǔ)器檢索代碼的 次數(shù)的緩沖存儲(chǔ)器。此外,計(jì)算裝置包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)以及操 作系統(tǒng)(0/S)。
[0039] 計(jì)算裝置314與外部I/O裝置328和存儲(chǔ)系統(tǒng)322B通信。例如,I/O裝置328可 以包括使得單個(gè)裝置與計(jì)算裝置314交互作用的任何裝置(例如用戶(hù)接口),或者使得計(jì)算 裝置314使用任何類(lèi)型通信鏈路與一個(gè)或多個(gè)其他計(jì)算裝置通信的任何裝置。外部I/O裝 置/資源328可以例如是手持裝置、PDA、手機(jī)、鍵盤(pán)等等。此外,I/O裝置328可以是使得 計(jì)算裝置與集成電路芯片100對(duì)接以執(zhí)行測(cè)試和配置功能的裝置。例如,I/O裝置328可 以是集成電路測(cè)試設(shè)備。
[0040] 通常,處理器320執(zhí)行計(jì)算機(jī)程序代碼(例如程序控制344),其可以存儲(chǔ)在存儲(chǔ)器 322A和/或存儲(chǔ)系統(tǒng)322B中。此外,根據(jù)本發(fā)明的一些方面,程序控制344控制了集成電 路設(shè)計(jì)和驗(yàn)證應(yīng)用350和/或測(cè)試和配置應(yīng)用355以執(zhí)行在此所述一個(gè)或多個(gè)方法。設(shè)計(jì) 和驗(yàn)證應(yīng)用350和/或測(cè)試和配置應(yīng)用355可以實(shí)現(xiàn)為在存儲(chǔ)于存儲(chǔ)器322A中作為分立 或組合模塊的程序控制344中的程序代碼的一個(gè)或多個(gè)集合。此外,設(shè)計(jì)和驗(yàn)證應(yīng)用350 和/或測(cè)試和配置應(yīng)用355可以實(shí)施作為分立的專(zhuān)用處理器或者單個(gè)或多個(gè)處理器以提供 這些工具的功能。
[0041] 當(dāng)執(zhí)行計(jì)算機(jī)程序代碼時(shí),處理器320可以向存儲(chǔ)器322A、存儲(chǔ)系統(tǒng)322B、和/或 I/O接口 324寫(xiě)入數(shù)據(jù),和/或從這些裝置讀取數(shù)據(jù)。程序代碼執(zhí)行了本發(fā)明的方法,例如, 設(shè)計(jì)和驗(yàn)證應(yīng)用350和/或測(cè)試和配置應(yīng)用355。此外,向存儲(chǔ)器322A、存儲(chǔ)系統(tǒng)322B、和 /或I/O接口 324寫(xiě)入和/或從這些裝置讀取數(shù)據(jù)可以包括集成電路設(shè)計(jì)360,其限定了包 括其設(shè)計(jì)規(guī)則、元件及其相互關(guān)系的集成電路100??偩€(xiàn)326在計(jì)算裝置314中每一個(gè)部件 之間提供了通信鏈路。
[0042] 根據(jù)本發(fā)明的一些方面,設(shè)計(jì)和驗(yàn)證應(yīng)用350是存儲(chǔ)在例如存儲(chǔ)器322A和/或存 儲(chǔ)系統(tǒng)322B中的計(jì)算機(jī)程序代碼,當(dāng)由處理器320執(zhí)行時(shí)使得計(jì)算裝置314確定和/或修 改集成電路設(shè)計(jì)260。設(shè)計(jì)和驗(yàn)證應(yīng)用350可以包括用于使用諸如VERIL0G或VHDL之類(lèi)的 硬件描述語(yǔ)言設(shè)計(jì)和建模集成電路設(shè)計(jì)的一個(gè)或多個(gè)軟件或硬件模塊。例如,設(shè)計(jì)和驗(yàn)證 應(yīng)用350可以是綜合/布局CAD工具,其讀入設(shè)計(jì)定義(例如VHDL)、物理區(qū)域約束、時(shí)序約 束、功率約束、設(shè)計(jì)庫(kù)信息、綜合規(guī)則以及工作條件。使用這些各種參數(shù),設(shè)計(jì)應(yīng)用350可以 確定存儲(chǔ)在例如集成電路庫(kù)365中的集成電路設(shè)計(jì)中兀件的t旲型和版圖。確定的版圖以及 相關(guān)聯(lián)的信息可以由計(jì)算裝置314存儲(chǔ)在存儲(chǔ)系統(tǒng)322B中作為集成電路設(shè)計(jì)360。
[0043] 此外,設(shè)計(jì)和驗(yàn)證應(yīng)用350可以包括用于驗(yàn)證集成電路設(shè)計(jì)360的一個(gè)或多個(gè)軟 件或硬件模塊。例如,設(shè)計(jì)和驗(yàn)證應(yīng)用350可以基于設(shè)計(jì)定義、物理區(qū)域約束、時(shí)序約束、功 率約束、設(shè)計(jì)庫(kù)信息、綜合規(guī)則和工作條件而驗(yàn)證集成電路設(shè)計(jì)360的結(jié)構(gòu)和功能需求。例 如,使用電氣規(guī)則檢查,設(shè)計(jì)和驗(yàn)證應(yīng)用350可以驗(yàn)證集成電路芯片100的設(shè)計(jì)中元件的輸 入和/或輸出(例如接口邏輯塊220、配置存儲(chǔ)240和解碼器邏輯250)以由集成電路庫(kù)365 中設(shè)計(jì)定義所規(guī)定的單個(gè)有效的方式而互連。此外,使用建模和仿真,設(shè)計(jì)和驗(yàn)證應(yīng)用350 可以執(zhí)行對(duì)例如可選的邏輯塊(例如可選的邏輯塊IlOA…110D)的器件層級(jí)驗(yàn)證,以及對(duì) 于例如集成電路設(shè)計(jì)360的芯片層級(jí)驗(yàn)證。
[0044] 根據(jù)本發(fā)明的一些方面,測(cè)試和配置應(yīng)用355是存儲(chǔ)在例如存儲(chǔ)器322A和/或存 儲(chǔ)系統(tǒng)322B中的計(jì)算機(jī)程序代碼,當(dāng)由處理器320執(zhí)行時(shí)使得計(jì)算裝置314在其制造之后 對(duì)特定集成電路芯片100的工作進(jìn)行測(cè)試以驗(yàn)證芯片如所設(shè)計(jì)地工作。測(cè)試和配置應(yīng)用 355可以包括用于在各種工作和環(huán)境條件下將測(cè)試圖形輸入進(jìn)入IC芯片100中以確定是否 輸出預(yù)期結(jié)果的一個(gè)或多個(gè)軟件或硬件模塊。例如,測(cè)試和配置應(yīng)用355可以確定一個(gè)或 多個(gè)冗余邏輯塊(例如冗余邏輯塊210)是否是有缺陷的,并且如果有缺陷,則在集成電路 芯片100上記錄這種信息(例如作為配置存儲(chǔ)240中的配置信息245)。
[0045] 計(jì)算裝置314可以包括能夠執(zhí)行安裝在其上的計(jì)算機(jī)程序代碼的任何通用計(jì)算 制造制品(例如個(gè)人計(jì)算機(jī)、服務(wù)器等等)。然而,應(yīng)該理解的是,計(jì)算裝置314僅僅是可以 執(zhí)行在此所述方法的各種可能的等同計(jì)算裝置的代表。就此而言,在一些實(shí)施例中,由計(jì)算 裝置314提供的功能可以由包括通用和/或?qū)S糜布?或計(jì)算機(jī)程序代碼的任意組合的 計(jì)算制品實(shí)現(xiàn)。在每個(gè)實(shí)施例中,程序代碼和硬件可以分別使用標(biāo)準(zhǔn)編程和工程設(shè)計(jì)技術(shù) 而產(chǎn)生。
[0046] 類(lèi)似地,計(jì)算基礎(chǔ)結(jié)構(gòu)312僅是用于實(shí)現(xiàn)本發(fā)明的各種類(lèi)型計(jì)算機(jī)基礎(chǔ)結(jié)構(gòu)的示 例。例如,在一些實(shí)施例中,計(jì)算基礎(chǔ)結(jié)構(gòu)312包括兩個(gè)或更多計(jì)算裝置(例如服務(wù)器集 群),在諸如網(wǎng)絡(luò)、共用存儲(chǔ)器等等的任何類(lèi)型的通信鏈路之上通信以執(zhí)行在此所述的方 法。此外,當(dāng)執(zhí)行在此所述的方法時(shí),計(jì)算基礎(chǔ)結(jié)構(gòu)312上的一個(gè)或多個(gè)計(jì)算裝置可以使用 任何類(lèi)型通信鏈路與位于計(jì)算基礎(chǔ)結(jié)構(gòu)312外部的一個(gè)或多個(gè)其他計(jì)算裝置通信。通信鏈 路可以包括有線(xiàn)和/或無(wú)線(xiàn)鏈路的任意組合;一種或多種類(lèi)型網(wǎng)絡(luò)的任意組合(例如互聯(lián) 網(wǎng)、廣域網(wǎng)、局域網(wǎng)、虛擬專(zhuān)用網(wǎng)絡(luò)等等);和/或利用傳輸技術(shù)和協(xié)議的任意組合。
[0047] 圖4和圖5示出了用于執(zhí)行本發(fā)明的一些方面的示例性流程。可以執(zhí)行圖4和圖 5的步驟以設(shè)計(jì)和/或測(cè)試使用了圖3的計(jì)算裝置314的圖1和圖2的集成電路芯片100。
[0048] 圖4和圖5中的流程圖示出了根據(jù)本發(fā)明各個(gè)實(shí)施例的系統(tǒng)、裝置、方法和計(jì)算機(jī) 程序產(chǎn)品的可能實(shí)施方式的體系架構(gòu)、功能和操作。就此而言,流程圖或框圖中每個(gè)方塊可 以代表模塊、區(qū)段或一部分代碼,其包括用于實(shí)現(xiàn)規(guī)定的邏輯功能的一個(gè)或多個(gè)可執(zhí)行指 令。也應(yīng)該注意,在一些備選實(shí)施方式中,可以以與附圖中標(biāo)注的不同順序而執(zhí)行在方塊中 標(biāo)注的功能。例如,示出為連續(xù)的兩個(gè)方塊實(shí)際上可以基本上同時(shí)執(zhí)行,或者有時(shí)可以以相 反順序執(zhí)行方塊,取決于所涉及的功能。也應(yīng)該注意,框圖和/或流程圖的每個(gè)方塊、以及 框圖和/或流程圖中方塊的組合可以由執(zhí)行了所規(guī)定功能或動(dòng)作的專(zhuān)用基于硬件的系統(tǒng)、 或者專(zhuān)用硬件和計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
[0049] 圖4示出了根據(jù)本發(fā)明一些方面的用于設(shè)計(jì)和驗(yàn)證集成電路芯片的示例性過(guò)程 流程400。如以下方法中所述細(xì)節(jié),通過(guò)在可以由預(yù)設(shè)計(jì)和預(yù)驗(yàn)證的選擇邏輯(例如配置存 儲(chǔ)240和解碼器邏輯250)所控制的接口邏輯塊(例如接口邏輯塊220)中包覆每個(gè)冗余邏 輯塊而簡(jiǎn)化了對(duì)包括冗余邏輯塊(例如冗余邏輯塊210)的集成電路芯片(例如集成電路 芯片100)的設(shè)計(jì)和驗(yàn)證。
[0050] 在步驟405處,獲得了對(duì)于包括冗余邏輯塊的集成電路芯片的設(shè)計(jì)。在一些實(shí)施 例中,自動(dòng)化設(shè)計(jì)應(yīng)用(例如設(shè)計(jì)和驗(yàn)證應(yīng)用350)可以將用于集成電路芯片100的設(shè)計(jì) (例如集成電路設(shè)計(jì)360)存儲(chǔ)在存儲(chǔ)系統(tǒng)(例如存儲(chǔ)系統(tǒng)322B)中。例如,設(shè)計(jì)者可以提 供針對(duì)包括部分良好的電壓島塊的集成電路的設(shè)計(jì)。設(shè)計(jì)者可以是芯片制造商的客戶(hù),提 供了用于制造的設(shè)計(jì)。
[0051] 在步驟410處,設(shè)計(jì)者和/或自動(dòng)化設(shè)計(jì)應(yīng)用基于冗余邏輯塊確定接口邏輯塊 (例如接口邏輯塊220)的設(shè)計(jì)。在一些實(shí)施例中,接口邏輯塊可以是存儲(chǔ)在庫(kù)(例如集成 電路庫(kù)365)中的預(yù)定元件。設(shè)計(jì)者和/或自動(dòng)化設(shè)計(jì)應(yīng)用可以基于冗余邏輯塊從庫(kù)中檢 索接口邏輯塊并且對(duì)其修改。例如,設(shè)計(jì)者和/或自動(dòng)化設(shè)計(jì)應(yīng)用可以修改接口邏輯塊的 電源連接(例如電源啟用邏輯225)和輸入/輸出連接(例如數(shù)據(jù)啟用邏輯230的門(mén)和/ 或多路復(fù)用器)以與冗余邏輯塊的電源和輸入/輸出連接相對(duì)應(yīng)。這些修改取決于特定冗 余邏輯塊,并且在本領(lǐng)域技術(shù)人員的能力范圍內(nèi),使得無(wú)需進(jìn)一步解釋說(shuō)明。
[0052] 在步驟415處,設(shè)計(jì)者和/或自動(dòng)化設(shè)計(jì)應(yīng)用將步驟410處已確定的已修改接口 邏輯塊與冗余邏輯塊組合為可選的邏輯塊(例如可選的邏輯塊IlOA…110D)。在步驟420 處,設(shè)計(jì)者和/或自動(dòng)化設(shè)計(jì)應(yīng)用將用于后續(xù)的驗(yàn)證和實(shí)例化的可選的邏輯塊(例如在集 成電路設(shè)計(jì)360和/或集成電路庫(kù)365中)存儲(chǔ)在集成電路芯片的設(shè)計(jì)中。
[0053] 在步驟425處,設(shè)計(jì)者和/或自動(dòng)化設(shè)計(jì)應(yīng)用對(duì)在步驟420處確定的可選的邏輯 塊執(zhí)行驗(yàn)證測(cè)試。驗(yàn)證測(cè)試可以包括結(jié)構(gòu)和功能測(cè)試,以確保在已組合的接口邏輯塊和冗 余邏輯塊之間的連接是正確的并且可選的邏輯塊根據(jù)設(shè)計(jì)運(yùn)行。驗(yàn)證測(cè)試可以包括結(jié)構(gòu)測(cè) 試,其確定在已組合接口邏輯塊和冗余邏輯塊的元件之間的尺寸、間距和連接是否正確和/ 或在設(shè)計(jì)規(guī)則之內(nèi)。驗(yàn)證測(cè)試也可以包括功能測(cè)試,其確定已組合接口邏輯塊和冗余邏輯 塊的功能(例如輸入、輸出、時(shí)序、功耗等等)是否滿(mǎn)足冗余邏輯塊的功能和接口設(shè)計(jì)需求。 例如,功能測(cè)試可以包括對(duì)可選的邏輯塊的操作進(jìn)行仿真。顯著地,根據(jù)本發(fā)明的一些方 面,因?yàn)樵诩呻娐吩O(shè)計(jì)中所有可選的邏輯塊是等同的,所以?xún)H需要對(duì)可選的邏輯塊的單 個(gè)實(shí)例執(zhí)行驗(yàn)證測(cè)試。
[0054] 在步驟430處,如果驗(yàn)證步驟425在可選的邏輯塊中標(biāo)識(shí)任何錯(cuò)誤,則設(shè)計(jì)者和/ 或自動(dòng)化設(shè)計(jì)應(yīng)用在步驟435糾正錯(cuò)誤,并且過(guò)程返回至步驟425。如果在步驟425處在可 選的邏輯塊中確定沒(méi)有錯(cuò)誤,則過(guò)程前進(jìn)至步驟440。在步驟440處,設(shè)計(jì)者和/或自動(dòng)化 設(shè)計(jì)應(yīng)用修改集成電路芯片的設(shè)計(jì)以包括選擇邏輯(例如選擇邏輯120)和在步驟425處 驗(yàn)證的可選的邏輯塊的多個(gè)實(shí)例。選擇邏輯可以包括非易失性數(shù)據(jù)存儲(chǔ)裝置(例如配置存 儲(chǔ)240)和解碼器裝置(例如解碼器邏輯250)??蛇x的邏輯塊的多個(gè)實(shí)例可以在步驟405 處獲得的集成電路芯片設(shè)計(jì)中代替原始包括在設(shè)計(jì)中的冗余邏輯塊。
[0055] 在步驟445處,設(shè)計(jì)者和/或自動(dòng)化設(shè)計(jì)應(yīng)用修改了在步驟440處在集成電路設(shè) 計(jì)中包括的可選的邏輯塊的實(shí)例,使得唯一地標(biāo)識(shí)它們相應(yīng)輸入(例如輸入257A(I a)和 257B(Ib))。在一些實(shí)施例中,唯一的標(biāo)識(shí)符可以是基于相應(yīng)位置、地址和/或分配至可選 的邏輯塊的標(biāo)識(shí)符。例如,使用唯一的標(biāo)識(shí)符,去往接口邏輯塊實(shí)例(例如接口邏輯塊220 的輸入Ia和Ib)的輸入的管腳類(lèi)型可以被修改為具有唯一類(lèi)型標(biāo)識(shí)符。
[0056] 在步驟447處,設(shè)計(jì)者和/或自動(dòng)化設(shè)計(jì)應(yīng)用確定連接選擇邏輯和可選的塊的信 號(hào)線(xiàn)(例如信號(hào)線(xiàn)150A…150D)。根據(jù)本發(fā)明的一些方面,配置存儲(chǔ)、解碼器、和/或接口 邏輯塊的元件定義限定了這些元件的輸入和/或輸出,使得在這些元件之間需要有效信號(hào) 線(xiàn)以形成特定連接。如上所述,在本發(fā)明的一些實(shí)施例中,元件定義包括限制了哪個(gè)其他管 腳可以連接的管腳的具體類(lèi)型。例如,可以限定(例如在VHDL中)配置存儲(chǔ)的預(yù)定輸出管 腳(例如輸出251),使得如果與解碼器的預(yù)定輸入管腳(例如輸入253)連接,則僅將其與 解碼器連接的信號(hào)線(xiàn)是有效的。類(lèi)似地,可以限定解碼器的輸出管腳(例如輸出255A(O a)、 255B (Ob)),使得如果與在步驟445中修改為獨(dú)特可標(biāo)識(shí)的接口邏輯塊實(shí)例的特定輸入管腳 (例如輸入257A (Ia)、257B (Ib))相連接,則僅與接口邏輯塊連接的信號(hào)線(xiàn)是有效的。因此, 結(jié)構(gòu)驗(yàn)證(例如電氣規(guī)則檢查)將標(biāo)識(shí)塊之間任何有效連接。
[0057] 在步驟450處,設(shè)計(jì)者和/或自動(dòng)化設(shè)計(jì)應(yīng)用對(duì)來(lái)自步驟445的一個(gè)排列集成電 路芯片設(shè)計(jì)執(zhí)行功能驗(yàn)證。根據(jù)集成電路的局部良好設(shè)計(jì),驗(yàn)證在步驟450處驗(yàn)證了集成 電路設(shè)計(jì)配置具有可選的邏輯塊的一個(gè)或多個(gè)實(shí)例為禁用,例如,其中可選的邏輯塊包括 冗余處理器核心并且將IC設(shè)計(jì)為使用兩個(gè)過(guò)?;蛴腥毕萏幚砥骱诵倪\(yùn)行,驗(yàn)證步驟450可 以采用將任何兩個(gè)可選的邏輯塊規(guī)定為禁用的配置信息(例如配置信息245)來(lái)仿真集成 電路芯片的操作。如果在步驟455處任何錯(cuò)誤標(biāo)識(shí)為步驟450處驗(yàn)證的結(jié)果,則設(shè)計(jì)者和 /或自動(dòng)化設(shè)計(jì)應(yīng)用在步驟460處糾正錯(cuò)誤,并且該過(guò)程返回至步驟450。如果在步驟455 處在集成電路中確定沒(méi)有錯(cuò)誤,則相對(duì)于選擇邏輯完成了芯片層級(jí)驗(yàn)證并且該過(guò)程繼續(xù)至 步驟465。
[0058] 在步驟465處,設(shè)計(jì)者和/或自動(dòng)化設(shè)計(jì)應(yīng)用對(duì)選擇邏輯和可選的邏輯塊的連接 執(zhí)行結(jié)構(gòu)驗(yàn)證。例如,可以執(zhí)行電氣規(guī)則檢查以驗(yàn)證配置存儲(chǔ)、解碼器裝置和可選的邏輯塊 的輸入和輸出以相應(yīng)元件定義中規(guī)定的有效方式而連接。如果在步驟470處標(biāo)識(shí)任何禁用 連接作為在步驟465處驗(yàn)證的結(jié)果,則設(shè)計(jì)者和/或自動(dòng)化設(shè)計(jì)應(yīng)用在步驟475處糾正錯(cuò) 誤,并且該過(guò)程返回至步驟465。如果在步驟470處沒(méi)有標(biāo)識(shí)錯(cuò)誤,則方法結(jié)束。
[0059] 圖5示出了根據(jù)本發(fā)明一些方面的用于配置示例性集成電路的示例性過(guò)程流程 500。在基于圖4中確定的集成電路芯片(例如集成電路芯片100)的設(shè)計(jì)而制造了特定集 成電路芯片之后,可以測(cè)試集成電路芯片,并且可以由選擇邏輯配置可選的邏輯塊。例如, 對(duì)集成電路芯片的測(cè)試可以確定所制造的集成電路芯片是否包括任何有缺陷冗余邏輯塊 或任何過(guò)剩冗余邏輯塊?;跍y(cè)試的結(jié)果,可以通過(guò)如圖4所示過(guò)程由在集成電路芯片的 設(shè)計(jì)中包括的選擇邏輯來(lái)禁用有缺陷或者過(guò)剩的冗余邏輯塊。
[0060] 在步驟505處,制造商使用例如由圖4所示方法所確定的設(shè)計(jì)(例如集成電路設(shè) 計(jì)360)來(lái)制造包括冗余邏輯塊的集成電路芯片(例如集成電路芯片100)。因此,根據(jù)本發(fā) 明的一些方面,集成電路芯片包括選擇邏輯(例如選擇邏輯120)和可選的邏輯塊(例如可 選的邏輯塊110A··· 110D),包括冗余邏輯塊(例如冗余邏輯塊210)。
[0061] 在步驟510處,制造商和/或測(cè)試和配置過(guò)程(例如測(cè)試和配置應(yīng)用355)確定在 步驟505處制造的集成電路芯片中有缺陷和/或無(wú)缺陷的冗余邏輯塊(例如冗余邏輯塊 210)。例如,集成電路可以放置在鏈接至被配置用于在各種工作和環(huán)境條件下執(zhí)行測(cè)試工 序的計(jì)算系統(tǒng)(例如經(jīng)由I/O裝置328鏈接至計(jì)算裝置314)的測(cè)試臺(tái)中。
[0062] 在步驟515處,制造商和/或測(cè)試和配置過(guò)程確定在步驟510處所確定的無(wú)缺陷 冗余邏輯塊的數(shù)量是否小于集成電路芯片設(shè)計(jì)所需要的數(shù)量。例如,集成電路設(shè)計(jì)可以包 括十個(gè)冗余邏輯塊并且規(guī)定集成電路芯片需要八個(gè)冗余邏輯塊運(yùn)行。因此,如果測(cè)試和配 置過(guò)程確定了在步驟515處十個(gè)冗余邏輯塊中的三個(gè)是有缺陷的,則整個(gè)集成電路芯片可 以視作是有缺陷的,并且過(guò)程結(jié)束。如果在步驟515處,制造商和/或測(cè)試和配置方法確 定了無(wú)缺陷冗余邏輯塊的數(shù)量等于或大于集成電路芯片設(shè)計(jì)所需要的數(shù)量,則在步驟520 處,測(cè)試和配置過(guò)程標(biāo)識(shí)在步驟510處確定的有缺陷冗余邏輯塊用于禁用。
[0063] 在步驟525處,制造商和/或測(cè)試和配置方法確定了在步驟510處所確定的無(wú)缺 陷冗余塊的數(shù)目是否大于集成電路設(shè)計(jì)所需要的數(shù)量。例如,如果集成電路設(shè)計(jì)(例如集 成電路設(shè)計(jì)360)包括十個(gè)冗余邏輯塊,并且規(guī)定集成電路芯片需要八個(gè)冗余邏輯塊運(yùn)行, 并且如果僅一個(gè)冗余邏輯塊是有缺陷的,則一個(gè)冗余塊是過(guò)剩的。
[0064] 如果在步驟525處,確定了在步驟510處所確定的無(wú)缺陷冗余塊的數(shù)目不大于所 需的數(shù)量,則測(cè)試和配置過(guò)程前進(jìn)至步驟535。另一方面,如果在步驟525處,確定了無(wú)缺陷 冗余塊的數(shù)目大于所需的數(shù)量,則集成電路包括至少一個(gè)過(guò)剩的冗余塊。在該情形下,在步 驟530處,制造商和/或測(cè)試和配置過(guò)程標(biāo)識(shí)了一個(gè)或多個(gè)過(guò)剩的冗余邏輯塊以用于禁用。 因?yàn)槿哂噙壿媺K的每個(gè)實(shí)例功能相同,所以測(cè)試和配置過(guò)程可以選擇任何無(wú)缺陷塊。
[0065] 在步驟535處,制造商和/或測(cè)試和配置過(guò)程將在步驟520和步驟530處標(biāo)識(shí)用 于禁用的冗余邏輯塊記錄在配置存儲(chǔ)中(例如作為配置存儲(chǔ)240中的配置信息245)。例如 可以通過(guò)將標(biāo)識(shí)了將要禁用的過(guò)剩或有缺陷冗余邏輯塊的信息存儲(chǔ)在配置存儲(chǔ)的存儲(chǔ)器 中而記錄了信息。備選地,配置存儲(chǔ)裝置可以包括許多熔絲,并且測(cè)試和配置過(guò)程可以熔斷 選擇的熔絲以對(duì)標(biāo)識(shí)了將要禁用的冗余邏輯塊的信息進(jìn)行編碼。
[0066] 在步驟540處,制造商和/或測(cè)試和配置過(guò)程控制了可選的邏輯塊以使得在步驟 535處記錄在配置存儲(chǔ)裝置中的冗余邏輯塊為禁用。例如,制造商和/或測(cè)試和配置方法可 以使得可選的邏輯塊的接口邏輯經(jīng)由電源啟用電路(例如電源啟用邏輯225)而從它們相 應(yīng)電源斷開(kāi)已標(biāo)識(shí)的冗余邏輯塊,并且經(jīng)由數(shù)據(jù)啟用電路(例如數(shù)據(jù)啟用陸基230)從集成 電路芯片(例如邏輯塊130)的其他邏輯塊斷開(kāi)已標(biāo)識(shí)冗余邏輯塊。
[0067] 圖6是在半導(dǎo)體設(shè)計(jì)、制造和/或測(cè)試中使用的設(shè)計(jì)過(guò)程的流程圖。圖6示出了例 如在半導(dǎo)體IC邏輯設(shè)計(jì)、仿真、測(cè)試、布圖和制造中使用的示例性設(shè)計(jì)流程600的方塊圖。 設(shè)計(jì)流程600包括用于處理設(shè)計(jì)結(jié)構(gòu)或器件以產(chǎn)生上述以及圖1和圖2中示出的設(shè)計(jì)結(jié)構(gòu) 和/或器件的邏輯上或其他功能上等效表示的過(guò)程、機(jī)器和/或機(jī)制。由設(shè)計(jì)流程600處理 和/或產(chǎn)生的設(shè)計(jì)結(jié)構(gòu)可以在機(jī)器可讀傳輸或存儲(chǔ)介質(zhì)上被編碼以包括數(shù)據(jù)和/或指令, 所述數(shù)據(jù)和/或指令在數(shù)據(jù)處理系統(tǒng)上執(zhí)行或以其他方式處理時(shí),產(chǎn)生硬件組件、電路、器 件或系統(tǒng)的邏輯上、結(jié)構(gòu)上、機(jī)械上或其他功能上的等效表示。機(jī)器包括但不限于用于IC 設(shè)計(jì)過(guò)程(例如設(shè)計(jì)、制造或仿真電路、組件、器件或系統(tǒng))的任何機(jī)器。例如,機(jī)器可以包 括:用于產(chǎn)生掩模的光刻機(jī)、機(jī)器和/或設(shè)備(例如電子束直寫(xiě)儀)、用于仿真設(shè)計(jì)結(jié)構(gòu)的 計(jì)算機(jī)或設(shè)備、用于制造或測(cè)試過(guò)程的任何裝置,或用于將所述設(shè)計(jì)結(jié)構(gòu)的功能上的等效 表示編程到任何介質(zhì)中的任何機(jī)器(例如,用于對(duì)可編程門(mén)陣列進(jìn)行編程的機(jī)器)。
[0068] 設(shè)計(jì)流程600可隨被設(shè)計(jì)的表示類(lèi)型而不同。例如,用于構(gòu)建專(zhuān)用IC(ASIC)的設(shè) 計(jì)流程600可能不同于用于設(shè)計(jì)標(biāo)準(zhǔn)組件的設(shè)計(jì)流程600,或不同于用于將設(shè)計(jì)實(shí)例化到 可編程陣列(例如,由Altera⑧Inc.或Xilinx? Inc.提供的可編程門(mén)陣列(PGA)或現(xiàn) 場(chǎng)可編程門(mén)陣列(FPGA))中的設(shè)計(jì)流程600。
[0069] 圖6示出了多個(gè)此類(lèi)設(shè)計(jì)結(jié)構(gòu),其中包括優(yōu)選地由設(shè)計(jì)過(guò)程610處理的輸入設(shè)計(jì) 結(jié)構(gòu)620。設(shè)計(jì)結(jié)構(gòu)620可以是由設(shè)計(jì)過(guò)程610生成和處理以產(chǎn)生硬件器件的邏輯上等效 的功能表示的邏輯仿真設(shè)計(jì)結(jié)構(gòu)。設(shè)計(jì)結(jié)構(gòu)620還可以或備選地包括數(shù)據(jù)和/或程序指令, 所述數(shù)據(jù)和/或程序指令由設(shè)計(jì)過(guò)程610處理時(shí),生成硬件器件的物理結(jié)構(gòu)的功能表示。無(wú) 論表示功能和/或結(jié)構(gòu)設(shè)計(jì)特性,均可以使用例如由核心開(kāi)發(fā)人員/設(shè)計(jì)人員實(shí)施的電子 計(jì)算機(jī)輔助設(shè)計(jì)(ECAD)生成設(shè)計(jì)結(jié)構(gòu)620。當(dāng)編碼在機(jī)器可讀數(shù)據(jù)傳輸、門(mén)陣列或存儲(chǔ)介 質(zhì)上時(shí),設(shè)計(jì)結(jié)構(gòu)620可以由設(shè)計(jì)過(guò)程610內(nèi)的一個(gè)或多個(gè)硬件和/或軟件模塊訪(fǎng)問(wèn)和處 理以仿真或以其他方式在功能上表示例如圖1和圖2中示出的那些電子組件、電路、電子或 邏輯模塊、裝置、器件或系統(tǒng)。因此,設(shè)計(jì)結(jié)構(gòu)620可以包括文件或其他數(shù)據(jù)結(jié)構(gòu),其中包括 人類(lèi)和/或機(jī)器可讀源代碼、編譯結(jié)構(gòu)和計(jì)算機(jī)可執(zhí)行代碼結(jié)構(gòu),當(dāng)所述文件或其他數(shù)據(jù) 結(jié)構(gòu)由設(shè)計(jì)或仿真數(shù)據(jù)處理系統(tǒng)處理時(shí),在功能上仿真或以其他方式表示電路或其他級(jí)別 的硬件邏輯設(shè)計(jì)。此類(lèi)數(shù)據(jù)結(jié)構(gòu)可以包括硬件描述語(yǔ)言(HDL)設(shè)計(jì)實(shí)體或遵循和/或兼容 低級(jí)HDL設(shè)計(jì)語(yǔ)言(例如Verilog和VHDL)和/或高級(jí)設(shè)計(jì)語(yǔ)言(例如C或C++)的其他 數(shù)據(jù)結(jié)構(gòu)。
[0070] 設(shè)計(jì)過(guò)程610優(yōu)選地采用和結(jié)合硬件和/或軟件模塊,所述模塊用于合成、轉(zhuǎn)換或 以其他方式處理圖1和圖2中示出的組件、電路、器件或邏輯結(jié)構(gòu)的設(shè)計(jì)/仿真功能等價(jià)物 以生成可以包含設(shè)計(jì)結(jié)構(gòu)(例如設(shè)計(jì)結(jié)構(gòu)620)的網(wǎng)表680。網(wǎng)表680例如可以包括編譯或 以其他方式處理的數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)表示描述與集成電路設(shè)計(jì)中的其他元件和電路 的連接的線(xiàn)纜、分離組件、邏輯門(mén)、控制電路、I/O設(shè)備、模型等的列表。網(wǎng)表680可以使用 迭代過(guò)程合成,其中網(wǎng)表680被重新合成一次或多次,具體取決于器件的設(shè)計(jì)規(guī)范和參數(shù)。 對(duì)于在此所述的其他設(shè)計(jì)結(jié)構(gòu)類(lèi)型,網(wǎng)表680可以記錄在機(jī)器可讀數(shù)據(jù)存儲(chǔ)介質(zhì)上或編程 到可編程門(mén)陣列中。所述介質(zhì)可以是非易失性存儲(chǔ)介質(zhì),例如磁或光盤(pán)驅(qū)動(dòng)器、可編程門(mén)陣 列、壓縮閃存或其他閃存。此外或備選地,所述介質(zhì)可以是可在其上經(jīng)由因特網(wǎng)或其他適合 聯(lián)網(wǎng)手段傳輸和中間存儲(chǔ)數(shù)據(jù)分組的系統(tǒng)或高速緩沖存儲(chǔ)器、緩沖器空間或?qū)щ娀蚬鈱?dǎo)器 件和材料。
[0071] 設(shè)計(jì)過(guò)程610可以包括用于處理包括網(wǎng)表680在內(nèi)的各種輸入數(shù)據(jù)結(jié)構(gòu)類(lèi)型的硬 件和軟件模塊。此類(lèi)數(shù)據(jù)結(jié)構(gòu)類(lèi)型例如可以駐留在庫(kù)元件630內(nèi)并包括一組常用元件、電 路和器件,其中包括給定制造技術(shù)(例如,不同的技術(shù)節(jié)點(diǎn),32納米、45納米、90納米等)的 模型、布圖和符號(hào)表示。所述數(shù)據(jù)結(jié)構(gòu)類(lèi)型還可包括設(shè)計(jì)規(guī)范640、特征數(shù)據(jù)650、檢驗(yàn)數(shù)據(jù) 660、設(shè)計(jì)規(guī)則670和測(cè)試數(shù)據(jù)文件685,它們可以包括輸入測(cè)試模式、輸出測(cè)試結(jié)果和其他 測(cè)試信息。設(shè)計(jì)過(guò)程610還可例如包括標(biāo)準(zhǔn)機(jī)械設(shè)計(jì)過(guò)程,例如用于諸如鑄造、成型和模壓 成形等操作的應(yīng)力分析、熱分析、機(jī)械事件仿真、過(guò)程仿真。機(jī)械設(shè)計(jì)領(lǐng)域的技術(shù)人員可以 在不偏離本發(fā)明的范圍和精神的情況下理解在設(shè)計(jì)過(guò)程610中使用的可能機(jī)械設(shè)計(jì)工具 和應(yīng)用的范圍。設(shè)計(jì)過(guò)程610還可包括用于執(zhí)行諸如定時(shí)分析、檢驗(yàn)、設(shè)計(jì)規(guī)則檢查、放置 和路由操作之類(lèi)的標(biāo)準(zhǔn)電路設(shè)計(jì)過(guò)程的模塊。
[0072] 設(shè)計(jì)過(guò)程610采用和結(jié)合邏輯和物理設(shè)計(jì)工具(例如HDL編譯器)以及仿真建模 工具以便與任何其他機(jī)械設(shè)計(jì)或數(shù)據(jù)(如果適用)一起處理設(shè)計(jì)結(jié)構(gòu)620連同示出的部分 或全部支持?jǐn)?shù)據(jù)結(jié)構(gòu),從而生成第二設(shè)計(jì)結(jié)構(gòu)690。
[0073] 設(shè)計(jì)結(jié)構(gòu)690以用于機(jī)械設(shè)備和結(jié)構(gòu)的數(shù)據(jù)交換的數(shù)據(jù)格式(例如以IGES、DXF、 Parasolid XT、JT、DRC或任何其他用于存儲(chǔ)或呈現(xiàn)此類(lèi)機(jī)械設(shè)計(jì)結(jié)構(gòu)的適合格式)駐留在 存儲(chǔ)介質(zhì)或可編程門(mén)陣列上。類(lèi)似于設(shè)計(jì)結(jié)構(gòu)620,設(shè)計(jì)結(jié)構(gòu)690優(yōu)選地包括一個(gè)或多個(gè)文 件、數(shù)據(jù)結(jié)構(gòu)或其他計(jì)算機(jī)編碼的數(shù)據(jù)或指令,它們駐留在傳輸或數(shù)據(jù)存儲(chǔ)介質(zhì)上,并且由 ECAD系統(tǒng)處理時(shí)生成圖1和圖2中示出的本發(fā)明的一個(gè)或多個(gè)實(shí)施例的邏輯上或以其他方 式在功能上等效的形式。在一個(gè)實(shí)施例中,設(shè)計(jì)結(jié)構(gòu)690可以包括在功能上仿真圖1和圖 2中示出的器件的編譯后的可執(zhí)行HDL仿真模型。
[0074] 設(shè)計(jì)結(jié)構(gòu)690還可以采用用于集成電路的布圖數(shù)據(jù)交換的數(shù)據(jù)格式和/或符號(hào) 數(shù)據(jù)格式(例如以GDSII (GDS2)、GLl、OASIS、圖文件或任何其他用于存儲(chǔ)此類(lèi)設(shè)計(jì)數(shù)據(jù)結(jié) 構(gòu)的適合格式存儲(chǔ)的信息)。設(shè)計(jì)結(jié)構(gòu)690可以包括信息,例如符號(hào)數(shù)據(jù)、圖文件、測(cè)試數(shù) 據(jù)文件、設(shè)計(jì)內(nèi)容文件、制造數(shù)據(jù)、布圖參數(shù)、線(xiàn)纜、金屬級(jí)別、通孔、形狀、用于在整個(gè)生產(chǎn) 線(xiàn)中路由的數(shù)據(jù),以及制造商或其他設(shè)計(jì)人員/開(kāi)發(fā)人員制造上述以及圖1和圖2中示出 的器件或結(jié)構(gòu)所需的任何其他數(shù)據(jù)。設(shè)計(jì)結(jié)構(gòu)690然后可以繼續(xù)到階段695,例如,在階 段695,設(shè)計(jì)結(jié)構(gòu)690 :繼續(xù)到流片(tape-out),被發(fā)布到制造公司、被發(fā)布到掩模室(mask house)、被發(fā)送到其他設(shè)計(jì)室,被發(fā)回給客戶(hù)等。
[0075] 上述方法用于集成電路芯片制造。制造者可以以原始晶片形式(即,作為具有多 個(gè)未封裝芯片的單晶片)、作為裸小片或以封裝的形式分發(fā)所得到的集成電路芯片。在后者 的情況中,以單芯片封裝(例如,引線(xiàn)固定到母板的塑料載體或其他更高級(jí)別的載體)或多 芯片封裝(例如,具有一個(gè)或兩個(gè)表面互連或掩埋互連的陶瓷載體)來(lái)安裝芯片。在任何 情況下,所述芯片然后都作為(a)中間產(chǎn)品(如母板)或(b)最終產(chǎn)品的一部分與其他芯 片、分離電路元件和/或其他信號(hào)處理裝置集成。最終產(chǎn)品可以是任何包括集成電路芯片 的產(chǎn)品,范圍從玩具和其他低端應(yīng)用到具有顯示器、鍵盤(pán)或其他輸入設(shè)備及中央處理器的 高級(jí)計(jì)算機(jī)產(chǎn)品。
[0076] 出于示例目的給出了對(duì)本發(fā)明的各種實(shí)施例的描述,但所述描述并非旨在是窮舉 的或限于所公開(kāi)的各實(shí)施例。在不偏離所描述的實(shí)施例的范圍和精神的情況下,對(duì)于本領(lǐng) 域的技術(shù)人員而言,許多修改和變化都將是顯而易見(jiàn)的。在此使用的術(shù)語(yǔ)的選擇是為了最 佳地解釋各實(shí)施例的原理、實(shí)際應(yīng)用或?qū)κ袌?chǎng)中存在的技術(shù)的技術(shù)改進(jìn),或者使本領(lǐng)域的 其他技術(shù)人員能夠理解在此公開(kāi)的各實(shí)施例。
【權(quán)利要求】
1. 一種集成電路,包括: 選擇邏輯;以及 多個(gè)可選的邏輯塊,由所述選擇邏輯單獨(dú)地可控制, 其中,所述多個(gè)可選的邏輯塊包括: 冗余邏輯塊的相應(yīng)實(shí)例,以及 接口邏輯塊的相應(yīng)實(shí)例,選擇性禁用在所述集成電路中的所述冗余邏輯塊。
2. 根據(jù)權(quán)利要求1所述的集成電路,其中,所述接口邏輯塊的相應(yīng)實(shí)例包括: 可切換電源連接,在所述冗余邏輯塊的相應(yīng)實(shí)例與電源之間;以及 可切換數(shù)據(jù)連接,在所述冗余邏輯塊的相應(yīng)實(shí)例與所述集成電路的功能邏輯塊之間。
3. 根據(jù)權(quán)利要求1所述的集成電路,其中,所述選擇邏輯包括: 非易失性存儲(chǔ)裝置,存儲(chǔ)標(biāo)識(shí)所述冗余邏輯塊的實(shí)例的一個(gè)或多個(gè)以用于禁用的信 息;以及 解碼器裝置,將所存儲(chǔ)的信息映射至所述接口邏輯塊的一個(gè)或多個(gè)實(shí)例的特定輸入連 接。
4. 根據(jù)權(quán)利要求3所述的集成電路,其中: 所述非易失性存儲(chǔ)裝置的輸出具有去往所述解碼器裝置的輸入的預(yù)定連接;以及 所述解碼器裝置的輸出具有去往所述接口邏輯塊的實(shí)例的相應(yīng)輸入的預(yù)定連接。
5. 根據(jù)權(quán)利要求3所述的集成電路,其中,所述接口邏輯塊的實(shí)例具有對(duì)于所述接口 邏輯塊的每個(gè)實(shí)例是唯一的相應(yīng)輸入連接,并且所述接口邏輯塊的實(shí)例具有去往所述解碼 器裝置的相應(yīng)輸出的預(yù)定連接。
6. 根據(jù)權(quán)利要求1所述的集成電路,其中,所述多個(gè)可選的邏輯塊包括由所述選擇邏 輯激活的數(shù)據(jù)啟用邏輯。
7. 根據(jù)權(quán)利要求1所述的集成電路,其中,所述冗余邏輯塊是部分良好的電壓島邏輯 塊。
8. 根據(jù)權(quán)利要求1所述的集成電路,其中,所述集成電路包括多核處理器,并且所述冗 余邏輯塊的實(shí)例是所述多核處理器的處理器核心。
9. 根據(jù)權(quán)利要求1所述的集成電路,其中,所述冗余邏輯塊的實(shí)例是存儲(chǔ)器邏輯的塊。
10. -種用于提供集成電路的方法,包括: 基于在所述集成電路中包括的冗余邏輯塊來(lái)確定接口邏輯塊; 將所述冗余邏輯塊與所確定的接口邏輯塊組合為可選的邏輯塊;以及 確定在選擇邏輯與所述可選的邏輯塊的多個(gè)實(shí)例之間的連接。
11. 根據(jù)權(quán)利要求10所述的方法,進(jìn)一步包括驗(yàn)證所述可選的邏輯塊滿(mǎn)足所述冗余邏 輯塊的設(shè)計(jì)需求。
12. 根據(jù)權(quán)利要求10所述的方法,其中,確定所述接口邏輯塊包括確定在所述接口邏 輯塊與所述冗余邏輯塊的數(shù)據(jù)連接之間的可切換連接。
13. 根據(jù)權(quán)利要求10所述的方法,進(jìn)一步包括修改所述可選的邏輯塊的多個(gè)實(shí)例的輸 入以具有與所述選擇邏輯的相應(yīng)輸出相關(guān)聯(lián)的唯一的標(biāo)識(shí)。
14. 根據(jù)權(quán)利要求13所述的方法,其中,所述唯一的標(biāo)識(shí)是管腳類(lèi)型。
15. 根據(jù)權(quán)利要求13所述的方法,其中,確定所述連接包括基于所述唯一的標(biāo)識(shí)來(lái)確 定在所述選擇邏輯的輸出與所述可選的邏輯塊的多個(gè)實(shí)例的輸入之間的允許的連接。
16. 根據(jù)權(quán)利要求13所述的方法,進(jìn)一步包括基于所述唯一的標(biāo)識(shí)來(lái)驗(yàn)證在所述選擇 邏輯與所述可選的邏輯塊的多個(gè)實(shí)例的輸入之間的連接。
17. -種方法,包括: 在集成電路中標(biāo)識(shí)多個(gè)冗余邏輯塊中的第一冗余邏輯塊以用于禁用,其中: 所述多個(gè)冗余邏輯塊被包括在相應(yīng)可選的邏輯塊中;以及 所述可選的邏輯塊包括將相應(yīng)的多個(gè)所述冗余邏輯塊與所述集成電路的功能邏輯分 隔開(kāi)的接口邏輯塊; 在所述集成電路的選擇邏輯中記錄標(biāo)識(shí)所述第一冗余邏輯塊的信息;以及 基于在所述選擇邏輯中記錄的所述信息,經(jīng)由相應(yīng)可選的邏輯塊的接口邏輯塊來(lái)禁用 所述第一冗余邏輯塊。
18. 根據(jù)權(quán)利要求17所述的方法,其中,所述標(biāo)識(shí)包括確定所述第一冗余邏輯塊是所 述多個(gè)冗余邏輯塊中的有缺陷的或者過(guò)剩的冗余邏輯塊。
19. 根據(jù)權(quán)利要求17所述的方法,其中所述禁用包括: 對(duì)在所述選擇邏輯中記錄的所述信息進(jìn)行解碼;以及 將已解碼的信息映射至所述第一冗余邏輯塊的相應(yīng)可選的邏輯塊。
20. 根據(jù)權(quán)利要求17所述的方法,其中所述禁用包括使用在所述第一冗余邏輯塊的相 應(yīng)可選的邏輯塊中包括的切換邏輯來(lái)斷開(kāi)電源和數(shù)據(jù)連接。
【文檔編號(hào)】G06F17/50GK104424379SQ201410452348
【公開(kāi)日】2015年3月18日 申請(qǐng)日期:2014年9月5日 優(yōu)先權(quán)日:2013年9月6日
【發(fā)明者】K·W·戈滿(mǎn), S·F·奧克蘭德, M·R·奧埃萊特, S·J·尤里施 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司