碰到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 资源了奇怪 综合器设置dsp优先级调高试试。你位数太少了。可能被优化了。 wye11083 发表于 2022-1-12 13:37
综合器设置dsp优先级调高试试。你位数太少了。可能被优化了。
我把设置都改了 也强制DSP 了 奇怪的是一点变化都没有
普通的LUT堆的乘法器速度太慢了 ,DSP资源快好多 wye11083 发表于 2022-1-12 13:37
综合器设置dsp优先级调高试试。你位数太少了。可能被优化了。
我直接调用 乘法IP 来做了找不到原因 那就还是调库吧。自动综合看起来有些地方不太完善。 wye11083 发表于 2022-1-12 15:01
那就还是调库吧。自动综合看起来有些地方不太完善。
对的 今天还碰到 无符号 和有符号一起乘 结果存到有符号里
确实调用了DSP 但是结果是把有符号的那个的符号位一起当作数据乘进去了 ackyee 发表于 2022-1-12 15:05
对的 今天还碰到 无符号 和有符号一起乘 结果存到有符号里
确实调用了DSP 但是结果是把有符号的那个的 ...
。。有符号数要自己处理好。对硬件来说它不管你是有符号还是无符号,补码乘低位本来就是符号无关的。
页:
[1]