專利名稱:基于fpga的浮點數(shù)值除法器實現(xiàn)的功能模塊的制作方法
技術(shù)領(lǐng)域:
本實用新型涉及一種基于FPGA的除法器,尤其涉及基于FPGA的浮點數(shù)值 除法器。
背景技術(shù):
FPGA,即現(xiàn)場可編程門陣列,其內(nèi)部由大量的門陣列組成,可以進(jìn)行各種 復(fù)雜的數(shù)字信號運算處理,在應(yīng)用方面其硬件結(jié)構(gòu)具有無可比擬的優(yōu)勢,正處 于革命性數(shù)字信號處理的前沿,發(fā)展迅猛。硬件結(jié)構(gòu),并行處理是FPGA在數(shù) 字信號處理領(lǐng)域的絕對優(yōu)勢,但也正是其內(nèi)部結(jié)構(gòu)的硬件性,使其只能對定點 數(shù)值進(jìn)行運算,并且除法運算要求除數(shù)必須是2的指數(shù)冪的形式,否則將不能 進(jìn)行硬件綜合,不能映射到實際物理器件。 發(fā)明內(nèi)容
本實用新型針對FPGA存在只能對定點數(shù)值進(jìn)行運算的問題,提出一種功 能模塊,使其能進(jìn)行任意浮點數(shù)值的除法運算。這種基于FPGA的浮點數(shù)值除法 器實現(xiàn)的功能模塊,主要包括數(shù)值類型轉(zhuǎn)換單元,數(shù)值轉(zhuǎn)換單元,乘法運算單 元,數(shù)值逆轉(zhuǎn)換單元和數(shù)值類型逆轉(zhuǎn)換單元五個單元,各單元的先后連接關(guān)系 如下將浮點型除數(shù)轉(zhuǎn)換成定點型除數(shù)的數(shù)值類型轉(zhuǎn)換單元,連接到數(shù)值轉(zhuǎn)換 單元,對除數(shù)進(jìn)行進(jìn)一步數(shù)值轉(zhuǎn)換,定義一個數(shù)值變量N,使其與除數(shù)的乘積等 于一個為2的指數(shù)冪的數(shù)值M,數(shù)值轉(zhuǎn)換單元連接到乘法運算單元;
將浮點型被除數(shù)轉(zhuǎn)換成定點型被除數(shù)的數(shù)值類型轉(zhuǎn)換單元,也連接到乘法 運算單元;所述的乘法運算單元將被除數(shù)和定義的數(shù)值變量N作乘積運算,得 到乘積Mult,將除法運算轉(zhuǎn)換為乘法運算,連接到數(shù)值逆轉(zhuǎn)換單元; 數(shù)值逆轉(zhuǎn)換單元將Mult縮小M倍,連接到數(shù)值類型轉(zhuǎn)換單元; 數(shù)值類型轉(zhuǎn)換單元將用定點數(shù)表示的浮點數(shù)根據(jù)定義的格式轉(zhuǎn)換為浮點數(shù)。 本實用新型的有益效果是,克服了除數(shù)只能是2的指數(shù)冪這一局限,可以運 算除數(shù)是任意數(shù)值的除法,并且進(jìn)行的是浮點數(shù)值的運算,在很大程度上提高 了FPGA的運算性能,增加了其應(yīng)用的靈活性,提高了其運算精度。
圖l是本實用新型的原理圖。
具體實施方式
在圖1中,這種基于FPGA的浮點數(shù)值除法器實現(xiàn)的功能模塊,利用無條件 限制的乘法運算實現(xiàn)有條件限制的除法運算,主要通過數(shù)值類型轉(zhuǎn)換單元,數(shù) 值轉(zhuǎn)換單元,乘法運算單元,數(shù)值逆轉(zhuǎn)換單元和數(shù)值類型逆轉(zhuǎn)換單元五個單元 來實現(xiàn)EPGA浮點數(shù)值除法器的功能。各單元所實現(xiàn)的主要功能如下
數(shù)值類型轉(zhuǎn)換單元將浮點類型數(shù)值進(jìn)行類型轉(zhuǎn)換,用定點類型數(shù)值對其
表示。如定點類型為16位,可定義高8位為表示浮點類型的整數(shù)部分,低8位 表示浮點類型的小數(shù)部分。這一定義可以根據(jù)系統(tǒng)的性能需求來靈活加以確定。
數(shù)值轉(zhuǎn)換單元對除數(shù)進(jìn)行進(jìn)一步數(shù)值轉(zhuǎn)換,采用的策略是定義一個數(shù)值
變量N,使其與除數(shù)的乘積等于一個為2的指數(shù)冪的數(shù)值M。
乘法運算單元將被除數(shù)和定義的數(shù)值變量N作乘積運算,得到乘積Mult, 這樣就將除法運算轉(zhuǎn)換為乘法運算。
數(shù)值逆轉(zhuǎn)換單元由數(shù)值轉(zhuǎn)換單元和乘法運算單元的功能可知,被除數(shù)被
擴(kuò)大了N倍,要得到原來的除法運算的結(jié)果,需將Mult縮小M倍即可。M是一 個2的指數(shù)冪的數(shù)值,符合FPGA的除法運算法則,可以實現(xiàn)。數(shù)值轉(zhuǎn)換單元、 乘法運算單元和數(shù)值逆轉(zhuǎn)換單元是基于FPGA的除法器實現(xiàn)的核心單元。
數(shù)值類型逆轉(zhuǎn)換單元將用定點數(shù)表示的浮點數(shù)根據(jù)定義的格式轉(zhuǎn)換為浮 點數(shù)。
基于FPGA的浮點數(shù)值除法器按照如圖1所示的流程進(jìn)行運算,在應(yīng)用中, 可以遵循本實用新型所公開的原理進(jìn)行設(shè)計,也可將其構(gòu)建一個功能模塊,封 裝成IP核,以備重利用。
由于大多數(shù)FPGA綜合工具并不支持對浮點類型的數(shù)據(jù)進(jìn)行綜合處理,故 本實用新型的浮點類型轉(zhuǎn)換功能只適用于功能仿真環(huán)境。但定點數(shù)除法器的實 現(xiàn)部分,如圖l虛線所示部分,可以被FPGA綜合工具所識別,可以在FPGA 上得到充分使用。
權(quán)利要求1、一種基于FPGA的浮點數(shù)值除法器實現(xiàn)的功能模塊,主要包括數(shù)值類型轉(zhuǎn)換單元,數(shù)值轉(zhuǎn)換單元,乘法運算單元,數(shù)值逆轉(zhuǎn)換單元和數(shù)值類型逆轉(zhuǎn)換單元五個單元,各單元的先后連接關(guān)系如下將浮點型除數(shù)轉(zhuǎn)換成定點型除數(shù)的數(shù)值類型轉(zhuǎn)換單元,連接到數(shù)值轉(zhuǎn)換單元,對除數(shù)進(jìn)行進(jìn)一步數(shù)值轉(zhuǎn)換,定義一個數(shù)值變量N,使其與除數(shù)的乘積等于一個為2的指數(shù)冪的數(shù)值M,數(shù)值轉(zhuǎn)換單元連接到乘法運算單元;將浮點型被除數(shù)轉(zhuǎn)換成定點型被除數(shù)的數(shù)值類型轉(zhuǎn)換單元,也連接到乘法運算單元;所述的乘法運算單元將被除數(shù)和定義的數(shù)值變量N作乘積運算,得到乘積Mult,將除法運算轉(zhuǎn)換為乘法運算,連接到數(shù)值逆轉(zhuǎn)換單元;數(shù)值逆轉(zhuǎn)換單元將Mult縮小M倍,連接到數(shù)值類型轉(zhuǎn)換單元;數(shù)值類型轉(zhuǎn)換單元將用定點數(shù)表示的浮點數(shù)根據(jù)定義的格式轉(zhuǎn)換為浮點數(shù)。
專利摘要本實用新型公開了一種基于FPGA的浮點數(shù)值除法器實現(xiàn)的功能模塊,主要包括數(shù)值類型轉(zhuǎn)換單元,數(shù)值轉(zhuǎn)換單元,乘法運算單元,數(shù)值逆轉(zhuǎn)換單元和數(shù)值類型逆轉(zhuǎn)換單元五個單元,其工作原理是對運算的數(shù)位進(jìn)行重新定義,使其可以表示浮點數(shù)值,再對其進(jìn)行數(shù)值轉(zhuǎn)換,使其滿足FPGA進(jìn)行除法運算的條件,從而實現(xiàn)任意數(shù)值的除法運算。該功能模塊解決了FPGA只能運行除數(shù)為2的指數(shù)冪的運算,不能運算任意數(shù)值除法的問題,并將FPGA定點運算擴(kuò)展到浮點運算,加強(qiáng)了FPGA的運算功能。
文檔編號G06F7/48GK201311633SQ200820219008
公開日2009年9月16日 申請日期2008年11月7日 優(yōu)先權(quán)日2008年11月7日
發(fā)明者景海林, 亮 榮, 車向中, 馬惠春 申請人:中國北車股份有限公司大連電力牽引研發(fā)中心