0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

優(yōu)秀的Verilog/FPGA開源項目-浮點運算器(FPU)介紹

OpenFPGA ? 來源:OpenFPGA ? 2024-04-26 11:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

介紹

浮點運算器(英文:floating point unit,簡稱FPU)是計算機(jī)系統(tǒng)的一部分,它是專門用來進(jìn)行浮點數(shù)運算的(CPU中也叫ALU)。

現(xiàn)在很多高端處理器都有自己的FPU,用來做一些特殊的運算,雖然早期的單片機(jī)是沒有FPU的,但是經(jīng)過十幾年的發(fā)展,現(xiàn)在的單片機(jī)都有屬于自己的FPU,雖然其功能不是特別強(qiáng)大,但是最夠其單芯片應(yīng)用環(huán)境下的運算使用。

目前簡單的FPU的運算有加減乘除和開方。復(fù)雜些還可以計算超越函數(shù),例如指數(shù)函數(shù)或者三角函數(shù),盡管對大多數(shù)現(xiàn)在的處理器,這些功能都由軟件的函數(shù)庫完成。

接下來介紹一些FPU項目。

?

https://github.com/dawsonjon/fpu

?

https://opencores.org/projects/fpu100

d2042826-0373-11ef-a297-92fbcf53809c.png

這是GitHub上排名比較靠前的FPU開源項目,下面是他的介紹:

Verilog 中可合成的 IEEE 754 浮點庫。每個算術(shù)模塊接受兩個 32 位數(shù)據(jù)流 a 和 b,并輸出一個數(shù)據(jù)流 z。

碼流接口在下面手冊中有描述:

?

https://github.com/dawsonjon/fpu

提供的運算:

提供除法器、乘法器和加法器

提供 float_to_int 和 int_to_float

支持非正規(guī)數(shù)

區(qū)域優(yōu)化

超過 100,000,000 個測試向量(每個函數(shù))

?

https://opencores.org/projects/fpu

這是OpenCores上的開源項目:

描述

這是一個單精度浮點單元。它完全符合 IEEE 754 標(biāo)準(zhǔn)。它目前可以執(zhí)行加/減、乘/除 操作,以及整數(shù)到浮點數(shù)和浮點數(shù)到整數(shù)的轉(zhuǎn)換。它支持四種舍入模式:舍入到最近的偶數(shù)、舍入到零、舍入到+INF和舍入到-INF。

現(xiàn)在還有一個單獨的 FP 比較單元。它位于 fpu/fcmp 目錄中。

兼容性

FPU 100% 符合 IEEE 754。已經(jīng)跑了超過 1400 萬測試向量,使用 John R. Hauser 的 SoftFloat 庫生成,可在以下網(wǎng)址找到:http ://www.jhauser.us/arithmetic/SoftFloat.html 。

性能

單周期執(zhí)行

4 階段流水線

?

https://github.com/danshanley/FPU

這也是符合IEEE 754的FPU項目,相關(guān)的測試腳本也很完善。

?

https://github.com/pulp-platform/fpu

d232c9ce-0373-11ef-a297-92fbcf53809c.png

這是專門為pulp-platform(基于RISC-V的SoC平臺)制作的FPU,是經(jīng)過流片驗證的。

關(guān)于pulp-platform的介紹請查看《RISC-V項目介紹》及下方的官方網(wǎng)址:

?

https://pulp-platform.org//

d25a7d2a-0373-11ef-a297-92fbcf53809c.png

?

https://github.com/cnrv/CNRV-FPU

?

https://github.com/jm2000/RISCV-FPU

這也是專門為RISC-V定制的FPU項目。

?

https://github.com/freecores/double_fpu

d28d0cea-0373-11ef-a297-92fbcf53809c.png

這是Xilinx器件實現(xiàn)的雙精度FPU,使用了FPGA內(nèi)部的DSP資源。

?

https://github.com/GSejas/Dise-o-ASIC-FPGA-FPU

這也是Xilinx器件實現(xiàn)的FPU,既可以在Xilinx FPGA上使用,也可以作為ASIC設(shè)計一部分。

?

https://github.com/SeanZarzycki/openSPARC-FPU

d2abbb2c-0373-11ef-a297-92fbcf53809c.png

這個從標(biāo)題就能看出來,這是專門為openSPARC這一CPU設(shè)計的FPU。

d2c42504-0373-11ef-a297-92fbcf53809c.png

openSPARC的項目地址:https://www.oracle.com/servers/technologies/opensparc-overview.html

也是開源的CPU。

d2fbc8a6-0373-11ef-a297-92fbcf53809c.png

?

https://github.com/YutaPic/FPU

d31a1d10-0373-11ef-a297-92fbcf53809c.png

這也是在Xilinx FPGA上驗證的FPU,下面是在KCU105開發(fā)板上運行的性能:

d3302434-0373-11ef-a297-92fbcf53809c.png

總結(jié)

今天只介紹了幾個FPU的項目,在SoC盛行的時代,有助于集成到你的系統(tǒng)里,同時一些運算的Verilog代碼也是值得參考的。運算和數(shù)字電路設(shè)計,這里推薦一個名為《Computer Arithmetic - Algorithms and Hardware Designs》的PDF,關(guān)于這些運算的理論知識都可以在這里學(xué)到。



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19885

    瀏覽量

    235081
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44982

    瀏覽量

    650310
  • 乘法器
    +關(guān)注

    關(guān)注

    9

    文章

    212

    瀏覽量

    37958
  • FPU
    FPU
    +關(guān)注

    關(guān)注

    0

    文章

    45

    瀏覽量

    22051
  • 浮點運算器
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    5818

原文標(biāo)題:優(yōu)秀的 Verilog/FPGA開源項目介紹(十九)- 浮點運算器(FPU)

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    基于FPGA的實時互相關(guān)運算器

    基于FPGA的實時互相關(guān)運算器對無源雷達(dá)的直通信號和反射信號進(jìn)行互相關(guān)運算可以檢測目標(biāo)是否存在。本文介紹了基于FPGA流水線操作的陣列
    發(fā)表于 09-19 09:25

    FPGA verilog浮點數(shù)運算

    求用verilog實現(xiàn)浮點數(shù)運算的資料,謝謝
    發(fā)表于 12-17 21:15

    求一種在FPGA上實現(xiàn)單精度浮點加法運算的方法

    介紹一種在FPGA上實現(xiàn)的單精度浮點加法運算器運算器算法的實現(xiàn)考慮了FPGA器件本身的特點,算
    發(fā)表于 04-29 06:27

    FPU settings浮點運算單元設(shè)置

    void SystemInit(void){/* FPU settings 浮點運算單元設(shè)置,此處一般不執(zhí)行
    發(fā)表于 08-23 06:20

    運算器,運算器的作用和原理是什么?

    運算器,運算器的作用和原理是什么? 運算器:arithmetic unit,計算機(jī)中執(zhí)行各種算術(shù)和邏輯運算操作的部件。運算器的基本操作包括
    發(fā)表于 03-24 17:01 ?3.3w次閱讀

    浮點運算浮點運算器

    浮點運算浮點運算器 浮點加減法的運算步驟 設(shè)兩個浮點
    發(fā)表于 04-15 13:42 ?7086次閱讀

    基于FPGA高精度浮點運算器的FFT設(shè)計與仿真

    提出一種基2FFT的FPGA方法,完成了基于FPGA高精度浮點運算器的FFT的設(shè)計。利用VHDL語言描述了蝶形運算過程及地址產(chǎn)生單元,其仿真
    發(fā)表于 12-23 14:24 ?46次下載
    基于<b class='flag-5'>FPGA</b>高精度<b class='flag-5'>浮點</b><b class='flag-5'>運算器</b>的FFT設(shè)計與仿真

    利用FPGA技術(shù)能更方便靈活設(shè)計出浮點運算器

    FPGA(現(xiàn)場可編程門陣列)技術(shù)的理論研究和實際應(yīng)用正越來越受到人們的重視。FPGA 技術(shù)常常使一些原來比較難解決的技術(shù)瓶頸得以輕松實現(xiàn),從而使產(chǎn)品的開發(fā)周期大為縮短,性能價格比大幅提高。運算器
    發(fā)表于 07-14 09:50 ?3715次閱讀
    利用<b class='flag-5'>FPGA</b>技術(shù)能更方便靈活設(shè)計出<b class='flag-5'>浮點</b><b class='flag-5'>運算器</b>

    優(yōu)秀Verilog/FPGA開源項目介紹(一)

    優(yōu)秀Verilog/FPGA開源項目介紹(一)-PCIe通信 今天開始會陸續(xù)
    的頭像 發(fā)表于 10-11 15:31 ?1w次閱讀
    <b class='flag-5'>優(yōu)秀</b>的 <b class='flag-5'>Verilog</b>/<b class='flag-5'>FPGA</b><b class='flag-5'>開源</b><b class='flag-5'>項目</b><b class='flag-5'>介紹</b>(一)

    優(yōu)秀Verilog/FPGA開源項目之 USB通信

    優(yōu)秀Verilog/FPGA開源項目介紹(五)- USB通信 USB是我們生活中非常非常常見
    的頭像 發(fā)表于 11-02 14:54 ?9415次閱讀
    <b class='flag-5'>優(yōu)秀</b>的 <b class='flag-5'>Verilog</b>/<b class='flag-5'>FPGA</b><b class='flag-5'>開源</b><b class='flag-5'>項目</b>之 USB通信

    Verilog/FPGA開源項目介紹

    優(yōu)秀Verilog/FPGA開源項目介紹(七)- CAN0、CAN總線
    的頭像 發(fā)表于 11-17 11:19 ?3418次閱讀

    浮點運算單元FPU能給電機(jī)控制帶來什么?

    編者按:在計算領(lǐng)域,例如三角函數(shù)以及時域頻域變換通常會用到浮點運算。當(dāng)CPU執(zhí)行一個需要浮點數(shù)運算的程序時,有三種方式可以執(zhí)行:軟件仿真
    發(fā)表于 12-04 13:36 ?19次下載
    <b class='flag-5'>浮點</b><b class='flag-5'>運算</b>單元<b class='flag-5'>FPU</b>能給電機(jī)控制帶來什么?

    stm32F407 打開 FPU(浮點運算處理)

    沒有開浮點處理時開了處理時開FPU主要分兩步1.編譯打開浮點數(shù)產(chǎn)生指令2.在初始化函數(shù)中打
    發(fā)表于 12-28 19:12 ?18次下載
    stm32F407 打開 <b class='flag-5'>FPU</b>(<b class='flag-5'>浮點</b><b class='flag-5'>運算</b>處理<b class='flag-5'>器</b>)

    優(yōu)秀的IC/FPGA開源項目:偽紅外圖像處理

    優(yōu)秀的IC/FPGA開源項目》是新開的系列,旨在介紹單一項目,會比《
    的頭像 發(fā)表于 06-09 09:42 ?2810次閱讀
    <b class='flag-5'>優(yōu)秀</b>的IC/<b class='flag-5'>FPGA</b><b class='flag-5'>開源</b><b class='flag-5'>項目</b>:偽紅外圖像處理

    如何提高單片機(jī)的運算效率之FPU

    ;(__FPU_USED==1)在keil的魔術(shù)棒中,如上圖所示,直接選中單精度浮點運算器,keil就會自動把所需的宏給定義出來。如何驗證是否開啟成功?.z.~/|*~1?驗證方
    的頭像 發(fā)表于 08-30 11:47 ?1237次閱讀
    如何提高單片機(jī)的<b class='flag-5'>運算</b>效率之<b class='flag-5'>FPU</b>

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品