在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何實現FPGA中的除法運算

FPGA之家 ? 來源:FPGA之家 ? 作者:FPGA之家 ? 2022-04-27 09:16 ? 次閱讀

FPGA中的硬件邏輯與軟件程序的區別,相信大家在做除法運算時會有深入體會。若其中一個操作數為常數,可通過簡單的移位與求和操作代替,但用硬件邏輯完成兩變量間除法運算會占用較多的資源,電路結構復雜,且通常無法在一個時鐘周期內完成。因此FPGA實現除法運算并不是一個“/”號可以解決的。

好在此類基本運算均有免費的IP核使用,本人使用的VIVADO 2016.4開發環境提供的divider gen IP核均采用AXI總線接口,已經不再支持native接口。故做除法運算的重點從設計算法電路轉變成了調用AXI總線IP核以及HDL中有符號數的表示問題,極大降低了開發難度。以下就上述兩個方面進行探討。

VerilogHDL中默認數據類型為無符號數,因此需要數學運算的場合必須要用“signed”聲明,如:reg signed [8-1:0] signal_a;wire signed [32-1:0] signal_b;需要注意一點,FPGA將所有有符號數視為二進制補碼形式,運算的結果同樣為補碼。再來看看除法器IP核配置界面。

273b103a-c1da-11ec-bce3-dac502259ad0.png

27592b60-c1da-11ec-bce3-dac502259ad0.png

總共就兩頁,非常簡單。需要重點關注的有三個地方:1 算法實現結構(algorithm type)2 被除數與除數的位寬 3 第二頁flow control模式?,F來一一說明:

就算法結構來說官方文檔pg151 LogiCORE IP Product Guide中說得很詳細:LUTMult結構操作數最好不要高于12bit,且充分利用DSP slice和BRAM以降低對FPGA 邏輯資源的消耗。Radix-2操作數不要超過16bit,且利用資源與LUTMulti相反,大量使用register和LUT從而將DSP slice和BRAM資源節省出來用在別的地方。最后一個High Radix結構支持超過16bit的大位寬操作數,利用DSPslice等專用硬件資源。根據自己的需求選擇即可。

位寬問題沒什么好說的,需要特別注意保留位寬滿足計算范圍,也就是運算之前的“補碼符號位擴展”。至于flow control 模式與接口和AXI總線有關。

277277f0-c1da-11ec-bce3-dac502259ad0.png

接口劃分得十分清晰,被除數 除數和商通道以及必要的時鐘和復位邏輯接口。每個AXI總線通道總是包括tdata tuser tlast 和握手信號tvalid tready,其中tuser為附加信息,tlast表示流模式下最后一個數據,相當于數據包中的包尾處。數據傳輸僅在tvalid和tready同時拉高時有效并更新。

279c1038-c1da-11ec-bce3-dac502259ad0.png

而Non Blocking Mode在除法運算時較常用,一句話概括:IP核接口不帶有FIFO緩存,輸出通道數據必須被下游模塊實時處理。上圖就明白了:

27aace3e-c1da-11ec-bce3-dac502259ad0.png

這一模式實際上是對AXI總線的簡化,很多場合下并不完全需要AXI總線強大的流控功能,特別是在AXI總線模塊的上下游均為可進行實時處理的FPGA邏輯電路的情況下。AXI總線的另一個特點就是data packing,需要將不是8bit倍數位寬的數據高位填充從而確保數據最小單位是1byte,具體填充方式有所不同。很容易想到,這樣的data packing 功能對SOC中PL與PS部分的交互是十分友好的。

總體來說,在FPGA中做基本的數學運算沒什么難度,即使是指數 對數 開根號之類的復雜運算也有浮點IP Core的支持。本人后續用到復雜算法時,會采用HLS方式開發,僅用于算法驗證,歡迎關注。

原文標題:FPGA中的除法運算及初識AXI總線

文章出處:【微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1629

    文章

    21746

    瀏覽量

    603764
  • 除法運算
    +關注

    關注

    1

    文章

    5

    瀏覽量

    7641
  • AXI總線
    +關注

    關注

    0

    文章

    66

    瀏覽量

    14264

原文標題:FPGA中的除法運算及初識AXI總線

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于FPGA除法器純邏輯設計案例

    除法運算。很多人覺得不就是除法嘛,直接打上/即可,但是,FPGA是不能正確綜合這個除法器的,綜合的結果只是一個固定數值,而不像其他微處理器。
    的頭像 發表于 06-17 10:17 ?7532次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>除法</b>器純邏輯設計案例

    除法運算

    標志實現不可恢復的加-減除法運算,運行的結果存在R3。如果要做有符號除法,首先應執行DIVS一次,從而得到商的符號位。然后多次執行DIVQ
    發表于 09-21 09:26

    基于ARM的除法運算優化策略

    指令流水線的優化、針對寄存器分配進行的優化等。   ARM在硬件上不支持除法指令,編譯器是通過調用C庫函數來實現除法運算的,有許多不同類型的除法
    發表于 07-14 14:48

    實現兩個二進制除法運算

    實現兩個二進制除法運算,并在八個七段數碼管上進行顯示實現兩個二進制除法運算,并在八個七段數碼管上
    發表于 11-01 20:34

    FPGA除法運算及初識AXI總線

    FPGA的硬件邏輯與軟件程序的區別,相信大家在做除法運算時會有深入體會。若其中一個操作數為常數,可通過簡單的移位與求和操作代替,但用硬件邏輯完成兩變量間
    發表于 08-13 09:27

    FPGA怎么實現除法操作?

    FPGA,我們怎么實現除法操作?最簡單的方法當然是調IP Core。在Divider Generator的IP Core,我們可以選擇
    發表于 12-24 16:06

    FPGA實現高精度快速除法

    FPGA實現高精度快速除法
    發表于 07-17 16:33 ?25次下載

    除法和開方運算FPGA串行實現

    高精度的乘除法和開方等數學運算FPGA實現往往要消耗大量專用乘法器和邏輯資源。在資源敏感而計算時延要求較低的應用
    發表于 07-28 18:05 ?37次下載

    除法器對數運算電路的應用

    除法器對數運算電路的應用 由對數電路實現除法運算的數學原理是:
    發表于 04-24 16:07 ?2710次閱讀
    <b class='flag-5'>除法</b>器對數<b class='flag-5'>運算</b>電路的應用

    ARM中用乘法代替除法的優化

    FPGA實現鐵軌檢測算法設計_本文將闡述如何用乘法運算代替除法運算,以及如何使除法的次數最少化。
    發表于 10-05 16:37 ?1.1w次閱讀
    ARM中用乘法代替<b class='flag-5'>除法</b>的優化

    一文讀懂FPGA除法運算及初識AXI總線

    FPGA的硬件邏輯與軟件程序的區別,相信大家在做除法運算時會有深入體會。若其中一個操作數為常數,可通過簡單的移位與求和操作代替,但用硬件邏輯完成兩變量間
    發表于 05-18 01:15 ?4751次閱讀

    基于StratixⅡEP2S30484C5芯片的乘除法和開方運算算法的實現

    FPGA的開發應用,大多數EDA軟件(后面以altera QuartursII為例)都提供乘除法、開方運算的設計向導,或提供LPM宏函數,但普遍占用資源量大。而在許多信號處理應用
    發表于 07-29 17:48 ?1413次閱讀
    基于StratixⅡEP2S30484C5芯片的乘<b class='flag-5'>除法</b>和開方<b class='flag-5'>運算</b>算法的<b class='flag-5'>實現</b>

    FPGA常用運算模塊-除法

    本文是本系列的第四篇,本文主要介紹FPGA常用運算模塊-除法器,xilinx提供了相關的IP以便于用戶進行開發使用。
    的頭像 發表于 05-22 16:20 ?3723次閱讀
    <b class='flag-5'>FPGA</b>常用<b class='flag-5'>運算</b>模塊-<b class='flag-5'>除法</b>器

    FPGA基于線性迭代法的除法器設計

    FPGA實現除法的方法有幾種,比如直接用/來進行除法運算,調用IP核進行除法
    的頭像 發表于 07-04 10:03 ?1379次閱讀
    <b class='flag-5'>FPGA</b>基于線性迭代法的<b class='flag-5'>除法</b>器設計

    fpga實現加法和減法運算的方法是什么

    FPGA實現加法和減法運算非常簡單,實現乘法和除法可以用IP,那實現對數和指數
    發表于 08-05 09:37 ?1469次閱讀
    <b class='flag-5'>fpga</b><b class='flag-5'>實現</b>加法和減法<b class='flag-5'>運算</b>的方法是什么
    主站蜘蛛池模板: 69xxxxx日本护士| a色网站| 555夜色555亚洲夜色| 网站一级片| 久久精品国产6699国产精| 性欧美丨18一19| 中国又粗又大又爽的毛片| 美日韩中文字幕| 四虎影院在线观看网站| 日本免费视频| 九九草在线观看| 亚洲黄色网址| 国产精品视频第一区二区三区| 日韩免费视频一区| 亚洲图片综合区另类图片| 亚洲专区一区| 奇米影视四色首页手机在线| 欧美乱强性伦xxxxx| 亚洲精品网站日本xxxxxxx| 五月天婷婷在线观看| 色综合色综合| 亚洲成网站www久久九| 天天干狠狠| 天天想夜夜操| 永久在线免费| 成人免费观看一区二区| 国产一级淫| 国内精品一级毛片免费看| 美女一级免费毛片| 国产成人精品男人的天堂538| 免费爱爱网址| 男人的天堂免费网站| 日本免费黄色片| 色婷婷久| 色丁香六月| 日韩一卡 二卡 三卡 四卡 免费视频| 欧美ab在线| 91久娇草| 国产精品久久久久久福利 | 成人综合婷婷国产精品久久免费| 中文字幕视频二区|