国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

FPGA中浮點(diǎn)運(yùn)算功能的實(shí)現(xiàn)技術(shù)

2011-10-27 03:54劉樹(shù)青朱興華朱昊
中國(guó)科技信息 2011年23期
關(guān)鍵詞:加減法運(yùn)算模塊

茅 飛 劉樹(shù)青 朱興華 朱昊

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

2.南京工程學(xué)院先進(jìn)數(shù)控技術(shù)江蘇省高校重點(diǎn)建設(shè)實(shí)驗(yàn)室,江蘇 南京 211167

3.常州大學(xué)機(jī)械工程學(xué)院,江蘇 常州 213016

FPGA中浮點(diǎn)運(yùn)算功能的實(shí)現(xiàn)技術(shù)

茅 飛1劉樹(shù)青2朱興華3朱昊2

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

2.南京工程學(xué)院先進(jìn)數(shù)控技術(shù)江蘇省高校重點(diǎn)建設(shè)實(shí)驗(yàn)室,江蘇 南京 211167

3.常州大學(xué)機(jī)械工程學(xué)院,江蘇 常州 213016

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

浮點(diǎn)運(yùn)算;現(xiàn)場(chǎng)可編程門(mén)陣列;模塊化

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

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

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

表1 32位浮點(diǎn)數(shù)組成結(jié)構(gòu)

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

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

2.浮點(diǎn)數(shù)加減法設(shè)計(jì)

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

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

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

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

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

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

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

圖2 浮點(diǎn)運(yùn)算器邏輯框

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

在加減法運(yùn)算單元中,符號(hào)判斷和前導(dǎo)1檢測(cè)比較重要,前者決定運(yùn)算方式和最終結(jié)果符號(hào),后者為規(guī)格化服務(wù)。

表2 浮點(diǎn)運(yùn)算器端口

符號(hào)判斷硬件語(yǔ)言描述:

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

3.浮點(diǎn)數(shù)乘除法設(shè)計(jì)

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

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

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

得出結(jié)果符號(hào)。

⑷ 規(guī)格化處理:對(duì)結(jié)果進(jìn)行前導(dǎo)零檢測(cè)、初次規(guī)格化、尾數(shù)舍入和最終規(guī)格化得到最后結(jié)果。

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

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

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

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

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

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

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

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

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

4.浮點(diǎn)數(shù)運(yùn)算模塊化

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

圖4 模塊邏輯框

由于只有3個(gè)運(yùn)算單元,選擇信號(hào)只需2位,具體選擇信號(hào)與運(yùn)算單元之間關(guān)系見(jiàn)表3。

表3 選擇信號(hào)與運(yùn)算單元關(guān)系

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

圖5 模塊封裝圖

圖6 模塊綜合仿真圖

仿真圖中clk(1位)是時(shí)鐘信號(hào),ctr(2位)是運(yùn)算模式控制信號(hào);y1in(32位),y2in(32位) 為輸入信號(hào);yresult(32位)為輸出信號(hào)。圖中控制信號(hào)是二進(jìn)制格式,輸入輸出信號(hào)是十六進(jìn)制格式。

5.結(jié)束語(yǔ)

本文詳細(xì)介紹浮點(diǎn)運(yùn)算的加減運(yùn)算和乘除運(yùn)算的實(shí)現(xiàn)算法和技術(shù),并在此基礎(chǔ)上實(shí)現(xiàn)三個(gè)運(yùn)算單元的模塊化設(shè)計(jì)。通過(guò)Altera公司的可編程邏輯

器件開(kāi)發(fā)軟件Quartus II軟件仿真,驗(yàn)證了設(shè)計(jì)的正確性。

[1]劉增明,張文山.嵌入式軟件浮點(diǎn)運(yùn)算精度分析[J].洛陽(yáng):航空兵器,2010

10.3969/j.issn.1001-8972.2011.23.034

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

猜你喜歡
加減法運(yùn)算模塊
28通道收發(fā)處理模塊設(shè)計(jì)
“選修3—3”模塊的復(fù)習(xí)備考
重視運(yùn)算與推理,解決數(shù)列求和題
怎樣巧算小數(shù)的加減法
做好課改“加減法” 提高課改實(shí)效
有趣的運(yùn)算
加減法的由來(lái)
“放管服”的加減法
“整式的乘法與因式分解”知識(shí)歸納
集成水空中冷器的進(jìn)氣模塊