ackyee 发表于 2022-1-12 13:05:19

碰到FPGA一个奇怪的问题,无符号乘法调用DSP了,有符号不行?

如题,代码是简单写法

类似

reg signedA;
reg signedB;
(* use_dsp="yes" *) reg signed C;


always@(posedge clk)begin

        C=A*B;
end

编译完竟然没有调用DSP资源,用普通逻辑资源了


而我把A 和B 前面的 signed 去掉 系统又调用DSP 资源了奇怪

wye11083 发表于 2022-1-12 13:37:57

综合器设置dsp优先级调高试试。你位数太少了。可能被优化了。

ackyee 发表于 2022-1-12 13:57:15

wye11083 发表于 2022-1-12 13:37
综合器设置dsp优先级调高试试。你位数太少了。可能被优化了。

我把设置都改了 也强制DSP 了 奇怪的是一点变化都没有


普通的LUT堆的乘法器速度太慢了 ,DSP资源快好多

ackyee 发表于 2022-1-12 14:16:34

wye11083 发表于 2022-1-12 13:37
综合器设置dsp优先级调高试试。你位数太少了。可能被优化了。

我直接调用 乘法IP 来做了找不到原因

wye11083 发表于 2022-1-12 15:01:57

那就还是调库吧。自动综合看起来有些地方不太完善。

ackyee 发表于 2022-1-12 15:05:09

wye11083 发表于 2022-1-12 15:01
那就还是调库吧。自动综合看起来有些地方不太完善。

对的 今天还碰到   无符号 和有符号一起乘 结果存到有符号里

确实调用了DSP 但是结果是把有符号的那个的符号位一起当作数据乘进去了

wye11083 发表于 2022-1-12 21:15:56

ackyee 发表于 2022-1-12 15:05
对的 今天还碰到   无符号 和有符号一起乘 结果存到有符号里

确实调用了DSP 但是结果是把有符号的那个的 ...

。。有符号数要自己处理好。对硬件来说它不管你是有符号还是无符号,补码乘低位本来就是符号无关的。
页: [1]
查看完整版本: 碰到FPGA一个奇怪的问题,无符号乘法调用DSP了,有符号不行?