/ 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;