16位乘法器vhdl代码合成错误
我想写一个16位*16位的乘法代码。这是我的密码:16位乘法器vhdl代码合成错误,vhdl,xilinx,modelsim,xilinx-ise,synthesize,Vhdl,Xilinx,Modelsim,Xilinx Ise,Synthesize,我想写一个16位*16位的乘法代码。这是我的密码: library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity mul is port ( A, B: IN INTEGER RANGE -32768 TO 32767; C: OUT INTEGER RANGE -2147483648 TO +2147483647 ); end mul; architecture Behavioral of mul is be
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity mul is
port
(
A, B: IN INTEGER RANGE -32768 TO 32767;
C: OUT INTEGER RANGE -2147483648 TO +2147483647
);
end mul;
architecture Behavioral of mul is
begin
C <= A * B;
end behavioral;
IEEE库;
使用IEEE.STD_LOGIC_1164.ALL;
实体mul是
港口
(
A、 B:整数范围-32768到32767;
C:输出整数范围-2147483648到+2147483647
);
末端mul;
mul-is的体系结构
开始
C实体中定义的所有端口应具有使用ucf文件定义的管脚分配。如果缺少ucf文件,工具将继续并自行放置管脚。这在错误消息中有明确说明
NET"A(0)" LOC ="AB16" | IOSTANDARD ="LVTTL";
NET"A(1)" LOC ="AB16" | IOSTANDARD ="LVTTL";
...
在您的示例中,A&B的宽度为16位,C为32位。因此,您需要为所有管脚分配正确的管脚位置和IO标准。您应该使用UCFW将实体端口分配给FPGA管脚。如果到了Bitgen为止,您没有合成错误,您为什么要重复问题。只需分配适当的I/O引脚,就可以了。