/ resroms.vhd
resroms.vhd
  1  library IEEE;
  2  use IEEE.STD_LOGIC_1164.all;
  3  use IEEE.STD_LOGIC_ARITH.all;
  4  use IEEE.STD_LOGIC_UNSIGNED.all;
  5  
  6  -- Created from resmods.bin
  7  -- On 11/15/2011
  8  
  9  entity resroms is
 10  	port (
 11  	addra: in std_logic_vector(8 downto 0);
 12  	addrb: in std_logic_vector(8 downto 0);
 13  	clk: in std_logic;
 14  	dina: in std_logic_vector(23 downto 0);
 15  	douta: out std_logic_vector(23 downto 0);
 16  	doutb: out std_logic_vector(23 downto 0);
 17  	wea: in std_logic);
 18  end resroms;
 19  
 20  architecture syn of resroms is
 21     type ram_type is array (0 to 511) of std_logic_vector(23 downto 0);
 22     signal RAM : ram_type := 
 23     (
 24     x"000000", x"000000", x"000000", x"1001AA", x"100180",
 25     x"100043", x"400400", x"B00035", x"850000", x"700025",
 26     x"320019", x"000000", x"400035", x"700020", x"330029",
 27     x"400035", x"700024", x"320015", x"400401", x"B90000",
 28     x"200017", x"490000", x"B00401", x"010000", x"B00400",
 29     x"40040A", x"000000", x"320006", x"000000", x"000000",
 30     x"B0040A", x"B0040B", x"100066", x"1000F0", x"100111",
 31     x"100129", x"10013E", x"B0040C", x"010001", x"C0802E",
 32     x"200006", x"010003", x"700035", x"32003E", x"E00012",
 33     x"330032", x"000000", x"000000", x"100156", x"20003D",
 34     x"E00012", x"330038", x"000000", x"000000", x"10016B",
 35     x"20003D", x"E00012", x"33003D", x"000000", x"000000",
 36     x"100180", x"100043", x"010000", x"B00400", x"000000",
 37     x"000000", x"200006", x"010000", x"B00014", x"010800",
 38     x"840000", x"000000", x"400014", x"B00407", x"480000",
 39     x"030000", x"A0002B", x"060000", x"050000", x"050000",
 40     x"C00021", x"050000", x"880004", x"700029", x"B00018",
 41     x"40002C", x"E00014", x"33005D", x"400022", x"508018",
 42     x"000000", x"000000", x"000000", x"400018", x"B00408",
 43     x"010001", x"C08014", x"E0003A", x"330048", x"000000",
 44     x"000000", x"280000", x"010E00", x"B0002F", x"400402",
 45     x"70001D", x"32006D", x"010C00", x"B0002F", x"8C0000",
 46     x"010040", x"850000", x"400026", x"C0002F", x"840000",
 47     x"1000A9", x"010050", x"850000", x"400027", x"C0002F",
 48     x"840000", x"1000A9", x"010060", x"860000", x"010040",
 49     x"850000", x"010050", x"840000", x"8D0000", x"000000",
 50     x"490000", x"E80000", x"BA0000", x"490001", x"E80001",
 51     x"BA0001", x"490002", x"E80002", x"BA0002", x"490003",
 52     x"E80003", x"BA0003", x"490004", x"E80004", x"BA0004",
 53     x"490005", x"E80005", x"BA0005", x"490006", x"E80006",
 54     x"BA0006", x"490007", x"E80007", x"BA0007", x"490008",
 55     x"E80008", x"BA0008", x"490009", x"E80009", x"BA0009",
 56     x"49000A", x"E8000A", x"BA000A", x"49000B", x"E8000B",
 57     x"BA000B", x"000000", x"000000", x"280000", x"400028",
 58     x"B00014", x"010000", x"B90000", x"B90001", x"B90002",
 59     x"B90003", x"B90004", x"B90005", x"B90006", x"B90007",
 60     x"B90008", x"B90009", x"B9000A", x"B9000B", x"480000",
 61     x"C98000", x"480001", x"C98001", x"480002", x"C98002",
 62     x"480003", x"C98003", x"480004", x"C98004", x"480005",
 63     x"C98005", x"480006", x"C98006", x"480007", x"C98007",
 64     x"480008", x"C98008", x"480009", x"C98009", x"48000A",
 65     x"C9800A", x"48000B", x"C9800B", x"88000C", x"01FFFF",
 66     x"C08014", x"3300B8", x"000000", x"000000", x"000000",
 67     x"280000", x"000000", x"000000", x"010400", x"900032",
 68     x"060000", x"70002A", x"840000", x"C00012", x"70002A",
 69     x"850000", x"01003F", x"700032", x"90001F", x"B00033",
 70     x"490800", x"E80800", x"000000", x"900033", x"060000",
 71     x"C80800", x"030000", x"B00030", x"000000", x"280000",
 72     x"010000", x"860000", x"870000", x"8C0000", x"010006",
 73     x"B00014", x"4A0420", x"BA0088", x"060000", x"C00023",
 74     x"B00032", x"1000D8", x"4B0060", x"A00030", x"B00018",
 75     x"4A0088", x"060000", x"B00032", x"1000D8", x"4B0061",
 76     x"A00030", x"E00018", x"BA0078", x"8A0001", x"8B0002",
 77     x"01FFFF", x"C08014", x"3300F6", x"8D0000", x"000000",
 78     x"000000", x"000000", x"280000", x"010000", x"860000",
 79     x"010006", x"B00014", x"010000", x"EA0078", x"060000",
 80     x"B00019", x"9A00A0", x"CA8080", x"BA0410", x"B00018",
 81     x"400019", x"9A00A8", x"000000", x"C00018", x"BA0418",
 82     x"8A0001", x"01FFFF", x"C08014", x"330115", x"000000",
 83     x"000000", x"280000", x"010000", x"860000", x"870000",
 84     x"010006", x"B00014", x"4B0060", x"AB0060", x"B00018",
 85     x"4B0061", x"AB0061", x"000000", x"C00018", x"BA0098",
 86     x"8B0002", x"8A0001", x"01FFFF", x"C08014", x"33012E",
 87     x"000000", x"000000", x"280000", x"010000", x"860000",
 88     x"B00018", x"400012", x"B00019", x"010006", x"B00014",
 89     x"4A0098", x"700038", x"33014C", x"BA0080", x"BA0418",
 90     x"400019", x"508018", x"400019", x"040000", x"B00019",
 91     x"8A0001", x"01FFFF", x"C08014", x"330145", x"400018",
 92     x"B0040E", x"280000", x"0101A3", x"B0040D", x"010008",
 93     x"B00028", x"015000", x"B00037", x"010500", x"B00036",
 94     x"0100FC", x"B00027", x"010000", x"B00026", x"01015B",
 95     x"B00404", x"02E14D", x"032804", x"B00402", x"B00039",
 96     x"01001D", x"B0002C", x"200195", x"010347", x"B0040D",
 97     x"010008", x"B00028", x"015000", x"B00037", x"010500",
 98     x"B00036", x"010000", x"B00026", x"01009C", x"B00027",
 99     x"01068E", x"B00404", x"02014D", x"031804", x"B00402",
100     x"B00039", x"010024", x"B0002C", x"200195", x"01068E",
101     x"B0040D", x"010005", x"B00028", x"018000", x"B00037",
102     x"010800", x"B00036", x"010000", x"B00026", x"010054",
103     x"B00027", x"010D1C", x"B00404", x"02014D", x"030B04",
104     x"B00402", x"B00039", x"01002D", x"B0002C", x"200195",
105     x"010002", x"B00406", x"0100FF", x"B00405", x"013600",
106     x"B0002B", x"400037", x"B000A8", x"B000A9", x"B000AA",
107     x"B000AB", x"B000AC", x"B000AD", x"400036", x"B000A0",
108     x"B000A1", x"B000A2", x"B000A3", x"B000A4", x"B000A5",
109     x"280000", x"0100FE", x"B000FF", x"010000", x"840000",
110     x"010000", x"B80000", x"880001", x"800000", x"E000FF",
111     x"3301AE", x"010012", x"B00000", x"010020", x"B00001",
112     x"010001", x"B00002", x"010000", x"B00003", x"024937",
113     x"033934", x"B00008", x"010000", x"B00004", x"010000",
114     x"B00005", x"0100B3", x"B00006", x"010006", x"B00007",
115     x"010000", x"B00400", x"038000", x"B00025", x"03FFFF",
116     x"B00038", x"010001", x"B00012", x"010004", x"B0001A",
117     x"010008", x"B0001B", x"010020", x"B0001C", x"01003F",
118     x"B0040E", x"010100", x"B0001D", x"010200", x"B0001E",
119     x"010400", x"B0001F", x"010800", x"B00020", x"011000",
120     x"B00021", x"012000", x"B00022", x"024000", x"B00023",
121     x"028000", x"B00024", x"01FFFF", x"B00013", x"0103FF",
122     x"B0002A", x"010FFF", x"B00029", x"010400", x"B0002D",
123     x"010100", x"B0003A", x"280000", x"000000", x"000000",
124     x"000000", x"000000", x"000000", x"000000", x"000000",
125     x"000000", x"000000", x"000000", x"000000", x"000000",
126     x"000000", x"00ABCD");
127  
128  signal daddra: std_logic_vector(8 downto 0);
129  signal daddrb: std_logic_vector(8 downto 0);
130  
131  begin
132     aresroms: process (clk)
133     begin
134        if (clk'event and clk = '1') then
135           if (wea = '1') then
136              RAM(conv_integer(addra)) <= dina;
137           end if;
138           daddra <= addra;
139           daddrb <= addrb;
140        end if; -- clk 
141     end process;
142  
143     douta <= RAM(conv_integer(daddra));
144     doutb <= RAM(conv_integer(daddrb));
145  end;