亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

倒序/循環(huán)地址產(chǎn)生器電路結(jié)構(gòu)的制作方法

文檔序號:6560246閱讀:168來源:國知局
專利名稱:倒序/循環(huán)地址產(chǎn)生器電路結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于計算機體系結(jié)構(gòu)領(lǐng)域。地址產(chǎn)生器是數(shù)字信號處理器的重要功能部件,采用我們發(fā)明的倒序/循環(huán)新型地址產(chǎn)生器,數(shù)字信號處理器對典型應(yīng)用的執(zhí)行效率顯著提高。
背景技術(shù)
為了提高微處理器的性能,常用的方法之一就是在處理器內(nèi)嵌入硬件地址產(chǎn)生器使數(shù)據(jù)地址運算與數(shù)據(jù)運算并行。傳統(tǒng)地址產(chǎn)生器的功能只限于完成簡單的加、減操作,其結(jié)構(gòu)可用圖1統(tǒng)一表示。由于傳統(tǒng)地址產(chǎn)生器計算地址方式單一,它只適合應(yīng)用于數(shù)據(jù)以順序次序訪問方式下的地址計算。根據(jù)常用的數(shù)字信號處理算法,數(shù)據(jù)的訪問方式主要可歸結(jié)為三類即順序次序訪問方式、倒位序訪問方式、循環(huán)次序訪問方式。傳統(tǒng)地址產(chǎn)生器不能有效地支持倒位序訪問方式與循環(huán)次序訪問方式時數(shù)據(jù)地址的計算,因此,傳統(tǒng)的地址產(chǎn)生器不能滿足高速數(shù)字信號處理器內(nèi)地址計算的需要。申請人研究的出發(fā)點,就是要解決傳統(tǒng)地址產(chǎn)生器功能簡單的不足,提出一種能高效地支持數(shù)字信號處理應(yīng)用算法的地址產(chǎn)生器。
1.倒序數(shù)據(jù)地址的計算方法 離散傅立葉變換(DFT)在數(shù)字信號處理算法和系統(tǒng)的分析、設(shè)計和實現(xiàn)中起著重要的作用[8]。離散傅立葉變換最常見的一種快速傅立葉變換算法是基2FFT算法,如圖2所示,在8點基2FFT完整計算流圖中的數(shù)據(jù)流圖作計算時,不斷將離散傅立葉變換計算按奇、偶分解成較小的離散傅立葉變換計算。圖3的樹狀圖描述了輸入數(shù)據(jù)標號序列分成偶數(shù)(為0)和奇數(shù)(為1)標號子序列的過程。
根據(jù)上述原理,將倒序輸入數(shù)據(jù)序列定義為一個數(shù)據(jù)表,輸入數(shù)據(jù)序列的長度即倒序數(shù)據(jù)表長度記為L(L=2n,n∈自然數(shù))。為了減少倒序數(shù)據(jù)地址的計算開銷,對倒序數(shù)據(jù)表的首地址作如下限定數(shù)據(jù)表的首地址最低k位為零,k滿足關(guān)系式2k>L(k∈自然數(shù))。如果數(shù)字信號處理器的地址長度為24位,倒位序數(shù)據(jù)表的首地址限定的實例如表1所示。數(shù)字信號處理器的編譯器將保證倒序數(shù)據(jù)表的首地址滿足限定條件。
表1倒序數(shù)據(jù)表的首地址限定的實例 在倒序數(shù)據(jù)表的首地址作滿足限定條件時,倒序數(shù)據(jù)地址的計算方法如下 ARn=ARn<+>L/2 (1-1) 式(1-1)中的<+>操作表示逆向進位加法操作。
例1(1)假設(shè)系統(tǒng)地址長度為8位,L=23,ARn=(xxxx0100)2為剛使用過的倒序數(shù)據(jù)地址,那么下一次要取用的倒序數(shù)據(jù)地址應(yīng)用式(1-1)計算如下 ARn=ARn<+>L/2=(xxxx0100)2<+>(100)2=(xxxx0010)2 (2)假設(shè)同上,從倒位序數(shù)據(jù)表首地址(xxxx0000)開始,連續(xù)進行8次倒序數(shù)據(jù)地址計算和連續(xù)進行8次遞增順序地址計算,數(shù)據(jù)地址后3位的變化情況如表2所示。
表2兩類數(shù)據(jù)地址計算方式后3位的變化情況 2.循環(huán)緩沖區(qū)數(shù)據(jù)地址的計算方法 卷積運算、相關(guān)運算、FIR濾波等眾多數(shù)字信號處理運算都可認為是一種特殊的有權(quán)和計算(Weighted Sum Computation),這種特殊性表現(xiàn)在需要不斷的更新數(shù)據(jù)的采樣值。如果一個N階濾波器,濾波計算時需要最近的N個采樣數(shù)據(jù),這N個采樣值存儲于數(shù)據(jù)存儲器中。每次濾波計算輸出后,一個新的采樣數(shù)據(jù)將被讀入并存儲于數(shù)據(jù)存儲器,同時最舊的采樣數(shù)據(jù)被去除,即本次濾波計算中一個采樣數(shù)據(jù)位置為X[k],則下一次濾波計算中該數(shù)據(jù)位為X[k-1]。因此,N階濾波器每次計算后,還需N-1次寫操作。這種頻繁的寫操作,會導(dǎo)致很大的系統(tǒng)功耗并且影響了系統(tǒng)的運算速度?,F(xiàn)存多種方法改變上述情況,其中代價最小的法就是將采樣數(shù)據(jù)區(qū)定義為循環(huán)緩沖區(qū),用循環(huán)緩沖區(qū)指針的改變來代替數(shù)據(jù)的移動,這樣就可以大幅度減小系統(tǒng)功耗并且提高運算速度。
循環(huán)緩沖區(qū)可視作一個滑動窗,窗內(nèi)包含最新需要處理的數(shù)據(jù)。當(dāng)前數(shù)據(jù)處理完后指向緩沖區(qū)的地址指針按一定步長前移,又有一個新的數(shù)據(jù)進來,新的數(shù)據(jù)都要覆蓋舊的數(shù)據(jù),然后對緩沖器中的數(shù)據(jù)再進行處理,如此往復(fù)到指針指向緩沖區(qū)末地址時,指針將重新指向緩沖器首地址。表3描述了長度為6的循環(huán)緩沖區(qū)存放兩組數(shù)據(jù)的情況,(a)為寫入數(shù)據(jù)集{1,2,3,4}的情況,(b)為寫入數(shù)據(jù)集{1,2,3,4,5,6,7,8}的情況,緩沖區(qū)的地址指針以步長為1的長度增長。
表3長度為6的循環(huán)緩沖區(qū)存放兩組數(shù)據(jù)的情況 為了減少循環(huán)緩沖區(qū)數(shù)據(jù)地址的計算開銷,申請人對循環(huán)緩沖區(qū)作如下限定循環(huán)類循環(huán)緩沖區(qū)長度記為L(L∈自然數(shù));循環(huán)緩沖區(qū)首地址最低k位為零,k滿足關(guān)系式2k>L(k∈自然數(shù));循環(huán)緩沖區(qū)指針的改變步長(Step)滿足|Step|<L。數(shù)字信號處理器的編譯器將保證循環(huán)緩沖區(qū)滿足限定條件。
在循環(huán)緩沖區(qū)滿足限定條件時,循環(huán)緩沖區(qū)數(shù)據(jù)地址的計算方法如下 ARn=ARn+step-L,ARn+step>End ARn=ARn+step+L,ARn+step<Start (2-1) ARn=ARn+step,Start≤ARn+step≤End 式(2-1)中的START、END表示循環(huán)緩沖區(qū)的起始地址、截止地址。
3.倒序/循環(huán)地址產(chǎn)生器的生成算法 倒序/循環(huán)地址產(chǎn)生器的生成算法(Agu_algorithm)是根據(jù)數(shù)據(jù)地址的計算方法產(chǎn)生,描述如下 int Agu_algorithm(type,ARn,immedieate_vlue,MR,step,L,START,END)   string type; /*type:地址計算方法標識*/   int ARn,immedieate_vlue,MR,step,L,START,END;   {Switch(type)   {case‘001’:ARn=ARn±±;break;<!-- SIPO <DP n="4"> --><dp n="d4"/>  case‘010’:ARn=ARn±±MR;break;  case‘011’:ARn=ARn±immedieate_vlue;break;  case‘101’:ARn=ARn<+>L/2;break;  case‘110’:{   ARn=ARn+step;   IF(ARn+step>End)   ARn=ARn-L;   IF(ARn+step<Start)   ARn=ARn+L;break;   }   Default:ARn=ARn;  }   Return(ARn);  } 倒序/循環(huán)地址產(chǎn)生器生成算法中type∈{‘001’,‘010’,‘011’},表示是順序數(shù)據(jù)地址的計算;type∈{‘101’},表示是倒位序數(shù)據(jù)地址的計算;type∈{‘110’},表示是循環(huán)緩沖區(qū)數(shù)據(jù)地址的計算。


發(fā)明內(nèi)容
依據(jù)上述倒序數(shù)據(jù)地址的計算方法、循環(huán)緩沖區(qū)數(shù)據(jù)地址的計算方法和倒序/循環(huán)地址產(chǎn)生器的生成算法,本發(fā)明的目的在于,提供一種倒序/循環(huán)地址產(chǎn)生器的電路結(jié)構(gòu)。
為了實現(xiàn)上述目的,本發(fā)明采取如下的技術(shù)解決方案 一種倒序/循環(huán)地址產(chǎn)生器的電路結(jié)構(gòu),其特征在于,該電路結(jié)構(gòu)由一個五端輸入選擇器、一個三端輸入選擇器、一個LT產(chǎn)生邏輯模塊、一個加法器、一個逆向加法器、一個位與操作模塊、一個位或操作模塊、一個比較邏輯模塊和一個修改邏輯模塊組成;其中 五端輸入選擇器,用于根據(jù)尋址類型確定五個輸入選通數(shù)據(jù);該五端輸入選擇器的輸出端分別連接到加法器和逆向加法器的一個輸入端; 三端輸入選擇器,用于選通輸出地址產(chǎn)生器的計算的地址結(jié)果;它的3個數(shù)據(jù)輸入分別來自加法器、逆向加法器和自修改邏輯模塊的輸入結(jié)果; 加法器,用于除倒序?qū)ぶ贩绞揭酝獾钠渌绞降膶ぶ酚嬎悖膬蓚€輸入一個來自五輸入選擇器的輸出端,另一個來自源地址寄存器的值;該加法器的輸出端分別與三端輸入選擇器的一個輸入端、比較邏輯模塊和修改邏輯模塊的一個輸入端相連; 逆向加法器,用于倒序?qū)ぶ贩绞?,它的兩個輸入端一是來自五端輸入選擇器的輸出端,另一個來自源地址寄存器的值,該逆向加法器的輸出端連接到三端輸入選擇器的一個輸入端; LT產(chǎn)生邏輯模塊,用于循環(huán)緩沖區(qū)的首尾地址產(chǎn)生;該LT產(chǎn)生邏輯的輸出端與位與操作模塊的一個輸入端連接; 位與操作模塊,用于形成循環(huán)尋址中循環(huán)緩沖區(qū)的首地址,該位與操作模塊的兩個輸入端一個來LT產(chǎn)生邏輯模塊的輸出;另一個來自源地址寄存器的值;位與操作模塊的輸出端與位或操作模塊的一個輸入端和比較邏輯模塊的一個輸入端相連; 位或操作模塊,用于形成循環(huán)尋址中循環(huán)緩沖區(qū)的尾地址,該位或操作模塊的兩個輸入端一個來自位與操作模塊的輸出,另一個來自循環(huán)緩沖區(qū)的長度值,位或操作模塊的輸出端與比較邏輯模塊的一個輸入端連接; 比較邏輯模塊,用于判斷循環(huán)尋址的地址值是否越界,該比較邏輯模塊的輸入有4個,一個是來自加法器的循環(huán)尋址的地址值;第二個是地址增長方向值;第三個是來自位與操作模塊輸出的首地址值,第四個是來自位或操作模塊的輸出的尾地址值;比較邏輯模塊的輸出與修改邏輯模塊的一個輸入端連接; 修改邏輯模塊,用于將越界的循環(huán)尋址,重新修改回循環(huán)緩沖區(qū)的地址空間;該修改邏輯的模塊輸入有4個,一個是加法器的輸入;第二個是循環(huán)緩沖區(qū)長度;第三個是比較邏輯模塊的輸出;第四個是地址變化方向的符號;修改邏輯模塊的輸出端與三端輸入選擇器的一個輸入端相連。
本發(fā)明的倒序/循環(huán)地址產(chǎn)生器的電路結(jié)構(gòu)具有以下優(yōu)點 (1)有效的支持倒序和循環(huán)尋址方式,對高效地支持FFT、卷積以及相關(guān)等數(shù)字信號處理算法的數(shù)據(jù)尋址,提高算法的執(zhí)行效率。
(2)循環(huán)緩沖區(qū)的首尾地址(START、END地址)采用動態(tài)方式產(chǎn)生,減小了地址產(chǎn)生器的AT2。
(3)該結(jié)構(gòu)的地址產(chǎn)生器速度較快。地址產(chǎn)生器的關(guān)鍵路徑延遲為 tp=2tmux+max(tadder,tLT+t&+t|)+tcmp+treform 其中,tmux表示選擇器的延遲;tadder表示表示加法器的延遲;tLT表示LT產(chǎn)生邏輯延遲;t&表示位與操作延遲;t|表示位或操作延遲;tcmp表示比較邏輯延遲;treform表示修改邏輯延遲。tmux、t&、t|基本為一常數(shù),數(shù)量級與門延遲(tg)相同。對于地址位數(shù)為24位的地址產(chǎn)生器可有以下結(jié)論tadder>>tg;tadder>tLT+t&+t|;tcmp、treform數(shù)量級與tadder相同。因此,該結(jié)構(gòu)的地址產(chǎn)生器最大延遲相當(dāng)于3tadder,即延遲復(fù)雜度與加法器的延遲復(fù)雜度線性相關(guān)。
本發(fā)明的倒序/循環(huán)地址產(chǎn)生器,是通過研究常用的數(shù)字信號處理算法,總結(jié)常用數(shù)字信號處理算法中數(shù)據(jù)使用的特點,根據(jù)數(shù)據(jù)使用的特點得出了數(shù)字信號處理算法中數(shù)據(jù)地址的計算方法。采用本發(fā)明的倒位序/循環(huán)地址產(chǎn)生器后,顯著提高了其數(shù)字信號處理性能。源于數(shù)字信號處理算法本身的通用性,也適合應(yīng)用于其它可編程數(shù)字信號處理器內(nèi)嵌地址產(chǎn)生器的研發(fā)中。


圖1是傳統(tǒng)地址產(chǎn)生器結(jié)構(gòu)圖; 圖2是8點基2FFT的完整計算流圖; 圖3是8點基2FFT輸入數(shù)據(jù)倒序的樹狀圖; 圖4是本發(fā)明的倒序/循環(huán)地址產(chǎn)生器的邏輯結(jié)構(gòu)圖; 圖5是一位全加器的結(jié)構(gòu)圖; 圖6是8-bit正向加法器的電路結(jié)構(gòu)圖; 圖7是為LT模板的位判斷電路結(jié)構(gòu)圖; 圖8是時LT模板的第M組判斷結(jié)構(gòu)圖。
為了更清楚的理解本發(fā)明,以下結(jié)合附圖和發(fā)明人給出的一個具體的實施例,對本發(fā)明作進一步的詳細描述。

具體實施例方式 SMDSP高性能數(shù)字信號處理器,地址線24位,其支持順序、倒序以及循環(huán)尋址。SMDSP內(nèi)的地址產(chǎn)生器采用了圖4的倒序/循環(huán)地址產(chǎn)生器的電路結(jié)構(gòu),包括 一個五端輸入選擇器。五端輸入選擇器根據(jù)尋址類型控制信號type,確定5輸入選通的數(shù)據(jù)。5個待選通數(shù)據(jù)由上至下依次為“step”(當(dāng)type表示是循環(huán)尋址時,選通它);“immedieat_value”(當(dāng)type表示是立即數(shù)尋址時,選通它);“MR”(當(dāng)type表示是基址變址尋址時,選通它);“1”(當(dāng)type表示是順序?qū)ぶ窌r,選通它);“L/2”(當(dāng)type表示是倒序?qū)ぶ窌r,選通它)。五輸入選擇器的輸出連接到加法器和逆向加法器的一個輸入。
一個加法器。除倒序?qū)ぶ贩绞?,其它方式的尋址計算都需要加法器參與運算。它的兩個輸入一是來自五輸入選擇器的輸出;二是源地址寄存器的值A(chǔ)Rn。加法器的輸出接到3輸入選擇器的一個輸入端和比較邏輯的輸入端。
一個逆向加法器。該逆向加法器用于倒序?qū)ぶ贩绞?。它的兩個輸入一是來自五輸入選擇器的輸出,即L/2;二是源地址寄存器的值A(chǔ)Rn。逆向加法器的輸出接到3輸入選擇器的一個輸入端。
一個LT產(chǎn)生邏輯,用于循環(huán)緩沖區(qū)的首尾地址產(chǎn)生。LT產(chǎn)生邏輯的輸出為位與操作模塊的一個輸入。LT的產(chǎn)生過程從L的最高位開始,找到第一個Li不為零,將Li至L0置為0,將LMSB至Li+1置為1。
一個位與操作模塊。位與操作用于形成循環(huán)尋址中,循環(huán)緩沖區(qū)的首地址。該模塊有兩個輸入一是來在LT的輸出;二是源地址寄存器的值A(chǔ)Rn。位與操作模塊的輸出作為位或操作的輸入和比較邏輯的輸入。
一個位或操作模塊。位與操作用于形成循環(huán)尋址中,循環(huán)緩沖區(qū)的尾地址址。該模塊有兩個輸入一是來在位與操作模塊的輸出,即循環(huán)緩沖區(qū)的首地址;二是循環(huán)緩沖區(qū)的長度值L。位或操作模塊的輸出作為比較邏輯的輸入。
一個比較邏輯模塊。比較邏輯模塊用于判斷循環(huán)尋址的地址值是否越界,即在正向增長時(Step為正),循環(huán)尋址的地址值是否大于循環(huán)緩沖區(qū)的尾首地址;在逆向增長時(Step為負),循環(huán)尋址的地址值是否大于循環(huán)緩沖區(qū)的首地址。比較邏輯的輸入有4個一個是循環(huán)尋址的地址值來自加法器;二是地址增長方向,即Step的符號;三是首地址值,來自位與操作模塊的輸出;四是尾地址值,來自位或操作模塊的輸出。比較邏輯的輸出作為修改邏輯的一個輸入。
一個修改邏輯。修改邏輯是用于將越界的循環(huán)尋址,重新修改回循環(huán)緩沖區(qū)的地址空間。當(dāng)發(fā)生上越界時(STE為負),修改邏輯執(zhí)行的操作是循環(huán)尋址值加上循環(huán)緩沖區(qū)長度L;當(dāng)發(fā)生下越界時(STEP為正),修改邏輯執(zhí)行的操作是循環(huán)尋址值減去循環(huán)緩沖區(qū)長度L。修改邏輯的輸入有4個一個是加法器的輸入;二是循環(huán)緩沖區(qū)長度L;三是越界類型即比較邏輯模塊的輸出;四是地址變化方向STEP的符號。修改邏輯的輸出為三輸入選擇器的輸入。
一個三輸入選擇器。三輸入選擇器用于選通輸出地址產(chǎn)生器的計算的地址結(jié)果。它有3個數(shù)據(jù)輸入端一個是加法器的結(jié)果;一個是逆向加法器的結(jié)果;三是修改邏輯的結(jié)果。輸出控制由Type*決定。輸出結(jié)果為ARn*。
上述五輸入選擇器可采用NMOS傳輸管邏輯,即用5個N管漏端并聯(lián),源端分別接5個輸入信號(step、immedieat value、MR、1、L/2),5個N管的柵都接type的譯碼信號。
加法器的結(jié)構(gòu)實現(xiàn)分兩步。首先是一位全加器的結(jié)構(gòu);然后是24位加法器的結(jié)構(gòu) (1)一位全加器電路。一位全加器是實現(xiàn)加法器和逆向加法器的基礎(chǔ)。地址產(chǎn)生器采用全定制設(shè)計方法,采用了單N管傳輸邏輯,降低了一位全加器單元的面積,同時提高了一位全加器的速度。同時,為了降低避免信號延遲造成的邏輯誤翻轉(zhuǎn)功耗,特別設(shè)計了延遲均衡的進位產(chǎn)生信號和進位傳遞信號電路。
圖5為加法器的其中一位全加器的結(jié)構(gòu),包括 一個與非門nand,該與非門nand的輸出端與一個PMOS傳輸管P1連接,其輸入數(shù)據(jù)為a,b; 一個或非門nor,該或非門nor的輸出端與第一NMOS傳輸管N1連接,其輸入數(shù)據(jù)為a,b; 上述NMOS傳輸管N1和PMOS傳輸管P1的輸出還與第二NMOS傳輸管N2的輸出端相連,第二NMOS傳輸管N2的輸入端與第三非門pinv_3相連; 兩個異或門,其中第一異或門xonr_1的輸入數(shù)據(jù)為a、b,輸出端連接有第一非門pinv_1,第一非門pinv_1的輸出端分別與第二非門inv的輸入端和第二NMOS傳輸管N2的輸入端相連,第二非門inv的輸出與第二異或門xonr_2的一個輸入端相連,第二異或門xonr_2的另一個輸入來自第三非門pinv_2的輸出端;第二異或門xonr_2的輸出端還連接有第四非門pinv_3; 第三非門pinv_2的輸入Cin為低位的進位輸入信號;第四非門pinv_3輸出s為一位全加器的運算結(jié)果,第一非門pinv_1的輸出haf為a,b的異或值即半加的結(jié)果,NMOS傳輸管N1和PMOS傳輸管P1的輸出cout為一位全加器的進位輸出。
當(dāng)a=1且b=1時,進位輸出信號為1,p1導(dǎo)通Cout=1(CH=1);當(dāng)a=0且b=0時,進位輸出信號為0,n1導(dǎo)通Cout=0(CH=0);當(dāng)a=1且b=0或a=0且b=1時,進位輸出信號的值依賴進位輸入信號的值,n2導(dǎo)通Cout=Cin(CH=CL)。
(2)正向與逆向進位加法器電路 正向加法器,即進位從低位向高位進位的加法器,具體結(jié)構(gòu)需要根據(jù)具體的應(yīng)用環(huán)境和實現(xiàn)工藝確定采用哪一種加法器。加法器的性能可以從延遲、功耗、面積等方面進行分析。我們對行波進位加法器、均勻分組跳躍進位加法器、不均勻分組跳躍進位加法器、選擇進位加法器和先行進位加法器等幾種常見的加法器進行了分析,針對24位加法器進行的。具體分析的方法有三種一是通過門級模擬器來估算加法器的性能和功耗;二是對每種加法器應(yīng)用標準單元庫,進行電路版圖的設(shè)計,然后從版圖中反提取電路參數(shù),針對其參數(shù)進行電路的模擬,從中得出各種加法器的比較結(jié)果;三是通過物理實現(xiàn)在芯片上實現(xiàn)各種加法器,然后通過實際測量進行比較。采用上面的三種方法對前面提到的各種加法器進行比較的結(jié)果見表4。
表4 24位加法器的各種實現(xiàn)情況比較 通過對這些并行加法器的比較,可以發(fā)現(xiàn)行波進位加法器的速度太慢,選擇進位加法器使用的邏輯門數(shù)、面積、功耗較大,而速度的改善不足以補償付出的代價。延遲功耗積相對較小的是跳躍進位加法器(包括均勻分組和不均勻分組)和先行進位加法器,其中不均勻分組的跳躍進位加法器和先行進位加法器的延遲功耗積是最小的,它們的面積相對于選擇進位加法器是較小的。而在物理實現(xiàn)時,雖然先行進位加法器和跳躍進位加法器的規(guī)則性都比較好,但是隨著半導(dǎo)體工藝特征尺寸的不斷縮小,金屬線之間的干擾以及它們所占的功耗和面積也在不斷增加,又由于隨著位數(shù)的增加,先行進位加法器內(nèi)部的走線會趨向于更復(fù)雜化。所以綜合考慮以上各種因素,為了使得加法器的性能得到最大的優(yōu)化,采用進位跳躍加法器結(jié)構(gòu)。
下面是發(fā)明人以一個8位的正向進位的跳躍加法器結(jié)構(gòu)的實施例,用于說明跳躍加法器結(jié)構(gòu)的特點。
圖6為個8位的正向進位的跳躍加法器結(jié)構(gòu),其由8個FA(一位全加器)單元和2個AC(進位加速單元組成)。8個全加器分成3組,每組稱為一個BLOCK,BLOCK與BLOCK間有加速進位電路AC。AC的輸入是本組BLOCK中最低位的進位和最高位的進位;當(dāng)BLOCK中三位全加器的半加器值為111時,AC輸出BLOCK中最低位的進位值,否則AC輸出BLOCK中最高位的進位值。圖6的加法器工作特點分析當(dāng)操作數(shù)為AAH(10101010)和55H(01010101)時,第一位的進位產(chǎn)生時間(2Tgate+Tswitch),第8位的進位產(chǎn)生時間(2Tgate+Tswitch)+7Tgate,第N位的進位產(chǎn)生時間(2Tgate+Tswitch)+(N-1)Tgate,為了減少FA的誤翻轉(zhuǎn)降低功耗、,各位進位的進位產(chǎn)生時間要小于等于3Tgate。
逆向加法器的結(jié)構(gòu)基本同加法器結(jié)構(gòu),只是進位方式采用從高位向低位進位的方式,即將加法器進位鏈反置及可。
LT的結(jié)構(gòu)設(shè)計時,申請人聯(lián)想到了進位跳位加法器(CSKA)的進位加速方法,加速形成LT。即采用并行位判斷,位分組,組間加速判斷的并、串、分組相結(jié)和的結(jié)構(gòu)。圖7為LT模板的位判斷電路結(jié)構(gòu),包括兩個非門,其中第一個非門的輸出連接相互并聯(lián)的NMOS傳輸管和PMOS傳輸管的輸入端,NMOS傳輸管和PMOS傳輸管輸出連接另外一個非門。
其中Li為循環(huán)緩沖區(qū)長度寄存器的值L的第i位,如果,Li該位為1,并且高位無1位(Cini=0),則Couti=1,置Lti-1到LtLSB后的低位為0,同時,形成Lti=0。如果Li該位為0,并且高位無1位(Cini=0),則Couti=0,繼續(xù)后續(xù)低位判斷,同時,形成Lti=1。Ti信號位用于位分組的加速判斷。圖8為LT模板的第M組判斷結(jié)構(gòu)。
位與邏輯和位或邏輯分別采用24個與門和或門,采用對應(yīng)位相與/或。
比較邏輯結(jié)構(gòu)如同一個24位加法器,參看加法器結(jié)構(gòu)。
修改邏輯結(jié)構(gòu)也如同一個24位加法器,參看加法器結(jié)構(gòu)。
三輸入選擇器結(jié)構(gòu)與五輸入選擇器結(jié)構(gòu)同。
需要特別說明的是 循環(huán)尋址中首地址和尾地址的計算公式總結(jié)如下 START=ARn&LT END=START|L 式中,“&”表示按位與操作;“|”表示按位或操作。ARn為循環(huán)緩沖區(qū)中任意一個數(shù)據(jù)的地址值;L為循環(huán)緩沖區(qū)的長度;LT為產(chǎn)生邏輯的輸出。
權(quán)利要求
1.一種倒序/循環(huán)地址產(chǎn)生器的電路結(jié)構(gòu),其特征在于,該電路結(jié)構(gòu)由一個五端輸入選擇器、一個三端輸入選擇器、一個LT產(chǎn)生邏輯模塊、一個加法器、一個逆向加法器、一個位與操作模塊、一個位或操作模塊、一個比較邏輯模塊和一個修改邏輯模塊組成;其中
五端輸入選擇器,用于根據(jù)尋址類型確定5個輸入選通數(shù)據(jù);該五端輸入選擇器的輸出端分別連接到加法器和逆向加法器的一個輸入端;
三端輸入選擇器,用于選通輸出地址產(chǎn)生器的計算的地址結(jié)果;它的3個數(shù)據(jù)輸入分別來自加法器、逆向加法器和自修改邏輯模塊的輸入結(jié)果;
加法器,用于除倒序?qū)ぶ贩绞揭酝獾钠渌绞降膶ぶ酚嬎?,它的兩個輸入一個來自五輸入選擇器的輸出端,另一個來自源地址寄存器的值;該加法器的輸出端分別與三端輸入選擇器的一個輸入端、比較邏輯模塊和修改邏輯模塊的一個輸入端相連;
逆向加法器,用于倒序?qū)ぶ贩绞?,它的兩個輸入端一是來自五端輸入選擇器的輸出端,另一個來自源地址寄存器的值,該逆向加法器的輸出端連接到三端輸入選擇器的一個輸入端;
LT產(chǎn)生邏輯模塊,用于循環(huán)緩沖區(qū)的首尾地址產(chǎn)生;該LT產(chǎn)生邏輯的輸出端與位與操作模塊的一個輸入端連接;
位與操作模塊,用于形成循環(huán)尋址中循環(huán)緩沖區(qū)的首地址,該位與操作模塊的兩個輸入端一個來LT產(chǎn)生邏輯模塊的輸出;另一個來自源地址寄存器的值;位與操作模塊的輸出端與位或操作模塊的一個輸入端和比較邏輯模塊的一個輸入端相連;
位或操作模塊,用于形成循環(huán)尋址中循環(huán)緩沖區(qū)的尾地址,該位或操作模塊的兩個輸入端一個來自位與操作模塊的輸出,另一個來自循環(huán)緩沖區(qū)的長度值,位或操作模塊的輸出端與比較邏輯模塊的一個輸入端連接;
比較邏輯模塊,用于判斷循環(huán)尋址的地址值是否越界,該比較邏輯模塊的輸入有4個,一個是來自加法器的循環(huán)尋址的地址值;第二個是地址增長方向值;第三個是來自位與操作模塊輸出的首地址值,第四個是來自位或操作模塊的輸出的尾地址值;比較邏輯模塊的輸出與修改邏輯模塊的一個輸入端連接;
修改邏輯模塊,用于將越界的循環(huán)尋址,重新修改回循環(huán)緩沖區(qū)的地址空間;該修改邏輯的模塊輸入有4個,一個是加法器的輸入;第二個是循環(huán)緩沖區(qū)長度;第三個是比較邏輯模塊的輸出;第四個是地址變化方向的符號;修改邏輯模塊的輸出端與三端輸入選擇器的一個輸入端相連。
2.如權(quán)利要求1所述的倒序/循環(huán)地址產(chǎn)生器的電路結(jié)構(gòu),其特征在于,所述的加法器的其中一位全加器的結(jié)構(gòu)包括
一個與非門,該與非門的輸出端與一個PMOS傳輸管連接,其輸入數(shù)據(jù)為a,b;
一個或非門,該或非門的輸出端與第一NMOS傳輸管連接,其輸入數(shù)據(jù)為a,b;
上述NMOS傳輸管和PMOS傳輸管的輸出還與第二NMOS傳輸管的輸出端相連,第二NMOS傳輸管的輸入端與第三非門相連;
兩個異或門,其中第一異或門的輸入數(shù)據(jù)為a、b,輸出端連接有第一非門,第一非門的輸出端分別與第二非門的輸入端和第二NMOS傳輸管的輸入端相連,第二非門的輸出與第二異或門的一個輸入端相連,第二異或門的另一個輸入來自第三非門的輸出端;第二異或門的輸出端還連接有第四非門;
第三非門的輸入為低位的進位輸入信號;第四非門輸出為一位全加器的運算結(jié)果,第一非門的輸出是數(shù)據(jù)a,b的異或值即半加的結(jié)果,NMOS傳輸管和PMOS傳輸管的輸出為一位全加器的進位輸出。
3.如權(quán)利要求1所述的倒序/循環(huán)地址產(chǎn)生器的電路結(jié)構(gòu),其特征在于,所述的LT產(chǎn)生邏輯模塊的結(jié)構(gòu)包括包括兩個非門,其中第一個非門的輸出連接相互并聯(lián)的NMOS傳輸管和PMOS傳輸管的輸入端,NMOS傳輸管和PMOS傳輸管輸出連接另外一個非門。
全文摘要
本發(fā)明公開了一種倒序/循環(huán)地址產(chǎn)生器的電路結(jié)構(gòu),由五端輸入選擇器、三端輸入選擇器、LT產(chǎn)生邏輯模塊、加法器、逆向加法器、位與操作模塊、位或操作模塊、比較邏輯模塊和修改邏輯模塊組成;該倒序/循環(huán)地址產(chǎn)生器能夠有效的支持倒序和循環(huán)尋址方式,對高效地支持FFT、卷積以及相關(guān)等數(shù)字信號處理算法的數(shù)據(jù)尋址,提高算法的執(zhí)行效率。循環(huán)緩沖區(qū)的首尾地址(START、END地址)采用動態(tài)方式產(chǎn)生,減小了地址產(chǎn)生器的AT2。結(jié)構(gòu)的地址產(chǎn)生器速度較快,顯著提高了其數(shù)字信號處理性能。比采用傳統(tǒng)的地址產(chǎn)生器FFT運算、卷積運算平均執(zhí)行速度提高了19%、80%。源于數(shù)字信號處理算法本身的通用性,也適合于其它可編程數(shù)字信號處理器內(nèi)嵌地址產(chǎn)生器的研發(fā)中。
文檔編號G06F17/14GK1916886SQ20061010506
公開日2007年2月21日 申請日期2006年8月29日 優(yōu)先權(quán)日2006年8月29日
發(fā)明者車德亮, 劉文平 申請人:中國航天時代電子公司第七七一研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1