--
--ROMsUsingBlockRAMResources. 
--VHDLcodeforaROMwithregisteredoutput(template2) 
--
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;

entity rams_21b is 
port(
	clk:instd_logic;
	en:instd_logic;
	addr:instd_logic_vector(5 downto 0); 
	data:outstd_logic_vector(19 downto 0)
);
end rams_21b;

architecture syn of rams_21b is 
	type rom_type is array(63 downto 0) of std_logic_vector(19 downto 0);
	signal ROM:rom_type:=
(
	X"0200A",X"00300",X"08101",X"04000",X"08601",X"0233A", X"00300",X"08602",X"02310",X"0203B",X"08300",X"04002", X"08201",X"00500",X"04001",X"02500",X"00340",X"00241", X"04002",X"08300",X"08201",X"00500",X"08101",X"00602", X"04003",X"0241E",X"00301",X"00102",X"02122",X"02021", X"00301",X"00102",X"02222",X"04001",X"00342",X"0232B", X"00900",X"00302",X"00102",X"04002",X"00900",X"08201", X"02023",X"00303",X"02433",X"00301",X"04004",X"00301", X"00102",X"02137",X"02036",X"00301",X"00102",X"02237", X"04004",X"00304",X"04040",X"02500",X"02500",X"02500", X"0030D",X"02341",X"08201",X"0400D"
);
	signal rdata:std_logic_vector(19 downto 0);
begin
	rdata<=ROM(conv_integer(addr));

	process(clk)
	begin
		if(clk’eventandclk=’1’)then
			if(en=’1’)then
				data<=rdata;
			endif;
		endif;
	endprocess;
end syn;
