// ROM module of Deep Learning on FPGA // by Toshio Iwata at digitalfilter.com 2019/08/24 // //Remez Algorithm LPF //Sampling Frequency = 44100.0 //cutoff1 = 4000.0000000 //cutoff2 = 5000.0000000 //Tap Count = 100 //attenuate = -70.00 //ripple factor = 0.1000000 //Quantized by 16 [bits] module Rom (CLK, ADDR, DATA); input CLK; input[7:0] ADDR; output [15:0] DATA; (*rom_style = "block" *) reg [15:0] romdata; always @(posedge CLK) begin case(ADDR) 0 : romdata <= 16'b1111111111100000; 1 : romdata <= 16'b1111111111110100; 2 : romdata <= 16'b0000000000000010; 3 : romdata <= 16'b0000000000100001; 4 : romdata <= 16'b0000000001001001; 5 : romdata <= 16'b0000000001110000; 6 : romdata <= 16'b0000000010001000; 7 : romdata <= 16'b0000000010000101; 8 : romdata <= 16'b0000000001100001; 9 : romdata <= 16'b0000000000100001; 10 : romdata <= 16'b1111111111011000; 11 : romdata <= 16'b1111111110011101; 12 : romdata <= 16'b1111111110000110; 13 : romdata <= 16'b1111111110100000; 14 : romdata <= 16'b1111111111100110; 15 : romdata <= 16'b0000000001000001; 16 : romdata <= 16'b0000000010010000; 17 : romdata <= 16'b0000000010110000; 18 : romdata <= 16'b0000000010001101; 19 : romdata <= 16'b0000000000101100; 20 : romdata <= 16'b1111111110101011; 21 : romdata <= 16'b1111111100111001; 22 : romdata <= 16'b1111111100001000; 23 : romdata <= 16'b1111111100110101; 24 : romdata <= 16'b1111111110111011; 25 : romdata <= 16'b0000000001110000; 26 : romdata <= 16'b0000000100010100; 27 : romdata <= 16'b0000000101011110; 28 : romdata <= 16'b0000000100100101; 29 : romdata <= 16'b0000000001101010; 30 : romdata <= 16'b1111111101101000; 31 : romdata <= 16'b1111111001111011; 32 : romdata <= 16'b1111111000001000; 33 : romdata <= 16'b1111111001010010; 34 : romdata <= 16'b1111111101011011; 35 : romdata <= 16'b0000000011010111; 36 : romdata <= 16'b0000001001000001; 37 : romdata <= 16'b0000001011111111; 38 : romdata <= 16'b0000001010100000; 39 : romdata <= 16'b0000000100010000; 40 : romdata <= 16'b1111111010101100; 41 : romdata <= 16'b1111110000111011; 42 : romdata <= 16'b1111101010111011; 43 : romdata <= 16'b1111101100010101; 44 : romdata <= 16'b1111110111010000; 45 : romdata <= 16'b0000001011010100; 46 : romdata <= 16'b0000100101100101; 47 : romdata <= 16'b0001000000111110; 48 : romdata <= 16'b0001010111101000; 49 : romdata <= 16'b0001100100011101; 50 : romdata <= 16'b0001100100011101; 51 : romdata <= 16'b0001010111101000; 52 : romdata <= 16'b0001000000111110; 53 : romdata <= 16'b0000100101100101; 54 : romdata <= 16'b0000001011010100; 55 : romdata <= 16'b1111110111010000; 56 : romdata <= 16'b1111101100010101; 57 : romdata <= 16'b1111101010111011; 58 : romdata <= 16'b1111110000111011; 59 : romdata <= 16'b1111111010101100; 60 : romdata <= 16'b0000000100010000; 61 : romdata <= 16'b0000001010100000; 62 : romdata <= 16'b0000001011111111; 63 : romdata <= 16'b0000001001000001; 64 : romdata <= 16'b0000000011010111; 65 : romdata <= 16'b1111111101011011; 66 : romdata <= 16'b1111111001010010; 67 : romdata <= 16'b1111111000001000; 68 : romdata <= 16'b1111111001111011; 69 : romdata <= 16'b1111111101101000; 70 : romdata <= 16'b0000000001101010; 71 : romdata <= 16'b0000000100100101; 72 : romdata <= 16'b0000000101011110; 73 : romdata <= 16'b0000000100010100; 74 : romdata <= 16'b0000000001110000; 75 : romdata <= 16'b1111111110111011; 76 : romdata <= 16'b1111111100110101; 77 : romdata <= 16'b1111111100001000; 78 : romdata <= 16'b1111111100111001; 79 : romdata <= 16'b1111111110101011; 80 : romdata <= 16'b0000000000101100; 81 : romdata <= 16'b0000000010001101; 82 : romdata <= 16'b0000000010110000; 83 : romdata <= 16'b0000000010010000; 84 : romdata <= 16'b0000000001000001; 85 : romdata <= 16'b1111111111100110; 86 : romdata <= 16'b1111111110100000; 87 : romdata <= 16'b1111111110000110; 88 : romdata <= 16'b1111111110011101; 89 : romdata <= 16'b1111111111011000; 90 : romdata <= 16'b0000000000100001; 91 : romdata <= 16'b0000000001100001; 92 : romdata <= 16'b0000000010000101; 93 : romdata <= 16'b0000000010001000; 94 : romdata <= 16'b0000000001110000; 95 : romdata <= 16'b0000000001001001; 96 : romdata <= 16'b0000000000100001; 97 : romdata <= 16'b0000000000000010; 98 : romdata <= 16'b1111111111110100; 99 : romdata <= 16'b1111111111100000; 100 : romdata <= 16'b0000000000000000; 101 : romdata <= 16'b0000000000000000; 102 : romdata <= 16'b0000000000000000; 103 : romdata <= 16'b0000000000000000; 104 : romdata <= 16'b0000000000000000; 105 : romdata <= 16'b0000000000000000; 106 : romdata <= 16'b0000000000000000; 107 : romdata <= 16'b0000000000000000; 108 : romdata <= 16'b0000000000000000; 109 : romdata <= 16'b0000000000000000; 110 : romdata <= 16'b0000000000000000; 111 : romdata <= 16'b0000000000000000; 112 : romdata <= 16'b0000000000000000; 113 : romdata <= 16'b0000000000000000; 114 : romdata <= 16'b0000000000000000; 115 : romdata <= 16'b0000000000000000; 116 : romdata <= 16'b0000000000000000; 117 : romdata <= 16'b0000000000000000; 118 : romdata <= 16'b0000000000000000; 119 : romdata <= 16'b0000000000000000; 120 : romdata <= 16'b0000000000000000; 121 : romdata <= 16'b0000000000000000; 122 : romdata <= 16'b0000000000000000; 123 : romdata <= 16'b0000000000000000; 124 : romdata <= 16'b0000000000000000; 125 : romdata <= 16'b0000000000000000; 126 : romdata <= 16'b0000000000000000; 127 : romdata <= 16'b0000000000000000; 128 : romdata <= 16'b0000000000000000; 129 : romdata <= 16'b0000000000000000; 130 : romdata <= 16'b0000000000000000; 131 : romdata <= 16'b0000000000000000; 132 : romdata <= 16'b0000000000000000; 133 : romdata <= 16'b0000000000000000; 134 : romdata <= 16'b0000000000000000; 135 : romdata <= 16'b0000000000000000; 136 : romdata <= 16'b0000000000000000; 137 : romdata <= 16'b0000000000000000; 138 : romdata <= 16'b0000000000000000; 139 : romdata <= 16'b0000000000000000; 140 : romdata <= 16'b0000000000000000; 141 : romdata <= 16'b0000000000000000; 142 : romdata <= 16'b0000000000000000; 143 : romdata <= 16'b0000000000000000; 144 : romdata <= 16'b0000000000000000; 145 : romdata <= 16'b0000000000000000; 146 : romdata <= 16'b0000000000000000; 147 : romdata <= 16'b0000000000000000; 148 : romdata <= 16'b0000000000000000; 149 : romdata <= 16'b0000000000000000; 150 : romdata <= 16'b0000000000000000; 151 : romdata <= 16'b0000000000000000; 152 : romdata <= 16'b0000000000000000; 153 : romdata <= 16'b0000000000000000; 154 : romdata <= 16'b0000000000000000; 155 : romdata <= 16'b0000000000000000; 156 : romdata <= 16'b0000000000000000; 157 : romdata <= 16'b0000000000000000; 158 : romdata <= 16'b0000000000000000; 159 : romdata <= 16'b0000000000000000; 160 : romdata <= 16'b0000000000000000; 161 : romdata <= 16'b0000000000000000; 162 : romdata <= 16'b0000000000000000; 163 : romdata <= 16'b0000000000000000; 164 : romdata <= 16'b0000000000000000; 165 : romdata <= 16'b0000000000000000; 166 : romdata <= 16'b0000000000000000; 167 : romdata <= 16'b0000000000000000; 168 : romdata <= 16'b0000000000000000; 169 : romdata <= 16'b0000000000000000; 170 : romdata <= 16'b0000000000000000; 171 : romdata <= 16'b0000000000000000; 172 : romdata <= 16'b0000000000000000; 173 : romdata <= 16'b0000000000000000; 174 : romdata <= 16'b0000000000000000; 175 : romdata <= 16'b0000000000000000; 176 : romdata <= 16'b0000000000000000; 177 : romdata <= 16'b0000000000000000; 178 : romdata <= 16'b0000000000000000; 179 : romdata <= 16'b0000000000000000; 180 : romdata <= 16'b0000000000000000; 181 : romdata <= 16'b0000000000000000; 182 : romdata <= 16'b0000000000000000; 183 : romdata <= 16'b0000000000000000; 184 : romdata <= 16'b0000000000000000; 185 : romdata <= 16'b0000000000000000; 186 : romdata <= 16'b0000000000000000; 187 : romdata <= 16'b0000000000000000; 188 : romdata <= 16'b0000000000000000; 189 : romdata <= 16'b0000000000000000; 190 : romdata <= 16'b0000000000000000; 191 : romdata <= 16'b0000000000000000; 192 : romdata <= 16'b0000000000000000; 193 : romdata <= 16'b0000000000000000; 194 : romdata <= 16'b0000000000000000; 195 : romdata <= 16'b0000000000000000; 196 : romdata <= 16'b0000000000000000; 197 : romdata <= 16'b0000000000000000; 198 : romdata <= 16'b0000000000000000; 199 : romdata <= 16'b0000000000000000; 200 : romdata <= 16'b0000000000000000; 201 : romdata <= 16'b0000000000000000; 202 : romdata <= 16'b0000000000000000; 203 : romdata <= 16'b0000000000000000; 204 : romdata <= 16'b0000000000000000; 205 : romdata <= 16'b0000000000000000; 206 : romdata <= 16'b0000000000000000; 207 : romdata <= 16'b0000000000000000; 208 : romdata <= 16'b0000000000000000; 209 : romdata <= 16'b0000000000000000; 210 : romdata <= 16'b0000000000000000; 211 : romdata <= 16'b0000000000000000; 212 : romdata <= 16'b0000000000000000; 213 : romdata <= 16'b0000000000000000; 214 : romdata <= 16'b0000000000000000; 215 : romdata <= 16'b0000000000000000; 216 : romdata <= 16'b0000000000000000; 217 : romdata <= 16'b0000000000000000; 218 : romdata <= 16'b0000000000000000; 219 : romdata <= 16'b0000000000000000; 220 : romdata <= 16'b0000000000000000; 221 : romdata <= 16'b0000000000000000; 222 : romdata <= 16'b0000000000000000; 223 : romdata <= 16'b0000000000000000; 224 : romdata <= 16'b0000000000000000; 225 : romdata <= 16'b0000000000000000; 226 : romdata <= 16'b0000000000000000; 227 : romdata <= 16'b0000000000000000; 228 : romdata <= 16'b0000000000000000; 229 : romdata <= 16'b0000000000000000; 230 : romdata <= 16'b0000000000000000; 231 : romdata <= 16'b0000000000000000; 232 : romdata <= 16'b0000000000000000; 233 : romdata <= 16'b0000000000000000; 234 : romdata <= 16'b0000000000000000; 235 : romdata <= 16'b0000000000000000; 236 : romdata <= 16'b0000000000000000; 237 : romdata <= 16'b0000000000000000; 238 : romdata <= 16'b0000000000000000; 239 : romdata <= 16'b0000000000000000; 240 : romdata <= 16'b0000000000000000; 241 : romdata <= 16'b0000000000000000; 242 : romdata <= 16'b0000000000000000; 243 : romdata <= 16'b0000000000000000; 244 : romdata <= 16'b0000000000000000; 245 : romdata <= 16'b0000000000000000; 246 : romdata <= 16'b0000000000000000; 247 : romdata <= 16'b0000000000000000; 248 : romdata <= 16'b0000000000000000; 249 : romdata <= 16'b0000000000000000; 250 : romdata <= 16'b0000000000000000; 251 : romdata <= 16'b0000000000000000; 252 : romdata <= 16'b0000000000000000; 253 : romdata <= 16'b0000000000000000; 254 : romdata <= 16'b0000000000000000; 255 : romdata <= 16'b0000000000000000; endcase end assign DATA = romdata; endmodule