999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種并行結構有符號乘累加器的設計

2016-05-30 03:38:14張琳田現忠趙興文顏廣葛兆斌
山東科學 2016年2期

張琳, 田現忠,2 ,趙興文 ,顏廣 ,葛兆斌

(1. 山東省科學院自動化研究所,山東 濟南 250014;2.吉林大學儀器科學與電氣工程學院,吉林 長春 130026)

?

一種并行結構有符號乘累加器的設計

張琳1, 田現忠1,2,趙興文1,顏廣1,葛兆斌1

(1. 山東省科學院自動化研究所,山東 濟南 250014;2.吉林大學儀器科學與電氣工程學院,吉林 長春 130026)

摘要:本文采用補碼分布式算法,簡化了有符號數、無符號數以及混合符號數的乘加減運算,通過改進累加器樹結構、全加器邏輯電路,設計了一種新型乘累加器結構。通過Altera公司的EP1C3T144C8實現了該乘累加器6個9位有符號操作數的乘累加運算的功能和時序仿真,結果證明了該算法的有效性。該設計解決了常規DA分布式算法系數不能更新和占用大量RAM資源的缺點,可以應用到數字濾波器設計中,也可以作為快速的運算單元應用到DSP數字信號處理器中。

關鍵詞:乘累加器;有符號數;可變系數

乘累加器是信號處理當中的基本運算單元,是fir濾波器和自適應濾波器的主要結構,其速度和占用芯片資源的多少是影響數字硬件實現的關鍵性因素[1]。乘累加器主要分為迭代、線性陣列和并行結構,早期采用迭代結構使用軟件實現乘法操作,后來逐漸發展成設計專用的硬件乘累加器,以獲得更高的性能。目前高性能的乘法操作都是采用硬件實現的乘累加器,而且多是采用并行結構[2]。目前國內外并行乘累加器的算法主要有Booth算法和Wallace樹,當前流行的部分積產生算法就是在Booth算法的基礎上改進的。雖然改進的Booth算法可以減少部分積的數量,減少了硬件開銷且提高了電路性能,但是當階數比較高的時候,Booth算法的編碼邏輯卻能帶來顯著的資源開銷。Wallace樹開辟了并行結構的先河,與傳統算法相比,基于Wallace樹的分布式算法可極大地減少硬件電路規模,很容易實現流水線處理,提高電路的執行速度,而且不受器件的限制[3]。 為了克服現有乘累加器的不足,同時為即將研制的通用數字神經處理器MCU提供一個高速的運算單元,本文對乘累加器算法進行了改進,采用補碼的分布式算法并在硬件電路上得以實現。

1補碼的分布式算法

分布式算法(distributed arithmetic, DA)與傳統算法實現乘加運算的不同在于執行部分積運算的先后順序不同[4]。分布式算法在完成乘加功能時是通過將各輸入數據每一對應位產生的積預先進行相加形成相應部分積,然后再對各部分積進行累加形成最終結果,而傳統算法是等到所有乘積產生之后再進行相加來完成乘加運算的。因為大多數的乘累加過程會涉及到有符號數的運算,所以這里的乘累加器所針對的操作數統一采用補碼。采用補碼運算在進行加法運算的時候不需要考慮操作數的正負,也不需要對結果進行轉換,直接使用全加器就可以得到正確的結果。所以說補碼的分布式算法簡化了有符號數、無符號數以及混合符號數的乘加減運算,可以使加法樹在有符號的多操作樹累加中得到應用,同樣時延更小的華萊士樹也可以在這里使用,可以進一步提高運算的速度[5-12]。補碼乘運算規則:

(1)當被乘數為任意整數,乘數為正整數時

被乘數{x}補=x0·x1x2…xn=2n+1+x,

乘數{y}補=0·y1y2…yn(y≥1),

{x}補{y}補=x0·x1x2…xn×0·y1y2…yn

=(2n+1+x)×y

=2n+1×y+xy(mod 2n+1)

=2n+1+xy

={xy}補。

(1)

此時乘積的結果就等于x與y的補碼直接相乘。

(2)當被乘數為任意整數,乘數為負整數時

被乘數{x}補=x0·x1x2…xn,

乘數{y}補=1·y1y2…yn=2n+1+y,

y={y}補-2n+1

=1·y1y2…yn-2n+1

=0·y1y2…yn+2n-2n+1

=0·y1y2…yn-2n,

xy=x(0·y1y2…yn)-2n×x,

{xy}補={x}補(0·y1y2…yn)+{-x}補×2n。

(2)

當乘數為負數時,補碼的乘積結果等于x的補碼與y的補碼去掉符號位后的乘積-x的補碼乘以最高位(符號位)。

由此可以獲得定點補碼乘法的統一公式為

{xy}={x}補×(0·y1y2…yn)+{-x}補×2n×y0,

(3)

其中-x的補碼由x的取反加1得到

(3)分布式算法

考慮如下的乘積項:

c,x為有符號數時,表達式如下

最高位xB為符號位,xb表示x的第b位,乘積y可以表示為

重新分別求和,并考慮補碼乘法規則結果如下

y=c[0]補(xB-2[0]2B-2+xB-3[0]2B-3+…+x0[0]20)+{-c[0]}補xB-1[0]2B-1+

c[1]補(xB-2[1]2B-2+xB-3[1]2B-3+…+x0[1]20)+{-c[1]}補xB-1[1]2B-1+…+

c[N-1]補(xB-2[N-1]2B-2+xB-3[N-1]2B-3+…+x0[N-1]20)+{-c[N-1]}補xB-1[N-1]2B-1

=(c[0]xB-2[0]+c[1]xB-2[1]+…+c[N-1]xB-2[N-1])2B-2+

(c[0]xB-3[0]+c[1]xB-3[1]+…+c[N-1]xB-3[N-1])2B-3+…+

(c[0]x0[0]+c[1]x0[1]+……+c[N-1]x0[N-1])20+({-c[0]}補xB-1[0]+

{-c[1]}補xB-1[1]+…+{-c[N-1]}補xB-1[N-1])2B-1。

(4)

分布式算法硬件結構如圖1所示。

圖1 分布式結構Fig.1 Structure of a distributed algorithm

另外,為了追求更快的運算速度,我們采用并行算法對乘積項進行處理,每次可令操作數移動2~3位,可以進一步地提高運算的速度,但是結構也相應的要復雜很多。當同時移動3位時,新的系數c[n]將通過下面表1的規則獲得。

表1 系數規則

加法器樹也可以采用華萊士樹代替,可以進一步減小加法器的進位延時。

2仿真結果與分析

2.1仿真結果

采用Altera公司的Cyclone EP1C3作為目標器件,用Verlog HDL描述了整個設計,并在Quartus開發系統中完成了整個設計的輸入、功能仿真和時序仿真,最后生成編程文件。乘累加器的目標器件EP1C3T144C8的工作頻率為101.9 4 MHz,邏輯單元占總資源的2%,所用的引腳數占總引腳數的23%,我們通過6個乘積項9位有符號數的乘累加在目標器件上進行算法的驗證。

當x和系數c的取值分別取以下值時,最終乘累加器的計算結果為-58 600,得到了正確的結果,說明該乘累加器的設計是正確的。

x1=100;x2=200;x3=30;x4=40;x5=50;x6=60;

c1=-100;c2=-200;c3=-30;c4=-40;c5=-50;c6=-60;

圖2為仿真的結果。

圖2 乘累加器仿真結果Fig.2 Simulation results of the multiply-accumulator

2.2算法分析

對比目前的DA分布式算法和采用乘法器結構的MAC,本文的設計具有更多的優勢。傳統的DA分布式算法,需要根據系數c計算累加值后儲存在LUT中,這樣帶來兩個問題。第一,不能即刻更新系數c,每一次更新都需要重新計算大量的累加值,這限制了分布式算法的應用范圍。第二,隨著階數(N)和數據位數的增加,LUT所需的ROM也將以2的N次方迅速地增加。采用乘法器結構的MAC,乘法器占用資源多,且即使高端FPGA內部的乘法器數量也滿足不了并行運算的消耗[13-16]。而本文設計的乘累加器使用加法器樹來代替原來的LUT,這樣的處理可以使系數c可以隨時更改數值,使得基于分布式算法的乘累加器不再局限于定系數乘累加運算,而且對FPGA內部RAM的需求也降到了0。

3結論

本文設計了一種并行結構采用補碼分布式算法的乘累加器,并在EP1C3T144C8器件中實現。這種乘累加器改變了原來DA分布式算法系數固定的缺點,并且不需要大量的ROM用來作為系數表,所占用芯片的面積更小,實現了符號數的乘累加計算,擴展方便,特別適合于可編程邏輯器件的實現。該乘累加器性能先進,可以被廣泛的運用到其他數字硬件設計中。但是,該乘累加器還有不少可改進之處,比如采用并行算法縮短運算周期,利用Wallace tree代替普通的加法器樹等等,能夠進一步地簡化算法,減少延時降低功耗。

參考文獻:

[1]陳楊生,顏剛鋒. 硬件實現基于BP神經網絡設計的帶阻FIR濾波器[J]. 浙江大學學報:工學版,2006, 40(7):1146-1149.

[2]趙宇玲. 基于FPGA的信號采集與處理系統設計與實現[D]. 南京:南京理工大學,2008.

[3]蘭景宏. 高性能乘累加器的設計研究[D]. 北京: 北京大學,2005.

[4]MEYER-BAESE U.數字信號處理的 FPGA 實現[M].北京:清華大學出版社,2006.

[5]李梅,王蘭勛. 分布式算法在FIR數字濾波器實現中的應用[J]. 通信技術,2008,41(8):15-16.

[6]CILETTI M D. Verlog HDL 高級數字設計[M]. 北京:電子工業出版社,2005.

[7]李勇,裘式綱,王鳳學,等. 計算機原理與設計[M]. 長沙:國防科技大學出版社,1989.

[8]SUNDER S.A fast multiplier based on modified Boothalgorithm [J]. Int J Electronics,1993,75(2):199-208.

[9]SAIT S M. A novel technique for fast multiplication [J]. Int J Electronics,1999,86(1):67-77.

[10]張禾,陳客松. 基于FPGA的稀疏矩陣向量乘的設計研究[J]. 計算機應用研究,2014, 31(6):1756-1759.

[11]于亞萍,陳雪強,劉源,等. 基于FPGA串并結合FIR濾波器的設計[J]. 湖北農業科學,2012, 51(14):3092-3095.

[12]鄒翠,謝憬,謝鑫君. 基于高性能浮點乘累加器的浮點協處理器設計[J]. 信息技術,2014(7) : 121-124.

[13]徐琪,段哲民. 泰勒級數的DDS設計與FPGA實現[J]. 計算機工程與應用,2014, 50(5):208-211.

[14]鄧耀華,吳黎明,張力鍇. 基于 FPGA 的雙 DDS 任意波發生器設計與雜散噪聲抑制方法[J].儀器儀表學報,2009,30(11):2255-2261.

[15]黃丹連. 高吞吐率單雙精度可配置浮點乘累加器的設計與實現[D]. 上海:上海交通大學,2011.

[16]胡少軒. 基于FPGA的MAC FIR濾波器的實現[J]. 山西焦煤科技,2011(11):44-46.

Design of a parallel signed multiply-accumulator

ZHANG Lin1,TIAN Xian-zhong1,2,ZHAO Xing-wen1,YAN Guang1,GE Zhao-bin1

(1. Institute of Automation, Shandong Academy of Sciences, Jinan 271018, China;2. School of Instrumentation & Electrical Engineering, Jilin University, Changchun 130026, China)

Abstract∶We employ complement distributed algorithm to simplify addition, subtraction and multiplication of signed number, unsigned number and the number with mixed symbols. We further design a new multiply-accumulator structure through improving tree structure of an accumulator and logic circuit of a full adder. It is implemented with EP1C3T144C8 device from Altera company. Its effectiveness is proved through multiply-accumulating functionality and timing simulation result of six nine-bit signed operands. Its design overcomes the negatives of large RAM resource occupancy and no coefficient update of conventional distributed algorithm (DA). It can therefore be applied to the design of digital filters, and digital signal processors (DSP) as a rapid compute unit.

Key words∶multiply-accumulator; signed-number; variable coefficient

中圖分類號:TN431.2

文獻標識碼:A

文章編號:1002-4026(2016)02-0096-05

作者簡介:張琳(1987-),女,碩士,研究方向為嵌入式應用開發編程。Email:zhanglin987326@126.com

基金項目:山東省科學院先導科技專項;山東省自主創新及成果轉化專項(2014CGZH1104)

收稿日期:2015-06-11

DOI:10.3976/j.issn.1002-4026.2016.02.018

主站蜘蛛池模板: 欧美国产精品拍自| 中文字幕在线一区二区在线| 久久夜夜视频| 亚洲婷婷在线视频| 亚洲免费成人网| 这里只有精品在线| 亚洲第一精品福利| 国产成人福利在线| 国产jizzjizz视频| 自拍中文字幕| 青青青国产免费线在| 全色黄大色大片免费久久老太| 美女免费黄网站| 欧美日韩第三页| 国产无码高清视频不卡| 欧美在线伊人| 国产网站免费| 亚洲一级无毛片无码在线免费视频 | 免费无码一区二区| 国产精品主播| 亚洲AV无码久久天堂| 五月综合色婷婷| 中文国产成人精品久久| 中文无码毛片又爽又刺激| 九九视频免费在线观看| 波多野结衣视频网站| 国产精品熟女亚洲AV麻豆| 丰满的少妇人妻无码区| 青青青草国产| 久久99精品久久久久久不卡| 免费高清a毛片| 国产a v无码专区亚洲av| 国产微拍一区| 亚洲视频四区| 国产裸舞福利在线视频合集| 大香伊人久久| 免费全部高H视频无码无遮掩| 91区国产福利在线观看午夜 | 午夜性爽视频男人的天堂| 国内丰满少妇猛烈精品播| 亚洲日本精品一区二区| 9啪在线视频| 亚洲成年人网| 色噜噜中文网| 啊嗯不日本网站| 激情综合网激情综合| 免费国产小视频在线观看| 91成人在线观看| 日韩人妻精品一区| 欧美日韩一区二区三区四区在线观看| 国产欧美日韩综合一区在线播放| 无码'专区第一页| 人人爽人人爽人人片| 综合色在线| 四虎成人精品在永久免费| 人妻中文字幕无码久久一区| 国产亚洲精品97在线观看 | 国产精品久久久久久影院| 欧美日本在线| 日本福利视频网站| 99草精品视频| Jizz国产色系免费| 亚洲av无码成人专区| 欧美福利在线观看| 国产欧美日韩18| 亚洲精品无码专区在线观看| 午夜限制老子影院888| 99精品在线视频观看| 女人毛片a级大学毛片免费| 中文精品久久久久国产网址| 日本一区中文字幕最新在线| 国产一区二区三区在线观看免费| 亚洲天堂2014| 在线另类稀缺国产呦| 91丨九色丨首页在线播放| 青青青国产视频手机| 亚洲另类色| 亚洲综合狠狠| 一级毛片不卡片免费观看| 日本一区二区三区精品国产| 好吊色妇女免费视频免费| 国产97视频在线观看|