repo2/common/romgen/rom_example @ 321
1 | markw | --
|
|
--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;
|