專利名稱:粗粒度可重配置計算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)輸入輸出結(jié)構(gòu),特別是粗粒度可重配置計算結(jié)構(gòu)中數(shù)據(jù)輸入輸出端口的設(shè)計結(jié)構(gòu)。
背景技術(shù):
可配置計算又稱為自適應(yīng)計算,是由多個具有可重配置功能的處理單元(PE)和可以配置不同數(shù)據(jù)傳遞方向的連接線路一起構(gòu)成的數(shù)據(jù)處理結(jié)構(gòu)。目前,可配置計算主要分為兩類細粒度配置和粗粒度配置。細粒度配置計算主要是指現(xiàn)場可編程邏輯門陣列FPGA,它在數(shù)字芯片開發(fā)和系統(tǒng)設(shè)計等方面應(yīng)用非常廣泛,但由于細粒度的原因,其實際邏輯單元僅占到實際芯片面積的10%,其余被開關(guān)、RAM、布線網(wǎng)絡(luò)所占有,功耗和工作頻率都不是非常理想,在處理一些規(guī)則運算,如乘法時效率不高。相對的,粗粒度可配置計算的粒度一般為8,16,32位等,非常適合進行算法級操作。
進入上世紀90年代,隨著超大規(guī)模集成電路VLSI技術(shù)的發(fā)展,以可編程開關(guān)(program switch)為基礎(chǔ)的粗粒度可配置計算結(jié)構(gòu)不斷被開發(fā)出來,并在圖像濾波、特征提取、目標識別與跟蹤、通訊算法等方面展示出了非凡的性能與潛力。表1列出的是國外大學中部分粗粒度可配置計算項目技術(shù)總結(jié)。
表1 現(xiàn)有項目技術(shù)總結(jié)
在這些項目中,雖然內(nèi)部涉及的可重配置處理單元結(jié)構(gòu)和功能各不相同,但由相應(yīng)處理單元構(gòu)成陣列的數(shù)據(jù)輸入/輸出結(jié)構(gòu)卻可大致分為兩類(1)通過全局總線控制器或者交叉條(crossbar)實現(xiàn)可重配置處理單元陣列與外部的輸入輸出端口連接。在這種方式下,結(jié)構(gòu)允許根據(jù)不同的配置需要,將某個處理單元中數(shù)據(jù)總線與外部端口相連。采用這種方式的結(jié)構(gòu)主要有PADDI-1,PADDI-2,REMARC,COLT,KressArray,PipeRench。
(2)可重配置處理單元自身的數(shù)據(jù)輸入/輸出總線直接與外部接口相連。采用這種方式的結(jié)構(gòu)主要有GarP,RAW,MorphoSys,CHESS,RaPiD。
對于這兩種實現(xiàn)方式,都存在各自的不足。對于第一種方式,根據(jù)全局總線控制器或者交叉條的控制,外部端口與處理單元陣列中內(nèi)部某個處理單元數(shù)據(jù)總線相連,外部端口數(shù)據(jù)通過此處理單元輸入/輸出。但面對類似下面的情況,如按順序串行輸入的數(shù)據(jù)每三個分為一組(a,b,c),在處理單元陣列映射(a*b+c)功能時,這種輸入輸出結(jié)構(gòu)則無法完成。對于第二種結(jié)構(gòu)設(shè)計方式,由于是直接將處理單元的數(shù)據(jù)引出,外部接口所需的位寬將隨著輸出數(shù)據(jù)總線的處理單元數(shù)目和數(shù)據(jù)總線的位寬的增加而增加。以16位MorphoSys為例,它的8*8處理單元陣列與微處理器的接口需要256位,如果處理單元陣列改為12*12,則與微處理器的接口需要384位,這使得接口部分所占芯片面積和控制復雜度增加。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問題克服現(xiàn)有技術(shù)的不足,提供一種粗粒度可重配置計算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu),既利于映射算法中數(shù)據(jù)的輸入輸出,又減少了輸入輸出端口。
本發(fā)明的技術(shù)解決方案粗粒度可重配置計算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu),包括分散功能DEMUX模塊、合并功能MERGE模塊、RAM功能控制器、地址發(fā)生器、RAM和交叉條C1、C2、C3;交叉條C1為DEMUX模塊選擇輸入的數(shù)據(jù)總線,被選的數(shù)據(jù)總線包括輸入數(shù)據(jù)總線、相鄰PEA數(shù)據(jù)輸入和RAM輸入數(shù)據(jù),被C1選中后的數(shù)據(jù)輸入到DEMUX模塊,經(jīng)DEMUX模塊分散控制后的數(shù)據(jù)輸入處理單元陣列PEA進行處理;從處理單元陣列PEA輸出的多路數(shù)據(jù)總線經(jīng)MERGE模塊合并為一條數(shù)據(jù)總線輸出,此數(shù)據(jù)通過交叉條C2控制后輸出數(shù)據(jù)總線,或通過交叉條C2和交叉條C3的聯(lián)合控制輸入到RAM或者輸出數(shù)據(jù)到相鄰PEA;地址發(fā)生器和RAM功能控制器為正確執(zhí)行RAM中數(shù)據(jù)操作產(chǎn)生必須的地址信息和控制信號;RAM讀出的數(shù)據(jù)允許通過交叉條C3的控制,傳遞到交叉條C1或者輸出數(shù)據(jù)到相鄰PEA。
本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點在于(1)由于存在合并和分散功能模塊后,將N+1個數(shù)據(jù)總線中的數(shù)據(jù)合并于一條數(shù)據(jù)總線中輸入輸出,可明顯減少外部端口數(shù)量。
(2)輸入數(shù)據(jù)經(jīng)分散功能模塊輸入后,順序輸入的數(shù)據(jù)可分配給不同的處理單元,同時開始處理,能夠?qū)崿F(xiàn)類似下面的情況;輸入數(shù)據(jù)每三個分為一組(a,b,c),在處理單元陣列中映射(a*b+c)功能。
(3)處理單元陣列PEA輸出的數(shù)據(jù)經(jīng)合并功能模塊后,多個輸入數(shù)據(jù)允許從一條輸出數(shù)據(jù)總線中順序輸出,便于進行RAM操作。
(4)本發(fā)明采用由交叉條控制的數(shù)據(jù)傳遞路徑,方便靈活,不但能夠?qū)崿F(xiàn)數(shù)據(jù)到處理單元陣列的輸入輸出,而且能夠?qū)崿F(xiàn)數(shù)據(jù)在處理單元陣列間的傳遞;同時,能夠為接口結(jié)構(gòu)中RAM內(nèi)讀出的數(shù)據(jù)建立一條輸入處理單元陣列的數(shù)據(jù)路徑。
(5)本發(fā)明的地址發(fā)生器中將DMA功能集成于接口結(jié)構(gòu)之中,加快了數(shù)據(jù)的輸入和輸出,利于數(shù)據(jù)流的處理,充分發(fā)揮配置計算的優(yōu)勢。
圖1為本發(fā)明的結(jié)構(gòu)框圖;圖2為本發(fā)明中的分散功能DEMUX結(jié)構(gòu)圖;圖3為本發(fā)明的分散功能DEMUX模塊順序接收4個輸入數(shù)據(jù)時的功能示意圖;圖4為本發(fā)明的合并功能MERGE模塊結(jié)構(gòu)圖;圖5為本發(fā)明的合并功能MERGE模塊合并4路輸入數(shù)據(jù)功能示意圖;圖6為本發(fā)明的RAM功能控制器結(jié)構(gòu)框圖;圖7為本發(fā)明的地址發(fā)生器結(jié)構(gòu)框圖;圖8為發(fā)明采用的交叉條結(jié)構(gòu)示意圖;圖9為發(fā)明的路徑控制示意圖。
具體實施例方式
如圖1所示,本發(fā)明主要由分散功能DEMUX模塊、合并功能MERGE模塊、RAM功能控制器、地址發(fā)生器、RAM和交叉條C1、C2、C3組成。在圖1中,各外部接口信號線分別定義為●‘相鄰PEA數(shù)據(jù)輸入’-表示相鄰PEA輸入到此輸入輸出接口結(jié)構(gòu)的數(shù)據(jù)總線;●‘輸出數(shù)據(jù)到相鄰PEA’-表示此輸入輸出接口結(jié)構(gòu)向相鄰PEA輸出的數(shù)據(jù)總線;●‘輸出數(shù)據(jù)總線’-為此接口結(jié)構(gòu)向外部輸出的數(shù)據(jù)總線;●‘輸入數(shù)據(jù)總線’-為外部向此接口結(jié)構(gòu)輸入的數(shù)據(jù)總線;●‘地址總線’-為此接口結(jié)構(gòu)讀取外部數(shù)據(jù)隨機存儲器(SRAM)時必需的地址總線;
●RD、WR-為此輸入/輸出結(jié)構(gòu)讀寫外部RAM數(shù)據(jù)提供控制信號。
交叉條C1、C2、C3控制數(shù)據(jù)傳遞路徑,為功能模塊選擇合理的輸入數(shù)據(jù)總線和輸出數(shù)據(jù)方向,交叉條C1為DEMUX模塊選擇輸入的數(shù)據(jù)總線,被選的數(shù)據(jù)總線包括輸入數(shù)據(jù)總線、相鄰PEA數(shù)據(jù)輸入和RAM輸入數(shù)據(jù),被C1選中后的數(shù)據(jù)輸入到DEMUX模塊,經(jīng)DEMUX模塊分散控制后的數(shù)據(jù)輸入處理單元陣列PEA進行處理;從處理單元陣列PEA輸出的多路數(shù)據(jù)總線經(jīng)MERGE模塊合并為一條數(shù)據(jù)總線輸出,此數(shù)據(jù)通過交叉條C2控制后輸出,或通過交叉條C3,輸入到RAM或者輸出數(shù)據(jù)到相鄰PEA;地址發(fā)生器和RAM功能控制器為正確執(zhí)行RAM中數(shù)據(jù)操作產(chǎn)生必須的地址信息和控制信號,針對RAM的數(shù)據(jù)操作主要有DMA方式讀,DMA方式寫,和根據(jù)輸入的地址數(shù)據(jù)進行讀操作,針對RAM的控制信號包括數(shù)據(jù)寫入控制信號WR和數(shù)據(jù)讀出控制信號RD;RAM讀出的數(shù)據(jù)通過交叉條C3的控制,反饋到交叉條C1或者輸出數(shù)據(jù)到相鄰PEA,成為RAM輸入數(shù)據(jù)。
如圖2所示,本發(fā)明中的分散功能DEMUX模塊由數(shù)據(jù)計數(shù)器、配置代碼寄存器、數(shù)據(jù)存儲位置表、N+1個譯碼器、N+1個數(shù)據(jù)寄存器、最大計數(shù)值寄存器、路由選通電路單元組成。配置代碼寄存器作用是預(yù)先存儲配置數(shù)據(jù),分為兩部分高(m+1)比特作為第一部分,其余的4×(N+1)比特,每4比特一組,作為第二部分,其N與m的關(guān)系為m=[log2(N+1)],]]>[]的含義是取整。數(shù)據(jù)存儲位置表內(nèi)部由N+1個寄存器組成,其內(nèi)部寄存的數(shù)據(jù)指輸入數(shù)據(jù)的存儲位置。m位數(shù)據(jù)計數(shù)器主要負責對輸入的有效數(shù)據(jù)進行計數(shù);最大計數(shù)值寄存器存儲的是分散功能模塊分散輸出的數(shù)據(jù)總線數(shù)目。數(shù)據(jù)寄存器x(x=0,1,......N)在數(shù)據(jù)輸出觸發(fā)信號作用下,允許將內(nèi)部寄存器中存儲的數(shù)據(jù)從輸出數(shù)據(jù)總線x(x=0,1,......N)輸出。
配置代碼寄存器內(nèi)部的第一部分、第二部分數(shù)據(jù)分別與最大計數(shù)值寄存器和數(shù)據(jù)存儲位置表相連,外部輸入數(shù)據(jù)分別輸入到m位數(shù)據(jù)計數(shù)器和各個數(shù)據(jù)寄存器的路由選通電路switch,m位數(shù)據(jù)計數(shù)器將記錄的輸入數(shù)據(jù)數(shù)目同時輸入到數(shù)據(jù)存儲位置表和最大計數(shù)值寄存器,為輸入數(shù)據(jù)讀取內(nèi)部寄存器指定的存儲位置信息,送入各個路由選通電路對應(yīng)的譯碼電路。譯碼電路負責控制路由選通電路。m位數(shù)據(jù)計數(shù)器與最大計數(shù)值寄存器相連,一旦記錄的輸入數(shù)據(jù)個數(shù)與最大計數(shù)值寄存器的數(shù)據(jù)相等,則會產(chǎn)生控制信號,此控制信號一方面作為m位數(shù)據(jù)計數(shù)器的清零信號,另一方面作為數(shù)據(jù)輸出觸發(fā)信號觸發(fā)數(shù)據(jù)寄存器x(x=0,1,......N)向外部輸出數(shù)據(jù)。
如圖3所示,本發(fā)明的分散功能DEMUX模塊順序串行接收4個輸入數(shù)據(jù),并同時并行從輸出數(shù)據(jù)總線1,2,3,4中輸出接收到的4個數(shù)據(jù)。
如圖4所示,本發(fā)明的數(shù)據(jù)合并功能MERGE模塊主要由有效數(shù)據(jù)標志字寄存器,配置代碼1寄存器,配置代碼2寄存器,數(shù)據(jù)存儲位置表,最大計數(shù)值寄存器,計數(shù)器,‘1’保持器,存儲數(shù)據(jù)寄存器,路由選通電路及邏輯比較電路組成。有效數(shù)據(jù)標志字寄存器由N+1位組成,每位分別對應(yīng)外部輸入數(shù)據(jù)x(x=0,1,......N),當外部輸入數(shù)據(jù)有效時,寄存器中相應(yīng)位置‘1’,否則清零?!?’保持器作為高電平保持器,在輸入觸發(fā)信號的作用下,輸出維持高電平,直到有清零信號到來,恢復為低電平。存儲數(shù)據(jù)寄存器內(nèi)部由N+1個寄存器組成,能夠同時并行存儲外部輸入數(shù)據(jù);并根據(jù)輸入的地址信息,讀出相應(yīng)寄存器中的數(shù)據(jù),向外部輸出。數(shù)據(jù)存儲位置表內(nèi)部由N+1個寄存器組成,其內(nèi)部寄存的數(shù)據(jù)指示的是輸入數(shù)據(jù)的存儲位置。數(shù)據(jù)計數(shù)器主要負責對輸入的有效數(shù)據(jù)進行計數(shù);最大計數(shù)值寄存器存儲的是合并功能模塊將合并輸入的數(shù)據(jù)總線數(shù)目。配置代碼1寄存器預(yù)先存儲的是輸入數(shù)據(jù)總線中將被合并輸出的數(shù)據(jù)總線信息,由N+1位組成,每位分別對應(yīng)外部輸入數(shù)據(jù)x(x=0,1,......N),當某一位置‘1’時,說明此位對應(yīng)的外部輸入數(shù)據(jù)將被合并輸出。配置代碼2寄存器預(yù)先存儲的配置數(shù)據(jù)分為兩部分高(m+1)比特作為第一部分,其余的4×(N+1)比特,每4比特一組,作為第二部分,其N與m的關(guān)系為m=[log2(N+1)].]]>外部輸入的有效數(shù)據(jù)在輸入到存儲數(shù)據(jù)寄存器的同時,數(shù)據(jù)中的有效信息輸入到有效數(shù)據(jù)標志字寄存器,它與預(yù)先存儲的配置代碼1寄存器中的數(shù)據(jù)經(jīng)邏輯比較電路,形成控制信號。在此控制信號有效時,觸發(fā)‘1’保持器,使能計數(shù)器。計數(shù)器從零開始對時鐘信號進行計數(shù);并同時切斷外部輸入數(shù)據(jù)路由選通電路,阻止此功能模塊接收新的外部輸入數(shù)據(jù)。輸出的計數(shù)值同時輸入到數(shù)據(jù)存儲位置表和最大計數(shù)值寄存器。數(shù)據(jù)存儲位置表會讀取輸入數(shù)據(jù)指示的內(nèi)部寄存器中位置信息,送入存儲數(shù)據(jù)寄存器,以向外部輸出數(shù)據(jù)。計數(shù)器與最大計數(shù)值寄存器相連,一旦計數(shù)值與最大計數(shù)值寄存器的數(shù)據(jù)相等,則會產(chǎn)生控制信號,恢復‘1’保持器為低電平狀態(tài)。
如圖5所示,本發(fā)明的合并功能MERGE模塊并行接收4個輸入數(shù)據(jù)總線中的數(shù)據(jù),并順序串行從輸出數(shù)據(jù)總線中輸出數(shù)據(jù)。
如圖6所示,本發(fā)明的RAM功能控制器主要由計數(shù)器,長度寄存器,DMA傳輸數(shù)據(jù)長度配置存儲器,RAM功能配置存儲器,功能控制寄存器,讀寫信號發(fā)生器和邏輯比較電路組成。計數(shù)器負責在DMA工作方式下對輸入的時鐘進行計數(shù),同時此時鐘信號作為遞增功能觸發(fā)信號向外輸入到地址發(fā)生器中。RAM功能配置存儲器是一個3位的寄存器,分別與功能控制寄存器中的各位相對應(yīng),定義模塊允許的工作方式DMA讀(read),DMA寫(write),正常讀(general read)。讀寫信號發(fā)生器負責產(chǎn)生讀取外部RAM的讀寫信號。
DMA傳輸數(shù)據(jù)長度配置存儲器和RAM功能配置存儲器預(yù)先存儲的配置數(shù)據(jù)分別寫入長度寄存器和功能控制寄存器。功能控制寄存器中的DMA方式控制位與時鐘信信號經(jīng)過邏輯組合后,即向外輸出控制信號,成為遞增功能觸發(fā)信號,又輸入到計數(shù)器對其進行計數(shù)。計數(shù)器中的數(shù)值與長度寄存器同時輸入邏輯比較電路。如果比較一致,則形成DMA結(jié)束信號向外輸出;否則,允許讀寫信號發(fā)生器在DMA方式下產(chǎn)生讀寫信號。外部輸入數(shù)據(jù)總線形成的有效數(shù)據(jù)標志字寄存器在正常讀方式下,在讀寫信號發(fā)生器內(nèi)部與時鐘信號經(jīng)邏輯組合形成向外輸出的讀RD、寫WR控制信號。
如圖7所示,本發(fā)明中的地址發(fā)生器模塊主要由遞增功能控制器,DMA起始地址配置寄存器,RAM功能配置存儲器,功能控制寄存器和有效數(shù)據(jù)標志字寄存器單元組成。遞增功能控制器負責在DMA方式工作時,對初始輸入的數(shù)據(jù)在外部遞增功能觸發(fā)信號的作用下,不斷加1,并從輸出地址總線輸出;在正常讀寫工作方式時,則僅是將輸入的數(shù)據(jù)作為地址直接輸出。DMA起始地址配置寄存器負責配置DMA方式工作時的起始地址信息;RAM功能配置存儲器是一個3位的寄存器,分別與功能控制寄存器中的各位相對應(yīng),定義模塊允許的工作方式DMA讀(read),DMA寫(write),正常讀(general read)。
外部輸入數(shù)據(jù)總線和DMA起始地址配置寄存器中的數(shù)據(jù)同時輸入到內(nèi)部的多路選擇器,多路選擇器選擇的數(shù)據(jù)輸入遞增功能控制器。多路選擇器的選通控制信號主要依靠兩個信號實現(xiàn)DMA工作方式下與延遲輸入的外部配置命令經(jīng)組合邏輯形成的控制信號;正常讀方式下外部輸入數(shù)據(jù)總線形成的數(shù)據(jù)有效信號。
圖1中,C1,C2,C3是交叉條,起到的作用是根據(jù)不同的配置信息,控制數(shù)據(jù)傳遞的路徑,圖8為本發(fā)明采用的交叉條的結(jié)構(gòu)圖。在這些路由開關(guān)的控制作用下,能夠根據(jù)需要,形成如圖9所示的數(shù)據(jù)傳遞路徑。
如圖9所示,INx→DEMUXx,MERGEx→OUTx(x1,2)為數(shù)據(jù)的輸入、輸出控制;MERGE1→RAM1,MERGE2→RAM3為從處理單元陣列到RAM的路徑;RAM1→DEMUX2,RAM3→DEMUX2,RAM1→DEMUX1,RAM15→DEMUX1為從RAM到處理單元陣列的路徑;RAM15→RAM1,RAM1→RAM3為相鄰RAM塊之間的數(shù)據(jù)傳遞路徑。INx→DEMUXx完成數(shù)據(jù)的分散功能,將外部輸入的數(shù)據(jù)根據(jù)配置的不同情況,分成多路數(shù)據(jù),同時輸入到PEA陣列;MERGEx→OUTx完成數(shù)據(jù)的合并功能,將PEA陣列向外輸出的數(shù)據(jù),合并后從一條數(shù)據(jù)總線輸出。RAM15→RAM1,RAM1→RAM3在實現(xiàn)RAM間數(shù)據(jù)傳遞的同時,也能夠?qū)崿F(xiàn)數(shù)據(jù)間接尋址功能。以RAM15→RAM1為例,首先在RAM15中按順序存儲準備在RAM1中讀出數(shù)據(jù)的地址信息,然后順序讀取RAM15中的數(shù)據(jù),并傳遞給RAM1作為地址信息,則RAM1輸出的數(shù)據(jù)內(nèi)容即是本發(fā)明所期望地址的數(shù)據(jù)。
權(quán)利要求
1.粗粒度可重配置計算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu),其特征在于包括分散功能DEMUX模塊、合并功能MERGE模塊、RAM功能控制器、地址發(fā)生器、RAM和交叉條C1、C2、C3;交叉條C1為DEMUX模塊選擇輸入的數(shù)據(jù)總線,被選的數(shù)據(jù)總線包括輸入數(shù)據(jù)總線、相鄰PEA數(shù)據(jù)輸入和RAM輸入數(shù)據(jù),被C1選中后的數(shù)據(jù)輸入到DEMUX模塊,經(jīng)DEMUX模塊分散控制后的數(shù)據(jù)輸入處理單元陣列PEA進行處理;從處理單元陣列PEA輸出的多路數(shù)據(jù)總線經(jīng)MERGE模塊合并為一條數(shù)據(jù)總線輸出,此數(shù)據(jù)通過交叉條C2控制后輸出數(shù)據(jù)總線,或通過交叉條C2和交叉條C3的聯(lián)合控制輸入到RAM或者輸出數(shù)據(jù)到相鄰PEA;地址發(fā)生器和RAM功能控制器為正確執(zhí)行RAM中數(shù)據(jù)操作產(chǎn)生必須的地址信息和控制信號;RAM讀出的數(shù)據(jù)通過交叉條C3的控制,傳遞到交叉條C1或者輸出數(shù)據(jù)到相鄰PEA。
2.根據(jù)權(quán)利要求1所述的粗粒度可重配置計算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu),其特征在于所述的分散功能DEMUX模塊具有一路外部輸入數(shù)據(jù)總線,N+1路外部輸出數(shù)據(jù)總線,包括數(shù)據(jù)計數(shù)器、配置代碼寄存器、數(shù)據(jù)存儲位置表、N+1個譯碼器、N+1個數(shù)據(jù)寄存器、最大計數(shù)值寄存器、路由選通電路;配置代碼寄存器預(yù)先存儲配置數(shù)據(jù);數(shù)據(jù)存儲位置表內(nèi)部由N+1個寄存器組成;m位數(shù)據(jù)計數(shù)器對輸入的有效數(shù)據(jù)進行計數(shù);最大計數(shù)值寄存器存儲輸出的有效數(shù)據(jù)總線數(shù)目;數(shù)據(jù)寄存器x,x=0,1,......N在數(shù)據(jù)輸出觸發(fā)信號作用下,將內(nèi)部寄存器中存儲的數(shù)據(jù)從輸出數(shù)據(jù)總線輸出;配置代碼寄存器內(nèi)部與最大計數(shù)值寄存器和數(shù)據(jù)存儲位置表相連,外部輸入數(shù)據(jù)分別輸入到m位數(shù)據(jù)計數(shù)器和各個數(shù)據(jù)寄存器的路由選通電路,m位數(shù)據(jù)計數(shù)器將記錄的輸入數(shù)據(jù)數(shù)目同時輸入到數(shù)據(jù)存儲位置表和最大計數(shù)值寄存器,數(shù)據(jù)存儲位置表會讀取輸入數(shù)據(jù)指示的內(nèi)部寄存器中位置信息,送入各個路由選通電路對應(yīng)的譯碼電路,譯碼電路負責控制路由選通電路,m位數(shù)據(jù)計數(shù)器與最大計數(shù)值寄存器相連,一旦記錄的輸入數(shù)據(jù)個數(shù)與最大計數(shù)值寄存器的數(shù)據(jù)相等,則會產(chǎn)生控制信號,此控制信號一方面作為m位數(shù)據(jù)計數(shù)器的清零信號,另一方面作為數(shù)據(jù)輸出觸發(fā)信號觸發(fā)數(shù)據(jù)寄存器x,x=0,1,......N向外部輸出數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的粗粒度可重配置計算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu),其特征在于所述的配置代碼寄存器分為兩部分高(m+1)比特作為第一部分,其余的4×(N+1)比特,每4比特一組,作為第二部分,其N與m的關(guān)系為m=[log2(N+1)].]]>
4.根據(jù)權(quán)利要求1所述的粗粒度可重配置計算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu),其特征在于所述的合并功能MERGE模塊具有N+1路外部輸入數(shù)據(jù)總線,一路外部輸出數(shù)據(jù)總線,包括有效數(shù)據(jù)標志字寄存器、配置代碼1寄存器、配置代碼2寄存器、數(shù)據(jù)存儲位置表、最大計數(shù)值寄存器、計數(shù)器、‘1’保持器、存儲數(shù)據(jù)寄存器、路由選通電路及邏輯比較電路;有效數(shù)據(jù)標志字寄存器由N+1位組成,每位分別對應(yīng)外部輸入數(shù)據(jù)x,x=0,1,......N,當外部輸入數(shù)據(jù)有效時,有效數(shù)據(jù)標志字寄存器中相應(yīng)位置‘1’,否則清零;‘1’保持器作為高電平保持器,在輸入觸發(fā)信號的作用下,輸出維持高電平,直到有清零信號到來,恢復為低電平;存儲數(shù)據(jù)寄存器內(nèi)部由N+1個寄存器組成,能夠同時并行存儲外部輸入數(shù)據(jù),并根據(jù)輸入的地址信息,讀出相應(yīng)寄存器中的數(shù)據(jù),向外部輸出;數(shù)據(jù)存儲位置表由N+1個寄存器組成,其內(nèi)部寄存的數(shù)據(jù)指示輸入數(shù)據(jù)的存儲位置;數(shù)據(jù)計數(shù)器對輸入的有效數(shù)據(jù)進行計數(shù);最大計數(shù)值寄存器存儲被合并輸出的輸入數(shù)據(jù)總線數(shù)目;配置代碼1寄存器預(yù)先存儲輸入數(shù)據(jù)總線中將被合并輸出的數(shù)據(jù)總線信息,由N+1位組成,每位分別對應(yīng)外部輸入數(shù)據(jù)x,x=0,1,......N,當某一位置‘1’時,此位對應(yīng)的外部輸入數(shù)據(jù)將被合并輸出,配置代碼2寄存器預(yù)先存儲配置數(shù)據(jù);外部輸入的有效數(shù)據(jù)在輸入到存儲數(shù)據(jù)寄存器的同時,數(shù)據(jù)中的有效信息輸入到有效數(shù)據(jù)標志字寄存器,它與預(yù)先存儲的配置代碼1寄存器中的數(shù)據(jù)經(jīng)邏輯比較電路,形成控制信號,在此控制信號有效時,觸發(fā)‘1’保持器,使能計數(shù)器從零開始對時鐘信號進行計數(shù),并同時切斷外部輸入數(shù)據(jù)路由選通電路,不接收新的外部輸入數(shù)據(jù),輸出的計數(shù)值同時輸入到數(shù)據(jù)存儲位置表和最大計數(shù)值寄存器;數(shù)據(jù)存儲位置表讀取輸入數(shù)據(jù)指示的內(nèi)部寄存器中位置信息,送入存儲數(shù)據(jù)寄存器,以向外部輸出數(shù)據(jù);計數(shù)器與最大計數(shù)值寄存器相連,一旦計數(shù)值與最大計數(shù)值寄存器的數(shù)據(jù)相等,產(chǎn)生控制信號,恢復‘1’保持器為低電平狀態(tài)。
5.根據(jù)權(quán)利要求4所述的粗粒度可重配置計算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu),其特征在于所述的配置代碼2寄存器預(yù)先存儲的配置數(shù)據(jù)分為兩部分高(m+1)比特作為第一部分,其余的4×(N+1)比特,每4比特一組,作為第二部分,其N與m的關(guān)系為m=[log2(N+1)].]]>
6.根據(jù)權(quán)利要求1所述的粗粒度可重配置計算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu),其特征在于所述的RAM功能控制器包括計數(shù)器、長度寄存器、DMA傳輸數(shù)據(jù)長度配置存儲器、RAM功能配置存儲器、功能控制寄存器、讀寫信號發(fā)生器和邏輯比較電路;計數(shù)器負責在DMA工作方式下對輸入的時鐘進行計數(shù),同時此時鐘信號作為遞增功能觸發(fā)信號向外輸入到地址發(fā)生器中;RAM功能配置存儲器分別與功能控制寄存器中的各位相對應(yīng);讀寫信號發(fā)生器負責產(chǎn)生讀取外部RAM的讀寫信號;DMA傳輸數(shù)據(jù)長度配置存儲器和RAM功能配置存儲器預(yù)先存儲的配置數(shù)據(jù)分別寫入長度寄存器和功能控制寄存器,功能控制寄存器中的DMA方式控制位與時鐘信信號經(jīng)過邏輯組合后,即作為遞增功能出發(fā)信號向外輸出,又輸入到計數(shù)器對其進行計數(shù),計數(shù)器中的數(shù)值與長度寄存器同時輸入邏輯比較電路,如果比較一致,則形成DMA結(jié)束信號向外輸出;否則,允許讀寫信號發(fā)生器在DMA方式下產(chǎn)生讀寫信號,外部輸入數(shù)據(jù)總線形成的有效數(shù)據(jù)標志字寄存器在正常讀方式下,在讀寫信號發(fā)生器內(nèi)部與時鐘信號經(jīng)邏輯組合形成向外輸出的讀RD、寫WR控制信號。
7.根據(jù)權(quán)利要求1所述的粗粒度可重配置計算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu),其特征在于所述的地址發(fā)生器模塊包括遞增功能控制器、DMA起始地址配置寄存器、RAM功能配置存儲器、功能控制寄存器及有效數(shù)據(jù)標志字寄存器單元;遞增功能控制器負責在DMA方式工作時,對初始輸入的數(shù)據(jù)在外部遞增功能觸發(fā)信號的作用下,不斷加1,并從輸出地址總線輸出,在正常讀寫工作方式時,則僅將輸入的數(shù)據(jù)作為地址直接輸出;DMA起始地址配置寄存器負責配置DMA方式工作時的起始地址信息;RAM功能配置存儲器分別與功能控制寄存器中的各位相對應(yīng);外部輸入數(shù)據(jù)總線和DMA起始地址配置寄存器中的數(shù)據(jù)同時輸入到內(nèi)部的多路選擇器,多路選擇器選擇的數(shù)據(jù)輸入遞增功能控制器,多路選擇器的選通控制信號主要依靠兩個信號實現(xiàn)DMA工作方式下與延遲輸入的外部配置命令經(jīng)組合邏輯形成的控制信號;正常讀方式下外部輸入數(shù)據(jù)總線形成的數(shù)據(jù)有效信號。
全文摘要
粗粒度可重配置計算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu)包括分散功能DEMUX模塊、合并功能MERGE模塊、RAM功能控制器、地址發(fā)生器、RAM和交叉條C1、C2、C3,交叉條C1為DEMUX模塊選擇輸入的數(shù)據(jù)總線,被C1選中后的數(shù)據(jù)輸入到DEMUX模塊,經(jīng)DEMUX模塊分散控制后的數(shù)據(jù)輸入處理單元陣列PEA進行處理;從處理單元陣列PEA輸出的多路數(shù)據(jù)總線經(jīng)MERGE合并為一條數(shù)據(jù)總線輸出,此數(shù)據(jù)通過交叉條C2控制后輸出,或通過交叉條C3控制,輸入到RAM或者輸出數(shù)據(jù)到相鄰PEA;地址發(fā)生器和RAM功能控制器為正確執(zhí)行寫入及讀出RAM中數(shù)據(jù)操作產(chǎn)生必須的地址信息和控制信號;從RAM中讀出的數(shù)據(jù)允許通過交叉條C3的控制,反饋到交叉條C1或者輸出數(shù)據(jù)到相鄰PEA。本發(fā)明利于映射算法中數(shù)據(jù)的輸入輸出,同時又減少了輸入輸出端口。
文檔編號G06F15/78GK101030191SQ20071006542
公開日2007年9月5日 申請日期2007年4月13日 優(yōu)先權(quán)日2007年4月13日
發(fā)明者宋立國 申請人:北京時代民芯科技有限公司