Hi, I'm trying to used the primitive ROM128X1 in my design and I want to initialise the attribute INIT of this primitive. This is working fine when I use only one primitive like :
---------------------------- architecture ... component ROM128X1 -- synthesis translate_off generic (INIT : bit_vector := X"128"); -- synthesis translate_on port ( O : out std_ulogic; A0 : in std_ulogic; A1 : in std_ulogic; A2 : in std_ulogic; A3 : in std_ulogic; A4 : in std_ulogic; A5 : in std_ulogic; A6 : in std_ulogic ); end component; attribute INIT : string; attribute INIT of U : label is ".."; begin U : ROM128X1 port map( O => data_out, A0 => addr_in(0), A1 => addr_in(1), A2 => addr_in(2), A3 => addr_in(3), A4 => addr_in(4), A5 => addr_in(5), A6 => addr_in(6) ); end;
---------------------------- but in the case I used a generate statement like : ---------------------------- begin t : for i in 0 to 1 generate U : ROM128X1 port map( O => data_out(i),
A0 => addr_in(0), A1 => addr_in(1), A2 => addr_in(2), A3 => addr_in(3), A4 => addr_in(4), A5 => addr_in(5), A6 => addr_in(6) ); end generate; end;--------------------------- what name of instance do I have to use to declare the attributes INIT. Thanks