FPGA中乘法器是很稀缺的资源,但也是我们做算法必不可少的资源。7系列及之前的FPGA都是25x18的DSP,UltraScale中是27x18,我们可以通过调IP Core的方式或者原语的方式来进行乘法操作。在里面可以设置有符号还是无符号数乘法。
当然,我们也可以直接使用*符合来进行乘法,对于无符号的乘法
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
+关注
关注
553文章
7998浏览量
348873 -
FPGA
+关注
关注
1629文章
21736浏览量
603247
发布评论请先 登录
相关推荐
TMS320DM642 EVM OSD FPGA用户指南
电子发烧友网站提供《TMS320DM642 EVM OSD FPGA用户指南.pdf》资料免费下载
发表于 12-24 16:42
•0次下载
ADS8688分别设置0 to 1.25 × VREF和±1.25 × VREF采样范围时,得到的16位数据是按照有符号数还是无符号数进行转换?
请问ADS8688 在分别设置 0 to 1.25 × VREF 和±1.25 × VREF采样范围时,得到的16位数据是按照有符号数还是无符号数进行转换?两者一样吗?
发表于 12-20 08:03
采用Xilinx FPGA的AFE79xx SPI启动指南
电子发烧友网站提供《采用Xilinx FPGA的AFE79xx SPI启动指南.pdf》资料免费下载
发表于 11-15 15:28
•0次下载
FPGA Verilog HDL有什么奇技巧?
今天给大侠带来在FPAG威廉希尔官方网站
交流群里平时讨论的问题答疑合集(九),以后还会多推出本系列,话不多说,上货。
交流问题(一)
Q:Verilog 有什么奇技淫巧?
A:在 Verilog 中,以下这些
发表于 09-12 19:10
EasyGo 实时仿真 NetBox 操作指南
▍基于FPGA自定义模型的控制与仿真 02 操作指南 首先,找到NetBox的电源接口,接入电源。 短按「开关」
LM70 SPI/MICROWIRE 10位带符号数字温度传感器数据表
电子发烧友网站提供《LM70 SPI/MICROWIRE 10位带符号数字温度传感器数据表.pdf》资料免费下载
发表于 08-14 09:28
•0次下载
LM12454/LM12458/LM12H458 12位符号数据采集系统数据表
电子发烧友网站提供《LM12454/LM12458/LM12H458 12位符号数据采集系统数据表.pdf》资料免费下载
发表于 07-22 09:25
•0次下载
matlab与FPGA数字信号处理系列 Verilog 实现并行 FIR 滤波器
能涉及到对有符号数的处理问题
https://zhuanlan.zhihu.com/p/342108822 作者:FPGA探索者,
发表于 05-24 07:48
常用的电气元件符号有哪些?
以上是一些常见的电气元件符号,它们在电路图和设计中起着至关重要的作用。通过使用标准化的电气元件符号,可以确保电路图的准确性和可靠性,从而提高工程设计的效率和质量。
评论