專利名稱:具有選擇運(yùn)算符的數(shù)字電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及數(shù)字電路,具體來(lái)講,涉及利用單元來(lái)布局的數(shù)字電路設(shè)計(jì)。
背景技術(shù):
數(shù)學(xué)是人類了解其周圍世界的一種方法。隨著技術(shù)的進(jìn)步,數(shù)學(xué)概念和算法也發(fā)展起來(lái)實(shí)現(xiàn)和/或支持這些進(jìn)步。在數(shù)字設(shè)計(jì)的環(huán)境下,布爾邏輯是用來(lái)操作和優(yōu)化數(shù)字電路的數(shù)學(xué)架構(gòu)。今天幾乎所有的電子裝置都依賴某種類型的布爾邏輯來(lái)構(gòu)筑其內(nèi)嵌的任何數(shù)字電路。當(dāng)然還有其他的數(shù)學(xué)架構(gòu)可以進(jìn)一步優(yōu)化數(shù)字電路。當(dāng)不用布爾邏輯元件時(shí),必須改變數(shù)字電路設(shè)計(jì)的處理過(guò)程。
今天專用集成電路(ASIC)用芯片制造廠或芯片制造設(shè)施的具體工藝的庫(kù)單元的網(wǎng)表來(lái)規(guī)定設(shè)計(jì)。這些網(wǎng)表用來(lái)制造由庫(kù)單元組成的集成電路。典型的情況是一個(gè)具體的工藝備有包括與門,或門,觸發(fā)器(F/F),和緩沖器在內(nèi)的幾百個(gè)庫(kù)單元。當(dāng)一個(gè)新的制造工藝開(kāi)發(fā)出來(lái)時(shí),工程師們習(xí)慣于布置每一個(gè)庫(kù)單元來(lái)獲取每一個(gè)單元的最佳性能。
發(fā)明內(nèi)容
在某些實(shí)施例中,提供了一個(gè)設(shè)計(jì)數(shù)字集成電路芯片的方法。先要識(shí)別一個(gè)要由數(shù)字集成電路來(lái)實(shí)現(xiàn)的邏輯結(jié)構(gòu)。這個(gè)邏輯結(jié)構(gòu)通過(guò)為數(shù)眾多的其中至少5%是包括選擇運(yùn)算的邏輯運(yùn)算來(lái)表示。在各種不同的具體實(shí)施例中,包括選擇運(yùn)算的邏輯運(yùn)算的份額可能更高。還要確定對(duì)應(yīng)于實(shí)現(xiàn)邏輯運(yùn)算的各個(gè)邏輯單元。在這些實(shí)施例的某些實(shí)例中,選擇運(yùn)算可以是根據(jù)基本布爾值,或者根據(jù)基本布爾值的高階函數(shù)來(lái)運(yùn)算的。在一個(gè)實(shí)施例中,沒(méi)有一個(gè)對(duì)應(yīng)于實(shí)現(xiàn)邏輯運(yùn)算的邏輯單元包括具有多于一個(gè)單個(gè)輸入的布爾邏輯元件。
在其他的實(shí)施例中,也提供了一個(gè)設(shè)計(jì)其中有一個(gè)邏輯結(jié)構(gòu)的數(shù)字集成電路芯片的方法。在這些實(shí)施例中,邏輯結(jié)構(gòu)通過(guò)其中少于50%的運(yùn)算是包括具有多于一個(gè)的單個(gè)輸出布爾邏輯運(yùn)算的邏輯運(yùn)算來(lái)表示。于是就確定對(duì)應(yīng)于實(shí)現(xiàn)邏輯運(yùn)算的各個(gè)邏輯單元。
在某些實(shí)施例中,提供一個(gè)優(yōu)化專用集成電路的方法。該電路的數(shù)字設(shè)計(jì)的第一表述被轉(zhuǎn)化為數(shù)字設(shè)計(jì)的第二表述。第二表述包括容許基本布爾值的高階函數(shù)表述的為數(shù)眾多的句法表達(dá)式。該為數(shù)眾多的句法表達(dá)式的執(zhí)行形成數(shù)字設(shè)計(jì)的第三表述。在某些實(shí)施例中,第三表述被轉(zhuǎn)化為數(shù)字設(shè)計(jì)的第四表述,其中第一和第四表述用相同的句法來(lái)表達(dá)。舉例來(lái)說(shuō),公共句法可以對(duì)應(yīng)于網(wǎng)表表述。在某些場(chǎng)合,使用句法表達(dá)式還得力于對(duì)第一和/或第二表述中的數(shù)據(jù)和控制的識(shí)別。使用的例子包括除去邏輯反相,減少結(jié)點(diǎn)數(shù)目,和數(shù)據(jù)和控制的再賦值。
在一個(gè)實(shí)施例中,本發(fā)明提供了一個(gè)ASIC單元庫(kù)用來(lái)創(chuàng)建定制的集成電路。ASIC單元庫(kù)包括一些第一單元和一些第二單元。每一個(gè)第二單元包括兩個(gè)或兩個(gè)以上的核心單元。ASIC單元庫(kù)至少5%由第二單元組成。在各種不同的實(shí)施例中,ASIC單元庫(kù)可以是10%或以上,20%或以上,30%或以上,40%或以上,50%或以上,60%或以上,70%或以上,80%或以上,90%或以上以及95%或以上由第二單元組成。在各種不同的實(shí)施例中,核心單元的總數(shù)可以是少于10,20,30,40,50,75,或者100。
在其他的實(shí)施例中,本發(fā)明提供一個(gè)用于具有數(shù)字邏輯的電路的集成電路單元庫(kù)。集成電路單元庫(kù)的第一百分比是第一單元而集成電路單元庫(kù)的第二百分比是第二單元。每一個(gè)第二單元包括一個(gè)選擇電路。第二百分比是5%以上的集成電路單元庫(kù)。
在另一個(gè)其他的實(shí)施例中,本發(fā)明提供一個(gè)用于具有數(shù)字邏輯的電路的集成電路單元庫(kù)。這個(gè)集成電路單元庫(kù)包括第一單元和第二單元。第一單元是集成電路單元庫(kù)的第一百分比而第二單元是集成電路單元庫(kù)的第二百分比。核心單元是用來(lái)形成第二單元的。至少某些第二單元包括至少兩個(gè)通過(guò)鄰接互相耦合在一起的核心單元。
在一個(gè)實(shí)施例中,本發(fā)明提供了一個(gè)用來(lái)操作數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法。在一個(gè)步驟中,一個(gè)第一網(wǎng)表被裝入。該第一網(wǎng)表包括由第一核心單元組成的第一基本單元。操作第一網(wǎng)表來(lái)建立第二網(wǎng)表。第二網(wǎng)表包括由第二核心單元組成的第二基本單元。第一和第二核心單元的百分比是選擇電路。第二基本單元比第一基本單元更少占用芯片面積。第二網(wǎng)表被存儲(chǔ)起來(lái)。在各種不同的實(shí)施例中,百分比可以是2%或以上,5%或以上,10%或以上,20%或以上,30%或以上以及40%或以上。
在另一個(gè)實(shí)施例中,本發(fā)明提供操作數(shù)字電路網(wǎng)表的另一個(gè)數(shù)字設(shè)計(jì)方法。在一個(gè)步驟中,一個(gè)第一網(wǎng)表被裝入。這個(gè)第一網(wǎng)表包括由第一核心單元組成的基本單元。操作第一網(wǎng)表來(lái)建立第二網(wǎng)表。第二網(wǎng)表包括由第二核心單元組成的基本單元。第一和第二核心單元的百分比是選擇電路。第二基本單元比第一基本單元更少占用芯片面積。第二網(wǎng)表被存儲(chǔ)起來(lái)。在各種不同的實(shí)施例中,執(zhí)行操作可以優(yōu)化功耗,漏電流,扇出,芯片面積,掩模數(shù),工藝步驟數(shù),產(chǎn)量,電容,電感,電阻,和/或故障。
在又一個(gè)實(shí)施例中,本發(fā)明提供了另一個(gè)操作數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法。在一個(gè)步驟中,一個(gè)數(shù)字電路網(wǎng)表被裝入。通過(guò)至少用第一基本單元替換幾個(gè)布爾單元把具有一種語(yǔ)言格式的數(shù)字電路網(wǎng)表轉(zhuǎn)換到第一網(wǎng)表。第一網(wǎng)表包括由第一核心單元組成的第一基本單元。使用第一網(wǎng)表來(lái)建立第二網(wǎng)表,其中第二網(wǎng)表包括由第二核心單元組成的第二基本單元。第一和第二核心單元的百分比是選擇電路。第二基本單元比第一基本單元更少占用芯片面積。通過(guò)至少用布爾單元替換幾個(gè)第二基本單元把第二網(wǎng)表轉(zhuǎn)換到第三網(wǎng)表。第三網(wǎng)表也使用該語(yǔ)言格式。第三網(wǎng)表被存儲(chǔ)起來(lái)。
在一個(gè)實(shí)施例中,本發(fā)明提供了一個(gè)在一個(gè)結(jié)構(gòu)網(wǎng)表,一個(gè)行為網(wǎng)表,一個(gè)硬件描述語(yǔ)言網(wǎng)表,一全定制ASIC,一個(gè)半定制ASIC,一個(gè)IP核心,一個(gè)集成電路,一個(gè)芯片混合電路,一個(gè)或多個(gè)掩模,一個(gè)FPGA,和一個(gè)電路插件板組件的諸因素中的至少一個(gè)因素中體現(xiàn)的數(shù)字設(shè)計(jì)。數(shù)字電路設(shè)計(jì)包括第一和第二子電路。第一子電路包括數(shù)字電路設(shè)計(jì)的第一百分比而第二子電路包括數(shù)字電路設(shè)計(jì)的第二百分比。每一個(gè)第二子電路實(shí)際上包括一個(gè)或多個(gè)核心電路。核心電路由選擇電路組成。第二百分比至少是5%。在各種不同的實(shí)施例中,第二百分比可以是至少10%,20%,30%,40%,50%,60%,70%,80%,90%,或95%。
在另一個(gè)實(shí)施例中,本發(fā)明提供了一個(gè)體現(xiàn)在實(shí)體和/或圖表形式中的數(shù)字電路設(shè)計(jì)。該數(shù)字電路設(shè)計(jì)包括第一和第二子電路。第一子電路包括數(shù)字電路設(shè)計(jì)的第一百分比而第二子電路包括數(shù)字電路設(shè)計(jì)的第二百分比。每一個(gè)第二子電路實(shí)際上由一個(gè)或多個(gè)核心電路組成。每一個(gè)核心電路是選擇電路類型,存儲(chǔ)器電路類型,和緩沖器電路類型中的一個(gè)類型。第二百分比至少是5%。在各種不同的實(shí)施例中,第二百分比可以是至少10%,20%,30%,40%,50%,60%,70%,80%,90%,或95%。
在又一個(gè)實(shí)施例中,本發(fā)明提供了一個(gè)描述為數(shù)眾多的單元的數(shù)字電路設(shè)計(jì),其中數(shù)字電路設(shè)計(jì)體現(xiàn)在一個(gè)計(jì)算機(jī)信號(hào)中。這個(gè)數(shù)字電路設(shè)計(jì)包括第一和第二代碼節(jié)段。第一代碼節(jié)段包括一個(gè)第一基本單元的第一描述和一個(gè)第一基本單元的第一互連。第二代碼節(jié)段包括一個(gè)第二基本單元的第二描述和一個(gè)第二基本單元的第二互連。第一描述指出選擇電路類型,存儲(chǔ)器電路類型和緩沖器電路類型中的哪一種類型包括第一基本單元。相似地,第二描述指出選擇電路類型,存儲(chǔ)器電路類型和緩沖器電路類型中的哪一種類型包括第二基本單元。
本發(fā)明的方法可以體現(xiàn)在一個(gè)計(jì)算機(jī)可讀的存儲(chǔ)媒體中,該媒體具有具體體現(xiàn)在其中的計(jì)算機(jī)可讀程序來(lái)指揮計(jì)算機(jī)系統(tǒng)的操作。這樣一個(gè)計(jì)算機(jī)系統(tǒng)可以包括一個(gè)通訊系統(tǒng),一個(gè)處理器,和一個(gè)存儲(chǔ)裝置。計(jì)算機(jī)可讀程序包括作為根據(jù)上述實(shí)施例設(shè)計(jì)一個(gè)數(shù)字電路的一部分的操作計(jì)算機(jī)系統(tǒng)的指令。
本發(fā)明要結(jié)合附圖來(lái)說(shuō)明圖1A是一個(gè)由核心單元組成的基本單元的一個(gè)實(shí)施例的方框圖;圖1B是一個(gè)由一個(gè)存儲(chǔ)器和一個(gè)緩沖器核心單元組成的基本單元的另一個(gè)實(shí)施例的方框圖;圖1C是一個(gè)由一個(gè)選擇和存儲(chǔ)器核心單元組成的基本單元的又一個(gè)實(shí)施例的方框圖;圖1D是一個(gè)由一個(gè)選擇和緩沖器核心單元組成的基本單元的又一個(gè)實(shí)施例的方框圖;
圖2A是一個(gè)具有同步復(fù)位的存儲(chǔ)器單元的一個(gè)實(shí)施例的方框圖;圖2B是一個(gè)具有異步復(fù)位的存儲(chǔ)器單元的又一個(gè)實(shí)施例的方框圖;圖3是一個(gè)通用邏輯門布局的一個(gè)實(shí)施例的方框圖;圖4是一個(gè)存儲(chǔ)器核心單元布局的一個(gè)實(shí)施例的方框圖;圖5是一個(gè)緩沖器核心單元布局的一個(gè)實(shí)施例的方框圖;圖6是一個(gè)從圖3-5的核心單元鄰接到一起的基本單元的一個(gè)實(shí)施例的方框圖;圖7是一個(gè)兩個(gè)基本單元布置在一起的一個(gè)實(shí)施例的方框圖;圖8A是一個(gè)增強(qiáng)型晶體管的原理圖;圖8B是一個(gè)耗盡型晶體管的原理圖;圖8C是一個(gè)根據(jù)使用耗盡型晶體管的本發(fā)明實(shí)施例的通用邏輯門的電路布局;圖9A是一個(gè)顯示在本發(fā)明的實(shí)施例中實(shí)現(xiàn)的邏輯表達(dá)式的反相是如何除去的流程圖;圖9B是一個(gè)顯示在本發(fā)明的實(shí)施例中實(shí)現(xiàn)的邏輯表達(dá)式的結(jié)點(diǎn)是如何減少的流程圖;圖9C是一個(gè)顯示在本發(fā)明的實(shí)施例中實(shí)現(xiàn)的邏輯表達(dá)式的結(jié)點(diǎn)是如何組合的流程圖;圖9D是一個(gè)顯示根據(jù)本發(fā)明的實(shí)施例置位和復(fù)位輸入是如何用在優(yōu)化過(guò)程中的流程圖;圖10是一個(gè)顯示ULG網(wǎng)表優(yōu)化的實(shí)施例的流程圖;圖11是一個(gè)可以體現(xiàn)本發(fā)明的方法的計(jì)算機(jī)系統(tǒng)的原理圖;圖12是一個(gè)制備ULG ASIC單元庫(kù)的過(guò)程的實(shí)施例的流程圖;圖13是一個(gè)使用綜合后的句法操作的設(shè)計(jì)流程的一個(gè)實(shí)施例的方框圖;圖14是一個(gè)使用句法操作和ULG ASIC單元庫(kù)的設(shè)計(jì)流程的又一個(gè)實(shí)施例的方框圖;圖15是一個(gè)使用最終網(wǎng)表的ULG ASIC單元庫(kù)的設(shè)計(jì)流程的又一個(gè)實(shí)施例的方框圖;圖16是一個(gè)將綜合和句法操作組合到一個(gè)單個(gè)工具的設(shè)計(jì)流程的又一個(gè)實(shí)施例的方框圖;圖17是一個(gè)貫穿設(shè)計(jì)流程使用驗(yàn)證工具的設(shè)計(jì)流程的又一個(gè)實(shí)施例的方框圖;圖18是一個(gè)貫穿設(shè)計(jì)流程和后期制作使用驗(yàn)證工具的設(shè)計(jì)流程的又一個(gè)實(shí)施例的方框圖;圖19是一個(gè)設(shè)計(jì)過(guò)程的一個(gè)實(shí)施例的流程圖。
在這些附圖中,相似的部件和/或特征可以有相同的參考標(biāo)記。而且,相同類型的不同部件用在參考標(biāo)記后面的長(zhǎng)劃和區(qū)別相似部件的第二標(biāo)記來(lái)區(qū)別。如果規(guī)格表中只有第一參考標(biāo)記,這個(gè)說(shuō)明就適用于具有相同第一參考標(biāo)記不考慮第二參考標(biāo)記的任何一個(gè)相似部件。
具體實(shí)施例方式
隨后的說(shuō)明只提供作為示范的優(yōu)選實(shí)施例,而不是限制本發(fā)明的范圍,適用性或構(gòu)型。更確切地說(shuō),隨后的對(duì)作為示范的優(yōu)選實(shí)施例的說(shuō)明為業(yè)內(nèi)專業(yè)人士提供了實(shí)現(xiàn)本發(fā)明的優(yōu)選示范實(shí)施例的有益的說(shuō)明。可以理解的是,功能和元件的布置可以作各種不同的改變而不違背在附后的權(quán)利要求中闡述的本發(fā)明的精神和范圍。
I 單元在一個(gè)實(shí)施例中,一個(gè)基本單元是一個(gè)包括通用邏輯門(ULG),存儲(chǔ)器元件或觸發(fā)器(F/F),和/或緩沖器中的一個(gè)或多個(gè)的構(gòu)造。在這個(gè)實(shí)施例中,ULG是一個(gè)多路復(fù)用器或選擇電路。ULG,存儲(chǔ)器元件和緩沖器由較小數(shù)目的核心單元來(lái)實(shí)現(xiàn),它們典型地具有往往用手工個(gè)別優(yōu)化的布局。核心單元布置到具有ULG,存儲(chǔ)器元件,和緩沖器中的至少一個(gè)的高階基本單元中,但是本實(shí)施例中基本單元沒(méi)有一個(gè)以上的任何類型的核心單元。對(duì)于一個(gè)已知的半導(dǎo)體工藝,有一個(gè)由基本單元和專用單元組成的ULG ASIC單元庫(kù)。這些專用單元不同于基本單元構(gòu)造,它可以包括比如說(shuō)時(shí)鐘分頻器,存儲(chǔ)器陣列,模擬電路,鎖相環(huán),振蕩器,模擬電路等等。
首先參考圖1A,方框圖形式所示為基本單元100的實(shí)施例。這個(gè)實(shí)施例包括全部3個(gè)ULG或選擇電路104,存儲(chǔ)器單元108和緩沖器112?;締卧?00的一些核心組件用歸納的方式顯示。ULG104顯示出具有任何數(shù)目的數(shù)據(jù)和選擇控制輸入,然而,對(duì)于一定數(shù)目的選擇控制輸入的最大數(shù)據(jù)輸入之間的關(guān)系遵從下列關(guān)系式2y=I。存儲(chǔ)器核心單元108被顯示為是一個(gè)可復(fù)位的D F/F。所示的緩沖器核心單元112有一個(gè)反相和非反相輸出,但是,其他的緩沖器裝置可以具有反相或非反相輸出。
本實(shí)施例中的ULG104是由一個(gè)多路復(fù)用器實(shí)現(xiàn)的。多路復(fù)用器可以用來(lái)實(shí)現(xiàn)任何布爾函數(shù),但不是布爾運(yùn)算符。傳統(tǒng)設(shè)計(jì)中的組合邏輯不用選擇功能實(shí)現(xiàn),但應(yīng)用了布爾邏輯門。而且,傳統(tǒng)設(shè)計(jì)中的多路復(fù)用器在綜合時(shí)被轉(zhuǎn)換到布爾等價(jià)裝置。
下表I顯示在一個(gè)實(shí)施例中使用的14個(gè)核心單元
表I
上表I中核心單元的實(shí)施例可以在其他實(shí)施例中增加到包括其他的單元。ULG可以包括任何規(guī)模的多路復(fù)用器比如說(shuō)16到1,32到1,64到1等等。如果核心單元不支持大規(guī)模的多路復(fù)用器,它可以由一系列較小的多路復(fù)用器組成。諸如EEPROM,EPROM,PROM,DRAM,SRAM,NVRAM,磁芯存儲(chǔ)器,J-K F/F,可置位的和可復(fù)位的F/F,具有掃描ATPG能力的各種F/F之類的各種不同的其他類型存儲(chǔ)器單元也是被支持的。J-K,F(xiàn)/F的可置位的或可復(fù)位的功能可由能夠在D F/F之前或之后被嵌入多路復(fù)用器的D F/F和邏輯來(lái)實(shí)現(xiàn)。在一些實(shí)施例中,F(xiàn)/F也可以用下降沿觸發(fā)。緩沖器也可以是不同能力和規(guī)模的。某些緩沖器能夠用不同閾值,電壓等支持芯片的輸入和輸出引線腳。
表II列出不同的構(gòu)型,其中核心單元用來(lái)建立如圖1A所示應(yīng)用全部的ULG104,存儲(chǔ)器單元108和緩沖器單元112的基本單元100-1。這些基本單元100-2是ULG ASIC單元庫(kù)的一個(gè)實(shí)施例中獲得的各種變型。
表II
參考圖1B,方框圖所示為由存儲(chǔ)器和緩沖器核心單元108,112組成的基本單元100-2的另一個(gè)實(shí)施例。這不過(guò)是這個(gè)一般構(gòu)型的基本單元100-2的一個(gè)范例。ULG ASIC單元庫(kù)中能夠找到的這個(gè)一般構(gòu)型的其他基本單元列于表III。
表III
接下來(lái)參考圖1C,方框圖所示為由ULG和存儲(chǔ)器核心單元104,108組成的基本單元100-3的又一個(gè)實(shí)施例。這不過(guò)是可以形成ULG ASIC單元庫(kù)的實(shí)施例的各種相似基本單元100-3的一個(gè)范例。其他可能的構(gòu)型羅列于表IV。
表IV
參考圖1D,方框圖所示為由ULG和緩沖器核心單元104,112組成的基本單元100-4的又一個(gè)實(shí)施例。這種類型的基本單元100-4還有其他可能的構(gòu)型。ASIC單元庫(kù)的一個(gè)實(shí)施例的這個(gè)基本單元的變型羅列在表V。從表II到V,142個(gè)可用基本單元的大約80%包括ULG電路。這142個(gè)基本單元是以表I的14個(gè)核心單元為基礎(chǔ)的。
雖然表II到V的實(shí)施例顯示了一些可能的基本單元,其他實(shí)施例可能包括另外的基本單元。這些另外的基本單元可以對(duì)輸出功率,功耗,布局面積,響應(yīng)時(shí)間,漏電流等進(jìn)行優(yōu)化,使得可以存在雖然具有相同邏輯性能卻對(duì)具體環(huán)境進(jìn)行了優(yōu)化的為數(shù)眾多的單元。舉例來(lái)說(shuō),可以存在具有不同驅(qū)動(dòng)能力來(lái)支持更大扇出和/或更高速度的3個(gè)非反相緩沖器。在各種不同的實(shí)施例中,可以少于例如100,75,50,40,30,20,或10個(gè)核心單元。在下限,在一個(gè)實(shí)施例中有3個(gè)核心單元,核心單元中的每種類型只具有一個(gè)單元。
表V
數(shù)字電路的結(jié)構(gòu)單元塊可以從ULG ASIC單元以外提取出來(lái)。在一些實(shí)施例中,ULG ASIC單元庫(kù)的組件可以在諸如加法器,乘法器,寄存器,桶形移位器,ALU,比較器,解碼器,狀態(tài)機(jī)器,計(jì)數(shù)器等之類的高階宏單元中組合。這可以有幾千種可能的宏單元。而且,通過(guò)使用實(shí)現(xiàn)諸如微處理器,圖形處理器,接口總線或端口,數(shù)字信號(hào)處理器等之類的高級(jí)功能的內(nèi)核,設(shè)計(jì)可以被提取到一個(gè)高于宏單元水平的層次。這些內(nèi)核可以使用來(lái)自ULG ASIC單元庫(kù)的宏單元和/或組件。內(nèi)核往往是用硬件描述語(yǔ)言(HDL)寫(xiě)的,它很容易被綜合成用于具體工藝的任何ULG ASIC單元庫(kù)。
參考圖2A和2B,方框圖形式所示為存儲(chǔ)器核心單元108的各種實(shí)施例。這些實(shí)施例把D F/F208從存儲(chǔ)器單元分隔出去并且用一個(gè)分立的緩沖器單元204來(lái)實(shí)現(xiàn)某些功能。在各種不同的實(shí)施例中,緩沖器單元204可以用來(lái)定做帶有圖2A的同步復(fù)位或帶有圖2B的異步復(fù)位的D F/F208。在其他實(shí)施例中,一個(gè)分立的電路可以用來(lái)使得一個(gè)D F/F起到一個(gè)可置位的D F/F,一個(gè)J-K F/F,或一個(gè)具有掃描能力的F/F的作用。在其他實(shí)施例中,分立電路可以用一個(gè)選擇電路來(lái)實(shí)現(xiàn)。
這個(gè)在ASIC單元庫(kù)中的緩沖器單元204也可以用作其他用途。舉例來(lái)說(shuō),一個(gè)8到1的多路復(fù)用功能在某些情況下可以用一個(gè)緩沖器單元204和一個(gè)4到1的多路復(fù)用器104來(lái)實(shí)現(xiàn)以便減少實(shí)現(xiàn)該功能所必需的芯片面積。表VI顯示用在這個(gè)實(shí)施例中的13個(gè)核心單元。表VII顯示允許緩沖器204的真值表,其中允許輸入是R,輸入是D,輸出是Q。
表VII
II 單元的布局芯片制造廠或制造設(shè)施的每一個(gè)制造工藝一般都有一個(gè)為那個(gè)工藝定制的傳統(tǒng)ASIC單元庫(kù)。通常,傳統(tǒng)ASIC單元庫(kù)中幾百個(gè)單元中的每一個(gè)都用手工布局來(lái)優(yōu)化它的構(gòu)型。但在這個(gè)實(shí)施例中,少量的定制的核心單元用來(lái)自動(dòng)或手工編制基本單元100。對(duì)于一個(gè)目標(biāo)制造工藝,要注意采取小心的措施來(lái)優(yōu)化核心單元104,108,112的布局,諸如對(duì)于功耗,芯片面積,掩模數(shù),工藝步驟數(shù),產(chǎn)量,電容,電感,電阻,故障,I/O位置等之類的因素。在某些情況下,該制造工藝與其他的制造工藝足夠相似,只是對(duì)核心單元做了一點(diǎn)小小的改動(dòng)。
參考圖3,方框圖所示為一個(gè)ULG布局300的實(shí)施例。一個(gè)云狀圖形用來(lái)表示實(shí)現(xiàn)2到1的ULG104的電路布局。輸入端口316,320和I/O324在電路云中詳盡展示,更為具體來(lái)講,這些端口是輸入(I0和I1)316和選擇(Y0)320的端口,而一條跡線顯示Q輸出324。對(duì)于ULG核心單元,輸入和選擇信號(hào)是ULG布局300之內(nèi)的端口316,320。ULG電路304被跡線附接到緯向的電源跡線308,312。
鄰接是用來(lái)通過(guò)耦合相鄰核心單元來(lái)連接某些信號(hào)的。單元的相鄰位置可以連接相鄰的I/O或一個(gè)小的導(dǎo)電跡線可以連接相鄰的I/O。核心單元有一個(gè)均勻的高度和變化的深度,使得每一個(gè)核心單元的電源跡線308,312和下一個(gè)核心單元排齊。同樣,某些I/O信號(hào)采用統(tǒng)一緯度。舉例來(lái)說(shuō),ULG布局304的Q輸出324要和一個(gè)相鄰的存儲(chǔ)器或緩沖器核心單元的輸入在緯向排齊。
接下來(lái)參考圖4,方框圖所示為存儲(chǔ)器核心單元400的一個(gè)實(shí)施例。這個(gè)存儲(chǔ)器電路404實(shí)現(xiàn)一個(gè)帶D輸入412的D F/F,一個(gè)時(shí)鐘輸入408和一個(gè)Q輸出416。耦合到存儲(chǔ)器電路404的是VDD和VSS電源總線308,312。存儲(chǔ)器核心單元布局400的高度相同于ULG單元布局300,使得兩個(gè)核心單元的電源總線在緯向排齊。
參考圖5,方框圖所示為一個(gè)緩沖器核心單元布局500的實(shí)施例。和其他核心單元電路304,404一樣,非反相緩沖器核心單元電路504以和其他核心電路304,404保持一致的高度耦合到電源總線308,312。該緩沖器電路包括一個(gè)D輸入508和一個(gè)Q輸出512,其中D輸入508在緯向和來(lái)自ULG電路304或存儲(chǔ)器電路404的輸出排齊。在這個(gè)實(shí)施例中,Q輸出512是在緯向偏離D輸入508的。
接下來(lái)參考圖6,方框圖所示為3個(gè)核心單元300,400,500鄰接在一起組成的基本單元600的一個(gè)實(shí)施例。U2 ULG,D1 F/F和B1非反相緩沖器核心單元300,400,500串聯(lián)連接形成基本單元600。每個(gè)核心單元300,400,500的電源總線308,312排齊形成一個(gè)大的整體。U2 ULG電路300的Q輸出324和D1存儲(chǔ)器電路404的D輸入412排齊,而D1存儲(chǔ)器電路404的Q輸出416和B1緩沖器電路504的D輸入508排齊。其他實(shí)施例可能有附加的電源總線比如說(shuō)一個(gè)襯底總線連接。
參考圖7,方框圖所示為兩個(gè)基本單元600,704布置在一起成為一個(gè)排700的實(shí)施例。在芯片布局時(shí),所有ULG ASIC單元都被布置好?;締卧?00,704排齊成為水平的一排。在某些場(chǎng)合(沒(méi)有畫(huà)出),在基本單元600,704之間存在一個(gè)或多個(gè)信號(hào)的路由。在畫(huà)出的實(shí)施例中,來(lái)自第一基本單元704的輸出由跡線712耦合到第二基本單元600的輸入。兩個(gè)基本單元600,704的時(shí)鐘輸入都在緯向排齊,使得一個(gè)時(shí)鐘總線能夠嚴(yán)密地通過(guò)基本單元排700。
在某些實(shí)施例中,通過(guò)在ULG中使其包括一個(gè)或多個(gè)耗盡型晶體管而實(shí)現(xiàn)尺寸進(jìn)一步縮小。圖8A和圖8B提供了比較增強(qiáng)型和耗盡型晶體管的原理圖。圖8A顯示一個(gè)包括源極804,漏極806和一個(gè)柵極810的n-型增強(qiáng)型晶體管802的結(jié)構(gòu)。和源極804和漏極806的連接是分別通過(guò)鍵合區(qū)812和814完成的。柵極810通常包括一個(gè)形成在諸如SiO2之類的氧化物上面的金屬。對(duì)于這樣一個(gè)n型晶體管802,源極804和漏極806由p摻雜襯底中的n摻雜區(qū)組成。晶體管的作用是當(dāng)柵極810上施加了至少一個(gè)閾值電壓時(shí),電流通過(guò)一個(gè)中間溝道區(qū)域在源極804和漏極806之間流過(guò)。在電路中,增強(qiáng)型晶體管802用符號(hào)820表示。
圖8B所示的耗盡型晶體管842也包括一個(gè)源極844,一個(gè)漏極846和一個(gè)形成在氧化物848上面的柵極850,其中到源極844和漏極846的連接是分別通過(guò)鍵合區(qū)852和854完成的。然而,對(duì)于耗盡型晶體管,源極844和漏極846之間的溝道區(qū)域也是n摻雜的,使得即使沒(méi)有柵極電壓也允許電流通過(guò)。這個(gè)電流可以通過(guò)施加至少一個(gè)負(fù)的截止電壓到柵極850來(lái)使其停止。在電路中,耗盡型晶體管842用符號(hào)860表示。
圖8C中提供的例子是一個(gè)利用增強(qiáng)型和耗盡型晶體管的不同性能來(lái)使得所占電路面積小于只用增強(qiáng)型晶體管的ULG設(shè)計(jì)的ULG元件的電路。這個(gè)圖例是用于作為8∶1多路復(fù)用器的U8單元的。U8單元872包括標(biāo)記為I0…8的8個(gè)輸入874,標(biāo)記為Y
的3個(gè)選擇控制876,和一個(gè)標(biāo)記為Q的輸出878。單元的多路復(fù)用功能受制于48個(gè)晶體管的作用,其中的一半是耗盡型晶體管。控制信號(hào)876的每一個(gè)以及它的反相沿著輸入874中的一個(gè)的路徑提供給晶體管,其中反相信號(hào)是通過(guò)反相器880實(shí)現(xiàn)的。要實(shí)現(xiàn)多路復(fù)用功能,根據(jù)控制電平來(lái)分配耗盡型晶體管。對(duì)于最小有效控制,耗盡型晶體管是交替放置的;對(duì)于次小有效控制,它們是成對(duì)交替放置的;對(duì)于再次小有效控制,它們是四個(gè)交替放置的;依次類推。這樣,對(duì)于U8單元872,Y
的耗盡型晶體管提供給輸入I0,I2,I4和I6,對(duì)于反相控制YN
,耗盡型晶體管提供給輸入I1,I3,I5和I7。對(duì)于Y[1],耗盡型晶體管提供給輸入I0,I1,I4和I5,對(duì)于反相控制YN[1],耗盡型晶體管提供給輸入I2,I3,I6和I7。相似地,對(duì)于Y[2],耗盡型晶體管提供給輸入I0,I1,I2和I3,對(duì)于YN[2],耗盡型晶體管提供給輸入I4,I5,I6和I7。
對(duì)于包括耗盡型晶體管的ULG的某些實(shí)施例,這個(gè)模型可以用于任何規(guī)模的單元。對(duì)于具有2n+1個(gè)輸入和n+1個(gè)控制的U2n+1ULG,耗盡型晶體管可以提供給如下的每一個(gè)控制/輸入組合(i)i對(duì)于控制Y[i=0…n],耗盡型晶體管提供給輸入Ik,其中k<2imod 2i+1;(ii)ii對(duì)于控制YN[i=0…n],耗盡型晶體管提供給輸入Ik,,其中k’≥2imod 2i+1。
在其他實(shí)施例中,耗盡型晶體管的不同分配方法可以用來(lái)實(shí)現(xiàn)ULG的多路復(fù)用功能。
III 邏輯結(jié)構(gòu)除了上述的結(jié)構(gòu)特性,還有許多邏輯性能和特征可以用來(lái)表征單個(gè)單元和表征這種單元的單元庫(kù)。現(xiàn)在來(lái)敘述可以用來(lái)闡明實(shí)施例中基本單元的功能和至少可從中提取某些這樣的邏輯特性的形式的范例。
如上所述,用來(lái)形成基本單元的ULG所體現(xiàn)的選擇電路可以用2∶1,4∶1,8∶1,或甚至更大的多路復(fù)用器來(lái)實(shí)現(xiàn)。每一個(gè)多路復(fù)用器的輸入和控制加以編程來(lái)達(dá)到所需的單元邏輯特性。下面的句法已經(jīng)被開(kāi)發(fā)出來(lái)說(shuō)明在通用方式下這樣的輸入和選擇控制的編程Q<QN>.XXXX<E>Y[n-10]I2-1n,I2-2n,…I0<R/S><CLK> (參數(shù)=選項(xiàng));除了說(shuō)明ULG核心單元的編程,該句法還可以用來(lái)說(shuō)明包括含有ULG核心單元和不含有ULG核心單元在內(nèi)的任何基本單元。句法中的選項(xiàng)參數(shù)用角括弧表示而句法的成分概括在表VIII中。
表VIII
許多句法的特點(diǎn)是值得置評(píng)的。句法的第一個(gè)成分指出單元的輸出,用Q或QN分別表示輸出Q或Q-。這個(gè)后面跟著單元的名稱,它一般是通過(guò)連系由單元組成的核心單元的名稱而構(gòu)成的。核心單元的名稱已經(jīng)在表VIII中列出。這樣,比如說(shuō)一個(gè)包括一個(gè)D F/F和一個(gè)非反相緩沖器的基本單元將命名為.DB(D→B);一個(gè)包括一個(gè)可復(fù)位D F/F和一個(gè)反相緩沖器的基本單元將命名為.DRBN(DR→BN);一個(gè)包括一個(gè)ULG多路復(fù)用器和一個(gè)可置位D F/F的基本單元將命名為.UDS(U→DS);而一個(gè)包括一個(gè)ULG多路復(fù)用器,一個(gè)D F/F和一個(gè)三態(tài)緩沖器的基本單元將命名為.UDZB(U→D→ZB)。要指出的是這些基本單元中的某些例子包括一個(gè)ULG多路復(fù)用器核心單元,而其他的則不包括,但是它們都可以用句法來(lái)描述。
在句法用來(lái)描述含有ULG的基本單元的某些場(chǎng)合,提供給ULG的選擇控制輸入的數(shù)目是n。在一個(gè)特定的實(shí)施例中,控制輸入是按照有效數(shù)位排序的,最高位控制在左,最低位控制在右。雖然對(duì)于任何n值的基本單元的描述句法是同樣地魯棒,為了便于解釋的目的,本文舉出的例子一般對(duì)應(yīng)于n≤3的情況。n個(gè)控制輸入的狀態(tài)規(guī)定2n個(gè)輸入中的哪一個(gè)被傳送到ULG的輸出。雖然在某些場(chǎng)合控制輸入可以單個(gè)地識(shí)別,其他場(chǎng)合是用自變量Y中的冒號(hào)來(lái)識(shí)別一個(gè)控制輸入的范圍。具體來(lái)講,“Y[ab]”是要指全部表達(dá)式“Y[a]Y[a-1]Y[a-2]…Y[b+2]Y[b+1]Y[b]”。參數(shù)組In2-1,In2-2,…I0代表將要由單元施加的邏輯函數(shù),如下面將要詳細(xì)討論的那樣,該參數(shù)組可以包括一個(gè)真值表來(lái)實(shí)現(xiàn)一個(gè)組合邏輯裝置或可以包括一個(gè)時(shí)序電路的下一個(gè)狀態(tài)的識(shí)別標(biāo)志。在某些實(shí)施例中,這些邏輯狀態(tài)In2-1,1n2-2,…I0可以賦值到邏輯1或邏輯0(本文中有時(shí)被稱為“基本布爾值”),但更為一般的是可能也包括映射輸入的變量。對(duì)于基本單元,這對(duì)應(yīng)于對(duì)于邏輯1時(shí)連接到VDD,對(duì)于邏輯0時(shí)連接到VSS,對(duì)于映射輸入變量連接到一個(gè)信號(hào)。諸如復(fù)位的類型,即異步,同步,或時(shí)鐘邊緣之類的參數(shù)被賦值并且寫(xiě)在語(yǔ)句末端的括弧內(nèi)。
這個(gè)形式允許表達(dá)可以在本發(fā)明的實(shí)施例中實(shí)行的許多操作并且將要在下面詳細(xì)討論這些操作以便業(yè)內(nèi)專業(yè)人士能夠執(zhí)行這些操作。這些操作的性質(zhì)可以用組合邏輯函數(shù)C=A+B-的簡(jiǎn)單例子來(lái)闡明。這個(gè)邏輯函數(shù)可以在一種簡(jiǎn)潔的硬件描述語(yǔ)言(“CHDL”)形式中表達(dá)如下C .UB A B VDD VDD VSS VDD;很顯然這是一個(gè)邏輯函數(shù)C等于“A或非B”的正確實(shí)現(xiàn),只要把表達(dá)式中的項(xiàng)目和上述的句法比較就可知道。單元名稱.UB指出該函數(shù)是用包括一個(gè)通用邏輯門U和一個(gè)非反相緩沖器B的單元來(lái)實(shí)現(xiàn)的。在名稱的兩邊表示函數(shù)中有關(guān)的參數(shù),表達(dá)式最左側(cè)的成分C指出輸出,而名稱右側(cè)的變量A和B指出輸入。在結(jié)束符之前的下面四個(gè)項(xiàng)目定義下面組合函數(shù)的真值表In2-1,In2-2,…I0,其中VDD等效于邏輯1而VSS等效于邏輯0。下面指出的是單個(gè)真值表狀態(tài)I
當(dāng)邏輯運(yùn)算進(jìn)行在這個(gè)形式的表達(dá)式上時(shí),它們直接指出結(jié)果的表達(dá)式如何用根據(jù)本發(fā)明的實(shí)施例的基本框塊來(lái)實(shí)現(xiàn)。舉例來(lái)說(shuō),一個(gè)簡(jiǎn)單的邏輯運(yùn)算是輸出求反,它可以用一個(gè)反相緩沖器來(lái)實(shí)現(xiàn)CN.UBN A B VDD VDD VSS VDD;可以看出,和表IX中所定義的相同的真值表被用來(lái)實(shí)現(xiàn)C,但是這個(gè)實(shí)現(xiàn)是用一個(gè)包括一個(gè)通用邏輯門U和一個(gè)反相緩沖器BN的基本單元來(lái)實(shí)現(xiàn)的。換一種C實(shí)現(xiàn)法采用同樣的.UB基本單元,但是通過(guò)反相所有的輸入狀態(tài),代之以使用了一個(gè)不同的真值表CN .UB A B VSS VSS VDD VSS ;在其他場(chǎng)合,通過(guò)執(zhí)行控制輸入上的運(yùn)算可以達(dá)到相同邏輯函數(shù)的另一種實(shí)現(xiàn)。舉例來(lái)說(shuō),控制輸入A和B可以改變位置。改變函數(shù)的控制使得真值表重新布置。在一個(gè)包括這個(gè)例子的實(shí)施例中,真值表狀態(tài)I3和I0保留在同樣的位置,因?yàn)樗鼈兇韮蓚€(gè)控制都是高或兩個(gè)控制都是低的狀態(tài)。代表一個(gè)控制是高而另一個(gè)控制是低的狀態(tài)I3和I2就要交換位置C.UB B A VDD VSS VDD VDD ;真值表的改變位置也可以來(lái)自一個(gè)或多個(gè)控制輸入的反相。在這個(gè)例子中,最低位控制B的反相交換了真值表中的相鄰的狀態(tài)C .UB A BN VDD VDD VDD VSS ;這個(gè)另一種表達(dá)式可以看作為定義一個(gè)C的實(shí)現(xiàn),該定義使用X+Y的通用真值表,但是控制輸入經(jīng)過(guò)定義而使X=A Y=B-。如果次低數(shù)位位控制A是在原始表達(dá)式中被替代反相,真值表中的相鄰的一對(duì)狀態(tài)就被交換C.UB AN B VSS VDD VDD VDD ;很明顯這個(gè)表達(dá)式實(shí)現(xiàn)了X+Y的通用真值表,但是控制輸入經(jīng)過(guò)定義而使X=A以及Y=B。如果兩個(gè)控制輸入被反相,
C.UB AN BNVDD VSS VDD VDD ;這個(gè)表達(dá)式中的真值表實(shí)現(xiàn)了通用函數(shù)X+Y,但是控制輸入經(jīng)過(guò)定義而使X=A以及Y=B。
CHDL句法也允許控制變量作為元素列入真值表狀態(tài)。舉例來(lái)說(shuō),句法很容易認(rèn)出,任何時(shí)候只要A處于高,結(jié)果C就高,而當(dāng)A處于低時(shí)C就取BN的值。這可以用CHDL句法表達(dá)為C.UB A VDD BN ;而對(duì)應(yīng)的真值表顯示在表X
同樣地,句法很容易識(shí)別,任何時(shí)候只要B處于低,結(jié)果C就高,而當(dāng)B處于低時(shí)C就取A的值。這可以用CHDL句法表達(dá)為C.UB B A VDD ;而對(duì)應(yīng)的真值表顯示在表XI
不僅這里出現(xiàn)的CHDL句法方便地容許控制變量作為映射輸入的變量出現(xiàn),而且這個(gè)同樣的能力也表現(xiàn)在利用上述的單元的實(shí)現(xiàn)上。特別是,上述兩個(gè)例子中的每一個(gè)都可以用一個(gè)ULG和緩沖器(“.UB”)的組合來(lái)實(shí)現(xiàn),就像只使用基本布爾變量0和1的任何真值表一樣容易。實(shí)現(xiàn)所有這些邏輯功能只是簡(jiǎn)單地根據(jù)上述通用邏輯元件對(duì)真值表狀態(tài)和控制變量賦值即可。
這樣,這個(gè)形式就此明示本發(fā)明的實(shí)施例允許實(shí)現(xiàn)各種范圍的邏輯功能?,F(xiàn)在詳細(xì)敘述這些性質(zhì)的一些具體例子。在討論可以用在本發(fā)明的某些實(shí)施例中的邏輯性能時(shí),有時(shí)要參考上述的形式。這樣參考的理由主要是為了方便,而決不是要限制本發(fā)明的范圍。特別是,業(yè)內(nèi)專業(yè)人士會(huì)知道可以用上述單元來(lái)實(shí)現(xiàn)該形式中的每一個(gè)合法的句法表達(dá)式。相應(yīng)地,該形式的邏輯性質(zhì)直接對(duì)應(yīng)于可以用在不同的實(shí)施例中的單元布置實(shí)現(xiàn)的邏輯功能。
該形式的一個(gè)性質(zhì),因此也是該單元布置的性質(zhì),是在組合電路和時(shí)序電路之間沒(méi)有高層次的區(qū)別;兩個(gè)這樣的電路僅是可以實(shí)現(xiàn)的更為一般類型的邏輯函數(shù)的特殊情況而已。組合電路是這樣的電路,其輸出是輸入的預(yù)定函數(shù)。作為組合電路,由組合電路實(shí)現(xiàn)的邏輯可以用一個(gè)列出從所有可能的輸入的布爾狀態(tài)到輸出的布爾狀態(tài)之間的映射的真值表來(lái)代表。這可以和其中電路的邏輯應(yīng)用取決于過(guò)去輸入的歷史的時(shí)序電路做一個(gè)對(duì)比。這樣的邏輯的應(yīng)用可以替代地用將過(guò)去的輸入映射到輸出的下一狀態(tài)的等式來(lái)代表。本文敘述的本發(fā)明的實(shí)施例不限于組合的或時(shí)序的邏輯。舉例來(lái)說(shuō),在實(shí)現(xiàn)下列句法的CHDL表達(dá)式中只需要單元的稍微差別Q .UB A B VDD VDD C VSS ;Q .UD A B VDD VDD C VSS CLK ;這些表達(dá)式的第一個(gè)代表一個(gè)組合邏輯函數(shù)而第二個(gè)代表一個(gè)時(shí)序邏輯函數(shù)。在其他實(shí)施例中,該形式和對(duì)應(yīng)的單元實(shí)現(xiàn)可以包括組合的和時(shí)序的方面,使得函數(shù)的特性不嚴(yán)格限于哪一個(gè)范疇。這個(gè)附加的靈活性允許在限定到組合的或時(shí)序的邏輯時(shí)沒(méi)有的某些優(yōu)化,其中的一些將要在下面討論。
除了組合的和時(shí)序的邏輯之外,這個(gè)附加的靈活性部分也來(lái)自根據(jù)本發(fā)明的實(shí)施例形成的單元的更為通用的特性而實(shí)現(xiàn)選擇邏輯。如本文所用的,“選擇運(yùn)算”是指其中為數(shù)眾多的輸入中的一個(gè)或多個(gè)被傳遞出去作為輸出的功能。在一定的實(shí)施例中,這樣的選擇運(yùn)算將為數(shù)眾多的輸入中的一個(gè)輸入傳遞出去作為一個(gè)輸出。這樣一個(gè)選擇運(yùn)算有別于一個(gè)時(shí)序邏輯運(yùn)算,因?yàn)樗蝗Q于輸入的過(guò)去歷史。它也有別于一個(gè)組合邏輯運(yùn)算,它不需要輸出對(duì)應(yīng)于輸入中的一個(gè)。這一點(diǎn)對(duì)于一個(gè)NAND門是很明顯的,它回應(yīng)兩個(gè)0輸入而產(chǎn)生一個(gè)輸出1;輸出并不對(duì)應(yīng)于任何一個(gè)輸入。但這對(duì)于OR門也是正確的。雖然在每一種情況下OR門的輸出等于輸入的一個(gè),但門并沒(méi)有使得輸入中的一個(gè)傳遞出去作為輸出的作用;而是,執(zhí)行從輸入到輸出的組合映射恰好包括了某個(gè)共同性。此外,選擇運(yùn)算不限于其中輸入數(shù)是2和/或輸出數(shù)是1的場(chǎng)合。更為普遍的是,任何為數(shù)眾多pin(≥2)的輸入都可以接受,其中一個(gè)數(shù)目pout(≥1)被傳遞出去。
本發(fā)明的實(shí)施例也不限于輸入和輸出是基本布爾值0和1。如聯(lián)系表X和XI和有關(guān)句法表達(dá)式中指出的,用在本發(fā)明的實(shí)施例中的單元可以實(shí)現(xiàn)其中真值表項(xiàng)目代之是這樣的基本布爾值的函數(shù)的運(yùn)算。在該實(shí)施例中,本發(fā)明包括提供了實(shí)現(xiàn)布爾功能的實(shí)施例,本文中這些功能被定義為除了在它們的輸入和/或輸出之間容許基本布爾值之外還在它們的輸入和/或輸出之間容許布爾變量的函數(shù)的運(yùn)算。
本文提出的形式和用上述單元的實(shí)現(xiàn)允許一個(gè)進(jìn)一步的增加了數(shù)字設(shè)計(jì)和它的優(yōu)化的靈活性的概括。這樣一個(gè)概括可以參考本文將其定義為高階布爾函數(shù)的內(nèi)容來(lái)理解。傳統(tǒng)數(shù)字電路設(shè)計(jì)只使用本文中被指為零階布爾函數(shù)的內(nèi)容,它在其輸入和/或輸出之間只容許基本布爾值。相比之下,本發(fā)明的某些實(shí)施例使用一個(gè)第一階布爾函數(shù),它對(duì)應(yīng)于一個(gè)布爾功能并除了在其輸入和/或輸出之間容許基本布爾值之外還容許零階布爾函數(shù)。其他實(shí)施例使用一個(gè)2階布爾函數(shù),它在其輸入和/或輸出之間容許第一階布爾函數(shù),零階布爾函數(shù)和基本布爾值。在本發(fā)明的另外的其他實(shí)施例中,甚至使用更高階的布爾函數(shù),這樣的高階除了容許傳統(tǒng)設(shè)計(jì)中用的基本布爾值之外還在其輸入和/或輸出之間容許所有低階布爾函數(shù)。除了零階布爾函數(shù)之外的所有階次的布爾函數(shù)本文有時(shí)被總稱為“高階”布爾函數(shù)。
這個(gè)概括可以用上述例子C=A+B--基礎(chǔ)上的例子來(lái)說(shuō)明J .UB G H VDD VSS FCF .UB D E VSS CVDD CC .UB A B VDD VDD VSS VDD在這個(gè)例子中,第三表達(dá)式對(duì)應(yīng)于零階函數(shù)C=A+B,它只允許在其自變量之間的基本布爾值0和1。這樣一個(gè)函數(shù)使用一個(gè)組合映射并可以用諸如OR門和NOT門之類的門來(lái)實(shí)現(xiàn)。第二個(gè)表達(dá)式對(duì)應(yīng)于第一階函數(shù)或功能,它除了容許基本布爾值之外還允許零階函數(shù)作為它的一個(gè)自變量。第一個(gè)表達(dá)式對(duì)應(yīng)于一個(gè)第二階函數(shù),它在其自變量中容許第一階函數(shù)F,零階函數(shù)C和基本布爾值。第一和第二個(gè)表達(dá)式每個(gè)都對(duì)應(yīng)于高階函數(shù)的表達(dá)式。所有三個(gè)表達(dá)式都可以用上述的單元在本發(fā)明的實(shí)施例中實(shí)現(xiàn)。
使用高階函數(shù)的能力的一個(gè)效果可以從對(duì)比于專用布爾運(yùn)算來(lái)看出。這樣的布爾運(yùn)算符只對(duì)基本布爾值0或1,或代表基本布爾值0或1的變量,即已經(jīng)有了和其密切相關(guān)的0或1的值的變量進(jìn)行運(yùn)算。布爾最小化或優(yōu)化技術(shù)基于分解正在最小化的表達(dá)式來(lái)考慮對(duì)每個(gè)布爾變量賦值0或1的有意義的可能組合(某種情況下某些變量的“無(wú)關(guān)”狀態(tài)的存在減少了從所有可能的組合集中減少有意義的可能的向下組合)。高階函數(shù)允許人們進(jìn)行優(yōu)化,或最小化一個(gè)電路,而毋需把函數(shù)結(jié)果分解到每個(gè)可能值,和分別考慮每個(gè)值。換句話說(shuō)。當(dāng)一個(gè)電路用下述算法處理時(shí),不需要知道函數(shù)或變量的值是什么;優(yōu)化過(guò)程可以照樣執(zhí)行。在被限制只使用布爾運(yùn)算符的傳統(tǒng)方法中,每個(gè)變量和函數(shù)在可進(jìn)行任何優(yōu)化之前被分解到函數(shù)和變量的所有可能的值,就是定義出一張完整的真值表;在這樣一個(gè)傳統(tǒng)方法中必須毫無(wú)遺漏地對(duì)所有的變量和函數(shù)賦值。
IV.優(yōu)化采用基于ULG和由上述形式表述的單元的實(shí)施例提供的邏輯運(yùn)算的擴(kuò)展的可利用性允許經(jīng)增加的優(yōu)化。在許多場(chǎng)合,這些邏輯運(yùn)算可以用來(lái)確定實(shí)現(xiàn)一個(gè)給定函數(shù)的優(yōu)化方法。許多這樣的邏輯運(yùn)算進(jìn)行了說(shuō)明,業(yè)內(nèi)專業(yè)人士將會(huì)知道還有其他邏輯運(yùn)算可以從本發(fā)明的其他實(shí)施例的形式中衍生出來(lái)。而且,采用這個(gè)形式是為了便于說(shuō)明優(yōu)化的性質(zhì),可以理解到,所遵循的所有的表達(dá)式都可以用上述單元已解釋過(guò)的方式來(lái)實(shí)現(xiàn)。在表達(dá)式對(duì)應(yīng)于標(biāo)準(zhǔn)布爾邏輯達(dá)不到的函數(shù)的場(chǎng)合,上述的結(jié)論也是正確的。在某些場(chǎng)合,對(duì)該形式的使用可以顯示要執(zhí)行多少次操作來(lái)達(dá)到一個(gè)優(yōu)化,只需要用以前講過(guò)的單元來(lái)實(shí)現(xiàn)最終的結(jié)果以達(dá)到優(yōu)化的函數(shù),但這是必須的。
可以用本文所述的形式表達(dá)的邏輯函數(shù)執(zhí)行的許多運(yùn)算總結(jié)在圖9A-9D中,它們提供的流程圖解釋了一些這樣的運(yùn)算是如何完成的。在不同的實(shí)施例中,可以執(zhí)行一個(gè)或多個(gè)這樣的運(yùn)算的不同組合,本發(fā)明也不限于這樣的運(yùn)算的任何等級(jí)或數(shù)量。相應(yīng)地,圖9A-9B的每一個(gè)圖指出它可以作為來(lái)自以前的變換的較大運(yùn)算流程的一部分而列入。雖然包括了這樣的指示指出本發(fā)明的某些實(shí)施例認(rèn)為前面的變換可能已經(jīng)執(zhí)行過(guò)了,但前面的變換不必已經(jīng)在任何場(chǎng)合執(zhí)行過(guò)。同樣,雖然圖9A-9D的每一個(gè)圖中的流程圖顯示一個(gè)執(zhí)行運(yùn)算的示范順序,但這樣的排序不是必需的,并且替代的實(shí)施例允許替代的排序。而且,在某些實(shí)施例中,某些運(yùn)算可以同時(shí)執(zhí)行,諸如一個(gè)大型結(jié)構(gòu)的不同部分在同時(shí)被優(yōu)化時(shí)的情形。
圖9A總結(jié)了可以集中地認(rèn)為是對(duì)應(yīng)于除去反相的許多運(yùn)算。相應(yīng)地,圖9A所示方法從框902隨著可能但不一定是在某些先前的邏輯變換完成以后對(duì)一個(gè)單元的句法表達(dá)式開(kāi)始。在框904,對(duì)于在句法表達(dá)式中是否有任何要除去的反相做一個(gè)識(shí)別。如果沒(méi)有,方法進(jìn)行到可能的后續(xù)變換的框906。在要求除去一個(gè)反相的場(chǎng)合,方法可以根據(jù)反相的類型沿著至少3個(gè)分支中的一個(gè)繼續(xù)進(jìn)行。分支903對(duì)應(yīng)于控制或狀態(tài)變量Y的反相;分支905對(duì)應(yīng)于真值表中的反相;而分支907對(duì)應(yīng)于緩沖器中的反相。
在一個(gè)實(shí)施例中,控制或狀態(tài)變量的反相可以通過(guò)交換在真值表中相鄰各組來(lái)在框908中繼續(xù)進(jìn)行下去。要進(jìn)行交換的各組的大小取決于要反相的控制或狀態(tài)變量的有效數(shù)位。這樣,如果一個(gè)控制Y[k]要被反相,大小為2k的組被反相。這可以通過(guò)考慮一個(gè)包括一個(gè)ULG和一個(gè)緩沖器的單元來(lái)說(shuō)明Q .UB Y[2] Y[1] YN
A B C D E F G H;
在這個(gè)例子中,由k=0來(lái)定義的最低位控制Y
要被反相,使得相鄰的狀態(tài)被交換Q .UB Y[2] Y[1] YN
B A D C F E H G;在相似的方式下,當(dāng)要被反相的控制k=1時(shí),狀態(tài)的相鄰對(duì)要被交換Q .UB Y[2] YN[1] Y
A B C D E F G H;Q .UB Y[2] Y[1] Y
C D A B G H E F;當(dāng)要被反相的控制k=2時(shí),狀態(tài)的相鄰四重組要被交換Q .UB YN[2] Y[1] Y
A B C D E F G H;Q .UB Y[2] Y[1] Y
E F G H A B C D; ;圖9A的流程圖提供了一個(gè)在通過(guò)狀態(tài)的交換而反相了一個(gè)具體的控制后回到框904的循環(huán)。這就預(yù)期在眾多控制上進(jìn)行反相的可能性,因此這些控制受到連續(xù)進(jìn)行的有關(guān)交換的影響。交換是可以互易的,使得結(jié)果的句法表達(dá)式與交換進(jìn)行的次序無(wú)關(guān)Q .UB YN[2] YN[1] YN
A B C D E F G H;Q .UB Y[2] Y[1] Y
H G F E D C B A;可以用上述單元來(lái)實(shí)現(xiàn)的結(jié)果表達(dá)式必然會(huì)從任何控制反相的執(zhí)行次序和各自的真值表交換中產(chǎn)生。
圖9A的流程圖在框910指出,在某些場(chǎng)合可以用輸入控制作為一個(gè)映射輸入的變量而不是執(zhí)行交換來(lái)完成反相的除去。在這種情況,本發(fā)明實(shí)施例的容納非布爾選擇運(yùn)算的能力被用來(lái)達(dá)到更高水平的優(yōu)化。在用來(lái)說(shuō)明本文敘述的原理的句法范圍內(nèi),識(shí)別一個(gè)帶有VSSVDD系列的反相控制就允許通過(guò)將控制輸入到真值表來(lái)除去反相Q .UB Y[1] YN
VSS VDD A A ;Q .UB Y[1] Y
A ;如所指出的,將控制輸入到真值表中通常也會(huì)需要在適當(dāng)?shù)乃街貜?fù)狀態(tài)A。
在某些場(chǎng)合,可能需要改變真值表來(lái)通過(guò)改變控制的位置達(dá)到這樣的VSS VDD系列Q .UB YN[1] Y
VSS AVDD A ;Q .UB Y
YN[1] VSS VDD AA ;Q .UB Y
Y[1] A;在上述的數(shù)列中,單元的優(yōu)化是通過(guò)指出VSS VDD系列可以通過(guò)改變真值表的位置達(dá)到和通過(guò)指出重復(fù)狀態(tài)A而達(dá)到的。改變控制的位置導(dǎo)致一個(gè)完全等同于前一個(gè)例子的真值表,因此,最低位的控制可以成為一個(gè)映射輸入的變量。
同樣的原理適合于更高有效數(shù)位的控制,在某些情況下它的優(yōu)化可以通過(guò)輸入更高有效數(shù)位控制作為映射輸入的變量來(lái)除去一個(gè)反相。在一個(gè)實(shí)施例中,比如說(shuō),這是當(dāng)次低位控制是冗余的時(shí)候達(dá)到的;Q .UB Y[2] Y N[1] Y
A A A A VSS VSS VDD VDDQ .UB Y[2]A Y[1] ;優(yōu)化已經(jīng)通過(guò)識(shí)別一個(gè)模擬圖樣的存在,就是在高有效數(shù)位水平的A的重復(fù)和VSS VSSVDD VDD系列的存在而達(dá)到?,F(xiàn)在對(duì)業(yè)內(nèi)專業(yè)人士就很明顯,控制的改變可以用來(lái)重組真值表來(lái)識(shí)別這樣的系列,從而通過(guò)除去反相來(lái)優(yōu)化函數(shù)。此外,同樣明顯的是,這些原理可以用到任何有效數(shù)位水平的控制。舉例來(lái)說(shuō),一個(gè)和系列VSS VSS VSS VSS VDD VDDVDD VDD耦合的A的八重重復(fù)也許在改變控制的位置來(lái)達(dá)到這樣一個(gè)真值表中的系列以后將允許除去一個(gè)YN[2]反相。
在圖9A的框912,可以注意到真值表狀態(tài)的反相可以通過(guò)單元中緩沖器的反相來(lái)達(dá)到Q .UB Y
AN BN ;Q .UB Y
A B ;通過(guò)緩沖器的反相,所有真值表中的項(xiàng)目都被反相???14指出在其中緩沖器通過(guò)反相真值表中所有元素來(lái)反相的逆函數(shù)。雖然框912和914的功能效應(yīng)是等同的,但在概念上它們是互逆的,因?yàn)樵谝粋€(gè)例子中反相真值表的目的是通過(guò)反相緩沖器來(lái)達(dá)到的,而在另一個(gè)例子中反相緩沖器的目的是通過(guò)反相真值表來(lái)達(dá)到的。
圖9A中的每一個(gè)運(yùn)算都循環(huán)回到框904。如框908指出的那樣,這個(gè)實(shí)施例強(qiáng)調(diào),這些多次變換可以用來(lái)實(shí)現(xiàn)優(yōu)化以及它們可以以不同的次序進(jìn)行。舉例來(lái)說(shuō),對(duì)于某些單元,優(yōu)化可以通過(guò)下述步驟達(dá)到(1)首先,反相一個(gè)緩沖器來(lái)反相真值表;(2)其次,改變控制的位置使得結(jié)果真值表包括允許輸入控制變量的系列;和(3)最后,在真值表范圍內(nèi)進(jìn)行交換來(lái)除去其他控制反相。
正如有關(guān)圖9A中的框910所討論的,把控制變量列入到真值表中作為一個(gè)映射輸入的變量不僅有除去一個(gè)反相的作用,而且也減少了單元中的結(jié)點(diǎn)數(shù)。還有其他真值表系列可以允許通過(guò)接受控制變量的列入和因此減少結(jié)點(diǎn)數(shù)來(lái)進(jìn)行優(yōu)化。圖9B中的流程圖提供了一個(gè)這樣的系列如何達(dá)到的一般解釋?;旧希呛退懻摰挠嘘P(guān)框910的反相遵循同樣的步驟識(shí)別一個(gè)具有一定系列的元素的真值表,改變?cè)摫韥?lái)實(shí)現(xiàn)這些系列,再通過(guò)列入相應(yīng)的控制變量來(lái)加以優(yōu)化。一個(gè)簡(jiǎn)單的例子對(duì)應(yīng)于有關(guān)框910所討論的但是沒(méi)有反相的例子如下Q .UB Y[1] Y
VDD VSS A A ;
Q .UB Y[1] Y
A ;在這個(gè)例子中,A和VDD VSS(而不是VSS VDD)系列的重復(fù)就足夠把最低位的控制變量列入真值表。這是直接用控制變量完成的,而不是像框910中用它的反相。
這樣,圖9B中所示的一般步驟從框916隨著對(duì)一個(gè)單元的句法表達(dá)式開(kāi)始,它有數(shù)字指出,在某些實(shí)施例中一定的其他變換可能(不是必需)先前已經(jīng)用句法表達(dá)式完成了。在框918,控制中的現(xiàn)存冗余度被除去。這樣的冗余度通過(guò)在真值表中冗余控制,就是在2k規(guī)模的控制組Y[k]的水平上的重復(fù)展現(xiàn)出來(lái)。一個(gè)平凡的情況發(fā)生在控制的最低級(jí)Q .UB Y
A A ;Q .UBA ;這個(gè)例子是平凡的,因?yàn)閱卧徊贿^(guò)對(duì)于每一個(gè)輸入產(chǎn)生結(jié)果A;控制是沒(méi)有必要的,可以全部除去。然而同樣的原理適用于更高級(jí)的控制。比如說(shuō),當(dāng)k=1時(shí),狀態(tài)對(duì)的重復(fù)可以允許除去Y[1]Q .UB Y[1] Y
A B A B;Q .UB Y
A B ;這個(gè)結(jié)果簡(jiǎn)單地利用了更高級(jí)的控制沒(méi)有作用,單元的輸出單單取決于最低位控制的這樣一個(gè)事實(shí)。相似地,當(dāng)k=2時(shí),四元組狀態(tài)的重復(fù)允許除去Y[2]Q .UB Y[2] Y[1] Y
A B C D A B C D;Q .UB Y[1] Y
A B C D;這個(gè)結(jié)果表示單元的輸出只取決于兩個(gè)最低級(jí)控制而最高級(jí)控制沒(méi)有作用。這些原理可以延伸到更大的重復(fù)的框和隨后更為高有效數(shù)位的控制的除去。
在框920,可以在控制中進(jìn)行改變來(lái)重新布置真值表以識(shí)別允許列入控制變量的系列。為了列入一個(gè)最低水平的控制,要尋求與一對(duì)重復(fù)變量A A耦合的VDD VSS系列。為了列入一個(gè)次低級(jí)水平的控制,要尋求與四個(gè)重復(fù)變量A A A A耦合的VDD VDD VSS VSS系列。為了列入一個(gè)再次低級(jí)水平的控制,要尋求與八個(gè)重復(fù)變量A A A A A A A A耦合的VDD VDD VDD VDD VSS VSS VSS VSS系列。為了更高的控制級(jí)別的相似系列遵循相同的模式。在框922,控制變量列入真值表來(lái)解釋這些模式。
這樣,一個(gè)應(yīng)用框920和922的例子如下Q .UB Y[2] Y[1] Y
VDD VDD VSS VSS A B A B ;Q .UB Y[2] Y
Y[1] VDD VSS VDD VSS A A B B ;Q .UB Y[2] Y
Y[1] Y[1] A B ;
在初始的句法表達(dá)式中,出現(xiàn)系列VDD VDD VSS VSS,但是不可能除去k=1的控制,因?yàn)闆](méi)有四個(gè)重復(fù)變量的相應(yīng)系列。然而存在A和B的復(fù)本提示控制可以被改變來(lái)達(dá)到與成對(duì)重復(fù)變量耦合的VDD VSS系列。這是在第二行中通過(guò)改變Y[1]和Y
達(dá)到的。相應(yīng)地,有可能在第三行中將兩個(gè)出現(xiàn)的Y[1]列入真值表中,它現(xiàn)在是最低級(jí)的控制。因此而相應(yīng)的單元通過(guò)減少結(jié)點(diǎn)數(shù)和把原始Y[1]控制變量列入真值表來(lái)優(yōu)化。
框924指出識(shí)別和除去冗余度以及改變控制變量來(lái)允許它們列入真值表可以重復(fù)進(jìn)行來(lái)達(dá)到進(jìn)一步優(yōu)化。這個(gè)方法就這樣循環(huán)進(jìn)行直至這些步驟以這種方式盡可能按照需要優(yōu)化句法表達(dá)式。在框926,如果需要,這個(gè)方法就這樣進(jìn)行到另一種變換類型來(lái)實(shí)現(xiàn)進(jìn)一步優(yōu)化。
除了減少單個(gè)單元的結(jié)點(diǎn),在本發(fā)明的實(shí)施例中可以通過(guò)組合來(lái)自多個(gè)單元的結(jié)點(diǎn)來(lái)提供優(yōu)化。圖9C中顯示的流程圖提供一個(gè)對(duì)應(yīng)于組合結(jié)點(diǎn)的一個(gè)實(shí)施例的方法。這個(gè)方法從框928隨著多個(gè)單元的句法表達(dá)開(kāi)始。至于其他優(yōu)化程序,圖9C明確指出,前期的變換可以發(fā)生在這些句法表達(dá)式,雖然這不是必需的。在考慮結(jié)點(diǎn)是否可以組合時(shí),在框930中進(jìn)行一個(gè)核查,核查是否有任何句法表達(dá)式輸出一個(gè)存在于另一個(gè)表達(dá)式中的控制變量。如果是,這個(gè)控制變量在框932中變換成映射輸入的變量。在其中利用這種變換的組合結(jié)點(diǎn)的例子列出在下面,但是組合結(jié)點(diǎn)的原理最初是為沒(méi)有這樣的變換的場(chǎng)合說(shuō)明的。
組合結(jié)點(diǎn)的一個(gè)方法就這樣由框934和936匯總,其中多個(gè)句法表達(dá)式的控制被組合,于是在合并的表達(dá)式中的狀態(tài)被定義。舉例來(lái)說(shuō),考慮下列兩個(gè)句法的CHDL表達(dá)式,其中第二個(gè)表達(dá)式中的輸出A是第一個(gè)表達(dá)式的輸入之一Q .UB YQ A B;A .UB YA C D;表達(dá)式被合并,由此結(jié)點(diǎn)用以下方式被組合。首先,在框934中通過(guò)把第二表達(dá)式的控制加到第一表達(dá)式而組合控制—于是YQ以k=1級(jí)控制的身份進(jìn)行工作而YA以k=0級(jí)控制的身份進(jìn)行工作Q .UB YQ YA A A B B;可以看出,增加YQ控制的級(jí)別一個(gè)單級(jí)到k=1的作用是復(fù)制真值表的每一項(xiàng)。控制組合的次序由表達(dá)式的輸入和輸出之間的關(guān)系確定。具體是,既然Q的表達(dá)式具有表達(dá)式A的輸出作為一個(gè)輸入,YQ成為較高水平的控制而YA成為較低水平的控制。在組合了控制以后,狀態(tài)根據(jù)框936的表達(dá)式被定義在合并的表達(dá)式中Q .UB YQ YA C D B B;
在這個(gè)例子中,系列A A根據(jù)A的句法表達(dá)式用C D置換。最終表達(dá)式通過(guò)允許用一個(gè)上述的單個(gè)單元來(lái)實(shí)現(xiàn)結(jié)果表達(dá)式來(lái)達(dá)到優(yōu)化。
雖然這個(gè)例子顯示兩個(gè)表達(dá)式如何合并,它可以更廣泛地應(yīng)用到任何數(shù)目的表達(dá)式。比如說(shuō),下列三個(gè)表達(dá)式可以用一個(gè)順序過(guò)程以相似的方式合并Q .UB YQ AB ;A .UB YA CD ;B .UB YB EF ;第二和第三表達(dá)式都有對(duì)應(yīng)于第一表達(dá)式的輸入的輸出。相應(yīng)地,在按照框934組合控制的過(guò)程中,第一表達(dá)式的控制用做最高級(jí)的控制。首先,第一和第二表達(dá)式通過(guò)組合它們的控制和以相同于兩個(gè)表達(dá)式的例子的方式定義在合并表達(dá)式中的狀態(tài)來(lái)合并Q .UB YQ YA A A B B;Q .UB YQ YA C D B B;接著,第三表達(dá)式合并到這個(gè)組合中。首先,附加的控制使得YQ變成一個(gè)k=2級(jí)的控制而YA變成k=1級(jí)的控制,YB仍舊為一個(gè)k=0級(jí)的控制Q .UB YQ YA YBC C D D B B B B ;從這個(gè)表達(dá)式中看出,附加的控制級(jí)造成每個(gè)真值表元素的復(fù)本?,F(xiàn)在這個(gè)表達(dá)式中的狀態(tài)根據(jù)框936按照原始第三表達(dá)式通過(guò)用系列EF置換一對(duì)B來(lái)定義Q .UB YQ YA YBC C D D E F E F ;這樣,這個(gè)結(jié)果對(duì)應(yīng)于一個(gè)組合原始的3個(gè)表達(dá)式的表達(dá)式并可以以上述方式作為一個(gè)單元來(lái)實(shí)現(xiàn)。
這兩個(gè)例子都從對(duì)應(yīng)于可以用相同規(guī)模的多路復(fù)用器實(shí)現(xiàn)的ULG單元的表達(dá)式開(kāi)始。然而,本發(fā)明的實(shí)施例并沒(méi)有要求它們一定是相同規(guī)模的??梢詧?zhí)行對(duì)組合結(jié)點(diǎn)的優(yōu)化,這些優(yōu)化對(duì)應(yīng)于將一個(gè)較小的多路復(fù)用器合并到一個(gè)較大的多路復(fù)用器或?qū)⒁粋€(gè)較大的多路復(fù)用器合并到一個(gè)較小的多路轉(zhuǎn)換器。這可以從下列例子中看出,其中當(dāng)使用這樣的實(shí)現(xiàn)時(shí)初始表達(dá)式的每一個(gè)都對(duì)應(yīng)于一個(gè)不同規(guī)模的多路復(fù)用器。舉例來(lái)說(shuō),在下面的組中Q .UB YQ[1] YQ
A B C D ;A .UB YA E F ;第二個(gè)表達(dá)式有一個(gè)用做第一表達(dá)式的輸入的輸出,并對(duì)應(yīng)于一個(gè)比第一表達(dá)式所對(duì)應(yīng)的規(guī)模較小的多路復(fù)用器。結(jié)點(diǎn)以相同于上述方式的方式來(lái)組合。首先,控制根據(jù)框934來(lái)組合
Q .UB YQ[1] YQ
A A B B C C D D ;接著,在這個(gè)例子中通過(guò)用E F置換一對(duì)A來(lái)在合并表達(dá)式中定義狀態(tài)Q .UB YQ[1] YQ
YA E F B B C C D D ;最終表達(dá)式可以這樣作為一個(gè)單元來(lái)實(shí)現(xiàn)并且通過(guò)將一個(gè)較小的多路復(fù)用器合并到一個(gè)較大的多路復(fù)用器來(lái)達(dá)到優(yōu)化。
在使用多路復(fù)用器的實(shí)施例中,相似地可以以對(duì)應(yīng)于將一個(gè)較大的多路復(fù)用器合并到一個(gè)較小的多路復(fù)用器的方式來(lái)組合結(jié)點(diǎn)Q .UB YQ A B ;A .UB YA[1] YA
C D E F ;在這個(gè)例子中對(duì)應(yīng)于較大多路復(fù)用器的表達(dá)式的輸出是對(duì)應(yīng)于較小多路復(fù)用器的表達(dá)式的輸入。結(jié)點(diǎn)是以相同的方式來(lái)組合的,首先是根據(jù)框934來(lái)組合兩個(gè)表達(dá)式的控制。因?yàn)閬?lái)自第二表達(dá)式的兩級(jí)控制要和第一表達(dá)式組合到一起,YQ變成一個(gè)k=2級(jí)的控制Q .UB YQ YA[1] YA
A A A A B B B B ;接著,狀態(tài)根據(jù)框936通過(guò)如第二原始表達(dá)式規(guī)定的那樣用C D E F置換A的四元組來(lái)加以定義Q .UB YQ YA[1] YA
C D E F B B B B ;這些例子的每一個(gè)都說(shuō)明了在一個(gè)表達(dá)式的輸出是另一個(gè)表達(dá)式的輸入之一的不同場(chǎng)合如何組合結(jié)點(diǎn)。然而,在某些場(chǎng)合,一個(gè)表達(dá)式的輸出可以是另一個(gè)表達(dá)式的控制中的一個(gè),正如框930的核查情況所示。在這樣的例子中,控制變量在組合控制和定義狀態(tài)之前在框932被轉(zhuǎn)換到一個(gè)映射輸入的變量。這可以用下面兩個(gè)例子來(lái)說(shuō)明,其中第一個(gè)對(duì)應(yīng)于一個(gè)AND子函數(shù)而第二個(gè)對(duì)應(yīng)于OR子函數(shù)。
這樣,考慮下面兩個(gè)句法表達(dá)式的合并結(jié)點(diǎn)Q .UB YQ[1] YQ
A VDD VSS VSS ;YQ[1] .UB YAB C ;這個(gè)例子中的情況不同于前面的例子,因?yàn)榈诙磉_(dá)式的輸出YQ[1]是一個(gè)第一表達(dá)式的控制而不是真值表項(xiàng)目中的一個(gè)輸入。實(shí)施例接受真值表元素中的變量的能力就這樣被利用來(lái)用真值表中的YQ[1]來(lái)重新表達(dá)第一表達(dá)式。首先,改變控制變量,使得YQ[1]是最低位控制Q .UBYQ
YQ[1] A VSS VDD VSS ;于是認(rèn)識(shí)到,對(duì)于作為最低位控制的YQ[1]而言在I1-I0位置的VDD VSS系列簡(jiǎn)單地對(duì)應(yīng)于YQ[1]。還可以認(rèn)識(shí)到,在I3位置,YQ[1]和A是等效的。因此,在把控制變量按照框932變換到映射輸入的變量后,表達(dá)式可以寫(xiě)為Q.UBYQ
AYQ[1] VSS YQ[1] YQ[1] ;基本上,這個(gè)變換認(rèn)識(shí)到真值表XIIA和XIIB的等效性
在框934把控制和第二表達(dá)式組合起來(lái)導(dǎo)致Q .UB YQ
A YA YQ[1] YQ[1] VSS VSS YQ[1] YQ[1] YQ[1] YQ[1];最后,在框936定義狀態(tài),使得按照原始第二表達(dá)式的要求用B C置換YQ[1]對(duì)就導(dǎo)致合并的表達(dá)式Q.UB YQ
A YA B C VSS VSS B C B C;相同的步驟也可用于下面兩個(gè)句法表達(dá)式Q .UB YQ[1] YQ
VDD VDD A VSS ;YQ[1] .UB YAB C ;在這個(gè)例子中,對(duì)于YQ[1]的表達(dá)式相同于前例中的表達(dá)式,但對(duì)于Q的表達(dá)式不同。改變控制變量的位置使得YQ[1]成為最低位的,Q .UB YQ
YQ[1] VDD A VDD VSS ;認(rèn)識(shí)到I1-I0位置的VDD VSS系列對(duì)應(yīng)于YQ[1]并且在I2位置YQ[1]和A是等效的,導(dǎo)致Q .UB YQ
AVDD YQ[1] YQ[1] YQ[1];這個(gè)變換有效地認(rèn)識(shí)了真值表XIIIA和XIIIB的等效性
根據(jù)框934把控制和第二表達(dá)式組合起來(lái),導(dǎo)致Q.UB YQ
A YA VDD VDD YQ[1] YQ[1] YQ[1] YQ[1] YQ[1] YQ[1];最后,在框938定義狀態(tài),使得按照原始第二表達(dá)式的要求用B C置換YQ[1]對(duì)就導(dǎo)致合并的表達(dá)式Q.UBYQ
A YA VDD VDD B C B C B C ;要指出的是,在某些例子中,圖9C畫(huà)出的方法可以和向前移動(dòng)觸發(fā)器組合來(lái)促進(jìn)減少。舉例來(lái)說(shuō),考慮將這個(gè)方法應(yīng)用到下列表達(dá)式組Q .UB Y[21] A B C D ;A .UB Y
E F CLK ;B .UB Y
G H CLK ;C .UB Y
I J CLK ;D .UB Y
K L CLK ;如上所述,符號(hào)Y[21]等效于表達(dá)式Y(jié)[2]Y[1]。這組表達(dá)式可以用5個(gè)單元來(lái)實(shí)現(xiàn),一個(gè)包括一個(gè)ULG和一個(gè)緩沖器的單元和4個(gè)包括一個(gè)ULG和一個(gè)F/F的單元。把觸發(fā)器向前移動(dòng)的結(jié)果是Q .UB Y[21] A B C D CLK ;A .UB Y
E F ;B .UB Y
G H ;C .UB Y
I J ;D .UB Y
K L ;因此,應(yīng)用圖9C的方法來(lái)組合結(jié)點(diǎn)導(dǎo)致Q .UD Y[20] E F G H I J K L CLK ;在本發(fā)明的某些實(shí)施例中,這個(gè)表達(dá)式可以用包括一個(gè)ULG和一個(gè)D F/F的單元來(lái)實(shí)現(xiàn)。
這樣,圖9C畫(huà)出的方法允許從多個(gè)句法表達(dá)式中減少結(jié)點(diǎn)。這包括各類不同的情況,包括存在任意數(shù)目的句法表達(dá)式,某些表達(dá)式對(duì)應(yīng)于實(shí)現(xiàn)不同規(guī)模,和某些表達(dá)式具有對(duì)應(yīng)于其他表達(dá)式的輸入或控制的輸出的情況。在結(jié)點(diǎn)合并后,這個(gè)方法可以進(jìn)行到框938的另一個(gè)變換,雖然這并不是必須的。
附加的優(yōu)化函數(shù)可以通過(guò)使用在該形式中設(shè)置的置位和復(fù)位設(shè)施來(lái)實(shí)現(xiàn),以及它們可以根據(jù)本發(fā)明的實(shí)施例通過(guò)使用單元中的那些設(shè)施來(lái)實(shí)現(xiàn)。使用置位和復(fù)位的設(shè)施匯集在圖9D中,它主要是在真值表狀態(tài)的一半處于高或低的時(shí)候使用的。這樣,一個(gè)優(yōu)化的方法是從框940隨著對(duì)單元的句法表達(dá)式開(kāi)始,而圖9D明確指出先前的變換也可以在單元表達(dá)式上完成,雖然這并不是必須的。在框944核查是否真值表狀態(tài)的一半處于低。如果是,控制變量可以根據(jù)框946改變到一個(gè)F/F的復(fù)位。比如說(shuō),考慮句法函數(shù)Q .UD Y[20] VSS VSS VSS VSS A B C D CLK ;在這個(gè)例子中,實(shí)現(xiàn)這個(gè)函數(shù)的單元包括一個(gè)ULG和一個(gè)D F/F。如上所述,符號(hào)Y[20]等效于Y[2]Y[1]Y
。這個(gè)表達(dá)式中的真值表狀態(tài)的一半處于低,就是VSS,使得最高位控制可以列入圖中作為一個(gè)F/F的復(fù)位輸入Q .UDR Y[10] A B C D Y[2] CLK (RST=‘C’);單元的名稱明確指出使用了一個(gè)可復(fù)位的D F/F(DR)而且復(fù)位已經(jīng)被指出。這個(gè)函數(shù)于是可以使用上述單元來(lái)實(shí)現(xiàn)。
圖9D在框942指出在某些場(chǎng)合改變控制變量的位置來(lái)把真值表置于允許為優(yōu)化使用復(fù)位輸入的形式可以是很有用的。如果真值表狀態(tài)的一半處于低,但不作為一個(gè)組出現(xiàn),它們可以通過(guò)改變位置來(lái)排齊。舉例來(lái)說(shuō),函數(shù)Q .UD Y[1] Y
VSS A VSS B CLK ;的真值表狀態(tài)的一半處于低,但它們沒(méi)有排齊。交換控制變量使它們排齊Q .UD Y
Y[1] VSS VSS A B CLK ;使得在框946最高位控制變量可以列入圖中作為F/F的一個(gè)復(fù)位輸入Q .UDR Y[1] A B Y
CLK (RST=‘C’) ;要注意的是,在這個(gè)例子中,在低狀態(tài)之間缺乏排齊已經(jīng)導(dǎo)致是Y
而不是Y[1]作為優(yōu)化的部分列入圖中。
如在框948中核查的,如果真值表狀態(tài)的一半處于高就可以達(dá)到相似的優(yōu)化。如果這樣,可以在框950進(jìn)行控制變量改變位置來(lái)排齊高狀態(tài),在框952將控制變量作為F/F的一個(gè)置位輸入列入到圖中。比如說(shuō),考慮函數(shù)Q .UD Y[10] VDD A VDD B CLK ;真值表狀態(tài)的一半處于高,就是VDD,使得可以達(dá)到用置位輸入的優(yōu)化。根據(jù)框950改變控制變量的位置來(lái)排齊高狀態(tài)導(dǎo)致Q .UD Y
Y[1] VDD VDD A B CLK;列入作為映射輸入變量的最高位控制作為F/F的一個(gè)置位輸入導(dǎo)致Q .UDS Y[1] A B Y
CLK (SET=‘C’);這個(gè)函數(shù)于是可以用實(shí)施例中上述的單元來(lái)實(shí)現(xiàn)。
還可以用擴(kuò)展,反相,和/或改變位置的其他組合來(lái)達(dá)到利用置位或復(fù)位來(lái)優(yōu)化的條件。一個(gè)說(shuō)明幾個(gè)上述優(yōu)化操作的例子從句法表達(dá)式開(kāi)始Q .UD AN VSS NOT_RESET CLK ;這個(gè)函數(shù)的優(yōu)化可以通過(guò)首先進(jìn)行擴(kuò)展作為一個(gè)控制變量的NOT_RESET來(lái)進(jìn)行Q .UD AN NOT_RESET VSS VSS VDD VSS CLK ;根據(jù)圖9A的兩個(gè)控制變量的反相導(dǎo)致真值表的兩個(gè)交換,第一個(gè)交換基于單項(xiàng),第二個(gè)交換基于成對(duì)Q .UD A RESET VSS VDD VSS VSS CLK ;交換控制來(lái)準(zhǔn)備將A作為映射輸入的變量列入導(dǎo)致Q .UD RESET A VSS VSS VDD VSS CLK ;根據(jù)圖9B,VDD VSS系列和重復(fù)的VSS元素的存在允許A控制變量列入圖中Q .UD RESET VSS A CLK ;現(xiàn)在很明顯,因?yàn)樵谡嬷当碇兄挥袃蓚€(gè)狀態(tài)而其中一個(gè)是低,也很明顯一半狀態(tài)是低,控制變量可以列入圖中作為F/F的一個(gè)復(fù)位輸入Q .DR A RESET CLK (RST=‘C’) ;因?yàn)樗械目刂谱兞恳呀?jīng)列入圖中,在實(shí)現(xiàn)這個(gè)優(yōu)化表達(dá)式中不需要一個(gè)ULG元素了。而是,在一個(gè)實(shí)施例中,即使原始表達(dá)式對(duì)應(yīng)于包括一個(gè)ULG和一個(gè)D F/F的實(shí)現(xiàn),它也可以只用一個(gè)可復(fù)位的D F/F來(lái)實(shí)現(xiàn)。
該形式的每個(gè)句法表達(dá)式可以看作定義一個(gè)數(shù)字電路的ULG網(wǎng)表的一個(gè)項(xiàng)目。ULG網(wǎng)表使用基本單元而且遵循CHDL句法。這樣的ULG網(wǎng)表可以通過(guò)連續(xù)進(jìn)行上述的幾個(gè)個(gè)別的操作來(lái)達(dá)到至少部分優(yōu)化。在某些實(shí)施例中,結(jié)果的優(yōu)化ULG網(wǎng)表可以直接用上述的單元來(lái)實(shí)現(xiàn)。但在其他實(shí)施例中,ULG網(wǎng)表的操作可以看作已經(jīng)表達(dá)在另一個(gè)網(wǎng)表格式中的數(shù)字設(shè)計(jì)優(yōu)化的中間步驟。在這種情況下,使用另一個(gè)單元庫(kù)和/或另一個(gè)句法(比如VHDL或Verilog)的其他網(wǎng)表格式在一開(kāi)始就轉(zhuǎn)化到ULG網(wǎng)表格式。在完成幾步優(yōu)化步驟后,優(yōu)化的網(wǎng)表可以轉(zhuǎn)化回到用于實(shí)現(xiàn)的原始格式。以這種方式,提供了一個(gè)在原先存在的網(wǎng)表格式范圍內(nèi)達(dá)到數(shù)字設(shè)計(jì)優(yōu)化的實(shí)施例。
有多種方式可以實(shí)施包括一個(gè)ULG網(wǎng)表的句法表達(dá)式的各個(gè)操作而相應(yīng)數(shù)字設(shè)計(jì)的優(yōu)化程度取決于那些操作如何執(zhí)行。雖然在某些場(chǎng)合可以由數(shù)字設(shè)計(jì)人員手工操作,但是期望至少可以應(yīng)用一定程度的自動(dòng)化。舉例來(lái)說(shuō),在一個(gè)實(shí)施例中,可以提供一個(gè)允許數(shù)字設(shè)計(jì)人員選擇要完成的操作類型和這些操作在其上面執(zhí)行的ULG網(wǎng)表部分,而操作的執(zhí)行是自動(dòng)完成的。在另一個(gè)實(shí)施例中,以完全自動(dòng)的方式使用一個(gè)預(yù)定的算法來(lái)執(zhí)行操作或優(yōu)化。
這樣一個(gè)預(yù)定的算法的例子用在圖10中提供的流程圖說(shuō)明,雖然業(yè)內(nèi)專業(yè)人士一定會(huì)知道許許多多其他算法可以替代使用。在某些具體例子中,替代的算法使用相同的操作但以不同的次序完成它們。在某些其他的具體場(chǎng)合,替代的算法使用不同的操作組。如果要優(yōu)化的設(shè)計(jì)一開(kāi)始沒(méi)有用ULG形式建立起來(lái),在圖10中顯示的算法可以從框1004開(kāi)始把現(xiàn)存的網(wǎng)表轉(zhuǎn)化到ULG網(wǎng)表。在一個(gè)實(shí)施例中,從現(xiàn)存的網(wǎng)表轉(zhuǎn)化到ULG網(wǎng)表是在句法表達(dá)式之間一對(duì)一的轉(zhuǎn)化的基礎(chǔ)上完成的。對(duì)于一個(gè)實(shí)施例,這個(gè)轉(zhuǎn)化在概念上可以根據(jù)在這個(gè)實(shí)施例中使用的用于實(shí)現(xiàn)原始的和ULG網(wǎng)表的元素來(lái)看——諸如NAND,OR等之類的每個(gè)邏輯門被變換到一個(gè)容易進(jìn)行由上述句法操作提供的優(yōu)化的以多路復(fù)用器為基礎(chǔ)的操作工具。
在框1008,數(shù)據(jù)和控制要素在結(jié)果ULG網(wǎng)表中被區(qū)別開(kāi)來(lái)。這種數(shù)據(jù)和選擇控制要素的之間的區(qū)別先前已經(jīng)根據(jù)表VIII討論過(guò)。在一個(gè)實(shí)施例中,這樣的區(qū)別可以用一個(gè)高級(jí)設(shè)計(jì)語(yǔ)言來(lái)完成。在某些實(shí)施例中,在數(shù)據(jù)和控制從原始的行為網(wǎng)表中被識(shí)別的后續(xù)優(yōu)化中還有附加的優(yōu)勢(shì)。一旦數(shù)據(jù)和控制要素被識(shí)別,在框1016-1018中識(shí)別的運(yùn)算可以用上述的句法操作來(lái)完成。這樣,在框1016,通過(guò)納入相應(yīng)的函數(shù)到句法表達(dá)式中,連接到基本布爾值的連接單元被除去。相似地,非反相緩沖器在框1020被除去并且被直接納入到句法表達(dá)式中。在框1024,通過(guò)句法上反相在個(gè)別句法表達(dá)式中的相關(guān)數(shù)據(jù)元素來(lái)除去反相器。在框1028的冗余結(jié)點(diǎn)的除去可以通過(guò)減少,組合和改變句法表達(dá)式中的結(jié)點(diǎn)進(jìn)行。對(duì)于一定的實(shí)施例的用于這樣的減少,組合和改變結(jié)點(diǎn)的方法已經(jīng)結(jié)合圖9B和9C在上面說(shuō)明了。在框1032,反相被除去。除去的反相可以包括控制/狀態(tài)變量反相,真值表反相和緩沖器反相,它們的除去方法已經(jīng)結(jié)合圖9A在上面說(shuō)明了。
可以執(zhí)行一個(gè)包括框1036和1040的循環(huán)來(lái)識(shí)別和合并扇出結(jié)點(diǎn)。一個(gè)“扇出結(jié)點(diǎn)”說(shuō)明一個(gè)其中單個(gè)輸出被指向真值表的多個(gè)部分的構(gòu)型,以及在某些場(chǎng)合優(yōu)化可以通過(guò)合并這樣的扇出結(jié)點(diǎn)來(lái)實(shí)現(xiàn)。首先在框1036進(jìn)行核查來(lái)識(shí)別是否ULG網(wǎng)表包括任何扇出結(jié)點(diǎn),在該種情況下這些結(jié)點(diǎn)通過(guò)執(zhí)行如結(jié)合圖9C所述的改變和減少在框1040被減少。因?yàn)樵诳?040執(zhí)行的減少可能產(chǎn)生可以通過(guò)附加的改變和減少來(lái)識(shí)別和合并的某些新的扇出結(jié)點(diǎn),框1036和1040之間的循環(huán)要被包括進(jìn)去。這個(gè)方法就這樣循環(huán)下去直至在框1036再?zèng)]有結(jié)點(diǎn)被識(shí)別。
在扇出結(jié)點(diǎn)被這樣合并后,在框1044做一個(gè)核查來(lái)識(shí)別對(duì)應(yīng)于其中一半真值表狀態(tài)是低的同步單元的句法表達(dá)式。如果識(shí)別了一個(gè)這樣的表達(dá)式,在框1048相應(yīng)的控制變量被移動(dòng)到成為一個(gè)復(fù)位輸入。這個(gè)做法的方法結(jié)合圖9D來(lái)說(shuō)明,它可以包括執(zhí)行改變位置來(lái)排齊真值表的低狀態(tài)。在框1052做一個(gè)相似的核查來(lái)識(shí)別對(duì)應(yīng)于其中一半真值表狀態(tài)是高的同步單元的句法表達(dá)式。如果識(shí)別了一個(gè)這樣的表達(dá)式,在框1056相應(yīng)的控制變量被移動(dòng)到成為一個(gè)置位輸入。這個(gè)做法的方法也結(jié)合圖9D來(lái)說(shuō)明,它可以包括執(zhí)行改變位置來(lái)排齊真值表的高狀態(tài)。
在框1060,句法表達(dá)式通過(guò)公共輸入編組。在框1064這種編組允許識(shí)別子函數(shù)。公共子函數(shù)分享可以在減少其他結(jié)點(diǎn)之前提取出來(lái)的特性。在框1068,使緩沖器成為反相緩沖器。
如果在框1004產(chǎn)生的原始ULG網(wǎng)表是非優(yōu)化的,執(zhí)行上述操作可以產(chǎn)生一個(gè)容易實(shí)現(xiàn)較小面積,較大速度,和/或較低功率要求的不同的ULG網(wǎng)表。在某些實(shí)施例中,可能不是所有的操作都會(huì)被執(zhí)行,某些操作會(huì)被執(zhí)行多次,以及它們被執(zhí)行的次序會(huì)與上述的不同。一旦這個(gè)方法產(chǎn)生了一個(gè)新的ULG網(wǎng)表,它可以在框1072中通過(guò)用上述的單元轉(zhuǎn)化ULG網(wǎng)表中的句法表達(dá)式來(lái)實(shí)現(xiàn)。在這樣的實(shí)施例中,方法的作用不僅是優(yōu)化數(shù)字設(shè)計(jì),而且也提供一個(gè)它的以多路復(fù)用器為基礎(chǔ)的實(shí)現(xiàn)。在某些替代的實(shí)施例中,結(jié)果ULG網(wǎng)表容易轉(zhuǎn)化回到原始網(wǎng)表句法來(lái)進(jìn)行應(yīng)用布爾邏輯門的實(shí)現(xiàn)。在這些實(shí)施例中,該方法可以看作在保留它的基礎(chǔ)結(jié)構(gòu)特性的同時(shí)提供一個(gè)數(shù)字設(shè)計(jì)的優(yōu)化。
在某些實(shí)施例中,要求用作句法操作的技術(shù)嵌入到一個(gè)優(yōu)化工具或綜合器中。因此,本發(fā)明的變換一個(gè)網(wǎng)表到ULG網(wǎng)表和優(yōu)化ULG網(wǎng)表的方法可以由計(jì)算機(jī)來(lái)執(zhí)行,這方面的合適構(gòu)型的一個(gè)例子如圖11所示。這個(gè)圖在充分說(shuō)明了個(gè)別的系統(tǒng)元件是如何以一種分立的或更為集成的方式被實(shí)現(xiàn)的。所示的計(jì)算機(jī)1100的電氣上通過(guò)總線1112耦合的硬件包括一個(gè)處理器1102,一個(gè)輸入裝置1104,一個(gè)輸出裝置1106,一個(gè)存儲(chǔ)裝置1108,一個(gè)計(jì)算機(jī)可讀存儲(chǔ)媒體閱讀器1110a,一個(gè)通訊系統(tǒng)1114,一個(gè)諸如DSP或?qū)S锰幚砥髦惖奶幚砑铀賳卧?116,和一個(gè)存儲(chǔ)器1118。計(jì)算機(jī)可讀存儲(chǔ)媒體閱讀器1110a進(jìn)一步連接到一個(gè)計(jì)算機(jī)可讀存儲(chǔ)媒體1110b,這種組合綜合性地描繪了遠(yuǎn)程的,本地的,固定的,和/或可移動(dòng)的存儲(chǔ)裝置加上存儲(chǔ)媒體用來(lái)暫時(shí)和/或更持久地保存計(jì)算機(jī)可讀信息。一個(gè)通訊系統(tǒng)1114可以包括一個(gè)有線的,無(wú)線的,調(diào)制解調(diào)器,和/或其他類型的接口連接。
計(jì)算機(jī)1100也包括如顯示為當(dāng)前位于工作存儲(chǔ)器1120內(nèi)的軟件,它包括一個(gè)操作系統(tǒng)1124和諸如用來(lái)實(shí)現(xiàn)本發(fā)明的優(yōu)化方法而設(shè)計(jì)的程序的其他編碼1122。業(yè)內(nèi)專業(yè)人士一定會(huì)知道根據(jù)具體的要求可以使用許多實(shí)質(zhì)上的變型。舉例來(lái)說(shuō),也可以使用定制的硬件,和/或特殊的元件可以在硬件,軟件(包括諸如applet之類的可移植軟件),或兩者之中實(shí)施。而且,連接到諸如網(wǎng)絡(luò)輸入/輸出裝置之類的其他計(jì)算機(jī)裝置也是可行的。
實(shí)例圖10中所示的方法曾經(jīng)用來(lái)優(yōu)化一個(gè)微控制器的網(wǎng)表。市售的庫(kù)單元的一個(gè)綜合網(wǎng)表被轉(zhuǎn)化到ULG網(wǎng)表形式并通過(guò)執(zhí)行上述句法操作來(lái)進(jìn)行優(yōu)化。然后將用本文敘述的單元實(shí)現(xiàn)優(yōu)化ULG網(wǎng)表的規(guī)模與原始實(shí)現(xiàn)的規(guī)模進(jìn)行比較。整個(gè)規(guī)模顯著地減少了約37%。
V.用句法操作的數(shù)字設(shè)計(jì)接著參考圖12,圖中顯示一個(gè)制備ULG ASIC單元庫(kù)的工藝的實(shí)施例的流程圖。在這個(gè)實(shí)施例中,一個(gè)新的制造工藝正在適應(yīng)應(yīng)用核心單元/基本單元的結(jié)構(gòu)。所描繪的工藝部分從步驟1204開(kāi)始,其中布局工程師或技術(shù)員分析目標(biāo)制造工藝的布局規(guī)則。在布局時(shí)要考慮到制造工藝會(huì)有不同數(shù)量的金屬化層,不同的半導(dǎo)體組成,不同的晶體管類型,和諸如SOI等的不同的結(jié)構(gòu)。在步驟1208中核心單元至少部分地由手工設(shè)計(jì)來(lái)優(yōu)化電路。某些實(shí)施例可以用手工定制的計(jì)算機(jī)路由設(shè)計(jì)來(lái)開(kāi)始核心單元布局。要注意核心單元的一致高度和遵守鄰接準(zhǔn)則,使得時(shí)鐘信號(hào)和一些I/O在緯向?qū)R。其他實(shí)施例可能完全依靠自動(dòng)路由來(lái)建造核心單元。
核心單元可以有許多種方式來(lái)裝配以潛在性地建立ULG ASIC單元庫(kù)中的幾百個(gè)基本單元100?;締卧臉?gòu)型在步驟1212中規(guī)定。具體的做法是編輯一個(gè)計(jì)劃提供給將核心單元組合到基本單元中去的工具。在步驟1216中,這個(gè)實(shí)施例的核心單元自動(dòng)地裝配到基本單元100。某些實(shí)施例可能通過(guò)手工或有技藝的手工來(lái)裝配核心單元。一旦基本單元產(chǎn)生出來(lái),它們?cè)诓襟E1220中受到檢驗(yàn)。這個(gè)檢驗(yàn)確認(rèn)基本單元的數(shù)字和模擬性能。檢驗(yàn)中發(fā)現(xiàn)的任何問(wèn)題可以在核心單元和/或基本單元中修正。為了完成ULG ASIC單元庫(kù),在步驟1224中設(shè)計(jì)專用單元。
在一個(gè)實(shí)施例中,在數(shù)字電路中用選擇邏輯代替某些或全部組合邏輯?;締卧南喈?dāng)部分使用一個(gè)ULG104。相比之下,傳統(tǒng)半導(dǎo)體電路不使用包括ULG電路的ASIC單元庫(kù)。在一個(gè)實(shí)施例中,ULG電路具有2到8個(gè)之間的輸入和1到3個(gè)之間的選擇線的各種不同的規(guī)模。
在本發(fā)明中ULG或選擇電路的廣泛使用是以各個(gè)實(shí)施例中的許多使用方式為特征的,這些特征包括(1)一個(gè)使用包括一定比例帶選擇電路的單元的ASIC單元庫(kù)的數(shù)字IC設(shè)計(jì)。在各種不同的實(shí)施例中,在ASIC單元庫(kù)中帶選擇電路的單元的比例可以包括比如5%或更多,10%或更多,25%或更多,50%或更多,75%或更多,80%或更多,90%或更多。
(2)一個(gè)使用包括一定百分比的基本單元的ASIC單元庫(kù)的數(shù)字設(shè)計(jì),每個(gè)基本單元都包括兩個(gè)或更多核心單元。比如說(shuō)這個(gè)百分比可以大于5%,10%,20%,30%,40%,50%,60%,70%,80%,或90%。
(3)一個(gè)包括一定比例選擇電路的數(shù)字設(shè)計(jì)。其中比率是根據(jù)電路面積,功耗或核心單元數(shù)來(lái)定義的。在各種不同的實(shí)施例中,數(shù)字設(shè)計(jì)包括選擇電路的比例可以包括1%或更多,2%或更多,5%或更多,10%或更多,20%或更多,30%或更多,40%或更多,或50%或更多。
(4)一個(gè)用半導(dǎo)體電路實(shí)現(xiàn)的數(shù)字設(shè)計(jì),其中數(shù)字結(jié)構(gòu)單元包括存儲(chǔ)器單元,單輸入布爾運(yùn)算符和選擇電路。選擇電路是非布爾運(yùn)算符并具有3個(gè)或更多輸入。在某些場(chǎng)合,可能有一小比例,諸如1%或更少,2%或更少,5%或更少,10%或更少,或20%或更少的數(shù)字結(jié)構(gòu)單元可以是布爾運(yùn)算符。
那些數(shù)字設(shè)計(jì)可以在下列形式中體現(xiàn),比如說(shuō)一個(gè)結(jié)構(gòu)網(wǎng)表,一個(gè)行為網(wǎng)表,一個(gè)HDL網(wǎng)表,一個(gè)全定制ASIC,一個(gè)半定制ASIC,一個(gè)IP核心電路,一個(gè)集成電路,一個(gè)混合芯片,一個(gè)或多個(gè)掩膜,一個(gè)FPGA,或一個(gè)具有一定數(shù)量集成電路的電路插件板的形式。全定制和半定制ASIC在本文被定義為定制的集成電路,并且可以使用至少一些標(biāo)準(zhǔn)單元。結(jié)構(gòu)網(wǎng)表列出所用的低級(jí)單元和它們?nèi)绾位ハ噙B接。行為網(wǎng)表具有相似于高級(jí)編程語(yǔ)言的電路功能的高級(jí)描述。情況語(yǔ)句,IF-THEN-ELSE語(yǔ)句很容易從行為構(gòu)造轉(zhuǎn)化到ULG電路。HDL網(wǎng)表的例子包括RTL,VHDL,Verilog和CHDL。HDL網(wǎng)表可以是高級(jí)行為網(wǎng)表或低級(jí)結(jié)構(gòu)網(wǎng)表。ASIC設(shè)計(jì)可以是全定制或半定制設(shè)計(jì)。全定制設(shè)計(jì)有全套為每個(gè)設(shè)計(jì)制作的掩膜,而半定制設(shè)計(jì)有若干定義與某些獨(dú)特掩膜關(guān)聯(lián)定制的門陣列的可再利用掩膜。在進(jìn)行半定制ASIC的場(chǎng)合,各種門就會(huì)包括ULG電路。IP核心電路是定義一個(gè)諸如微處理器,總線接口之類典型情況下由第三方供貨的可再利用功能的網(wǎng)表或掩膜件。集成電路簡(jiǎn)單地就是一個(gè)半導(dǎo)體芯片。在一個(gè)封裝內(nèi)有一個(gè)以上的芯片的場(chǎng)合,這樣的封裝稱為混合集成電路或多芯片模塊。電路插件板可以把焊在上面的為數(shù)不少的使用ULG的集成電路耦合在一起。
有幾個(gè)方法把句法操作集成到數(shù)字設(shè)計(jì)中。在某些實(shí)施例中,設(shè)計(jì)人員預(yù)計(jì)在設(shè)計(jì)過(guò)程的開(kāi)始就使用句法操作。使用諸如情況語(yǔ)句這樣的HDL構(gòu)造很容易映射到HDL ASIC單元庫(kù)中去。數(shù)字設(shè)計(jì)者往往從幾個(gè)廠商那里混合和匹配工具來(lái)開(kāi)發(fā)一個(gè)適合于一個(gè)具體數(shù)字設(shè)計(jì)的設(shè)計(jì)流程。記住這點(diǎn),下面的各種不同的實(shí)施例以不同的方式和在不同的程度上結(jié)合了本發(fā)明的概念。業(yè)內(nèi)專業(yè)人士一定知道,設(shè)計(jì)的處理過(guò)程可以通過(guò)應(yīng)用在各種不同的設(shè)計(jì)文件上運(yùn)行不同的工具的計(jì)劃來(lái)實(shí)現(xiàn)某些程度的自動(dòng)化。
參考圖13,它顯示一個(gè)在綜合后使用句法操作的設(shè)計(jì)流程1300的實(shí)施例的方框圖。包括在這個(gè)設(shè)計(jì)流程中的有一個(gè)HDL輸入工具1304,一個(gè)綜合工具1308,一個(gè)傳統(tǒng)單元庫(kù)1324,一個(gè)優(yōu)化工具,一個(gè)靜態(tài)和動(dòng)態(tài)時(shí)序分析工具1316,和一個(gè)位置和路由工具1320。在這個(gè)實(shí)施例中,數(shù)字設(shè)計(jì)人員使用了他們的正常設(shè)計(jì)流程中的所有工具,但包括在綜合工具1308之后的優(yōu)化工具1312。優(yōu)化工具1312在這個(gè)設(shè)計(jì)流程中執(zhí)行句法操作。
HDL輸入工具1304是一個(gè)允許數(shù)字設(shè)計(jì)人員輸入HDL作為一個(gè)行為網(wǎng)表的軟件編輯工具。HDL可以是VHDL,Verilog,或簡(jiǎn)明硬件描述語(yǔ)言(CHDL)。CHDL是專為有利于ULG單元設(shè)計(jì)的設(shè)計(jì)構(gòu)造而調(diào)整的HDL。HDL輸入工具1304能夠從其他工具處接收反饋而識(shí)別那些帶有通過(guò)其他工具所發(fā)現(xiàn)的問(wèn)題的編碼部分。其他設(shè)計(jì)獲得工具也可以用來(lái)代替HDL輸入工具,比如說(shuō)狀態(tài)機(jī)器工具,RTL工具,圖解獲得工具等。動(dòng)態(tài)時(shí)序分析可以根據(jù)行為網(wǎng)表執(zhí)行來(lái)確認(rèn)正確的功能。
在本實(shí)施例中行為網(wǎng)表通過(guò)綜合工具1308使用的傳統(tǒng)單元庫(kù)1324被變換為結(jié)構(gòu)網(wǎng)表。行為構(gòu)造被變換為布爾構(gòu)造并且優(yōu)化。來(lái)自傳統(tǒng)單元庫(kù)1324的單元用于優(yōu)化的布爾構(gòu)造。在某些場(chǎng)合,典型的時(shí)序值被綜合工具用來(lái)識(shí)別在用靜態(tài)時(shí)序分析作變換的過(guò)程中可能出現(xiàn)的潛在問(wèn)題。動(dòng)態(tài)時(shí)序分析也可以在結(jié)構(gòu)網(wǎng)表的基礎(chǔ)上執(zhí)行來(lái)確認(rèn)功能在變換時(shí)沒(méi)有受到損害。
優(yōu)化工具1312使用句法操作來(lái)改善至少一個(gè)下列方面的設(shè)計(jì)功耗,漏電流,扇出,芯片面積,掩膜數(shù),工藝步驟數(shù),產(chǎn)量,電容,電感,電阻,故障等。在這個(gè)實(shí)施例中,變量可以饋送到優(yōu)化工具1312以便在諸多設(shè)計(jì)因素中間排定優(yōu)先次序。這些變量可以排列在一個(gè)1比10的標(biāo)尺上來(lái)指出沿著滑標(biāo)的相對(duì)值。
某些實(shí)施例可以通過(guò)應(yīng)用ULG庫(kù)中的替代單元來(lái)優(yōu)化各種因素。某些單元可以對(duì)諸如功耗,漏電流,扇出,芯片面積,掩膜數(shù),工藝步驟數(shù),產(chǎn)量,電容,電感,電阻,故障等之類的不同的設(shè)計(jì)因素進(jìn)行優(yōu)化。在優(yōu)化過(guò)程中,可以根據(jù)設(shè)計(jì)人員如何排定優(yōu)先變量的情況來(lái)使用該替代的單元。
在這個(gè)實(shí)施例中,優(yōu)化工具優(yōu)化來(lái)自綜合工具的結(jié)構(gòu)網(wǎng)表來(lái)產(chǎn)生一個(gè)使用相同的傳統(tǒng)單元庫(kù)1324的優(yōu)化了的結(jié)構(gòu)網(wǎng)表。經(jīng)綜合的結(jié)構(gòu)網(wǎng)表被讀出并變換到一個(gè)使用一個(gè)ULG ASIC單元庫(kù)的實(shí)施例的中間網(wǎng)表。這個(gè)ULG單元庫(kù)的實(shí)施例可以一定程度上得到簡(jiǎn)化,因?yàn)橛迷贏SIC中的變化在僅僅進(jìn)行優(yōu)化時(shí)可能是不必要的。如果有規(guī)定,根據(jù)優(yōu)化的優(yōu)先級(jí),按照中間網(wǎng)表進(jìn)行句法操作。某些實(shí)施例可以執(zhí)行可以或不可以被數(shù)字設(shè)計(jì)人員改動(dòng)的默認(rèn)優(yōu)化。一旦中間網(wǎng)表優(yōu)化完成,它被變換到一個(gè)使用傳統(tǒng)單元庫(kù)1324的優(yōu)化了的結(jié)構(gòu)網(wǎng)表。
靜態(tài)和動(dòng)態(tài)時(shí)序分析在優(yōu)化了的結(jié)構(gòu)網(wǎng)表上進(jìn)行。靜態(tài)時(shí)序分析考慮了優(yōu)化的結(jié)構(gòu)網(wǎng)表的時(shí)序關(guān)系和識(shí)別可能達(dá)不到電路的時(shí)序要求的電路部分??梢粤腥?yún)?shù)到綜合和/或優(yōu)化工具1308,1312來(lái)優(yōu)先執(zhí)行某些電路部分使得更容易滿足靜態(tài)時(shí)序要求。
動(dòng)態(tài)時(shí)序分析可以有幾種形式??梢栽O(shè)計(jì)輸入波形來(lái)促進(jìn)該設(shè)計(jì),之后數(shù)字設(shè)計(jì)人員核查正確的輸出波形。為了使這個(gè)過(guò)程自動(dòng)化,可以開(kāi)發(fā)出測(cè)試向量并把它施加到電路的輸入端,之后來(lái)測(cè)試相對(duì)照于實(shí)際輸出的輸出測(cè)試向量。把差異記錄下來(lái)作為誤差并通過(guò)微調(diào)行為碼和通過(guò)綜合/優(yōu)化工具1308,1312來(lái)加以修正使得誤差不被引入到過(guò)程中去。
一旦數(shù)字設(shè)計(jì)人員認(rèn)可了結(jié)構(gòu)網(wǎng)表,位置和路由工具1320進(jìn)行電路的實(shí)體布局。優(yōu)化的結(jié)構(gòu)網(wǎng)表中的每個(gè)單元的位置被選好,進(jìn)行跡線的布局以把那些單元根據(jù)網(wǎng)表互相連接起來(lái)。這些工具1320的類型是自動(dòng)化或半自動(dòng)化的。因?yàn)榛ハ噙B接單元的跡線長(zhǎng)度是已知的,在確定了位置和路由后可以獲得更為精確的時(shí)序值。可以進(jìn)行進(jìn)一步的靜態(tài)/動(dòng)態(tài)分析1316來(lái)確保在定位和路由的過(guò)程中沒(méi)有引入新的誤差。一旦達(dá)到合適的布局,可以生產(chǎn)掩膜和開(kāi)始制造。制造后可以進(jìn)行結(jié)果芯片的動(dòng)態(tài)測(cè)試以測(cè)試其功能。
參考圖14,這是一個(gè)使用句法操作和ULG ASIC單元庫(kù)的設(shè)計(jì)流程1400的另一個(gè)實(shí)施例的方框圖。在該實(shí)施例中,在綜合1308的過(guò)程中應(yīng)用ULG單元庫(kù)1404。由于以ULG單元庫(kù)為目標(biāo),經(jīng)綜合的結(jié)構(gòu)網(wǎng)表處于優(yōu)化工具1312所容易理解的格式,所以不必再變換到中間網(wǎng)表。優(yōu)化工具1312在從中間格式變換到傳統(tǒng)單元庫(kù)1324之前執(zhí)行句法操作。優(yōu)化的網(wǎng)表使用了為位置和路由工具1320和芯片制造廠或制造設(shè)施所理解的傳統(tǒng)單元庫(kù)1324。
參考圖15,這是一個(gè)使用用于芯片制造廠或制造設(shè)施使用的最后網(wǎng)表的ULG ASIC單元庫(kù)1404的設(shè)計(jì)流程1500的另一個(gè)實(shí)施例的方框圖。在這個(gè)實(shí)施例中,為芯片制造廠或制造設(shè)施的目標(biāo)過(guò)程而生產(chǎn)出ULG ASIC單元庫(kù)1404。綜合工具1308把行為網(wǎng)表變換到一個(gè)使用ULG ASIC單元庫(kù)1404的經(jīng)綜合的結(jié)構(gòu)網(wǎng)表。優(yōu)化工具能夠處理網(wǎng)表而無(wú)須單元庫(kù)之間的任何變換,使得結(jié)果的優(yōu)化結(jié)構(gòu)網(wǎng)表也可以使用ULG ASIC單元庫(kù)。
參考圖16,這是一個(gè)將綜合和句法操作組合到一個(gè)單個(gè)工具1604的設(shè)計(jì)流程1600的另一個(gè)實(shí)施例的方框圖。綜合和優(yōu)化工具1604從HDL輸入工具1304取得行為網(wǎng)表,把它變換到一個(gè)使用ULG ASIC單元庫(kù)1404的中間結(jié)構(gòu)網(wǎng)表。工具1604使用句法操作對(duì)中間結(jié)構(gòu)網(wǎng)表進(jìn)行優(yōu)化來(lái)產(chǎn)生一個(gè)使用ULG單元庫(kù)1404的優(yōu)化的結(jié)構(gòu)網(wǎng)表。在這個(gè)實(shí)施例中,HDL列入工具1304使用CHDL。
在某些實(shí)施例中,綜合和優(yōu)化工具1604可以沒(méi)有用于目標(biāo)ASIC工藝的ULG單元庫(kù)1404。在這種情況下,綜合和優(yōu)化工具1604將中間網(wǎng)表變換到一個(gè)使用傳統(tǒng)單元庫(kù)1324的經(jīng)優(yōu)化的網(wǎng)表。
參考圖17,這是一個(gè)貫穿設(shè)計(jì)流程1700使用交互直接驗(yàn)證工具1704的設(shè)計(jì)流程1700的另一個(gè)實(shí)施例的方框圖。驗(yàn)證允許貫穿設(shè)計(jì)流程全過(guò)程對(duì)數(shù)字設(shè)計(jì)進(jìn)行排錯(cuò)。在這個(gè)實(shí)施例中,交互直接驗(yàn)證工具1704從行為網(wǎng)表通過(guò)并直到一個(gè)已經(jīng)定位和路由的結(jié)構(gòu)網(wǎng)表跟蹤該設(shè)計(jì)的進(jìn)展。HDL輸入工具使用CHDL,設(shè)計(jì)流程使用目標(biāo)制造工藝的ULG單元庫(kù)1504。體現(xiàn)在演化的網(wǎng)表中的設(shè)計(jì)的各種形式都可以使用交互直接驗(yàn)證工具1704。
使用交互直接驗(yàn)證工具可以通過(guò)設(shè)計(jì)流程1700的各個(gè)步驟來(lái)追蹤電路的任何經(jīng)識(shí)別的的部分。舉例來(lái)說(shuō),CHDL行為代碼中的一個(gè)情況語(yǔ)句可以通過(guò)并直到各個(gè)結(jié)構(gòu)網(wǎng)表被跟隨以發(fā)現(xiàn)情況語(yǔ)句是如何實(shí)現(xiàn)的。反過(guò)來(lái),結(jié)構(gòu)網(wǎng)表的一部分可以被跟隨回到前面的結(jié)構(gòu)網(wǎng)表或甚至行為網(wǎng)表。
參考圖18,這是一個(gè)貫穿設(shè)計(jì)流程和后續(xù)制造使用交互直接驗(yàn)證工具1804的設(shè)計(jì)流程1800的另一個(gè)實(shí)施例的方框圖。這個(gè)實(shí)施例顯示了制造1808和設(shè)計(jì)流程中的最后測(cè)試1812。制造是在設(shè)計(jì)徹底地測(cè)試過(guò)后進(jìn)行的。在生產(chǎn)后,芯片再進(jìn)行測(cè)試。在最后測(cè)試1812的動(dòng)態(tài)分析中測(cè)試向量被施加到芯片輸入和掃描端口。在一個(gè)誤差可以在最后測(cè)試1812中被隔離到一個(gè)引線腳或結(jié)點(diǎn)的地方,交互直接驗(yàn)證工具1804可以把和那個(gè)故障有關(guān)的設(shè)計(jì)進(jìn)程顯示給工程師。
參考圖19,這是一個(gè)設(shè)計(jì)過(guò)程1900的實(shí)施例的流程圖。在設(shè)計(jì)過(guò)程1900的畫(huà)出部分中,顯示了順序的步驟和測(cè)試及再加工步驟。在步驟1904,數(shù)字設(shè)計(jì)用進(jìn)入工具進(jìn)入。諸如Verilog,VHDL或CHDL之類的HDL被用來(lái)進(jìn)入被設(shè)計(jì)電路的行為網(wǎng)表。貫穿設(shè)計(jì)的進(jìn)入階段,在步驟1916中執(zhí)行動(dòng)態(tài)時(shí)序分析來(lái)驗(yàn)證行為網(wǎng)表或許正在被正確地制備中。在這個(gè)階段,動(dòng)態(tài)時(shí)序分析可能在一個(gè)波形模擬工具中進(jìn)行。用模擬工具設(shè)計(jì)了各種方案來(lái)測(cè)試數(shù)字設(shè)計(jì)的各種狀態(tài)。在步驟1916的時(shí)序分析時(shí),問(wèn)題可能被發(fā)現(xiàn)在步驟1906。回到發(fā)現(xiàn)問(wèn)題的步驟1904可以對(duì)行為代碼進(jìn)行再加工。過(guò)程從步驟1916繼續(xù)進(jìn)行到?jīng)]有發(fā)現(xiàn)問(wèn)題的步驟1908。
在步驟1908進(jìn)行綜合和優(yōu)化,把行為網(wǎng)表變換到一個(gè)優(yōu)化的結(jié)構(gòu)網(wǎng)表。單元庫(kù)之間的變換也可以在這個(gè)步驟中執(zhí)行。某些實(shí)施例可以以分開(kāi)的步驟來(lái)執(zhí)行綜合和優(yōu)化。靜態(tài)和動(dòng)態(tài)時(shí)序分析在步驟1912和1916中進(jìn)行。如果發(fā)現(xiàn)問(wèn)題,可以在步驟1904和步驟1908中進(jìn)行再加工。步驟1908中的再加工可以包括更改饋送到綜合和優(yōu)化工具1604的參數(shù)或糾正庫(kù)的問(wèn)題。
一旦總體認(rèn)可了優(yōu)化的結(jié)構(gòu)網(wǎng)表,過(guò)程繼續(xù)進(jìn)行到步驟1920的位置和路由設(shè)計(jì)。在這個(gè)步驟中,跡線長(zhǎng)度和驅(qū)動(dòng)要求要更加準(zhǔn)確地分析來(lái)改進(jìn)可以在數(shù)字設(shè)計(jì)上執(zhí)行的驗(yàn)證。再一次在步驟1912和1916中進(jìn)行靜態(tài)和動(dòng)態(tài)時(shí)序分析來(lái)驗(yàn)證布局的設(shè)計(jì)仍然行為正確。在步驟1906中發(fā)現(xiàn)問(wèn)題的地方,可以在步驟1904,1908,或1920進(jìn)行再加工。交互直接驗(yàn)證工具1804可以協(xié)助數(shù)字設(shè)計(jì)人員發(fā)現(xiàn)錯(cuò)誤可能在何處引入網(wǎng)表的。布局后沒(méi)有發(fā)現(xiàn)問(wèn)題的場(chǎng)合,該設(shè)計(jì)在步驟1924進(jìn)行制造。
已經(jīng)描述了幾個(gè)實(shí)施例,業(yè)內(nèi)專業(yè)人士一定認(rèn)識(shí)到,可以使用各種不同的改型,替代結(jié)構(gòu)和等效物而不背離本發(fā)明的精神。因此,上述說(shuō)明不應(yīng)被視為對(duì)本發(fā)明范圍的限制,本發(fā)明的范圍應(yīng)由附后的權(quán)利要求書(shū)限定。
權(quán)利要求
1.一種設(shè)計(jì)數(shù)字集成電路芯片的方法,其特征在于,該方法包括識(shí)別要由所述數(shù)字集成電路芯片來(lái)實(shí)現(xiàn)的邏輯結(jié)構(gòu);根據(jù)為數(shù)眾多的邏輯運(yùn)算來(lái)表述該邏輯結(jié)構(gòu),其中為數(shù)眾多的邏輯運(yùn)算包括至少5%的選擇運(yùn)算,每個(gè)這樣的選擇運(yùn)算把為數(shù)眾多的輸入中的至少一個(gè)傳遞出去作為一個(gè)輸出;和確定對(duì)應(yīng)于實(shí)現(xiàn)這些邏輯運(yùn)算的的邏輯單元。
2.如權(quán)利要求1所述的方法,其特征在于,其中每個(gè)這樣的選擇運(yùn)算把為數(shù)眾多的輸入中的一個(gè)傳遞出去作為輸出。
3.如權(quán)利要求1所述的方法,其特征在于,其中一個(gè)選擇運(yùn)算的為數(shù)眾多的輸入中的至少一個(gè)輸入包括一個(gè)基本布爾值。
4.如權(quán)利要求1所述的方法,其特征在于,其中一個(gè)選擇運(yùn)算的為數(shù)眾多的輸入中的至少一個(gè)輸入包括基本布爾值的一個(gè)高階函數(shù)。
5.如權(quán)利要求1所述的方法,其特征在于,其中至少一個(gè)邏輯單元對(duì)應(yīng)于一個(gè)選擇運(yùn)算的一個(gè)實(shí)現(xiàn);和這樣至少一個(gè)的邏輯單元包括一個(gè)多路復(fù)用器。
6.如權(quán)利要求5所述的方法,其特征在于,其中多路復(fù)用器包括一個(gè)耗盡型晶體管。
7.如權(quán)利要求1所述的方法,其特征在于,其中沒(méi)有一個(gè)邏輯單元包括一個(gè)具有多于一個(gè)單個(gè)輸入的布爾邏輯元件。
8.如權(quán)利要求1所述的方法,其特征在于,還包括執(zhí)行邏輯運(yùn)算的句法操作。
9.如權(quán)利要求1所述的方法,其特征在于,還包括執(zhí)行選擇運(yùn)算的句法操作。
10.如權(quán)利要求1所述的方法,其特征在于,其中為數(shù)眾多的邏輯運(yùn)算包括至少10%的選擇運(yùn)算。
11.如權(quán)利要求1所述的方法,其特征在于,其中為數(shù)眾多的邏輯運(yùn)算包括至少20%的選擇運(yùn)算,至少30%的選擇運(yùn)算,至少40%的選擇運(yùn)算,至少50%的選擇運(yùn)算,至少60%的選擇運(yùn)算,至少70%的選擇運(yùn)算,至少80%的選擇運(yùn)算,至少90%的選擇運(yùn)算和至少95%的選擇運(yùn)算中的一個(gè)。
12.一種設(shè)計(jì)數(shù)字集成電路芯片的方法,其特征在于,該方法包括識(shí)別要由數(shù)字集成電路芯片來(lái)實(shí)現(xiàn)的邏輯結(jié)構(gòu);根據(jù)為數(shù)眾多的邏輯運(yùn)算來(lái)表述該邏輯結(jié)構(gòu),其中少于50%的該為數(shù)眾多的邏輯運(yùn)算包括具有多于單個(gè)輸入的一個(gè)布爾邏輯運(yùn)算;和確定對(duì)應(yīng)于實(shí)現(xiàn)該邏輯運(yùn)算的邏輯單元。
13.如權(quán)利要求12所述的方法,其特征在于,其中少于25%的為數(shù)眾多的邏輯運(yùn)算包括一個(gè)具有多于一個(gè)的單個(gè)輸入的布爾邏輯運(yùn)算。
14.如權(quán)利要求12所述的方法,其特征在于,其中少于X%的為數(shù)眾多的邏輯運(yùn)算包括一個(gè)具有多于一個(gè)的單個(gè)輸入的布爾邏輯運(yùn)算,其中X從由20,15,10和5組成的數(shù)組中選擇。
15.如權(quán)利要求12所述的方法,其特征在于,其中為數(shù)眾多的邏輯運(yùn)算中沒(méi)有一個(gè)包括一個(gè)具有多于一個(gè)的單個(gè)輸入的布爾邏輯運(yùn)算。
16.如權(quán)利要求12所述的方法,其特征在于,其中至少一個(gè)邏輯單元包括一個(gè)耗盡型晶體管。
17.如權(quán)利要求12所述的方法,其特征在于,其中至少一個(gè)邏輯單元包括一個(gè)多路復(fù)用器。
18.一種計(jì)算機(jī)可讀存儲(chǔ)媒體,其內(nèi)具體化有用來(lái)指導(dǎo)計(jì)算機(jī)系統(tǒng)操作的計(jì)算機(jī)可讀程序,該計(jì)算機(jī)系統(tǒng)包括處理器和至少一個(gè)輸入裝置,其特征在于,該計(jì)算機(jī)可讀程序包括用于操作該計(jì)算機(jī)系統(tǒng)根據(jù)下列步驟設(shè)計(jì)數(shù)字電路的指令從該至少一個(gè)輸入裝置接收要由該數(shù)字電路實(shí)現(xiàn)的邏輯結(jié)構(gòu)的表達(dá)式;根據(jù)為數(shù)眾多的用該處理器進(jìn)行的邏輯運(yùn)算表述該邏輯結(jié)構(gòu),其中,該為數(shù)眾多的邏輯運(yùn)算包括至少5%的選擇運(yùn)算,每個(gè)這樣的選擇運(yùn)算將該為數(shù)眾多的輸入中的至少一個(gè)傳遞出去作為輸出;和確定對(duì)應(yīng)于實(shí)現(xiàn)用該處理器進(jìn)行的邏輯運(yùn)算的邏輯單元。
19.如權(quán)利要求18所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其特征在于,每個(gè)這樣的選擇運(yùn)算傳出該為數(shù)眾多的輸入中的一個(gè)作為輸出。
20.如權(quán)利要求18所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其特征在于,其中,計(jì)算機(jī)可讀程序還包括用于執(zhí)行該邏輯運(yùn)算的句法操作的指令。
21.如權(quán)利要求18所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其特征在于,其中,計(jì)算機(jī)可讀程序還包括用于執(zhí)行該選擇運(yùn)算的句法操作的指令。
22.如權(quán)利要求18所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其特征在于,其中,計(jì)算機(jī)可讀程序還包括用于從該至少一個(gè)輸入裝置接收命令的指令;和根據(jù)該命令執(zhí)行該選擇運(yùn)算的句法操作。
23.如權(quán)利要求18所述的方法,其特征在于,其中,為數(shù)眾多的邏輯運(yùn)算包括至少10%的選擇運(yùn)算。
24.如權(quán)利要求18的方法,其特征在于,其中,為數(shù)眾多的邏輯運(yùn)算包括至少20%的選擇運(yùn)算,至少30%的選擇運(yùn)算,至少40%的選擇運(yùn)算,至少50%的選擇運(yùn)算,至少60%的選擇運(yùn)算,至少70%的選擇運(yùn)算,至少80%的選擇運(yùn)算,至少90%的選擇運(yùn)算和至少95%的選擇運(yùn)算中的一個(gè)。
25.一種優(yōu)化專用集成電路的方法,其特征在于,該方法包括將該專用集成電路的數(shù)字設(shè)計(jì)的第一表述轉(zhuǎn)換到該數(shù)字設(shè)計(jì)的第二表述,該第二表述包括容許表述基本布爾值的高階函數(shù)的為數(shù)眾多的句法表達(dá)式;和操作該為數(shù)眾多的句法表達(dá)式來(lái)形成該數(shù)字設(shè)計(jì)的第三表述。
26.如權(quán)利要求25所述的方法,其特征在于,還包括識(shí)別在第二表述中的數(shù)據(jù)和控制。
27.如權(quán)利要求26所述的方法,其特征在于,其中,為數(shù)眾多的句法表達(dá)式的操作包括對(duì)數(shù)據(jù)和控制的再賦值。
28.如權(quán)利要求27所述的方法,其特征在于,其中,為數(shù)眾多的句法表達(dá)式的操作包括對(duì)至少一個(gè)句法表達(dá)式的作為這樣的句法表達(dá)式的一個(gè)觸發(fā)器輸入的一個(gè)控制變量進(jìn)行賦值。
29.如權(quán)利要求25所述的方法,其特征在于,還包括識(shí)別在第一表述中的數(shù)據(jù)和控制。
30.如權(quán)利要求25所述的方法,其特征在于,還包括數(shù)字設(shè)計(jì)的第三表述轉(zhuǎn)換到該數(shù)字設(shè)計(jì)的一個(gè)第四表述,其中,該第一表述和第四表述是在相同的句法范圍內(nèi)表達(dá)的。
31.如權(quán)利要求30所述的方法,其特征在于,其中,第一表述和第四表述包括網(wǎng)表。
32.如權(quán)利要求31所述的方法,其特征在于,其中,第一表述和第四表述識(shí)別用于實(shí)現(xiàn)該數(shù)字設(shè)計(jì)的布爾邏輯元件。
33.如權(quán)利要求25所述的方法,其特征在于,其中,第二表述和第三表述識(shí)別包括用于實(shí)現(xiàn)該數(shù)字設(shè)計(jì)的多路復(fù)用器的單元元件組。
34.如權(quán)利要求33所述的方法,其特征在于,其中,至少一個(gè)多路復(fù)用器包括一個(gè)耗盡型晶體管。
35.如權(quán)利要求25所述的方法,其特征在于,其中,該為數(shù)眾多的句法表達(dá)式的操作包括在句法表達(dá)式范圍內(nèi)除去邏輯反相。
36.如權(quán)利要求25所述的方法,其特征在于,其中,該為數(shù)眾多的句法表達(dá)式的操作包括在句法表達(dá)式范圍內(nèi)減少結(jié)點(diǎn)數(shù)。
37.如權(quán)利要求36所述的方法,其特征在于,其中,至少一個(gè)結(jié)點(diǎn)包括一個(gè)扇出結(jié)點(diǎn)。
38.一種優(yōu)化數(shù)字設(shè)計(jì)的方法,其特征在于,該方法包括將數(shù)字設(shè)計(jì)的第一表述轉(zhuǎn)換到該數(shù)字設(shè)計(jì)的第二表述,該第二表述包括為數(shù)眾多的句法表達(dá)式,其中,至少20%的句法表達(dá)式識(shí)別基本布爾值的高階函數(shù);在該第一和第二表述的至少一個(gè)中識(shí)別數(shù)據(jù)和控制;和操作該為數(shù)眾多的句法表達(dá)式來(lái)形成該數(shù)字設(shè)計(jì)的第三表達(dá)式。
39.如權(quán)利要求38所述的方法,其特征在于,其中,大多數(shù)句法表達(dá)式識(shí)別基本布爾值的高階函數(shù)。
40.如權(quán)利要求38所述的方法,其特征在于,還包括將數(shù)字設(shè)計(jì)的第三表述轉(zhuǎn)換到該數(shù)字設(shè)計(jì)的第四表述,其中第一和第四表述包括網(wǎng)表。
41.如權(quán)利要求38所述的方法,其特征在于,其中,第二和第三表述識(shí)別包括用于實(shí)現(xiàn)該數(shù)字設(shè)計(jì)的多路復(fù)用器的單元元件組。
42.如權(quán)利要求38所述的方法,其特征在于,其中,為數(shù)眾多的句法表達(dá)式的操作包括在句法表達(dá)式范圍內(nèi)除去邏輯反相。
43.如權(quán)利要求38所述的方法,其特征在于,其中,為數(shù)眾多的句法表達(dá)式的操作包括在句法表達(dá)式范圍內(nèi)減少結(jié)點(diǎn)數(shù)。
44. 一種計(jì)算機(jī)可讀存儲(chǔ)媒體,其內(nèi)具體化有體現(xiàn)的用來(lái)指導(dǎo)計(jì)算機(jī)系統(tǒng)操作的計(jì)算機(jī)可讀程序,該計(jì)算機(jī)系統(tǒng)包括處理器和至少一個(gè)輸入裝置,其特征在于,該計(jì)算機(jī)可讀程序包括用于操作該計(jì)算機(jī)系統(tǒng)根據(jù)下列步驟優(yōu)化數(shù)字設(shè)計(jì)的指令從該至少一個(gè)輸入裝置接收該數(shù)字設(shè)計(jì)的第一表述;將數(shù)字設(shè)計(jì)的所述第一表述轉(zhuǎn)換到該數(shù)字設(shè)計(jì)的第二表述,該第二表述包括為數(shù)眾多的容許基本布爾值的高階函數(shù)表述的句法表達(dá)式;和操作該為數(shù)眾多的句法表達(dá)式來(lái)形成該數(shù)字設(shè)計(jì)的第三表述。
45.如權(quán)利要求44所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其特征在于,其中,計(jì)算機(jī)可讀程序還包括用于將數(shù)字設(shè)計(jì)的第三表述轉(zhuǎn)換到該數(shù)字設(shè)計(jì)的一個(gè)第四表述,其中,第一表述和第四表述包括網(wǎng)表。
46.如權(quán)利要求44所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其特征在于,其中,第一表述和第四表述識(shí)別包括用于實(shí)現(xiàn)該數(shù)字設(shè)計(jì)的多路復(fù)用器的單元元件組。
47.如權(quán)利要求44所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其特征在于,其中,第二表述和第三表述識(shí)別包括用于實(shí)現(xiàn)該數(shù)字設(shè)計(jì)的多路復(fù)用器的單元元件組。
48.如權(quán)利要求44所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其特征在于,其中,為數(shù)眾多的句法表達(dá)式的操作包括在句法表達(dá)式范圍內(nèi)除去邏輯反相。
49.如權(quán)利要求44所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其特征在于,其中,為數(shù)眾多的句法表達(dá)式的操作包括在句法表達(dá)式范圍內(nèi)減少結(jié)點(diǎn)數(shù)。
50.如權(quán)利要求44所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其特征在于,其中,計(jì)算機(jī)可讀程序還包括識(shí)別在第二表述中的數(shù)據(jù)和控制的指令。
51.如權(quán)利要求44所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其特征在于,其中,為數(shù)眾多的句法表達(dá)式的操作包括對(duì)數(shù)據(jù)和控制的再賦值。
52.如權(quán)利要求44所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其特征在于,其中計(jì)算機(jī)可讀程序還包括用于從至少一個(gè)輸入裝置接收命令的指令;和根據(jù)該命令執(zhí)行該為數(shù)眾多的句法表達(dá)式的操作來(lái)形成該數(shù)字設(shè)計(jì)的第三表述。
53.一種用來(lái)建立定制集成電路的ASIC單元庫(kù),該ASIC單元庫(kù)包括為數(shù)眾多的第一單元;為數(shù)眾多的第二單元;其中;該為數(shù)眾多的第二單元中的每一個(gè)由兩個(gè)或多個(gè)核心單元組成,和該ASIC單元庫(kù)至少5%由第二單元組成。
54.如權(quán)利要求53所述的用來(lái)建立定制集成電路的ASIC單元庫(kù),其特征在于,其中,ASIC單元庫(kù)的10%或更多,20%或更多,30%或更多,40%或更多,50%或更多,60%或更多,70%或更多,80%或更多,90%或更多,和95%或更多之一由第二單元組成。
55.如權(quán)利要求53所述的用來(lái)建立定制集成電路的ASIC單元庫(kù),其特征在于,其中,為數(shù)眾多的第一單元不包括核心單元。
56.如權(quán)利要求53所述的用來(lái)建立定制集成電路的ASIC單元庫(kù),其特征在于,其中,為數(shù)眾多第一單元中的每一個(gè)不是完全由核心單元組成的。
57.如權(quán)利要求53所述的用來(lái)建立定制集成電路的ASIC單元庫(kù),其特征在于,其中,核心單元的總數(shù)少于10,20,30,40,50,75和100之一。
58.如權(quán)利要求53所述的用來(lái)建立定制集成電路的ASIC單元庫(kù),其特征在于,其中,為數(shù)眾多的第二單元中的每一個(gè)具有選擇電路,存儲(chǔ)器電路和單輸入布爾電路三電路中的至少兩個(gè)電路。
59.如權(quán)利要求53所述的用來(lái)建立定制集成電路的ASIC單元庫(kù),其特征在于,其中,為數(shù)眾多的第二單元中的每一個(gè)都具有選擇電路,存儲(chǔ)器電路和緩沖器電路三電路中的至少兩個(gè)電路。
60.如權(quán)利要求59所述的用來(lái)建立定制集成電路的ASIC單元庫(kù),其特征在于,其中,每個(gè)選擇電路從由一個(gè)2到1多路復(fù)用器,一個(gè)4到1多路復(fù)用器,和一個(gè)8到1多路復(fù)用器組成的的組中選擇。
61.如權(quán)利要求59所述的用來(lái)建立定制集成電路的ASIC單元庫(kù),其特征在于,其中,每個(gè)存儲(chǔ)器電路從由一個(gè)D觸發(fā)器,一個(gè)可置位的D觸發(fā)器,一個(gè)可復(fù)位的D觸發(fā)器,一個(gè)J-K觸發(fā)器,和一個(gè)有掃描能力的觸發(fā)器組成的組中選擇。
62.如權(quán)利要求59所述的用來(lái)建立定制集成電路的ASIC單元庫(kù),其特征在于,其中,每個(gè)存儲(chǔ)器電路從由一個(gè)異步觸發(fā)的觸發(fā)器,一個(gè)上升沿同步觸發(fā)的觸發(fā)器,一個(gè)下降沿同步觸發(fā)的觸發(fā)器,一個(gè)同步觸發(fā)的觸發(fā)器,和一個(gè)邊緣觸發(fā)的觸發(fā)器組成的組中選擇。
63.如權(quán)利要求59所述的用來(lái)建立定制集成電路的ASIC單元庫(kù),其特征在于,其中,緩沖器電路從由一個(gè)非反相緩沖器,一個(gè)反相緩沖器,一個(gè)高驅(qū)動(dòng)緩沖器,和一個(gè)三態(tài)緩沖器組成的組中選擇。
64.如權(quán)利要求59所述的用來(lái)建立定制集成電路的ASIC單元庫(kù),其特征在于,其中,緩沖器電路從由一個(gè)非反相緩沖器,一個(gè)反相緩沖器,一個(gè)高驅(qū)動(dòng)緩沖器,一個(gè)三態(tài)緩沖器,和一個(gè)帶一個(gè)允許輸入的反相緩沖器組成的組中選擇。
65.如權(quán)利要求59所述的用來(lái)建立定制集成電路的ASIC單元庫(kù),其特征在于,其中,選擇電路傳遞出為數(shù)眾多的輸入中的一個(gè)到它的輸出。
66.如權(quán)利要求53所述的用來(lái)建立定制集成電路的ASIC單元庫(kù),其特征在于,其中,基本上所有核心單元具有至少某個(gè)手工布局。
67.如權(quán)利要求53所述的用來(lái)建立定制集成電路的ASIC單元庫(kù),其特征在于,其中,核心單元基本上具有一致的高度。
68.如權(quán)利要求53所述的用來(lái)建立定制集成電路的ASIC單元庫(kù),其特征在于,其中,為數(shù)眾多的第二單元中的至少一個(gè)由兩個(gè)或多個(gè)用鄰接連接的核心單元組成。
69.如權(quán)利要求53所述的用來(lái)建立定制集成電路的ASIC單元庫(kù),其特征在于,其中,核心單元由鄰接連接起來(lái)形成為數(shù)眾多的第二單元。
70.如權(quán)利要求53所述的用來(lái)建立定制集成電路的ASIC單元庫(kù),其特征在于,其中,鄰接沿著一個(gè)穿過(guò)集成電路的緯線使第一核心單元的第一I/O和第二核心單元的第二I/O排齊。
71.如權(quán)利要求53所述的用來(lái)建立定制集成電路的ASIC單元庫(kù),其特征在于,其中核心單元包括為數(shù)眾多的不同的選擇電路類型,存儲(chǔ)器電路類型和緩沖器電路類型,選擇電路類型包括一個(gè)輸出,存儲(chǔ)器電路類型包括一個(gè)存儲(chǔ)器輸入,緩沖器電路類型包括一個(gè)緩沖器輸入,和輸出穿過(guò)一排在集成電路上的核心單元和存儲(chǔ)器輸入和緩沖器輸入中的至少一個(gè)輸入在緯向排齊。
72.如權(quán)利要求53所述的用來(lái)建立定制集成電路的ASIC單元庫(kù),其特征在于,其中核心單元包括為數(shù)眾多的不同的選擇電路類型,存儲(chǔ)器電路類型和緩沖器電路類型,存儲(chǔ)器電路類型包括一個(gè)存儲(chǔ)器輸出,緩沖器電路類型包括一個(gè)緩沖器輸入,和存儲(chǔ)器輸出穿過(guò)一排在集成電路上的核心單元和緩沖器輸入在緯向排齊。
73.如權(quán)利要求53所述的用來(lái)建立定制集成電路的ASIC單元庫(kù),其特征在于,其中核心單元包括為數(shù)眾多的不同的存儲(chǔ)器電路類型,和帶一個(gè)時(shí)鐘輸入的存儲(chǔ)器電路類型穿過(guò)一排在集成電路上的核心單元在緯向排齊時(shí)鐘輸入。
74.一種用在具有數(shù)字邏輯的電路中的集成電路單元庫(kù),該集成電路包括為數(shù)眾多的集成電路單元庫(kù)的第一百分比的第一單元;為數(shù)眾多的集成電路單元庫(kù)的第二百分比的第二單元;其中為數(shù)眾多的第二單元中的每一個(gè)由一個(gè)選擇電路組成,第二百分比大于集成電路單元庫(kù)的5%。
75.如權(quán)利要求74所述的用在具有數(shù)字邏輯的電路中的集成電路單元庫(kù),其特征在于,其中,第二百分比在由10%或更多,20%或更多,30%或更多,40%或更多,50%或更多,60%或更多,70%或更多,80%或更多,90%或更多,和95%或更多組成的組中選擇。
76.如權(quán)利要求74所述的用在具有數(shù)字邏輯的電路中的集成電路單元庫(kù),其特征在于,其中,核心單元具有基本上一致的高度。
77.如權(quán)利要求74所述的用在具有數(shù)字邏輯的電路中的集成電路單元庫(kù),其特征在于,其中,為數(shù)眾多的第二單元中的至少一個(gè)單元是由兩個(gè)或多個(gè)用鄰接連接起來(lái)的核心單元。
78.如權(quán)利要求74所述的用在具有數(shù)字邏輯的電路中的集成電路單元庫(kù),其特征在于,其中,核心單元被鄰接連接起來(lái)形成為數(shù)眾多的第二單元。
79.如權(quán)利要求74所述的用在具有數(shù)字邏輯的電路中的集成電路單元庫(kù),其特征在于,其中,鄰接沿著穿過(guò)一個(gè)集成電路的一個(gè)緯線把一個(gè)第一核心單元的第一I/O和一個(gè)第二核心單元的第二I/O排齊。
80.一種用在具有數(shù)字邏輯的電路中的集成電路單元庫(kù),該集成電路包括為數(shù)眾多的集成電路單元庫(kù)的第一百分比的第一單元;為數(shù)眾多的集成電路單元庫(kù)的第二百分比的第二單元,為數(shù)眾多的用來(lái)形成所述為數(shù)眾多的第二單元的核心單元,其中所述為數(shù)眾多第二單元中的至少一些單元包括至少兩個(gè)通過(guò)鄰接耦合到一起的核心單元。
81.如權(quán)利要求80所述的用在具有數(shù)字邏輯的電路中的集成電路單元庫(kù),其特征在于,其中,核心單元具有基本上一致的高度。
82.如權(quán)利要求80所述的用在具有數(shù)字邏輯的電路中的集成電路單元庫(kù),其特征在于,其中,鄰接沿著穿過(guò)一個(gè)集成電路的一個(gè)緯線把一個(gè)第一核心單元的第一I/O和一個(gè)第二核心單元的第二I/O排齊。
83.一種用于操作數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,該數(shù)字設(shè)計(jì)方法包括加載第一網(wǎng)表,其中該第一網(wǎng)表由第一為數(shù)眾多的核心單元組成的第一為數(shù)眾多的基本單元組成;操作該第一網(wǎng)表來(lái)建立第二網(wǎng)表,其中第二網(wǎng)表是由第二為數(shù)眾多的核心單元組成的第二為數(shù)眾多的基本單元組成,其中所述第一和第二為數(shù)眾多的核心單元的百分比是選擇電路,和所述第二為數(shù)眾多基本單元所占芯片面積小于所述第一為數(shù)眾多基本單元所占芯片面積;和儲(chǔ)存該第二網(wǎng)表。
84.如權(quán)利要求83所述的操作數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,進(jìn)一步包括下列步驟至少通過(guò)用一些布爾單元替代第一為數(shù)眾多的基本單元的來(lái)將使用一種語(yǔ)言格式的網(wǎng)表變換到第一網(wǎng)表;至少通過(guò)替代一些用于布爾單元的第二為數(shù)眾多的基本單元來(lái)將第二網(wǎng)表變換到一個(gè)第三網(wǎng)表,其中第三網(wǎng)表也使用該語(yǔ)言格式。
85.如權(quán)利要求83所述的操作數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,其特征在于,其中,另一個(gè)第一和第二為數(shù)眾多的核心單元的百分比是存儲(chǔ)器電路。
86.如權(quán)利要求83所述的操作數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,其特征在于,其中,另一個(gè)第一和第二為數(shù)眾多的核心單元的百分比是緩沖器電路。
87.如權(quán)利要求83所述的操作數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,其特征在于,其中,每一個(gè)選擇電路包括一個(gè)多路復(fù)用器。
88.如權(quán)利要求83所述的操作數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,其特征在于,其中,第一和第二為數(shù)眾多的核心單元中的不同核心單元的總數(shù)少于10,20,30,40,50,75,和100中的一個(gè)。
89.如權(quán)利要求83所述的操作數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,進(jìn)一步包括將一個(gè)布爾運(yùn)算變換到一個(gè)選擇運(yùn)算的步驟,其中選擇運(yùn)算是一個(gè)函數(shù),其中該函數(shù)所有為數(shù)眾多的輸入可以交替地傳遞到該函數(shù)的一個(gè)輸出。
90.如權(quán)利要求83所述的操作數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,其特征在于,其中,百分比從由2%或更多,5%或更多,10%或更多,20%或更多,30%或更多,和40%或更多組成的組中選擇。
91.如權(quán)利要求83所述的操作數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,進(jìn)一步包括一個(gè)接收一個(gè)或多個(gè)優(yōu)化參數(shù)的步驟,該優(yōu)化參數(shù)影響根據(jù)該優(yōu)化參數(shù)的操作步驟。
92.如權(quán)利要求91所述的操作數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,其特征在于,其中,優(yōu)化參數(shù)影響到用于操作步驟中的可能的核心單元的子集的選擇。
93.如權(quán)利要求83所述的操作數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,其特征在于,其中第二網(wǎng)表由為數(shù)眾多的句法表達(dá)式組成,為數(shù)眾多的句法表達(dá)式的一個(gè)百分比識(shí)別基本布爾值的一個(gè)高階函數(shù),該百分比從由10%或更多,20%或更多,30%或更多,40%或更多,50%或更多,和60%或更多組成的組中選擇。
94.如權(quán)利要求83所述的操作數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,其特征在于,其中,操作步驟優(yōu)化了功耗,漏電流,扇出,芯片面積,掩膜數(shù),工藝步驟數(shù),產(chǎn)量,電容,電感,電阻,和故障諸因素中的至少一個(gè)因素。
95.一種調(diào)整數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,該數(shù)字設(shè)計(jì)方法包括加載第一網(wǎng)表,其中第一網(wǎng)表由第一為數(shù)眾多的核心單元組成的第一為數(shù)眾多的基本單元組成;操作該第一網(wǎng)表來(lái)建立第二網(wǎng)表,其中第二網(wǎng)表由第二為數(shù)眾多的核心單元組成的第二為數(shù)眾多的基本單元組成,其中每個(gè)第一和第二為數(shù)眾多的核心單元從由選擇電路,存儲(chǔ)器電路和緩沖器電路組成的組中選擇,和第二為數(shù)眾多的核心單元中的核心單元少于第一為數(shù)眾多的核心單元中的核心單元;和儲(chǔ)存該第二網(wǎng)表。
96.如權(quán)利要求95所述的調(diào)整數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,進(jìn)一步包括下列步驟至少通過(guò)用一些布爾單元替代第一為數(shù)眾多的基本單元將使用一種語(yǔ)言格式的網(wǎng)表變換到第一網(wǎng)表;至少通過(guò)替代一些用于布爾單元的第二為數(shù)眾多的基本單元將第二網(wǎng)表變換到一個(gè)第三網(wǎng)表,其中第三網(wǎng)表也使用該語(yǔ)言格式。
97.如權(quán)利要求95所述的調(diào)整數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,其特征在于,其中,每個(gè)選擇電路包括一個(gè)多路復(fù)用器。
98.如權(quán)利要求95所述的調(diào)整數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,進(jìn)一步包括一個(gè)接收一個(gè)或多個(gè)優(yōu)化參數(shù)的步驟,該優(yōu)化參數(shù)影響根據(jù)該優(yōu)化參數(shù)的操作步驟。
99.如權(quán)利要求98所述的調(diào)整數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,其特征在于,其中,優(yōu)化參數(shù)影響到用于操作步驟中的可能的核心單元的子集的選擇。
100.如權(quán)利要求95所述的調(diào)整數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,其特征在于,其中,操作步驟優(yōu)化了功耗,漏電流,扇出,芯片面積,掩膜數(shù),工藝步驟數(shù),產(chǎn)量,電容,電感,電阻,和故障諸因素中的至少一個(gè)因素。
101.一種操作一個(gè)數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,該數(shù)字設(shè)計(jì)方法包括加載數(shù)字電路網(wǎng)表;至少通過(guò)用第一為數(shù)眾多的基本單元替代一些布爾單元將具有一種語(yǔ)言格式的數(shù)字電路網(wǎng)表變換到第一網(wǎng)表,其中第一網(wǎng)表由第一為數(shù)眾多的核心單元組成的第一為數(shù)眾多的基本單元組成;操作該第一網(wǎng)表來(lái)建立第二網(wǎng)表,其中第二網(wǎng)表由第二為數(shù)眾多的核心單元組成的第二為數(shù)眾多的基本單元組成,其中所述第一和第二為數(shù)眾多的核心單元的百分比是選擇電路,和所述第二為數(shù)眾多的基本單元所占芯片面積小于所述第一為數(shù)眾多的基本單元所占的芯片面積;至少通過(guò)用布爾單元替代一些第二為數(shù)眾多的基本單元將第二網(wǎng)表變換到第三網(wǎng)表,其中該第三網(wǎng)表也使用該語(yǔ)言格式;和儲(chǔ)存該第三網(wǎng)表。
102.如權(quán)利要求101所述的操作數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,進(jìn)一步包括將行為構(gòu)造綜合到布爾單元中去的一個(gè)步驟。
103.如權(quán)利要求101所述的操作數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,其特征在于,其中,每個(gè)選擇電路包括一個(gè)多路復(fù)用器。
104.如權(quán)利要求101所述的操作數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,進(jìn)一步包括一個(gè)接收一個(gè)或多個(gè)優(yōu)化參數(shù)的步驟,該優(yōu)化參數(shù)影響根據(jù)該優(yōu)化參數(shù)的操作步驟。
105.如權(quán)利要求104所述的操作數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,其特征在于,其中,優(yōu)化參數(shù)影響到用于操作步驟中的可能的核心單元的子集的選擇。
106.如權(quán)利要求101所述的操作數(shù)字電路網(wǎng)表的數(shù)字設(shè)計(jì)方法,其特征在于,其中,操作步驟優(yōu)化了功耗,漏電流,扇出,芯片面積,掩膜數(shù),工藝步驟數(shù),產(chǎn)量,電容,電感,電阻,和故障諸因素中的至少一個(gè)因素。
107.一種在結(jié)構(gòu)網(wǎng)表,行為網(wǎng)表,硬件描述語(yǔ)言網(wǎng)表,全定制ASIC,半定制ASIC,IP核心,集成電路,混合芯片,一個(gè)或多個(gè)掩膜,F(xiàn)PGA,和電路插件板組的至少之一中實(shí)施的數(shù)字電路設(shè)計(jì),該數(shù)字電路設(shè)計(jì)包括包括數(shù)字電路設(shè)計(jì)的第一百分比的為數(shù)眾多的第一子電路;和包括數(shù)字電路設(shè)計(jì)的第二百分比的為數(shù)眾多的第二子電路,其中每個(gè)第二子電路基本上由一個(gè)或多個(gè)核心電路組成,該核心電路由為數(shù)眾多的選擇電路組成,而第二百分比至少是5%。
108.如權(quán)利要求107所述的具體體現(xiàn)在一個(gè)結(jié)構(gòu)網(wǎng)表,一個(gè)行為網(wǎng)表,一個(gè)硬件描述語(yǔ)言網(wǎng)表,一個(gè)全定制ASIC,一個(gè)半定制ASIC,一個(gè)IP核心,一個(gè)集成電路,一個(gè)混合芯片,一個(gè)或多個(gè)掩膜,一個(gè)FPGA,和一個(gè)電路插件板組的諸因素中的至少一個(gè)因素中的數(shù)字電路設(shè)計(jì),其特征在于,其中每個(gè)為數(shù)眾多的第二子電路是一個(gè)基本單元。
109.如權(quán)利要求107所述的具體體現(xiàn)在一個(gè)結(jié)構(gòu)網(wǎng)表,一個(gè)行為網(wǎng)表,一個(gè)硬件描述語(yǔ)言網(wǎng)表,一個(gè)全定制ASIC,一個(gè)半定制ASIC,一個(gè)IP核心,一個(gè)集成電路,一個(gè)混合芯片,一個(gè)或多個(gè)掩膜,一個(gè)FPGA,和一個(gè)電路插件板組的諸因素中的至少一個(gè)因素中的數(shù)字電路設(shè)計(jì),其特征在于,其中第二百分比從一個(gè)由10%或更多,20%或更多,30%或更多,40%或更多,50%或更多,60%或更多,70%或更多,80%或更多,90%或更多,和95%或更多組成的組中選擇。
110.如權(quán)利要求107所述的具體體現(xiàn)在一個(gè)結(jié)構(gòu)網(wǎng)表,一個(gè)行為網(wǎng)表,一個(gè)硬件描述語(yǔ)言網(wǎng)表,一個(gè)全定制ASIC,一個(gè)半定制ASIC,一個(gè)IP核心,一個(gè)集成電路,一個(gè)混合芯片,一個(gè)或多個(gè)掩膜,一個(gè)FPGA,和一個(gè)電路插件板組的諸因素中的至少一個(gè)因素中的數(shù)字電路設(shè)計(jì),其特征在于,其中每個(gè)核心電路從一個(gè)由一個(gè)選擇電路,一個(gè)存儲(chǔ)器電路和一個(gè)單輸入布爾電路組成的組中選擇。
111.如權(quán)利要求107所述的具體體現(xiàn)在一個(gè)結(jié)構(gòu)網(wǎng)表,一個(gè)行為網(wǎng)表,一個(gè)硬件描述語(yǔ)言網(wǎng)表,一個(gè)全定制ASIC,一個(gè)半定制ASIC,一個(gè)IP核心,一個(gè)集成電路,一個(gè)混合芯片,一個(gè)或多個(gè)掩膜,一個(gè)FPGA,和一個(gè)電路插件板組的諸因素中的至少一個(gè)因素中的數(shù)字電路設(shè)計(jì),其特征在于,其中每個(gè)核心電路從由一個(gè)選擇電路,一個(gè)存儲(chǔ)器電路和一個(gè)緩沖器電路組成的組中選擇。
112.如權(quán)利要求107所述的具體體現(xiàn)在一個(gè)結(jié)構(gòu)網(wǎng)表,一個(gè)行為網(wǎng)表,一個(gè)硬件描述語(yǔ)言網(wǎng)表,一個(gè)全定制ASIC,一個(gè)半定制ASIC,一個(gè)IP核心,一個(gè)集成電路,一個(gè)混合芯片,一個(gè)或多個(gè)掩膜,一個(gè)FPGA,和一個(gè)電路插件板組的諸因素中的至少一個(gè)因素中的數(shù)字電路設(shè)計(jì),其特征在于,其中每個(gè)選擇電路包括一個(gè)多路復(fù)用器。
113.如權(quán)利要求107所述的具體體現(xiàn)在一個(gè)結(jié)構(gòu)網(wǎng)表,一個(gè)行為網(wǎng)表,一個(gè)硬件描述語(yǔ)言網(wǎng)表,一個(gè)全定制ASIC,一個(gè)半定制ASIC,一個(gè)IP核心,一個(gè)集成電路,一個(gè)混合芯片,一個(gè)或多個(gè)掩膜,一個(gè)FPGA,和一個(gè)電路插件板組的諸因素中的至少一個(gè)因素中的數(shù)字電路設(shè)計(jì),其特征在于,其中數(shù)字電路設(shè)計(jì)中的核心電路總數(shù)少于10,20,30,40,50,75,和100中的一個(gè)數(shù)。
114.如權(quán)利要求107所述的具體體現(xiàn)在一個(gè)結(jié)構(gòu)網(wǎng)表,一個(gè)行為網(wǎng)表,一個(gè)硬件描述語(yǔ)言網(wǎng)表,一個(gè)全定制ASIC,一個(gè)半定制ASIC,一個(gè)IP核心,一個(gè)集成電路,一個(gè)混合芯片,一個(gè)或多個(gè)掩膜,一個(gè)FPGA,和一個(gè)電路插件板組的諸因素中的至少一個(gè)因素中的數(shù)字電路設(shè)計(jì),其特征在于,其中為數(shù)眾多的第一子電路不包括核心電路。
115.一種以實(shí)體和/或圖表形式體現(xiàn)的數(shù)字電路設(shè)計(jì),該數(shù)字電路設(shè)計(jì)包括包括數(shù)字電路設(shè)計(jì)的第一百分比的為數(shù)眾多的第一子電路;和包括數(shù)字電路設(shè)計(jì)的第二百分比的為數(shù)眾多的第二子電路,其中每一個(gè)第二子電路基本上由一個(gè)或多個(gè)核心電路組成,每一個(gè)核心電路從由選擇電路類型,存儲(chǔ)器電路類型,和一個(gè)緩沖器電路類型組成的組中選擇,和第二百分比至少是5%。
116.如權(quán)利要求115所述的以實(shí)體和/或圖表形式體現(xiàn)的數(shù)字電路設(shè)計(jì),其特征在于,其中,數(shù)字電路設(shè)計(jì)具體體現(xiàn)在一個(gè)結(jié)構(gòu)網(wǎng)表,一個(gè)行為網(wǎng)表,一個(gè)硬件描述語(yǔ)言網(wǎng)表,一個(gè)全定制ASIC,一個(gè)半定制ASIC,一個(gè)IP核心,一個(gè)集成電路,一個(gè)混合芯片,一個(gè)或多個(gè)掩膜,一個(gè)FPGA,和一個(gè)電路插件板組的諸因素中的至少一個(gè)因素中。
117.如權(quán)利要求115所述的以實(shí)體和/或圖表形式體現(xiàn)的數(shù)字電路設(shè)計(jì),其特征在于,其中,第二百分比從由10%或更多,20%或更多,30%或更多,40%或更多,50%或更多,60%或更多,70%或更多,80%或更多,90%或更多,和95%或更多組成的組中選擇。
118.如權(quán)利要求115所述的以實(shí)體和/或圖表形式體現(xiàn)的數(shù)字電路設(shè)計(jì),其特征在于,其中,每個(gè)核心電路從由一個(gè)選擇電路,一個(gè)存儲(chǔ)器電路,和一個(gè)單輸入布爾電路組成的組中選擇。
119.如權(quán)利要求115所述的以實(shí)體和/或圖表形式體現(xiàn)的數(shù)字電路設(shè)計(jì),其特征在于,其中,每個(gè)核心電路從由一個(gè)選擇電路,一個(gè)存儲(chǔ)器電路,和一個(gè)緩沖器電路組成的組中選擇。
120.如權(quán)利要求115所述的以實(shí)體和/或圖表形式體現(xiàn)的數(shù)字電路設(shè)計(jì),其特征在于,其中,選擇電路類型的每個(gè)選擇電路包括一個(gè)多路復(fù)用器。
121.如權(quán)利要求115所述的以實(shí)體和/或圖表形式體現(xiàn)的數(shù)字電路設(shè)計(jì),其特征在于,其中,核心電路總數(shù)少于10,20,30,40,50,75,和100中的一個(gè)數(shù)。
122.如權(quán)利要求115所述的以實(shí)體和/或圖表形式體現(xiàn)的數(shù)字電路設(shè)計(jì),其特征在于,其中,為數(shù)眾多的第一子電路不包括核心電路。
123.一種描述為數(shù)眾多的單元的數(shù)字電路設(shè)計(jì),其中,該數(shù)字電路設(shè)計(jì)體現(xiàn)在計(jì)算機(jī)信號(hào)中,該數(shù)字電路設(shè)計(jì)包括包括對(duì)第一基本單元和該第一基本單元的第一互連的第一描述的第一代碼節(jié)段;包括對(duì)第二基本單元和該第二基本單元的第二互連的第二描述的第二代碼節(jié)段,其中第一描述指出選擇電路類型,存儲(chǔ)器電路類型,和緩沖器電路類型中的哪一種電路類型包含第一基本單元,和第二描述指出選擇電路類型,存儲(chǔ)器電路類型,和緩沖器電路類型中的哪一種電路類型包含第二基本單元。
124.如權(quán)利要求123所述的描述為數(shù)眾多的單元的數(shù)字電路設(shè)計(jì),其中數(shù)字電路設(shè)計(jì)體現(xiàn)在一個(gè)計(jì)算機(jī)信號(hào)中,其特征在于,其中數(shù)字電路設(shè)計(jì)具體體現(xiàn)在一個(gè)結(jié)構(gòu)網(wǎng)表,一個(gè)行為網(wǎng)表,一個(gè)硬件描述語(yǔ)言網(wǎng)表,一個(gè)全定制ASIC,一個(gè)半定制ASIC,一個(gè)IP核心,一個(gè)集成電路,一個(gè)混合芯片,一個(gè)或多個(gè)掩膜,一個(gè)FPGA,和一個(gè)電路插件板組的諸因素中的至少一個(gè)因素中。
125.如權(quán)利要求123所述的描述為數(shù)眾多的單元的數(shù)字電路設(shè)計(jì),其中數(shù)字電路設(shè)計(jì)體現(xiàn)在一個(gè)計(jì)算機(jī)信號(hào)中,其特征在于,其中第一互連耦合到第二互連。
126.如權(quán)利要求123所述的描述為數(shù)眾多的單元的數(shù)字電路設(shè)計(jì),其中數(shù)字電路設(shè)計(jì)體現(xiàn)在一個(gè)計(jì)算機(jī)信號(hào)中,其特征在于,其中選擇電路類型的每個(gè)電路包括一個(gè)多路復(fù)用器。
127.如權(quán)利要求123所述的描述為數(shù)眾多的單元的數(shù)字電路設(shè)計(jì),其中數(shù)字電路設(shè)計(jì)體現(xiàn)在一個(gè)計(jì)算機(jī)信號(hào)中,其特征在于,其中選擇電路類型,存儲(chǔ)器電路類型和緩沖器電路類型的電路總數(shù)少于10,20,30,40,50,75,和100中的一個(gè)數(shù)。
128.如權(quán)利要求123所述的描述為數(shù)眾多的單元的數(shù)字電路設(shè)計(jì),其中數(shù)字電路設(shè)計(jì)體現(xiàn)在一個(gè)計(jì)算機(jī)信號(hào)中,其特征在于,其中為數(shù)眾多的第一子電路不包括核心電路。
全文摘要
通過(guò)識(shí)別將要實(shí)施的邏輯結(jié)構(gòu)設(shè)計(jì)一種數(shù)字集成電路芯片。該邏輯結(jié)構(gòu)根據(jù)一種邏輯運(yùn)算表述,至少5%的邏輯運(yùn)算包括選擇運(yùn)算。決定由相應(yīng)于這些邏輯運(yùn)算的實(shí)現(xiàn)的邏輯單元作出。
文檔編號(hào)G06F17/50GK1541364SQ02815826
公開(kāi)日2004年10月27日 申請(qǐng)日期2002年6月17日 優(yōu)先權(quán)日2001年6月15日
發(fā)明者斯特林·R·惠特克, H·邁爾斯·洛厄爾, 艾里克·G·卡梅倫, 格雷戈里·W·多納赫, 喬迪·W·岡布斯, G 卡梅倫, W 岡布斯, 埂ぢ宥蚨, 斯特林 R 惠特克, 里 W 多納赫 申請(qǐng)人:科學(xué)與技術(shù)有限公司@Unm