日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機電之家資源網(wǎng)
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
基于FPGA的快速并行平方器
基于FPGA的快速并行平方器
 更新時間:2008-8-4 4:22:19  點擊數(shù):14
【字體: 字體顏色


    

摘  要:介紹了一種二進制補碼快速并行平方器的設計方法,并給出了一個6位二進制補碼平方器的例子及在MAX+PLUS II 10.0環(huán)境下的仿真結果。

關鍵詞:FPGA,二進制補碼,平方器

 

1 引言

平方器在科學技術的許多領域被廣泛應用,例如圖像壓縮及通信技術。在實際FPGA設計中,比較常用的方法是直接將乘法器用作平方器,即將相同數(shù)據(jù)直接送至兩輸入乘法器的輸入端,從而完成平方運算。但用此方法實現(xiàn)平方器存在兩個主要缺點:一是速度慢;二是浪費資源。如果使用查表法實現(xiàn)平方器,雖然能夠提高運算速度,但當輸入數(shù)據(jù)位數(shù)比較長時,所用資源是非常巨大的。本文所介紹的設計方法可以有效克服速度與資源的矛盾,從而設計出既節(jié)省資源又快速的平方器。

2 平方器的實現(xiàn)原理

對于輸入為n位的二進制補碼,無論其是正數(shù)還是負數(shù),經(jīng)平方運算后都為正數(shù),所以平方器的輸出結果只需要2n-1位就可以表示了,默認的符號位為零可以省略。假設輸入數(shù)據(jù)為長度為6位的二進制補碼,則平方器輸出為11位。根據(jù)參考文獻[1],可推得平方運算的具體過程如圖1(a)所示。圖中數(shù)字符號即代表輸入數(shù)據(jù)的對應位,橫杠表示取反,“1”表示二進制數(shù)1。圖1(a)的原理對于二進制補碼的正、負數(shù)均適用。從圖中可以看出,由于乘數(shù)與被乘數(shù)相同,乘積項是沿對角線對稱分布的。這樣,根據(jù)二進制加法的特點,可以將對角線以上的乘積項左移一位,從而將對角線以下的乘積項消去,如圖1(b)所示。觀察圖1(b)可發(fā)現(xiàn),由于輸出平方值的P0等于輸入X0與自身相與,所以就等于X0,而P1則總等于零。運用上述觀察到的特點,可以大大簡化電路設計并提高運算速度。下面的設計就是依據(jù)圖1(b)進行的。

 

3 平方器的FPGA實現(xiàn)

由圖1(b)可以看出,用FPGA實現(xiàn)平方運算,可以分兩步:第一步,產(chǎn)生乘積項;第二步,用串行進位加法器將乘積項逐行相加,最后得出結果。這樣做雖然思路簡單清晰,但有一個缺點,就是在使用串行進位加法器時,因為加法器存在進位傳送延遲,使得在對每一行乘積項相加時都存在進位延遲,從而降低了運算速度。為減少進位延遲的影響,可以分三步來實現(xiàn)平方運算:第一步,產(chǎn)生乘積項;第二步,運用全加器及半加器將第一列的乘積項壓縮為只有兩項,原理如圖2所示。其中,A、B是加法器的兩個加數(shù)輸入端,Ci是進位輸入端,Co、Su分別是進位輸出端與本位和輸出端,并假設該列有5個乘積項(加上前一列的進位項),分別用a、b、c、d、e來表示。這樣,只需一個全加器和一個半加器就可將乘積項壓縮為兩項,同時產(chǎn)生兩個進位項。用此方法對每一列進行壓縮,這樣經(jīng)壓縮后的乘積項就只有兩行;第三步,將第二步產(chǎn)生的兩行乘積項送至進位傳送加法器相加,得到平方值。可以看出,用第二種方法實現(xiàn)平方器,在對乘積項進行壓縮時不存在進位傳送延遲,而只在第三步存在加法器的進位延遲,因此可以大大提高運算速度。下面就舉一個6位平方器的便子來說明如何用第二種方法實現(xiàn)平方器。原理如圖3所示(圖中,correct項對應于二進制數(shù)1,“0”表示二進制數(shù)0)。第一步,產(chǎn)生乘積項。因為每個乘積項是由輸入數(shù)據(jù)的對應比特相與產(chǎn)生的,所以,對于產(chǎn)生電路用語言描述比用圖形描述更為方便,此處使用VHDL語言來描述乘積項產(chǎn)生電路;第二步,通過全加器及半加器組成的網(wǎng)絡,將乘積項壓縮為兩行。從圖1(b)可以看出,按列進行乘積項壓縮,由于每一列的乘積項缺乏規(guī)律性,不便于用語言來描述,所以此處使用圖形輸入法來描述乘積項壓縮電路,圖3中虛線框內(nèi)的部分就是乘積項壓縮電路;第三步,將壓縮得到的兩行乘積項送至串行進位加法器相加,得到平方值。圖3中虛線框以外的部分就是最后的串行進位加法器。

 

 

 

圖4(a)是用MAX+PLUS II 10.0仿真得到的結果。通過觀察圖4(a)的仿真結果可以發(fā)現(xiàn),由于組合電路的競爭與冒險,使得輸出結果有毛刺。這個問題可以通過加流水線的方法來解決。圖4(b)是經(jīng)流水線處理后的輸出波形,毛刺被完全消除。

 

4 性能分析與比較

此處,我們使用的FPGA器件是Altera公司的EPM7064LC44-7,用于比較的乘法器是MAX+PLUS II的LPM庫中的乘法器LPM_MULT。對于本文的平方器,共使用了15個邏輯單元,占資源的23%;對于LPM_MULT,共使用了35個邏輯單元,占資源的54%。在資源的使用上節(jié)省了一半多。為比較兩種平方器的工作速度,我們使用了MAX+PLUS II中時序邏輯電路性能分析功能,即在輸入、輸出端口加上D觸發(fā)器,然后進行定時分析。結果顯示,本文的平方器可以工作的最高頻率是76.92MHz,而LPM_MULT工作的最高頻率是35.71MHz。由此可見,無論是資源的使用還是工作速度,本文所介紹的平方器都具有很大的優(yōu)越性。

 

參考文獻

 

1 L.Dadda. Fast Multipliers for Tow’s-Complement Num-bers in Serial Form. IEEE Symp. Computer Arithmetic. Urbana,I11,June 1985

2 侯伯亨,顧新.VHDL硬件描述語言數(shù)字邏輯電路設計.西安:西安電子科技大學出版社,1999,9

3 宋萬杰,羅豐,吳順君.CPLD技術及其應用.西安:西安電子科技大學出版社,1999,9

[1] [2]  下一頁
  • 上一篇: 減小速率積分陀螺漂移誤差的方法
  • 下一篇: 基于FPGA的32位浮點FFT處理器的設計
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網(wǎng)友評論:(只顯示最新5條。)
    關于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1