




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、一個進位保留加法陣列的HDL代碼生成器鄒 翊 匡鏡明 時間:2009年02月20日 字 體: 大 中 小關(guān)鍵詞:實現(xiàn)方案代碼生成器級聯(lián)三種適配摘? 要: 多加數(shù)的加法器是FPGA的一個比較常見的應(yīng)用。仿真對比了其三種實現(xiàn)方案的性能和所消耗資源,得出進位保留加法陣列是首選方案。針對進位保留加法陣列實現(xiàn)的復(fù)雜性給出了一個加法陣列的HDL代碼生成器,極大地簡化了加法陣列的設(shè)計工作。?關(guān)鍵詞: 進位保留加法陣列? FPGA HDL代碼生成器?在現(xiàn)代數(shù)字通信系統(tǒng)中,F(xiàn)PGA的應(yīng)用相當廣泛。尤其在對基帶信號的處理和整個系統(tǒng)的控制中,F(xiàn)PGA不但能大大縮減電路的體積,提高電路的穩(wěn)定性,而且先進的開發(fā)工具使整
2、個系統(tǒng)的設(shè)計調(diào)試周期大大縮短。其中對于一些基帶信號處理任務(wù),既可以用硬件實現(xiàn),也可以用軟件實現(xiàn)。用硬件實現(xiàn)的突出特點是可處理的數(shù)據(jù)速率大大提高,但相應(yīng)的硬件實現(xiàn)也有一些弊端。對于目前流行的一些CPU包括DSP和單片機,都擁有豐富的指令集,可以很方便地處理各種數(shù)學(xué)運算。而用FPGA或ASIC這樣的純硬件來實現(xiàn)數(shù)學(xué)運算則有一定的困難,且不同的實現(xiàn)結(jié)構(gòu)所能達到的性能也大不相同。加法器是在FPGA中實現(xiàn)各種數(shù)學(xué)運算的基礎(chǔ)。一個單純的兩個加數(shù)的加法器可以用簡單的組合邏輯來實現(xiàn)。但對于求多個加數(shù)和的運算,則可以有多種實現(xiàn)方案。下面首先比較幾種實現(xiàn)方案的性能和所消耗資源,然后針對最優(yōu)方案給出一種HDL(Ha
3、rdware Description Language)代碼生成器。?1 多加數(shù)加法器不同實現(xiàn)方案的分析和比較?本文所討論的加法器的加數(shù)都是無符號的正數(shù),對于帶符號的加法運算可以通過一些附加處理后送入無符號加法器。以計算8個1位二進制加數(shù)的和為例進行分析,它可以有以下幾種方案來實現(xiàn):方案一最普通,是直接用加法器的級聯(lián)將所有8個位逐次相加,這種實現(xiàn)方案最簡單。因為8個1Bit數(shù)據(jù)的和最大可以是8,為4Bit數(shù)據(jù),為了處理方便,所有的加數(shù)都事先擴展到4Bit再進行相加。設(shè)累加器的總延時為Tadd,一個全加器的延時為Ta,則用普通加法器進行一個4Bit加法。由于進位的逐級傳遞,所以在最壞情況下,需要
4、大約4Ta的時間,8個加數(shù)全部加完需要74Ta=28Ta的時間。方案二是對方案一的改進,即將4Bit全加器全部換成超前進位加法器。設(shè)超前進位加法器的延時為Tc(TaTc4Ta),這樣全部加法需要7Tc的時間。雖然方案二的時延已經(jīng)縮短很多,可以處理的數(shù)據(jù)速率得到提高,但這種級聯(lián)式的加法器的延時會隨著加數(shù)的增多而呈線性增長,在要求速度較高的場合無法達到要求。于是本文提出方案三,即采用適合硬件實現(xiàn)高速并行的進位保留加法陣列。典型的8個1Bit數(shù)據(jù)進位保留加法陣列如圖1所示。?一個1位全加器有三個輸入 A、B、Ci和兩個輸出Sum、Co,其中A和B是加數(shù)與被加數(shù),Ci是輸入進位,Sum是和,Co是輸出
5、進位。三個輸入對兩個輸出而言是對稱的,即使它們互相交換位置結(jié)果也不會受到影響。如果把一串全加器簡單排成一行,它們之間的進位線不連接,則這一串全加器稱為進位保留全加器。它具有如下特性:三個輸入數(shù)之和等于兩個輸出數(shù)之和,即三個相加數(shù)每通過一次進位保留加法器,其個數(shù)就變?yōu)樵瓉淼?/3。利用該特點,對于所有相加數(shù),在第一級將這些相加數(shù)分成三個一組,每組進入一個進位保留加法器,產(chǎn)生的和與進位數(shù)為原來的2/3,但是產(chǎn)生的和數(shù)位數(shù)有所擴展。在第二級再將上一級的輸出分為3個一組,分別相加。依此類推,直到最后形成兩個操作數(shù),即累加和與累加進位。再用超前進位加法器將它們相加就得到最終的結(jié)果。由圖1可知這種進位保留
6、加法陣列的延時為:4Ta+Tc。?以Altera公司的FPGA芯片EPF10K30為實現(xiàn)芯片,對采用上面三種方案的8個1Bit加數(shù)的加法器進行了仿真,仿真波形如圖2所示。?由圖2可以看出,對于8Bit的Codeword中的“1”進行統(tǒng)計,三種加法器方案中進位保留加法陣列方案(AdderArray)的延時最短;方案二,超前進位加法器級聯(lián)方案(FastAdder)的延時次之;方案一,采用普通全加器級聯(lián)方案(FullAdder)的延時最長。上面的仿真由于位數(shù)較少,并不能很明顯地體現(xiàn)出幾種方案的差別。圖3是對32Bit漢明距離發(fā)生器所用的累加器的仿真波形圖。?由圖3可以很明顯地看出,方案三,進位保留加
7、法陣列的延時大大低于另兩種方案;而方案二的延時小于方案一,但相差不是很大,這主要因為雖然超前進位加法器本身的計算時間小于普通全加器。但累加結(jié)果在級間是逐級串行傳遞的,所以隨著級數(shù)的增多,其延時也會迅速增大。而每一級的超前進位的加法優(yōu)勢受輸入數(shù)據(jù)影響較大,對于比較小的數(shù)據(jù),不涉及到向高位的進位傳遞問題,超前進位邏輯的作用就不能被完全發(fā)揮出來。?一般說來,系統(tǒng)可實現(xiàn)的性能與它所消耗的資源或處理復(fù)雜度之間總是矛盾的,性能的提高總是要以多消耗資源為代價的,而資源節(jié)省也總要相應(yīng)降低一些性能。但是對于三種加法器方案所消耗資源進行統(tǒng)計表明,進位保留加法陣列消耗的資源大大小于其他兩種方案。對于32個1Bit加
8、法器方案,若采用Altera公司的EPF10K30芯片分別實現(xiàn),級聯(lián)型全加器方案和級聯(lián)型超前進位加法器方案均需要消耗182個LC(Logical Cells),而進位保留加法陣列方案僅需65個LC。由此可知,進位保留加法陣列方案無論從性能表現(xiàn)還是資源消耗上都比前兩種方案優(yōu)異。這是因為它是一種并行處理的資源利用率更高的方案,是一種本質(zhì)上不同于前兩者的更好的實現(xiàn)方案。?2 進位保留加法陣列的HDL代碼生成器?雖然進位保留加法器具有如此明顯的優(yōu)勢,但它的實現(xiàn)是比較復(fù)雜的,不如級聯(lián)型加法器直觀、易實現(xiàn)。首先需要計算加法陣列的結(jié)構(gòu)參數(shù),參見圖1,包括加法陣列的層數(shù),每層所需要的全加器的個數(shù)和每層操作數(shù)的
9、位數(shù),然后按照陣列的規(guī)則畫出陣列的結(jié)構(gòu)圖,最后對照結(jié)構(gòu)圖寫HDL代碼。其中每層操作數(shù)的位數(shù)都不同,而且全加器的輸出Sum和Co有不同的權(quán)值,在加到下一層運算中時處理方式是不同的,Co需要移位相加。對于一個稍微大一點的陣列,編寫HDL代碼是一件既耗時又容易出錯的工作。針對這種情況,本文給出了一個進位保留加法陣列的HDL代碼生成器。它可以根據(jù)設(shè)計的需要自動計算加法陣列的結(jié)構(gòu)參數(shù),然后生成對應(yīng)的HDL代碼,大大方便了加法陣列的設(shè)計工作。?如圖4所示,程序所需要的輸入?yún)?shù)是加法陣列輸入加數(shù)的個數(shù)和位數(shù),單擊“計算”按鈕后程序?qū)⑸烧麄€進位保留加法陣列的結(jié)構(gòu)參數(shù)和消耗資源統(tǒng)計。由圖4可知,32個1Bit
10、加數(shù)的加法陣列共有8層,第一層需要10組全加器,每組1Bit;第二層需要7組全加器,每組2Bit(即兩個1Bit全加器),以此類推。窗口左下角的資源統(tǒng)計欄里計算了整個加法陣列所需的全加器個數(shù)。而所需的LC數(shù)目是一個大概的統(tǒng)計值,它是在Maxplus II Version 10里編譯本HDL代碼生成器所生成的AHDL(Altera HDL)代碼,然后讓編譯器自選FLEX 10K器件進行適配的結(jié)果。需要特別指出的是,加法陣列各層之間的連接結(jié)構(gòu)將極大地影響FPGA的適配結(jié)果。所以本生成器根據(jù)Altera公司FPGA的結(jié)構(gòu)特點,對陣列的連接結(jié)構(gòu)進行了優(yōu)化設(shè)計,使加法陣列適配后消耗的資源接近最小。?點擊
11、“生成代碼”按鈕后將出現(xiàn)圖5所示的HDL代碼窗口。圖5中顯示的是32個1Bit加法陣列的AHDL代碼。單擊“拷貝”按鈕,然后在Maxplus II軟件中粘貼到一個tdf文件中就可以直接進行編譯和適配了。本程序還可以提供加法陣列的VHDL和Verilog代碼,使進位保留加法陣列可以很方便地嵌入任何一種形式的系統(tǒng)設(shè)計中。?一些很典型的FPGA應(yīng)用如FIR濾波器、高速乘法器和漢明距離發(fā)生器等都需要計算多個加數(shù)的和。針對此需求,本文首先比較了多加數(shù)加法器的三種實現(xiàn)方案,得出進位保留加法陣列是一種性能優(yōu)異的實現(xiàn)方案。然后給出了一個能夠自動生成加法陣列HDL代碼的程序,它方便易用,并且能夠提供AHDL、VHDL和Verilog三種HDL語言的代碼,可以極大地提高開發(fā)效率。?參考文獻?1 Singh S, Rose J. The Effect of Logic Block Architecture on FPGA Performance, IEEE Journal of Solid-State Circuits, 1992;27(3)?2 羅 莉,胡受仁
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年計算機二級考試重點知識試題及答案
- 2024年精算師高級考試復(fù)習(xí)與考前準備試題及答案
- 深層次的地理文化研究試題及答案
- 投資者行為分析試題及答案
- 全國人教版初中信息技術(shù)七年級上冊第二單元第6課一、《加工圖片素材》教學(xué)設(shè)計
- 2024年監(jiān)理工程師面試技巧試題及答案
- 孩子心理疏導(dǎo)試題及答案
- 2025年第一季度可燃冰開采EPC總承包合同甲烷泄漏預(yù)案
- 投資咨詢與管理的最佳實踐試題及答案
- 安全用電教育主題班會
- GB/T 26480-2011閥門的檢驗和試驗
- 案例:收球器盲板傷人事故
- 《員工思想培訓(xùn)》課件
- 網(wǎng)絡(luò)主題 大鎖孫天宇小品《時間都去哪兒了》臺詞
- 精神科癥狀學(xué)演示課件
- 文學(xué)類文本聶志紅《在那桃花盛開的地方》閱讀練習(xí)與答案
- DB13T 5080-2019 SBS改性瀝青生產(chǎn)過程動態(tài)質(zhì)量監(jiān)控規(guī)范
- 義務(wù)教育物理課程標準(2022年版word版)
- 《CSS樣式表的使用》教學(xué)設(shè)計
- 外環(huán)長安大道、東方大道段天然氣管道工程管道試壓吹掃方案資料(共13頁)
- 中國花鳥畫簡史-共60頁PPT課件
評論
0/150
提交評論