0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA中的有符号数乘法说明

C29F_xilinx_inc 来源:赛灵思 作者:赛灵思 2022-02-16 16:21 次阅读

FPGA中乘法器是很稀缺的资源,但也是我们做算法必不可少的资源。7系列及之前的FPGA都是25x18的DSP,UltraScale中是27x18,我们可以通过调IP Core的方式或者原语的方式来进行乘法操作。在里面可以设置有符号还是无符号数乘法。

poYBAGIMpoCAHqnrAAKVaCL3Jso537.png

pYYBAGIMpoGAKTaeAAJ6-aNWnxU862.png

当然,我们也可以直接使用*符合来进行乘法,对于无符号的乘法

reg [7:0] ubyte_a;
reg [7:0] ubyte_b;
(* *)
output reg[15:0] u_res;

always @ ( posedge clk ) begin
if(rst)
u_res else
u_res end

 有符号乘法可以在Verilog中使用signed来标注。

reg signed [7:0] byte_a;
reg signed [7:0] byte_b;
(* *)
reg signed [15:0] res;

always @ ( posedge clk ) begin
if(rst)
res else
res end

当然我们也要理解有符号数乘法的原理,其实就是扩位乘法,把高位都补充为符号位。

有符号数乘法:

reg [7:0] ubyte_a;
reg [7:0] ubyte_b;
(* *)
reg [15:0] res_manul;

always @ ( posedge clk ) begin
if(rst)
res_manul else
res_manul end

关于乘法输出的位宽,我们知道,两个8bits的无符号数乘法,结果的位宽是16bits,但对于两个8bits有符号数的乘法,只要两个数不同时为-128,即二进制0b1000_0000,那么输出结果的高两位都是符号位,我们只需要取低15bits即可。因此,如果我们可以保证两个输入的乘数不会同时为有符号数所能表示的负数最小值,那么乘法结果的高两位都是符号位,只取其中一位即可。

审核编辑:符乾江

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21658

    浏览量

    601622
  • 乘法器
    +关注

    关注

    8

    文章

    205

    浏览量

    36965
收藏 人收藏

    评论

    相关推荐

    KiCad不同GND符号的含义及应用

    “  对于刚接触电子设计的小伙伴,经常会对原理图中各种不同样式的接地(GND)符号搞晕。GND、GNDA、GNDD、大地、机壳地等到底什么区别?该如何使用呢?   ” 地的种类 我们先来
    的头像 发表于 11-12 12:20 151次阅读
    KiCad<b class='flag-5'>中</b>不同GND<b class='flag-5'>符号</b>的含义及应用

    求助,LMX2572LP参考时钟路径乘法器MULT的输入频率范围问题求解

    在lmx2572LP的参考时钟输入路径一个乘法器MULT,其输入频率范围在手册描述为10Mhz~40MHz。当我在TICS Pro软件中进行配置时,这个
    发表于 11-08 11:36

    FPGA Verilog HDL什么奇技巧?

    今天给大侠带来在FPAG技术交流群里平时讨论的问题答疑合集(九),以后还会多推出本系列,话不多说,上货。 交流问题(一) Q:Verilog 什么奇技淫巧? A:在 Verilog ,以下这些
    发表于 09-12 19:10

    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

    常用的电气元件符号哪些?

    以上是一些常见的电气元件符号,它们在电路图和设计起着至关重要的作用。通过使用标准化的电气元件符号,可以确保电路图的准确性和可靠性,从而提高工程设计的效率和质量。
    的头像 发表于 04-01 13:24 1874次阅读

    char是符号类型还是无符号类型?

    看一个C语言的笔试题,题目很简单,问char是符号类型还是无符号类型?
    的头像 发表于 03-17 10:15 1185次阅读

    国产高端fpga芯片哪些

    国产高端FPGA芯片多种,以下是一些知名的国产FPGA芯片,
    的头像 发表于 03-15 14:01 2395次阅读

    Versal FPGA的浮点计算单元DSPFP32介绍

    Versal FPGA中最新的DSP原语DSP58,它在最新的DSP48版本上已经了许多改进,主要是从27x18符号乘法器和48位后加法
    的头像 发表于 02-22 09:22 1361次阅读
    Versal <b class='flag-5'>FPGA</b><b class='flag-5'>中</b>的浮点计算单元DSPFP32介绍

    如何利用xilinx器件LUT的结构特征设计乘法器呢?

    卷积占据了CNN网络绝大部分运算,进行乘法运算通常都是使用FPGA的DSP,这样算力就受到了器件DSP资源的限制。
    的头像 发表于 01-19 09:14 1273次阅读
    如何利用xilinx器件<b class='flag-5'>中</b>LUT的结构特征设计<b class='flag-5'>乘法</b>器呢?

    IIC总线的FPGA实现说明

    DE2_TV,有关于寄存器的配置的部分,采用的方法是通过IIC的功能,这里对IIC总线的FPGA实现做个说明
    的头像 发表于 01-05 10:16 1000次阅读
    IIC总线的<b class='flag-5'>FPGA</b>实现<b class='flag-5'>说明</b>

    verilog数据的符号属性(符号数和无符号数)探究根源

    为了省流,还是先甩结论。符号数和无符号数的最本质区别就是:符号位的识别和高位拓展。除此之外,另一个区别就是从人的角度如何如何读这个数,或者说$display(%d)打印时打印的值是什
    的头像 发表于 12-10 10:50 1455次阅读
    verilog<b class='flag-5'>中</b>数据的<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 1089次阅读
    verilog中有<b class='flag-5'>符号数</b>和无<b class='flag-5'>符号数</b>的本质探究

    如何在高速信号降低符号间干扰

    如何在高速信号降低符号间干扰
    的头像 发表于 11-27 15:29 525次阅读
    如何在高速信号<b class='flag-5'>中</b>降低<b class='flag-5'>符号</b>间干扰