精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

FPGA有符號數乘法操作指南

汽車玩家 ? 來源:科學計算technomania ? 作者:貓叔 ? 2020-03-08 17:14 ? 次閱讀

FPGA中乘法器是很稀缺的資源,但也是我們做算法必不可少的資源。7系列及之前的FPGA都是25x18的DSP,UltraScale中是27x18,我們可以通過調IP Core的方式或者原語的方式來進行乘法操作。在里面可以設置有符號還是無符號數乘法。

FPGA有符號數乘法操作指南

FPGA有符號數乘法操作指南

當然,我們也可以直接使用*符合來進行乘法,對于無符號的乘法

reg [7:0] ubyte_a;
reg [7:0] ubyte_b;
(* use_dsp48="yes" *)
output reg[15:0] u_res;

always @ ( posedge clk ) begin 
    if(rst)
        u_res <= 'b0;
    else
        u_res <= ubyte_a * ubyte_b;
end

有符號乘法可以在Verilog中使用signed來標注。

reg signed [7:0] byte_a;
reg signed [7:0] byte_b;
(* use_dsp48="yes" *)
reg signed [15:0] res;

always @ ( posedge clk ) begin 
    if(rst)
        res <= 'b0;
    else
        res <= byte_a * byte_b;
end

當然我們也要理解有符號數乘法的原理,其實就是擴位乘法,把高位都補充為符號位。

有符號數乘法:

reg [7:0] ubyte_a;
reg [7:0] ubyte_b;
(* use_dsp48="yes" *)
reg [15:0] res_manul;

always @ ( posedge clk ) begin
    if(rst)
        res_manul <= 'b0;
    else
        res_manul <= {{8{byte_a[7]}},ubyte_a} * {{8{ubyte_b[7]}},ubyte_b};
end

關于乘法輸出的位寬,我們知道,兩個8bits的無符號數乘法,結果的位寬是16bits,但對于兩個8bits有符號數的乘法,只要兩個數不同時為-128,即二進制0b1000_0000,那么輸出結果的高兩位都是符號位,我們只需要取低15bits即可。因此,如果我們可以保證兩個輸入的乘數不會同時為有符號數所能表示的負數最小值,那么乘法結果的高兩位都是符號位,只取其中一位即可。

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

    關注

    552

    文章

    7962

    瀏覽量

    348311
  • FPGA
    +關注

    關注

    1626

    文章

    21678

    瀏覽量

    602045
收藏 人收藏

    評論

    相關推薦

    采用Xilinx FPGA的AFE79xx SPI啟動指南

    電子發燒友網站提供《采用Xilinx FPGA的AFE79xx SPI啟動指南.pdf》資料免費下載
    發表于 11-15 15:28 ?0次下載
    采用Xilinx <b class='flag-5'>FPGA</b>的AFE79xx SPI啟動<b class='flag-5'>指南</b>

    DLP? DLPC910 Apps FPGA指南

    電子發燒友網站提供《DLP? DLPC910 Apps FPGA指南.pdf》資料免費下載
    發表于 11-05 09:26 ?0次下載
    DLP? DLPC910 Apps <b class='flag-5'>FPGA</b><b class='flag-5'>指南</b>

    FPGA Verilog HDL什么奇技巧?

    今天給大俠帶來在FPAG技術交流群里平時討論的問題答疑合集(九),以后還會多推出本系列,話不多說,上貨。 交流問題(一) Q:Verilog 什么奇技淫巧? A:在 Verilog 中,以下這些
    發表于 09-12 19:10

    EasyGo 實時仿真 NetBox 操作指南

    ▍基于FPGA自定義模型的控制與仿真 02 操作指南 ? ? 首先,找到NetBox的電源接口,接入電源。 短按「開關」
    的頭像 發表于 09-04 18:30 ?461次閱讀

    LM70 SPI/MICROWIRE 10位帶符號數字溫度傳感器數據表

    電子發燒友網站提供《LM70 SPI/MICROWIRE 10位帶符號數字溫度傳感器數據表.pdf》資料免費下載
    發表于 08-14 09:28 ?0次下載
    LM70 SPI/MICROWIRE 10位帶<b class='flag-5'>符號數</b>字溫度傳感器數據表

    LM12454/LM12458/LM12H458 12位符號數據采集系統數據表

    電子發燒友網站提供《LM12454/LM12458/LM12H458 12位符號數據采集系統數據表.pdf》資料免費下載
    發表于 07-22 09:25 ?0次下載
    LM12454/LM12458/LM12H458 12位<b class='flag-5'>符號數</b>據采集系統數據表

    matlab與FPGA數字信號處理系列 Verilog 實現并行 FIR 濾波器

    能涉及到對符號數的處理問題 https://zhuanlan.zhihu.com/p/342108822 作者:FPGA探索者,
    發表于 05-24 07:48

    易靈思FPGA flash操作原理

    易靈思FPGA flash操作原理分享
    的頭像 發表于 04-09 15:03 ?945次閱讀

    常用的電氣元件符號哪些?

    以上是一些常見的電氣元件符號,它們在電路圖和設計中起著至關重要的作用。通過使用標準化的電氣元件符號,可以確保電路圖的準確性和可靠性,從而提高工程設計的效率和質量。
    的頭像 發表于 04-01 13:24 ?1918次閱讀

    char是符號類型還是無符號類型?

    看一個C語言的筆試題,題目很簡單,問char是符號類型還是無符號類型?
    的頭像 發表于 03-17 10:15 ?1209次閱讀

    國產高端fpga芯片哪些

    國產高端FPGA芯片多種,以下是一些知名的國產FPGA芯片,
    的頭像 發表于 03-15 14:01 ?2452次閱讀

    基于FPGA的高效乘法

    乘數為1時需要左移的位數與數據位的權重其實有關,但是FPGA實現這樣的運算并不算特別簡單,還能不能簡化?
    發表于 03-08 14:11 ?810次閱讀
    基于<b class='flag-5'>FPGA</b>的高效<b class='flag-5'>乘法</b>器

    Versal FPGA中的浮點計算單元DSPFP32介紹

    Versal FPGA中最新的DSP原語DSP58,它在最新的DSP48版本上已經了許多改進,主要是從27x18符號乘法器和48位后加法
    的頭像 發表于 02-22 09:22 ?1378次閱讀
    Versal <b class='flag-5'>FPGA</b>中的浮點計算單元DSPFP32介紹

    verilog中數據的符號屬性(符號數和無符號數)探究根源

    為了省流,還是先甩結論。符號數和無符號數的最本質區別就是:符號位的識別和高位拓展。除此之外,另一個區別就是從人的角度如何如何讀這個數,或者說$display(%d)打印時打印的值是什
    的頭像 發表于 12-10 10:50 ?1471次閱讀
    verilog中數據的<b class='flag-5'>符號</b>屬性(<b class='flag-5'>有</b><b class='flag-5'>符號數</b>和無<b class='flag-5'>符號數</b>)探究根源

    verilog中有符號數和無符號數的本質探究

    不知道有沒有人像我一樣,長久以來將verilog中的符號數視為不敢觸碰的禁區。
    的頭像 發表于 12-04 16:13 ?1107次閱讀
    verilog中有<b class='flag-5'>符號數</b>和無<b class='flag-5'>符號數</b>的本質探究