《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 一個進位保留加法陣列的HDL代碼生成器

一個進位保留加法陣列的HDL代碼生成器

2009-02-20
作者:鄒 翊 匡鏡明

  摘? 要: 多加數的加法器是FPGA的一個比較常見的應用。仿真對比了其三種實現方案的性能和所消耗資源,得出進位保留加法陣列是首選方案。針對進位保留加法陣列實現的復雜性給出了一個加法陣列的HDL代碼生成器,極大地簡化了加法陣列的設計工作。?

  關鍵詞: 進位保留加法陣列? FPGA HDL代碼生成器?

?

  在現代數字通信系統中,FPGA的應用相當廣泛。尤其在對基帶信號的處理和整個系統的控制中,FPGA不但能大大縮減電路的體積,提高電路的穩定性,而且先進的開發工具使整個系統的設計調試周期大大縮短。其中對于一些基帶信號處理任務,既可以用硬件實現,也可以用軟件實現。用硬件實現的突出特點是可處理的數據速率大大提高,但相應的硬件實現也有一些弊端。對于目前流行的一些CPU包括DSP和單片機,都擁有豐富的指令集,可以很方便地處理各種數學運算。而用FPGA或ASIC這樣的純硬件來實現數學運算則有一定的困難,且不同的實現結構所能達到的性能也大不相同。加法器是在FPGA中實現各種數學運算的基礎。一個單純的兩個加數的加法器可以用簡單的組合邏輯來實現。但對于求多個加數和的運算,則可以有多種實現方案。下面首先比較幾種實現方案的性能和所消耗資源,然后針對最優方案給出一種HDL(Hardware Description Language)代碼生成器。?

1 多加數加法器不同實現方案的分析和比較?

  本文所討論的加法器的加數都是無符號的正數,對于帶符號的加法運算可以通過一些附加處理后送入無符號加法器。以計算8個1位二進制加數的和為例進行分析,它可以有以下幾種方案來實現:方案一最普通,是直接用加法器的級聯將所有8個位逐次相加,這種實現方案最簡單。因為8個1Bit數據的和最大可以是8,為4Bit數據,為了處理方便,所有的加數都事先擴展到4Bit再進行相加。設累加器的總延時為Tadd,一個全加器的延時為Ta,則用普通加法器進行一個4Bit加法。由于進位的逐級傳遞,所以在最壞情況下,需要大約4Ta的時間,8個加數全部加完需要7×4Ta=28Ta的時間。方案二是對方案一的改進,即將4Bit全加器全部換成超前進位加法器。設超前進位加法器的延時為Tc(Ta≤Tc<<4Ta),這樣全部加法需要7Tc的時間。雖然方案二的時延已經縮短很多,可以處理的數據速率得到提高,但這種級聯式的加法器的延時會隨著加數的增多而呈線性增長,在要求速度較高的場合無法達到要求。于是本文提出方案三,即采用適合硬件實現高速并行的進位保留加法陣列。典型的8個1Bit數據進位保留加法陣列如圖1所示。?

?

?

  一個1位全加器有三個輸入 A、B、Ci和兩個輸出Sum、Co,其中A和B是加數與被加數,Ci是輸入進位,Sum是和,Co是輸出進位。三個輸入對兩個輸出而言是對稱的,即使它們互相交換位置結果也不會受到影響。如果把一串全加器簡單排成一行,它們之間的進位線不連接,則這一串全加器稱為進位保留全加器。它具有如下特性:三個輸入數之和等于兩個輸出數之和,即三個相加數每通過一次進位保留加法器,其個數就變為原來的2/3。利用該特點,對于所有相加數,在第一級將這些相加數分成三個一組,每組進入一個進位保留加法器,產生的和與進位數為原來的2/3,但是產生的和數位數有所擴展。在第二級再將上一級的輸出分為3個一組,分別相加。依此類推,直到最后形成兩個操作數,即累加和與累加進位。再用超前進位加法器將它們相加就得到最終的結果。由圖1可知這種進位保留加法陣列的延時為:4Ta+Tc。?

  以Altera公司的FPGA芯片EPF10K30為實現芯片,對采用上面三種方案的8個1Bit加數的加法器進行了仿真,仿真波形如圖2所示。?

?

?

  由圖2可以看出,對于8Bit的Codeword中的“1”進行統計,三種加法器方案中進位保留加法陣列方案(AdderArray)的延時最短;方案二,超前進位加法器級聯方案(FastAdder)的延時次之;方案一,采用普通全加器級聯方案(FullAdder)的延時最長。上面的仿真由于位數較少,并不能很明顯地體現出幾種方案的差別。圖3是對32Bit漢明距離發生器所用的累加器的仿真波形圖。?

?

?

  由圖3可以很明顯地看出,方案三,進位保留加法陣列的延時大大低于另兩種方案;而方案二的延時小于方案一,但相差不是很大,這主要因為雖然超前進位加法器本身的計算時間小于普通全加器。但累加結果在級間是逐級串行傳遞的,所以隨著級數的增多,其延時也會迅速增大。而每一級的超前進位的加法優勢受輸入數據影響較大,對于比較小的數據,不涉及到向高位的進位傳遞問題,超前進位邏輯的作用就不能被完全發揮出來。?

  一般說來,系統可實現的性能與它所消耗的資源或處理復雜度之間總是矛盾的,性能的提高總是要以多消耗資源為代價的,而資源節省也總要相應降低一些性能。但是對于三種加法器方案所消耗資源進行統計表明,進位保留加法陣列消耗的資源大大小于其他兩種方案。對于32個1Bit加法器方案,若采用Altera公司的EPF10K30芯片分別實現,級聯型全加器方案和級聯型超前進位加法器方案均需要消耗182個LC(Logical Cells),而進位保留加法陣列方案僅需65個LC。由此可知,進位保留加法陣列方案無論從性能表現還是資源消耗上都比前兩種方案優異。這是因為它是一種并行處理的資源利用率更高的方案,是一種本質上不同于前兩者的更好的實現方案。?

2 進位保留加法陣列的HDL代碼生成器?

  雖然進位保留加法器具有如此明顯的優勢,但它的實現是比較復雜的,不如級聯型加法器直觀、易實現。首先需要計算加法陣列的結構參數,參見圖1,包括加法陣列的層數,每層所需要的全加器的個數和每層操作數的位數,然后按照陣列的規則畫出陣列的結構圖,最后對照結構圖寫HDL代碼。其中每層操作數的位數都不同,而且全加器的輸出Sum和Co有不同的權值,在加到下一層運算中時處理方式是不同的,Co需要移位相加。對于一個稍微大一點的陣列,編寫HDL代碼是一件既耗時又容易出錯的工作。針對這種情況,本文給出了一個進位保留加法陣列的HDL代碼生成器。它可以根據設計的需要自動計算加法陣列的結構參數,然后生成對應的HDL代碼,大大方便了加法陣列的設計工作。?

  如圖4所示,程序所需要的輸入參數是加法陣列輸入加數的個數和位數,單擊“計算”按鈕后程序將生成整個進位保留加法陣列的結構參數和消耗資源統計。由圖4可知,32個1Bit加數的加法陣列共有8層,第一層需要10組全加器,每組1Bit;第二層需要7組全加器,每組2Bit(即兩個1Bit全加器),以此類推。窗口左下角的資源統計欄里計算了整個加法陣列所需的全加器個數。而所需的LC數目是一個大概的統計值,它是在Maxplus II Version 10里編譯本HDL代碼生成器所生成的AHDL(Altera HDL)代碼,然后讓編譯器自選FLEX 10K器件進行適配的結果。需要特別指出的是,加法陣列各層之間的連接結構將極大地影響FPGA的適配結果。所以本生成器根據Altera公司FPGA的結構特點,對陣列的連接結構進行了優化設計,使加法陣列適配后消耗的資源接近最小。?

?

?

  點擊“生成代碼”按鈕后將出現圖5所示的HDL代碼窗口。圖5中顯示的是32個1Bit加法陣列的AHDL代碼。單擊“拷貝”按鈕,然后在Maxplus II軟件中粘貼到一個tdf文件中就可以直接進行編譯和適配了。本程序還可以提供加法陣列的VHDL和Verilog代碼,使進位保留加法陣列可以很方便地嵌入任何一種形式的系統設計中。?

?

?

  一些很典型的FPGA應用如FIR濾波器、高速乘法器和漢明距離發生器等都需要計算多個加數的和。針對此需求,本文首先比較了多加數加法器的三種實現方案,得出進位保留加法陣列是一種性能優異的實現方案。然后給出了一個能夠自動生成加法陣列HDL代碼的程序,它方便易用,并且能夠提供AHDL、VHDL和Verilog三種HDL語言的代碼,可以極大地提高開發效率。?

參考文獻?

1 Singh S, Rose J. The Effect of Logic Block Architecture on FPGA Performance, IEEE Journal of Solid-State Circuits, 1992;27(3)?

2 羅 莉,胡受仁.一個并行高速乘法器芯片的設計與實現.計算機工程與科學,1997;11?

3 馬群生,李健航編譯. MAX plus II 入門.北京:清華大學Altera培訓中心,1996.4?

4 Leonardo HDL Synthesis Guide,Exemplar Logic?

5 Altera Corporation, Device Data Book, May 1999
本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲自拍偷拍麻豆| 一区二区欧美精品| 日韩亚洲国产欧美| 亚洲国产精品女人久久久| 国精产品99永久一区一区| 国产精品久久久免费| 欧美日韩精品免费观看| 欧美激情无毛| 欧美成人免费网| 欧美不卡视频一区发布| 麻豆精品精品国产自在97香蕉| 久久久久高清| 久久亚洲春色中文字幕| 久久久久久尹人网香蕉| 久久综合中文字幕| 蜜桃av综合| 欧美成人午夜激情视频| 欧美激情精品久久久久久蜜臀| 欧美激情精品| 欧美日韩在线视频观看| 国产精品高精视频免费| 国产精品毛片高清在线完整版| 国产精品老牛| 国产美女精品免费电影| 国产私拍一区| 伊人蜜桃色噜噜激情综合| 伊人一区二区三区久久精品| 亚洲电影中文字幕| 亚洲破处大片| 亚洲视频一区在线| 午夜视频一区在线观看| 亚洲福利小视频| 日韩一二三在线视频播| 亚洲视频精品在线| 亚洲欧美一区二区精品久久久| 午夜天堂精品久久久久| 久久精品国产视频| 免费成人网www| 欧美日韩国产首页在线观看| 国产精品乱码妇女bbbb| 国产综合18久久久久久| 亚洲国产精品欧美一二99| 亚洲伦理精品| 亚洲综合视频一区| 亚洲国产高清高潮精品美女| 一本一本a久久| 欧美一区二区三区成人| 久久亚洲精品一区| 欧美精品偷拍| 国产欧美日本| 亚洲国产高清在线观看视频| 夜夜爽av福利精品导航| 欧美怡红院视频| 99视频有精品| 久久精品亚洲精品| 欧美精品久久天天躁| 国产乱肥老妇国产一区二| 亚洲国产成人av在线| 亚洲影院在线| 亚洲精品乱码视频| 欧美一区二区在线播放| 欧美高清视频在线播放| 国产精品免费观看在线| 亚洲电影免费在线观看| 亚洲尤物在线| 亚洲美女黄色片| 久久精品首页| 国产精品va在线| 1000部精品久久久久久久久| 亚洲自拍偷拍福利| 日韩视频在线观看免费| 欧美综合国产精品久久丁香| 欧美精品九九99久久| 国产自产2019最新不卡| 一区二区三区成人| 最新日韩中文字幕| 久久精品国产亚洲a| 欧美色图天堂网| 伊人久久婷婷| 午夜精品久久久久久久99水蜜桃| 亚洲精品欧美激情| 久久久久久国产精品mv| 欧美午夜精品理论片a级大开眼界| 精品1区2区| 亚洲免费伊人电影在线观看av| 亚洲精品在线二区| 久久久综合网站| 国产精品揄拍500视频| 日韩一级片网址| 亚洲精品国精品久久99热| 久久精品一二三| 国产精品乱码| 艳女tv在线观看国产一区| 亚洲三级电影全部在线观看高清| 久久精品国产精品亚洲综合 | 欧美欧美全黄| 一区二区在线看| 欧美影视一区| 久久精品视频导航| 国产精品永久免费观看| 亚洲手机视频| 亚洲免费在线观看| 欧美色综合天天久久综合精品| 亚洲高清不卡av| 亚洲国产日韩一级| 快射av在线播放一区| 国产一区二区三区在线观看网站| 亚洲——在线| 午夜影视日本亚洲欧洲精品| 欧美午夜精品| 一区二区激情| 亚洲愉拍自拍另类高清精品| 欧美三日本三级少妇三99| 亚洲精品一区二区三区四区高清| 亚洲精品你懂的| 欧美国产亚洲另类动漫| 亚洲电影在线观看| 亚洲精品一二三区| 久久综合网hezyo| 在线观看三级视频欧美| 亚洲国产精品www| 蜜臀91精品一区二区三区| 在线播放豆国产99亚洲| 亚洲国产精品久久91精品| 久久综合久久美利坚合众国| 一区二区视频免费完整版观看| 亚洲国产cao| 欧美高清视频一区| 亚洲靠逼com| 亚洲在线1234| 国产欧美精品在线播放| 欧美中文字幕在线视频| 久久综合久久美利坚合众国| 在线日韩中文| 99综合精品| 国产精品每日更新在线播放网址| 亚洲一区中文字幕在线观看| 欧美中文在线免费| 国内不卡一区二区三区| 亚洲激情黄色| 欧美区日韩区| 亚洲视频在线观看网站| 欧美在线国产| 在线观看欧美激情| 夜色激情一区二区| 国产精品久久久久婷婷| 亚洲欧美一区二区三区在线 | 欧美顶级少妇做爰| 日韩视频在线观看| 午夜在线播放视频欧美| 国产一区二区三区视频在线观看 | 一区二区在线视频| 99视频在线观看一区三区| 国产精品久久国产三级国电话系列 | 久久精品夜色噜噜亚洲a∨| 欧美国产日韩一区二区三区| 野花国产精品入口| 久久精品水蜜桃av综合天堂| 亚洲国产精品一区在线观看不卡 | 香蕉av777xxx色综合一区| 国产一区二区在线观看免费| 亚洲精品一区二区三区四区高清| 欧美日韩在线视频一区二区| 欧美一区国产一区| 欧美精品亚洲一区二区在线播放| 亚洲视频欧洲视频| 久热综合在线亚洲精品| 夜夜爽99久久国产综合精品女不卡| 久久高清国产| 最新国产成人在线观看| 欧美中文字幕第一页| 亚洲三级免费电影| 久久成人免费日本黄色| 亚洲国产日韩欧美| 欧美在线一级va免费观看| 亚洲经典三级| 久久国产精品久久精品国产| 91久久精品www人人做人人爽| 欧美一级淫片aaaaaaa视频| 亚洲国产一区二区三区a毛片 | 久久久久久网站| 一区二区三区国产在线| 玖玖玖国产精品| 亚洲一区影音先锋| 欧美精品18+| 欧美亚洲一区在线| 欧美日韩一区在线观看| 久久精品欧美日韩| 国产精品久久久一区麻豆最新章节 | 亚洲一区二区三区四区在线观看 | 欧美在线中文字幕| 9色精品在线| 欧美mv日韩mv国产网站| 亚洲欧美日韩国产一区二区| 欧美人在线视频| 亚洲国产精品va在线观看黑人| 国产精品欧美日韩一区二区| 亚洲伦理网站| 在线精品一区二区| 久久久国产午夜精品|