Keywords: Component, library, XST, same name, VHDL, Spartan-6, Virtex-6, S6, V6
I have a design where I declared a component in a package the same name as one of my instances. I get the following error with Virtex-6/Spartan-6, but do not have any issues with any of the older devices:
"ERROR:HDLCompiler:40 - "<file>.vhd" Line xx: <name> is not a component"
The following example results in an error, notice the name of the component and instance are both my_name:
library ieee;
use ieee.std_logic_1164.all;
package my_pack_0003 is
component my_name is
port(in_port : in std_logic;
out_port: out std_logic);
end component;
end package;
-----------------------------------
library ieee;
use ieee.std_logic_1164.all;
library work;
use work.my_pack_0003.all;
entity ex_0003 is
port(in_port : in std_logic;
out_port: out std_logic);
end ex_0003;
architecture beh of ex_0003 is
begin
my_name : my_name port map(in_port =>in_port, -- Note: Error points here
out_port=>out_port);
end;