• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    FPGA中浮點運算功能的實現(xiàn)技術

    2011-10-27 03:54:12劉樹青朱興華朱昊
    中國科技信息 2011年23期
    關鍵詞:規(guī)格化浮點數(shù)加減法

    茅 飛 劉樹青 朱興華 朱昊

    1.南京康尼電子科技有限公司,江蘇 南京 210013

    2.南京工程學院先進數(shù)控技術江蘇省高校重點建設實驗室,江蘇 南京 211167

    3.常州大學機械工程學院,江蘇 常州 213016

    FPGA中浮點運算功能的實現(xiàn)技術

    茅 飛1劉樹青2朱興華3朱昊2

    1.南京康尼電子科技有限公司,江蘇 南京 210013

    2.南京工程學院先進數(shù)控技術江蘇省高校重點建設實驗室,江蘇 南京 211167

    3.常州大學機械工程學院,江蘇 常州 213016

    浮點運算在眾多領域廣泛應用,通過采用純硬件電路方法實現(xiàn)并形成模塊化,可以增強可移植性、提高浮點運算速度和精度、縮短研發(fā)周期和降低開發(fā)成本。詳細介紹了FPGA中浮點運算功能的實現(xiàn)算法和實現(xiàn)技術,實現(xiàn)了32位浮點數(shù)的加減乘除功能運算單元設計,通過QuartusII自帶的仿真軟件獲得仿真波形,驗證了正確性。

    浮點運算;現(xiàn)場可編程門陣列;模塊化

    隨著半導體技術的快速發(fā)展和生產(chǎn)工藝水平的不斷提高,F(xiàn)PGA芯片在性能和密度方面得到了提高,已具有性能高、密度高、電壓低、功耗低、可靠性高等特點,可滿足純硬件實現(xiàn)浮點運算的需要。本文介紹了FPGA中浮點運算功能的實現(xiàn)算法和實現(xiàn)技術。

    1.浮點數(shù)的描述

    E為階碼位,共8位,E∈[1,254],當E=0或E=255時Y為非數(shù)(NAN,Not A Number)或非規(guī)格化數(shù)。32位浮點數(shù)(單精度)組成結構如表1。

    表1 32位浮點數(shù)組成結構

    為表述方便,設有浮點數(shù)Y1和Y2,分別為:

    其中S1,S2為符號位;F1,F(xiàn)2為尾碼位;E1,E2為階碼位。令

    2.浮點數(shù)加減法設計

    2.1 浮點數(shù)加減法算法

    如(1-3)、(1-4)兩個浮點數(shù),其加減法運算可如下表示:

    Y1和Y2兩浮點數(shù)加減法運算流程如圖1所示。其運算步驟如下:

    ⑷ 求和或求差:對階完畢浮點數(shù)的尾碼需要進行求和或求差;

    圖1 浮點數(shù)加減法流程

    2.2 加減法模塊實現(xiàn)

    根據(jù)2.1算法,可利用Verilog HDL硬件描述語言實現(xiàn)浮點數(shù)加減法運算器。浮點數(shù)運算器邏輯框圖如圖2所示。

    圖2 浮點運算器邏輯框

    浮點數(shù)進入輸入單元后,提取出符號位、階碼位、尾碼位送到相應的運算單元進行處理,再經(jīng)過規(guī)格化處理單元,得到結果。浮點運算器端口定義見表2。

    在加減法運算單元中,符號判斷和前導1檢測比較重要,前者決定運算方式和最終結果符號,后者為規(guī)格化服務。

    表2 浮點運算器端口

    符號判斷硬件語言描述:

    其中y為兩浮點數(shù)尾碼相加或相減后的結果,e為兩浮點數(shù)階碼比較后的階碼,前導1檢測就是檢測尾碼運算結果的第一位是否為1,如不是,則左移,左移1位,階碼減1;casex語句中x表示0、1均可,如23'b001xxxxxxxxxxxxxxxxxxxx表示只判斷前三位是否001,條件成立則f左移2 位賦值給F 輸出,F(xiàn) 值為23'b1xxxxxxxxxxxxxxxxxxxx00,同時階碼減2(8'b00000010)。

    3.浮點數(shù)乘除法設計

    3.1 浮點數(shù)乘除法算法

    如(1-3)、(1-4)兩個浮點數(shù),其乘除法運算可如下表示:

    Y1和Y2兩浮點數(shù)乘除法運算流程如圖3所示。其運算步驟如下:

    得出結果符號。

    ⑷ 規(guī)格化處理:對結果進行前導零檢測、初次規(guī)格化、尾數(shù)舍入和最終規(guī)格化得到最后結果。

    圖3 浮點數(shù)乘除法流程

    3.2 乘除法模塊實現(xiàn)

    根據(jù)3.1算法,利用Verilog HDL硬件描述語言、FPGA內(nèi)嵌的硬件乘法器和除法器實現(xiàn)浮點數(shù)乘除法運算單元。浮點數(shù)乘除法運算邏輯框圖如圖2所示。

    浮點數(shù)進入輸入單元后,提取出符號位、階碼位、尾碼位送到相應的運算單元進行處理,再經(jīng)過規(guī)格化處理單元,得到結果。浮點運算器端口定義見表2。

    內(nèi)嵌硬件乘法器和除法器可完成高速乘除法操作,精度較高。比使用邏輯單元完成乘除法運算更節(jié)省邏資源,延時更小。內(nèi)嵌硬件乘法器例化描述如下:

    其輸入為23位,輸出結果為45位,結果經(jīng)舍入處理為23位后,規(guī)格化得到尾碼23位。

    硬件除法器例化與乘法器有所不同,其結果分

    為商和余數(shù),內(nèi)嵌硬件除法器例化描述如下:

    其輸入為23位,輸出商為23位,余數(shù)為23位,余數(shù)經(jīng)過移位與除數(shù)輾轉相除,得到最后結果。

    4.浮點數(shù)運算模塊化

    在浮點數(shù)加減、乘除運算單元的基礎上,實現(xiàn)三個子單元的模塊化設計,可以縮短研發(fā)周期和降低開發(fā)成本,為以后的I P核固化打下基礎。模塊由數(shù)據(jù)輸入單元、運算選擇單元和運算處理單元組成,運算處理單元包含加減法運算單元、乘法運算單元和除法運算單元。模塊通過數(shù)據(jù)輸入單元提取符號位、階碼位和尾碼位;通過運算選擇單元決定是何種運算;通過運算處理單元處理相應的運算。模塊邏輯框如圖4所示。

    圖4 模塊邏輯框

    由于只有3個運算單元,選擇信號只需2位,具體選擇信號與運算單元之間關系見表3。

    表3 選擇信號與運算單元關系

    使用硬件描述言語輸入和原理圖輸入,在Altera公司的可編程邏輯器件開發(fā)軟件Quartus II中經(jīng)過分析和綜合后得到的模塊封裝圖如圖5所示,模塊綜合仿真圖如圖6所示。

    圖5 模塊封裝圖

    圖6 模塊綜合仿真圖

    仿真圖中clk(1位)是時鐘信號,ctr(2位)是運算模式控制信號;y1in(32位),y2in(32位) 為輸入信號;yresult(32位)為輸出信號。圖中控制信號是二進制格式,輸入輸出信號是十六進制格式。

    5.結束語

    本文詳細介紹浮點運算的加減運算和乘除運算的實現(xiàn)算法和技術,并在此基礎上實現(xiàn)三個運算單元的模塊化設計。通過Altera公司的可編程邏輯

    器件開發(fā)軟件Quartus II軟件仿真,驗證了設計的正確性。

    [1]劉增明,張文山.嵌入式軟件浮點運算精度分析[J].洛陽:航空兵器,2010

    10.3969/j.issn.1001-8972.2011.23.034

    江蘇省自然科學研究基金項目(BK2008367);南京工程學院科研創(chuàng)新基金項目(CKJ2009004)

    猜你喜歡
    規(guī)格化浮點數(shù)加減法
    四種Python均勻浮點數(shù)生成方法
    電腦報(2021年11期)2021-07-01 08:26:31
    怎樣巧算小數(shù)的加減法
    做好課改“加減法” 提高課改實效
    甘肅教育(2020年17期)2020-10-28 09:02:08
    加減法的由來
    “放管服”的加減法
    商周刊(2018年17期)2018-08-31 02:20:14
    在C語言中雙精度浮點數(shù)線性化相等比較的研究
    船電技術(2017年1期)2017-10-13 04:23:24
    試析水稻規(guī)格化育苗與機械插秧技術
    維模型的規(guī)格化表示與存儲方法研究
    軟件(2016年4期)2017-01-20 09:32:46
    引潮位展開的不同規(guī)格化形式及其轉換
    非精確浮點數(shù)乘法器設計
    庆阳市| 青神县| 定西市| 郧西县| 武清区| 女性| 安泽县| 休宁县| 庐江县| 阳山县| 广灵县| 安岳县| 平度市| 苍南县| 阿鲁科尔沁旗| 易门县| 尚志市| 衡东县| 扎赉特旗| 铜川市| 石阡县| 博乐市| 耒阳市| 龙江县| 南阳市| 罗定市| 康保县| 炉霍县| 中牟县| 全州县| 平阳县| 穆棱市| 东海县| 太和县| 庆阳市| 西乌珠穆沁旗| 敦煌市| 青神县| 耿马| 汤阴县| 兰考县|