可以直接用代码调用FPGA内嵌乘法器:将std_logic_vector类型信号转换为有符号信号,然后直接使用如下VHDL代码得到两个数的乘积(记住,a和b是两个输入,其类型都是std_logic_vector,乘积是输出,类型也是std_logic_vector)。
product<=std_logic_vector(signed(a)*signed(b));
不过要记得声明IEEE数字标准类型库(numeric standard library):
use ieee.numeric_std.all;
这种方法可以使FPGA内部资源使用率显著减少。