專利名稱:半導(dǎo)體器件的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及半導(dǎo)體器件,更具體地說(shuō),本發(fā)明涉及具有可動(dòng)態(tài)重配置的電路配置的半導(dǎo)體器件。
背景技術(shù):
諸如LSI之類的傳統(tǒng)半導(dǎo)體器件一般通過(guò)在設(shè)計(jì)階段確定與門、或門等等的布置以及它們的互連關(guān)系以便執(zhí)行預(yù)定的處理而被制造,使得能夠執(zhí)行滿足所要求的規(guī)范的預(yù)定處理。就是說(shuō),為了實(shí)現(xiàn)傳統(tǒng)半導(dǎo)體器件中的所需功能,通過(guò)設(shè)計(jì)對(duì)于每個(gè)門(在每個(gè)門的級(jí)別上)的電路配置(邏輯配置)來(lái)制造實(shí)現(xiàn)該功能的這種半導(dǎo)體器件。
可惜的是,上述半導(dǎo)體器件的電路配置是在設(shè)計(jì)階段被固定的。因此,為了通過(guò)改變規(guī)范等等來(lái)執(zhí)行滿足不同要求規(guī)范的處理,每次都必須執(zhí)行全部的設(shè)計(jì)和制造。這需要大量的勞力和時(shí)間,并且開(kāi)發(fā)成本也是很高的。
一種解決這個(gè)問(wèn)題的方法是被稱為可重配置LSI的可重配置半導(dǎo)體器件,其即使在制造之后,也能夠通過(guò)對(duì)邏輯進(jìn)行重配置來(lái)改變要被執(zhí)行的處理。這樣的可重配置半導(dǎo)體器件具有多個(gè)算術(shù)單元,每個(gè)算術(shù)單元從CPU接收控制信號(hào)(配置信息),并且能夠改變其功能。通過(guò)適當(dāng)?shù)亟M合移位器、ALU(算術(shù)和邏輯單元)、選擇器等等而形成這些算術(shù)單元,并且這些算術(shù)單元可以通過(guò)從CPU接收配置信息,并且相應(yīng)地對(duì)邏輯進(jìn)行重配置,而改變要被執(zhí)行的處理。
而且,作為關(guān)于存儲(chǔ)器的地址控制,公開(kāi)了一種在存儲(chǔ)器(寄存器)中保存存儲(chǔ)器地址的技術(shù)(例如,專利文獻(xiàn)1)。
日本專利申請(qǐng)?jiān)缙诠_(kāi)No.平6-309223。
發(fā)明內(nèi)容
本發(fā)明的目的在于減小在具有可重配置的電路配置的半導(dǎo)體器件中,存儲(chǔ)定值(fixed value)數(shù)據(jù)所需的存儲(chǔ)容量。
本發(fā)明的半導(dǎo)體器件包括算術(shù)單元組、配置存儲(chǔ)器和定值存儲(chǔ)器,所述算術(shù)單元組具有多個(gè)算術(shù)單元,并且具有根據(jù)配置信息可重配置的電路配置。配置存儲(chǔ)器存儲(chǔ)了要被提供給算術(shù)單元組的配置信息。定值存儲(chǔ)器存儲(chǔ)要被提供給算術(shù)單元組并用于算術(shù)處理的定值。
在本發(fā)明中,要被提供給算術(shù)單元組的配置信息和定值被存儲(chǔ)在可彼此獨(dú)立控制的存儲(chǔ)器中。因此,在配置存儲(chǔ)器中,只需要存儲(chǔ)用于從定值存儲(chǔ)器中讀出所需定值的信息,而無(wú)需在其中形成任何定值數(shù)據(jù)區(qū)域。另外,定值存儲(chǔ)器不需要為算術(shù)處理器的每個(gè)狀態(tài),即為每個(gè)配置信息都存儲(chǔ)定值。
圖1是示出了可重配置半導(dǎo)體器件的布置示例的示圖;圖2是用于解釋圖1中所示的配置存儲(chǔ)器的內(nèi)容的示圖;圖3是示出了根據(jù)本發(fā)明實(shí)施例的可重配置半導(dǎo)體器件的一種布置示例的示圖;圖4A和4B是用于解釋圖3中所示的配置存儲(chǔ)器和定值存儲(chǔ)器的內(nèi)容的示圖;圖5是示出了根據(jù)本發(fā)明實(shí)施例的可重配置半導(dǎo)體器件的另一布置示例的示圖;以及圖6A到6C是用于解釋圖5中所示的配置存儲(chǔ)器和定值存儲(chǔ)器的內(nèi)容的示圖。
具體實(shí)施例方式
在前述傳統(tǒng)的可重配置半導(dǎo)體器件中,因?yàn)镃PU直接控制多個(gè)算術(shù)單元,因此處理速度很低。例如,當(dāng)要基于來(lái)自某個(gè)算術(shù)單元的中斷而改變要由多個(gè)算術(shù)單元執(zhí)行的處理時(shí),CPU響應(yīng)于來(lái)自該算術(shù)單元的中斷而調(diào)用并執(zhí)行中斷處理程序,然后將與處理例程的處理結(jié)果相對(duì)應(yīng)的配置信息等提供到這些算術(shù)單元。所述中斷處理需要相當(dāng)于幾十個(gè)時(shí)鐘周期的時(shí)間。因此,在傳統(tǒng)的可重配置半導(dǎo)體器件中,處理速度很低,所以不能(對(duì)于每個(gè)時(shí)鐘)動(dòng)態(tài)地改變由算術(shù)單元所執(zhí)行的處理。
作為一種解決該問(wèn)題的方法,本申請(qǐng)?zhí)岢隽艘环N具有如圖1所示的布置的可重配置半導(dǎo)體器件。
圖1示出了本申請(qǐng)人所提出的可重配置半導(dǎo)體器件的布置示例的示圖。為了執(zhí)行電路配置(邏輯配置)的改變控制,該半導(dǎo)體器件所具有的不是CPU,而是具有與CPU等同功能的序列發(fā)生器(sequencer)。
如圖1所示,可重配置半導(dǎo)體器件具有序列發(fā)生器(控制器)1和算術(shù)處理器2。
序列發(fā)生器1根據(jù)來(lái)自外部(例如經(jīng)由外部總線3所連接的處理器)的指令而全面地控制半導(dǎo)體器件。序列發(fā)生器1進(jìn)行管理和控制,以動(dòng)態(tài)地改變算術(shù)處理器2的電路配置(包括邏輯配置)。為了根據(jù)應(yīng)用而動(dòng)態(tài)地改變算術(shù)處理器2的電路配置,序列發(fā)生器1經(jīng)由信號(hào)線被連接到算術(shù)處理器2的單獨(dú)的功能單元,以便能夠從序列發(fā)生器1提供包括配置數(shù)據(jù)(配置信息)的控制信號(hào)。
序列發(fā)生器1具有狀態(tài)控制器11、狀態(tài)寄存器12和配置存儲(chǔ)器13。
例如基于來(lái)自算術(shù)處理器2的預(yù)先設(shè)置的序列或狀態(tài)轉(zhuǎn)換指示信號(hào),狀態(tài)控制器11產(chǎn)生用于從配置存儲(chǔ)器13中讀出配置數(shù)據(jù)和定值數(shù)據(jù)的配置存儲(chǔ)器地址,并且還產(chǎn)生讀取定時(shí),所述配置數(shù)據(jù)和定值數(shù)據(jù)將算術(shù)處理器2的狀態(tài)(電路配置)改變到下一狀態(tài)。狀態(tài)控制器11的配置存儲(chǔ)器地址的產(chǎn)生是通過(guò)參考以下信息而完成的,所述信息指示出狀態(tài)寄存器12中所保存的當(dāng)前狀態(tài)。當(dāng)當(dāng)前狀態(tài)改變到下一狀態(tài)時(shí),更新?tīng)顟B(tài)寄存器12中所保存的信息。
配置存儲(chǔ)器13存儲(chǔ)了配置數(shù)據(jù)和定值數(shù)據(jù),所述配置數(shù)據(jù)設(shè)置算術(shù)處理器2的電路配置。所有的配置數(shù)據(jù)和定值數(shù)據(jù)都是在操作開(kāi)始之前,預(yù)先從外部寫入到配置存儲(chǔ)器13中的,并且保存為每個(gè)狀態(tài)一對(duì)數(shù)據(jù)。在狀態(tài)控制器11的控制下,將配置存儲(chǔ)器13中所存儲(chǔ)的配置數(shù)據(jù)和定值數(shù)據(jù)讀出,并且輸出到算術(shù)處理器2。隨后將詳細(xì)描述配置存儲(chǔ)器13的內(nèi)容。
算術(shù)處理器2具有選擇器/寄存器(總線)21、算術(shù)單元22-i以及數(shù)據(jù)存儲(chǔ)器23-j。注意,i和j是后綴,i是從1到N的(任意)自然數(shù),并且j是從1到M的(任意)自然數(shù)。
選擇器/寄存器21由序列發(fā)生器1所提供的配置數(shù)據(jù)所控制。選擇器/寄存器21連接到算術(shù)單元22-1到22-N以及數(shù)據(jù)存儲(chǔ)器23-1到23-M,并且與算術(shù)單元22-i和數(shù)據(jù)存儲(chǔ)器22-j交換數(shù)據(jù)。換句話說(shuō),選擇器/寄存器21具有連接算術(shù)單元22-1到22-N以及數(shù)據(jù)存儲(chǔ)器23-1到23-M的網(wǎng)絡(luò)功能,從而所述算術(shù)單元和數(shù)據(jù)存儲(chǔ)器可以彼此通信。
更具體地說(shuō),根據(jù)配置數(shù)據(jù),選擇器/寄存器21向算術(shù)單元22-i提供數(shù)據(jù),向數(shù)據(jù)存儲(chǔ)器23-j提供寫入數(shù)據(jù),并且接收從數(shù)據(jù)存儲(chǔ)器23-j所提供的讀出數(shù)據(jù)。而且,選擇器/寄存器21具有寄存器,并且可以根據(jù)配置數(shù)據(jù)選擇性地輸出寄存器中所保存的數(shù)據(jù),或者從另一位置所提供的數(shù)據(jù),所述寄存器例如暫時(shí)保存來(lái)自算術(shù)單元22-i的輸出(算術(shù)結(jié)果)。
每個(gè)算術(shù)單元22-i都具有寄存器24和ALU單元27。
寄存器24包括分別用于保存從序列發(fā)生器1所提供的配置數(shù)據(jù)和定值數(shù)據(jù)的配置寄存器25和定值寄存器26。
通過(guò)使用例如移位電路(移位器)、ALU(算術(shù)和邏輯單元)和選擇器來(lái)形成ALU單元27(為了描述的方便,在下文中也將這些組件簡(jiǎn)單地稱為算術(shù)單元,而無(wú)需在它們之間進(jìn)行區(qū)分)。注意,根據(jù)將被使用的應(yīng)用,可以適當(dāng)?shù)剡x擇和確定ALU單元27,更具體地說(shuō),可以適當(dāng)?shù)剡x擇和確定形成ALU單元27的多個(gè)(或一個(gè))算術(shù)單元。
在每個(gè)ALU單元27中,基于配置寄存器25中所保存的配置數(shù)據(jù)而設(shè)置每個(gè)算術(shù)單元的運(yùn)算模式以及算術(shù)單元之間的連接。就是說(shuō),根據(jù)配置數(shù)據(jù),可以改變每個(gè)ALU單元27的電路配置,并且這樣控制單獨(dú)的算術(shù)單元,以便實(shí)現(xiàn)諸如加法、乘法、位運(yùn)算以及邏輯運(yùn)算(與、或和異或)之類的所需功能。
例如移位量、算術(shù)移位過(guò)程、邏輯移位過(guò)程、移位過(guò)程之后的預(yù)定位的屏蔽過(guò)程等等在移位電路中被控制。而且,在通過(guò)使用例如AND(邏輯乘運(yùn)算)電路和OR(邏輯和運(yùn)算)電路而形成的ALU中,通過(guò)適當(dāng)?shù)亟M合這些電路,而整體上控制ALU的電路(算術(shù))功能。例如,多個(gè)輸入中的將被輸出的一個(gè)輸入在選擇器中被控制。此外,移位電路、ALU、選擇器等等之間的連接被控制。
ALU單元27根據(jù)配置數(shù)據(jù),或者在定值寄存器26中所保存的定值數(shù)據(jù)CVD,接收從選擇器/寄存器21提供的第一輸入數(shù)據(jù)DT1,并且還接收從選擇器/寄存器21提供的第二輸入數(shù)據(jù)DT2。ALU單元27通過(guò)使用這些數(shù)據(jù)來(lái)執(zhí)行預(yù)定的運(yùn)算,并且輸出運(yùn)算結(jié)果。雖然來(lái)自ALU單元27的該輸出可以直接被輸出,但是也可以基于配置數(shù)據(jù),將其反饋。例如,可以對(duì)這些輸出進(jìn)行累加、標(biāo)準(zhǔn)化,然后再輸出。
每個(gè)數(shù)據(jù)存儲(chǔ)器23-j存儲(chǔ)了與算術(shù)處理器2中的處理有關(guān)的數(shù)據(jù)。
圖2是用于解釋圖1中所示的配置存儲(chǔ)器13的內(nèi)容的示圖。如圖2所示,配置存儲(chǔ)器13存儲(chǔ)了與每個(gè)狀態(tài)相對(duì)應(yīng)的配置數(shù)據(jù)和定值數(shù)據(jù)。在圖2中,標(biāo)號(hào)CDi表示配置數(shù)據(jù);并且CVDi表示定值數(shù)據(jù)。注意,i是后綴,并且是從1到N的(任意)自然數(shù)。參考圖2,只示出了定值數(shù)據(jù)CVDi的值,并且省略了配置數(shù)據(jù)CDi的值。
當(dāng)要設(shè)置第k(k是后綴,并且是從1到128的自然數(shù))個(gè)狀態(tài)時(shí),將配置數(shù)據(jù)CDi和定值數(shù)據(jù)CVDi提供到算術(shù)單元22-i,并且保存在配置寄存器24中。就是說(shuō),與用于實(shí)現(xiàn)算術(shù)處理器2中的所需電路功能的某種電路配置FUNCk有關(guān)的配置數(shù)據(jù)和定值數(shù)據(jù),由圖2中所示的在行方向上排列的一對(duì)配置數(shù)據(jù)CD1到CDN和定值數(shù)據(jù)CVD1到CVDN所組成。注意,雖然在圖2中沒(méi)有示出,但是除了與算術(shù)單元22-i相關(guān)的配置數(shù)據(jù)之外,配置存儲(chǔ)器13當(dāng)然還存儲(chǔ)了例如用于控制選擇器/寄存器21的配置數(shù)據(jù)。
如上所述,通過(guò)使用序列發(fā)生器1而非CPU,可重配置半導(dǎo)體器件使所謂的動(dòng)態(tài)重配置成為可能,因此對(duì)于每個(gè)時(shí)鐘,可以動(dòng)態(tài)地對(duì)電路配置(邏輯)進(jìn)行重配置。例如,算術(shù)處理器2可以基于來(lái)自序列發(fā)生器1的配置數(shù)據(jù)(控制信號(hào)),而在某個(gè)時(shí)鐘周期期間執(zhí)行功能A,并且在下一時(shí)鐘周期期間執(zhí)行與功能A不同的功能B。
但是,在圖1和2所示的可重配置半導(dǎo)體器件中,對(duì)于能夠接收定值(常量)的算術(shù)單元,定值數(shù)據(jù)與配置數(shù)據(jù)一起被保存在配置存儲(chǔ)器13中,并且在需要時(shí)將定值數(shù)據(jù)讀出并保存在與算術(shù)單元相對(duì)應(yīng)的配置寄存器24中。為了如上所述地在配置存儲(chǔ)器13中保存定值數(shù)據(jù),需要在每個(gè)能夠接收定值數(shù)據(jù)的算術(shù)單元中,形成用于存儲(chǔ)定值數(shù)據(jù)的定值數(shù)據(jù)區(qū)域,并且將所有定值數(shù)據(jù)保存在配置存儲(chǔ)器13中。如果來(lái)自選擇器/寄存器21的到能夠接收定值數(shù)據(jù)的算術(shù)單元的第二輸入數(shù)據(jù)的寬度是32位,則必須在配置存儲(chǔ)器13中,為算術(shù)處理器2的每個(gè)算術(shù)單元以及所有狀態(tài)(在下文中也被稱為“配置”)形成32位的定值數(shù)據(jù)區(qū)域。
但是,幾乎不必對(duì)算術(shù)處理器2的所有狀態(tài)都對(duì)每個(gè)算術(shù)單元設(shè)置作為輸入的定值數(shù)據(jù),即幾乎不必?zé)o論何時(shí)算術(shù)處理器2的狀態(tài)被轉(zhuǎn)換都對(duì)每個(gè)算術(shù)單元設(shè)置作為輸入的定值數(shù)據(jù)。因此,如上所述所形成的定值數(shù)據(jù)區(qū)域浪費(fèi)了配置存儲(chǔ)器13的存儲(chǔ)區(qū)域,這樣,當(dāng)定值數(shù)據(jù)要被保存在配置存儲(chǔ)器13中時(shí),要消耗大量的存儲(chǔ)器(存儲(chǔ)區(qū)域)。
下面將參考附圖描述本發(fā)明的實(shí)施例。
圖是3示出了根據(jù)本發(fā)明實(shí)施例的可重配置半導(dǎo)體器件的一種布置示例的示圖。在圖3中,與圖1相同的標(biāo)號(hào)指代具有相同功能的組成元件,并且將省略對(duì)其重復(fù)的解釋。
如圖3所示,根據(jù)本實(shí)施例的可重配置半導(dǎo)體器件具有序列發(fā)生器(控制器)1和算術(shù)處理器2A。算術(shù)處理器2A包括用于存儲(chǔ)定值數(shù)據(jù)的定值存儲(chǔ)器(RAM)30。
序列發(fā)生器1具有狀態(tài)控制器11、狀態(tài)寄存器12和配置存儲(chǔ)器13A。
配置存儲(chǔ)器13A存儲(chǔ)了用于設(shè)置算術(shù)處理器2A的電路配置的配置數(shù)據(jù),以及定值指定數(shù)據(jù)。定值指定數(shù)據(jù)是這樣的信息,利用該信息可以唯一地識(shí)別定值存儲(chǔ)器30中的定值數(shù)據(jù),所述定值數(shù)據(jù)與算術(shù)處理器2A的狀態(tài)相對(duì)應(yīng)。定值指定數(shù)據(jù)用于從定值存儲(chǔ)器30所存儲(chǔ)的定值數(shù)據(jù)中,指定和讀出與算術(shù)處理器2A的狀態(tài)相對(duì)應(yīng)的定值數(shù)據(jù)。注意,在下面的解釋中,定值指定數(shù)據(jù)是定值存儲(chǔ)器30中的地址。
算術(shù)處理器2A具有選擇器/寄存器(總線)21、算術(shù)單元22A-i、數(shù)據(jù)存儲(chǔ)器23-j、定值存儲(chǔ)器30、選擇器31-i和定值指定寄存器32。注意,i和j是后綴,i是從1到N的(任意)自然數(shù),并且j是從1到M的(任意)自然數(shù)。
定值存儲(chǔ)器30是用于存儲(chǔ)定值數(shù)據(jù)的存儲(chǔ)器?;诙ㄖ抵付拇嫫?2中由序列發(fā)生器1所設(shè)置的地址值,將定值存儲(chǔ)器30中所存儲(chǔ)的定值數(shù)據(jù)讀出并輸出到選擇器31-i。
選擇器31-i由序列發(fā)生器1所提供的配置數(shù)據(jù)所控制,并且選擇器31-i選擇性地將從選擇器/寄存器21所提供的第二輸入數(shù)據(jù)DT2,或者從定值存儲(chǔ)器30所提供的定值數(shù)據(jù)CVD輸出到算術(shù)單元22A-i中的ALU單元27。更具體地說(shuō),當(dāng)選擇器31-i被配置數(shù)據(jù)設(shè)置為輸出定值數(shù)據(jù)時(shí),它經(jīng)由定值存儲(chǔ)器30中分配給算術(shù)單元22A-i的端子,而輸出從定值存儲(chǔ)器30所提供的定值數(shù)據(jù)CVD。當(dāng)選擇器31-i被配置數(shù)據(jù)設(shè)置為輸出第二輸入數(shù)據(jù)DT2時(shí),它輸出從選擇器/寄存器21所提供的第二輸入數(shù)據(jù)DT2。
每個(gè)算術(shù)單元22A-i都具有配置寄存器25A和ALU單元27。在本實(shí)施例中,經(jīng)由選擇器31-i而將定值數(shù)據(jù)從定值存儲(chǔ)器30讀出到ALU單元27。因此,在每個(gè)算術(shù)單元22A-i中,配置寄存器25A是唯一的寄存器,因此,沒(méi)有使用圖1中所示的定值寄存器。
注意,在配置存儲(chǔ)器13A中所存儲(chǔ)的配置數(shù)據(jù)和定值指定數(shù)據(jù)以及在定值存儲(chǔ)器30中所存儲(chǔ)的定值數(shù)據(jù)是在操作開(kāi)始之前,例如利用RISC(處理器)或其他硬件,而分別從外部寫入并保存到配置存儲(chǔ)器13A和定值存儲(chǔ)器30中的。還要注意,對(duì)于每個(gè)狀態(tài),配置數(shù)據(jù)和定值指定數(shù)據(jù)是作為一對(duì)數(shù)據(jù)而保存在配置存儲(chǔ)器13A中的。
圖4A和4B是用于解釋圖3中所示的配置存儲(chǔ)器13A和定值存儲(chǔ)器30的內(nèi)容的示圖。為了比較的目的,圖4A和4B示出了與圖2所示的配置存儲(chǔ)器13的內(nèi)容等同的內(nèi)容。
圖4A示出了配置存儲(chǔ)器13A的內(nèi)容。在圖4A中,標(biāo)號(hào)CDi(i=1到N(自然數(shù)))表示配置數(shù)據(jù);并且CVAD表示作為定值指定數(shù)據(jù)的定值存儲(chǔ)器30中的地址值。
圖4B示出了定值存儲(chǔ)器30的內(nèi)容。在圖4B中,標(biāo)號(hào)CVAD表示定值存儲(chǔ)器30中的地址值;并且CVDi(i=1到N(自然數(shù)))表示定值數(shù)據(jù)。
如圖4B所示,在定值存儲(chǔ)器30中,定值數(shù)據(jù)CVDi的相同的組合并非各自獨(dú)地存儲(chǔ),而是存儲(chǔ)為一套定值數(shù)據(jù)CVDi。就是說(shuō),定值存儲(chǔ)器30所存儲(chǔ)的定值數(shù)據(jù)CVDi的組合彼此不相同,并且不重復(fù)。
而且,如圖4A所示,配置存儲(chǔ)器13A中只存儲(chǔ)了配置數(shù)據(jù)CDi和定值存儲(chǔ)器30中的地址值CVAD,在所述定值存儲(chǔ)器30中存儲(chǔ)了相應(yīng)于該狀態(tài)的定值數(shù)據(jù)CVDi的組合。
下面將解釋根據(jù)本實(shí)施例的可重配置半導(dǎo)體器件的操作。注意,除了將定值數(shù)據(jù)輸入到算術(shù)單元22A-i中的算術(shù)單元的操作之外,本實(shí)施例的可重配置半導(dǎo)體器件的操作與圖1和2中所示的可重配置半導(dǎo)體器件的操作相同,因此,將省略對(duì)其余部分的操作的解釋。
下面將描述將定值數(shù)據(jù)輸入到算術(shù)單元22A-i中的算術(shù)單元時(shí)的操作。
首先,為了轉(zhuǎn)換算術(shù)處理器2的狀態(tài),從配置存儲(chǔ)器13A中讀出與該狀態(tài)相對(duì)應(yīng)的配置數(shù)據(jù)和定值指定數(shù)據(jù)。將所讀出的配置數(shù)據(jù)提供給包括了選擇器31-i的算術(shù)處理器2A中的功能單元。將所讀出的定值指定數(shù)據(jù)提供給,并且設(shè)置到定值指定寄存器32中。
基于定值指定寄存器32中所設(shè)置的定值指定數(shù)據(jù),從定值存儲(chǔ)器30中讀出在由該定值指定數(shù)據(jù)所指定的區(qū)域中所存儲(chǔ)的定值數(shù)據(jù),并且經(jīng)由選擇器31-i而將其輸出到算術(shù)單元22A-i。在這種方式下,將定值數(shù)據(jù)提供給算術(shù)單元22A-i中的算術(shù)單元。
上述的本實(shí)施例使用了一個(gè)定值存儲(chǔ)器30。但是,如圖5所示,也可以使用多個(gè)定值存儲(chǔ)器。
圖5示出了根據(jù)本實(shí)施例的可重配置半導(dǎo)體器件的另一布置示例的示圖。在圖5中,與圖1和3相同的標(biāo)號(hào)指代具有相同功能的組成元件,并且將省略其重復(fù)的解釋。
圖5所示的可重配置半導(dǎo)體器件具有序列發(fā)生器(控制器)1和算術(shù)處理器2A。算術(shù)處理器2A包括兩個(gè)定值存儲(chǔ)器(RAM)30A和30B。
序列發(fā)生器1具有狀態(tài)控制器11、狀態(tài)寄存器12和配置存儲(chǔ)器13B。配置存儲(chǔ)器13B存儲(chǔ)了配置數(shù)據(jù),以及兩個(gè)與定值存儲(chǔ)器30A和30B相對(duì)應(yīng)的定值指定數(shù)據(jù)。
算術(shù)處理器2A與圖3中所示的不同之處在于,其具有兩個(gè)定值存儲(chǔ)器30A和30B,以及兩個(gè)與定值存儲(chǔ)器30A和30B相對(duì)應(yīng)的定值指定寄存器32A和32B。但是,定值存儲(chǔ)器30A和30B,以及定值指定寄存器32A和32B分別具有與圖3所示的定值存儲(chǔ)器30和定值指定寄存器32相同的功能,因此將省略其詳細(xì)描述。
圖6A到6C是用于解釋圖5中所示的配置存儲(chǔ)器13B和定值存儲(chǔ)器30A和30B的內(nèi)容的示圖。為了比較的目的,圖6A到6C示出了與圖4A和4B中所示的內(nèi)容等同的內(nèi)容。
圖6A示出了配置存儲(chǔ)器13B的內(nèi)容。在圖6A中,標(biāo)號(hào)CDi(i=1到N(自然數(shù)))表示配置數(shù)據(jù);并且CVAD1和CVAD2分別表示定值存儲(chǔ)器30A和30B中的地址值。
圖6B和6C分別示出了定值存儲(chǔ)器30A和30B的內(nèi)容。在圖6B和6C中,標(biāo)號(hào)CVAD1和CVAD2分別表示定值存儲(chǔ)器30A和30B中的地址值;并且CVDi(i=1到N(自然數(shù)))表示定值數(shù)據(jù)。注意,圖6B和6C示出了定值數(shù)據(jù)CVD1和CVD3被存儲(chǔ)在定值存儲(chǔ)器30A中,并且定值數(shù)據(jù)CVD2和CVDN被存儲(chǔ)在定值存儲(chǔ)器30B中的情況。
與圖4B中所示出的情況類似,將定值數(shù)據(jù)CVDi的相同組合作為一對(duì)定值數(shù)據(jù)CVDi而被存儲(chǔ)在定值存儲(chǔ)器30A和30B的每一個(gè)中。
而且,如圖6A所示,配置存儲(chǔ)器13B分別存儲(chǔ)了配置數(shù)據(jù)CDi,以及定值存儲(chǔ)器30A和30B中的地址值CVAD1和CVAD2,在定值存儲(chǔ)器30A和30B中,存儲(chǔ)了與配置數(shù)據(jù)的狀態(tài)相對(duì)應(yīng)的定值數(shù)據(jù)CVDi的組合。
在圖5和6A到6C中,作為示例示出了使用兩個(gè)定值存儲(chǔ)器30A和30B的情況。但是,定值存儲(chǔ)器的數(shù)量是任意的數(shù)量。而且,假如沒(méi)有特定的算術(shù)單元一直對(duì)應(yīng)于多個(gè)定值存儲(chǔ)器,那么定值存儲(chǔ)器和算術(shù)單元之間的對(duì)應(yīng)關(guān)系是任意的對(duì)應(yīng)關(guān)系。例如,一個(gè)算術(shù)單元可以對(duì)應(yīng)于一個(gè)定值存儲(chǔ)器,或者通過(guò)劃分算術(shù)單元而獲得的多個(gè)組中的每一個(gè)都可以對(duì)應(yīng)于一個(gè)定值存儲(chǔ)器。
而且,圖5和6A到6C中所示的布置不一定是最優(yōu)的布置。因此,可以根據(jù)所使用的應(yīng)用而適當(dāng)?shù)剡x擇圖3、4A和4B中所示的布置,或者圖5和6A到6C中所示的布置。
在如上所述的本實(shí)施例中,定值數(shù)據(jù)被存儲(chǔ)在定值存儲(chǔ)器30(30A和30B)中,并且配置數(shù)據(jù),以及用來(lái)讀出與配置數(shù)據(jù)的狀態(tài)相對(duì)應(yīng)的定值數(shù)據(jù)的定值存儲(chǔ)器的地址值被存儲(chǔ)在配置存儲(chǔ)器13A(13B)中。在定值存儲(chǔ)器30(30A和30B)中,為了避免重復(fù),只存儲(chǔ)了定值數(shù)據(jù)的不同組合。
因此,配置存儲(chǔ)器只需要存要定值存儲(chǔ)器的地址值,而無(wú)需存儲(chǔ)任何的定值數(shù)據(jù)。這樣可以減小配置存儲(chǔ)器所需的存儲(chǔ)容量,并且減小芯片尺寸。例如,為了在定值存儲(chǔ)器中保存八個(gè)不同的定值數(shù)據(jù)的組合,可以用三位來(lái)表示地址值。這樣一來(lái),可以非常有效地使用存儲(chǔ)區(qū)域。
另外,定值存儲(chǔ)器沒(méi)有為每個(gè)狀態(tài)存儲(chǔ)定值數(shù)據(jù),而是將定值數(shù)據(jù)的相同組合存儲(chǔ)為一對(duì)定值數(shù)據(jù)。這樣極大地減小了數(shù)據(jù)量。而且,定值數(shù)據(jù)被存儲(chǔ)在定值存儲(chǔ)器中,并且經(jīng)由選擇器31-i,可以將該定值數(shù)據(jù)提供到ALU單元27。這樣可以省略掉定值寄存器,并且減小電路規(guī)模。
注意,在以上實(shí)施例中,作為示例只示出了一個(gè)配置寄存器25。但是,通常是以與算術(shù)單元一對(duì)一的對(duì)應(yīng)關(guān)系來(lái)形成配置寄存器。由于不是經(jīng)由任何的寄存器來(lái)提供定值數(shù)據(jù),因此也可以形成用于多個(gè)算術(shù)單元的一個(gè)配置寄存器25。
還要注意,附圖中所示的根據(jù)本實(shí)施例的可重配置半導(dǎo)體器件的布置僅僅是一個(gè)示例。因此,可重配置半導(dǎo)體器件還可以包括移位寄存器、計(jì)數(shù)器電路以及諸如RAM和ROM之類的存儲(chǔ)器。
當(dāng)實(shí)施本發(fā)明時(shí),以上實(shí)施例僅僅是實(shí)施示例,因此不應(yīng)該利用這些實(shí)施例來(lái)限制性地解釋本發(fā)明的技術(shù)范圍。就是說(shuō),不脫離本發(fā)明的技術(shù)思想或主要特征,可以以各種形式來(lái)實(shí)施本發(fā)明。
在本發(fā)明中,與用于存儲(chǔ)配置信息的配置存儲(chǔ)器所不同的定值存儲(chǔ)器存儲(chǔ)了將被提供到算術(shù)單元組的定值。由于不需要在配置存儲(chǔ)器中設(shè)置用于存儲(chǔ)定值的數(shù)據(jù)區(qū)域,因此僅僅通過(guò)在配置存儲(chǔ)器中存儲(chǔ)用于從定值存儲(chǔ)器中讀出定值的信息,就可以將預(yù)定的定值提供到算術(shù)單元組。因此,可以減小配置存儲(chǔ)器所需的存儲(chǔ)容量,從而可以利用小尺寸的存儲(chǔ)器來(lái)形成配置存儲(chǔ)器。
而且,由于定值被存儲(chǔ)在與配置存儲(chǔ)器不同的定值存儲(chǔ)器中,因此不需要為算術(shù)處理器的每個(gè)狀態(tài)都存儲(chǔ)定值,并且可以省略掉定值寄存器。因此,可以減小存儲(chǔ)定值所需的存儲(chǔ)容量,并且減小電路規(guī)模。
本申請(qǐng)基于2004年6月30日遞交的在先日本專利申請(qǐng)No.2004-194104,并要求其優(yōu)先權(quán),這里并入了其全部?jī)?nèi)容,以作為參考。
權(quán)利要求
1.一種半導(dǎo)體器件,包括配置存儲(chǔ)器,所述配置存儲(chǔ)器存儲(chǔ)配置信息;算術(shù)單元組,所述算術(shù)單元組具有多個(gè)算術(shù)單元,并且能夠根據(jù)從所述配置存儲(chǔ)器提供的配置信息,對(duì)電路配置進(jìn)行重配置;和定值存儲(chǔ)器,所述定值存儲(chǔ)器存儲(chǔ)要在所述算術(shù)單元組中的算術(shù)處理中被使用的定值,并且將所存儲(chǔ)的定值提供到所述算術(shù)單元組。
2.根據(jù)權(quán)利要求1所述的器件,其中,所述配置存儲(chǔ)器連同所述配置信息一起存儲(chǔ)定值指定信息,所述定值指定信息用于從所述定值存儲(chǔ)器獲取與所述配置信息相對(duì)應(yīng)的定值。
3.根據(jù)權(quán)利要求2所述的器件,還包括定值指定信息寄存器,所述定值指定信息寄存器保存從所述配置存儲(chǔ)器中連同所述配置信息一起讀出的所述定值指定信息,并且將所述定值指定信息提供給所述定值存儲(chǔ)器。
4.根據(jù)權(quán)利要求2所述的器件,其中,所述定值指定信息是所述定值存儲(chǔ)器的地址信息,所述地址信息指示存儲(chǔ)與所述配置信息相對(duì)應(yīng)的定值的區(qū)域。
5.根據(jù)權(quán)利要求1所述的器件,還包括選擇器,所述選擇器根據(jù)所述配置信息,選擇性地將從所述定值存儲(chǔ)器提供的定值或者與所述定值不同的輸入值提供給所述算術(shù)單元組。
6.根據(jù)權(quán)利要求5所述的器件,其中,所述選擇器被放置在所述算術(shù)單元組與連接到所述算術(shù)單元組的總線之間,并且所述選擇器選擇性地將從所述定值存儲(chǔ)器提供的定值或者來(lái)自所述總線的輸入值提供給所述算術(shù)單元組。
7.根據(jù)權(quán)利要求1所述的器件,其中,所述半導(dǎo)體器件包括多個(gè)所述算術(shù)單元組,并且,所述定值存儲(chǔ)器根據(jù)所述多個(gè)算術(shù)單元組被劃分為任意數(shù)目個(gè)存儲(chǔ)器。
8.根據(jù)權(quán)利要求1所述的器件,其中,所述半導(dǎo)體器件包括多個(gè)所述算術(shù)單元組和多個(gè)所述定值存儲(chǔ)器,并且所述多個(gè)算術(shù)單元組中的每一個(gè)接收從所述多個(gè)定值存儲(chǔ)器中的一個(gè)提供的定值。
9.根據(jù)權(quán)利要求8所述的器件,其中,所述配置存儲(chǔ)器連同所述配置信息一起存儲(chǔ)定值指定信息,所述定值指定信息與每個(gè)定值存儲(chǔ)器相關(guān),并且用于從所述多個(gè)定值存儲(chǔ)器獲取與所述配置信息相對(duì)應(yīng)的定值。
10.根據(jù)權(quán)利要求1所述的器件,其中,所述算術(shù)單元組的所述算術(shù)單元的處理功能以及連接所述算術(shù)單元的互連關(guān)系根據(jù)所述配置信息而改變。
11.根據(jù)權(quán)利要求1所述的器件,還包括序列發(fā)生器,所述序列發(fā)生器控制所述算術(shù)單元組的電路配置中的改變,并且管理所述算術(shù)單元組的狀態(tài)。
12.一種算術(shù)裝置,包括寄存器,所述寄存器保存從外部序列發(fā)生器提供的配置信息;和算術(shù)單元組,所述算術(shù)單元組具有多個(gè)算術(shù)單元,并且能夠根據(jù)所述寄存器中所保存的所述配置信息,對(duì)電路配置進(jìn)行重配置,其中,要在所述算術(shù)單元組的算術(shù)處理中被使用的定值是從外部提供的。
全文摘要
本發(fā)明公開(kāi)了一種半導(dǎo)體器件,該半導(dǎo)體器件包括配置存儲(chǔ)器、算術(shù)單元以及定值存儲(chǔ)器,其中配置存儲(chǔ)器用于存儲(chǔ)配置數(shù)據(jù),定值存儲(chǔ)器用于存儲(chǔ)將提供給算術(shù)單元的定值數(shù)據(jù),并且算術(shù)單元的電路配置可以根據(jù)配置數(shù)據(jù)而被重配置。由于要被提供給算術(shù)單元的配置數(shù)據(jù)和定值數(shù)據(jù)被存儲(chǔ)在不同的存儲(chǔ)器中,因此在配置存儲(chǔ)器中,不需要設(shè)置用于存儲(chǔ)定值數(shù)據(jù)的數(shù)據(jù)區(qū)域。這樣,通過(guò)僅僅存儲(chǔ)用于從定值存儲(chǔ)器中讀出定值數(shù)據(jù)的信息,就可以向算術(shù)單元提供預(yù)定的定值。
文檔編號(hào)G06F11/00GK1716210SQ20051000282
公開(kāi)日2006年1月4日 申請(qǐng)日期2005年1月25日 優(yōu)先權(quán)日2004年6月30日
發(fā)明者河野哲雄, 古川浩, 笠間一郎, 今福和章, 鈴木俊明 申請(qǐng)人:富士通株式會(huì)社