Altera_Forum
Honored Contributor
9 years agoProblem converting to integer
I have a code
LIBRARY ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
use ieee.std_logic_arith.all;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity REG_FILE is
port
(
REG_ADDR_IN : in std_logic_vector(15 downto 0);
-- some code
);
end REG_FILE;
architecture behavior of REG_FILE is
--some code
signal mailbox_idx : integer := 0;
process(REG_CLK)
begin
-- some code
mailbox_idx <= to_integer(to_unsigned(REG_ADDR_IN));
end process;
end behavior;
And result
mailbox_idx <= to_integer(REG_ADDR_IN);
Error (10405): VHDL error at reg_file.vhd(75): can't determine type of object at or near identifier "to_integer" -- found 0 possible types
or this way
mailbox_idx <= to_integer(to_unsigned(REG_ADDR_IN));
Error (10476): VHDL error at reg_file.vhd(75): type of identifier "REG_ADDR_IN" does not agree with its usage as "natural" type
Error (10346): VHDL error at reg_file.vhd(75): formal port or parameter "SIZE" must have actual or default value
Where is a problem?