亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

正則符號數(shù)字乘法器的制作方法

文檔序號:6566909閱讀:314來源:國知局
專利名稱:正則符號數(shù)字乘法器的制作方法
技術領域
本發(fā)明涉及一種乘法器,具體涉及一種用于將輸入數(shù)據(jù)與多個常 數(shù)相乘的乘法器。
背景技術
在多種數(shù)字信號處理應用中,將輸入數(shù)據(jù)與多個常數(shù)相乘是必要的。例如,在有限脈沖響應(FIR)濾波器或快速傅立葉變換(FFT) 處理器的情況下,將輸入數(shù)據(jù)與常系數(shù)相乘是必要的。將FIR濾波器 和FFT處理器用于多種數(shù)字信號處理的應用中,例如無線通信應用。因為執(zhí)行乘法的計算量大,已知通過使用正則符號數(shù)字(CSD) 乘法器表示系數(shù)來執(zhí)行所需要的計算。這允許通過移位(shift)操作 和加法運算來執(zhí)行所需要的乘法。如果一個數(shù)是bob山2…b^的形式, 則認為該數(shù)為CSD格式,其中針對i-O、 1、2、…N-l,每個bi取值O、 +1、 -l之一,以及其中沒有兩個連續(xù)的bi為非零值。文獻 "Implementation of Orthogonal Frequency Division Multiplexing Modem Using Radix-N Pipeline Fast Fourier Transform (FFT) Processor", Oh等,Jpn. J. Appl. Phys. Vol. 42 (2003) pp. 1-6 公開了一種用于CSD編碼的乘法器的實現(xiàn)的硬件結構。通過并聯(lián)的一 組右移元件將輸入信號施加到交換網(wǎng)絡中。然后,交換網(wǎng)絡基于所需 乘法常數(shù)操作,以便將右移輸入施加到一組輸出多路復用器中。輸出 多路復用器由選擇信號所控制,以允許順序輸出處理后的數(shù)據(jù)。當所需乘法常數(shù)的數(shù)量增加時,這個結構變得復雜。具體地,當 所需乘法常數(shù)的數(shù)量增加時,交換網(wǎng)絡的設計變復雜,同時每個輸出 多路復用器的大小也隨著所需乘法常數(shù)的數(shù)量的增加而增大。這個結構還具有缺點因為在累加輸出值之前丟掉了低階位,所 以該結構導致了相對大的舍位誤差。 發(fā)明內容根據(jù)本發(fā)明,提供了一種用于將輸入數(shù)據(jù)值與CSD形式的所選常數(shù)值相乘的乘法器,其中,所選常數(shù)值由位對組成,該乘法器包括多個多路復用器,其中每個所述多路復用器都由所選常數(shù)值的相 應位對所控制,以及每個所述多路復用器都具有多個輸入,連接每個 多路復用器以接收輸入數(shù)據(jù)值、輸入數(shù)據(jù)值的負數(shù)、以及所述輸入上 的所有零值,根據(jù)所選常數(shù)值的相應的位對的值來控制每個所述多路 復用器,以便輸出輸入數(shù)據(jù)值、輸入數(shù)據(jù)值的負數(shù)、或所有零值;多個可變移位塊,連接每個可變移位塊以接收來自所述多路復用 器中的相應一個的輸入,以及根據(jù)所選常數(shù)值的相應的位對的值來適 配每個可變移位塊,以便將所述可變移位塊接收到的輸入移位第一位 移值或第二位移值,其中第一位移值和第二位移值相差1;以及組合電路,用于接收來自多個移位塊的輸出,以及用于對來自多 個移位塊的輸出進行組合,并采用另外的位移(bit shift)以便形成等 于輸入數(shù)據(jù)值與所選常數(shù)值相乘的結果的輸出值。這具有優(yōu)點允許CSD編碼乘法器以可接受的舍位誤差等級在硬 件上有效實現(xiàn)。


圖1是示出了根據(jù)本發(fā)明的乘法器的通用形式的示意方框圖。圖2是更具體地示出了根據(jù)本發(fā)明的用于將數(shù)據(jù)與8位常數(shù)相乘 的乘法器的通用形式的示意方框圖。圖3是更具體地示出了根據(jù)本發(fā)明的用于將數(shù)據(jù)與12位常數(shù)相 乘的乘法器的通用形式的示意方框圖。圖4是示出了根據(jù)本發(fā)明的用于將數(shù)據(jù)與8位常數(shù)相乘的第一乘 法器的示意方框圖。圖5是示出了根據(jù)本發(fā)明的用于將數(shù)據(jù)與8位常數(shù)相乘的第二乘 法器的示意方框圖。 圖6是示出了根據(jù)本發(fā)明的用于將數(shù)據(jù)與8位常數(shù)相乘的第三乘 法器的示意方框圖。圖7是示出了根據(jù)本發(fā)明的用于將數(shù)據(jù)與8位常數(shù)相乘的第四乘 法器的示意方框圖。
具體實施方式
圖1示出了根據(jù)本發(fā)明的乘法器10的通用形式。眾所周知的是, 正則符號數(shù)字(CSD)乘法器的功能是將連續(xù)的輸入數(shù)據(jù)值與一個或 更多個預定常數(shù)值相乘,其中該輸入數(shù)據(jù)值是二進制格式,而該常數(shù) 值是CSD格式。換言之,輸入數(shù)據(jù)值是以do山d2…dM.i形式,其中針 對i=0、 1、 2、 ...、 M-l,每個di取0或+1值之一,而常數(shù)值是以 bob山2、…bN.!形式,其中針對i-0、 1、 2、…、N-l,每個bi取值0、 +1、 -l之一,其中沒有兩個連續(xù)的bi為非零值。因此,CSD乘法器必須能夠接收輸入數(shù)據(jù)值,并將該輸入數(shù)據(jù)值 與預定常數(shù)值中所選擇的一個相乘,然后將結果作為輸出值提供。該乘法的結果是do山d2…dM-!x bob山2、 ...bN-!,以及作為慣例,乘法器IO通過適當?shù)募臃ê鸵莆徊僮鱽碛嬎氵@個結果。在圖1中,在數(shù)據(jù)線12上接收輸入數(shù)據(jù)值。在該輸入數(shù)據(jù)值是m 位值的情況下,數(shù)據(jù)線12是m位線。將在數(shù)據(jù)線12上所接收到的輸 入數(shù)據(jù)值施加到"個多路復用器14Q、 14,、…、14^中每個的相應第 一輸入。第二輸入線16并行傳送m個零值,并將這些零值施加給多路復用器14q、 ..... 14^中的相應第二輸入。此外,將在數(shù)據(jù)線12上所接收到的輸入數(shù)據(jù)值施加給倒相器18,以便產生輸入數(shù)據(jù)值的二補碼,并將所產生的輸入數(shù)據(jù)值的二補碼版 本在倒相線20上施加到多路復用器14q、 14i、 ...、 14^的相應第三輸入。多路夏用器14q、 14i、 ...、 14^由第一控制線22上的控制信號所 控制。如上面所提到的,存在"個多路復用器14Q、 14!、…、14n小 并且這是在每個CSD格式的常數(shù)值都具有2"位的情況下。換言之, 常數(shù)值是bob山2、…b2n-山2n.i形式的,其中針對—0、 1、 2、 ...、 2n-l , 每個bj取值O、 +1、 -l之一,并且其中沒有兩個連續(xù)的bi為非零。因此,第一多路復用器14。由此刻所使用的常數(shù)值中的頭兩位bob, 所控制,第二多路復用器14,由此刻所使用的常數(shù)值中的第三和第四位b2b3所控制,依此類推,而最后一個多路復用器14^由此刻所使用的常數(shù)值的最后兩位b^2bw所控制。在此刻所使用的常數(shù)值中,可以采用兩個連續(xù)位為非零,因為這是CSD格式的條件。因此,以第一多路復用器14。為例,第一多路復 用器14。由兩位b。b,的組合所控制,并且該組合具有CSD表達的五個 可能值,艮口 0 0、 0 1、 10、 -IO和O-I。如果b(^等于0 0,則控制第一多路復用器14Q,使得該多路復用 器將其第二輸入上的值(即所有零值)傳到輸出。如果bob,等于O 1 或1 0,則控制第一多路復用器14Q,使得該多路復用器將其第一輸入 上的值(即輸入數(shù)據(jù)值)傳到輸出。如果b。b,等于0 -1或-1 0,則控 制第一多路復用器14Q,使得該多路復用器將其第三輸入上的值(即 輸入數(shù)據(jù)值的二補碼版本)傳到輸出端。其他的多路復用器由來自此刻所使用的常數(shù)值的相應的位對以 相應的方式來控制。將來自多路復用器14Q、 14,、 ...、 14n_,的輸出傳給相應的可變移位塊240、 24,、 ...、 24^,并且該可變移位塊240、 24,.....24。.!由第二控制線26上的控制信號所控制。具體地,基于此刻所使用的常數(shù)值的頭兩位b(M來控制第一可變移位塊24。,基于此刻所使用的常數(shù)值的第三和第四位b2b3來控制第二可變移位塊2A,依此類推,而基于倒數(shù)第二和最后一位來控制最 后一個可變移位塊24^??勺円莆粔K240、 、 ...、 24^可以是右移位器、或左移位器、 或右移位器和左移位器的組合。在任何情況下,可變移位塊240、..... 24^的輸入都是來自多路復用器14。、 1A、…、14^的相應一個的輸出。在每種情況下,都希望可變移位塊的輸出都應該與輸入 數(shù)據(jù)值與常數(shù)值中的適當位對相乘的結果成比例。
該輸出的符號由多路復用器的控制所確定,而輸出的大小則由可變移位塊24所應用的移位的控制所確定。對可變移位塊240、 24i、...、 24^中的每個進行控制,使得每個可變移位塊應用相應的移位值S0、 S,、 ...Sn.,,以及這些移位值中的每個都可以取第一或第二值(該第一 和第二值相差1),這取決于常數(shù)值的適當位對中的非零位是較高有效 位還是較低有效位。因此,考慮可變移位塊24。,該可變移位塊24c基于位對bob,的值 來對輸入數(shù)據(jù)進行移位。如果較高有效位b。為非零,則該可變移位塊 24o不執(zhí)行任何右移,而只是通過其輸入。如果較低有效位bi為非零, 則該可變移位塊24。執(zhí)行1位位置的右移。如果b。和b,都為零,則該 移位器執(zhí)行右移1位、還是只是通過其輸入并不相關,因為如上所述, 該輸入將全部由零組成。應注意的是,如這里所描述的,雖然如果較高有效位bo為非零則 該可變移位塊24o不執(zhí)行任何右移,以及如果較低有效位為非零則 執(zhí)行1位位置的右移,但是重要的是這兩個可能的移位值的相對大小 而不是絕對值。因此,例如,如果較高有效位bo為非零,則該可變移 位塊24。執(zhí)行2位位置的右移,而如果較低有效位b,為非零,則執(zhí)行 3位位置的右移。可選地,如果較高有效位bo為非零,則該可變移位 塊24o執(zhí)行3位位置的左移,而如果較低有效位bi為非零,則執(zhí)行2 位位置的左移。在每種情況下,較高有效位b。為非零的情況下的位移 比較低有效位b,為非零的情況下的位移更向左1位(少向右1位)。完全相同地應用于其他可變移位塊24,、…、24n.lQ然后,將可變移位塊24。、 24i、 ...、 24^的輸出傳到組合電路28, 在組合電路28中將該輸出進行組合,然后傳到輸出線30。組合電路28的功能是將可變移位塊24。、 ..... 24^的輸出相加,同時應用適合的另外的位移,以便獲得正確的最后結果??勺円莆粔K24Q提供了將輸入數(shù)據(jù)與常數(shù)值的兩個最高有效位相 乘的結果,而可變移位塊24,提供了將輸入數(shù)據(jù)與常數(shù)值的下兩個最 高有效位相乘的結果,以此類推,以及可變移位塊24^提供了將輸入 數(shù)據(jù)與常數(shù)值的兩個最低有效位相乘的結果。因此,可變移位塊240
的輸出整個必須比可變移位塊24,的輸出多向左移2位(或少向右移2 位),以此類推,直到可變移位塊24o的輸出整個比可變移位塊24^ 的輸出多向左移2 (n-2)位(或者少向右移2 (n-2)位)。這可以通過設置可變移位塊24Q、 2+、 ...、 24^的不同的可能移 位值、或者通過將不同移位值施加到可變移位塊的輸出、或者由這兩 個元素的組合來實現(xiàn)。因此,結果是使用相對少的硬件并且可以按照期望來進行控制以 產生所需結果的乘法器。圖2是示出了根據(jù)本發(fā)明的用于將數(shù)據(jù)與8位常數(shù)相乘的乘法器 的通用形式、并例證了組合電路可以如何操作的示意方框圖。在圖2中,在數(shù)據(jù)線212上接收乘法器210的輸入數(shù)據(jù)值。該常 數(shù)是8位中的每一個,因此將在數(shù)據(jù)線212上所接收到的輸入數(shù)據(jù)值 施加到4個多路復用器214Q、 214p…、2143中的每個的相應第一輸 入。第二輸入線216傳送所有的零值,并將這些零值施加給多路復用 器214q、 214,、 ...、 2143中的相應第二輸入。還將在數(shù)據(jù)線212上所 接收到的輸入數(shù)據(jù)值施加給倒相器218,以形成輸入數(shù)據(jù)值的二補碼, 并通過倒相線220將所產生的輸入數(shù)據(jù)值的二補碼版本施加給多路復 用器214q、 214!、 ...、 2143中的相應第三輸入。多路復用器214Q、 21^、 ...、 2143由參考圖1所描述的控制線(未 示出)上的控制信號所控制。因此,第一多路復用器214o由此刻所使 用的常數(shù)值中的頭兩位b()bi所控制,第二多路復用器214,由此刻所使用的常數(shù)值中的第三和第四位b2b3所控制,第三多路復用器2142由此 刻所使用的常數(shù)值中的第五和第六位b4b5所控制,第四多路復用器2143由此刻所使用的常數(shù)值中的第七和第八位b6b7所控制。如果bob,等于OO,則控制第一多路復用器214。,使得該多路復 用器將其第二輸入上的值(即所有零值)傳到其輸出。如果b(M等于 Ol或lO,則控制第一多路復用器214c),使得該多路復用器將其第一 輸入上的值(即輸入數(shù)據(jù)值)傳到其輸出。如果bobi等于O-l或-1 0, 則控制第一多路復用器214。,使得該多路復用器將其第三輸入上的值(即輸入數(shù)據(jù)值的二補碼版本)傳到其輸出。其他的復用器由來自此刻所使用的常數(shù)值的相應的位對以相應 的方式來控制。將來自多路復用器214。、 214,、 ...、 2143的輸出傳給相應的可變 移位224()、 224" ...、 2243,并且該可變移位塊224。、 224,、…、2243 由參考圖l所描述的控制線(未示出)上的控制信號所控制。具體地,基于此刻所使用的常數(shù)值的頭兩位b(^來控制第一可變 移位塊224(),基于此刻所使用的常數(shù)值的第三和第四位b2b3來控制第 二可變移位塊224p依此類推??勺円莆粔K224c、 224i、 ...、 2243可以是右移位器、或左移位器、 或右移位器和左移位器的組合。將第一和第二可變移位塊224o和224,的輸出傳給第一加法器 232,而將第三和第四可變移位塊2242和2243的輸出傳給第二加法器 234。將第一加法器232的輸出傳給應用了第一固定移位值的第一固定 移位塊236。將第二加法器234的輸出傳給應用了第二固定移位值的 第二固定移位塊238。將第一固定移位塊236和第二固定移位塊238 的輸出傳給第三加法器240,并將第三加法器240的輸出提供作為輸 出線242上的數(shù)據(jù)輸出。然后,對由四個可變移位塊224Q、 224!、…、2243和兩個固定移 位塊236、 238所應用的移位值進行設置,使得第一可變移位塊2240 的輸出整個比第二可變移位塊224,的輸出向左多移2位(或向右少移 2位),第二可變移位塊22+的輸出整個比第三可變移位塊2242的輸 出向左多移2位(或向右少移2位),以及第三可變移位塊2242的輸 出整個比第四可變移位塊2243的輸出向左多移2位(或向右少移2 位)。圖3是示出了根據(jù)本發(fā)明的用于將數(shù)據(jù)與12位常數(shù)相乘的乘法 器的通用形式、并例證了組合電路可以如何在這種情況下操作的示意 方框圖。在圖3中,在數(shù)據(jù)線312上接收乘法器310的輸入數(shù)據(jù)值。該常
數(shù)是12位中的每一個,因此將在數(shù)據(jù)線312上所接收到的輸入數(shù)據(jù)值 應用到6個多路復用器314。、 314p ...、 3145中每個的相應第一輸入。第二輸入線316傳送所有的零值,并將這些零值施加給多路復用 器314()、 314,、 ...、 3145中的相應第二輸入。還將在數(shù)據(jù)線312上所 接收到的輸入數(shù)據(jù)值施加給倒相器318,以形成輸入數(shù)據(jù)值的二補碼, 并通過倒相線320將所產生的輸入數(shù)據(jù)值的二補碼版本施加給多路復 用器314q、 314i、 ...、 3145中的相應第三輸入。多路復用器314Q、 314,、 ...、 3145由參考圖1所描述的控制線(未 示出)上的控制信號所控制。因此,第一多路復用器314。由此刻所使 用的常數(shù)值中的頭兩位b。l^所控制,第二多路復用器31+由此刻所使用的常數(shù)值中的第三和第四位b2b3所控制,第三多路復用器3142由此 刻所使用的常數(shù)值中的第五和第六位b4bs所控制,第四多路復用器 3143由此刻所使用的常數(shù)值中的第七和第八位b6b7所控制,第五多路 復用器3144由此刻所使用的常數(shù)值中的第九和第十位b8b9所控制,第六多路復用器3145由此刻所使用的常數(shù)值中的第十一和第十二位 b,obn來控制。如果b(^等于0 0,則控制第一多路復用器314(),使得該多路復 用器將其第二輸入上的值(即所有零值)傳到其輸出。如果b()b,等于 Ol或lO,則控制第一多路復用器314。,使得該多路復用器將其第一 輸入上的值(即輸入數(shù)據(jù)值)傳到其輸出。如果b。bi等于0-l或-1 0, 則控制第一多路復用器314Q,使得該多路復用器將其第三輸入上的值 (即輸入數(shù)據(jù)值的二補碼版本)傳到其輸出。其他的復用器由來自此刻所使用的常數(shù)值的相應的位對以相應 的方式來控制。將來自多路復用器314Q、 314i、 ...、 3145的輸出傳給相應的可變 移位塊324。、 324,、 ...、 3245,并且該可變移位塊324Q、 324,、 ...、 3245由參考圖l所描述的控制線(未示出)上的控制信號所控制。具體地,基于此刻所使用的常數(shù)值的頭兩位bcb,來控制第一可變 移位塊324。,基于此刻所使用的常數(shù)值的第三和第四位b2b3來控制第 二可變移位塊324p依此類推。 如上所述,可變移位塊324o、 324i、 ...、 3243可以是右移位器、 或左移位器、或右移位器和左移位器的組合。將第一和第二可變移位塊324o和324,的輸出傳給第一加法器 332,而將第三和第四可變移位塊3242和3243的輸出傳給第二加法器 334,將第五和第六可變移位塊3244和3245的輸出傳給第一加法器 336。將第一加法器332的輸出傳給應用了第一固定移位值的第一固定 移位塊338。將第二加法器334的輸出傳給應用了第二固定移位值的 第二固定移位塊340。將第三加法器336的輸出傳給應用了第三固定 移位值的第三固定移位塊342。將第一固定移位塊336和第二固定移位塊340的輸出傳給第四加 法器344。將第三固定移位塊342和第四加法器344的輸出傳給第五 加法器346,并將第五加法器346的輸出提供作為輸出線348上的數(shù) 據(jù)輸出。然后,設置由六個可變移位塊324Q、 324,..... 3245和三個固定移位塊338、 340、 342所應用的移位值,使得第一可變移位塊3240的 輸出整個比第二可變移位塊324,的輸出向左多移2位(或向右少移2 位),第二可變移位塊324,的輸出整個比第三可變移位塊3242的輸出 向左多移2位(或向右少移2位),第三可變移位塊3242的輸出整個 比第四可變移位塊3243的輸出向左多移2位(或向右少移2位),第 四可變移位塊3243的輸出整個比第五可變移位塊3244的輸出向左多 移2位(或向右少移2位),以及第五可變移位塊3244的輸出整個比 第六可變移位塊3245的輸出向左多移2位(或向右少移2位)。圖4是示出了根據(jù)本發(fā)明的用于將數(shù)據(jù)與8位常數(shù)相乘的乘法器 的示意方框圖。在圖4中,在數(shù)據(jù)線412上接收對乘法器410的輸入數(shù)據(jù)值。該 常數(shù)是8位中的每一個,因此將在數(shù)據(jù)線412上所接收到的輸入數(shù)據(jù) 值施加到4個多路復用器414。、 414,、…、4143中的每個的相應第一 輸入。第二輸入線416傳送所有的零值,并將這些零值施加給多路復用
器4"o、 414,、 ...、 4143中的每個的相應第二輸入。還將在數(shù)據(jù)線412 上所接收到的輸入數(shù)據(jù)值施加給倒相器418,以形成輸入數(shù)據(jù)值的二 補碼,并通過倒相線420將所產生的輸入數(shù)據(jù)值的二補碼版本施加給 多路夏用器414q、 414、...、4143中的相應第三輸入。多路復用器414o、 414,、 ...、 4143由參考圖1所描述的控制線(未 示出)上的控制信號所控制。因此,第一多路復用器414o由此刻所使 用的常數(shù)值中的頭兩位b(^所控制,第二多路復用器414!由此刻所使 用的常數(shù)值中的第三和第四位b2b3所控制,第三多路復用器4142由此 刻所使用的常數(shù)值中的第五和第六位b4b5所控制,第四多路復用器4143由此刻所使用的常數(shù)值中的第七和第八位b6b7所控制。如果b(^等于0 0,則控制第一多路復用器414。,使得該多路復 用器將其第二輸入上的值(即所有零值)傳到其輸出。如果bobi等于 Ol或lO,則控制第一多路復用器414c,使得該多路復用器將其第一 輸入上的值(即輸入數(shù)據(jù)值)傳到其輸出。如果b()b,等于0-l或-10, 則控制第一多路復用器414Q,使得該多路復用器將其第三輸入上的值 (即輸入數(shù)據(jù)值的二補碼版本)傳到其輸出。其他的復用器由來自此刻所使用的常數(shù)值的相應的位對以相應 的方式來控制。將來自多路復用器414Q、 414,、 ...、 4143的輸出傳給相應的可變 移位424c)、 424i、 ...、 4243,并且該可變移位塊424。、 424" ...、 4243 由參考圖l所描述的控制線(未示出)上的控制信號所控制。具體地,基于此刻所使用的常數(shù)值的頭兩位b(^來控制第一可變 移位塊424。,基于此刻所使用的常數(shù)值的第三和第四位b2b3來控制第 二可變移位塊424p依此類推。第一可變移位塊224o可以不進行移位,或者可以將該數(shù)據(jù)向右移 l位,第二可變移位塊22^可以將該數(shù)據(jù)向右移2位或3位,第三可 變移位塊2242可以不進行移位,或者可以將該數(shù)據(jù)向右移l位,以及 第四可變移位塊2243可以將該數(shù)據(jù)向右移2位或3位。將第一和第二可變移位塊424。和42^的輸出傳給第一加法器 432,而將第三和第四可變移位塊4242和4243的輸出傳給第二加法器434。不對第一加法器232的輸出進行固定移位。將第二加法器434的 輸出傳給應用了向右移4位的固定移位的固定移位塊438。將第一加 法器432和固定移位塊438的輸出傳給第三加法器440,將第三加法 器440的輸出提供作為輸出線442上的數(shù)據(jù)輸出。然后,如所需要的,將第一可變移位塊424。的輸出向右移0位或 l位;將第二可變移位塊42+的輸出向右移2位或3位;將第三可變 移位塊4242的輸出向右移4位或5位(通過可變移位塊4242和固定移 位塊438);將第四可變移位塊4243的輸出向右移6位或7位。這種結構具有比一些傳統(tǒng)設備小的舍位誤差。然而,根據(jù)本發(fā)明, 可以進一步減小舍位誤差。因此,圖5是示出了根據(jù)本發(fā)明的用于將數(shù)據(jù)與8位常數(shù)相乘的乘法器的示意方框圖。在圖5中,在數(shù)據(jù)線512上接收乘法器510的輸入數(shù)據(jù)值。將在 數(shù)據(jù)線512上所接收到的輸入數(shù)據(jù)值施加到4個多路復用器5140、 51^、…、5143中的每個的相應第一輸入。第二輸入線516傳送所有的零值,并且將在數(shù)據(jù)線512上接收到 的輸入數(shù)據(jù)值施加給倒相器518,通過倒相線520將倒相器輸出施加 給多路復用器5Mo、 514,..... 5143中的相應第三輸入。多路復用器51々、51^..... 5143的操作與圖4中的多路復用器414Q、 414p ...、 4143完全相同,這里不再進行描述。將多路復用器514Q、 514,、…、5143的輸出傳給相應的可變移位 塊524c)、 524i、 ...、 5243,可變移位塊524。、 524!、 ...、 5243的操作原 理與圖4中的可變移位塊424o、 424,、 ...、 4243完全相同,這里不再 進行描述。然而,在這種情況下,第一可變移位塊524??梢詻]有舍位地將數(shù) 據(jù)向左移3位或2位,第二可變移位塊524,可以沒有舍位地將數(shù)據(jù)向 左移1位,或者可以不進行位移,第三可變移位塊5242可以將數(shù)據(jù)向 右移1位或2位,第四可變移位塊5243可以將數(shù)據(jù)向右移3位或4位。第一可變移位塊524o和第二可變移位塊524i可以沒有舍位地將 然以稍微更復雜的硬件為代價,但還是改進 了設備的精確度。將第一和第二可變移位塊524Q和的輸出傳給第一加法器 532,而將第三和第四可變移位塊5242和5243的輸出傳給第二加法器 534。不對第一加法器532或第二加法器534的輸出進行固定移位。將 第一加法器532和第二加法器534的輸出傳給第三加法器540,將第 三加法器540的輸出提供作為輸出線542上的數(shù)據(jù)輸出。然后,如所需要的,將第一可變移位塊524o的輸出向左移3位或 2位;將第二可變移位塊524i的輸出向左移l位或0位;將第三可變 移位塊5242的輸出向右移1位或2位;以及將第四可變移位塊5243 的輸出向右移3位或4位。圖6是示出了根據(jù)本發(fā)明的用于將數(shù)據(jù)與8位常數(shù)相乘的乘法器 的另一個特定形式的示意方框圖,此外該乘法器實現(xiàn)了小于圖4中所 示的實施例的舍位誤差。在圖6中,在數(shù)據(jù)線612上接收對乘法器610的輸入數(shù)據(jù)值。將 在數(shù)據(jù)線612上所接收到的輸入數(shù)據(jù)值施加到4個多路復用器6140、 61^、 ...、 6143中的每個的相應第一輸入。第二輸入線616傳送所有的零值,還將在數(shù)據(jù)線612上接收到的 輸入數(shù)據(jù)值施加給倒相器618,通過倒相線620將倒相器輸出施加給 多路復用器614()、 61+、…、6143中的相應第三輸入。多路復用器614(j、 614,.....6143的操作與圖4中的多路復用器414o、 414,.....4143完全相同,這里不再進行描述。將多路復用器614。、 614,、 ...、 6143的輸出傳給相應的可變移位 塊6240、 624" ...、 6243,可變移位塊624Q、 624!、 ...、 6243的操作原 理與圖4中的可變移位塊424o、 42夂、…、4243完全相同,這里不再 進行描述。然而,在這種情況下,第一可變移位塊62^可以沒有舍位地將數(shù) 據(jù)向左移3位或2位,第二可變移位塊624:可以沒有舍位地將數(shù)據(jù)向 左移1位,或者可以不迸行位移,第三可變移位塊6242可以沒有舍位 地將數(shù)據(jù)向右移3位或2位,以及第四可變移位塊6243可以沒有舍位 地將數(shù)據(jù)向右移l位,或者可以不進行位移。此外,第一可變移位塊624。-6243可以沒有舍位地將數(shù)據(jù)向左移位 的事實雖然以稍微更復雜的硬件為代價,但是改進了設備的精確度。將第一和第二可變移位塊624。和624!的輸出傳給第一加法器 632,而將第三和第四可變移位塊6242和6243的輸出傳給第二加法器 634。不對第一加法器632的輸出進行固定移位,而將第二加法器634 的輸出施加給應用了右移4位的固定移位塊638。將第一加法器632 和固定移位塊638的輸出傳給第三加法器640,將第三加法器640的 輸出提供作為輸出線642上的數(shù)據(jù)輸出。然后,如所需要的,將第一可變移位塊624c的輸出向左移3位或 2位;將第二可變移位塊624,的輸出向左移1位或0位;將第三可變 移位塊6242的輸出向右移1位或2位(將第三可變移位塊6242和固定 移位塊638的效用一起考慮);以及將第四可變移位塊6243的輸出向 右移3位或4位(將第四可變移位塊6243和固定移位塊638的效用一 起考慮)。此外,以稍微增長的硬件復雜度的代價,還可以使用沒有受到舍 位誤差影響的結構,因為必須增大輸出的位精確度。圖7是示出了根 據(jù)本發(fā)明的用于沒有舍位誤差地將數(shù)據(jù)與8位常數(shù)相乘的乘法器的另 一個特定形式的示意方框圖。在圖7中,在數(shù)據(jù)線712上接收對乘法器710的輸入數(shù)據(jù)值。將 在數(shù)據(jù)線712上所接收到的輸入數(shù)據(jù)值施加到4個多路復用器7140、 714!、 ...、 7143中的每個的相應第一輸入。第二輸入線716傳送所有的零值,并將在數(shù)據(jù)線712上接收到的 輸入數(shù)據(jù)值施加給倒相器718,通過倒相線720將倒相器輸出施加給 多路復用器7Mo、 71+..... 7143中的相應第三輸入。多路復用器714。、 71^.....7143的操作與圖4中的多路復用器414Q、 414i、 ...、 4143完全相同,這里不再進行描述。將多路復用器714Q、 71^、 ...、 7143的輸出傳給相應的可變移位 塊724Q、 724i、 ...、 7243,可變移位塊724Q、 724,、 ...、 7243的操作原 理與圖4中的可變移位塊424o、 424!、 ...、 4243完全相同,這里不再 進行描述。然而,在這種情況下,第一可變移位塊724o可以沒有舍位地將數(shù) 據(jù)向左移3位或2位,第二可變移位塊724,可以沒有舍位地將數(shù)據(jù)向 左移1位,或者可以不進行位移,第三可變移位塊7242可以沒有舍位 地將數(shù)據(jù)向左移3位或2位,第四可變移位塊7243可以沒有舍位地將 數(shù)據(jù)向左移l位,或者可以不進行位移。將第一和第二可變移位塊724。和724,的輸出傳給第一加法器 732,而將第三和第四可變移位塊7242和7243的輸出傳給第二加法器 734。不對第二加法器734的輸出進行固定移位,而將第一加法器732 的輸出施加給應用了左移4位的固定移位塊736。此外,可變移位塊724。-7243和固定移位塊736可以沒有舍位地將 數(shù)據(jù)向左移位的事實雖然以稍微更復雜的硬件為代價,但還是改進了 設備的精確度。將第二加法器734和固定移位塊736的輸出傳給第三加法器740, 而將第三加法器740的輸出提供作為輸出線742上的數(shù)據(jù)輸出。然后,如所需要的,將第一可變移位塊724o的輸出向左移7位或 6位(將第一可變移位塊724o和固定移位塊736的效用一起考慮);將 第二可變移位塊724i的輸出向左移5位或4位(將第二可變移位塊724i 和固定移位塊736的效用一起考慮);將第三可變移位塊7242的輸出 向左移3位或2位;以及將第四可變移位塊7243的輸出向左移1位或 不進行位移。因此,存在所描述的用于將數(shù)據(jù)與8位常數(shù)的任意集合相乘的特 定實施例,并且可以理解的是,相同的原理可以應用于任意長度的常 數(shù)。當乘法器要與提前已知的常數(shù)集合一起使用時,可以做出一些簡 化,因為乘法器可能不需要能夠利用可能值中的一些進行操作。具體地,針對由CSD乘法器所支持的整個常數(shù)集合,應檢査每對
兩個連續(xù)位(即b^b2。.,)。針對n中的每個值(即在8位常數(shù)的情況 下,"=0、 1、 2、 3),可以列出bhb2^的所有值。然后,再次針對" 中的每個值,檢查所列出的值以確定是否可以進行對相應的乘法器、 移位器和加法器的任何簡化。關于乘法器,上面已經(jīng)提到了針對兩個連續(xù)位存在可能的五對 值??梢詫⑦@些分成三個子集子集0={0 0};子集1={10, 0 1};子集2={-10, 0-1}。如果所列出b2nb2^的值只是來自上述子集之一,則可以移除相應的乘法器,因為根據(jù)子集,所需乘法器輸出總是為零 值、或數(shù)據(jù)輸入、或數(shù)據(jù)輸入的二補碼。如果所列出的值來自上述子集中的兩個,則將相應的乘法器從3: l減少到2: 1,因為絕對不選 擇可能的乘法器輸入之一。關于可變移位器,可以將針對兩個連續(xù)位的可能的五對值再次分成三個子集,盡管這些子集與上面所提到的子集不同,即子集0={0 0}; 子集1*={10, -1 0};子集2*={0 1, 0-1}。如果只有子集1*和子集2*之一中的值包含在所列出的值中,則將由位對b2nb2^所控制的移位器最優(yōu)化為固定移位器,因為只能一直應用一個移位值。如果所列出的值只來自子集o,則可以移除該移位器。然后,關于加法器,如果如上所述地移除移位器,則也可以移除 己經(jīng)從該移位器接收其輸入之一的相應的加法器。因此,描述了可以不需要過多硬件需求地以所需精確度提供輸出 的乘法器。
權利要求
1.一種用于將輸入數(shù)據(jù)值與CSD形式的所選常數(shù)值相乘的乘法器,所述所選常數(shù)值包括多個位對,所述乘法器包括多個多路復用器,其中,所述多路復用器中的每個都由所選常數(shù)值中的相應位對所控制,以及所述多路復用器中的每個都具有多個輸入,并且被連接成接收輸入數(shù)據(jù)值、輸入數(shù)據(jù)值的負數(shù)、以及所述輸入上的所有零值,并根據(jù)所選常數(shù)值中的相應位對中的值來控制每個所述多路復用器,使得每個所述多路復用器輸出輸入數(shù)據(jù)值、輸入數(shù)據(jù)值的負數(shù)、或所有零值;多個可變移位塊,所述多個可變移位塊中的每個被連接成接收來自所述多路復用器中的相應一個的輸入,以及適配于根據(jù)所選常數(shù)值中的相應的位對中的值將所述可變移位塊所接收到的輸入移位第一位移值或第二位移值,其中,所述第一位移值和第二位移值相差1;以及組合電路,用于接收來自所述多個可變移位塊的輸出,以及用于將來自所述多個可變移位塊的輸出進行組合,并采用另外的位移以形成等于所述輸入數(shù)據(jù)值與所選常數(shù)值相乘的結果的輸出值。
2. 如權利要求1所述的乘法器,其中,所述組合電路包括加法 器,被連接成接收來自所述多個可變移位塊中的兩個的輸出;以及固 定移位塊,適配用于接收來自所述加法器的輸出作為所述固定移位塊 的輸入,并對所述固定移位塊接收到的輸入移位固定位移值。
3. 如權利要求1或2所述的乘法器,包括用于所選常數(shù)值中的每 個位對的一個多路復用器。
4. 如權利要求1所述的乘法器,還包括至少一個多路復用器,所述多路復用器由所選常數(shù)值的相應位對所控制,其中,所述多路復用 器具有至少一個輸入,并且被連接成接收輸入數(shù)據(jù)值、輸入數(shù)據(jù)值的負數(shù)、以及所述至少一個輸入上的所有零值中的一個或更多個,并根 據(jù)所選常數(shù)值中的相應位對中的值來控制所述多路復用器,使得所述 多路復用器輸出所述接收值之一。
5. 如權利要求1或4所述的乘法器,還包括至少一個另外的固定 移位塊,被連接成接收來自所述多路復用器的相應一個的輸入,并適 配于將所述固定移位塊接收到的輸入移位相應的固定位移值。
6. 如權利要求1到5之一所述的乘法器,其中,所述可變移位塊 的至少一個包括左移位器,所述左移位器用于沒有舍位地將所述左移 位器的輸入向左移一位或更多位的位置。
7. 如權利要求2到6之一所述的乘法器,其中,所述固定移位塊 包括左移位器,所述左移位器用于沒有舍位地將所述左移位器的輸入 向左移一位或更多位的位置。
8. —種用于將輸入數(shù)據(jù)值與CSD形式的所選常數(shù)值相乘的方法, 所述方法包括將所選常數(shù)值分成多個位對;基于所選常數(shù)值的所述位對中的相應一個的位值來控制多個多路 復用器中的每個;根據(jù)所選常數(shù)值的所述位對的相應一個中的位值,從所述多個多 路復用器中的每個輸出輸入數(shù)據(jù)值、輸入數(shù)據(jù)值的負數(shù)、或所有零值;將來自所述多個多路復用器的輸出施加于相應的可變移位塊;基于所選常數(shù)值的所述位對中的相應一個的位值來控制每個可變 移位塊,使得所述可變移位塊將所述可變移位塊接收到的輸入移位相 應的第一位移值或相應的第二位移值,其中,所述第一位移值和所述 第二位移值相差l;以及對來自所述多個移位塊的輸出進行組合并采用另外的位移,以形 成等于輸入數(shù)據(jù)值與所選常數(shù)值相乘的結果的輸出值。
9. 如權利要求8所述的方法,其中,所述組合步驟包括將來自所 述多個可變移位塊中的兩個的輸出相加,以及將固定位移應用于所述 相加的結果。
全文摘要
一種乘法器能夠使輸入數(shù)據(jù)值與CSD形式的所選常數(shù)值相乘。所選常數(shù)值具有多個位對,并且該乘法器包括多路復用器,每個多路復用器由所選常數(shù)值的相應的位對所控制。每個多路復用器都具有多個輸入,連接每個多路復用器以接收輸入數(shù)據(jù)值、輸入數(shù)據(jù)值的負數(shù)、以及所述輸入上的所有零值,并根據(jù)所選常數(shù)值的相應的位對的值來控制每個多路復用器以便輸出輸入數(shù)據(jù)值、輸入數(shù)據(jù)值的負數(shù)、或者所有零值。連接每個可變移位塊以接收來自所述多路復用器的相應一個的輸入,并且根據(jù)所選常數(shù)值的相應的位對的值,對每個可變移位塊進行適配以便將所接收到的輸入移位第一位移值或第二位移值,其中,第一位移值和第二位移值相差1。該乘法器還包括組合電路,用于接收來自多個移位塊的輸出,以及用于對來自多個移位塊的輸出進行組合,并采用另外的位移以形成等于輸入數(shù)據(jù)值與所選常數(shù)值相乘的結果的輸出值。
文檔編號G06F7/48GK101156130SQ200680010494
公開日2008年4月2日 申請日期2006年3月23日 優(yōu)先權日2005年3月31日
發(fā)明者磊 畢, 濮田雁 申請人:Nxp股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1