我的vhdl代码中有错误。我正在使用ISE设计。 我该怎么做才能解决我的问题?
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use ieee.std_logic_unsigned.all;
use ieee.numeric_std.all;
use ieee.math_real.all;
library std;
use std.standard.all;
-- Uncomment the following library declaration if using
-- arithmetic functions with Signed or Unsigned values
--use IEEE.NUMERIC_STD.ALL;
-- Uncomment the following library declaration if instantiating
-- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity neuron2 is
port ( A : in integer :=1;
B : in integer :=2;
D : out real);
constant C : real := 1.25;
constant E : real := 2.25;
end neuron2;
architecture Behavioral of neuron2 is
begin
D <= A+B+C+E;
end Behavioral;
我收到以下错误:
错误:HDLCompiler:1731- “ C:\ Users \ Ida \ Downloads \ Mojo-Base-VHDL \ percobaan2 \ neuron2.vhd”行 51:找到运算符“ +”的“ 0”定义,无法确定确切的定义 “ +”的重载匹配定义ERROR:HDLCompiler:854- “ C:\ Users \ Ida \ Downloads \ Mojo-Base-VHDL \ percobaan2 \ neuron2.vhd”行 46:由于先前的错误,忽略了该单元。
答案 0 :(得分:0)
A和B是整数,而C和E是实数。在添加之前,必须将A和B类型转换为实数:
D <= real(A + B) + C + E;
注意:实类型不能综合,因此我认为这是仅仿真代码。