專(zhuān)利名稱(chēng):可重新配置的電路及其設(shè)置方法和可重新配置的電路系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及能夠重新配置的可重新配置電路、可重新配置電路系統(tǒng)及可 重新配置電路的設(shè)置方法。更具體地說(shuō),本發(fā)明涉及一種處理器,其中,由ALU (代表算術(shù)邏輯單元)等構(gòu)成的各個(gè)基本單元以陣列形式排列。
技術(shù)背景目前,存在多種無(wú)線電通信系統(tǒng)(在下文中稱(chēng)為"無(wú)線電通信模式"), 例如諸如PDC (個(gè)人數(shù)字蜂窩)、GSM (全球移動(dòng)通信系統(tǒng))的所謂第二 代無(wú)線電通信系統(tǒng),諸如W-CDMA (寬帶碼分多址)的第三代無(wú)線電通信 系統(tǒng)和PHS (個(gè)人手持系統(tǒng))以及無(wú)線電LAN (局域網(wǎng))。作為用于利用 單個(gè)無(wú)線電設(shè)備處理那些多種無(wú)線電通信模式的技術(shù),存在通過(guò)重寫(xiě)軟件 (對(duì)數(shù)據(jù)進(jìn)行編程)來(lái)改變?cè)O(shè)備功能的軟件無(wú)線電技術(shù)。此外,存在諸如 JPEG、 MPEG和H.264AVC的多種圖^象壓縮模式,諸如AAC (先進(jìn)音頻編 碼)、WMA (視窗媒體音頻)、MP3 (MPEG1音頻第三層)、SD-Audio 和ATRAC3 ( + )的多種音頻壓縮模式和諸如杜比數(shù)碼(Dolby Digital)的 5.1聲道環(huán)繞模式。此外,在將來(lái),這些模式的種類(lèi)有望繼續(xù)增加。進(jìn)一步, 還存在可以利用單個(gè)播放器處理多種壓縮或環(huán)繞模式的多媒體終端。為了轉(zhuǎn)換模式(在無(wú)線電通信模式之間執(zhí)行切換的時(shí)候,在再現(xiàn)不同壓縮格式的內(nèi)容的時(shí)候等),傳統(tǒng)的軟件無(wú)線電設(shè)備或多媒體終端通過(guò)利用通 常為微處理器(MPU)的中央控制單元,來(lái)執(zhí)行與各種模式相對(duì)應(yīng)的程序。 作為替代,傳統(tǒng)的軟件設(shè)備或多媒體終端定制為了補(bǔ)償性能不足而裝載的針 對(duì)各種模式的電路(定制ASIC或DSP)。最近,通過(guò)利用所謂SoC(片上 系統(tǒng))來(lái)提供那些功能成為主流,所述SoC例如為在包括裝載在單個(gè)芯片上的MPU (微處理單元)、ASIC (特定用途集成電路)和DSP (數(shù)字信號(hào) 處理器)的系統(tǒng)LSI。在采用SoC的情況下,只裝載與設(shè)計(jì)階段預(yù)先確定的模式相對(duì)應(yīng)的電 路。因此,在很多情況下,就處理能力和處理模式而言,不可能在制造或上 市之后增加新模式。為此,可重新配置電路被預(yù)先裝載到SoC中以便克服 這樣的問(wèn)題(例如參見(jiàn)日本出版的專(zhuān)利文獻(xiàn)(日本未審專(zhuān)利公開(kāi) 2004-221997 ))。可重新配置電路就安裝面積、功耗、進(jìn)行電路重新配置所需時(shí)間而言?xún)?yōu) 于PLD (可編程邏輯器件)和FPGA (現(xiàn)場(chǎng)可編程門(mén)陣列)。進(jìn)一步,可重 新配置電路優(yōu)于微處理器,通常為VUW (超長(zhǎng)指令字)技術(shù),因?yàn)樗芡?時(shí)執(zhí)行多個(gè)對(duì)象和函數(shù)(例如參見(jiàn)日本出版的專(zhuān)利文獻(xiàn)(未審專(zhuān)利公開(kāi) 2004-02988 ))。傳統(tǒng)的可重新配置電路包括以陣列形式排列的基本單元,各個(gè)基本單元 由ALU(算術(shù)邏輯單元)等構(gòu)成,其中各單元的輸入/輸出通過(guò)網(wǎng)絡(luò)來(lái)協(xié)調(diào), 以執(zhí)行處理。當(dāng)可重新配置電路被安裝到SoC并執(zhí)行給定模式(應(yīng)用)時(shí), 例如,可以通過(guò)ALU的網(wǎng)絡(luò)有效地執(zhí)行濾波計(jì)算的純數(shù)據(jù)路徑部分。然而, 實(shí)際上,除了具有數(shù)據(jù)路徑部分,還必需具有控制部分來(lái)處理數(shù)據(jù)路徑部分 的啟動(dòng)操作、對(duì)寄存器生成使能信號(hào)等。通常,在很多情況下,控制部分由 計(jì)數(shù)器邏輯等構(gòu)成。在控制部分,例如,即使在生成1比特寬度的使能信號(hào) 時(shí),也會(huì)占用ALU的大量比特。因此,電路變得極端冗余,導(dǎo)致電路規(guī)模 擴(kuò)張。將以示例的方式,通過(guò)參照4比特寬度的可重新配置電路來(lái)描迷這一 點(diǎn)。圖25中示出的可重新配置電路X,中的每個(gè)單元10由ALU 4構(gòu)成。在 傳統(tǒng)的可重新配置電路X,中,例如,需要彼此不同的ALU (不同的單元) 來(lái)實(shí)現(xiàn)以下兩個(gè)邏輯運(yùn)算。結(jié)果是,需要至少六個(gè)單元IO和四個(gè)開(kāi)關(guān)20。f=d&e…(d與e的AND運(yùn)算)作為該算法,由于電路結(jié)構(gòu),即使信號(hào)為l比特信號(hào),那么利用傳統(tǒng)可配置電路,4比特的ALU4也被分派給信號(hào)a、 b、 c、 d、 e和f中的每一個(gè)。 因此,額外的3比特完全是多余的,這成為導(dǎo)致電路規(guī)模增加的因素。同時(shí),為了解決這樣的問(wèn)題,也已經(jīng)考慮了額外裝載針對(duì)1比特邏輯所 定制的電^各的所謂異類(lèi)可重新配置電路(heterogeneous reconfiguraWe circuit)。然而,利用異類(lèi)可配置電路難以確定1比特邏輯的數(shù)目與能處理 任何模式的ALU的最佳數(shù)目之比。無(wú)論如何,這都可能導(dǎo)致裝載大量單元。 進(jìn)一步,異類(lèi)可重新配置電路也對(duì)可重新配置電路的設(shè)置施加約束,使得不 能解決邏輯電路和布線的設(shè)置。如上所述,利用傳統(tǒng)可重新配置電路,即使在生成單個(gè)比特使能信號(hào)時(shí), 也要占用多比特的ALU。因此,需要大量ALU,結(jié)果使得電路規(guī)模增加。 此外,由ALU和1比特邏輯構(gòu)成的異類(lèi)可重新配置電路還存在電路規(guī)模最 終增加的風(fēng)險(xiǎn)。因此,不能解決邏輯電路和布線的設(shè)置。發(fā)明內(nèi)容因此本發(fā)明的主要目的在于提供一種可重新配置的電路,所述可重新配 置的電路能夠在算術(shù)邏輯單元作為基本結(jié)構(gòu)排列的單元陣列上,在多個(gè)部分 (section)處有效執(zhí)行邏輯運(yùn)算,并且還提供可重新配置的電路系統(tǒng)及可重 新配置的電路的設(shè)置方法。為了克服上述問(wèn)題,本發(fā)明的可重新配置的電路包括多個(gè)單元、總線和 用于通過(guò)所述總線的網(wǎng)絡(luò)將各所述單元彼此連接起來(lái)的連接器,其中每個(gè)所 述單元均包括第一選擇器,接受K段(K為大于或等于2的自然數(shù))數(shù)據(jù), 然后輸出單段數(shù)據(jù);第二選擇器,接受K段(K為大于或等于2的自然數(shù)) 數(shù)據(jù),然后輸出單段數(shù)據(jù);算術(shù)邏輯單元,接受N比特(N為大于或等于2 的自然數(shù))的所述第 一選擇器的輸出和所述第二選擇器的輸出,并對(duì)所接受 的N比特?cái)?shù)據(jù)執(zhí)行選自多個(gè)邏輯運(yùn)算的邏輯運(yùn)算;選擇控制器,向所述第 一選擇器和所述第二選擇器提供用于指示待選擇數(shù)據(jù)的數(shù)據(jù)選擇控制信號(hào);和ALU控制器,向所述算術(shù)邏輯單元提供用于指定待執(zhí)行的邏輯運(yùn)算的ALU控制信號(hào),其中所述第一選擇器、所述第二選擇器和所述算術(shù)邏輯單 元能夠基于所述選擇控制信號(hào)和所述ALU控制信號(hào)重新配置;并且所述第 一選擇器和所述第二選擇器基于所述選擇控制信號(hào)以規(guī)定的次序重新排列 第i個(gè)數(shù)據(jù)的M[i]比特,并輸出重新排列的數(shù)據(jù)(i為滿(mǎn)足KK的自然數(shù),并且M[i]為滿(mǎn)足2^M,']sW的整數(shù))。根據(jù)這個(gè)結(jié)構(gòu),算術(shù)邏輯單元的輸入比特寬度N被分為K段。假如K 段比特寬度分別被表達(dá)為M[l], ...,M[K],則應(yīng)用表達(dá)式"M[l]+…+ 7kT[尺]^W"。 也就是說(shuō),它可以被表達(dá)為"Z,/M[/]^W"。例如,當(dāng)K=3且N=8時(shí), M[l]+M[2]+M[3]^8為條件表達(dá)式。更具體地說(shuō),例如,在這種情況下,存在 以下組合一l比特、2比特和5比特的組合—1比特、3比特和4比特的組合一2比特、2比特和4比特的組合—2比特、2比特和3比特的組合—2比特、3比特和3比特的組合 (這將在具體實(shí)施方式
部分更詳細(xì)地描述。)所述第一選擇器和所述第二選擇器中的每個(gè)都獲取規(guī)定數(shù)目比特組合 的K段輸入數(shù)據(jù),并向所述算術(shù)邏輯單元提供所述數(shù)據(jù)。最大從M[1]比特 到M[K]比特的K個(gè)邏輯運(yùn)算的輸入數(shù)據(jù)被輸入至具有N比特寬度輸入端的 各算術(shù)邏輯單元??梢栽诟魉阈g(shù)邏輯單元執(zhí)行那些彼此獨(dú)立的K個(gè)邏輯運(yùn) 算的各輸入數(shù)據(jù)。這樣,可以減少算術(shù)邏輯單元的數(shù)目,從而可以減小電路 面積。本發(fā)明中存在這種形式所述算術(shù)邏輯單元執(zhí)行由所述ALU控制信號(hào) 指定的至少一種邏輯運(yùn)算。這包括由單個(gè)算術(shù)邏輯單元執(zhí)行的K個(gè)邏輯運(yùn) 算都相同的情況。這樣,可以減少算術(shù)邏輯單元的數(shù)目,以便減小所述電路面積。本發(fā)明中存在這種形式所述算術(shù)邏輯單元能夠執(zhí)行每比特都彼此不同的多種邏輯運(yùn)算。這種結(jié)構(gòu)使得即使邏輯運(yùn)算每比特都不同,也能夠由同一 算術(shù)邏輯單元來(lái)執(zhí)行各邏輯運(yùn)算。這樣,可以進(jìn)一步減少所述算術(shù)邏輯單元 的數(shù)目,以減小所述電路面積。本發(fā)明中存在這種形式所述可重新配置的電路進(jìn)一步包括第三選擇 器,所述第三選擇器接受單段數(shù)據(jù),然后輸出K,段(K,為等于或大于2的 自然數(shù))數(shù)據(jù),其中所述第三選擇器能夠基于所述選擇控制信號(hào)重新配置; 并且所述第三選擇器通過(guò)基于所述選擇控制信號(hào)從作為所述算術(shù)邏輯單元 執(zhí)行的運(yùn)算結(jié)果而獲取的多種輸出形式組合中選擇單個(gè)組合,生成各輸出數(shù) 據(jù)。利用這種形式,所述算術(shù)邏輯單元的輸出可以以靈活的形式輸出至K 個(gè)輸出目的地。因此,可以更有效地連接所述基本單元,從而使得可以進(jìn)一 步減小所述電路面積。本發(fā)明的可重新配置的電路系統(tǒng)包括上述的可重新配置的電路;存儲(chǔ) 設(shè)備,存儲(chǔ)所述選擇控制信號(hào)的值和所述ALU控制信號(hào)的值;和系統(tǒng)控制控制信號(hào)和所述ALU控制信號(hào),并向所述可重新配置的電路提供所選擇的 信號(hào)以重新配置所述多個(gè)單元。利用這種結(jié)構(gòu),可以由所述系統(tǒng)控制器來(lái)進(jìn)行所述可重新配置的電路的 重新配置。這樣可以高效地控制所述可重新配置電路的重新配置。本發(fā)明存在這樣的形式所述可重新配置的電路系統(tǒng)進(jìn)一步包括用戶(hù)接 口部分,所述用戶(hù)接口部分通過(guò)從用戶(hù)接收指令來(lái)輸出用戶(hù)指令信號(hào),其中 所述系統(tǒng)控制器基于所述用戶(hù)指令信號(hào)重新配置用于處理所述應(yīng)用的所述 多個(gè)單元。本發(fā)明中存在這樣的形式所述可重新配置的電路系統(tǒng)進(jìn)一步包括記錄介質(zhì)讀出設(shè)備,所述記錄介質(zhì)讀出設(shè)備從記錄介質(zhì)讀出所記錄的數(shù)據(jù),并輸出介質(zhì)指令信號(hào),其中所述系統(tǒng)控制器基于所述介質(zhì)指令信號(hào)重新配置用于處理所述應(yīng)用的所述多個(gè)單元。
利用這種形式,可以基于規(guī)定的應(yīng)用提供具有小電路面積的所述可重新 配置的電路。
本發(fā)明的可重新配置的電路的設(shè)置方法是這樣一種方法,為了根據(jù)源代 碼執(zhí)行寫(xiě)在所述源代碼中的各邏輯運(yùn)算,向可重新配置的電路的各算術(shù)邏輯 單元分配各邏輯運(yùn)算,并設(shè)置各所述算術(shù)邏輯單元之間的布線。所述方法包
括第一步驟,用于從所述源代碼中提取所述邏輯運(yùn)算;第二步驟,用于判
決在所述第一步驟中提取的所述邏輯運(yùn)算是否為p比特或更少比特(p為自
然數(shù))或者為Q比特或更少比特(Q為自然數(shù));第三步驟,用于判決所述 P比特或更少比特的邏輯運(yùn)算與所述Q比特或更少比特的邏輯運(yùn)算是否是同 一種運(yùn)算;和第四步驟,用于以這樣的方式執(zhí)行所述邏輯運(yùn)算的分配和所述
布線的設(shè)置在所述第三步驟中被判決為同一種邏輯運(yùn)算的所述P比特或更 少比特的邏輯運(yùn)算和所述Q比特或更少比特的邏輯運(yùn)算,能由能接受R比 特寬度數(shù)據(jù)的單個(gè)算術(shù)邏輯單元執(zhí)行(R為滿(mǎn)足R^P+Q的自然數(shù))。
這個(gè)方法可以向具有R比特寬度輸入端的單個(gè)算術(shù)邏輯單元分配P比 特和Q比特的邏輯運(yùn)算,并可以設(shè)置其布線。這樣,可以減少算術(shù)邏輯單 元的數(shù)目,以便減小電路面積。
本發(fā)明的可重新配置的電路的設(shè)置方法中存在這樣的形式當(dāng)在第三步 驟中判決所述P比特或更少比特的邏輯運(yùn)算與所述Q比特或更少比特的邏 輯運(yùn)算的種類(lèi)彼此不同時(shí),在第四步驟中以這樣的方式執(zhí)行邏輯運(yùn)算的分配
和布線的設(shè)置對(duì)較高側(cè)的Q比特和較低側(cè)的P比特執(zhí)行不同種類(lèi)的邏輯運(yùn)算。
利用這種形式,可以按照這樣的方式執(zhí)行所述邏輯運(yùn)算的分配和所述布 線的設(shè)置即使所述P比特或更少比特的邏輯運(yùn)算和所述Q比特或更少比 特的邏輯運(yùn)算是彼此不同的邏輯運(yùn)算,仍可以由同一算術(shù)邏輯單元執(zhí)行所述 邏輯運(yùn)算。這樣,可以更進(jìn)一步減少所述算術(shù)邏輯單元的數(shù)目,以便減小所
述電^各面積、。本發(fā)明的可重新配置的電路包括多個(gè)單元、總線、用于通過(guò)所述總線的 網(wǎng)絡(luò)將各所述單元彼此連接起來(lái)的連接器,以及連接控制器,其中各所述單
元包括具有N比特(N為等于或大于2的自然數(shù))的輸入端口的算術(shù)邏輯 單元,其對(duì)從所述輸入端口輸入的N比特?cái)?shù)據(jù)進(jìn)行選自多個(gè)邏輯運(yùn)算的邏 輯運(yùn)算;和ALU控制器,向所述算術(shù)邏輯單元提供指定所述待執(zhí)行邏輯運(yùn) 算的ALU控制信號(hào),其中,所述連接控制器向所述連接器提供連接控制信 號(hào),所述連接控制信號(hào)用于指定通過(guò)所述網(wǎng)絡(luò)彼此連接的所述總線的連接形 式;所述算術(shù)邏輯單元能夠基于所述ALU控制信號(hào)重新配置;并且K條所 述總線(K為等于或大于2的自然數(shù))在基于所述連接控制信號(hào)以規(guī)定的次 序排列第i條總線的規(guī)定M[i]比特之后,連接到所述輸入端口 (i為滿(mǎn)足KK 的自然數(shù),并且M[i]為滿(mǎn)足E:,[/]《W的整數(shù))。
利用這種結(jié)構(gòu),連接器本身獲取規(guī)定數(shù)目比特組合的多段輸入數(shù)據(jù)。因 此,沒(méi)有必要提供在上述結(jié)構(gòu)中所需的所述第一選擇器和所述第二選擇器。 利用這種結(jié)構(gòu),通過(guò)將各M[i]比特的邏輯運(yùn)算放入N比特所生成的所述輸 入數(shù)據(jù)可以提供給能接受具有N比特寬度的所述輸入數(shù)據(jù)的單個(gè)算術(shù)邏輯 單元。因此,可以降低所述算術(shù)邏輯單元的數(shù)目,以便減小所述電路面積。
本發(fā)明的可重新配置的電路中存在這種形式,所述算術(shù)邏輯單元能夠執(zhí) 行由所述ALU控制信號(hào)指定的至少一種邏輯運(yùn)算。
利用這種形式,只要所述邏輯運(yùn)算總體上為N比特或更少比特,那么 就可以由能接受具有N比特寬度的數(shù)據(jù)輸入的單個(gè)算術(shù)邏輯單元執(zhí)行甚至 在多個(gè)部分處的所述邏輯運(yùn)算。因此,可以進(jìn)一步降低所述算術(shù)邏輯單元的 數(shù)目,以便可以減小所述電路面積。
本發(fā)明的可重新配置的電路中存在這種形式,所述算術(shù)邏輯單元能夠執(zhí) 行每比特彼此不同的多種邏輯運(yùn)算。這種結(jié)構(gòu)使得即使在所述邏輯運(yùn)算每比 特都不同時(shí),那些邏輯運(yùn)算也能夠由同一算術(shù)邏輯單元來(lái)執(zhí)行。這樣,可以 進(jìn)一步降低所述算術(shù)邏輯單元的數(shù)目,以減小所述電路面積。進(jìn)一步,本發(fā)明中存在這種形式所述可重新配置的電路進(jìn)一步包括選 擇器,所述選擇器接受單段數(shù)據(jù),然后輸出K,段(K,為等于或大于2的自 然數(shù))數(shù)據(jù),其中所述選擇器能夠基于所述選擇控制信號(hào)重新配置;并且所 述選擇器通過(guò)基于所述選擇控制信號(hào)從作為由所述算術(shù)邏輯單元執(zhí)行的運(yùn) 算結(jié)果而獲得的多個(gè)輸出形式組合中選擇單個(gè)組合,生成各輸出數(shù)據(jù)。
利用這種形式,所述算術(shù)邏輯單元的輸出可以以靈活的形式提供給多個(gè) 輸出目的地。因此,可以更有效地連接基本單元,以便可以進(jìn)一步減小所述 電3各面積、。
本發(fā)明的可重新配置的電路包括上述的可重新配置的電路;存儲(chǔ)設(shè)備, 存儲(chǔ)所述選擇控制信號(hào)的值和所述ALU控制信號(hào)的值;和系統(tǒng)控制器,從 所述存儲(chǔ)設(shè)備中分別選擇并讀出用于處理規(guī)定應(yīng)用的待重新配置的所述選 擇控制信號(hào)和所述ALU控制信號(hào),并向所述可重新配置的電路提供所選擇
的信號(hào)。
利用這種結(jié)構(gòu),所述可重新配置的電路的重新配置可以由所述系統(tǒng)控制 器來(lái)執(zhí)行。這樣可以高效地控制所述可重新配置的電路的重新配置。
本發(fā)明中存在這種形式所述可重新配置的系統(tǒng)進(jìn)一步包括用戶(hù)接口部 分,所述用戶(hù)接口部分通過(guò)從用戶(hù)接收指令來(lái)輸出用戶(hù)指令信號(hào),其中所述 系統(tǒng)控制器基于所述用戶(hù)指令信號(hào)重新配置用于處理所述應(yīng)用的所述多個(gè) 單元。
進(jìn)一步,本發(fā)明中還存在這種形式上述結(jié)構(gòu)的所述可重新配置的電路 進(jìn)一步包括記錄介質(zhì)讀出設(shè)備,所述記錄介質(zhì)讀出設(shè)備從記錄介質(zhì)讀出所記 錄的數(shù)據(jù),并輸出介質(zhì)指令信號(hào),其中所述系統(tǒng)控制器基于所述介質(zhì)指令信 號(hào)重新配置用于處理應(yīng)用的所述多個(gè)單元。
利用這些形式,可以基于規(guī)定的應(yīng)用提供具有小電路面積的可重新配置 的電路。
本發(fā)明的可重新配置的電路的設(shè)置方法是這樣一種方法,為了根據(jù)源代 碼執(zhí)行寫(xiě)在所述源代碼中的各邏輯運(yùn)算,向可重新配置的電路的各算術(shù)邏輯單元分配各邏輯運(yùn)算,并設(shè)置各所述算術(shù)邏輯單元之間的布線。所述方法包括第一步驟,用于從所述源代碼中提取所述邏輯運(yùn)算;第二步驟,用于判 決在所述第一步驟中提取的所述邏輯運(yùn)算是P比特或更少比特(P為自然數(shù)) 還是Q比特或更少比特(Q為自然數(shù));第三步驟,用于判決所述P比特 或更少比特的邏輯運(yùn)算與所述Q比特或更少比特的邏輯運(yùn)算是否是同一種 運(yùn)算;和第四步驟,用于以這樣的方式進(jìn)行所述邏輯運(yùn)算的分配并設(shè)置所述布線在所述第三步驟中被判決為同一種邏輯運(yùn)算的所述P比特或更少比特 的邏輯運(yùn)算和所述Q比特或更少比特的邏輯運(yùn)算能由單個(gè)算術(shù)邏輯單元執(zhí)行。這種結(jié)構(gòu)可以向單個(gè)算術(shù)邏輯單元分配所述P比特和Q比特的邏輯運(yùn) 算,并設(shè)置所述布線。這樣,可以降低所述算術(shù)邏輯單元的數(shù)目,以便減小 所述電i 各面積。在本發(fā)明的可重新配置的電路的設(shè)置方法中存在這種形式,當(dāng)在所述第 三步驟中判決所述P比特或更少比特的邏輯運(yùn)算與所述P比特或更少比特的 邏輯運(yùn)算的種類(lèi)彼此不同時(shí),在所述第四步驟中,以這樣的方式執(zhí)行所述邏輯運(yùn)算的分配和所述布線的設(shè)置對(duì)較高側(cè)的Q比特和較低側(cè)的P比特執(zhí) 行不同種類(lèi)的邏輯運(yùn)算。利用這種形式,可以按照這樣的方式進(jìn)行所述邏輯運(yùn)算的分配和設(shè)置必 需的布線即使所述P比特或更少比特的邏輯運(yùn)算和所述Q比特或更少比 特的邏輯運(yùn)算是彼此不同的邏輯運(yùn)算,也可以由同一算術(shù)邏輯單元執(zhí)行所述 邏輯運(yùn)算。本發(fā)明中存在這種形式所述可重新配置電路的設(shè)置方法進(jìn)一步包括外 部信息輸入步驟,用于將所輸入的外部信息轉(zhuǎn)換為源代碼改變信息;和源代 碼改變步驟,基于所述源代碼改變信息來(lái)改變?cè)创a的規(guī)定位置,并輸出已 經(jīng)被改變的源代碼作為新源代碼。利用這種形式,即使在產(chǎn)品上市之后根據(jù)外部信息改變所述應(yīng)用的所述 源代碼,也可以設(shè)置小面積的可重新配置的電路。這樣,所述可重新配置的電路,盡管價(jià)格廉價(jià),但也能夠靈活地適應(yīng)系統(tǒng)。本發(fā)明中存在這種形式所述可重新配置電路的設(shè)置方法進(jìn)一步包括故障判決步驟,在所述故障判決步驟中, 一旦接收到指示所述可重新配置電路 中的故障單元位置的故障單元位置信息的輸入,就在排除所述故障單元后再 次執(zhí)行所述邏輯運(yùn)算的分配和所述布線的設(shè)置。利用這種形式,即使存在故障單元,也可以通過(guò)避免所述故障單元來(lái)進(jìn) 行所述邏輯運(yùn)算的分配和布線的設(shè)置。這樣可以由具有小面積的可重新配置 的電路進(jìn)行邏輯運(yùn)算。因此,可以提高產(chǎn)量,以便可以降低芯片的單價(jià)。利用本發(fā)明,通過(guò)分配由單個(gè)算術(shù)邏輯單元集中執(zhí)行的多個(gè)邏輯運(yùn)算, 可以通過(guò)總體上降低規(guī)定應(yīng)用中所需的算術(shù)邏輯單元的數(shù)目來(lái)減小電路面積。結(jié)果,可以提供廉價(jià)的系統(tǒng)LSI。本發(fā)明的技術(shù)能夠分配由單個(gè)算術(shù)邏輯單元集中執(zhí)行的多個(gè)邏輯運(yùn)算, 并能夠設(shè)置其布線。因此,作為包括可重新配置電路的多媒體終端等是有用 的,并且還可用于軟件無(wú)線電設(shè)備等。結(jié)果,可以提供廉價(jià)的系統(tǒng)LSI。
本發(fā)明的其它目的將從以下對(duì)優(yōu)選實(shí)施例和所附權(quán)利要求的描述中變 多其它優(yōu)點(diǎn)。圖1是示出根據(jù)本發(fā)明第 一實(shí)施例的可重新配置電路的結(jié)構(gòu)的方框圖; 圖2是示出根據(jù)本發(fā)明第一實(shí)施例的可重新配置電路的主要部分結(jié)構(gòu) 的方框圖;圖3是示出根據(jù)本發(fā)明第一實(shí)施例的可重新配置電路的開(kāi)關(guān)結(jié)構(gòu)的方 框圖;圖4是示出根據(jù)本發(fā)明第一實(shí)施例的可重新配置電路的單元結(jié)構(gòu)的方 框圖;圖5是示出根據(jù)本發(fā)明第一實(shí)施例的選擇器的運(yùn)算的圖示;圖6示出可由根據(jù)本發(fā)明第一實(shí)施例的ALU執(zhí)行的邏輯運(yùn)算指令; 圖7示出可由根據(jù)本發(fā)明第二實(shí)施例的ALU執(zhí)行的邏輯運(yùn)算指令; 圖8是示出根據(jù)本發(fā)明第三實(shí)施例的可重新配置電路的單元結(jié)構(gòu)的方 框圖;圖9是示出根據(jù)本發(fā)明第三實(shí)施例的選擇器的運(yùn)算的圖示; 圖10是示出根據(jù)本發(fā)明第四實(shí)施例的可重新配置電路系統(tǒng)的方框圖; 圖11是示出根據(jù)本發(fā)明第五實(shí)施例的可重新配置電路系統(tǒng)的結(jié)構(gòu)的方 框圖;圖12是示出根據(jù)本發(fā)明第五實(shí)施例的存儲(chǔ)設(shè)備的內(nèi)容示例的圖; 圖13是示出根據(jù)本發(fā)明第六實(shí)施例的可重新配置的電路系統(tǒng)的結(jié)構(gòu)的 方框圖;圖14是示出根據(jù)本發(fā)明第七實(shí)施例的可重新配置電路的設(shè)置方法的處 理程序的流程圖;圖15是示出根據(jù)本發(fā)明第八實(shí)施例的可重新配置電路的設(shè)置方法的處 理程序的流程圖;圖16是示出根據(jù)本發(fā)明第九實(shí)施例的可重新配置電路的設(shè)置方法的處 理程序的流程圖;圖17是示出在根據(jù)本發(fā)明第九實(shí)施例的源代碼改變步驟中改變?cè)创a 的示例的圖;圖18是示出根據(jù)本發(fā)明第十實(shí)施例的可重新配置電路的設(shè)置方法的處 理程序的流程圖;圖19是示出根據(jù)本發(fā)明第十實(shí)施例在避免故障單元的同時(shí)設(shè)置可重新 配置電路的示例的圖;圖20是示出根據(jù)本發(fā)明第十一 實(shí)施例的可重新配置電路的結(jié)構(gòu)的方框圖;圖21是示出根據(jù)本發(fā)明第十一實(shí)施例的可重新配置電路的主要部分的 結(jié)構(gòu)的方框圖;圖22是示出根據(jù)本發(fā)明第十一實(shí)施例的可重新配置電路的開(kāi)關(guān)結(jié)構(gòu)的方框圖;圖23是示出根據(jù)本發(fā)明第十一實(shí)施例的可重新配置電路的單元結(jié)構(gòu)的 方框圖;圖24是示出根據(jù)本發(fā)明第十一實(shí)施例的選擇器的運(yùn)算的圖示;和 圖25是示出設(shè)置傳統(tǒng)可重新配置電路的示例的方框圖。
具體實(shí)施方式
本發(fā)明的主要點(diǎn)在于通過(guò)使設(shè)置能夠由單個(gè)算術(shù)邏輯單元集中處理多 個(gè)邏輯運(yùn)算來(lái)減小規(guī)定的整個(gè)應(yīng)用所必需的算術(shù)邏輯單元的數(shù)目,以減小可 重新配置的電路的面積,在可重新配置電路中,具有ALU的各基本單元通 過(guò)布線網(wǎng)絡(luò)連接。在下文中,將參照附圖詳細(xì)描述本發(fā)明的實(shí)施例。(第一實(shí)施例)圖1是示出根據(jù)本發(fā)明第一實(shí)施例的可重新配置電路X的結(jié)構(gòu)的方框 圖,圖2是示出可重新配置電路X的主要部分的結(jié)構(gòu)的方框圖,圖3示出 連接到可重新配置電路的單元10的開(kāi)關(guān)20的結(jié)構(gòu)的方框圖,并且圖4是示 出可重新配置電路的單元10的結(jié)構(gòu)的方框圖。在圖1的可重新配置電路X中,圖4中示出的可重新配置電路的單元 IO排列成矩陣。進(jìn)一步,在圖1的可重新配置電路X中,圖3中示出的開(kāi) 關(guān)20在相鄰的單元10之間排列成矩陣。在圖1中示出的可重新配置電路X中,多個(gè)單元IO和多個(gè)開(kāi)關(guān)20在 水平和豎直方向上交替地排列成矩陣形式。每個(gè)單元10包括作為基本元件 的第一選擇器1、第二選擇器2和算術(shù)邏輯單元(在下文中稱(chēng)為ALU) 4。 例如,輸出信號(hào)a的單元10和輸出信號(hào)d的單元10通過(guò)開(kāi)關(guān)20被輸入至 目標(biāo)單元10的第一選擇器1。進(jìn)一步,輸出信號(hào)b的單元10和輸出信號(hào)e 的單元通過(guò)另一開(kāi)關(guān)20輸入至目標(biāo)單元10的第二選擇器2。在目標(biāo)單元10 中,ALU4執(zhí)行從第一選擇器1提供的信號(hào)a與從第二選擇器2提供的信號(hào)b的邏輯運(yùn)算,并輸出運(yùn)算結(jié)果c。進(jìn)一步,ALU 4執(zhí)行從第一選擇器1提 供的信號(hào)d與從第二選擇器2提供的信號(hào)e的邏輯運(yùn)算,并輸出運(yùn)算結(jié)果f。 此時(shí),信號(hào)a與信號(hào)b的邏輯運(yùn)算以及信號(hào)d與信號(hào)e的邏輯運(yùn)算都是由單 個(gè)ALU 4執(zhí)行的。本發(fā)明的技術(shù)特征在于由單個(gè)ALU 4執(zhí)行多個(gè)邏輯運(yùn)算。 將參照?qǐng)D2-圖6依次更加具體地描述該程序。開(kāi)關(guān)20包括第一連接器21、第二連接器22和連接控制器23。第一連 接器21中的開(kāi)關(guān)部分之一執(zhí)行總線Bll與總線B21之間的連接/隔離,并且 其它開(kāi)關(guān)部分執(zhí)行總線B13與總線B23之間的連接/隔離。開(kāi)關(guān)控制是基于 來(lái)自連接控制器23的連接控制信號(hào)Sc進(jìn)行的??偩€B21成為單元10的第 一選擇器1的一個(gè)輸入,而總線B23成為第一選擇器1的另一個(gè)輸入。例如, 當(dāng)連接控制信號(hào)Sc[l]為1時(shí),A[3:0]被輸入至總線B21。當(dāng)連接控制信號(hào) Sc[O]為l時(shí),C[3:0]被輸入至總線B23。這里需要注意的是,Sc[l]指示第一 比特,而Sc[O]指示第0比特??偩€B21傳輸從第一連接器21輸出的E[3:0] 作為第一選擇器1的輸入IN11[3:0]。相似地,總線B23傳輸從第一連接器 21輸出的G[3:0]作為第一選擇器1的輸入IN12[3:0]。同時(shí),第二連接器22中的開(kāi)關(guān)部分之一執(zhí)行總線B12與總線B22之間 的連接/隔離,而另一開(kāi)關(guān)部分執(zhí)行總線B14與總線B24之間的連接/隔離。 開(kāi)關(guān)控制是基于來(lái)自連接控制器23的連接控制信號(hào)Sc執(zhí)行的??偩€B22 成為單元10的第二選擇器2的一個(gè)輸入,而總線B24成為第二選擇器2的 另一個(gè)輸入。例如,當(dāng)連接控制信號(hào)Sc[l]為1時(shí),B[3:0]被輸入至總線B22。 當(dāng)連接控制信號(hào)Sc[O]為1時(shí),D[3:0]被輸入至總線B24??偩€B22傳輸從第 二連接器22輸出的F[3:0]作為第二選擇器2的輸入IN21[3:0]。相似地,總 線B24傳輸從第二連接器22輸出的H[3:0]作為第二選擇器2的輸入 IN22[3:0]??芍匦屡渲秒娐返膯卧?0包括第一選擇器1、第二選擇器2、選擇控制 器3、 ALU4和ALU控制器5??偩€B21、 B22、 B23和B24分別通過(guò)開(kāi)關(guān) 電路20從其它單元接收信號(hào)的輸入??偩€B21、 B22、 B23和B24傳輸所輸入的信號(hào)。第一選擇器1基于來(lái)自選擇控制器3的選擇控制信號(hào)Ss,選擇并合成總線B21的規(guī)定比特和總線B23的規(guī)定比特,然后向ALU 4的一個(gè)輸 入端輸出處理結(jié)果,作為選擇結(jié)果SE1。相似地,第二選擇器2基于來(lái)自選 擇控制器3的選擇控制信號(hào)Ss,選擇并合成總線B22的規(guī)定比特和總線B24 的規(guī)定比特,然后向ALU 4的另一個(gè)輸入端輸出處理結(jié)果,作為選擇結(jié)果 SE2。選擇控制信號(hào)Ss是用于向第一選擇器1和第二選擇器2指示輸出形式 的2比特信號(hào)。作為來(lái)自總線B21的信號(hào)的輸入IN11[3:0]、作為來(lái)自總線B23的信號(hào) 的輸入IN12[3:0]和選擇控制信號(hào)Ss被輸入至第一選擇器1。第一選擇器1 基于選擇控制信號(hào)Ss的值,將輸入IN11[3:0]和輸入IN12[3:0]處理成為規(guī)定 的輸出形式,然后輸出經(jīng)處理的結(jié)果作為選擇結(jié)果SE1[3:0]。這里需要注意 的是,[3:0]指示它在4比特結(jié)構(gòu)中從第0比特到第3比特。具體地,如圖5所示,第一選擇器1執(zhí)行以下處理。一當(dāng)選擇控制信號(hào)Ss為"00"時(shí),第一選擇器1按照原樣輸出來(lái)自總 線B21的4比特輸入IN11[3:0]作為選擇結(jié)果SE1。一當(dāng)選擇控制信號(hào)Ss為"01"時(shí),第一選擇器l執(zhí)行處理,以使來(lái)自 總線B21的低2比特輸入IN11[1:0]和來(lái)自總線B23的低2比特輸入IN12[1:0] 成為4比特形式,并輸出結(jié)果作為選擇結(jié)果SE1。一當(dāng)選擇控制信號(hào)Ss為"10"時(shí),第一選擇器l執(zhí)行處理,以使來(lái)自 總線B21的高2比特輸入IN11[3:2]和來(lái)自總線B23的高2比特輸入IN12[3:2] 成為4比特形式,并輸出結(jié)果作為選擇結(jié)果SE1。一當(dāng)選擇控制信號(hào)Ss為時(shí),第一選擇器1按照原樣輸出來(lái)自總 線B23的4比特輸入IN12[3:0]作為選擇結(jié)果SE1。相似地,作為來(lái)自總線B22的信號(hào)的輸入IN21[3:0]和作為來(lái)自總線B24 的信號(hào)的輸入IN22[3:0]和選擇控制信號(hào)Ss被輸入至第二選擇器2。第二選 擇器2基于選擇控制信號(hào)Ss的值,將輸入IN21[3:0]和輸入IN22[3:0]處理成 為規(guī)定的輸出形式,然后輸出經(jīng)處理的結(jié)果作為選擇結(jié)果SE2[3:0]。具體地,第二選擇器2執(zhí)行以下處理。一當(dāng)選擇控制信號(hào)Ss為2比特的"00"時(shí),第二選擇器2按照原樣輸 出來(lái)自總線B22的4比特輸入IN21[3:0]作為選擇結(jié)果SE2?!?dāng)選擇控制信號(hào)Ss為"01"時(shí),第二選擇器2執(zhí)行處理,以使來(lái)自 總線B22的低2比特輸入IN21 [ 1:0]和來(lái)自總線B24的低2比特輸入IN22 [ 1:0〗 成為4比特形式,并輸出結(jié)果作為選擇結(jié)果SE2。一當(dāng)選擇控制信號(hào)Ss為"0"時(shí),第二選擇器2執(zhí)行處理,以使來(lái)自 總線B22的高2比特輸入IN21[3:2]和來(lái)自總線B24的高2比特輸入IN22[3:2] 成為4比特形式,并輸出結(jié)果作為選擇結(jié)果SE2。一當(dāng)選擇控制信號(hào)Ss為"11"時(shí),第二選擇器2按照原樣輸出來(lái)自總 線B24的4比特輸入IN22[3:0]作為選擇結(jié)果SE2。ALU控制器5輸出3比特的ALU控制信號(hào)Sa來(lái)給予由ALU4執(zhí)行的 算術(shù)和邏輯運(yùn)算指令。來(lái)自第一選擇器1的選擇結(jié)果SE1[3:0]、來(lái)自第二選 擇器2的選擇結(jié)果SE2[3:0]和來(lái)自ALU控制器5的3比特ALU控制信號(hào) Sa被提供給ALU4。 一旦接收到這些信號(hào),ALU4就基于ALU控制信號(hào)Sa 的值,執(zhí)行與圖6的表相對(duì)應(yīng)的算術(shù)和邏輯運(yùn)算,并向輸出總線B30輸出運(yùn) 算結(jié)果作為輸出OUT[3:0]。具體地,如圖6所示,ALU 4經(jīng)歷并4丸行以下處理。一當(dāng)ALU控制信號(hào)Sa為"001"時(shí),ALU4被重新配置為AND電路, 以執(zhí)行來(lái)自第一選擇器1的選擇結(jié)果SE1與來(lái)自第二選擇器2的選擇結(jié)果 SE2的AND運(yùn)算。一當(dāng)ALU控制信號(hào)Sa為"010"時(shí),ALU 4被重新配置為OR電路, 以執(zhí)行來(lái)自第一選擇器1的選擇結(jié)果SE1與來(lái)自第二選擇器2的選擇結(jié)果 SE2的OR運(yùn)算。輸出總線B30將輸出OUT[3:0]發(fā)送到可重新配置電路的單元10的外部。接下來(lái),將描述以上述方式構(gòu)成的該實(shí)施例的可重新配置電路X的動(dòng)作。在下文中,在假設(shè)可重新配置電路被構(gòu)成為具有4比特作為運(yùn)算比特寬 度的情況下,提供說(shuō)明。然而,需要注意的是,通過(guò)施加必要的修改也可以 用其它比特寬度來(lái)實(shí)現(xiàn)實(shí)施例。這里的描述是實(shí)現(xiàn)以下兩個(gè)邏輯運(yùn)算的情況。<formula>formula see original document page 22</formula> (d與e的AND運(yùn)算)為了易于理解,假設(shè)在以下說(shuō)明中a、 b、 c、 d、 e和f均為1比特。可 重新配置電路X在應(yīng)用中的多個(gè)邏輯運(yùn)算中找到執(zhí)行共同邏輯運(yùn)算的部分, 將那些具有2比特或更少比特的運(yùn)算比特寬度的部分放入單段數(shù)據(jù)中以生 成新的4比特?cái)?shù)據(jù),并通過(guò)利用單個(gè)ALU4來(lái)執(zhí)行所生成新數(shù)據(jù)(4比特) 的邏輯運(yùn)算。作為ALU控制信號(hào)Ss, ALU控制器5輸出用于指定AND電路的"001"。 已接收到ALU控制信號(hào)Sa "001"的ALU 4被重新配置為AND電路(見(jiàn) 圖6)。為了從某一單元IO獲取信號(hào)a作為第一選擇器1的第一輸入,并從另 一單元IO獲取信號(hào)d作為第一選擇器1的第二輸入,開(kāi)關(guān)20的連接控制器 23輸出"11"作為待提供給第一連接器21的連接控制信號(hào)Sc。結(jié)果是,總 線Bll的A[3:0]被發(fā)送到總線B21的E[3:0],并且總線B13的C[3:0]被發(fā)送 到總線B23的G[3:0]。進(jìn)一步,為了從某一單元10獲取信號(hào)b作為第二選擇器2的第一輸入, 并從另一單元IO獲取信號(hào)e作為第二選擇器2的第二輸入,連接控制器23 輸出"ll"作為待提供給第二連接器22的連接控制信號(hào)Sc。結(jié)果,總線B12 的B[3:0]被發(fā)送到總線B22的F[3:0],并且總線B14的D[3:0]被發(fā)送到總線 B24的H[3:0]。進(jìn)一步,作為選擇控制信號(hào)Ss,選擇控制器3向第一選擇器1和第二 選擇器2輸出"01"。已經(jīng)接收到選擇控制信號(hào)Ss的第一選擇器1和第二 選擇器2被重新配置為與選擇控制信號(hào)Ss所指示的內(nèi)容相對(duì)應(yīng)的電路。也就是說(shuō),已經(jīng)接收到"01"作為選擇控制信號(hào)SS的第一選擇器1將輸入
IN11[1:0]和輸入IN12[1:0]放在一起以形成新的4比特?cái)?shù)據(jù),并輸出新生成 的數(shù)據(jù)(4比特)。這樣,信號(hào)a被輸出至選擇結(jié)果SE1的比特2,而信號(hào) d被輸出至選擇結(jié)果SE1的比特0,如圖4的ALU4內(nèi)部的※1所指示。因 此,分別地,信號(hào)a從總線B21被發(fā)送到輸入INll[O],而信號(hào)d從總線B23 被發(fā)送到輸入IN12
。
相似地,已經(jīng)接收到"01"作為選擇控制信號(hào)Ss的第二選擇器2將輸 入IN21[1:0]與輸入IN22[1:0]放在一起來(lái)形成新的4比特?cái)?shù)據(jù),并輸出新生 成的數(shù)據(jù)(4比特)。也就是說(shuō),如圖4的ALU 4內(nèi)部的※1所示,信號(hào)b 被輸出至選擇結(jié)果SE2的比特2,而信號(hào)e被輸出至選擇結(jié)果SE2的比特0。 因此,分別地,信號(hào)b從總線B22被發(fā)送到輸入IN21
,而信號(hào)e從總線 B24被發(fā)送到輸入IN22
。按照這種方式,執(zhí)行單元內(nèi)的邏輯運(yùn)算的分配 和布線的設(shè)置。
已接收到"001"作為ALU控制信號(hào)Sa的ALU4的電路結(jié)構(gòu)被重新配 置為AND電路。重新配置的ALU 4同時(shí)執(zhí)行選擇結(jié)果SE1[3:2]與選擇結(jié)果 SE2[3:2]的AND運(yùn)算以及選擇結(jié)果SE1[1:0]與選擇結(jié)果SE2[1:0]的AND運(yùn) 算。在進(jìn)行上述運(yùn)算之后,ALU 4向輸出總線B30輸出OUT[3:0]。這樣, 運(yùn)算結(jié)果c被輸出至輸出端的比特2,而運(yùn)算結(jié)果f被輸出至輸出端的比特 0。
如上所述,在這個(gè)實(shí)施例的可重新配置電路X中,單個(gè)ALU4用于兩 個(gè)運(yùn)算,即c=a&b的AND運(yùn)算和f=d&e的AND運(yùn)算。照此,可以由單個(gè) ALU 4在兩個(gè)部分處執(zhí)行邏輯運(yùn)算,使得只需要可重新配置電路的五個(gè)單元 10,而在圖25中示出的傳統(tǒng)情況下需要至少六個(gè)單元。同時(shí),只需要兩個(gè) 開(kāi)關(guān)20,而傳統(tǒng)情況下需要四個(gè)開(kāi)關(guān)。進(jìn)一步,傳統(tǒng)情況下所需的兩個(gè)ALU 4減少到單個(gè)ALU4。因此,通過(guò)將這些運(yùn)算施加到整個(gè)應(yīng)用,可以減小電 路面積。此外,可以高效執(zhí)行兩個(gè)邏輯運(yùn)算。
為了易于理解,々i設(shè)在這個(gè)實(shí)施例的說(shuō)明中,a、 b、 c、 d、 e和f均為]比特。然而,本實(shí)施例并不局限于這種情況。例如,a、 b和c可以均為1 比特,d、 e和f可以均為2比特。相反,a、 b和c可以均為2比特,d、 e 和f可以均為l比特。進(jìn)一步,a、 b、 c、 d、 e和f可以均為2比特。
選擇控制信號(hào)Ss及其輸出形式并不局限于圖5所示。例如,輸入 IN11[2:0]和輸入IN12
可以放入待輸出的4比特信號(hào)作為選擇控制信號(hào) Ss。相反,輸入IN11
和輸入IN12[2:0]可以放入待輸出的4比特信號(hào)作為 選擇控制信號(hào)Ss。進(jìn)一步,選擇控制信號(hào)Ss的比特寬度并不局限于2比特。 可以根據(jù)規(guī)定的輸出形式的數(shù)目來(lái)確定選擇控制信號(hào)Ss的比特寬度。
為了易于理解,假設(shè)在該實(shí)施例的說(shuō)明中第一選擇器l和第二選擇器2 各自有兩個(gè)輸入。然而,輸入的數(shù)目并不局限于此。在存在至少三個(gè)輸入的 情況下,從各輸入端提取的總比特?cái)?shù)目需要等于或小于ALU4的比特寬度。 只要滿(mǎn)足這個(gè)條件,就可以確定任意數(shù)目的輸入與輸出形式的組合(比特的 排列)。
將一般性地描述本發(fā)明的結(jié)構(gòu)。假設(shè)第一選擇器1和第二選擇器2的輸 入數(shù)目和輸出數(shù)目為輸入數(shù)目K(K為等于或大于2的自然數(shù))和輸入數(shù)目 1。進(jìn)一步,假設(shè)由ALU4處理的比特?cái)?shù)目為N比特(N為等于或大于2的 自然數(shù))。第一選擇器1和第二選擇器2基于選擇控制信號(hào)Ss進(jìn)行以下輸 出控制。也就是說(shuō),第一選擇器1和第二選擇器2以預(yù)定的次序?qū)Φ趇個(gè)輸 入(i為滿(mǎn)足K尺的整數(shù))的規(guī)定M[i]比特(M[i]為滿(mǎn)足Z^M[/]SW的整數(shù))
進(jìn)行重新排列,并輸出重新排列的輸入。進(jìn)一步,第一選擇器l和第二選擇 器2將ALU 4的輸入比特寬度N分為K段。假如K段比特分別為M[l]、 M[2]..... M[K],應(yīng)用如下7>式。
<formula>formula see original document page 24</formula>
換句話(huà)i兌,可以表達(dá)如下。<formula>formula see original document page 24</formula>
例如,假如如上所述K=2且N=4,則以下成為條件表達(dá)式。M[l] + M[2]"
具體地,以下組合可以用于相應(yīng)的情況。
—當(dāng)以上條件表達(dá)式滿(mǎn)足1+3^4時(shí)—1比特與3比特的組合(不考慮次
序)
—當(dāng)以上條件表達(dá)式滿(mǎn)足1+2^4時(shí)—1比特與2比特的組合(不考慮次
序)
一當(dāng)以上條件表達(dá)式滿(mǎn)足l + U4時(shí)—1比特與1比特的組合(不考慮次
序)
—當(dāng)以上條件表達(dá)式滿(mǎn)足2+2^4時(shí)—2比特與2比特的組合(不考慮次
序)
進(jìn)一步,例如,假如如上所述K=3且N=8,則以下成為條件表達(dá)式。 M[1] + M[2] + M[3]S8
具體地,以下組合可用于相應(yīng)的情況。
—當(dāng)以上條件表達(dá)式滿(mǎn)足1 + 1+6^8時(shí)—1比特、1比特與6比特的組合 (不考慮次序)
一當(dāng)以上條件表達(dá)式滿(mǎn)足1 + 1+5^8時(shí)—1比特、1比特與5比特的組合 (不考慮次序)
—當(dāng)以上條件表達(dá)式滿(mǎn)足1 + 1+4^8時(shí)—1比特、1比特與4比特的組合 (不考慮次序)
—當(dāng)以上條件表達(dá)式滿(mǎn)足于1 + 1+3^8時(shí)—1比特、1比特與3比特的組 合(不考慮次序)
—當(dāng)以上條件表達(dá)式滿(mǎn)足1 + 1+2£8時(shí)—1比特、1比特與2比特的組合 (不考慮次序)
一當(dāng)以上條件表達(dá)式滿(mǎn)足于1 + 1 + 1^8時(shí)—1比特、1比特與1比特的組 合(不考慮次序)
—當(dāng)以上條件表達(dá)式滿(mǎn)足1+2+5£8時(shí)—1比特、2比特與5比特的組合 (不考慮次序)一當(dāng)以上條件表達(dá)式滿(mǎn)足1+2+4^8時(shí)—1比特、2比特與4比特的組合 (不考慮次序)一當(dāng)以上條件表達(dá)式滿(mǎn)足1+2+3^8時(shí)—1比特、2比特與3比特的組合 (不考慮次序)_當(dāng)以上條件表達(dá)式滿(mǎn)足1+2+2^8時(shí)—1比特、2比特與2比特的組合 (不考慮次序)一當(dāng)以上條件表達(dá)式滿(mǎn)足1+3+4^8時(shí)—1比特、3比特與4比特的組合 (不考慮次序)—當(dāng)以上條件表達(dá)式滿(mǎn)足1+3+3^8時(shí)—1比特、3比特與3比特的組合 (不考慮次序)—當(dāng)以上條件表達(dá)式滿(mǎn)足2+2+4^8時(shí)—2比特、2比特與4比特的組合 (不考慮次序)一當(dāng)以上條件表達(dá)式滿(mǎn)足于2+2+3^8時(shí)—2比特、2比特與3比特的組 合(不考慮次序)—當(dāng)以上條件表達(dá)式滿(mǎn)足2+2+2^8時(shí)—2比特、2比特與2比特的組合 (不考慮次序)一當(dāng)以上條件表達(dá)式滿(mǎn)足于2+3+3^8時(shí)—2比特、3比特與3比特的組 合(不考慮次序)第一選擇器1和第二選擇器2以規(guī)定數(shù)目比特的組合獲取K段輸入數(shù) 據(jù),并將數(shù)據(jù)發(fā)送到ALU 4。能夠輸入N比特寬度的數(shù)據(jù)的ALU 4可以接 受K段輸入數(shù)據(jù)(從M[1]比特到M[K]比特)用于邏輯運(yùn)算。因此,可以通 過(guò)利用單個(gè)ALU 4來(lái)執(zhí)行K段輸入數(shù)據(jù)各自單獨(dú)的邏輯運(yùn)算。這樣可以減 小ALU的數(shù)目,以便減小電路面積。為了易于理解,假設(shè)在上述說(shuō)明中第 一選擇器1和第二選擇器2各自獲取相同數(shù)目(K段)的輸入數(shù)據(jù),并將數(shù) 據(jù)發(fā)送到ALU 4n。然而,各選擇器可以通過(guò)應(yīng)用必要的修改獲取不同段的 輸入數(shù)據(jù)。進(jìn)一步,在必要時(shí),選擇控制信號(hào)Ss可以采用分別輸入至第一 選擇器1和第二選擇器2的不同的值。相似地,連接控制信號(hào)Sc也可以采用分別輸入至第 一 連接器21和第二連接器22的不同的值。 (第二實(shí)施例)根據(jù)第二實(shí)施例的可重新配置電路與根據(jù)第一實(shí)施例的可重新配置電路的不同之處在于它被額外提供以多種邏輯運(yùn)算的指令,作為ALU 4的功 能,其中,對(duì)較高側(cè)比特和較低側(cè)比特執(zhí)行的所述指令的邏輯運(yùn)算彼此不同, 如圖7所示。其它結(jié)構(gòu)和動(dòng)作與第一實(shí)施例的情況相同。為了易于理解,假設(shè)如下。一可以輸入至ALU 4的比特寬度為4比特?!狝LU4能夠執(zhí)行多種邏輯運(yùn)算,對(duì)較高的一半比特(2個(gè)高位比特) 和較低的一半比特(2個(gè)低位比特)執(zhí)行的邏輯運(yùn)算彼此不同。然而,需要注意的是也可以通過(guò)做出必需的修改,以其它組合(例如, 高3比特與低1比特,或高1比特與低3比特)實(shí)現(xiàn)該實(shí)施例。如圖7所示,當(dāng)這個(gè)實(shí)施例的ALU接收到由"110"構(gòu)成的3比特ALU 控制信號(hào)Ss時(shí),它被重新配置為能夠執(zhí)行AND/OR指令(具體地,AND運(yùn) 算由高2比特執(zhí)行,而OR運(yùn)算由低2比特執(zhí)行)。進(jìn)一步,在接收到由"111" 構(gòu)成的ALU控制信號(hào)Sa時(shí),ALU 4被重新配置為能夠進(jìn)行OR/AND指令 (具體地,OR運(yùn)算由高2比特執(zhí)行,而AND運(yùn)算由低2比特執(zhí)行)。通過(guò)具有上述功能,該實(shí)施例可以在單元內(nèi)進(jìn)行邏輯運(yùn)算的分配和布線 的設(shè)置,以便例如,通過(guò)單個(gè)ALU 4實(shí)現(xiàn)以下由兩個(gè)表達(dá)式表達(dá)的運(yùn)算。 為了易于理解,假設(shè)在以下說(shuō)明中a,、 b,、 c,、 d,、 e,和f均為1比特。c,=a'&b,… (a,與b,的AND運(yùn)算)f,=d,|e, —- (d,與e,的OR運(yùn)算)在這種情況下,該處理與第一實(shí)施例相同,其中a、 b、 c和d分別被a,、 b,、 c,和d,取代,而且選擇控制器3輸出"01"作為選擇控制信號(hào)Ss的處理 也與第一實(shí)施例相同。然而,ALU控制器4輸出"110"作為ALU控制信 號(hào)Sa。已接收到"110"作為ALU控制信號(hào)Sa的ALU4被重新配置為AND/OR電路。結(jié)果,ALU 4執(zhí)行選擇結(jié)果SE1[3:2]與選擇結(jié)果SE2[3:2]的AND運(yùn) 算,以及選擇結(jié)果SE1[1:0]與選擇結(jié)果SE2[1:0]的OR運(yùn)算。然后,ALU 4 向輸出總線B30輸出OUT[3:0]輸出。也就是說(shuō),運(yùn)算結(jié)果c'被輸出至輸出 的比特2,而運(yùn)算結(jié)果f被輸出至輸出的比特0。以這種方式,即使運(yùn)算是在兩個(gè)部分處彼此不同的多種邏輯運(yùn)算,那么 單個(gè)ALU也可以執(zhí)行運(yùn)算。雖然可以通過(guò)將AND/OR指令和OR/AND指令用作ALU 4的新指令來(lái) 描述這個(gè)實(shí)施例,但也可以采用邏輯運(yùn)算指令的其它組合。進(jìn)一步,也可以 執(zhí)行每比特彼此不同的多種邏輯運(yùn)算。 (第三實(shí)施例)圖8是示出根據(jù)本發(fā)明第三實(shí)施例的可重新配置電路的單元結(jié)構(gòu)的方 框圖。圖8中示出的可重新配置電路的單元10的結(jié)構(gòu)與圖4中示出的第一 實(shí)施例的不同之處在于在ALU4的輸出級(jí)提供第三選擇器6;在這個(gè)實(shí)施 例中提供兩條圖4的總線B30;并且提供第一輸出總線B31和第二輸出總線 B32。然而,其它結(jié)構(gòu)和動(dòng)作與第一實(shí)施例的情況相同。ALU 4的輸出OUT[3:0]和選擇控制信號(hào)Ss被輸入至第三選擇器6。第 三選擇器6基于選擇控制信號(hào)Ss的值,以圖9所示的輸出形式生成第一輸 出OUT1和第二輸出OUT2。例如,考慮第一輸出0UT1為[3:0]的情況。這樣,在相應(yīng)情況下執(zhí)行以 下動(dòng)作。—當(dāng)選擇控制信號(hào)Ss為"00"時(shí),按照原樣輸出OUT[3:0]輸出?!?dāng)選擇控制信號(hào)Ss為"01"時(shí),生成并輸出4比特?cái)?shù)據(jù),在該4比特?cái)?shù)據(jù)中,分別將零("00")放入高半部(高2比特),而將輸出OUT[3:2]放入低半部(低2比特)。一當(dāng)選擇控制信號(hào)Ss為"10"時(shí),生成并輸出4比特?cái)?shù)據(jù),在該4比特?cái)?shù)據(jù)中,分別將輸出OUT[3:2]放入高半部(高2比特),而將零("00")放入低半部(低2比特)。一當(dāng)選擇控制信號(hào)SS為"11"時(shí),輸出所有4個(gè)比特均為零("0000")的4比特?cái)?shù)據(jù)。接下來(lái),考慮第二輸出OUT2為[3:0]的情況。這樣,在相應(yīng)情況下執(zhí)行 以下動(dòng)作。一當(dāng)選擇控制信號(hào)Ss為"00"時(shí),輸出所有4個(gè)比特("0000")均 為零的4比特?cái)?shù)據(jù)。一當(dāng)選擇控制信號(hào)Ss為"01"時(shí),生成并輸出4比特?cái)?shù)據(jù),在該4比 特?cái)?shù)據(jù)中,分別將零("00")放入高半部(高2比特),而將輸出OUT[1:0] 放入低半部(低2比特)?!?dāng)選擇控制信號(hào)Ss為"10"時(shí),生成并輸出4比特?cái)?shù)據(jù),在該4比 特?cái)?shù)據(jù)中,分別將輸出OUT[3:2]放入高半部(高2比特),而將零("00") 放入低半部(低2比特)?!?dāng)選擇控制信號(hào)Ss為"11"時(shí),按照原樣輸出OUT[3:0]輸出。第一輸出OUT1[3:0]通過(guò)第一輸出總線B31被輸出至單元10 (可重新 配置電路)的外部,而第二輸出OUT2[3:0]通過(guò)第二輸出總線B32被輸出至 單元10的外部。利用上述動(dòng)作,即使由單個(gè)ALU 4在兩個(gè)部分進(jìn)行邏輯運(yùn)算,那么輸 入和輸出中單元的比特位置也沒(méi)有改變。因此,不會(huì)由于在運(yùn)算之后比特位 置的改變而導(dǎo)致復(fù)雜化。因此,可以進(jìn)一步簡(jiǎn)化電路,從而能夠減小電路面積。為了易于理解,假設(shè)在這個(gè)實(shí)施例的說(shuō)明中,第三選擇器6具有兩個(gè)輸 出,即第一輸出總線B31和第二輸出總線B32。然而,輸出的數(shù)目并不局限 于兩個(gè)??梢源_定任意數(shù)目的輸出和輸出形式的組合(比特的排列)。進(jìn)一 步,可以單獨(dú)提供選擇控制信號(hào)Ss,以便僅供第三選擇器6使用。 (第四實(shí)施例)圖10示出根據(jù)本發(fā)明第四實(shí)施例的可重新配置電路系統(tǒng)的結(jié)構(gòu)。圖10 中示出的可重新配置電路系統(tǒng)Yl包括存儲(chǔ)設(shè)備31、系統(tǒng)控制器32和可重新配置電路X??梢圆捎玫谝坏降谌龑?shí)施例中所描述的任何可重新配置電路X。圖10中示出的虛線指示用于重新配置可重新配置電路的信號(hào)的流向,即所謂重新配置信息(配置碼)的流向。實(shí)線指示待利用應(yīng)用來(lái)處理的數(shù)據(jù)的流向。重新配置信息是上述連接控制信號(hào)Sc、選擇控制信號(hào)Ss和ALU 控制信號(hào)Sa。存儲(chǔ)設(shè)備31具有提前存儲(chǔ)的、用于將規(guī)定的應(yīng)用裝到可重新配置電路 X的重新配置信息。系統(tǒng)控制器32從存儲(chǔ)設(shè)備31的規(guī)定地方讀出重新配置 信息,并重新配置可重新配置電路X,從而執(zhí)行應(yīng)用。然后,系統(tǒng)控制器32讀出在存儲(chǔ)設(shè)備31中累積的數(shù)據(jù),并將其輸入至 可重新配置電路X。可重新配置電路X對(duì)所提供的數(shù)據(jù)執(zhí)行規(guī)定的處理,然 后將處理后的數(shù)據(jù)輸出至系統(tǒng)控制器32或外部。根據(jù)這個(gè)實(shí)施例的可重新配置電路系統(tǒng)Yl由第一至第三實(shí)施例的可重 新配置電路X中的一個(gè)構(gòu)成,使得可以減小重新配置應(yīng)用所需的ALU 4的 數(shù)目。結(jié)果,可以獲取總體上具有小電路面積的廉價(jià)可重新配置電路。存儲(chǔ)設(shè)備31的期望形式為ROM (只讀存儲(chǔ)器)、RAM (隨機(jī)存取存 儲(chǔ)器)、FLASH存儲(chǔ)器等。進(jìn)一步,系統(tǒng)控制器32的期望形式為微處理器 等。(第五實(shí)施例)圖11是根據(jù)本發(fā)明第五實(shí)施例的可重新配置電路系統(tǒng)的結(jié)構(gòu)的方框 圖。這個(gè)實(shí)施例的可重新配置電路Y2與第四實(shí)施例(圖10)的不同之處在 于它包括用戶(hù)接口部分3 3 。其它結(jié)構(gòu)和動(dòng)作與第四實(shí)施例的情況相同。用戶(hù)接口部分33通過(guò)用戶(hù)直接操作來(lái)獲取用戶(hù)指令信號(hào),或間接獲取 用戶(hù)指令信號(hào),然后向系統(tǒng)控制器32輸入該用戶(hù)指令信號(hào)。然后,系統(tǒng)控制器32根據(jù)該用戶(hù)指令信號(hào)執(zhí)行規(guī)定的處理,選擇最佳 應(yīng)用,獲取與應(yīng)用相對(duì)應(yīng)的重新配置信息,并重新配置可重新配置電路X。例如,如圖12所示,假設(shè)與多個(gè)應(yīng)用即從第一應(yīng)用到第M應(yīng)用(M為 自然數(shù))的應(yīng)用相對(duì)應(yīng)的重新配置信息,預(yù)先累積在存儲(chǔ)設(shè)備31中。當(dāng)用戶(hù)指令信號(hào)指示"M"時(shí),系統(tǒng)控制器32假定第M應(yīng)用待被重新配置。因 此,系統(tǒng)控制器32從M000地址讀出重新配置信息,并重新配置可重新配 置電i 各X。通過(guò)提供用戶(hù)接口部分33,該實(shí)施例的可重新配置電路系統(tǒng)Y2可以以這種方式根據(jù)用戶(hù)指令信號(hào)來(lái)選擇最佳應(yīng)用。針對(duì)單個(gè)應(yīng)用選自多個(gè)應(yīng)用的情況描述該實(shí)施例。然而,本實(shí)施例并不局限于這種情況。同一應(yīng)用可以選擇多種算法或模塊。用戶(hù)接口部分33的期望形式是不僅可以由用戶(hù)直接操作的鍵盤(pán)、數(shù)字 鍵區(qū)、接觸式傳感器、各種按鈕或各種開(kāi)關(guān)構(gòu)成,還可以由用戶(hù)間接操作的 各種感應(yīng)設(shè)備構(gòu)成,例如CCD (電荷耦合器件)、CMOS傳感器、面部檢 測(cè)傳感器和溫度傳感器。 (第六實(shí)施例)圖13是示出根據(jù)本發(fā)明第六實(shí)施例的可重新配置電路系統(tǒng)的結(jié)構(gòu)的方 框圖。這個(gè)實(shí)施例的可重新配置電路Y3與第四實(shí)施例(圖10)不同之處在 于它包括記錄介質(zhì)34和記錄介質(zhì)讀出設(shè)備35。其它結(jié)構(gòu)和動(dòng)作與第四實(shí)施 例的情況相同。諸如音樂(lè)信息和視頻信息的各種內(nèi)容信息以及用于處理內(nèi)容信息的最 佳應(yīng)用的重新配置信息累積在記錄介質(zhì)34中。重新配置信息是上述的連接 控制信號(hào)Sc、選擇控制信號(hào)Ss和ALU控制信號(hào)Sa。記錄介質(zhì)讀出設(shè)備35從記錄介質(zhì)34讀出內(nèi)容信息和重新配置信息,并 向系統(tǒng)控制器32輸入該信息。然后,系統(tǒng)控制器32至少將所述內(nèi)容信息作 為數(shù)據(jù)存儲(chǔ)到存儲(chǔ)設(shè)備31,并基于所述重新配置信息重新配置可重新配置 電路X。通過(guò)提供記錄介質(zhì)34和記錄介質(zhì)讀出設(shè)備35,這個(gè)實(shí)施例的可重新配 置電路系統(tǒng)Y3可以選擇并實(shí)施用于處理內(nèi)容信息的最佳應(yīng)用。記錄介質(zhì)34的期望形式是CD (光盤(pán),Compact Disc) 、 DVD(數(shù)字萬(wàn) 能f茲盤(pán),Digital Versatile Disc ) 、 BD(藍(lán)光石茲盤(pán),Blue-ray Disc ) 、 HD-DVD(高清dvd) 、 sd存儲(chǔ)卡(安全數(shù)字存儲(chǔ)卡)等。記錄介質(zhì)讀出設(shè)備35 的期望形式是與記錄介質(zhì)34相對(duì)應(yīng)的各種驅(qū)動(dòng)器中的一種,例如cd驅(qū)動(dòng) 器、dvd驅(qū)動(dòng)器、bd驅(qū)動(dòng)器、hd-dvd驅(qū)動(dòng)器、sd存儲(chǔ)卡驅(qū)動(dòng)器或由與 多種記錄介質(zhì)相對(duì)應(yīng)的多驅(qū)動(dòng)器構(gòu)成的設(shè)備。 (第七實(shí)施例)圖14是示出根據(jù)本發(fā)明第七實(shí)施例的可重新配置電路設(shè)置方法的流程 圖。圖14中示出的可重新配置電路設(shè)置方法由四個(gè)步驟構(gòu)成。以該流程圖 所圖示的方法由運(yùn)算器(未示出)預(yù)先執(zhí)行。在第 一 步驟中,向運(yùn)算器(未示出)提供包括應(yīng)用的電路信息的源代碼, 并提取源代碼中的邏輯運(yùn)算部分。在第二步驟中,從所提取的多個(gè)邏輯運(yùn)算 部分中搜索執(zhí)行p比特(p為自然數(shù))或更少比特的邏輯運(yùn)算的部分和執(zhí)行 q比特或更少比特的邏輯運(yùn)算的部分。當(dāng)結(jié)果沒(méi)有找到對(duì)應(yīng)的部分或只找到 一個(gè)部分時(shí),程序跳轉(zhuǎn)到第四步驟,在第四步驟中執(zhí)行正常的邏輯運(yùn)算分配 和布線設(shè)置。在第三步驟中,判決在具有p比特或更少比特的邏輯運(yùn)算的所搜索部分 的邏輯運(yùn)算指令與在具有q比特或更少比特的邏輯運(yùn)算的部分的邏輯運(yùn)算 指令是否是相同的邏輯運(yùn)算。如果判決結(jié)果為它們是彼此不同的多種邏輯運(yùn) 算,則程序跳轉(zhuǎn)到第四步驟,在第四步驟中執(zhí)行正常的邏輯運(yùn)算分配和布線 設(shè)置。在第四步驟中,具有p比特或更少比特的邏輯運(yùn)算的部分的邏輯運(yùn)算指 令和具有q比特或更少比特的邏輯運(yùn)算的部分的邏輯運(yùn)算指令,已經(jīng)被搜 索并判決,并經(jīng)歷"將邏輯運(yùn)算分配給單個(gè)alu并設(shè)置布線"的處理。進(jìn) 一步,對(duì)不滿(mǎn)足第二步驟或第三步驟中的條件的邏輯運(yùn)算部分執(zhí)行"執(zhí)行正 常的邏輯運(yùn)算分配和布線設(shè)置,,的處理。輸出以上述方式獲取的邏輯運(yùn)算分 配/布線信息。這里需要注意的是alu4具有r比特寬度的輸入端(r為滿(mǎn) 足r^p+q的自然數(shù))。利用這個(gè)實(shí)施例,可以在單個(gè)ALU中排列P比特邏輯運(yùn)算和Q比特邏 輯運(yùn)算。因此,可以減少ALU的數(shù)目,以便可以減小電路面積。在這個(gè)實(shí) 施例中,為了提供一般性的說(shuō)明,對(duì)P和Q進(jìn)行了區(qū)分。然而,只要P與Q 的和等于或小于ALU4的比特寬度,P和Q就可以采用相同的值。 (第八實(shí)施例)圖15是示出根據(jù)本發(fā)明第八實(shí)施例的可重新配置電路的設(shè)置方法的流 程圖。這個(gè)實(shí)施例的可重新配置電路的設(shè)置方法與第七實(shí)施例(圖14)的 不同之處在于針對(duì)在第三步驟中判決為不滿(mǎn)足條件的情況,在第四步驟中增 加處理。其它結(jié)構(gòu)和動(dòng)作與第七實(shí)施例的情況相同。第四步驟執(zhí)行如下處理將在具有P比特或更少比特的邏輯運(yùn)算的部分 的邏輯運(yùn)算指令和在具有Q比特或更少比特的部分的邏輯運(yùn)算指令分配給 單個(gè)ALU 4并設(shè)置其布線,其中兩個(gè)部分已經(jīng)被搜索并判決。進(jìn)一步,當(dāng) 判決出在第三步驟中滿(mǎn)足條件時(shí),將用于進(jìn)行單一種類(lèi)的邏輯運(yùn)算的指令指 定為待由相應(yīng)ALU 4執(zhí)行的指令。同時(shí),如果判決出條件不滿(mǎn)足,則指定 在ALU 4的高比特和低比特進(jìn)行多種彼此不同的邏輯運(yùn)算的指令。以這種方式,利用這個(gè)實(shí)施例的可重新配置電路的設(shè)置方法可以在判決 出第三步驟中條件不滿(mǎn)足時(shí),通過(guò)在將執(zhí)行的第四步驟中增加處理來(lái)進(jìn)行更 有效的邏輯運(yùn)算分配和布線設(shè)置。這樣,可以進(jìn)一步降低ALU 4的數(shù)目, 以便減小電路面積。為了易于理解,通過(guò)參照第二步驟到第四步驟將在兩個(gè)部分的邏輯運(yùn)算 分配給單個(gè)ALU 4的情況,來(lái)描述這個(gè)實(shí)施例。然而,也可以通過(guò)做出必 需的修改將該實(shí)施例應(yīng)用于三個(gè)邏輯運(yùn)算的情況。 (第九實(shí)施例)圖16是示出根據(jù)本發(fā)明第九實(shí)施例的可重新配置電路的設(shè)置方法的流 程圖。這個(gè)實(shí)施例的可重新配置電路的設(shè)置方法與第七實(shí)施例(圖14)的 不同之處在于在第一步驟之前的階段提供外部信息輸入步驟和源代碼改變 步驟。其它結(jié)構(gòu)和動(dòng)作與第七實(shí)施例的情況相同。例如,考慮更高級(jí)模塊將參數(shù)設(shè)為"弁(.WL(8),"的狀態(tài),使得在圖17中示出的初始狀態(tài)中,按源代碼被設(shè)為4比特加法器的"加法器"模塊被實(shí)例 化為8比特加法器。在這種狀態(tài)下,可重新配置電路通過(guò)將上述"加法器" 模塊視為8比特加法器來(lái)進(jìn)行邏輯運(yùn)算的分配和布線設(shè)置。在外部信息輸入步驟中,基于通過(guò)用戶(hù)接口部分33等獲取的外部信息 來(lái)更優(yōu)化應(yīng)用。因此,在源代碼的規(guī)定部分生成源代碼改變信息。例如,當(dāng) 基于外部信息判決加法器的比特精度為4比特精度足夠時(shí),生成源代碼改變 信息,使得那行被"辨.WL(4),"取代。例如,如果是第十行,則源代碼改變 信息被設(shè)為"10:#(.WL(4)"。在源代碼改變步驟中,基于源代碼改變信息改變?cè)创a的規(guī)定位置。然 后,生成最佳代碼,并通過(guò)將其用作新源代碼來(lái)執(zhí)行第一步驟及其后的程序。例如,當(dāng)輸入"10i(.WL(4)"作為源代碼改變信息時(shí),在源代碼改變步 驟中,源代碼的第十行被"#(.WL(4)"取代。以這種方式,可以利用這個(gè)實(shí)施例的可重新配置電路的設(shè)置方法,通過(guò) 添加外部信息輸入步驟和源代碼改變步驟,來(lái)執(zhí)行更有效的邏輯運(yùn)算分配和 布線設(shè)置,從而實(shí)現(xiàn)對(duì)外部信息最佳的應(yīng)用電路。為了易于理解,通過(guò)參照將參數(shù)的比特?cái)?shù)目用作改變目標(biāo)的情況來(lái)描述 這個(gè)實(shí)施例。然而,本實(shí)施例并不局限于這種情況。整個(gè)算法都可以被視為 改變目標(biāo)。(第十實(shí)施例)圖18是示出根據(jù)本發(fā)明第十實(shí)施例的可重新配置電路的設(shè)置方法的流 程圖。這個(gè)實(shí)施例的可重新配置電路的設(shè)置方法與第七實(shí)施例(圖14)的 不同之處在于在第四步驟之后的階段提供故障判決步驟。其它結(jié)構(gòu)和動(dòng)作與 第七實(shí)施例的情況相同。在故障判決步驟中,預(yù)先輸入指示可重新配置電路中的故障單元位置的 故障單元位置信息。然后,用作為在第四步驟中執(zhí)行的處理的結(jié)果所提供的 "分配邏輯運(yùn)算的單元的位置信息"來(lái)核對(duì)故障單元位置信息。當(dāng)核對(duì)結(jié)果發(fā)現(xiàn)兩個(gè)位置一致時(shí),判決出向故障單元分配了邏輯運(yùn)算。 一旦做出這種判決,就反饋錯(cuò)誤(Error),以便再次進(jìn)行第四步驟。當(dāng)核對(duì)結(jié)果發(fā)現(xiàn)兩個(gè)位 置不一致時(shí),判決出沒(méi)有向故障單元分配邏輯運(yùn)算。 一旦做出這種判決,就 輸出在第四步驟中執(zhí)行的處理結(jié)果作為最終的邏輯運(yùn)算分配/布線設(shè)置信 自、圖19示出以具有x軸和y軸的兩維形式表達(dá)的故障單元位置信息的示 例。當(dāng)位于乂=4且乂=2的單元有故障時(shí),故障單元位置信息被表達(dá)為"(4, 2),,。在這種情況下,當(dāng)邏輯運(yùn)算分配給位于(4, 2)的單元,并且設(shè)置 其布線時(shí),故障判決步驟向第四步驟返回Error。一旦接收到Error,第四步驟通過(guò)利用除了位于(4, 2)單元之外的單 元,再次執(zhí)行邏輯運(yùn)算分配/布線設(shè)置處理。在這個(gè)示例中,描述選擇位于 (3, 3)的單元作為替代的情況。這樣,在故障判決步驟中判決出邏輯運(yùn)算 沒(méi)有分配給故障單元。 一旦做出這種判決,就輸出在第四步驟中執(zhí)行的處理 的結(jié)果作為最終的邏輯運(yùn)算分配/布線設(shè)置信息。利用這個(gè)實(shí)施例的可重新配置電路的設(shè)置方法,可以通過(guò)提供故障判決 步驟,以上述方式避免邏輯運(yùn)算被分配給故障單元來(lái)提高產(chǎn)量。因此,仍然 可以提供價(jià)格低廉的可重新配置電路。 (第十一實(shí)施例)圖20是示出根據(jù)本發(fā)明第十一實(shí)施例的可重新配置電路XI的結(jié)構(gòu)的 方框圖,圖21是示出可重新配置電路XI的主要部分的結(jié)構(gòu)的方框圖,圖 22是示出連接到可重新配置電路的單元10a的開(kāi)關(guān)20a的結(jié)構(gòu)的方框圖,而 圖23是示出可重新配置電路的單元10a的結(jié)構(gòu)的方框圖。圖23中示出的可重新配置電路的單元10a在圖20的可重新配置電路 XI中排列成矩陣形式。進(jìn)一步,圖22中示出的開(kāi)關(guān)20a在圖20的可重新 配置電路X1中的相鄰單元10a之間排列成矩陣形式。在圖20中示出的可重新配置電路X1中,多個(gè)單元10a和多個(gè)開(kāi)關(guān)20a 在水平和豎直方向上交替地排列成矩陣形式。每個(gè)單元10a包括ALU 4作為基本元件。進(jìn)一步,每個(gè)開(kāi)關(guān)20a均包括第一連接器21a和第二連接器22a 作為基本元件。這樣,例如,輸出信號(hào)a的單元10a和輸出信號(hào)d的單元10a 通過(guò)第一連接器21a連接到目標(biāo)單元10a的ALU4的一個(gè)輸入端。進(jìn)一步, 輸出信號(hào)b的單元10a和輸出信號(hào)e的單元10a通過(guò)第二連接器22a連接到 ALU4的另一個(gè)輸入端。在目標(biāo)單元10a中,ALU4執(zhí)行從第一連接器2la 提供的信號(hào)a與從第二連接器22a提供的信號(hào)b的邏輯運(yùn)算,并輸出運(yùn)算結(jié) 果c。進(jìn)一步,ALU4執(zhí)行從第一連接器21a提供的信號(hào)d與從第二連接器 22a提供的信號(hào)e的邏輯運(yùn)算,并輸出運(yùn)算結(jié)果f。這時(shí),信號(hào)a與信號(hào)b 的邏輯運(yùn)算以及信號(hào)d與信號(hào)e的邏輯運(yùn)算是由單個(gè)ALU 4執(zhí)行的。本發(fā) 明的技術(shù)特征在于由單個(gè)ALU 4執(zhí)行多個(gè)邏輯運(yùn)算。在這個(gè)實(shí)施例中,沒(méi) 有提供根據(jù)第一實(shí)施例(圖4)的單元10的第一選擇器、第二選擇器和選 擇控制器3。作為替代,提供給開(kāi)關(guān)20a的第一連接器21a和第二連接器22a 執(zhí)行將比特放在一起的處理。將參見(jiàn)圖21-圖24更具體地描述該處理。開(kāi)關(guān)20a包括第一連接器21a、第二連接器22a和連接控制器23??偩€ Bll和總線B13各自發(fā)送從其它單元提供的信號(hào)。從總線Bll提供的信號(hào) A[3:0]、從總線B13提供的信號(hào)C[3:0]和從連接控制器23提供的2比特連 接控制信號(hào)Sc被輸入至第一連接器2la。第一連接器21a基于選擇控制信號(hào) Sc的值,從多種輸出形式中選擇單個(gè)輸出形式,在多種輸出形式中來(lái)自規(guī) 定位置的信號(hào)被放入形成4比特?cái)?shù)據(jù)。然后,第一連接器21a基于所選擇的 形式從總線Bll和B13獲取信號(hào),并輸出所獲取的信號(hào)作為E[3:0]。更具體地,第一連接器21a包括第---第四開(kāi)關(guān)部分,并通過(guò)那些開(kāi)關(guān)部分控制以下示出的四個(gè)狀態(tài)的切換。開(kāi)關(guān)控制是基于來(lái)自連接控制器 23的連接控制信號(hào)Sc進(jìn)行的??偩€B21將第一連接器21a的輸出E[3:0]輸 出至外部單元。(第一開(kāi)關(guān)控制)第 一開(kāi)關(guān)部分執(zhí)行總線B11和總線B21的4比特[3:0]之間的連接/隔離。 (第二開(kāi)關(guān)控制)第二開(kāi)關(guān)部分執(zhí)行總線Bll與總線B21的2比特[l:0]之間的連接/隔離, 以及總線B13與總線B21的2比特[1:0]之間的連接/隔離。 (第三開(kāi)關(guān)控制)第三開(kāi)關(guān)部分執(zhí)行總線Bll和總線B21的2比特[3:2]之間的連接/隔離 以及總線B13和總線B21的2比特[3:2]之間的連接/隔離。 (第四開(kāi)關(guān)控制)第四開(kāi)關(guān)控制執(zhí)行總線B13和總線B21的4比特[3:0]之間的連接/隔離。 例如,如圖24所示,執(zhí)行以下動(dòng)作。 一連接控制信號(hào)Sc為"00",則照原樣輸出A[3:0]。 一選擇控制信號(hào)Ss為"01",則將A[1:0]和C[1:0]放在一起以生成并輸出4比特?cái)?shù)據(jù)。一選擇控制信號(hào)Ss為"10",則將輸入A[3:2]和輸入C[3:2]放在一起 以生成并輸出4比特?cái)?shù)據(jù)。一連接控制信號(hào)Ss為"11",則照原樣輸出輸入C[3:0]。因此,開(kāi)關(guān)20a的總線B21按照[3:0]狀態(tài)下的原樣將從第一連接器21a 輸出的E[3:0]發(fā)送到ALU4的輸入端IN1。第二連接器22a具有與第一連接 器21a相同的結(jié)構(gòu),使得與第二連接器22a相對(duì)應(yīng)的總線B23按照[3:0]狀態(tài) 下的原樣將從第二連接器22a輸出的G[3:0]發(fā)送到ALU 4的輸入端IN2??芍匦屡渲秒娐返膯卧猯Oa由ALU4和ALU控制器5構(gòu)成。ALU控制 器5輸出3比特ALU控制信號(hào)Sa,用于給予待在ALU4執(zhí)行的邏輯運(yùn)算指 令。ALU 4分別通過(guò)總線B21從第一連接器21a接收輸入端IN1[3:0]的供 應(yīng),通過(guò)總線B23從第二連接器22a接收輸入端IN2[3:0]的供應(yīng),并從ALU 控制器5接收ALU控制信號(hào)Sa。 一旦接收到這些信號(hào)的供應(yīng),ALU4就基 于ALU控制信號(hào)Sa的值,執(zhí)行與圖7的表格相對(duì)應(yīng)的邏輯運(yùn)算,并向輸出 總線B30輸出運(yùn)算結(jié)果作為輸出OUT[3:0]。輸出總線B30向單元10a的外 部(可重新配置電路)發(fā)送輸出OUT[3:0]。接下來(lái),將描述以上述方式構(gòu)成的這個(gè)實(shí)施例的可重新配置電路XI的 動(dòng)作。在下文中,在假設(shè)可重新配置電路被構(gòu)成為具有4比特作為運(yùn)算比特 寬度的情況下提供說(shuō)明。然而,需要注意的是,也可以通過(guò)做出必需的修改, 利用其它比特寬度來(lái)實(shí)現(xiàn)該實(shí)施例。這里的描述是實(shí)現(xiàn)以下兩個(gè)邏輯運(yùn)算的情況。c=a&b — ( a與b的AND運(yùn)算) f=d|e — ( d與e的OR運(yùn)算)為了易于理解,布i設(shè)在以下描述中a、 b、 c、 d、 e和f均為1比特??芍匦屡渲秒娐稾]找到在應(yīng)用中的多個(gè)邏輯運(yùn)算之間執(zhí)行共同邏輯運(yùn) 算的部分,并將運(yùn)算比特寬度小于或等于2比特的部分放入單段數(shù)據(jù)以生成 新的4比特?cái)?shù)據(jù),并執(zhí)行所生成新數(shù)據(jù)(4比特)的邏輯運(yùn)算。邏輯運(yùn)算是 由單個(gè)ALU4完成的。連接控制器23向第一連接器21a和第二連接器22a輸出"01"作為指 示輸出形式的2比特連接控制信號(hào)Sc。已經(jīng)接收到"01"連接控制信號(hào)Sc 的第一連接器21a將從總線Bl]獲取的A[1:0]和從總線B13獲取的C[1:0] 放在一起來(lái)形成新的4比特?cái)?shù)據(jù),并輸出新生成的4比特?cái)?shù)據(jù)。這樣,分別 將信號(hào)a輸出至E[3:0]的比特2,將信號(hào)d輸出至E[3:0]的比特0。相似地,已經(jīng)接收到"01"選擇控制信號(hào)Sc的第二連接器22a將從總 線B12獲取的B[1:0]和從總線B14獲取的D[l:0]放在一起來(lái)形成新的4比特 數(shù)據(jù),并輸出新生成的4比特?cái)?shù)據(jù)。這樣,分別將信號(hào)b輸出至G[3:0]的比 特2,將信號(hào)e輸出至G[3:0]的比特0。如上所述,可以由單個(gè)ALU4執(zhí)行兩個(gè)部分的邏輯運(yùn)算,使得如圖20 所示,傳統(tǒng)4吏用的兩個(gè)ALU可以減少為單個(gè)ALU。通過(guò)將這些運(yùn)算施加到 整個(gè)應(yīng)用中,可以減小電路面積。此外,這個(gè)實(shí)施例只需要五個(gè)單元,而在 傳統(tǒng)情況下需要至少六個(gè)單元。同時(shí),只需要兩個(gè)開(kāi)關(guān)20,而在傳統(tǒng)情況 下需要四個(gè)開(kāi)關(guān)。此外,可以高效地執(zhí)行多個(gè)邏輯運(yùn)算。為了易于理解,々i設(shè)在這個(gè)實(shí)施例的說(shuō)明中a、 b、 c、 d、 e和f均為1比特。然而,該實(shí)施例并不局限于這種情況。例如,a、 b和C可以均為1比特,而d、 e和f可以均為2比特。相反,a、 b和c可以均為2比特,并 且d、 e和f可以均為1比特。此外,a、 b、 c、 d、 e和f可以均為2比特。連接控制信號(hào)Sc及其輸出形式并不局限于圖24所示的。例如,可以將 A[2:0]和C[O]放在一起來(lái)生成4比特?cái)?shù)據(jù),并輸出該4比特?cái)?shù)據(jù)。相反,可 以將A[O]和C[2:0]放在一起來(lái)生成4比特?cái)?shù)據(jù),并輸出該4比特?cái)?shù)據(jù)。進(jìn)一 步,連接控制信號(hào)Sc的比特寬度并不局限于2比特??梢愿鶕?jù)輸出形式的 規(guī)定數(shù)目來(lái)確定連接控制信號(hào)Sc的比特寬度。為了易于理解,假設(shè)在這個(gè)實(shí)施例的說(shuō)明中向第 一連接器21 a提供的數(shù) 據(jù)是通過(guò)兩條總線即總線Bll和總線B13來(lái)發(fā)送的數(shù)據(jù)。然而,數(shù)據(jù)并不 局限于此。也可以利用向第一連接器21a提供通過(guò)至少三條總線發(fā)送的數(shù)據(jù) 的結(jié)構(gòu)來(lái)實(shí)現(xiàn)該實(shí)施例。在這種情況下,存在所生成的數(shù)據(jù),其中從各輸入 端提取的比特總數(shù)目等于或小于ALU 4的比特寬度。然后,可以確定數(shù)據(jù) 和任意數(shù)目的輸入/輸出形式(比特的排列)的組合。為了易于理解,這個(gè)實(shí)施例的單元10a具有如圖23所示的結(jié)構(gòu)。然而, 可以提供如圖8所示的第三選擇器6、第 一輸出總線B31 、第二輸出總線B32 和選擇控制器3以調(diào)節(jié)ALU輸出端的比特位置。進(jìn)一步,為了易于理解, 假設(shè)在該實(shí)施例的說(shuō)明中第一連接器21a和第二連接器22a具有相同數(shù)目的 輸入端。然而,通過(guò)做出必要的修改,每個(gè)連接器均可以獲取不同段的輸入 數(shù)據(jù)。進(jìn)一步,在必要時(shí),連接控制信號(hào)Sc也可以采用分別待輸入至第一 連接器21a和第二連接器22a的不同值。已經(jīng)參照最優(yōu)實(shí)施例詳細(xì)描述了本發(fā)明。然而,在不脫離所附權(quán)利要求 書(shū)的精神和廣義范圍的情況下,單元的各種組合和排列也是可能的。
權(quán)利要求
1、一種可重新配置的電路,包括多個(gè)單元、總線和用于通過(guò)所述總線的網(wǎng)絡(luò)將各所述單元彼此連接起來(lái)的連接器,其中每個(gè)所述單元均包括第一選擇器,接受K段數(shù)據(jù),然后輸出單段數(shù)據(jù),K為大于或等于2的自然數(shù);第二選擇器,接受K段數(shù)據(jù),然后輸出單段數(shù)據(jù),K為大于或等于2的自然數(shù);算術(shù)邏輯單元,以N比特接受所述第一選擇器的輸出和所述第二選擇器的輸出,并對(duì)所接受的N比特?cái)?shù)據(jù)執(zhí)行選自多個(gè)邏輯運(yùn)算的邏輯運(yùn)算,N為大于或等于2的自然數(shù);選擇控制器,向所述第一選擇器和所述第二選擇器提供用于指示待選擇數(shù)據(jù)的數(shù)據(jù)選擇控制信號(hào);和ALU控制器,向所述算術(shù)邏輯單元提供用于指定待執(zhí)行的所述邏輯運(yùn)算的ALU控制信號(hào),其中,所述第一選擇器、所述第二選擇器和所述算術(shù)邏輯單元能夠基于所述選擇控制信號(hào)和所述ALU控制信號(hào)重新配置;并且所述第一選擇器和所述第二選擇器基于所述選擇控制信號(hào)以規(guī)定的次序重新排列第i段數(shù)據(jù)的M[i]比特,并輸出所述重新排列的數(shù)據(jù),i為滿(mǎn)足i≤K的自然數(shù),并且M[i]為滿(mǎn)足<math-cwu><![CDATA[<math> <mrow><msubsup> <mi>Σ</mi> <mrow><mi>i</mi><mo>=</mo><mn>1</mn> </mrow> <mi>K</mi></msubsup><mi>M</mi><mo>[</mo><mi>i</mi><mo>]</mo><mo>≤</mo><mi>N</mi> </mrow></math>]]></math-cwu><!--img id="icf0001" file="S2008100063965C00011.gif" wi="104" he="33" img-content="drawing" img-format="tif"/-->的整數(shù)。
2、 根據(jù)權(quán)利要求1所述的可重新配置的電路,其中所述算術(shù)邏輯單元執(zhí)行 由所述alu控制信號(hào)指定的至少一種邏輯運(yùn)算。
3、 根據(jù)權(quán)利要求1所述的可重新配置的電路,其中所述算術(shù)邏輯單元能夠 執(zhí)行每比特均彼此不同的多種邏輯運(yùn)算。
4、 根據(jù)權(quán)利要求1所述的可重新配置的電路,進(jìn)一步包括第三選擇器,其 接受單段數(shù)據(jù),然后輸出K,段數(shù)據(jù),K,為大于或等于2的自然數(shù),其中,所述第三選擇器能夠基于所述選擇控制信號(hào)重新配置;并且所述第三選擇器通過(guò)基于所述選擇控制信號(hào)從多個(gè)輸出形式組合中選擇單 個(gè)組合以生成各輸出數(shù)據(jù),其中所述多個(gè)輸出形式組合是作為所述算術(shù)邏輯單 元執(zhí)行運(yùn)算的結(jié)果而獲取的。
5、 一種可重新配置的電^^孚、統(tǒng),包括 根據(jù)權(quán)利要求1所述的可重新配置的電路;存儲(chǔ)設(shè)備,存儲(chǔ)所述選擇控制信號(hào)的值和所述ALU控制信號(hào)的值;和 系統(tǒng)控制器,從所述存儲(chǔ)設(shè)備中選擇分別待重新配置以用于處理規(guī)定應(yīng)用的所述選擇控制信號(hào)和所述ALU控制信號(hào),并向所述可重新配置的電路提供所選擇的信號(hào)以重新配置所述多個(gè)單元。
6、 根據(jù)權(quán)利要求5所述的可重新配置的電路系統(tǒng),進(jìn)一步包括用戶(hù)接口部 分,其通過(guò)從用戶(hù)接收指令來(lái)輸出用戶(hù)指令信號(hào),其中,所述系統(tǒng)控制器基于所述用戶(hù)指令信號(hào),重新配置用于處理所述應(yīng)用的所 述多個(gè)單元。
7、 根據(jù)權(quán)利要求5所述的可重新配置的電路系統(tǒng),進(jìn)一步包括記錄介質(zhì)讀 出設(shè)備,其從記錄介質(zhì)讀出所記錄的數(shù)據(jù),并輸出介質(zhì)指令信號(hào),其中,所述系統(tǒng)控制器基于所述介質(zhì)指令信號(hào),重新配置用于處理所述應(yīng)用的所 述多個(gè)單元。
8、 一種可重新配置電路的設(shè)置方法,為了根據(jù)源代碼執(zhí)行寫(xiě)在所述源代碼 中的各邏輯運(yùn)算,所述方法將所述各邏輯運(yùn)算分配給可重新配置的電路的各算 術(shù)邏輯單元,并設(shè)置各所述算術(shù)邏輯單元之間的布線,所述方法包括第一步驟,用于從所述源代碼中提取所述邏輯運(yùn)算;第二步驟,用于判決在所述第一步驟中提取的所述邏輯運(yùn)算是小于等于P 比特還是小于等于Q比特,P與Q均為自然數(shù);第三步驟,用于判決小于等于P比特的所述邏輯運(yùn)算是否與小于等于Q比 特的所述邏輯運(yùn)算是同一種運(yùn)算;并且第四步驟,用于以這樣的方式執(zhí)行所述邏輯運(yùn)算的分配和所述布線的設(shè)置 使得在所述第三步驟中被判決為同一種邏輯運(yùn)算的所述小于等于P比特的邏輯運(yùn)算以及所述小于等于Q比特的邏輯運(yùn)算,能由能接受R比特寬度數(shù)據(jù)的單個(gè)算術(shù)邏輯單元執(zhí)行,R為滿(mǎn)足R^P+Q的自然數(shù)。
9、 根據(jù)權(quán)利要求8所述的可重新配置電路的設(shè)置方法,其中,當(dāng)在所述第 三步驟中判決所述小于等于P比特的邏輯運(yùn)算和所述小于等于Q比特的邏輯運(yùn) 算的種類(lèi)彼此不同時(shí),以這樣的方式在所述第四步驟中執(zhí)行所述邏輯運(yùn)算的分 配和所述布線的設(shè)置使得對(duì)較高側(cè)的Q比特和較低側(cè)的P比特執(zhí)行所述不同種 類(lèi)的邏輯運(yùn)算。
10、 一種可重新配置的電路,包括多個(gè)單元、總線、用于通過(guò)所述總線的 網(wǎng)絡(luò)將各所述單元彼此連接起來(lái)的連接器,和連接控制器,其中每個(gè)所述單元 均包括算術(shù)邏輯單元,具有N比特的輸入端口,所述N比特的輸入端口對(duì)從所述 輸入端口輸入的N比特?cái)?shù)據(jù)執(zhí)行選自多個(gè)邏輯運(yùn)算的邏輯運(yùn)算,N為大于或等 于2的自然數(shù);和ALU控制器,向所述算術(shù)邏輯單元提供指定待執(zhí)行的所述邏輯運(yùn)算的ALU 控制信號(hào),其中,所述連接控制器向所述連接器提供連接控制信號(hào),所述連接控制信號(hào)用于指定通過(guò)網(wǎng)絡(luò)彼此連接的所述總線的連接形式;所述算術(shù)邏輯單元能夠基于所述ALU控制信號(hào)重新配置;并且 K條所述總線,K為大于或等于2的自然數(shù),在基于所述連接控制信號(hào)以規(guī)定的次序排列第i條總線的規(guī)定M[i]比特之后,被連接到所述輸入端口, i為滿(mǎn)足KK的自然數(shù),并且M[i]為滿(mǎn)足Z二,[,']2 7V的整數(shù)。
11、 根據(jù)權(quán)利要求IO所述的可重新配置的電路,其中所述算術(shù)邏輯單元執(zhí) 行由所述ALU控制信號(hào)指定的至少一種邏輯運(yùn)算。
12、 根據(jù)權(quán)利要求IO所述的可重新配置的電路,其中所述算術(shù)邏輯單元能 夠執(zhí)行每比特均彼此不同的多種邏輯運(yùn)算。
13、 根據(jù)權(quán)利要求IO所述的可重新配置的電路,進(jìn)一步包括選擇器,所述選擇器接受單段數(shù)據(jù),然后輸出K,段數(shù)據(jù),K,為大于或等于2的自然數(shù),其中, 所述選擇器能夠基于所述選擇控制信號(hào)重新配置;并且 所述選擇器通過(guò)基于所述選擇控制信號(hào)從多個(gè)輸出形式組合中選擇單個(gè)組合來(lái)生成各輸出數(shù)據(jù),其中所述多個(gè)輸出形式組合是作為所述算術(shù)邏輯單元執(zhí)行運(yùn)算的結(jié)果而獲取的。
14、 一種可重新配置的電路系統(tǒng),包括 根據(jù)權(quán)利要求IO所述的可重新配置的電路;存儲(chǔ)設(shè)備,存儲(chǔ)所述選擇控制信號(hào)的值和所述ALU控制信號(hào)的值;和 系統(tǒng)控制器,從所述存儲(chǔ)設(shè)備中選擇并讀出分別待重新配置用于處理規(guī)定應(yīng)用的所述選擇控制信號(hào)和所述ALU控制信號(hào),并向所述可重新配置的電路提供所選擇的信號(hào)。
15、 根據(jù)權(quán)利要求14所述的可重新配置的電路系統(tǒng),進(jìn)一步包括用戶(hù)接口 部分,其通過(guò)從用戶(hù)接收指令輸出用戶(hù)指令信號(hào),其中,所述系統(tǒng)控制器基于所述用戶(hù)指令信號(hào),重新配置用于處理所述應(yīng)用的所 述多個(gè)單元。
16、 根據(jù)權(quán)利要求14所述的可重新配置的電路系統(tǒng),進(jìn)一步包括記錄介質(zhì) 讀出設(shè)備,其從記錄介質(zhì)讀出所記錄的數(shù)據(jù),并輸出介質(zhì)指令信號(hào),其中,所述系統(tǒng)控制器基于所述介質(zhì)指令信號(hào),重新配置用于處理所述應(yīng)用的所 述多個(gè)單元。
17、 一種可重新配置電路的設(shè)置方法,為了根據(jù)源代碼執(zhí)行寫(xiě)在所述源代 碼中的各邏輯運(yùn)算,所述方法將所述各邏輯運(yùn)算分配給可重新配置的電路的各 算術(shù)邏輯單元,并設(shè)置各所述算術(shù)邏輯單元之間的布線,所述方法包括第一步驟,用于從所述源代碼中提取所述邏輯運(yùn)算;第二步驟,用于判決在所述第一步驟中提取的所述邏輯運(yùn)算是小于等于P 比特還是小于等于Q比特,P和Q均為自然數(shù);第三步驟,用于判決所述小于等于P比特的邏輯運(yùn)算與所述小于等于Q比 特的邏輯運(yùn)算是否是同一種運(yùn)算;并且第四步驟,用于以這樣的方式執(zhí)行所述邏輯運(yùn)算的分配和所述布線的設(shè)置 使得在所述第三步驟中被判決為同一種邏輯運(yùn)算的所述小于等于P比特的邏輯 運(yùn)算和所述小于等于Q比特的邏輯運(yùn)算,能由單個(gè)算術(shù)邏輯單元執(zhí)行。
18、 根據(jù)權(quán)利要求17所述的可重新配置電路的設(shè)置方法,其中,當(dāng)在所述 第三步驟中判決所述小于等于P比特的邏輯運(yùn)算和所述小于等于Q比特的邏輯 運(yùn)算的種類(lèi)彼此不同時(shí),以這樣的方式在所述第四步驟中執(zhí)行所述邏輯運(yùn)算的 分配和所述布線的設(shè)置使得對(duì)較高側(cè)的Q比特和較低側(cè)的P比特執(zhí)行所述不同 種類(lèi)的邏輯運(yùn)算。
19、 根據(jù)權(quán)利要求8所述的可重新配置電路的設(shè)置方法,進(jìn)一步包括 外部信息輸入步驟,用于將所輸入的外部信息轉(zhuǎn)換為源代碼改變信息;和 源代碼改變步驟,基于所述源代碼改變信息改變?cè)创a的規(guī)定位置,并輸出已經(jīng)被改變的源代碼作為新源代碼。
20、 根據(jù)權(quán)利要求17所述的可重新配置電路的設(shè)置方法,進(jìn)一步包括 外部信息輸入步驟,用于將所輸入的外部信息轉(zhuǎn)換為源代碼改變信息;和 源代碼改變步驟,基于所述源代碼改變信息改變?cè)创a的規(guī)定位置,并輸出被改變的源代碼作為新源代碼。
21、 根據(jù)權(quán)利要求8所述的可重新配置電路的設(shè)置方法,進(jìn)一步包括故障 判決步驟, 一旦接收到指示所迷可重新配置電路中故障單元位置的故障單元位和所述布線的設(shè)置。
22、 根據(jù)權(quán)利要求17所述的可重新配置電路的設(shè)置方法,進(jìn)一步包括故障 判決步驟, 一旦接收到指示所述可重新配置電路中故障單元位置的故障單元位和所述布線的設(shè)置。
全文摘要
本發(fā)明公開(kāi)可重新配置的電路,其包括多個(gè)單元、總線和用于通過(guò)所述總線的網(wǎng)絡(luò)將各單元彼此連接的連接器,各單元包括第一選擇器、第二選擇器、算術(shù)邏輯單元、選擇控制器和ALU控制器。所述第一選擇器、所述第二選擇器和所述算術(shù)邏輯單元能夠基于選擇控制信號(hào)和ALU控制信號(hào)重新配置。所述第一選擇器和所述第二選擇器基于選擇控制信號(hào),以規(guī)定的次序重新排列第i數(shù)據(jù)的M[i]比特,并輸出重新排列的數(shù)據(jù)(i為滿(mǎn)足i≤K的自然數(shù),并且M[i]為滿(mǎn)足∑<sup>K</sup><sub>i=1</sub>M[i]≤N的整數(shù))。本發(fā)明還公開(kāi)了可重新配置電路的設(shè)置方法和可重新配置的電路系統(tǒng)。
文檔編號(hào)G06F15/80GK101266592SQ20081000639
公開(kāi)日2008年9月17日 申請(qǐng)日期2008年2月29日 優(yōu)先權(quán)日2007年3月16日
發(fā)明者山中隆太朗 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社