日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

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

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

FPGA有符號(hào)數(shù)乘法操作指南

汽車玩家 ? 來源:科學(xué)計(jì)算technomania ? 作者:貓叔 ? 2020-03-08 17:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

FPGA有符號(hào)數(shù)乘法操作指南

FPGA有符號(hào)數(shù)乘法操作指南

當(dāng)然,我們也可以直接使用*符合來進(jìn)行乘法,對(duì)于無符號(hào)的乘法

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

有符號(hào)乘法可以在Verilog中使用signed來標(biāo)注。

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

當(dāng)然我們也要理解有符號(hào)數(shù)乘法的原理,其實(shí)就是擴(kuò)位乘法,把高位都補(bǔ)充為符號(hào)位。

有符號(hào)數(shù)乘法:

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

關(guān)于乘法輸出的位寬,我們知道,兩個(gè)8bits的無符號(hào)數(shù)乘法,結(jié)果的位寬是16bits,但對(duì)于兩個(gè)8bits有符號(hào)數(shù)的乘法,只要兩個(gè)數(shù)不同時(shí)為-128,即二進(jìn)制0b1000_0000,那么輸出結(jié)果的高兩位都是符號(hào)位,我們只需要取低15bits即可。因此,如果我們可以保證兩個(gè)輸入的乘數(shù)不會(huì)同時(shí)為有符號(hào)數(shù)所能表示的負(fù)數(shù)最小值,那么乘法結(jié)果的高兩位都是符號(hào)位,只取其中一位即可。

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

    關(guān)注

    561

    文章

    8277

    瀏覽量

    368436
  • FPGA
    +關(guān)注

    關(guān)注

    1664

    文章

    22509

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    操作的常見錯(cuò)誤與應(yīng)對(duì)策略

    的,可能會(huì)導(dǎo)致數(shù)據(jù)溢出或丟失。 (三)數(shù)據(jù)類型位表示的理解要點(diǎn) 在嵌入式系統(tǒng)中,不同的數(shù)據(jù)類型有著不同的位表示方式,這一點(diǎn)在進(jìn)行位操作時(shí)尤為重要。符號(hào)數(shù)和無符號(hào)數(shù)的位表示就存
    發(fā)表于 11-24 07:50

    使用Xilinx 7系列FPGA的四位乘法器設(shè)計(jì)

    隨著 IoT、邊緣計(jì)算等應(yīng)用對(duì)低位寬、高并行、高效率算術(shù)運(yùn)算的需求攀升,基礎(chǔ)算術(shù)電路,如 4 位乘法,如何在 FPGA 上做到“資源最小化+速度極致”便成為一道新的挑戰(zhàn)。來自日本信州大學(xué)
    的頭像 發(fā)表于 11-17 09:49 ?3671次閱讀
    使用Xilinx 7系列<b class='flag-5'>FPGA</b>的四位<b class='flag-5'>乘法</b>器設(shè)計(jì)

    定點(diǎn)數(shù)表示實(shí)數(shù)的方法以及定點(diǎn)數(shù)在硬件上的運(yùn)算驗(yàn)證

    ,Vivado就能將后續(xù)符號(hào)數(shù)運(yùn)算綜合成相應(yīng)電路(與C語言不同,Verilog規(guī)定,無符號(hào)數(shù)符號(hào)數(shù)運(yùn)算,會(huì)將有
    發(fā)表于 10-28 08:13

    一個(gè)提升蜂鳥E203性能的方法:乘除法器優(yōu)化

    ,同樣對(duì)于無符號(hào)乘法進(jìn)行一位符號(hào)擴(kuò)展后統(tǒng)一當(dāng)作符號(hào)數(shù)進(jìn)行運(yùn)算,另外,由于加減交替法迭代所得的結(jié)果存在著1比特精度的問題,因此還需要額外3個(gè)
    發(fā)表于 10-27 07:16

    E203V2長周期乘法器核心booth算法解讀

    E203V2乘法器所在模塊為e203_exu_alu_muldiv.v,其中包含乘法和除法兩大塊,這里僅對(duì)乘法模塊進(jìn)行解讀。 乘法模塊首先進(jìn)行booth編碼,其目的為方便兩個(gè)
    發(fā)表于 10-24 09:33

    (九)浮點(diǎn)乘法指令設(shè)計(jì)

    ⊕ sb,得到結(jié)果的符號(hào)位 階碼相加減 按照定點(diǎn)整數(shù)的加減法運(yùn)算方法對(duì)兩個(gè)浮點(diǎn)數(shù)的階碼進(jìn)行加減運(yùn)算,因?yàn)橐?guī)格化數(shù)的價(jià)碼e滿足1≤e≤254,而ec可能超出1~254范圍,所以當(dāng)1≤ec≤254,相乘結(jié)果
    發(fā)表于 10-24 07:11

    通過內(nèi)聯(lián)匯編調(diào)用乘法指令mulh\\mulhsu\\mulhu

    高32位 mulhsurd, rs1,rs2 將rs1當(dāng)作符號(hào)數(shù),rs2當(dāng)作無符號(hào)數(shù)相乘,取高32位 2.由于C語言中的乘法符號(hào)
    發(fā)表于 10-24 06:52

    Verilog實(shí)現(xiàn)使用Booth編碼和Wallace樹的定點(diǎn)補(bǔ)碼乘法器原理

    對(duì)于符號(hào)整數(shù)乘法操作,E203使用常用的Booth編碼產(chǎn)生部分積,然后使用迭代的方法,每個(gè)周期使用加法器對(duì)部分積進(jìn)行累加,經(jīng)過多個(gè)周期的迭代之后得到最終的乘積。其基本硬件原理圖如圖所
    發(fā)表于 10-23 08:01

    對(duì)于指令集中back2back情況的簡(jiǎn)單介紹

    (64 位中的低 32 位)就用 mul 指令。要得到高 32 位,如果操作數(shù)都是符號(hào)數(shù),就用 mulh 指令;如果操作數(shù)都是無符號(hào)數(shù),就
    發(fā)表于 10-23 06:52

    蜂鳥乘法器設(shè)計(jì)分享

    與無符號(hào)數(shù)的運(yùn)算。蜂鳥中為了保證運(yùn)算的一致性,統(tǒng)一在操作數(shù)前面補(bǔ)1位符號(hào)位,從而將無符號(hào)數(shù)轉(zhuǎn)化為符號(hào)數(shù)
    發(fā)表于 10-22 08:21

    Booth編碼的原理及選擇

    Booth提出該算法的初衷是基于當(dāng)時(shí)計(jì)算機(jī)中的移位運(yùn)算比加法運(yùn)算要快這個(gè)硬件環(huán)境,其目的是通過移位運(yùn)算代替部分加法運(yùn)算來提高乘法運(yùn)算速度。然而,Booth算法更大的優(yōu)勢(shì)在于,它對(duì)符號(hào)數(shù)和無
    發(fā)表于 10-22 07:53

    改進(jìn)型乘法器結(jié)構(gòu)設(shè)計(jì)

    表示源寄存器。4條乘法指令分別按符號(hào)擴(kuò)展操作和結(jié)果高低位選取操作生成相應(yīng)的控制信號(hào),MULHU指令乘法的兩個(gè)
    發(fā)表于 10-22 07:51

    浮點(diǎn)運(yùn)算單元的設(shè)計(jì)和優(yōu)化

    普通的加減交替法,同樣對(duì)于無符號(hào)乘法進(jìn)行一位符號(hào)擴(kuò)展后統(tǒng)一當(dāng)作符號(hào)數(shù)進(jìn)行運(yùn)算,最終得到完全準(zhǔn)確的除法結(jié)果,總共最多需要36個(gè)時(shí)鐘周期。 4
    發(fā)表于 10-22 07:04

    RISC-V M擴(kuò)展介紹

    。 3.硬件乘法器將兩個(gè)操作數(shù)進(jìn)行乘法運(yùn)算,并將結(jié)果存放到指定的寄存器中。 4.如果乘法結(jié)果超出了寄存器的位數(shù),需要進(jìn)行截?cái)嘁赃m應(yīng)寄存器的大小。 需要注意的是,RISC-V
    發(fā)表于 10-21 06:50

    Copilot操作指南(一):使用圖片生成原理圖符號(hào)、PCB封裝

    操作方法。? ” ? 圖片生成原理圖符號(hào)(Symbol) Copilot 支持圖片生成原理圖符號(hào)功能,支持原理圖編輯器與符號(hào)編輯器兩種場(chǎng)景。只需在 Copilot 中? @圖片生成
    的頭像 發(fā)表于 07-15 11:14 ?5368次閱讀
    Copilot<b class='flag-5'>操作</b><b class='flag-5'>指南</b>(一):使用圖片生成原理圖<b class='flag-5'>符號(hào)</b>、PCB封裝
    荣昌县| 鱼台县| 栖霞市| 滦平县| 文成县| 北川| 喀什市| 连云港市| 成都市| 宾川县| 德兴市| 射洪县| 应用必备| 临猗县| 东明县| 吴忠市| 绥中县| 祁阳县| 石河子市| 庆城县| 台湾省| 英超| 梁山县| 通辽市| 耒阳市| 富宁县| 边坝县| 得荣县| 平江县| 剑河县| 临洮县| 北碚区| 德庆县| 新余市| 内江市| 浏阳市| 贵德县| 如东县| 永清县| 凤冈县| 蕲春县|