I have some problems when I try to compile mymux. This is my code:LIBRARY ieee ; USE ieee.std_logic_1164.all ; Entity mymux21 is port (A,B: in std_logic_vector (3 downto 0); S: in std_logic; F: out std_logic_vector (3 downto 0)); end mymux21; Architecture behave of mymux21 is begin F <= A when (S = '0') else B; end behave; Architecture struct of mymux21 is component mymux21 is port (A,B,S: in std_logic; F: out std_logic); end component; begin Copy1: mymux21 port map (A => A(0), B => B(0), S => S, F => F(0)); Copy2: mymux21 port map (A => A(1), B => B(1), S => S, F => F(1)); Copy3: mymux21 port map (A => A(2), B => B(2), S => S, F => F(2)); Copy4: mymux21 port map (A => A(3), B => B(3), S => S, F => F(3)); end struct; and the error is: "project too complex: hierarchy path is too long"
--- Quote Start --- oh, what is error? and how can I correct it? --- Quote End --- The error is your project is too complex and the heirarchy is too large. I assume you have layers and layers of code. To fix it - have less layers
The problem could be the code. You are creating an architecture that instantiates itself, possibly creating an infinite loop. You should use different names for the std_logic and std_logic_vector versions of your mux.