[SOLVED] [FPGA]Wierd instantiate in Xilinx FPGA

Status
Not open for further replies.

TuAtAu

Advanced Member level 4
Joined
May 22, 2011
Messages
119
Helped
9
Reputation
18
Reaction score
9
Trophy points
1,298
Location
Jupiital
Activity points
2,149
I descripe my BRAM in a .vhd and synthesized and it is workable.
But when I use them in lower hierarchy, It cannot instantiate as the BRAM!!
WHY?!? what's going wrong?

Bottom 2 pictures will explain everything.
My BRAM code:
Code:
architecture Behavioral of BRAM_2s14_49bit is
	type BYTE_RAM_TYPE is array (0 to 16383) of std_logic_vector(48 downto 0) ;
	signal BRAM 				: BYTE_RAM_TYPE:= (others => (others=> '0'));
begin


	process (CLK)
	begin
		
		if (CLK'event and CLK = '1') then
			if (ENABLE = '1') then
				if (WRENABLE = '1') then
					BRAM(conv_integer(ADDRESS(13 downto 0))) <= DATA_IN;
				end if;
				DATA_OUT <= BRAM(conv_integer(ADDRESS(13 downto 0))); --if correct, cache out
			end if;
		end if;
	end process;
	
	
end Behavioral;

1. BRAM SUCCESS in MEMORY UNIT
**broken link removed**


2. WHY NO BRAM?? BUT OVERFLOW my slice and gates!
**broken link removed**
 

I can only think of 2 things:
1. The connections arnt quite right in the 2nd picture
2. Its a synthesis bug.

For 1. Make sure clock, write enable and enable are all synchronous
2. Report the problem to Xilinx.
 
Reactions: TuAtAu

    TuAtAu

    Points: 2
    Helpful Answer Positive Rating
What do u mean by synchronous and asynchronous? Any example? Thanks.
 

add

attribute ram_extract : string;
attribute ram_extract BRAM is signal : "yes";

solved
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…