From 704cd3d4cb4798408f25624ef22f4368fef74156 Mon Sep 17 00:00:00 2001 From: Niels Moseley Date: Mon, 23 Oct 2017 02:15:45 +0200 Subject: [PATCH] non-working top level --- verilog/controller/controller.v | 357 ++ verilog/controller/controller_tb.v | 64 + verilog/controller/ctrlrom.hex | 3995 +++++++++++++++++++++ verilog/controller/ctrlrom.v | 4018 ++++++++++++++++++++++ verilog/controller/genctrlrom.py | 117 + verilog/controller/run_tb.bat | 7 + verilog/filter/filter.v | 2 +- verilog/pwmdac/pwmdac.v | 6 +- verilog/source/source.v | 23 +- verilog/source/source_tb.v | 2 + verilog/speech256_top/run_tb.bat | 6 + verilog/speech256_top/speech256_top.v | 102 + verilog/speech256_top/speech256_top_tb.v | 53 + 13 files changed, 8744 insertions(+), 8 deletions(-) create mode 100644 verilog/controller/controller.v create mode 100644 verilog/controller/controller_tb.v create mode 100644 verilog/controller/ctrlrom.hex create mode 100644 verilog/controller/ctrlrom.v create mode 100644 verilog/controller/genctrlrom.py create mode 100644 verilog/controller/run_tb.bat create mode 100644 verilog/speech256_top/run_tb.bat create mode 100644 verilog/speech256_top/speech256_top.v create mode 100644 verilog/speech256_top/speech256_top_tb.v diff --git a/verilog/controller/controller.v b/verilog/controller/controller.v new file mode 100644 index 0000000..fb4be75 --- /dev/null +++ b/verilog/controller/controller.v @@ -0,0 +1,357 @@ +// +// Speecht256 top level +// +// Niels Moseley - Moseley Instruments 2017 +// http://www.moseleyinstruments.com +// +// + +module CONTROLLER ( + clk, // global Speech256 clock + rst_an, + ldq, // load request, is high when new allophone can be loaded + data_in, // allophone input + data_stb, // allophone strobe input + period_out, // pitch period output + amp_out, // amplitude output + coeff_out, // 8-bit coefficient data out + coeff_stb, // '1' when coeff_out holds new coefficient data + period_done_in // should be '1' when the source finished a period + ); + + //////////// CLOCK ////////// + input clk; + + //////////// RESET, ACTIVE LOW ////////// + input rst_an; + + //////////// OUTPUTS ////////// + output reg ldq; + output reg coeff_stb; + output reg signed [7:0] coeff_out; + output reg [15:0] amp_out; + output reg [7:0] period_out; + //output reg [7:0] dur_out; + + //////////// INPUTS ////////// + input [5:0] data_in; + input data_stb; + input source_stb_in; + input period_done_in; // used for duration counting + + // internal counter and data registers + wire [7:0] rom_data; + reg [11:0] rom_addr; + reg [11:0] last_rom_addr; + reg [2:0] rom_addr_sel; + reg rom_en; + + reg [3:0] jmpmsb; + reg jmpmsb_load; + + reg [5:0] cur_allo; + reg [3:0] cur_cmd; + + reg [3:0] cur_state; + reg [3:0] next_state; + + reg [5:0] data_in_buf; + + reg amp1_load, amp2_load; + reg period_load; + reg dur_load; + reg allo_load; + reg load_cur_cmd; + reg serve_pitch_data; + reg set_ldq, reset_ldq; + reg dur_cnt_clear; + wire serve_next_allo_data; + + reg [15:0] amp_tmp; + reg [7:0] period_tmp; + reg [7:0] dur_tmp; + reg [7:0] duration; + reg [7:0] dur_cnt; + + reg [2:0] coeff_cnt; + reg [1:0] coeff_cnt_update; + + wire done; + + CTRLROM u_ctrlrom ( + .clk (clk), + .data (rom_data), + .addr (rom_addr), + .en (rom_en) + ); + + parameter ROM_ADDR_ZERO = 3'b000, // zero the ROM address + ROM_ADDR_INC = 3'b001, // increment the ROM address + ROM_ADDR_JMP = 3'b010, // jump to code + ROM_ADDR_ALLO = 3'b011, // read allophone jump address + ROM_ADDR_NOP = 3'b100; + + parameter COEFF_CNT_ZERO = 2'b00, // zero coefficient counter + COEFF_CNT_NOP = 2'b01, // do nothing + COEFF_CNT_INC = 2'b10; // increment coefficient counter + + always @(posedge clk, negedge rst_an) + begin + if (rst_an == 0) + begin + // reset values + amp_out <= 0; + period_out <= 8'd1; + rom_en <= 1; + rom_addr <= 0; + last_rom_addr <= 0; + cur_state <= 0; + cur_allo <= 0; + cur_cmd <= 0; + coeff_stb <= 0; + coeff_out <= 0; + coeff_cnt <= 0; + jmpmsb <= 0; + ldq <= 0; + dur_cnt <= 0; + duration <= 0; + end + else + begin + // clocked process + cur_state <= next_state; + + case (coeff_cnt_update) + COEFF_CNT_ZERO: + coeff_cnt <= 0; + COEFF_CNT_NOP: + coeff_cnt <= coeff_cnt; + COEFF_CNT_INC: + coeff_cnt <= coeff_cnt + 1; + default: + coeff_cnt <= 0; + endcase + + if (jmpmsb_load) + jmpmsb <= rom_data[3:0]; + + if (amp1_load) + amp_tmp[7:0] <= rom_data; + + if (amp2_load) + amp_tmp[15:8] <= rom_data; + + if (period_load) + period_tmp <= rom_data; + + if (dur_load) + dur_tmp <= rom_data; + + if (allo_load) + cur_allo <= data_in; + + if (load_cur_cmd) + cur_cmd <= rom_data[3:0]; + + if (serve_pitch_data) + begin + duration <= dur_tmp; + amp_out <= amp_tmp; + period_out <= period_tmp; + end + + if (set_ldq == 1) + ldq <= 1; + else if (reset_ldq == 1) + ldq <= 0; + + if ((period_done_in == 1) && (!serve_next_allo_data)) + begin + dur_cnt <= dur_cnt + 1; + end + + if (dur_cnt_clear) + begin + dur_cnt <= 0; + end + + last_rom_addr <= rom_addr; + end + end + + assign serve_next_allo_data = (dur_cnt == duration) ? 1 : 0; + + parameter S_IDLE = 4'd0, + S_JMPADDR1 = 4'd1, + S_JMPADDR2 = 4'd2, + S_JMPADDR3 = 4'd3, + S_CMDLOAD = 4'd4, + S_CMDDECODE= 4'd5, + S_LOADAMP1 = 4'd6, + S_LOADAMP2 = 4'd7, + S_LOADDUR = 4'd8, + S_LOADPERIOD= 4'd9, + S_SERVEGATE = 4'd10, + S_LOADCOEF1 = 4'd11, + S_LOADCOEF2 = 4'd12; + + always @(*) + begin + // rom address multiplexer + case (rom_addr_sel) + ROM_ADDR_ZERO: + rom_addr <= 0; + ROM_ADDR_INC: + rom_addr <= last_rom_addr + 1; + ROM_ADDR_JMP: + rom_addr <= {jmpmsb, rom_data[7:0]}; + ROM_ADDR_ALLO: + rom_addr <= {5'b00000, cur_allo, 1'b0}; + ROM_ADDR_NOP: + rom_addr <= last_rom_addr; + default: + rom_addr <= 0; + endcase + end + + always @(*) + begin + // --------------------------------------------- + // -------- MAIN FINITE STATE MACHINE ---------- + // --------------------------------------------- + + // FSM defaults: + rom_addr_sel <= ROM_ADDR_INC; + coeff_cnt_update <= COEFF_CNT_NOP; + + next_state <= cur_state; + + coeff_stb <= 0; + jmpmsb_load <= 0; + amp1_load <= 0; + amp2_load <= 0; + period_load <= 0; + dur_load <= 0; + allo_load <= 0; + load_cur_cmd <= 0; + set_ldq <= 0; + reset_ldq <= 0; + serve_pitch_data <= 0; + dur_cnt_clear <= 0; + + case (cur_state) + S_IDLE: + begin + set_ldq <= 1; + if (serve_next_allo_data == 1) + begin + // we've run out of allophone data .. + end + if (data_stb == 1) + begin + allo_load <= 1; + next_state <= S_JMPADDR1; + end + rom_addr_sel <= ROM_ADDR_ZERO; + end + S_JMPADDR1: + begin + // get MSB of allophone address code + rom_addr_sel <= ROM_ADDR_ALLO; + next_state <= S_JMPADDR2; + end + S_JMPADDR2: + begin + // get LSB of allophone address code + jmpmsb_load <= 1; + rom_addr_sel <= ROM_ADDR_INC; + next_state <= S_CMDLOAD; + end + S_JMPADDR3: + begin + next_state <= S_CMDLOAD; + end + S_CMDLOAD: + begin + // perform jmp + rom_addr_sel <= ROM_ADDR_JMP; + next_state <= S_CMDDECODE; + reset_ldq <= 1; + end + S_CMDDECODE: + begin + // current command and + // terminate sequencer if + // CMD == 0xF + if (rom_data == 4'hF) + next_state <= S_IDLE; // end of command + else + begin + rom_addr_sel <= ROM_ADDR_INC; + next_state <= S_LOADAMP1; + end + load_cur_cmd <= 1; + //cur_cmd <= rom_data; + end + S_LOADAMP1: // load 16-bit AMP + begin + amp1_load <= 1; + rom_addr_sel <= ROM_ADDR_INC; + next_state <= S_LOADAMP2; + end + S_LOADAMP2: + begin + amp2_load <= 1; + rom_addr_sel <= ROM_ADDR_INC; + next_state <= S_LOADDUR; + end + S_LOADDUR: + begin + dur_load <= 1; + rom_addr_sel <= ROM_ADDR_INC; + next_state <= S_LOADPERIOD; + end + S_LOADPERIOD: + begin + period_load <= 1; + coeff_cnt_update <= COEFF_CNT_ZERO; + rom_addr_sel <= ROM_ADDR_INC; + next_state <= S_SERVEGATE; + end + S_SERVEGATE: + begin + rom_addr_sel <= ROM_ADDR_NOP; + if (serve_next_allo_data == 1) + begin + serve_pitch_data <= 1; + dur_cnt_clear <= 1; + next_state <= (cur_cmd == 4'd2) ? S_LOADCOEF1 : S_CMDDECODE; + end + end + S_LOADCOEF1: + // send F coefficient + begin + coeff_stb <= 1; + coeff_out <= rom_data; + coeff_cnt_update <= COEFF_CNT_INC; + rom_addr_sel <= ROM_ADDR_INC; + next_state <= S_LOADCOEF2; + end + S_LOADCOEF2: + // send B coefficient + begin + coeff_stb <= 1; + coeff_out <= rom_data; + if (coeff_cnt == 3'd6) + next_state <= S_CMDDECODE; // load next section + else + next_state <= S_LOADCOEF1; // next command + + rom_addr_sel <= ROM_ADDR_INC; + end + default: + next_state <= S_IDLE; + endcase + end + +endmodule diff --git a/verilog/controller/controller_tb.v b/verilog/controller/controller_tb.v new file mode 100644 index 0000000..29084cc --- /dev/null +++ b/verilog/controller/controller_tb.v @@ -0,0 +1,64 @@ +// +// PWMDAC testbench +// +// Niels Moseley - Moseley Instruments 2017 +// http://www.moseleyinstruments.com +// + +module CONTROLLER_TB; + reg clk, rst_an; + + reg [5:0] data_in; + reg data_stb, serve_next; + reg period_done; + + wire ldq; + wire signed [7:0] coeff; + wire coeff_load; + wire [7:0] period; + wire [15:0] amp; + wire [7:0] dur; + + CONTROLLER u_controller ( + .clk (clk), + .rst_an (rst_an), + .ldq (ldq), + .data_in (data_in), + .data_stb (data_stb), + .period_out (period), + .amp_out (amp), + .coeff_out (coeff), + .coeff_stb (coeff_load), + .period_done_in (period_done) + ); + + initial + begin + $dumpfile ("controller.vcd"); + $dumpvars; + clk = 0; + rst_an = 0; + data_in = 6; + data_stb = 0; + period_done = 0; + #5 + rst_an = 1; + #5 + // load allophone + data_stb = 1; + #10 + data_stb = 0; + serve_next = 1; + #300000 + $finish; + end + + always @(posedge clk) + begin + ; + end + + always + #5 clk = !clk; + +endmodule diff --git a/verilog/controller/ctrlrom.hex b/verilog/controller/ctrlrom.hex new file mode 100644 index 0000000..82e3c87 --- /dev/null +++ b/verilog/controller/ctrlrom.hex @@ -0,0 +1,3995 @@ +00 +7E +00 +90 +00 +A2 +00 +B4 +00 +C6 +00 +D8 +01 +77 +02 +16 +02 +28 +02 +5C +02 +90 +02 +C4 +02 +F8 +03 +0A +03 +4F +03 +9E +03 +B0 +03 +DD +04 +11 +04 +34 +04 +9B +05 +0C +05 +2F +05 +63 +05 +75 +05 +9D +06 +04 +06 +16 +06 +4A +06 +6D +06 +7F +06 +91 +06 +C5 +07 +1B +07 +4F +07 +83 +07 +B7 +07 +EB +08 +30 +08 +53 +08 +87 +08 +99 +08 +CD +09 +12 +09 +46 +09 +8B +09 +BF +09 +F3 +0A +A1 +0A +E6 +0B +2B +0B +5F +0B +F9 +0C +A4 +0C +E7 +0D +0A +0D +1C +0D +83 +0D +A6 +0E +28 +0E +C2 +0F +33 +0F +67 +02 +00 +00 +01 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +0F +02 +00 +00 +04 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +0F +02 +00 +00 +07 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +0F +02 +00 +00 +0F +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +0F +02 +00 +00 +1F +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +0F +02 +50 +00 +03 +5B +A0 +B8 +F8 +40 +24 +00 +60 +60 +60 +60 +60 +00 +02 +30 +00 +03 +5B +A0 +B0 +F8 +40 +24 +00 +60 +60 +60 +60 +60 +00 +02 +14 +00 +01 +5B +A0 +A8 +F8 +40 +24 +00 +60 +60 +60 +60 +60 +00 +02 +20 +00 +03 +5B +A0 +B0 +F8 +40 +24 +00 +60 +60 +60 +60 +60 +00 +01 +1C +00 +01 +5B +02 +28 +00 +04 +5B +A0 +B8 +F8 +40 +24 +00 +60 +60 +60 +60 +60 +00 +02 +70 +00 +02 +5B +A8 +C0 +F8 +40 +24 +00 +60 +60 +60 +60 +60 +00 +02 +A0 +00 +04 +5B +A8 +D0 +F8 +40 +24 +00 +60 +60 +60 +60 +60 +00 +02 +A0 +00 +02 +5B +A8 +E0 +F8 +40 +24 +00 +60 +60 +60 +60 +60 +00 +02 +40 +00 +09 +5B +A0 +E8 +F8 +40 +24 +00 +60 +60 +60 +60 +60 +00 +0F +02 +C0 +00 +01 +5B +B0 +C8 +F8 +18 +3C +00 +70 +70 +60 +50 +44 +00 +02 +A0 +00 +01 +5B +C8 +B0 +F8 +18 +3C +00 +70 +70 +60 +50 +44 +00 +01 +C0 +00 +02 +5B +02 +A0 +00 +02 +5B +B0 +C8 +F8 +18 +3C +00 +70 +70 +60 +50 +44 +00 +02 +80 +00 +02 +5B +C8 +F8 +B8 +18 +3C +00 +70 +70 +60 +50 +44 +00 +02 +A0 +00 +02 +5B +B0 +D0 +F8 +18 +3C +00 +70 +70 +60 +50 +44 +00 +02 +E0 +00 +03 +5B +B0 +F8 +E0 +18 +3C +00 +70 +70 +60 +50 +44 +00 +02 +C0 +00 +01 +5B +A8 +E0 +F8 +18 +3C +00 +70 +70 +60 +50 +44 +00 +02 +A0 +00 +03 +5B +A0 +E8 +00 +18 +3C +00 +70 +70 +60 +50 +44 +00 +02 +40 +00 +02 +5B +A0 +F0 +00 +18 +3C +00 +70 +70 +60 +50 +44 +00 +0F +02 +80 +01 +06 +5B +00 +28 +40 +F8 +E8 +AA +50 +50 +50 +10 +58 +64 +0F +02 +00 +00 +04 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +02 +0A +00 +03 +00 +00 +00 +00 +38 +FC +CB +00 +00 +00 +40 +04 +68 +02 +08 +00 +05 +00 +00 +00 +00 +20 +20 +C5 +00 +00 +00 +18 +40 +62 +0F +02 +00 +00 +0D +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +02 +05 +00 +04 +00 +00 +00 +00 +28 +F4 +BF +00 +00 +00 +40 +2C +3B +02 +08 +00 +06 +00 +00 +00 +00 +28 +F8 +CF +00 +00 +00 +50 +44 +3A +0F +02 +14 +00 +04 +00 +00 +00 +00 +28 +18 +FA +00 +00 +00 +20 +42 +30 +02 +70 +00 +04 +5B +18 +30 +38 +00 +00 +E6 +60 +50 +20 +10 +60 +38 +02 +50 +00 +04 +5B +18 +28 +40 +FC +E8 +DD +50 +40 +30 +68 +52 +16 +0F +02 +0E +00 +07 +5B +00 +18 +38 +FC +E0 +A1 +30 +20 +40 +60 +2A +54 +02 +0E +00 +03 +5B +08 +20 +20 +FC +E8 +A2 +30 +30 +10 +68 +0E +50 +02 +0E +00 +09 +5B +08 +20 +20 +FC +E0 +9B +30 +40 +10 +68 +1E +5B +0F +02 +80 +01 +05 +5B +00 +10 +30 +E8 +34 +A0 +50 +20 +50 +60 +1E +6E +0F +02 +00 +00 +05 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +02 +28 +00 +03 +00 +00 +00 +00 +34 +1C +F4 +00 +00 +00 +28 +4E +21 +02 +14 +00 +04 +00 +00 +00 +00 +30 +1C +EA +00 +00 +00 +20 +44 +53 +02 +14 +00 +03 +00 +00 +00 +00 +24 +1C +E7 +00 +00 +00 +18 +46 +5A +0F +02 +07 +00 +05 +5B +98 +C0 +E0 +0C +20 +32 +60 +60 +50 +40 +3C +2B +02 +14 +00 +03 +5B +98 +C0 +E8 +0C +20 +32 +60 +60 +50 +40 +3C +2B +01 +30 +00 +01 +5B +02 +A0 +00 +02 +5B +A0 +C0 +F0 +0C +20 +32 +60 +60 +50 +40 +3C +2B +02 +70 +00 +01 +5B +A0 +B8 +F0 +0C +20 +32 +60 +60 +50 +40 +3C +2B +01 +80 +00 +02 +5B +0F +02 +80 +01 +06 +5B +F0 +18 +28 +D0 +28 +A8 +50 +20 +60 +60 +18 +61 +0F +02 +28 +00 +06 +5B +F0 +C0 +E0 +00 +20 +00 +50 +30 +20 +10 +44 +00 +01 +30 +00 +05 +5B +02 +38 +00 +05 +5B +F0 +E0 +C8 +00 +20 +00 +50 +30 +20 +10 +44 +00 +01 +50 +00 +04 +5B +0F +02 +00 +00 +06 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +02 +10 +00 +01 +00 +00 +00 +00 +40 +10 +DF +00 +00 +00 +48 +40 +3F +02 +0A +00 +05 +00 +00 +00 +00 +24 +28 +E8 +00 +00 +00 +18 +40 +3F +0F +02 +28 +00 +0C +5B +08 +18 +38 +EC +D4 +CB +30 +30 +40 +30 +2E +20 +02 +A0 +00 +03 +5B +00 +18 +38 +F4 +DC +A1 +60 +50 +50 +08 +5E +5C +0F +02 +80 +01 +03 +5B +08 +28 +38 +04 +F0 +A1 +00 +40 +40 +60 +66 +5A +02 +80 +01 +03 +5B +28 +38 +08 +04 +F4 +A4 +40 +40 +00 +50 +62 +57 +02 +80 +01 +02 +5B +08 +28 +38 +04 +F4 +9A +10 +50 +40 +48 +64 +62 +02 +80 +01 +03 +5B +08 +28 +38 +04 +F8 +96 +30 +50 +40 +38 +5C +66 +02 +80 +01 +04 +5B +08 +28 +38 +FC +F8 +92 +50 +50 +50 +20 +60 +6E +02 +50 +00 +04 +5B +08 +28 +38 +F8 +F4 +90 +40 +40 +40 +60 +0C +71 +0F +02 +C0 +00 +03 +5B +A0 +E8 +00 +04 +28 +00 +70 +60 +20 +30 +52 +00 +02 +C0 +00 +01 +5B +A0 +F0 +00 +04 +28 +00 +70 +60 +20 +30 +52 +00 +01 +A0 +00 +03 +5B +02 +70 +00 +01 +5B +98 +F8 +F8 +04 +28 +00 +70 +60 +20 +30 +52 +00 +02 +70 +00 +05 +5B +98 +F8 +00 +04 +28 +00 +70 +60 +20 +30 +52 +00 +01 +70 +00 +01 +5B +02 +28 +00 +06 +5B +90 +F8 +00 +04 +28 +00 +70 +60 +20 +30 +52 +00 +02 +1C +00 +02 +5B +90 +F8 +F8 +04 +28 +00 +70 +60 +20 +30 +52 +00 +0F +02 +A0 +00 +03 +5B +90 +E0 +00 +10 +1C +3A +70 +70 +60 +10 +56 +49 +02 +80 +00 +02 +5B +98 +E0 +00 +10 +1C +3A +70 +70 +60 +10 +56 +49 +0F +02 +40 +01 +03 +5B +98 +F0 +D8 +1C +24 +39 +60 +60 +60 +58 +4E +2C +02 +40 +01 +02 +5B +D0 +F0 +A0 +1C +24 +39 +60 +60 +60 +58 +4E +2C +02 +00 +01 +02 +5B +F0 +C8 +A0 +1C +24 +39 +60 +60 +60 +58 +4E +2C +0F +02 +00 +01 +08 +5B +20 +18 +40 +F8 +C0 +B2 +50 +20 +30 +60 +60 +5A +0F +02 +40 +01 +03 +5B +C8 +B8 +F8 +14 +1C +44 +60 +60 +60 +28 +36 +41 +01 +40 +01 +02 +5B +02 +40 +01 +02 +5B +B8 +C8 +F8 +14 +1C +44 +60 +60 +60 +28 +36 +41 +0F +02 +70 +00 +03 +5B +10 +28 +30 +08 +F0 +8E +50 +40 +30 +30 +64 +70 +02 +70 +00 +02 +5B +10 +28 +38 +04 +F4 +8C +50 +50 +30 +28 +58 +76 +02 +70 +00 +04 +5B +08 +28 +30 +08 +F4 +90 +10 +40 +20 +40 +54 +70 +02 +70 +00 +01 +5B +10 +20 +38 +00 +F0 +95 +10 +50 +40 +38 +50 +69 +02 +C0 +01 +03 +5B +20 +28 +18 +00 +F0 +98 +40 +40 +10 +48 +60 +69 +02 +C0 +01 +01 +5B +18 +28 +20 +00 +F0 +9C +20 +40 +10 +48 +5C +68 +0F +02 +C0 +00 +09 +5B +F8 +20 +30 +F0 +DC +AE +40 +50 +50 +20 +4C +66 +0F +02 +07 +00 +06 +00 +00 +00 +00 +24 +08 +EB +00 +00 +00 +28 +4E +0C +02 +10 +00 +06 +00 +00 +00 +00 +34 +0C +F1 +00 +00 +00 +38 +3E +1A +02 +05 +00 +02 +00 +00 +00 +00 +20 +E8 +03 +00 +00 +00 +30 +F2 +3F +0F +02 +01 +00 +03 +5B +F8 +18 +40 +E4 +18 +88 +30 +40 +30 +20 +04 +76 +02 +C0 +00 +01 +5B +20 +18 +30 +F8 +E0 +98 +50 +10 +40 +78 +74 +6C +0F +02 +0A +00 +14 +00 +00 +00 +00 +30 +10 +E5 +00 +00 +00 +30 +24 +3B +0F +02 +A0 +00 +08 +5B +F8 +20 +28 +C0 +18 +A4 +70 +50 +50 +68 +06 +5E +0F +02 +A0 +00 +08 +5B +F0 +18 +20 +D8 +20 +9D +60 +60 +40 +60 +0C +61 +02 +C0 +00 +04 +5B +18 +20 +38 +F0 +D0 +A6 +50 +50 +30 +60 +66 +53 +02 +C0 +00 +07 +5B +18 +28 +40 +F0 +C8 +9D +70 +50 +40 +60 +5E +61 +0F +02 +70 +00 +08 +5B +B8 +D0 +F8 +0C +20 +00 +60 +60 +50 +20 +44 +00 +02 +40 +00 +05 +5B +B0 +C8 +F8 +0C +20 +00 +60 +60 +50 +20 +44 +00 +02 +28 +00 +04 +5B +B0 +C0 +F8 +0C +20 +00 +60 +60 +50 +20 +44 +00 +02 +20 +00 +04 +5B +A8 +C0 +00 +0C +20 +00 +60 +60 +50 +20 +44 +00 +02 +0A +00 +07 +5B +A0 +B8 +00 +0C +20 +00 +60 +60 +50 +20 +44 +00 +0F +02 +00 +00 +04 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +02 +0E +00 +03 +00 +00 +00 +00 +28 +14 +E7 +00 +00 +00 +20 +32 +23 +02 +80 +01 +03 +5B +18 +20 +40 +F8 +E4 +9D +50 +50 +30 +60 +72 +5D +0F +02 +00 +00 +08 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +02 +0E +00 +05 +00 +00 +00 +00 +30 +F4 +EA +00 +00 +00 +48 +42 +2A +02 +50 +00 +03 +5B +20 +30 +18 +F8 +E8 +9C +30 +50 +10 +68 +58 +68 +0F +02 +08 +00 +06 +5B +08 +28 +50 +F0 +C8 +A8 +30 +50 +40 +48 +68 +47 +02 +38 +00 +06 +5B +10 +28 +50 +F0 +D0 +DE +40 +40 +50 +40 +1A +3A +02 +50 +00 +02 +5B +F0 +18 +20 +D0 +2C +C7 +60 +40 +40 +68 +18 +25 +0F +02 +00 +00 +04 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +02 +08 +00 +03 +00 +00 +00 +00 +14 +FC +FB +00 +00 +00 +30 +F0 +41 +02 +E0 +00 +03 +5B +10 +20 +38 +F8 +F4 +A1 +40 +60 +30 +30 +5E +5C +0F +02 +04 +00 +06 +00 +00 +00 +00 +1C +0C +FB +00 +00 +00 +50 +0E +5C +02 +18 +00 +03 +00 +00 +00 +00 +24 +18 +FA +00 +00 +00 +18 +42 +56 +02 +18 +00 +12 +00 +00 +00 +00 +20 +18 +FC +00 +00 +00 +18 +4A +5B +02 +14 +00 +04 +00 +00 +00 +00 +24 +10 +F8 +00 +00 +00 +18 +2E +4C +0F +02 +50 +00 +07 +5B +C0 +E0 +F8 +14 +24 +00 +30 +40 +60 +58 +48 +00 +02 +20 +00 +0B +00 +00 +00 +00 +00 +20 +FE +00 +00 +00 +00 +42 +3F +0F +02 +0E +00 +02 +5B +08 +20 +38 +DC +BC +A4 +40 +30 +30 +48 +58 +54 +02 +18 +00 +03 +5B +D0 +10 +20 +BC +1C +A1 +60 +70 +30 +60 +08 +5D +02 +18 +00 +04 +5B +D0 +10 +18 +BC +20 +A3 +40 +60 +50 +60 +14 +5C +0F +02 +0E +00 +11 +00 +00 +00 +00 +28 +04 +E3 +00 +00 +00 +38 +28 +27 +0F +02 +00 +00 +12 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +02 +0E +00 +01 +00 +00 +00 +00 +34 +04 +DE +00 +00 +00 +30 +12 +56 +02 +0E +00 +02 +00 +00 +00 +00 +2C +F4 +DC +00 +00 +00 +28 +1E +49 +0F +02 +00 +00 +07 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +02 +28 +00 +01 +00 +00 +00 +00 +30 +0C +E2 +00 +00 +00 +38 +62 +37 +02 +07 +00 +01 +00 +00 +00 +00 +2C +10 +F9 +00 +00 +00 +20 +36 +44 +02 +14 +00 +09 +00 +00 +00 +00 +2C +0C +E7 +00 +00 +00 +28 +44 +1B +0F +02 +00 +01 +06 +5B +20 +40 +58 +00 +DC +A7 +50 +60 +50 +58 +54 +4D +02 +18 +00 +09 +00 +00 +00 +00 +44 +EC +21 +00 +00 +00 +58 +00 +30 +02 +40 +01 +04 +5B +20 +40 +48 +00 +DC +B9 +50 +50 +40 +40 +60 +37 +0F +02 +E0 +00 +05 +5B +D8 +B8 +F8 +04 +2C +55 +40 +40 +40 +58 +3C +5A +02 +80 +00 +03 +5B +F0 +B0 +D8 +04 +2C +55 +40 +40 +40 +58 +3C +5A +02 +70 +00 +06 +5B +B0 +F0 +D8 +04 +2C +55 +40 +40 +40 +58 +3C +5A +02 +50 +00 +08 +5B +F0 +B0 +D0 +04 +2C +55 +40 +40 +40 +58 +3C +5A +0F +02 +30 +00 +03 +5B +98 +C8 +08 +18 +28 +2E +60 +60 +40 +30 +44 +25 +02 +A0 +00 +03 +5B +A0 +C8 +08 +18 +28 +2E +60 +60 +40 +30 +44 +25 +02 +80 +00 +03 +5B +A0 +C0 +00 +18 +28 +2E +60 +60 +40 +30 +44 +25 +0F +02 +0A +00 +05 +5B +F8 +18 +28 +C0 +10 +A0 +20 +40 +30 +38 +F8 +5A +02 +0E +00 +05 +5B +08 +20 +38 +FC +B0 +9E +30 +60 +40 +08 +50 +5F +02 +14 +00 +06 +5B +00 +18 +20 +A8 +14 +93 +50 +60 +50 +70 +02 +72 +0F +02 +A0 +00 +03 +5B +A0 +E8 +F8 +00 +1C +42 +60 +60 +60 +10 +52 +59 +01 +A0 +00 +02 +5B +02 +70 +00 +02 +5B +A0 +E8 +F0 +00 +1C +42 +60 +60 +60 +10 +52 +59 +02 +A0 +00 +02 +5B +A0 +E0 +F0 +00 +1C +42 +60 +60 +60 +10 +52 +59 +02 +C0 +00 +02 +5B +A8 +E0 +F0 +00 +1C +42 +60 +60 +60 +10 +52 +59 +02 +A0 +00 +02 +5B +A8 +D8 +E8 +00 +1C +42 +60 +60 +60 +10 +52 +59 +01 +80 +00 +03 +5B +01 +70 +00 +01 +5B +02 +38 +00 +03 +5B +A8 +D0 +E0 +00 +1C +42 +60 +60 +60 +10 +52 +59 +02 +20 +00 +01 +5B +A0 +D0 +E0 +00 +1C +42 +60 +60 +60 +10 +52 +59 +02 +30 +00 +02 +5B +A8 +D0 +E8 +00 +1C +42 +60 +60 +60 +10 +52 +59 +01 +1C +00 +01 +5B +02 +14 +00 +03 +5B +A8 +D8 +E8 +00 +1C +42 +60 +60 +60 +10 +52 +59 +0F +02 +03 +00 +06 +00 +00 +00 +00 +20 +FC +D2 +00 +00 +00 +20 +1C +28 +02 +03 +00 +0B +00 +00 +00 +00 +24 +04 +B4 +00 +00 +00 +38 +18 +55 +02 +30 +00 +02 +5B +F8 +30 +20 +C4 +10 +A3 +40 +70 +20 +38 +FC +5D +02 +50 +00 +02 +5B +F8 +28 +28 +B0 +1C +A3 +60 +50 +50 +68 +06 +58 +0F +02 +70 +00 +03 +5B +10 +28 +30 +08 +F0 +8E +50 +40 +30 +30 +64 +70 +02 +70 +00 +02 +5B +10 +28 +38 +04 +F4 +8C +50 +50 +30 +28 +58 +76 +02 +70 +00 +04 +5B +08 +28 +30 +08 +F4 +90 +10 +40 +20 +40 +54 +70 +02 +70 +00 +01 +5B +10 +20 +38 +00 +F0 +95 +10 +50 +40 +38 +50 +69 +0F +02 +00 +00 +05 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +02 +05 +00 +05 +00 +00 +00 +00 +28 +08 +E4 +00 +00 +00 +40 +4E +19 +02 +14 +00 +0D +00 +00 +00 +00 +34 +10 +F6 +00 +00 +00 +50 +66 +49 +0F +02 +A0 +00 +01 +5B +18 +20 +30 +E4 +CC +A5 +40 +40 +20 +60 +68 +5F +02 +A0 +00 +02 +5B +18 +20 +28 +E4 +D0 +A5 +40 +40 +10 +58 +58 +5F +02 +A0 +00 +01 +5B +E0 +18 +20 +D0 +24 +A8 +60 +40 +40 +60 +12 +5B +02 +A0 +00 +01 +5B +E0 +18 +28 +D0 +20 +A3 +60 +50 +40 +60 +02 +63 +02 +A0 +00 +01 +5B +E0 +18 +28 +D0 +20 +A5 +60 +60 +40 +68 +02 +61 +02 +A0 +00 +02 +5B +E0 +18 +28 +D0 +24 +A2 +60 +50 +40 +60 +12 +69 +02 +A0 +00 +01 +5B +E0 +18 +28 +D4 +1C +A0 +60 +60 +40 +68 +02 +6E +02 +38 +00 +02 +5B +18 +20 +20 +E0 +D4 +A0 +60 +20 +10 +60 +68 +6E +02 +38 +00 +01 +5B +18 +18 +30 +E4 +D4 +A3 +60 +20 +20 +60 +6C +63 +0F +02 +A0 +00 +02 +5B +18 +20 +30 +E4 +CC +A5 +40 +40 +20 +60 +68 +5F +02 +A0 +00 +02 +5B +18 +20 +28 +E4 +D0 +A5 +40 +40 +10 +58 +58 +5F +02 +80 +00 +02 +5B +E0 +18 +28 +D0 +24 +A9 +60 +40 +40 +60 +10 +59 +02 +80 +00 +02 +5B +E0 +18 +20 +D0 +24 +A8 +60 +40 +40 +60 +14 +5B +02 +80 +00 +02 +5B +E0 +18 +28 +D0 +20 +A3 +60 +50 +40 +60 +04 +63 +02 +80 +00 +02 +5B +E0 +18 +28 +D0 +20 +A5 +60 +60 +40 +68 +04 +61 +02 +80 +00 +02 +5B +E0 +18 +28 +D0 +24 +A2 +60 +50 +40 +60 +14 +69 +02 +80 +00 +03 +5B +E0 +18 +28 +D4 +1C +A0 +60 +60 +40 +68 +04 +6E +02 +30 +00 +03 +5B +18 +20 +20 +E0 +D4 +A0 +60 +20 +10 +60 +68 +6E +02 +30 +00 +03 +5B +18 +18 +30 +E4 +D4 +A3 +60 +20 +20 +60 +6C +63 +0F +02 +A0 +00 +03 +5B +A8 +C0 +F8 +40 +24 +00 +60 +60 +60 +60 +60 +00 +02 +80 +00 +03 +5B +A8 +C0 +00 +40 +24 +00 +60 +60 +60 +60 +60 +00 +01 +70 +00 +01 +5B +02 +30 +00 +05 +5B +A0 +B8 +00 +40 +24 +00 +60 +60 +60 +60 +60 +00 +01 +30 +00 +01 +5B +01 +1C +00 +06 +5B +0F +02 +28 +00 +11 +5B +08 +18 +38 +EC +D4 +CB +30 +30 +40 +30 +2E +20 +02 +A0 +00 +03 +5B +00 +18 +38 +F4 +DC +A1 +60 +50 +50 +08 +5E +5C +0F +02 +1C +00 +0A +00 +00 +00 +00 +48 +20 +E3 +00 +00 +00 +40 +38 +29 +0F +02 +28 +00 +04 +5B +00 +18 +38 +FC +E0 +A1 +30 +20 +40 +60 +2A +54 +02 +28 +00 +02 +5B +08 +20 +20 +FC +E8 +A2 +30 +30 +10 +68 +0E +50 +02 +28 +00 +02 +5B +08 +20 +20 +FC +E0 +9B +30 +40 +10 +68 +1E +5B +02 +80 +01 +03 +5B +10 +18 +30 +F8 +DC +A8 +40 +40 +30 +68 +62 +50 +02 +80 +01 +01 +5B +10 +18 +30 +F8 +D4 +AC +00 +40 +40 +68 +7A +55 +02 +80 +01 +03 +5B +20 +18 +30 +F8 +D0 +AC +60 +10 +40 +70 +72 +58 +0F +02 +03 +00 +0E +00 +00 +00 +00 +20 +00 +C1 +00 +00 +00 +30 +1E +48 +02 +30 +00 +04 +5B +00 +20 +38 +E8 +E0 +C2 +40 +60 +50 +18 +0A +49 +0F +02 +18 +00 +02 +5B +A0 +A8 +F8 +10 +20 +37 +60 +60 +60 +20 +60 +57 +02 +10 +00 +01 +5B +A0 +A8 +F0 +10 +20 +37 +60 +60 +60 +20 +60 +57 +01 +14 +00 +03 +5B +02 +38 +00 +03 +5B +A0 +B0 +F0 +10 +20 +37 +60 +60 +60 +20 +60 +57 +02 +50 +00 +05 +5B +A0 +C0 +E8 +10 +20 +37 +60 +60 +60 +20 +60 +57 +02 +70 +00 +04 +5B +A8 +C8 +E0 +10 +20 +37 +60 +60 +60 +20 +60 +57 +02 +70 +00 +04 +5B +A8 +D0 +E0 +10 +20 +37 +60 +60 +60 +20 +60 +57 +02 +38 +00 +01 +5B +A0 +D0 +E0 +10 +20 +37 +60 +60 +60 +20 +60 +57 +01 +18 +00 +03 +5B +0F +02 +40 +00 +02 +5B +18 +28 +10 +F0 +BC +AC +60 +40 +00 +48 +64 +59 +02 +40 +00 +02 +5B +10 +20 +18 +F0 +BC +AF +60 +40 +10 +48 +60 +56 +02 +40 +00 +02 +5B +10 +20 +20 +EC +C0 +B0 +40 +30 +10 +48 +58 +56 +02 +50 +00 +02 +5B +F0 +10 +20 +C0 +10 +B6 +50 +60 +50 +60 +02 +51 +02 +50 +00 +02 +5B +E8 +18 +28 +C4 +04 +B8 +70 +60 +50 +60 +FE +4A +02 +50 +00 +03 +5B +18 +10 +20 +E8 +C8 +B5 +60 +00 +30 +58 +62 +54 +02 +38 +00 +03 +5B +00 +18 +30 +E4 +CC +B5 +00 +60 +50 +60 +58 +56 +02 +38 +00 +03 +5B +00 +18 +28 +E4 +D0 +B2 +00 +60 +40 +60 +60 +59 +02 +20 +00 +03 +5B +E8 +10 +20 +CC +04 +B2 +60 +60 +20 +60 +FC +55 +0F +02 +E0 +00 +03 +5B +90 +F0 +00 +04 +28 +39 +70 +50 +30 +18 +4E +41 +02 +00 +01 +02 +5B +90 +F8 +00 +04 +28 +39 +70 +50 +30 +18 +4E +41 +01 +40 +01 +03 +5B +02 +A0 +00 +02 +5B +90 +F0 +00 +04 +28 +39 +70 +50 +30 +18 +4E +41 +02 +A0 +00 +03 +5B +98 +E8 +F8 +04 +28 +39 +70 +50 +30 +18 +4E +41 +02 +60 +00 +04 +5B +A0 +E0 +F0 +04 +28 +39 +70 +50 +30 +18 +4E +41 +02 +60 +00 +05 +5B +A0 +D8 +F0 +04 +28 +39 +70 +50 +30 +18 +4E +41 +01 +50 +00 +05 +5B +0F +02 +00 +00 +04 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +02 +07 +00 +04 +00 +00 +00 +00 +20 +E0 +E6 +00 +00 +00 +38 +40 +1C +02 +60 +00 +02 +5B +F8 +18 +38 +F8 +D8 +A1 +40 +60 +50 +18 +5C +70 +0F +02 +C0 +00 +05 +5B +18 +28 +20 +FC +C4 +A3 +40 +50 +20 +68 +60 +64 +02 +60 +00 +03 +5B +10 +28 +38 +FC +C0 +A3 +10 +60 +40 +60 +62 +60 +02 +40 +00 +07 +5B +28 +18 +30 +00 +C0 +A0 +60 +10 +30 +60 +60 +68 +0F diff --git a/verilog/controller/ctrlrom.v b/verilog/controller/ctrlrom.v new file mode 100644 index 0000000..9e1ff07 --- /dev/null +++ b/verilog/controller/ctrlrom.v @@ -0,0 +1,4018 @@ + +// This file was auto-generated, +// do not modify by hand! + +module CTRLROM ( + clk, + en, + addr, + data + ); + input clk; + input en; + input [11:0] addr; + output reg [7:0] data; + + always @(posedge clk) + begin + if (en) + case(addr) + 12'd0: data <= 8'd0; + 12'd1: data <= 8'd126; + 12'd2: data <= 8'd0; + 12'd3: data <= 8'd144; + 12'd4: data <= 8'd0; + 12'd5: data <= 8'd162; + 12'd6: data <= 8'd0; + 12'd7: data <= 8'd180; + 12'd8: data <= 8'd0; + 12'd9: data <= 8'd198; + 12'd10: data <= 8'd0; + 12'd11: data <= 8'd216; + 12'd12: data <= 8'd1; + 12'd13: data <= 8'd119; + 12'd14: data <= 8'd2; + 12'd15: data <= 8'd22; + 12'd16: data <= 8'd2; + 12'd17: data <= 8'd40; + 12'd18: data <= 8'd2; + 12'd19: data <= 8'd92; + 12'd20: data <= 8'd2; + 12'd21: data <= 8'd144; + 12'd22: data <= 8'd2; + 12'd23: data <= 8'd196; + 12'd24: data <= 8'd2; + 12'd25: data <= 8'd248; + 12'd26: data <= 8'd3; + 12'd27: data <= 8'd10; + 12'd28: data <= 8'd3; + 12'd29: data <= 8'd79; + 12'd30: data <= 8'd3; + 12'd31: data <= 8'd158; + 12'd32: data <= 8'd3; + 12'd33: data <= 8'd176; + 12'd34: data <= 8'd3; + 12'd35: data <= 8'd221; + 12'd36: data <= 8'd4; + 12'd37: data <= 8'd17; + 12'd38: data <= 8'd4; + 12'd39: data <= 8'd52; + 12'd40: data <= 8'd4; + 12'd41: data <= 8'd155; + 12'd42: data <= 8'd5; + 12'd43: data <= 8'd12; + 12'd44: data <= 8'd5; + 12'd45: data <= 8'd47; + 12'd46: data <= 8'd5; + 12'd47: data <= 8'd99; + 12'd48: data <= 8'd5; + 12'd49: data <= 8'd117; + 12'd50: data <= 8'd5; + 12'd51: data <= 8'd157; + 12'd52: data <= 8'd6; + 12'd53: data <= 8'd4; + 12'd54: data <= 8'd6; + 12'd55: data <= 8'd22; + 12'd56: data <= 8'd6; + 12'd57: data <= 8'd74; + 12'd58: data <= 8'd6; + 12'd59: data <= 8'd109; + 12'd60: data <= 8'd6; + 12'd61: data <= 8'd127; + 12'd62: data <= 8'd6; + 12'd63: data <= 8'd145; + 12'd64: data <= 8'd6; + 12'd65: data <= 8'd197; + 12'd66: data <= 8'd7; + 12'd67: data <= 8'd27; + 12'd68: data <= 8'd7; + 12'd69: data <= 8'd79; + 12'd70: data <= 8'd7; + 12'd71: data <= 8'd131; + 12'd72: data <= 8'd7; + 12'd73: data <= 8'd183; + 12'd74: data <= 8'd7; + 12'd75: data <= 8'd235; + 12'd76: data <= 8'd8; + 12'd77: data <= 8'd48; + 12'd78: data <= 8'd8; + 12'd79: data <= 8'd83; + 12'd80: data <= 8'd8; + 12'd81: data <= 8'd135; + 12'd82: data <= 8'd8; + 12'd83: data <= 8'd153; + 12'd84: data <= 8'd8; + 12'd85: data <= 8'd205; + 12'd86: data <= 8'd9; + 12'd87: data <= 8'd18; + 12'd88: data <= 8'd9; + 12'd89: data <= 8'd70; + 12'd90: data <= 8'd9; + 12'd91: data <= 8'd139; + 12'd92: data <= 8'd9; + 12'd93: data <= 8'd191; + 12'd94: data <= 8'd9; + 12'd95: data <= 8'd243; + 12'd96: data <= 8'd10; + 12'd97: data <= 8'd161; + 12'd98: data <= 8'd10; + 12'd99: data <= 8'd230; + 12'd100: data <= 8'd11; + 12'd101: data <= 8'd43; + 12'd102: data <= 8'd11; + 12'd103: data <= 8'd95; + 12'd104: data <= 8'd11; + 12'd105: data <= 8'd249; + 12'd106: data <= 8'd12; + 12'd107: data <= 8'd164; + 12'd108: data <= 8'd12; + 12'd109: data <= 8'd231; + 12'd110: data <= 8'd13; + 12'd111: data <= 8'd10; + 12'd112: data <= 8'd13; + 12'd113: data <= 8'd28; + 12'd114: data <= 8'd13; + 12'd115: data <= 8'd131; + 12'd116: data <= 8'd13; + 12'd117: data <= 8'd166; + 12'd118: data <= 8'd14; + 12'd119: data <= 8'd40; + 12'd120: data <= 8'd14; + 12'd121: data <= 8'd194; + 12'd122: data <= 8'd15; + 12'd123: data <= 8'd51; + 12'd124: data <= 8'd15; + 12'd125: data <= 8'd103; + 12'd126: data <= 8'd2; + 12'd127: data <= 8'd0; + 12'd128: data <= 8'd0; + 12'd129: data <= 8'd1; + 12'd130: data <= 8'd64; + 12'd131: data <= 8'd0; + 12'd132: data <= 8'd0; + 12'd133: data <= 8'd0; + 12'd134: data <= 8'd0; + 12'd135: data <= 8'd0; + 12'd136: data <= 8'd0; + 12'd137: data <= 8'd0; + 12'd138: data <= 8'd0; + 12'd139: data <= 8'd0; + 12'd140: data <= 8'd0; + 12'd141: data <= 8'd0; + 12'd142: data <= 8'd0; + 12'd143: data <= 8'd15; + 12'd144: data <= 8'd2; + 12'd145: data <= 8'd0; + 12'd146: data <= 8'd0; + 12'd147: data <= 8'd4; + 12'd148: data <= 8'd64; + 12'd149: data <= 8'd0; + 12'd150: data <= 8'd0; + 12'd151: data <= 8'd0; + 12'd152: data <= 8'd0; + 12'd153: data <= 8'd0; + 12'd154: data <= 8'd0; + 12'd155: data <= 8'd0; + 12'd156: data <= 8'd0; + 12'd157: data <= 8'd0; + 12'd158: data <= 8'd0; + 12'd159: data <= 8'd0; + 12'd160: data <= 8'd0; + 12'd161: data <= 8'd15; + 12'd162: data <= 8'd2; + 12'd163: data <= 8'd0; + 12'd164: data <= 8'd0; + 12'd165: data <= 8'd7; + 12'd166: data <= 8'd64; + 12'd167: data <= 8'd0; + 12'd168: data <= 8'd0; + 12'd169: data <= 8'd0; + 12'd170: data <= 8'd0; + 12'd171: data <= 8'd0; + 12'd172: data <= 8'd0; + 12'd173: data <= 8'd0; + 12'd174: data <= 8'd0; + 12'd175: data <= 8'd0; + 12'd176: data <= 8'd0; + 12'd177: data <= 8'd0; + 12'd178: data <= 8'd0; + 12'd179: data <= 8'd15; + 12'd180: data <= 8'd2; + 12'd181: data <= 8'd0; + 12'd182: data <= 8'd0; + 12'd183: data <= 8'd15; + 12'd184: data <= 8'd64; + 12'd185: data <= 8'd0; + 12'd186: data <= 8'd0; + 12'd187: data <= 8'd0; + 12'd188: data <= 8'd0; + 12'd189: data <= 8'd0; + 12'd190: data <= 8'd0; + 12'd191: data <= 8'd0; + 12'd192: data <= 8'd0; + 12'd193: data <= 8'd0; + 12'd194: data <= 8'd0; + 12'd195: data <= 8'd0; + 12'd196: data <= 8'd0; + 12'd197: data <= 8'd15; + 12'd198: data <= 8'd2; + 12'd199: data <= 8'd0; + 12'd200: data <= 8'd0; + 12'd201: data <= 8'd31; + 12'd202: data <= 8'd64; + 12'd203: data <= 8'd0; + 12'd204: data <= 8'd0; + 12'd205: data <= 8'd0; + 12'd206: data <= 8'd0; + 12'd207: data <= 8'd0; + 12'd208: data <= 8'd0; + 12'd209: data <= 8'd0; + 12'd210: data <= 8'd0; + 12'd211: data <= 8'd0; + 12'd212: data <= 8'd0; + 12'd213: data <= 8'd0; + 12'd214: data <= 8'd0; + 12'd215: data <= 8'd15; + 12'd216: data <= 8'd2; + 12'd217: data <= 8'd80; + 12'd218: data <= 8'd0; + 12'd219: data <= 8'd3; + 12'd220: data <= 8'd91; + 12'd221: data <= 8'd0; + 12'd222: data <= 8'd0; + 12'd223: data <= 8'd220; + 12'd224: data <= 8'd160; + 12'd225: data <= 8'd192; + 12'd226: data <= 8'd160; + 12'd227: data <= 8'd8; + 12'd228: data <= 8'd160; + 12'd229: data <= 8'd72; + 12'd230: data <= 8'd160; + 12'd231: data <= 8'd96; + 12'd232: data <= 8'd160; + 12'd233: data <= 8'd2; + 12'd234: data <= 8'd48; + 12'd235: data <= 8'd0; + 12'd236: data <= 8'd3; + 12'd237: data <= 8'd91; + 12'd238: data <= 8'd0; + 12'd239: data <= 8'd0; + 12'd240: data <= 8'd220; + 12'd241: data <= 8'd160; + 12'd242: data <= 8'd192; + 12'd243: data <= 8'd160; + 12'd244: data <= 8'd8; + 12'd245: data <= 8'd160; + 12'd246: data <= 8'd80; + 12'd247: data <= 8'd160; + 12'd248: data <= 8'd96; + 12'd249: data <= 8'd160; + 12'd250: data <= 8'd2; + 12'd251: data <= 8'd20; + 12'd252: data <= 8'd0; + 12'd253: data <= 8'd1; + 12'd254: data <= 8'd91; + 12'd255: data <= 8'd0; + 12'd256: data <= 8'd0; + 12'd257: data <= 8'd220; + 12'd258: data <= 8'd160; + 12'd259: data <= 8'd192; + 12'd260: data <= 8'd160; + 12'd261: data <= 8'd8; + 12'd262: data <= 8'd160; + 12'd263: data <= 8'd88; + 12'd264: data <= 8'd160; + 12'd265: data <= 8'd96; + 12'd266: data <= 8'd160; + 12'd267: data <= 8'd2; + 12'd268: data <= 8'd32; + 12'd269: data <= 8'd0; + 12'd270: data <= 8'd3; + 12'd271: data <= 8'd91; + 12'd272: data <= 8'd0; + 12'd273: data <= 8'd0; + 12'd274: data <= 8'd220; + 12'd275: data <= 8'd160; + 12'd276: data <= 8'd192; + 12'd277: data <= 8'd160; + 12'd278: data <= 8'd8; + 12'd279: data <= 8'd160; + 12'd280: data <= 8'd80; + 12'd281: data <= 8'd160; + 12'd282: data <= 8'd96; + 12'd283: data <= 8'd160; + 12'd284: data <= 8'd1; + 12'd285: data <= 8'd28; + 12'd286: data <= 8'd0; + 12'd287: data <= 8'd1; + 12'd288: data <= 8'd91; + 12'd289: data <= 8'd2; + 12'd290: data <= 8'd40; + 12'd291: data <= 8'd0; + 12'd292: data <= 8'd4; + 12'd293: data <= 8'd91; + 12'd294: data <= 8'd0; + 12'd295: data <= 8'd0; + 12'd296: data <= 8'd220; + 12'd297: data <= 8'd160; + 12'd298: data <= 8'd192; + 12'd299: data <= 8'd160; + 12'd300: data <= 8'd8; + 12'd301: data <= 8'd160; + 12'd302: data <= 8'd72; + 12'd303: data <= 8'd160; + 12'd304: data <= 8'd96; + 12'd305: data <= 8'd160; + 12'd306: data <= 8'd2; + 12'd307: data <= 8'd112; + 12'd308: data <= 8'd0; + 12'd309: data <= 8'd2; + 12'd310: data <= 8'd91; + 12'd311: data <= 8'd0; + 12'd312: data <= 8'd0; + 12'd313: data <= 8'd220; + 12'd314: data <= 8'd160; + 12'd315: data <= 8'd192; + 12'd316: data <= 8'd160; + 12'd317: data <= 8'd8; + 12'd318: data <= 8'd160; + 12'd319: data <= 8'd64; + 12'd320: data <= 8'd160; + 12'd321: data <= 8'd88; + 12'd322: data <= 8'd160; + 12'd323: data <= 8'd2; + 12'd324: data <= 8'd160; + 12'd325: data <= 8'd0; + 12'd326: data <= 8'd4; + 12'd327: data <= 8'd91; + 12'd328: data <= 8'd0; + 12'd329: data <= 8'd0; + 12'd330: data <= 8'd220; + 12'd331: data <= 8'd160; + 12'd332: data <= 8'd192; + 12'd333: data <= 8'd160; + 12'd334: data <= 8'd8; + 12'd335: data <= 8'd160; + 12'd336: data <= 8'd48; + 12'd337: data <= 8'd160; + 12'd338: data <= 8'd88; + 12'd339: data <= 8'd160; + 12'd340: data <= 8'd2; + 12'd341: data <= 8'd160; + 12'd342: data <= 8'd0; + 12'd343: data <= 8'd2; + 12'd344: data <= 8'd91; + 12'd345: data <= 8'd0; + 12'd346: data <= 8'd0; + 12'd347: data <= 8'd220; + 12'd348: data <= 8'd160; + 12'd349: data <= 8'd192; + 12'd350: data <= 8'd160; + 12'd351: data <= 8'd8; + 12'd352: data <= 8'd160; + 12'd353: data <= 8'd32; + 12'd354: data <= 8'd160; + 12'd355: data <= 8'd88; + 12'd356: data <= 8'd160; + 12'd357: data <= 8'd2; + 12'd358: data <= 8'd64; + 12'd359: data <= 8'd0; + 12'd360: data <= 8'd9; + 12'd361: data <= 8'd91; + 12'd362: data <= 8'd0; + 12'd363: data <= 8'd0; + 12'd364: data <= 8'd220; + 12'd365: data <= 8'd160; + 12'd366: data <= 8'd192; + 12'd367: data <= 8'd160; + 12'd368: data <= 8'd8; + 12'd369: data <= 8'd160; + 12'd370: data <= 8'd24; + 12'd371: data <= 8'd160; + 12'd372: data <= 8'd96; + 12'd373: data <= 8'd160; + 12'd374: data <= 8'd15; + 12'd375: data <= 8'd2; + 12'd376: data <= 8'd192; + 12'd377: data <= 8'd0; + 12'd378: data <= 8'd1; + 12'd379: data <= 8'd91; + 12'd380: data <= 8'd0; + 12'd381: data <= 8'd0; + 12'd382: data <= 8'd196; + 12'd383: data <= 8'd188; + 12'd384: data <= 8'd232; + 12'd385: data <= 8'd176; + 12'd386: data <= 8'd8; + 12'd387: data <= 8'd160; + 12'd388: data <= 8'd56; + 12'd389: data <= 8'd144; + 12'd390: data <= 8'd80; + 12'd391: data <= 8'd144; + 12'd392: data <= 8'd2; + 12'd393: data <= 8'd160; + 12'd394: data <= 8'd0; + 12'd395: data <= 8'd1; + 12'd396: data <= 8'd91; + 12'd397: data <= 8'd0; + 12'd398: data <= 8'd0; + 12'd399: data <= 8'd196; + 12'd400: data <= 8'd188; + 12'd401: data <= 8'd232; + 12'd402: data <= 8'd176; + 12'd403: data <= 8'd8; + 12'd404: data <= 8'd160; + 12'd405: data <= 8'd80; + 12'd406: data <= 8'd144; + 12'd407: data <= 8'd56; + 12'd408: data <= 8'd144; + 12'd409: data <= 8'd1; + 12'd410: data <= 8'd192; + 12'd411: data <= 8'd0; + 12'd412: data <= 8'd2; + 12'd413: data <= 8'd91; + 12'd414: data <= 8'd2; + 12'd415: data <= 8'd160; + 12'd416: data <= 8'd0; + 12'd417: data <= 8'd2; + 12'd418: data <= 8'd91; + 12'd419: data <= 8'd0; + 12'd420: data <= 8'd0; + 12'd421: data <= 8'd196; + 12'd422: data <= 8'd188; + 12'd423: data <= 8'd232; + 12'd424: data <= 8'd176; + 12'd425: data <= 8'd8; + 12'd426: data <= 8'd160; + 12'd427: data <= 8'd56; + 12'd428: data <= 8'd144; + 12'd429: data <= 8'd80; + 12'd430: data <= 8'd144; + 12'd431: data <= 8'd2; + 12'd432: data <= 8'd128; + 12'd433: data <= 8'd0; + 12'd434: data <= 8'd2; + 12'd435: data <= 8'd91; + 12'd436: data <= 8'd0; + 12'd437: data <= 8'd0; + 12'd438: data <= 8'd196; + 12'd439: data <= 8'd188; + 12'd440: data <= 8'd232; + 12'd441: data <= 8'd176; + 12'd442: data <= 8'd72; + 12'd443: data <= 8'd160; + 12'd444: data <= 8'd8; + 12'd445: data <= 8'd144; + 12'd446: data <= 8'd56; + 12'd447: data <= 8'd144; + 12'd448: data <= 8'd2; + 12'd449: data <= 8'd160; + 12'd450: data <= 8'd0; + 12'd451: data <= 8'd2; + 12'd452: data <= 8'd91; + 12'd453: data <= 8'd0; + 12'd454: data <= 8'd0; + 12'd455: data <= 8'd196; + 12'd456: data <= 8'd188; + 12'd457: data <= 8'd232; + 12'd458: data <= 8'd176; + 12'd459: data <= 8'd8; + 12'd460: data <= 8'd160; + 12'd461: data <= 8'd48; + 12'd462: data <= 8'd144; + 12'd463: data <= 8'd80; + 12'd464: data <= 8'd144; + 12'd465: data <= 8'd2; + 12'd466: data <= 8'd224; + 12'd467: data <= 8'd0; + 12'd468: data <= 8'd3; + 12'd469: data <= 8'd91; + 12'd470: data <= 8'd0; + 12'd471: data <= 8'd0; + 12'd472: data <= 8'd196; + 12'd473: data <= 8'd188; + 12'd474: data <= 8'd232; + 12'd475: data <= 8'd176; + 12'd476: data <= 8'd32; + 12'd477: data <= 8'd160; + 12'd478: data <= 8'd8; + 12'd479: data <= 8'd144; + 12'd480: data <= 8'd80; + 12'd481: data <= 8'd144; + 12'd482: data <= 8'd2; + 12'd483: data <= 8'd192; + 12'd484: data <= 8'd0; + 12'd485: data <= 8'd1; + 12'd486: data <= 8'd91; + 12'd487: data <= 8'd0; + 12'd488: data <= 8'd0; + 12'd489: data <= 8'd196; + 12'd490: data <= 8'd188; + 12'd491: data <= 8'd232; + 12'd492: data <= 8'd176; + 12'd493: data <= 8'd8; + 12'd494: data <= 8'd160; + 12'd495: data <= 8'd32; + 12'd496: data <= 8'd144; + 12'd497: data <= 8'd88; + 12'd498: data <= 8'd144; + 12'd499: data <= 8'd2; + 12'd500: data <= 8'd160; + 12'd501: data <= 8'd0; + 12'd502: data <= 8'd3; + 12'd503: data <= 8'd91; + 12'd504: data <= 8'd0; + 12'd505: data <= 8'd0; + 12'd506: data <= 8'd196; + 12'd507: data <= 8'd188; + 12'd508: data <= 8'd232; + 12'd509: data <= 8'd176; + 12'd510: data <= 8'd0; + 12'd511: data <= 8'd160; + 12'd512: data <= 8'd24; + 12'd513: data <= 8'd144; + 12'd514: data <= 8'd96; + 12'd515: data <= 8'd144; + 12'd516: data <= 8'd2; + 12'd517: data <= 8'd64; + 12'd518: data <= 8'd0; + 12'd519: data <= 8'd2; + 12'd520: data <= 8'd91; + 12'd521: data <= 8'd0; + 12'd522: data <= 8'd0; + 12'd523: data <= 8'd196; + 12'd524: data <= 8'd188; + 12'd525: data <= 8'd232; + 12'd526: data <= 8'd176; + 12'd527: data <= 8'd0; + 12'd528: data <= 8'd160; + 12'd529: data <= 8'd16; + 12'd530: data <= 8'd144; + 12'd531: data <= 8'd96; + 12'd532: data <= 8'd144; + 12'd533: data <= 8'd15; + 12'd534: data <= 8'd2; + 12'd535: data <= 8'd128; + 12'd536: data <= 8'd1; + 12'd537: data <= 8'd6; + 12'd538: data <= 8'd91; + 12'd539: data <= 8'd86; + 12'd540: data <= 8'd156; + 12'd541: data <= 8'd24; + 12'd542: data <= 8'd168; + 12'd543: data <= 8'd8; + 12'd544: data <= 8'd240; + 12'd545: data <= 8'd192; + 12'd546: data <= 8'd176; + 12'd547: data <= 8'd216; + 12'd548: data <= 8'd176; + 12'd549: data <= 8'd0; + 12'd550: data <= 8'd176; + 12'd551: data <= 8'd15; + 12'd552: data <= 8'd2; + 12'd553: data <= 8'd0; + 12'd554: data <= 8'd0; + 12'd555: data <= 8'd4; + 12'd556: data <= 8'd64; + 12'd557: data <= 8'd0; + 12'd558: data <= 8'd0; + 12'd559: data <= 8'd0; + 12'd560: data <= 8'd0; + 12'd561: data <= 8'd0; + 12'd562: data <= 8'd0; + 12'd563: data <= 8'd0; + 12'd564: data <= 8'd0; + 12'd565: data <= 8'd0; + 12'd566: data <= 8'd0; + 12'd567: data <= 8'd0; + 12'd568: data <= 8'd0; + 12'd569: data <= 8'd2; + 12'd570: data <= 8'd10; + 12'd571: data <= 8'd0; + 12'd572: data <= 8'd3; + 12'd573: data <= 8'd0; + 12'd574: data <= 8'd53; + 12'd575: data <= 8'd152; + 12'd576: data <= 8'd4; + 12'd577: data <= 8'd252; + 12'd578: data <= 8'd200; + 12'd579: data <= 8'd192; + 12'd580: data <= 8'd0; + 12'd581: data <= 8'd0; + 12'd582: data <= 8'd0; + 12'd583: data <= 8'd0; + 12'd584: data <= 8'd0; + 12'd585: data <= 8'd0; + 12'd586: data <= 8'd2; + 12'd587: data <= 8'd8; + 12'd588: data <= 8'd0; + 12'd589: data <= 8'd5; + 12'd590: data <= 8'd0; + 12'd591: data <= 8'd59; + 12'd592: data <= 8'd158; + 12'd593: data <= 8'd224; + 12'd594: data <= 8'd192; + 12'd595: data <= 8'd224; + 12'd596: data <= 8'd232; + 12'd597: data <= 8'd0; + 12'd598: data <= 8'd0; + 12'd599: data <= 8'd0; + 12'd600: data <= 8'd0; + 12'd601: data <= 8'd0; + 12'd602: data <= 8'd0; + 12'd603: data <= 8'd15; + 12'd604: data <= 8'd2; + 12'd605: data <= 8'd0; + 12'd606: data <= 8'd0; + 12'd607: data <= 8'd13; + 12'd608: data <= 8'd64; + 12'd609: data <= 8'd0; + 12'd610: data <= 8'd0; + 12'd611: data <= 8'd0; + 12'd612: data <= 8'd0; + 12'd613: data <= 8'd0; + 12'd614: data <= 8'd0; + 12'd615: data <= 8'd0; + 12'd616: data <= 8'd0; + 12'd617: data <= 8'd0; + 12'd618: data <= 8'd0; + 12'd619: data <= 8'd0; + 12'd620: data <= 8'd0; + 12'd621: data <= 8'd2; + 12'd622: data <= 8'd5; + 12'd623: data <= 8'd0; + 12'd624: data <= 8'd4; + 12'd625: data <= 8'd0; + 12'd626: data <= 8'd65; + 12'd627: data <= 8'd197; + 12'd628: data <= 8'd12; + 12'd629: data <= 8'd212; + 12'd630: data <= 8'd216; + 12'd631: data <= 8'd192; + 12'd632: data <= 8'd0; + 12'd633: data <= 8'd0; + 12'd634: data <= 8'd0; + 12'd635: data <= 8'd0; + 12'd636: data <= 8'd0; + 12'd637: data <= 8'd0; + 12'd638: data <= 8'd2; + 12'd639: data <= 8'd8; + 12'd640: data <= 8'd0; + 12'd641: data <= 8'd6; + 12'd642: data <= 8'd0; + 12'd643: data <= 8'd49; + 12'd644: data <= 8'd198; + 12'd645: data <= 8'd8; + 12'd646: data <= 8'd188; + 12'd647: data <= 8'd216; + 12'd648: data <= 8'd176; + 12'd649: data <= 8'd0; + 12'd650: data <= 8'd0; + 12'd651: data <= 8'd0; + 12'd652: data <= 8'd0; + 12'd653: data <= 8'd0; + 12'd654: data <= 8'd0; + 12'd655: data <= 8'd15; + 12'd656: data <= 8'd2; + 12'd657: data <= 8'd20; + 12'd658: data <= 8'd0; + 12'd659: data <= 8'd4; + 12'd660: data <= 8'd0; + 12'd661: data <= 8'd6; + 12'd662: data <= 8'd208; + 12'd663: data <= 8'd232; + 12'd664: data <= 8'd190; + 12'd665: data <= 8'd216; + 12'd666: data <= 8'd224; + 12'd667: data <= 8'd0; + 12'd668: data <= 8'd0; + 12'd669: data <= 8'd0; + 12'd670: data <= 8'd0; + 12'd671: data <= 8'd0; + 12'd672: data <= 8'd0; + 12'd673: data <= 8'd2; + 12'd674: data <= 8'd112; + 12'd675: data <= 8'd0; + 12'd676: data <= 8'd4; + 12'd677: data <= 8'd91; + 12'd678: data <= 8'd26; + 12'd679: data <= 8'd200; + 12'd680: data <= 8'd0; + 12'd681: data <= 8'd160; + 12'd682: data <= 8'd0; + 12'd683: data <= 8'd240; + 12'd684: data <= 8'd200; + 12'd685: data <= 8'd224; + 12'd686: data <= 8'd208; + 12'd687: data <= 8'd176; + 12'd688: data <= 8'd232; + 12'd689: data <= 8'd160; + 12'd690: data <= 8'd2; + 12'd691: data <= 8'd80; + 12'd692: data <= 8'd0; + 12'd693: data <= 8'd4; + 12'd694: data <= 8'd91; + 12'd695: data <= 8'd35; + 12'd696: data <= 8'd234; + 12'd697: data <= 8'd24; + 12'd698: data <= 8'd174; + 12'd699: data <= 8'd4; + 12'd700: data <= 8'd152; + 12'd701: data <= 8'd192; + 12'd702: data <= 8'd208; + 12'd703: data <= 8'd216; + 12'd704: data <= 8'd192; + 12'd705: data <= 8'd232; + 12'd706: data <= 8'd176; + 12'd707: data <= 8'd15; + 12'd708: data <= 8'd2; + 12'd709: data <= 8'd14; + 12'd710: data <= 8'd0; + 12'd711: data <= 8'd7; + 12'd712: data <= 8'd91; + 12'd713: data <= 8'd95; + 12'd714: data <= 8'd172; + 12'd715: data <= 8'd32; + 12'd716: data <= 8'd214; + 12'd717: data <= 8'd4; + 12'd718: data <= 8'd160; + 12'd719: data <= 8'd200; + 12'd720: data <= 8'd192; + 12'd721: data <= 8'd232; + 12'd722: data <= 8'd224; + 12'd723: data <= 8'd0; + 12'd724: data <= 8'd208; + 12'd725: data <= 8'd2; + 12'd726: data <= 8'd14; + 12'd727: data <= 8'd0; + 12'd728: data <= 8'd3; + 12'd729: data <= 8'd91; + 12'd730: data <= 8'd94; + 12'd731: data <= 8'd176; + 12'd732: data <= 8'd24; + 12'd733: data <= 8'd242; + 12'd734: data <= 8'd4; + 12'd735: data <= 8'd152; + 12'd736: data <= 8'd224; + 12'd737: data <= 8'd240; + 12'd738: data <= 8'd224; + 12'd739: data <= 8'd208; + 12'd740: data <= 8'd248; + 12'd741: data <= 8'd208; + 12'd742: data <= 8'd2; + 12'd743: data <= 8'd14; + 12'd744: data <= 8'd0; + 12'd745: data <= 8'd9; + 12'd746: data <= 8'd91; + 12'd747: data <= 8'd101; + 12'd748: data <= 8'd165; + 12'd749: data <= 8'd32; + 12'd750: data <= 8'd226; + 12'd751: data <= 8'd4; + 12'd752: data <= 8'd152; + 12'd753: data <= 8'd224; + 12'd754: data <= 8'd240; + 12'd755: data <= 8'd224; + 12'd756: data <= 8'd192; + 12'd757: data <= 8'd248; + 12'd758: data <= 8'd208; + 12'd759: data <= 8'd15; + 12'd760: data <= 8'd2; + 12'd761: data <= 8'd128; + 12'd762: data <= 8'd1; + 12'd763: data <= 8'd5; + 12'd764: data <= 8'd91; + 12'd765: data <= 8'd96; + 12'd766: data <= 8'd146; + 12'd767: data <= 8'd204; + 12'd768: data <= 8'd226; + 12'd769: data <= 8'd24; + 12'd770: data <= 8'd160; + 12'd771: data <= 8'd208; + 12'd772: data <= 8'd176; + 12'd773: data <= 8'd240; + 12'd774: data <= 8'd224; + 12'd775: data <= 8'd0; + 12'd776: data <= 8'd176; + 12'd777: data <= 8'd15; + 12'd778: data <= 8'd2; + 12'd779: data <= 8'd0; + 12'd780: data <= 8'd0; + 12'd781: data <= 8'd5; + 12'd782: data <= 8'd64; + 12'd783: data <= 8'd0; + 12'd784: data <= 8'd0; + 12'd785: data <= 8'd0; + 12'd786: data <= 8'd0; + 12'd787: data <= 8'd0; + 12'd788: data <= 8'd0; + 12'd789: data <= 8'd0; + 12'd790: data <= 8'd0; + 12'd791: data <= 8'd0; + 12'd792: data <= 8'd0; + 12'd793: data <= 8'd0; + 12'd794: data <= 8'd0; + 12'd795: data <= 8'd2; + 12'd796: data <= 8'd40; + 12'd797: data <= 8'd0; + 12'd798: data <= 8'd3; + 12'd799: data <= 8'd0; + 12'd800: data <= 8'd12; + 12'd801: data <= 8'd223; + 12'd802: data <= 8'd228; + 12'd803: data <= 8'd178; + 12'd804: data <= 8'd204; + 12'd805: data <= 8'd216; + 12'd806: data <= 8'd0; + 12'd807: data <= 8'd0; + 12'd808: data <= 8'd0; + 12'd809: data <= 8'd0; + 12'd810: data <= 8'd0; + 12'd811: data <= 8'd0; + 12'd812: data <= 8'd2; + 12'd813: data <= 8'd20; + 12'd814: data <= 8'd0; + 12'd815: data <= 8'd4; + 12'd816: data <= 8'd0; + 12'd817: data <= 8'd22; + 12'd818: data <= 8'd173; + 12'd819: data <= 8'd228; + 12'd820: data <= 8'd188; + 12'd821: data <= 8'd208; + 12'd822: data <= 8'd224; + 12'd823: data <= 8'd0; + 12'd824: data <= 8'd0; + 12'd825: data <= 8'd0; + 12'd826: data <= 8'd0; + 12'd827: data <= 8'd0; + 12'd828: data <= 8'd0; + 12'd829: data <= 8'd2; + 12'd830: data <= 8'd20; + 12'd831: data <= 8'd0; + 12'd832: data <= 8'd3; + 12'd833: data <= 8'd0; + 12'd834: data <= 8'd25; + 12'd835: data <= 8'd166; + 12'd836: data <= 8'd228; + 12'd837: data <= 8'd186; + 12'd838: data <= 8'd220; + 12'd839: data <= 8'd232; + 12'd840: data <= 8'd0; + 12'd841: data <= 8'd0; + 12'd842: data <= 8'd0; + 12'd843: data <= 8'd0; + 12'd844: data <= 8'd0; + 12'd845: data <= 8'd0; + 12'd846: data <= 8'd15; + 12'd847: data <= 8'd2; + 12'd848: data <= 8'd7; + 12'd849: data <= 8'd0; + 12'd850: data <= 8'd5; + 12'd851: data <= 8'd91; + 12'd852: data <= 8'd206; + 12'd853: data <= 8'd213; + 12'd854: data <= 8'd224; + 12'd855: data <= 8'd196; + 12'd856: data <= 8'd244; + 12'd857: data <= 8'd192; + 12'd858: data <= 8'd32; + 12'd859: data <= 8'd176; + 12'd860: data <= 8'd64; + 12'd861: data <= 8'd160; + 12'd862: data <= 8'd104; + 12'd863: data <= 8'd160; + 12'd864: data <= 8'd2; + 12'd865: data <= 8'd20; + 12'd866: data <= 8'd0; + 12'd867: data <= 8'd3; + 12'd868: data <= 8'd91; + 12'd869: data <= 8'd206; + 12'd870: data <= 8'd213; + 12'd871: data <= 8'd224; + 12'd872: data <= 8'd196; + 12'd873: data <= 8'd244; + 12'd874: data <= 8'd192; + 12'd875: data <= 8'd24; + 12'd876: data <= 8'd176; + 12'd877: data <= 8'd64; + 12'd878: data <= 8'd160; + 12'd879: data <= 8'd104; + 12'd880: data <= 8'd160; + 12'd881: data <= 8'd1; + 12'd882: data <= 8'd48; + 12'd883: data <= 8'd0; + 12'd884: data <= 8'd1; + 12'd885: data <= 8'd91; + 12'd886: data <= 8'd2; + 12'd887: data <= 8'd160; + 12'd888: data <= 8'd0; + 12'd889: data <= 8'd2; + 12'd890: data <= 8'd91; + 12'd891: data <= 8'd206; + 12'd892: data <= 8'd213; + 12'd893: data <= 8'd224; + 12'd894: data <= 8'd196; + 12'd895: data <= 8'd244; + 12'd896: data <= 8'd192; + 12'd897: data <= 8'd16; + 12'd898: data <= 8'd176; + 12'd899: data <= 8'd64; + 12'd900: data <= 8'd160; + 12'd901: data <= 8'd96; + 12'd902: data <= 8'd160; + 12'd903: data <= 8'd2; + 12'd904: data <= 8'd112; + 12'd905: data <= 8'd0; + 12'd906: data <= 8'd1; + 12'd907: data <= 8'd91; + 12'd908: data <= 8'd206; + 12'd909: data <= 8'd213; + 12'd910: data <= 8'd224; + 12'd911: data <= 8'd196; + 12'd912: data <= 8'd244; + 12'd913: data <= 8'd192; + 12'd914: data <= 8'd16; + 12'd915: data <= 8'd176; + 12'd916: data <= 8'd72; + 12'd917: data <= 8'd160; + 12'd918: data <= 8'd96; + 12'd919: data <= 8'd160; + 12'd920: data <= 8'd1; + 12'd921: data <= 8'd128; + 12'd922: data <= 8'd0; + 12'd923: data <= 8'd2; + 12'd924: data <= 8'd91; + 12'd925: data <= 8'd15; + 12'd926: data <= 8'd2; + 12'd927: data <= 8'd128; + 12'd928: data <= 8'd1; + 12'd929: data <= 8'd6; + 12'd930: data <= 8'd91; + 12'd931: data <= 8'd88; + 12'd932: data <= 8'd159; + 12'd933: data <= 8'd216; + 12'd934: data <= 8'd232; + 12'd935: data <= 8'd48; + 12'd936: data <= 8'd160; + 12'd937: data <= 8'd216; + 12'd938: data <= 8'd160; + 12'd939: data <= 8'd232; + 12'd940: data <= 8'd224; + 12'd941: data <= 8'd16; + 12'd942: data <= 8'd176; + 12'd943: data <= 8'd15; + 12'd944: data <= 8'd2; + 12'd945: data <= 8'd40; + 12'd946: data <= 8'd0; + 12'd947: data <= 8'd6; + 12'd948: data <= 8'd91; + 12'd949: data <= 8'd0; + 12'd950: data <= 8'd0; + 12'd951: data <= 8'd224; + 12'd952: data <= 8'd188; + 12'd953: data <= 8'd0; + 12'd954: data <= 8'd240; + 12'd955: data <= 8'd32; + 12'd956: data <= 8'd224; + 12'd957: data <= 8'd64; + 12'd958: data <= 8'd208; + 12'd959: data <= 8'd16; + 12'd960: data <= 8'd176; + 12'd961: data <= 8'd1; + 12'd962: data <= 8'd48; + 12'd963: data <= 8'd0; + 12'd964: data <= 8'd5; + 12'd965: data <= 8'd91; + 12'd966: data <= 8'd2; + 12'd967: data <= 8'd56; + 12'd968: data <= 8'd0; + 12'd969: data <= 8'd5; + 12'd970: data <= 8'd91; + 12'd971: data <= 8'd0; + 12'd972: data <= 8'd0; + 12'd973: data <= 8'd224; + 12'd974: data <= 8'd188; + 12'd975: data <= 8'd0; + 12'd976: data <= 8'd240; + 12'd977: data <= 8'd56; + 12'd978: data <= 8'd224; + 12'd979: data <= 8'd32; + 12'd980: data <= 8'd208; + 12'd981: data <= 8'd16; + 12'd982: data <= 8'd176; + 12'd983: data <= 8'd1; + 12'd984: data <= 8'd80; + 12'd985: data <= 8'd0; + 12'd986: data <= 8'd4; + 12'd987: data <= 8'd91; + 12'd988: data <= 8'd15; + 12'd989: data <= 8'd2; + 12'd990: data <= 8'd0; + 12'd991: data <= 8'd0; + 12'd992: data <= 8'd6; + 12'd993: data <= 8'd64; + 12'd994: data <= 8'd0; + 12'd995: data <= 8'd0; + 12'd996: data <= 8'd0; + 12'd997: data <= 8'd0; + 12'd998: data <= 8'd0; + 12'd999: data <= 8'd0; + 12'd1000: data <= 8'd0; + 12'd1001: data <= 8'd0; + 12'd1002: data <= 8'd0; + 12'd1003: data <= 8'd0; + 12'd1004: data <= 8'd0; + 12'd1005: data <= 8'd0; + 12'd1006: data <= 8'd2; + 12'd1007: data <= 8'd16; + 12'd1008: data <= 8'd0; + 12'd1009: data <= 8'd1; + 12'd1010: data <= 8'd0; + 12'd1011: data <= 8'd33; + 12'd1012: data <= 8'd193; + 12'd1013: data <= 8'd240; + 12'd1014: data <= 8'd192; + 12'd1015: data <= 8'd192; + 12'd1016: data <= 8'd184; + 12'd1017: data <= 8'd0; + 12'd1018: data <= 8'd0; + 12'd1019: data <= 8'd0; + 12'd1020: data <= 8'd0; + 12'd1021: data <= 8'd0; + 12'd1022: data <= 8'd0; + 12'd1023: data <= 8'd2; + 12'd1024: data <= 8'd10; + 12'd1025: data <= 8'd0; + 12'd1026: data <= 8'd5; + 12'd1027: data <= 8'd0; + 12'd1028: data <= 8'd24; + 12'd1029: data <= 8'd193; + 12'd1030: data <= 8'd216; + 12'd1031: data <= 8'd192; + 12'd1032: data <= 8'd220; + 12'd1033: data <= 8'd232; + 12'd1034: data <= 8'd0; + 12'd1035: data <= 8'd0; + 12'd1036: data <= 8'd0; + 12'd1037: data <= 8'd0; + 12'd1038: data <= 8'd0; + 12'd1039: data <= 8'd0; + 12'd1040: data <= 8'd15; + 12'd1041: data <= 8'd2; + 12'd1042: data <= 8'd40; + 12'd1043: data <= 8'd0; + 12'd1044: data <= 8'd12; + 12'd1045: data <= 8'd91; + 12'd1046: data <= 8'd53; + 12'd1047: data <= 8'd224; + 12'd1048: data <= 8'd44; + 12'd1049: data <= 8'd210; + 12'd1050: data <= 8'd20; + 12'd1051: data <= 8'd208; + 12'd1052: data <= 8'd200; + 12'd1053: data <= 8'd192; + 12'd1054: data <= 8'd232; + 12'd1055: data <= 8'd208; + 12'd1056: data <= 8'd248; + 12'd1057: data <= 8'd208; + 12'd1058: data <= 8'd2; + 12'd1059: data <= 8'd160; + 12'd1060: data <= 8'd0; + 12'd1061: data <= 8'd3; + 12'd1062: data <= 8'd91; + 12'd1063: data <= 8'd95; + 12'd1064: data <= 8'd164; + 12'd1065: data <= 8'd36; + 12'd1066: data <= 8'd162; + 12'd1067: data <= 8'd12; + 12'd1068: data <= 8'd248; + 12'd1069: data <= 8'd200; + 12'd1070: data <= 8'd176; + 12'd1071: data <= 8'd232; + 12'd1072: data <= 8'd176; + 12'd1073: data <= 8'd0; + 12'd1074: data <= 8'd160; + 12'd1075: data <= 8'd15; + 12'd1076: data <= 8'd2; + 12'd1077: data <= 8'd128; + 12'd1078: data <= 8'd1; + 12'd1079: data <= 8'd3; + 12'd1080: data <= 8'd91; + 12'd1081: data <= 8'd95; + 12'd1082: data <= 8'd166; + 12'd1083: data <= 8'd16; + 12'd1084: data <= 8'd154; + 12'd1085: data <= 8'd252; + 12'd1086: data <= 8'd160; + 12'd1087: data <= 8'd200; + 12'd1088: data <= 8'd192; + 12'd1089: data <= 8'd216; + 12'd1090: data <= 8'd192; + 12'd1091: data <= 8'd248; + 12'd1092: data <= 8'd0; + 12'd1093: data <= 8'd2; + 12'd1094: data <= 8'd128; + 12'd1095: data <= 8'd1; + 12'd1096: data <= 8'd3; + 12'd1097: data <= 8'd91; + 12'd1098: data <= 8'd92; + 12'd1099: data <= 8'd169; + 12'd1100: data <= 8'd12; + 12'd1101: data <= 8'd158; + 12'd1102: data <= 8'd252; + 12'd1103: data <= 8'd176; + 12'd1104: data <= 8'd248; + 12'd1105: data <= 8'd0; + 12'd1106: data <= 8'd200; + 12'd1107: data <= 8'd192; + 12'd1108: data <= 8'd216; + 12'd1109: data <= 8'd192; + 12'd1110: data <= 8'd2; + 12'd1111: data <= 8'd128; + 12'd1112: data <= 8'd1; + 12'd1113: data <= 8'd2; + 12'd1114: data <= 8'd91; + 12'd1115: data <= 8'd102; + 12'd1116: data <= 8'd158; + 12'd1117: data <= 8'd12; + 12'd1118: data <= 8'd156; + 12'd1119: data <= 8'd252; + 12'd1120: data <= 8'd184; + 12'd1121: data <= 8'd200; + 12'd1122: data <= 8'd192; + 12'd1123: data <= 8'd216; + 12'd1124: data <= 8'd176; + 12'd1125: data <= 8'd248; + 12'd1126: data <= 8'd240; + 12'd1127: data <= 8'd2; + 12'd1128: data <= 8'd128; + 12'd1129: data <= 8'd1; + 12'd1130: data <= 8'd3; + 12'd1131: data <= 8'd91; + 12'd1132: data <= 8'd106; + 12'd1133: data <= 8'd154; + 12'd1134: data <= 8'd8; + 12'd1135: data <= 8'd164; + 12'd1136: data <= 8'd252; + 12'd1137: data <= 8'd200; + 12'd1138: data <= 8'd200; + 12'd1139: data <= 8'd192; + 12'd1140: data <= 8'd216; + 12'd1141: data <= 8'd176; + 12'd1142: data <= 8'd248; + 12'd1143: data <= 8'd208; + 12'd1144: data <= 8'd2; + 12'd1145: data <= 8'd128; + 12'd1146: data <= 8'd1; + 12'd1147: data <= 8'd4; + 12'd1148: data <= 8'd91; + 12'd1149: data <= 8'd110; + 12'd1150: data <= 8'd146; + 12'd1151: data <= 8'd8; + 12'd1152: data <= 8'd160; + 12'd1153: data <= 8'd4; + 12'd1154: data <= 8'd224; + 12'd1155: data <= 8'd200; + 12'd1156: data <= 8'd176; + 12'd1157: data <= 8'd216; + 12'd1158: data <= 8'd176; + 12'd1159: data <= 8'd248; + 12'd1160: data <= 8'd176; + 12'd1161: data <= 8'd2; + 12'd1162: data <= 8'd80; + 12'd1163: data <= 8'd0; + 12'd1164: data <= 8'd4; + 12'd1165: data <= 8'd91; + 12'd1166: data <= 8'd112; + 12'd1167: data <= 8'd143; + 12'd1168: data <= 8'd12; + 12'd1169: data <= 8'd244; + 12'd1170: data <= 8'd8; + 12'd1171: data <= 8'd160; + 12'd1172: data <= 8'd200; + 12'd1173: data <= 8'd192; + 12'd1174: data <= 8'd216; + 12'd1175: data <= 8'd192; + 12'd1176: data <= 8'd248; + 12'd1177: data <= 8'd192; + 12'd1178: data <= 8'd15; + 12'd1179: data <= 8'd2; + 12'd1180: data <= 8'd192; + 12'd1181: data <= 8'd0; + 12'd1182: data <= 8'd3; + 12'd1183: data <= 8'd91; + 12'd1184: data <= 8'd0; + 12'd1185: data <= 8'd0; + 12'd1186: data <= 8'd216; + 12'd1187: data <= 8'd174; + 12'd1188: data <= 8'd252; + 12'd1189: data <= 8'd208; + 12'd1190: data <= 8'd0; + 12'd1191: data <= 8'd224; + 12'd1192: data <= 8'd24; + 12'd1193: data <= 8'd160; + 12'd1194: data <= 8'd96; + 12'd1195: data <= 8'd144; + 12'd1196: data <= 8'd2; + 12'd1197: data <= 8'd192; + 12'd1198: data <= 8'd0; + 12'd1199: data <= 8'd1; + 12'd1200: data <= 8'd91; + 12'd1201: data <= 8'd0; + 12'd1202: data <= 8'd0; + 12'd1203: data <= 8'd216; + 12'd1204: data <= 8'd174; + 12'd1205: data <= 8'd252; + 12'd1206: data <= 8'd208; + 12'd1207: data <= 8'd0; + 12'd1208: data <= 8'd224; + 12'd1209: data <= 8'd16; + 12'd1210: data <= 8'd160; + 12'd1211: data <= 8'd96; + 12'd1212: data <= 8'd144; + 12'd1213: data <= 8'd1; + 12'd1214: data <= 8'd160; + 12'd1215: data <= 8'd0; + 12'd1216: data <= 8'd3; + 12'd1217: data <= 8'd91; + 12'd1218: data <= 8'd2; + 12'd1219: data <= 8'd112; + 12'd1220: data <= 8'd0; + 12'd1221: data <= 8'd1; + 12'd1222: data <= 8'd91; + 12'd1223: data <= 8'd0; + 12'd1224: data <= 8'd0; + 12'd1225: data <= 8'd216; + 12'd1226: data <= 8'd174; + 12'd1227: data <= 8'd252; + 12'd1228: data <= 8'd208; + 12'd1229: data <= 8'd8; + 12'd1230: data <= 8'd224; + 12'd1231: data <= 8'd8; + 12'd1232: data <= 8'd160; + 12'd1233: data <= 8'd104; + 12'd1234: data <= 8'd144; + 12'd1235: data <= 8'd2; + 12'd1236: data <= 8'd112; + 12'd1237: data <= 8'd0; + 12'd1238: data <= 8'd5; + 12'd1239: data <= 8'd91; + 12'd1240: data <= 8'd0; + 12'd1241: data <= 8'd0; + 12'd1242: data <= 8'd216; + 12'd1243: data <= 8'd174; + 12'd1244: data <= 8'd252; + 12'd1245: data <= 8'd208; + 12'd1246: data <= 8'd0; + 12'd1247: data <= 8'd224; + 12'd1248: data <= 8'd8; + 12'd1249: data <= 8'd160; + 12'd1250: data <= 8'd104; + 12'd1251: data <= 8'd144; + 12'd1252: data <= 8'd1; + 12'd1253: data <= 8'd112; + 12'd1254: data <= 8'd0; + 12'd1255: data <= 8'd1; + 12'd1256: data <= 8'd91; + 12'd1257: data <= 8'd2; + 12'd1258: data <= 8'd40; + 12'd1259: data <= 8'd0; + 12'd1260: data <= 8'd6; + 12'd1261: data <= 8'd91; + 12'd1262: data <= 8'd0; + 12'd1263: data <= 8'd0; + 12'd1264: data <= 8'd216; + 12'd1265: data <= 8'd174; + 12'd1266: data <= 8'd252; + 12'd1267: data <= 8'd208; + 12'd1268: data <= 8'd0; + 12'd1269: data <= 8'd224; + 12'd1270: data <= 8'd8; + 12'd1271: data <= 8'd160; + 12'd1272: data <= 8'd112; + 12'd1273: data <= 8'd144; + 12'd1274: data <= 8'd2; + 12'd1275: data <= 8'd28; + 12'd1276: data <= 8'd0; + 12'd1277: data <= 8'd2; + 12'd1278: data <= 8'd91; + 12'd1279: data <= 8'd0; + 12'd1280: data <= 8'd0; + 12'd1281: data <= 8'd216; + 12'd1282: data <= 8'd174; + 12'd1283: data <= 8'd252; + 12'd1284: data <= 8'd208; + 12'd1285: data <= 8'd8; + 12'd1286: data <= 8'd224; + 12'd1287: data <= 8'd8; + 12'd1288: data <= 8'd160; + 12'd1289: data <= 8'd112; + 12'd1290: data <= 8'd144; + 12'd1291: data <= 8'd15; + 12'd1292: data <= 8'd2; + 12'd1293: data <= 8'd160; + 12'd1294: data <= 8'd0; + 12'd1295: data <= 8'd3; + 12'd1296: data <= 8'd91; + 12'd1297: data <= 8'd198; + 12'd1298: data <= 8'd183; + 12'd1299: data <= 8'd228; + 12'd1300: data <= 8'd170; + 12'd1301: data <= 8'd240; + 12'd1302: data <= 8'd240; + 12'd1303: data <= 8'd0; + 12'd1304: data <= 8'd160; + 12'd1305: data <= 8'd32; + 12'd1306: data <= 8'd144; + 12'd1307: data <= 8'd112; + 12'd1308: data <= 8'd144; + 12'd1309: data <= 8'd2; + 12'd1310: data <= 8'd128; + 12'd1311: data <= 8'd0; + 12'd1312: data <= 8'd2; + 12'd1313: data <= 8'd91; + 12'd1314: data <= 8'd198; + 12'd1315: data <= 8'd183; + 12'd1316: data <= 8'd228; + 12'd1317: data <= 8'd170; + 12'd1318: data <= 8'd240; + 12'd1319: data <= 8'd240; + 12'd1320: data <= 8'd0; + 12'd1321: data <= 8'd160; + 12'd1322: data <= 8'd32; + 12'd1323: data <= 8'd144; + 12'd1324: data <= 8'd104; + 12'd1325: data <= 8'd144; + 12'd1326: data <= 8'd15; + 12'd1327: data <= 8'd2; + 12'd1328: data <= 8'd64; + 12'd1329: data <= 8'd1; + 12'd1330: data <= 8'd3; + 12'd1331: data <= 8'd91; + 12'd1332: data <= 8'd199; + 12'd1333: data <= 8'd212; + 12'd1334: data <= 8'd220; + 12'd1335: data <= 8'd178; + 12'd1336: data <= 8'd228; + 12'd1337: data <= 8'd168; + 12'd1338: data <= 8'd40; + 12'd1339: data <= 8'd160; + 12'd1340: data <= 8'd16; + 12'd1341: data <= 8'd160; + 12'd1342: data <= 8'd104; + 12'd1343: data <= 8'd160; + 12'd1344: data <= 8'd2; + 12'd1345: data <= 8'd64; + 12'd1346: data <= 8'd1; + 12'd1347: data <= 8'd2; + 12'd1348: data <= 8'd91; + 12'd1349: data <= 8'd199; + 12'd1350: data <= 8'd212; + 12'd1351: data <= 8'd220; + 12'd1352: data <= 8'd178; + 12'd1353: data <= 8'd228; + 12'd1354: data <= 8'd168; + 12'd1355: data <= 8'd96; + 12'd1356: data <= 8'd160; + 12'd1357: data <= 8'd16; + 12'd1358: data <= 8'd160; + 12'd1359: data <= 8'd48; + 12'd1360: data <= 8'd160; + 12'd1361: data <= 8'd2; + 12'd1362: data <= 8'd0; + 12'd1363: data <= 8'd1; + 12'd1364: data <= 8'd2; + 12'd1365: data <= 8'd91; + 12'd1366: data <= 8'd199; + 12'd1367: data <= 8'd212; + 12'd1368: data <= 8'd220; + 12'd1369: data <= 8'd178; + 12'd1370: data <= 8'd228; + 12'd1371: data <= 8'd168; + 12'd1372: data <= 8'd96; + 12'd1373: data <= 8'd160; + 12'd1374: data <= 8'd56; + 12'd1375: data <= 8'd160; + 12'd1376: data <= 8'd16; + 12'd1377: data <= 8'd160; + 12'd1378: data <= 8'd15; + 12'd1379: data <= 8'd2; + 12'd1380: data <= 8'd0; + 12'd1381: data <= 8'd1; + 12'd1382: data <= 8'd8; + 12'd1383: data <= 8'd91; + 12'd1384: data <= 8'd78; + 12'd1385: data <= 8'd166; + 12'd1386: data <= 8'd64; + 12'd1387: data <= 8'd160; + 12'd1388: data <= 8'd8; + 12'd1389: data <= 8'd160; + 12'd1390: data <= 8'd192; + 12'd1391: data <= 8'd208; + 12'd1392: data <= 8'd232; + 12'd1393: data <= 8'd224; + 12'd1394: data <= 8'd224; + 12'd1395: data <= 8'd176; + 12'd1396: data <= 8'd15; + 12'd1397: data <= 8'd2; + 12'd1398: data <= 8'd64; + 12'd1399: data <= 8'd1; + 12'd1400: data <= 8'd3; + 12'd1401: data <= 8'd91; + 12'd1402: data <= 8'd188; + 12'd1403: data <= 8'd191; + 12'd1404: data <= 8'd228; + 12'd1405: data <= 8'd202; + 12'd1406: data <= 8'd236; + 12'd1407: data <= 8'd216; + 12'd1408: data <= 8'd8; + 12'd1409: data <= 8'd160; + 12'd1410: data <= 8'd72; + 12'd1411: data <= 8'd160; + 12'd1412: data <= 8'd56; + 12'd1413: data <= 8'd160; + 12'd1414: data <= 8'd1; + 12'd1415: data <= 8'd64; + 12'd1416: data <= 8'd1; + 12'd1417: data <= 8'd2; + 12'd1418: data <= 8'd91; + 12'd1419: data <= 8'd2; + 12'd1420: data <= 8'd64; + 12'd1421: data <= 8'd1; + 12'd1422: data <= 8'd2; + 12'd1423: data <= 8'd91; + 12'd1424: data <= 8'd188; + 12'd1425: data <= 8'd191; + 12'd1426: data <= 8'd228; + 12'd1427: data <= 8'd202; + 12'd1428: data <= 8'd236; + 12'd1429: data <= 8'd216; + 12'd1430: data <= 8'd8; + 12'd1431: data <= 8'd160; + 12'd1432: data <= 8'd56; + 12'd1433: data <= 8'd160; + 12'd1434: data <= 8'd72; + 12'd1435: data <= 8'd160; + 12'd1436: data <= 8'd15; + 12'd1437: data <= 8'd2; + 12'd1438: data <= 8'd112; + 12'd1439: data <= 8'd0; + 12'd1440: data <= 8'd3; + 12'd1441: data <= 8'd91; + 12'd1442: data <= 8'd114; + 12'd1443: data <= 8'd144; + 12'd1444: data <= 8'd16; + 12'd1445: data <= 8'd156; + 12'd1446: data <= 8'd248; + 12'd1447: data <= 8'd208; + 12'd1448: data <= 8'd208; + 12'd1449: data <= 8'd208; + 12'd1450: data <= 8'd216; + 12'd1451: data <= 8'd192; + 12'd1452: data <= 8'd240; + 12'd1453: data <= 8'd176; + 12'd1454: data <= 8'd2; + 12'd1455: data <= 8'd112; + 12'd1456: data <= 8'd0; + 12'd1457: data <= 8'd2; + 12'd1458: data <= 8'd91; + 12'd1459: data <= 8'd116; + 12'd1460: data <= 8'd138; + 12'd1461: data <= 8'd12; + 12'd1462: data <= 8'd168; + 12'd1463: data <= 8'd252; + 12'd1464: data <= 8'd216; + 12'd1465: data <= 8'd200; + 12'd1466: data <= 8'd208; + 12'd1467: data <= 8'd216; + 12'd1468: data <= 8'd176; + 12'd1469: data <= 8'd240; + 12'd1470: data <= 8'd176; + 12'd1471: data <= 8'd2; + 12'd1472: data <= 8'd112; + 12'd1473: data <= 8'd0; + 12'd1474: data <= 8'd4; + 12'd1475: data <= 8'd91; + 12'd1476: data <= 8'd112; + 12'd1477: data <= 8'd144; + 12'd1478: data <= 8'd12; + 12'd1479: data <= 8'd172; + 12'd1480: data <= 8'd248; + 12'd1481: data <= 8'd192; + 12'd1482: data <= 8'd208; + 12'd1483: data <= 8'd224; + 12'd1484: data <= 8'd216; + 12'd1485: data <= 8'd192; + 12'd1486: data <= 8'd248; + 12'd1487: data <= 8'd240; + 12'd1488: data <= 8'd2; + 12'd1489: data <= 8'd112; + 12'd1490: data <= 8'd0; + 12'd1491: data <= 8'd1; + 12'd1492: data <= 8'd91; + 12'd1493: data <= 8'd107; + 12'd1494: data <= 8'd151; + 12'd1495: data <= 8'd16; + 12'd1496: data <= 8'd176; + 12'd1497: data <= 8'd0; + 12'd1498: data <= 8'd200; + 12'd1499: data <= 8'd200; + 12'd1500: data <= 8'd192; + 12'd1501: data <= 8'd224; + 12'd1502: data <= 8'd176; + 12'd1503: data <= 8'd240; + 12'd1504: data <= 8'd240; + 12'd1505: data <= 8'd2; + 12'd1506: data <= 8'd192; + 12'd1507: data <= 8'd1; + 12'd1508: data <= 8'd3; + 12'd1509: data <= 8'd91; + 12'd1510: data <= 8'd104; + 12'd1511: data <= 8'd151; + 12'd1512: data <= 8'd16; + 12'd1513: data <= 8'd160; + 12'd1514: data <= 8'd0; + 12'd1515: data <= 8'd184; + 12'd1516: data <= 8'd232; + 12'd1517: data <= 8'd240; + 12'd1518: data <= 8'd216; + 12'd1519: data <= 8'd192; + 12'd1520: data <= 8'd224; + 12'd1521: data <= 8'd192; + 12'd1522: data <= 8'd2; + 12'd1523: data <= 8'd192; + 12'd1524: data <= 8'd1; + 12'd1525: data <= 8'd1; + 12'd1526: data <= 8'd91; + 12'd1527: data <= 8'd100; + 12'd1528: data <= 8'd152; + 12'd1529: data <= 8'd16; + 12'd1530: data <= 8'd164; + 12'd1531: data <= 8'd0; + 12'd1532: data <= 8'd184; + 12'd1533: data <= 8'd224; + 12'd1534: data <= 8'd240; + 12'd1535: data <= 8'd216; + 12'd1536: data <= 8'd192; + 12'd1537: data <= 8'd232; + 12'd1538: data <= 8'd224; + 12'd1539: data <= 8'd15; + 12'd1540: data <= 8'd2; + 12'd1541: data <= 8'd192; + 12'd1542: data <= 8'd0; + 12'd1543: data <= 8'd9; + 12'd1544: data <= 8'd91; + 12'd1545: data <= 8'd82; + 12'd1546: data <= 8'd154; + 12'd1547: data <= 8'd36; + 12'd1548: data <= 8'd180; + 12'd1549: data <= 8'd16; + 12'd1550: data <= 8'd224; + 12'd1551: data <= 8'd208; + 12'd1552: data <= 8'd176; + 12'd1553: data <= 8'd224; + 12'd1554: data <= 8'd176; + 12'd1555: data <= 8'd8; + 12'd1556: data <= 8'd192; + 12'd1557: data <= 8'd15; + 12'd1558: data <= 8'd2; + 12'd1559: data <= 8'd7; + 12'd1560: data <= 8'd0; + 12'd1561: data <= 8'd6; + 12'd1562: data <= 8'd0; + 12'd1563: data <= 8'd21; + 12'd1564: data <= 8'd244; + 12'd1565: data <= 8'd248; + 12'd1566: data <= 8'd178; + 12'd1567: data <= 8'd220; + 12'd1568: data <= 8'd216; + 12'd1569: data <= 8'd0; + 12'd1570: data <= 8'd0; + 12'd1571: data <= 8'd0; + 12'd1572: data <= 8'd0; + 12'd1573: data <= 8'd0; + 12'd1574: data <= 8'd0; + 12'd1575: data <= 8'd2; + 12'd1576: data <= 8'd16; + 12'd1577: data <= 8'd0; + 12'd1578: data <= 8'd6; + 12'd1579: data <= 8'd0; + 12'd1580: data <= 8'd15; + 12'd1581: data <= 8'd230; + 12'd1582: data <= 8'd244; + 12'd1583: data <= 8'd194; + 12'd1584: data <= 8'd204; + 12'd1585: data <= 8'd200; + 12'd1586: data <= 8'd0; + 12'd1587: data <= 8'd0; + 12'd1588: data <= 8'd0; + 12'd1589: data <= 8'd0; + 12'd1590: data <= 8'd0; + 12'd1591: data <= 8'd0; + 12'd1592: data <= 8'd2; + 12'd1593: data <= 8'd5; + 12'd1594: data <= 8'd0; + 12'd1595: data <= 8'd2; + 12'd1596: data <= 8'd0; + 12'd1597: data <= 8'd253; + 12'd1598: data <= 8'd193; + 12'd1599: data <= 8'd24; + 12'd1600: data <= 8'd14; + 12'd1601: data <= 8'd224; + 12'd1602: data <= 8'd208; + 12'd1603: data <= 8'd0; + 12'd1604: data <= 8'd0; + 12'd1605: data <= 8'd0; + 12'd1606: data <= 8'd0; + 12'd1607: data <= 8'd0; + 12'd1608: data <= 8'd0; + 12'd1609: data <= 8'd15; + 12'd1610: data <= 8'd2; + 12'd1611: data <= 8'd1; + 12'd1612: data <= 8'd0; + 12'd1613: data <= 8'd3; + 12'd1614: data <= 8'd91; + 12'd1615: data <= 8'd120; + 12'd1616: data <= 8'd138; + 12'd1617: data <= 8'd232; + 12'd1618: data <= 8'd252; + 12'd1619: data <= 8'd28; + 12'd1620: data <= 8'd224; + 12'd1621: data <= 8'd192; + 12'd1622: data <= 8'd208; + 12'd1623: data <= 8'd232; + 12'd1624: data <= 8'd192; + 12'd1625: data <= 8'd8; + 12'd1626: data <= 8'd208; + 12'd1627: data <= 8'd2; + 12'd1628: data <= 8'd192; + 12'd1629: data <= 8'd0; + 12'd1630: data <= 8'd1; + 12'd1631: data <= 8'd91; + 12'd1632: data <= 8'd104; + 12'd1633: data <= 8'd148; + 12'd1634: data <= 8'd32; + 12'd1635: data <= 8'd140; + 12'd1636: data <= 8'd8; + 12'd1637: data <= 8'd136; + 12'd1638: data <= 8'd208; + 12'd1639: data <= 8'd192; + 12'd1640: data <= 8'd232; + 12'd1641: data <= 8'd240; + 12'd1642: data <= 8'd224; + 12'd1643: data <= 8'd176; + 12'd1644: data <= 8'd15; + 12'd1645: data <= 8'd2; + 12'd1646: data <= 8'd10; + 12'd1647: data <= 8'd0; + 12'd1648: data <= 8'd20; + 12'd1649: data <= 8'd0; + 12'd1650: data <= 8'd27; + 12'd1651: data <= 8'd197; + 12'd1652: data <= 8'd240; + 12'd1653: data <= 8'd220; + 12'd1654: data <= 8'd208; + 12'd1655: data <= 8'd208; + 12'd1656: data <= 8'd0; + 12'd1657: data <= 8'd0; + 12'd1658: data <= 8'd0; + 12'd1659: data <= 8'd0; + 12'd1660: data <= 8'd0; + 12'd1661: data <= 8'd0; + 12'd1662: data <= 8'd15; + 12'd1663: data <= 8'd2; + 12'd1664: data <= 8'd160; + 12'd1665: data <= 8'd0; + 12'd1666: data <= 8'd8; + 12'd1667: data <= 8'd91; + 12'd1668: data <= 8'd92; + 12'd1669: data <= 8'd162; + 12'd1670: data <= 8'd232; + 12'd1671: data <= 8'd250; + 12'd1672: data <= 8'd64; + 12'd1673: data <= 8'd152; + 12'd1674: data <= 8'd216; + 12'd1675: data <= 8'd176; + 12'd1676: data <= 8'd224; + 12'd1677: data <= 8'd176; + 12'd1678: data <= 8'd8; + 12'd1679: data <= 8'd144; + 12'd1680: data <= 8'd15; + 12'd1681: data <= 8'd2; + 12'd1682: data <= 8'd160; + 12'd1683: data <= 8'd0; + 12'd1684: data <= 8'd8; + 12'd1685: data <= 8'd91; + 12'd1686: data <= 8'd99; + 12'd1687: data <= 8'd159; + 12'd1688: data <= 8'd224; + 12'd1689: data <= 8'd244; + 12'd1690: data <= 8'd40; + 12'd1691: data <= 8'd160; + 12'd1692: data <= 8'd224; + 12'd1693: data <= 8'd192; + 12'd1694: data <= 8'd232; + 12'd1695: data <= 8'd160; + 12'd1696: data <= 8'd16; + 12'd1697: data <= 8'd160; + 12'd1698: data <= 8'd2; + 12'd1699: data <= 8'd192; + 12'd1700: data <= 8'd0; + 12'd1701: data <= 8'd4; + 12'd1702: data <= 8'd91; + 12'd1703: data <= 8'd90; + 12'd1704: data <= 8'd173; + 12'd1705: data <= 8'd48; + 12'd1706: data <= 8'd154; + 12'd1707: data <= 8'd16; + 12'd1708: data <= 8'd160; + 12'd1709: data <= 8'd200; + 12'd1710: data <= 8'd208; + 12'd1711: data <= 8'd224; + 12'd1712: data <= 8'd176; + 12'd1713: data <= 8'd232; + 12'd1714: data <= 8'd176; + 12'd1715: data <= 8'd2; + 12'd1716: data <= 8'd192; + 12'd1717: data <= 8'd0; + 12'd1718: data <= 8'd7; + 12'd1719: data <= 8'd91; + 12'd1720: data <= 8'd99; + 12'd1721: data <= 8'd159; + 12'd1722: data <= 8'd56; + 12'd1723: data <= 8'd162; + 12'd1724: data <= 8'd16; + 12'd1725: data <= 8'd160; + 12'd1726: data <= 8'd192; + 12'd1727: data <= 8'd192; + 12'd1728: data <= 8'd216; + 12'd1729: data <= 8'd176; + 12'd1730: data <= 8'd232; + 12'd1731: data <= 8'd144; + 12'd1732: data <= 8'd15; + 12'd1733: data <= 8'd2; + 12'd1734: data <= 8'd112; + 12'd1735: data <= 8'd0; + 12'd1736: data <= 8'd8; + 12'd1737: data <= 8'd91; + 12'd1738: data <= 8'd0; + 12'd1739: data <= 8'd0; + 12'd1740: data <= 8'd224; + 12'd1741: data <= 8'd188; + 12'd1742: data <= 8'd244; + 12'd1743: data <= 8'd224; + 12'd1744: data <= 8'd8; + 12'd1745: data <= 8'd176; + 12'd1746: data <= 8'd48; + 12'd1747: data <= 8'd160; + 12'd1748: data <= 8'd72; + 12'd1749: data <= 8'd160; + 12'd1750: data <= 8'd2; + 12'd1751: data <= 8'd64; + 12'd1752: data <= 8'd0; + 12'd1753: data <= 8'd5; + 12'd1754: data <= 8'd91; + 12'd1755: data <= 8'd0; + 12'd1756: data <= 8'd0; + 12'd1757: data <= 8'd224; + 12'd1758: data <= 8'd188; + 12'd1759: data <= 8'd244; + 12'd1760: data <= 8'd224; + 12'd1761: data <= 8'd8; + 12'd1762: data <= 8'd176; + 12'd1763: data <= 8'd56; + 12'd1764: data <= 8'd160; + 12'd1765: data <= 8'd80; + 12'd1766: data <= 8'd160; + 12'd1767: data <= 8'd2; + 12'd1768: data <= 8'd40; + 12'd1769: data <= 8'd0; + 12'd1770: data <= 8'd4; + 12'd1771: data <= 8'd91; + 12'd1772: data <= 8'd0; + 12'd1773: data <= 8'd0; + 12'd1774: data <= 8'd224; + 12'd1775: data <= 8'd188; + 12'd1776: data <= 8'd244; + 12'd1777: data <= 8'd224; + 12'd1778: data <= 8'd8; + 12'd1779: data <= 8'd176; + 12'd1780: data <= 8'd64; + 12'd1781: data <= 8'd160; + 12'd1782: data <= 8'd80; + 12'd1783: data <= 8'd160; + 12'd1784: data <= 8'd2; + 12'd1785: data <= 8'd32; + 12'd1786: data <= 8'd0; + 12'd1787: data <= 8'd4; + 12'd1788: data <= 8'd91; + 12'd1789: data <= 8'd0; + 12'd1790: data <= 8'd0; + 12'd1791: data <= 8'd224; + 12'd1792: data <= 8'd188; + 12'd1793: data <= 8'd244; + 12'd1794: data <= 8'd224; + 12'd1795: data <= 8'd0; + 12'd1796: data <= 8'd176; + 12'd1797: data <= 8'd64; + 12'd1798: data <= 8'd160; + 12'd1799: data <= 8'd88; + 12'd1800: data <= 8'd160; + 12'd1801: data <= 8'd2; + 12'd1802: data <= 8'd10; + 12'd1803: data <= 8'd0; + 12'd1804: data <= 8'd7; + 12'd1805: data <= 8'd91; + 12'd1806: data <= 8'd0; + 12'd1807: data <= 8'd0; + 12'd1808: data <= 8'd224; + 12'd1809: data <= 8'd188; + 12'd1810: data <= 8'd244; + 12'd1811: data <= 8'd224; + 12'd1812: data <= 8'd0; + 12'd1813: data <= 8'd176; + 12'd1814: data <= 8'd72; + 12'd1815: data <= 8'd160; + 12'd1816: data <= 8'd96; + 12'd1817: data <= 8'd160; + 12'd1818: data <= 8'd15; + 12'd1819: data <= 8'd2; + 12'd1820: data <= 8'd0; + 12'd1821: data <= 8'd0; + 12'd1822: data <= 8'd4; + 12'd1823: data <= 8'd64; + 12'd1824: data <= 8'd0; + 12'd1825: data <= 8'd0; + 12'd1826: data <= 8'd0; + 12'd1827: data <= 8'd0; + 12'd1828: data <= 8'd0; + 12'd1829: data <= 8'd0; + 12'd1830: data <= 8'd0; + 12'd1831: data <= 8'd0; + 12'd1832: data <= 8'd0; + 12'd1833: data <= 8'd0; + 12'd1834: data <= 8'd0; + 12'd1835: data <= 8'd0; + 12'd1836: data <= 8'd2; + 12'd1837: data <= 8'd14; + 12'd1838: data <= 8'd0; + 12'd1839: data <= 8'd3; + 12'd1840: data <= 8'd0; + 12'd1841: data <= 8'd25; + 12'd1842: data <= 8'd221; + 12'd1843: data <= 8'd236; + 12'd1844: data <= 8'd206; + 12'd1845: data <= 8'd216; + 12'd1846: data <= 8'd224; + 12'd1847: data <= 8'd0; + 12'd1848: data <= 8'd0; + 12'd1849: data <= 8'd0; + 12'd1850: data <= 8'd0; + 12'd1851: data <= 8'd0; + 12'd1852: data <= 8'd0; + 12'd1853: data <= 8'd2; + 12'd1854: data <= 8'd128; + 12'd1855: data <= 8'd1; + 12'd1856: data <= 8'd3; + 12'd1857: data <= 8'd91; + 12'd1858: data <= 8'd99; + 12'd1859: data <= 8'd163; + 12'd1860: data <= 8'd28; + 12'd1861: data <= 8'd142; + 12'd1862: data <= 8'd8; + 12'd1863: data <= 8'd160; + 12'd1864: data <= 8'd192; + 12'd1865: data <= 8'd208; + 12'd1866: data <= 8'd224; + 12'd1867: data <= 8'd176; + 12'd1868: data <= 8'd232; + 12'd1869: data <= 8'd176; + 12'd1870: data <= 8'd15; + 12'd1871: data <= 8'd2; + 12'd1872: data <= 8'd0; + 12'd1873: data <= 8'd0; + 12'd1874: data <= 8'd8; + 12'd1875: data <= 8'd64; + 12'd1876: data <= 8'd0; + 12'd1877: data <= 8'd0; + 12'd1878: data <= 8'd0; + 12'd1879: data <= 8'd0; + 12'd1880: data <= 8'd0; + 12'd1881: data <= 8'd0; + 12'd1882: data <= 8'd0; + 12'd1883: data <= 8'd0; + 12'd1884: data <= 8'd0; + 12'd1885: data <= 8'd0; + 12'd1886: data <= 8'd0; + 12'd1887: data <= 8'd0; + 12'd1888: data <= 8'd2; + 12'd1889: data <= 8'd14; + 12'd1890: data <= 8'd0; + 12'd1891: data <= 8'd5; + 12'd1892: data <= 8'd0; + 12'd1893: data <= 8'd22; + 12'd1894: data <= 8'd214; + 12'd1895: data <= 8'd12; + 12'd1896: data <= 8'd190; + 12'd1897: data <= 8'd208; + 12'd1898: data <= 8'd184; + 12'd1899: data <= 8'd0; + 12'd1900: data <= 8'd0; + 12'd1901: data <= 8'd0; + 12'd1902: data <= 8'd0; + 12'd1903: data <= 8'd0; + 12'd1904: data <= 8'd0; + 12'd1905: data <= 8'd2; + 12'd1906: data <= 8'd80; + 12'd1907: data <= 8'd0; + 12'd1908: data <= 8'd3; + 12'd1909: data <= 8'd91; + 12'd1910: data <= 8'd100; + 12'd1911: data <= 8'd152; + 12'd1912: data <= 8'd24; + 12'd1913: data <= 8'd168; + 12'd1914: data <= 8'd8; + 12'd1915: data <= 8'd152; + 12'd1916: data <= 8'd232; + 12'd1917: data <= 8'd240; + 12'd1918: data <= 8'd208; + 12'd1919: data <= 8'd176; + 12'd1920: data <= 8'd224; + 12'd1921: data <= 8'd208; + 12'd1922: data <= 8'd15; + 12'd1923: data <= 8'd2; + 12'd1924: data <= 8'd8; + 12'd1925: data <= 8'd0; + 12'd1926: data <= 8'd6; + 12'd1927: data <= 8'd91; + 12'd1928: data <= 8'd88; + 12'd1929: data <= 8'd185; + 12'd1930: data <= 8'd56; + 12'd1931: data <= 8'd152; + 12'd1932: data <= 8'd16; + 12'd1933: data <= 8'd184; + 12'd1934: data <= 8'd176; + 12'd1935: data <= 8'd192; + 12'd1936: data <= 8'd216; + 12'd1937: data <= 8'd176; + 12'd1938: data <= 8'd248; + 12'd1939: data <= 8'd208; + 12'd1940: data <= 8'd2; + 12'd1941: data <= 8'd56; + 12'd1942: data <= 8'd0; + 12'd1943: data <= 8'd6; + 12'd1944: data <= 8'd91; + 12'd1945: data <= 8'd34; + 12'd1946: data <= 8'd198; + 12'd1947: data <= 8'd48; + 12'd1948: data <= 8'd230; + 12'd1949: data <= 8'd16; + 12'd1950: data <= 8'd192; + 12'd1951: data <= 8'd176; + 12'd1952: data <= 8'd176; + 12'd1953: data <= 8'd216; + 12'd1954: data <= 8'd192; + 12'd1955: data <= 8'd240; + 12'd1956: data <= 8'd192; + 12'd1957: data <= 8'd2; + 12'd1958: data <= 8'd80; + 12'd1959: data <= 8'd0; + 12'd1960: data <= 8'd2; + 12'd1961: data <= 8'd91; + 12'd1962: data <= 8'd57; + 12'd1963: data <= 8'd219; + 12'd1964: data <= 8'd212; + 12'd1965: data <= 8'd232; + 12'd1966: data <= 8'd48; + 12'd1967: data <= 8'd152; + 12'd1968: data <= 8'd224; + 12'd1969: data <= 8'd192; + 12'd1970: data <= 8'd232; + 12'd1971: data <= 8'd192; + 12'd1972: data <= 8'd16; + 12'd1973: data <= 8'd160; + 12'd1974: data <= 8'd15; + 12'd1975: data <= 8'd2; + 12'd1976: data <= 8'd0; + 12'd1977: data <= 8'd0; + 12'd1978: data <= 8'd4; + 12'd1979: data <= 8'd64; + 12'd1980: data <= 8'd0; + 12'd1981: data <= 8'd0; + 12'd1982: data <= 8'd0; + 12'd1983: data <= 8'd0; + 12'd1984: data <= 8'd0; + 12'd1985: data <= 8'd0; + 12'd1986: data <= 8'd0; + 12'd1987: data <= 8'd0; + 12'd1988: data <= 8'd0; + 12'd1989: data <= 8'd0; + 12'd1990: data <= 8'd0; + 12'd1991: data <= 8'd0; + 12'd1992: data <= 8'd2; + 12'd1993: data <= 8'd8; + 12'd1994: data <= 8'd0; + 12'd1995: data <= 8'd3; + 12'd1996: data <= 8'd0; + 12'd1997: data <= 8'd5; + 12'd1998: data <= 8'd191; + 12'd1999: data <= 8'd4; + 12'd2000: data <= 8'd16; + 12'd2001: data <= 8'd236; + 12'd2002: data <= 8'd208; + 12'd2003: data <= 8'd0; + 12'd2004: data <= 8'd0; + 12'd2005: data <= 8'd0; + 12'd2006: data <= 8'd0; + 12'd2007: data <= 8'd0; + 12'd2008: data <= 8'd0; + 12'd2009: data <= 8'd2; + 12'd2010: data <= 8'd224; + 12'd2011: data <= 8'd0; + 12'd2012: data <= 8'd3; + 12'd2013: data <= 8'd91; + 12'd2014: data <= 8'd95; + 12'd2015: data <= 8'd164; + 12'd2016: data <= 8'd12; + 12'd2017: data <= 8'd162; + 12'd2018: data <= 8'd8; + 12'd2019: data <= 8'd208; + 12'd2020: data <= 8'd200; + 12'd2021: data <= 8'd208; + 12'd2022: data <= 8'd224; + 12'd2023: data <= 8'd160; + 12'd2024: data <= 8'd240; + 12'd2025: data <= 8'd192; + 12'd2026: data <= 8'd15; + 12'd2027: data <= 8'd2; + 12'd2028: data <= 8'd4; + 12'd2029: data <= 8'd0; + 12'd2030: data <= 8'd6; + 12'd2031: data <= 8'd0; + 12'd2032: data <= 8'd5; + 12'd2033: data <= 8'd164; + 12'd2034: data <= 8'd244; + 12'd2035: data <= 8'd242; + 12'd2036: data <= 8'd228; + 12'd2037: data <= 8'd176; + 12'd2038: data <= 8'd0; + 12'd2039: data <= 8'd0; + 12'd2040: data <= 8'd0; + 12'd2041: data <= 8'd0; + 12'd2042: data <= 8'd0; + 12'd2043: data <= 8'd0; + 12'd2044: data <= 8'd2; + 12'd2045: data <= 8'd24; + 12'd2046: data <= 8'd0; + 12'd2047: data <= 8'd3; + 12'd2048: data <= 8'd0; + 12'd2049: data <= 8'd6; + 12'd2050: data <= 8'd170; + 12'd2051: data <= 8'd232; + 12'd2052: data <= 8'd190; + 12'd2053: data <= 8'd220; + 12'd2054: data <= 8'd232; + 12'd2055: data <= 8'd0; + 12'd2056: data <= 8'd0; + 12'd2057: data <= 8'd0; + 12'd2058: data <= 8'd0; + 12'd2059: data <= 8'd0; + 12'd2060: data <= 8'd0; + 12'd2061: data <= 8'd2; + 12'd2062: data <= 8'd24; + 12'd2063: data <= 8'd0; + 12'd2064: data <= 8'd18; + 12'd2065: data <= 8'd0; + 12'd2066: data <= 8'd4; + 12'd2067: data <= 8'd165; + 12'd2068: data <= 8'd232; + 12'd2069: data <= 8'd182; + 12'd2070: data <= 8'd224; + 12'd2071: data <= 8'd232; + 12'd2072: data <= 8'd0; + 12'd2073: data <= 8'd0; + 12'd2074: data <= 8'd0; + 12'd2075: data <= 8'd0; + 12'd2076: data <= 8'd0; + 12'd2077: data <= 8'd0; + 12'd2078: data <= 8'd2; + 12'd2079: data <= 8'd20; + 12'd2080: data <= 8'd0; + 12'd2081: data <= 8'd4; + 12'd2082: data <= 8'd0; + 12'd2083: data <= 8'd8; + 12'd2084: data <= 8'd180; + 12'd2085: data <= 8'd240; + 12'd2086: data <= 8'd210; + 12'd2087: data <= 8'd220; + 12'd2088: data <= 8'd232; + 12'd2089: data <= 8'd0; + 12'd2090: data <= 8'd0; + 12'd2091: data <= 8'd0; + 12'd2092: data <= 8'd0; + 12'd2093: data <= 8'd0; + 12'd2094: data <= 8'd0; + 12'd2095: data <= 8'd15; + 12'd2096: data <= 8'd2; + 12'd2097: data <= 8'd80; + 12'd2098: data <= 8'd0; + 12'd2099: data <= 8'd7; + 12'd2100: data <= 8'd91; + 12'd2101: data <= 8'd0; + 12'd2102: data <= 8'd0; + 12'd2103: data <= 8'd220; + 12'd2104: data <= 8'd184; + 12'd2105: data <= 8'd236; + 12'd2106: data <= 8'd168; + 12'd2107: data <= 8'd8; + 12'd2108: data <= 8'd160; + 12'd2109: data <= 8'd32; + 12'd2110: data <= 8'd192; + 12'd2111: data <= 8'd64; + 12'd2112: data <= 8'd208; + 12'd2113: data <= 8'd2; + 12'd2114: data <= 8'd32; + 12'd2115: data <= 8'd0; + 12'd2116: data <= 8'd11; + 12'd2117: data <= 8'd0; + 12'd2118: data <= 8'd2; + 12'd2119: data <= 8'd193; + 12'd2120: data <= 8'd224; + 12'd2121: data <= 8'd190; + 12'd2122: data <= 8'd0; + 12'd2123: data <= 8'd0; + 12'd2124: data <= 8'd0; + 12'd2125: data <= 8'd0; + 12'd2126: data <= 8'd0; + 12'd2127: data <= 8'd0; + 12'd2128: data <= 8'd0; + 12'd2129: data <= 8'd0; + 12'd2130: data <= 8'd15; + 12'd2131: data <= 8'd2; + 12'd2132: data <= 8'd14; + 12'd2133: data <= 8'd0; + 12'd2134: data <= 8'd2; + 12'd2135: data <= 8'd91; + 12'd2136: data <= 8'd92; + 12'd2137: data <= 8'd172; + 12'd2138: data <= 8'd68; + 12'd2139: data <= 8'd168; + 12'd2140: data <= 8'd36; + 12'd2141: data <= 8'd184; + 12'd2142: data <= 8'd200; + 12'd2143: data <= 8'd208; + 12'd2144: data <= 8'd224; + 12'd2145: data <= 8'd208; + 12'd2146: data <= 8'd248; + 12'd2147: data <= 8'd192; + 12'd2148: data <= 8'd2; + 12'd2149: data <= 8'd24; + 12'd2150: data <= 8'd0; + 12'd2151: data <= 8'd3; + 12'd2152: data <= 8'd91; + 12'd2153: data <= 8'd95; + 12'd2154: data <= 8'd163; + 12'd2155: data <= 8'd228; + 12'd2156: data <= 8'd248; + 12'd2157: data <= 8'd68; + 12'd2158: data <= 8'd160; + 12'd2159: data <= 8'd224; + 12'd2160: data <= 8'd208; + 12'd2161: data <= 8'd240; + 12'd2162: data <= 8'd144; + 12'd2163: data <= 8'd48; + 12'd2164: data <= 8'd160; + 12'd2165: data <= 8'd2; + 12'd2166: data <= 8'd24; + 12'd2167: data <= 8'd0; + 12'd2168: data <= 8'd4; + 12'd2169: data <= 8'd91; + 12'd2170: data <= 8'd93; + 12'd2171: data <= 8'd164; + 12'd2172: data <= 8'd224; + 12'd2173: data <= 8'd236; + 12'd2174: data <= 8'd68; + 12'd2175: data <= 8'd160; + 12'd2176: data <= 8'd232; + 12'd2177: data <= 8'd176; + 12'd2178: data <= 8'd240; + 12'd2179: data <= 8'd160; + 12'd2180: data <= 8'd48; + 12'd2181: data <= 8'd192; + 12'd2182: data <= 8'd15; + 12'd2183: data <= 8'd2; + 12'd2184: data <= 8'd14; + 12'd2185: data <= 8'd0; + 12'd2186: data <= 8'd17; + 12'd2187: data <= 8'd0; + 12'd2188: data <= 8'd29; + 12'd2189: data <= 8'd217; + 12'd2190: data <= 8'd252; + 12'd2191: data <= 8'd216; + 12'd2192: data <= 8'd216; + 12'd2193: data <= 8'd200; + 12'd2194: data <= 8'd0; + 12'd2195: data <= 8'd0; + 12'd2196: data <= 8'd0; + 12'd2197: data <= 8'd0; + 12'd2198: data <= 8'd0; + 12'd2199: data <= 8'd0; + 12'd2200: data <= 8'd15; + 12'd2201: data <= 8'd2; + 12'd2202: data <= 8'd0; + 12'd2203: data <= 8'd0; + 12'd2204: data <= 8'd18; + 12'd2205: data <= 8'd64; + 12'd2206: data <= 8'd0; + 12'd2207: data <= 8'd0; + 12'd2208: data <= 8'd0; + 12'd2209: data <= 8'd0; + 12'd2210: data <= 8'd0; + 12'd2211: data <= 8'd0; + 12'd2212: data <= 8'd0; + 12'd2213: data <= 8'd0; + 12'd2214: data <= 8'd0; + 12'd2215: data <= 8'd0; + 12'd2216: data <= 8'd0; + 12'd2217: data <= 8'd0; + 12'd2218: data <= 8'd2; + 12'd2219: data <= 8'd14; + 12'd2220: data <= 8'd0; + 12'd2221: data <= 8'd1; + 12'd2222: data <= 8'd0; + 12'd2223: data <= 8'd34; + 12'd2224: data <= 8'd170; + 12'd2225: data <= 8'd252; + 12'd2226: data <= 8'd238; + 12'd2227: data <= 8'd204; + 12'd2228: data <= 8'd208; + 12'd2229: data <= 8'd0; + 12'd2230: data <= 8'd0; + 12'd2231: data <= 8'd0; + 12'd2232: data <= 8'd0; + 12'd2233: data <= 8'd0; + 12'd2234: data <= 8'd0; + 12'd2235: data <= 8'd2; + 12'd2236: data <= 8'd14; + 12'd2237: data <= 8'd0; + 12'd2238: data <= 8'd2; + 12'd2239: data <= 8'd0; + 12'd2240: data <= 8'd36; + 12'd2241: data <= 8'd183; + 12'd2242: data <= 8'd12; + 12'd2243: data <= 8'd226; + 12'd2244: data <= 8'd212; + 12'd2245: data <= 8'd216; + 12'd2246: data <= 8'd0; + 12'd2247: data <= 8'd0; + 12'd2248: data <= 8'd0; + 12'd2249: data <= 8'd0; + 12'd2250: data <= 8'd0; + 12'd2251: data <= 8'd0; + 12'd2252: data <= 8'd15; + 12'd2253: data <= 8'd2; + 12'd2254: data <= 8'd0; + 12'd2255: data <= 8'd0; + 12'd2256: data <= 8'd7; + 12'd2257: data <= 8'd64; + 12'd2258: data <= 8'd0; + 12'd2259: data <= 8'd0; + 12'd2260: data <= 8'd0; + 12'd2261: data <= 8'd0; + 12'd2262: data <= 8'd0; + 12'd2263: data <= 8'd0; + 12'd2264: data <= 8'd0; + 12'd2265: data <= 8'd0; + 12'd2266: data <= 8'd0; + 12'd2267: data <= 8'd0; + 12'd2268: data <= 8'd0; + 12'd2269: data <= 8'd0; + 12'd2270: data <= 8'd2; + 12'd2271: data <= 8'd40; + 12'd2272: data <= 8'd0; + 12'd2273: data <= 8'd1; + 12'd2274: data <= 8'd0; + 12'd2275: data <= 8'd30; + 12'd2276: data <= 8'd201; + 12'd2277: data <= 8'd244; + 12'd2278: data <= 8'd158; + 12'd2279: data <= 8'd208; + 12'd2280: data <= 8'd200; + 12'd2281: data <= 8'd0; + 12'd2282: data <= 8'd0; + 12'd2283: data <= 8'd0; + 12'd2284: data <= 8'd0; + 12'd2285: data <= 8'd0; + 12'd2286: data <= 8'd0; + 12'd2287: data <= 8'd2; + 12'd2288: data <= 8'd7; + 12'd2289: data <= 8'd0; + 12'd2290: data <= 8'd1; + 12'd2291: data <= 8'd0; + 12'd2292: data <= 8'd7; + 12'd2293: data <= 8'd188; + 12'd2294: data <= 8'd240; + 12'd2295: data <= 8'd202; + 12'd2296: data <= 8'd212; + 12'd2297: data <= 8'd224; + 12'd2298: data <= 8'd0; + 12'd2299: data <= 8'd0; + 12'd2300: data <= 8'd0; + 12'd2301: data <= 8'd0; + 12'd2302: data <= 8'd0; + 12'd2303: data <= 8'd0; + 12'd2304: data <= 8'd2; + 12'd2305: data <= 8'd20; + 12'd2306: data <= 8'd0; + 12'd2307: data <= 8'd9; + 12'd2308: data <= 8'd0; + 12'd2309: data <= 8'd25; + 12'd2310: data <= 8'd229; + 12'd2311: data <= 8'd244; + 12'd2312: data <= 8'd188; + 12'd2313: data <= 8'd212; + 12'd2314: data <= 8'd216; + 12'd2315: data <= 8'd0; + 12'd2316: data <= 8'd0; + 12'd2317: data <= 8'd0; + 12'd2318: data <= 8'd0; + 12'd2319: data <= 8'd0; + 12'd2320: data <= 8'd0; + 12'd2321: data <= 8'd15; + 12'd2322: data <= 8'd2; + 12'd2323: data <= 8'd0; + 12'd2324: data <= 8'd1; + 12'd2325: data <= 8'd6; + 12'd2326: data <= 8'd91; + 12'd2327: data <= 8'd89; + 12'd2328: data <= 8'd179; + 12'd2329: data <= 8'd36; + 12'd2330: data <= 8'd172; + 12'd2331: data <= 8'd0; + 12'd2332: data <= 8'd168; + 12'd2333: data <= 8'd168; + 12'd2334: data <= 8'd176; + 12'd2335: data <= 8'd192; + 12'd2336: data <= 8'd160; + 12'd2337: data <= 8'd224; + 12'd2338: data <= 8'd176; + 12'd2339: data <= 8'd2; + 12'd2340: data <= 8'd24; + 12'd2341: data <= 8'd0; + 12'd2342: data <= 8'd9; + 12'd2343: data <= 8'd0; + 12'd2344: data <= 8'd223; + 12'd2345: data <= 8'd208; + 12'd2346: data <= 8'd20; + 12'd2347: data <= 8'd0; + 12'd2348: data <= 8'd188; + 12'd2349: data <= 8'd168; + 12'd2350: data <= 8'd0; + 12'd2351: data <= 8'd0; + 12'd2352: data <= 8'd0; + 12'd2353: data <= 8'd0; + 12'd2354: data <= 8'd0; + 12'd2355: data <= 8'd0; + 12'd2356: data <= 8'd2; + 12'd2357: data <= 8'd64; + 12'd2358: data <= 8'd1; + 12'd2359: data <= 8'd4; + 12'd2360: data <= 8'd91; + 12'd2361: data <= 8'd71; + 12'd2362: data <= 8'd201; + 12'd2363: data <= 8'd36; + 12'd2364: data <= 8'd160; + 12'd2365: data <= 8'd0; + 12'd2366: data <= 8'd192; + 12'd2367: data <= 8'd184; + 12'd2368: data <= 8'd192; + 12'd2369: data <= 8'd192; + 12'd2370: data <= 8'd176; + 12'd2371: data <= 8'd224; + 12'd2372: data <= 8'd176; + 12'd2373: data <= 8'd15; + 12'd2374: data <= 8'd2; + 12'd2375: data <= 8'd224; + 12'd2376: data <= 8'd0; + 12'd2377: data <= 8'd5; + 12'd2378: data <= 8'd91; + 12'd2379: data <= 8'd171; + 12'd2380: data <= 8'd166; + 12'd2381: data <= 8'd212; + 12'd2382: data <= 8'd196; + 12'd2383: data <= 8'd252; + 12'd2384: data <= 8'd168; + 12'd2385: data <= 8'd8; + 12'd2386: data <= 8'd192; + 12'd2387: data <= 8'd72; + 12'd2388: data <= 8'd192; + 12'd2389: data <= 8'd40; + 12'd2390: data <= 8'd192; + 12'd2391: data <= 8'd2; + 12'd2392: data <= 8'd128; + 12'd2393: data <= 8'd0; + 12'd2394: data <= 8'd3; + 12'd2395: data <= 8'd91; + 12'd2396: data <= 8'd171; + 12'd2397: data <= 8'd166; + 12'd2398: data <= 8'd212; + 12'd2399: data <= 8'd196; + 12'd2400: data <= 8'd252; + 12'd2401: data <= 8'd168; + 12'd2402: data <= 8'd40; + 12'd2403: data <= 8'd192; + 12'd2404: data <= 8'd80; + 12'd2405: data <= 8'd192; + 12'd2406: data <= 8'd16; + 12'd2407: data <= 8'd192; + 12'd2408: data <= 8'd2; + 12'd2409: data <= 8'd112; + 12'd2410: data <= 8'd0; + 12'd2411: data <= 8'd6; + 12'd2412: data <= 8'd91; + 12'd2413: data <= 8'd171; + 12'd2414: data <= 8'd166; + 12'd2415: data <= 8'd212; + 12'd2416: data <= 8'd196; + 12'd2417: data <= 8'd252; + 12'd2418: data <= 8'd168; + 12'd2419: data <= 8'd40; + 12'd2420: data <= 8'd192; + 12'd2421: data <= 8'd16; + 12'd2422: data <= 8'd192; + 12'd2423: data <= 8'd80; + 12'd2424: data <= 8'd192; + 12'd2425: data <= 8'd2; + 12'd2426: data <= 8'd80; + 12'd2427: data <= 8'd0; + 12'd2428: data <= 8'd8; + 12'd2429: data <= 8'd91; + 12'd2430: data <= 8'd171; + 12'd2431: data <= 8'd166; + 12'd2432: data <= 8'd212; + 12'd2433: data <= 8'd196; + 12'd2434: data <= 8'd252; + 12'd2435: data <= 8'd168; + 12'd2436: data <= 8'd48; + 12'd2437: data <= 8'd192; + 12'd2438: data <= 8'd80; + 12'd2439: data <= 8'd192; + 12'd2440: data <= 8'd16; + 12'd2441: data <= 8'd192; + 12'd2442: data <= 8'd15; + 12'd2443: data <= 8'd2; + 12'd2444: data <= 8'd48; + 12'd2445: data <= 8'd0; + 12'd2446: data <= 8'd3; + 12'd2447: data <= 8'd91; + 12'd2448: data <= 8'd210; + 12'd2449: data <= 8'd219; + 12'd2450: data <= 8'd216; + 12'd2451: data <= 8'd188; + 12'd2452: data <= 8'd232; + 12'd2453: data <= 8'd208; + 12'd2454: data <= 8'd248; + 12'd2455: data <= 8'd192; + 12'd2456: data <= 8'd56; + 12'd2457: data <= 8'd160; + 12'd2458: data <= 8'd104; + 12'd2459: data <= 8'd160; + 12'd2460: data <= 8'd2; + 12'd2461: data <= 8'd160; + 12'd2462: data <= 8'd0; + 12'd2463: data <= 8'd3; + 12'd2464: data <= 8'd91; + 12'd2465: data <= 8'd210; + 12'd2466: data <= 8'd219; + 12'd2467: data <= 8'd216; + 12'd2468: data <= 8'd188; + 12'd2469: data <= 8'd232; + 12'd2470: data <= 8'd208; + 12'd2471: data <= 8'd248; + 12'd2472: data <= 8'd192; + 12'd2473: data <= 8'd56; + 12'd2474: data <= 8'd160; + 12'd2475: data <= 8'd96; + 12'd2476: data <= 8'd160; + 12'd2477: data <= 8'd2; + 12'd2478: data <= 8'd128; + 12'd2479: data <= 8'd0; + 12'd2480: data <= 8'd3; + 12'd2481: data <= 8'd91; + 12'd2482: data <= 8'd210; + 12'd2483: data <= 8'd219; + 12'd2484: data <= 8'd216; + 12'd2485: data <= 8'd188; + 12'd2486: data <= 8'd232; + 12'd2487: data <= 8'd208; + 12'd2488: data <= 8'd0; + 12'd2489: data <= 8'd192; + 12'd2490: data <= 8'd64; + 12'd2491: data <= 8'd160; + 12'd2492: data <= 8'd96; + 12'd2493: data <= 8'd160; + 12'd2494: data <= 8'd15; + 12'd2495: data <= 8'd2; + 12'd2496: data <= 8'd10; + 12'd2497: data <= 8'd0; + 12'd2498: data <= 8'd5; + 12'd2499: data <= 8'd91; + 12'd2500: data <= 8'd96; + 12'd2501: data <= 8'd166; + 12'd2502: data <= 8'd240; + 12'd2503: data <= 8'd8; + 12'd2504: data <= 8'd64; + 12'd2505: data <= 8'd200; + 12'd2506: data <= 8'd216; + 12'd2507: data <= 8'd208; + 12'd2508: data <= 8'd232; + 12'd2509: data <= 8'd192; + 12'd2510: data <= 8'd8; + 12'd2511: data <= 8'd224; + 12'd2512: data <= 8'd2; + 12'd2513: data <= 8'd14; + 12'd2514: data <= 8'd0; + 12'd2515: data <= 8'd5; + 12'd2516: data <= 8'd91; + 12'd2517: data <= 8'd98; + 12'd2518: data <= 8'd161; + 12'd2519: data <= 8'd80; + 12'd2520: data <= 8'd176; + 12'd2521: data <= 8'd4; + 12'd2522: data <= 8'd248; + 12'd2523: data <= 8'd200; + 12'd2524: data <= 8'd192; + 12'd2525: data <= 8'd224; + 12'd2526: data <= 8'd160; + 12'd2527: data <= 8'd248; + 12'd2528: data <= 8'd208; + 12'd2529: data <= 8'd2; + 12'd2530: data <= 8'd20; + 12'd2531: data <= 8'd0; + 12'd2532: data <= 8'd6; + 12'd2533: data <= 8'd91; + 12'd2534: data <= 8'd109; + 12'd2535: data <= 8'd142; + 12'd2536: data <= 8'd236; + 12'd2537: data <= 8'd254; + 12'd2538: data <= 8'd88; + 12'd2539: data <= 8'd144; + 12'd2540: data <= 8'd224; + 12'd2541: data <= 8'd176; + 12'd2542: data <= 8'd232; + 12'd2543: data <= 8'd160; + 12'd2544: data <= 8'd0; + 12'd2545: data <= 8'd176; + 12'd2546: data <= 8'd15; + 12'd2547: data <= 8'd2; + 12'd2548: data <= 8'd160; + 12'd2549: data <= 8'd0; + 12'd2550: data <= 8'd3; + 12'd2551: data <= 8'd91; + 12'd2552: data <= 8'd190; + 12'd2553: data <= 8'd167; + 12'd2554: data <= 8'd228; + 12'd2555: data <= 8'd174; + 12'd2556: data <= 8'd0; + 12'd2557: data <= 8'd240; + 12'd2558: data <= 8'd8; + 12'd2559: data <= 8'd160; + 12'd2560: data <= 8'd24; + 12'd2561: data <= 8'd160; + 12'd2562: data <= 8'd96; + 12'd2563: data <= 8'd160; + 12'd2564: data <= 8'd1; + 12'd2565: data <= 8'd160; + 12'd2566: data <= 8'd0; + 12'd2567: data <= 8'd2; + 12'd2568: data <= 8'd91; + 12'd2569: data <= 8'd2; + 12'd2570: data <= 8'd112; + 12'd2571: data <= 8'd0; + 12'd2572: data <= 8'd2; + 12'd2573: data <= 8'd91; + 12'd2574: data <= 8'd190; + 12'd2575: data <= 8'd167; + 12'd2576: data <= 8'd228; + 12'd2577: data <= 8'd174; + 12'd2578: data <= 8'd0; + 12'd2579: data <= 8'd240; + 12'd2580: data <= 8'd16; + 12'd2581: data <= 8'd160; + 12'd2582: data <= 8'd24; + 12'd2583: data <= 8'd160; + 12'd2584: data <= 8'd96; + 12'd2585: data <= 8'd160; + 12'd2586: data <= 8'd2; + 12'd2587: data <= 8'd160; + 12'd2588: data <= 8'd0; + 12'd2589: data <= 8'd2; + 12'd2590: data <= 8'd91; + 12'd2591: data <= 8'd190; + 12'd2592: data <= 8'd167; + 12'd2593: data <= 8'd228; + 12'd2594: data <= 8'd174; + 12'd2595: data <= 8'd0; + 12'd2596: data <= 8'd240; + 12'd2597: data <= 8'd16; + 12'd2598: data <= 8'd160; + 12'd2599: data <= 8'd32; + 12'd2600: data <= 8'd160; + 12'd2601: data <= 8'd96; + 12'd2602: data <= 8'd160; + 12'd2603: data <= 8'd2; + 12'd2604: data <= 8'd192; + 12'd2605: data <= 8'd0; + 12'd2606: data <= 8'd2; + 12'd2607: data <= 8'd91; + 12'd2608: data <= 8'd190; + 12'd2609: data <= 8'd167; + 12'd2610: data <= 8'd228; + 12'd2611: data <= 8'd174; + 12'd2612: data <= 8'd0; + 12'd2613: data <= 8'd240; + 12'd2614: data <= 8'd16; + 12'd2615: data <= 8'd160; + 12'd2616: data <= 8'd32; + 12'd2617: data <= 8'd160; + 12'd2618: data <= 8'd88; + 12'd2619: data <= 8'd160; + 12'd2620: data <= 8'd2; + 12'd2621: data <= 8'd160; + 12'd2622: data <= 8'd0; + 12'd2623: data <= 8'd2; + 12'd2624: data <= 8'd91; + 12'd2625: data <= 8'd190; + 12'd2626: data <= 8'd167; + 12'd2627: data <= 8'd228; + 12'd2628: data <= 8'd174; + 12'd2629: data <= 8'd0; + 12'd2630: data <= 8'd240; + 12'd2631: data <= 8'd24; + 12'd2632: data <= 8'd160; + 12'd2633: data <= 8'd40; + 12'd2634: data <= 8'd160; + 12'd2635: data <= 8'd88; + 12'd2636: data <= 8'd160; + 12'd2637: data <= 8'd1; + 12'd2638: data <= 8'd128; + 12'd2639: data <= 8'd0; + 12'd2640: data <= 8'd3; + 12'd2641: data <= 8'd91; + 12'd2642: data <= 8'd1; + 12'd2643: data <= 8'd112; + 12'd2644: data <= 8'd0; + 12'd2645: data <= 8'd1; + 12'd2646: data <= 8'd91; + 12'd2647: data <= 8'd2; + 12'd2648: data <= 8'd56; + 12'd2649: data <= 8'd0; + 12'd2650: data <= 8'd3; + 12'd2651: data <= 8'd91; + 12'd2652: data <= 8'd190; + 12'd2653: data <= 8'd167; + 12'd2654: data <= 8'd228; + 12'd2655: data <= 8'd174; + 12'd2656: data <= 8'd0; + 12'd2657: data <= 8'd240; + 12'd2658: data <= 8'd32; + 12'd2659: data <= 8'd160; + 12'd2660: data <= 8'd48; + 12'd2661: data <= 8'd160; + 12'd2662: data <= 8'd88; + 12'd2663: data <= 8'd160; + 12'd2664: data <= 8'd2; + 12'd2665: data <= 8'd32; + 12'd2666: data <= 8'd0; + 12'd2667: data <= 8'd1; + 12'd2668: data <= 8'd91; + 12'd2669: data <= 8'd190; + 12'd2670: data <= 8'd167; + 12'd2671: data <= 8'd228; + 12'd2672: data <= 8'd174; + 12'd2673: data <= 8'd0; + 12'd2674: data <= 8'd240; + 12'd2675: data <= 8'd32; + 12'd2676: data <= 8'd160; + 12'd2677: data <= 8'd48; + 12'd2678: data <= 8'd160; + 12'd2679: data <= 8'd96; + 12'd2680: data <= 8'd160; + 12'd2681: data <= 8'd2; + 12'd2682: data <= 8'd48; + 12'd2683: data <= 8'd0; + 12'd2684: data <= 8'd2; + 12'd2685: data <= 8'd91; + 12'd2686: data <= 8'd190; + 12'd2687: data <= 8'd167; + 12'd2688: data <= 8'd228; + 12'd2689: data <= 8'd174; + 12'd2690: data <= 8'd0; + 12'd2691: data <= 8'd240; + 12'd2692: data <= 8'd24; + 12'd2693: data <= 8'd160; + 12'd2694: data <= 8'd48; + 12'd2695: data <= 8'd160; + 12'd2696: data <= 8'd88; + 12'd2697: data <= 8'd160; + 12'd2698: data <= 8'd1; + 12'd2699: data <= 8'd28; + 12'd2700: data <= 8'd0; + 12'd2701: data <= 8'd1; + 12'd2702: data <= 8'd91; + 12'd2703: data <= 8'd2; + 12'd2704: data <= 8'd20; + 12'd2705: data <= 8'd0; + 12'd2706: data <= 8'd3; + 12'd2707: data <= 8'd91; + 12'd2708: data <= 8'd190; + 12'd2709: data <= 8'd167; + 12'd2710: data <= 8'd228; + 12'd2711: data <= 8'd174; + 12'd2712: data <= 8'd0; + 12'd2713: data <= 8'd240; + 12'd2714: data <= 8'd24; + 12'd2715: data <= 8'd160; + 12'd2716: data <= 8'd40; + 12'd2717: data <= 8'd160; + 12'd2718: data <= 8'd88; + 12'd2719: data <= 8'd160; + 12'd2720: data <= 8'd15; + 12'd2721: data <= 8'd2; + 12'd2722: data <= 8'd3; + 12'd2723: data <= 8'd0; + 12'd2724: data <= 8'd6; + 12'd2725: data <= 8'd0; + 12'd2726: data <= 8'd46; + 12'd2727: data <= 8'd216; + 12'd2728: data <= 8'd4; + 12'd2729: data <= 8'd228; + 12'd2730: data <= 8'd224; + 12'd2731: data <= 8'd224; + 12'd2732: data <= 8'd0; + 12'd2733: data <= 8'd0; + 12'd2734: data <= 8'd0; + 12'd2735: data <= 8'd0; + 12'd2736: data <= 8'd0; + 12'd2737: data <= 8'd0; + 12'd2738: data <= 8'd2; + 12'd2739: data <= 8'd3; + 12'd2740: data <= 8'd0; + 12'd2741: data <= 8'd11; + 12'd2742: data <= 8'd0; + 12'd2743: data <= 8'd76; + 12'd2744: data <= 8'd171; + 12'd2745: data <= 8'd252; + 12'd2746: data <= 8'd232; + 12'd2747: data <= 8'd220; + 12'd2748: data <= 8'd200; + 12'd2749: data <= 8'd0; + 12'd2750: data <= 8'd0; + 12'd2751: data <= 8'd0; + 12'd2752: data <= 8'd0; + 12'd2753: data <= 8'd0; + 12'd2754: data <= 8'd0; + 12'd2755: data <= 8'd2; + 12'd2756: data <= 8'd48; + 12'd2757: data <= 8'd0; + 12'd2758: data <= 8'd2; + 12'd2759: data <= 8'd91; + 12'd2760: data <= 8'd93; + 12'd2761: data <= 8'd163; + 12'd2762: data <= 8'd240; + 12'd2763: data <= 8'd4; + 12'd2764: data <= 8'd60; + 12'd2765: data <= 8'd200; + 12'd2766: data <= 8'd224; + 12'd2767: data <= 8'd224; + 12'd2768: data <= 8'd208; + 12'd2769: data <= 8'd144; + 12'd2770: data <= 8'd8; + 12'd2771: data <= 8'd192; + 12'd2772: data <= 8'd2; + 12'd2773: data <= 8'd80; + 12'd2774: data <= 8'd0; + 12'd2775: data <= 8'd2; + 12'd2776: data <= 8'd91; + 12'd2777: data <= 8'd93; + 12'd2778: data <= 8'd168; + 12'd2779: data <= 8'd228; + 12'd2780: data <= 8'd250; + 12'd2781: data <= 8'd80; + 12'd2782: data <= 8'd152; + 12'd2783: data <= 8'd216; + 12'd2784: data <= 8'd176; + 12'd2785: data <= 8'd216; + 12'd2786: data <= 8'd176; + 12'd2787: data <= 8'd8; + 12'd2788: data <= 8'd160; + 12'd2789: data <= 8'd15; + 12'd2790: data <= 8'd2; + 12'd2791: data <= 8'd112; + 12'd2792: data <= 8'd0; + 12'd2793: data <= 8'd3; + 12'd2794: data <= 8'd91; + 12'd2795: data <= 8'd114; + 12'd2796: data <= 8'd144; + 12'd2797: data <= 8'd16; + 12'd2798: data <= 8'd156; + 12'd2799: data <= 8'd248; + 12'd2800: data <= 8'd208; + 12'd2801: data <= 8'd208; + 12'd2802: data <= 8'd208; + 12'd2803: data <= 8'd216; + 12'd2804: data <= 8'd192; + 12'd2805: data <= 8'd240; + 12'd2806: data <= 8'd176; + 12'd2807: data <= 8'd2; + 12'd2808: data <= 8'd112; + 12'd2809: data <= 8'd0; + 12'd2810: data <= 8'd2; + 12'd2811: data <= 8'd91; + 12'd2812: data <= 8'd116; + 12'd2813: data <= 8'd138; + 12'd2814: data <= 8'd12; + 12'd2815: data <= 8'd168; + 12'd2816: data <= 8'd252; + 12'd2817: data <= 8'd216; + 12'd2818: data <= 8'd200; + 12'd2819: data <= 8'd208; + 12'd2820: data <= 8'd216; + 12'd2821: data <= 8'd176; + 12'd2822: data <= 8'd240; + 12'd2823: data <= 8'd176; + 12'd2824: data <= 8'd2; + 12'd2825: data <= 8'd112; + 12'd2826: data <= 8'd0; + 12'd2827: data <= 8'd4; + 12'd2828: data <= 8'd91; + 12'd2829: data <= 8'd112; + 12'd2830: data <= 8'd144; + 12'd2831: data <= 8'd12; + 12'd2832: data <= 8'd172; + 12'd2833: data <= 8'd248; + 12'd2834: data <= 8'd192; + 12'd2835: data <= 8'd208; + 12'd2836: data <= 8'd224; + 12'd2837: data <= 8'd216; + 12'd2838: data <= 8'd192; + 12'd2839: data <= 8'd248; + 12'd2840: data <= 8'd240; + 12'd2841: data <= 8'd2; + 12'd2842: data <= 8'd112; + 12'd2843: data <= 8'd0; + 12'd2844: data <= 8'd1; + 12'd2845: data <= 8'd91; + 12'd2846: data <= 8'd107; + 12'd2847: data <= 8'd151; + 12'd2848: data <= 8'd16; + 12'd2849: data <= 8'd176; + 12'd2850: data <= 8'd0; + 12'd2851: data <= 8'd200; + 12'd2852: data <= 8'd200; + 12'd2853: data <= 8'd192; + 12'd2854: data <= 8'd224; + 12'd2855: data <= 8'd176; + 12'd2856: data <= 8'd240; + 12'd2857: data <= 8'd240; + 12'd2858: data <= 8'd15; + 12'd2859: data <= 8'd2; + 12'd2860: data <= 8'd0; + 12'd2861: data <= 8'd0; + 12'd2862: data <= 8'd5; + 12'd2863: data <= 8'd64; + 12'd2864: data <= 8'd0; + 12'd2865: data <= 8'd0; + 12'd2866: data <= 8'd0; + 12'd2867: data <= 8'd0; + 12'd2868: data <= 8'd0; + 12'd2869: data <= 8'd0; + 12'd2870: data <= 8'd0; + 12'd2871: data <= 8'd0; + 12'd2872: data <= 8'd0; + 12'd2873: data <= 8'd0; + 12'd2874: data <= 8'd0; + 12'd2875: data <= 8'd0; + 12'd2876: data <= 8'd2; + 12'd2877: data <= 8'd5; + 12'd2878: data <= 8'd0; + 12'd2879: data <= 8'd5; + 12'd2880: data <= 8'd0; + 12'd2881: data <= 8'd28; + 12'd2882: data <= 8'd231; + 12'd2883: data <= 8'd248; + 12'd2884: data <= 8'd178; + 12'd2885: data <= 8'd216; + 12'd2886: data <= 8'd192; + 12'd2887: data <= 8'd0; + 12'd2888: data <= 8'd0; + 12'd2889: data <= 8'd0; + 12'd2890: data <= 8'd0; + 12'd2891: data <= 8'd0; + 12'd2892: data <= 8'd0; + 12'd2893: data <= 8'd2; + 12'd2894: data <= 8'd20; + 12'd2895: data <= 8'd0; + 12'd2896: data <= 8'd13; + 12'd2897: data <= 8'd0; + 12'd2898: data <= 8'd10; + 12'd2899: data <= 8'd183; + 12'd2900: data <= 8'd240; + 12'd2901: data <= 8'd154; + 12'd2902: data <= 8'd204; + 12'd2903: data <= 8'd176; + 12'd2904: data <= 8'd0; + 12'd2905: data <= 8'd0; + 12'd2906: data <= 8'd0; + 12'd2907: data <= 8'd0; + 12'd2908: data <= 8'd0; + 12'd2909: data <= 8'd0; + 12'd2910: data <= 8'd15; + 12'd2911: data <= 8'd2; + 12'd2912: data <= 8'd160; + 12'd2913: data <= 8'd0; + 12'd2914: data <= 8'd1; + 12'd2915: data <= 8'd91; + 12'd2916: data <= 8'd91; + 12'd2917: data <= 8'd161; + 12'd2918: data <= 8'd52; + 12'd2919: data <= 8'd152; + 12'd2920: data <= 8'd28; + 12'd2921: data <= 8'd160; + 12'd2922: data <= 8'd208; + 12'd2923: data <= 8'd224; + 12'd2924: data <= 8'd224; + 12'd2925: data <= 8'd192; + 12'd2926: data <= 8'd232; + 12'd2927: data <= 8'd192; + 12'd2928: data <= 8'd2; + 12'd2929: data <= 8'd160; + 12'd2930: data <= 8'd0; + 12'd2931: data <= 8'd2; + 12'd2932: data <= 8'd91; + 12'd2933: data <= 8'd91; + 12'd2934: data <= 8'd161; + 12'd2935: data <= 8'd48; + 12'd2936: data <= 8'd168; + 12'd2937: data <= 8'd28; + 12'd2938: data <= 8'd168; + 12'd2939: data <= 8'd216; + 12'd2940: data <= 8'd240; + 12'd2941: data <= 8'd224; + 12'd2942: data <= 8'd192; + 12'd2943: data <= 8'd232; + 12'd2944: data <= 8'd192; + 12'd2945: data <= 8'd2; + 12'd2946: data <= 8'd160; + 12'd2947: data <= 8'd0; + 12'd2948: data <= 8'd1; + 12'd2949: data <= 8'd91; + 12'd2950: data <= 8'd88; + 12'd2951: data <= 8'd165; + 12'd2952: data <= 8'd220; + 12'd2953: data <= 8'd238; + 12'd2954: data <= 8'd48; + 12'd2955: data <= 8'd160; + 12'd2956: data <= 8'd224; + 12'd2957: data <= 8'd192; + 12'd2958: data <= 8'd232; + 12'd2959: data <= 8'd192; + 12'd2960: data <= 8'd32; + 12'd2961: data <= 8'd160; + 12'd2962: data <= 8'd2; + 12'd2963: data <= 8'd160; + 12'd2964: data <= 8'd0; + 12'd2965: data <= 8'd1; + 12'd2966: data <= 8'd91; + 12'd2967: data <= 8'd93; + 12'd2968: data <= 8'd157; + 12'd2969: data <= 8'd224; + 12'd2970: data <= 8'd254; + 12'd2971: data <= 8'd48; + 12'd2972: data <= 8'd160; + 12'd2973: data <= 8'd216; + 12'd2974: data <= 8'd192; + 12'd2975: data <= 8'd232; + 12'd2976: data <= 8'd176; + 12'd2977: data <= 8'd32; + 12'd2978: data <= 8'd160; + 12'd2979: data <= 8'd2; + 12'd2980: data <= 8'd160; + 12'd2981: data <= 8'd0; + 12'd2982: data <= 8'd1; + 12'd2983: data <= 8'd91; + 12'd2984: data <= 8'd91; + 12'd2985: data <= 8'd159; + 12'd2986: data <= 8'd224; + 12'd2987: data <= 8'd254; + 12'd2988: data <= 8'd48; + 12'd2989: data <= 8'd152; + 12'd2990: data <= 8'd216; + 12'd2991: data <= 8'd192; + 12'd2992: data <= 8'd232; + 12'd2993: data <= 8'd160; + 12'd2994: data <= 8'd32; + 12'd2995: data <= 8'd160; + 12'd2996: data <= 8'd2; + 12'd2997: data <= 8'd160; + 12'd2998: data <= 8'd0; + 12'd2999: data <= 8'd2; + 12'd3000: data <= 8'd91; + 12'd3001: data <= 8'd94; + 12'd3002: data <= 8'd151; + 12'd3003: data <= 8'd220; + 12'd3004: data <= 8'd238; + 12'd3005: data <= 8'd48; + 12'd3006: data <= 8'd160; + 12'd3007: data <= 8'd216; + 12'd3008: data <= 8'd192; + 12'd3009: data <= 8'd232; + 12'd3010: data <= 8'd176; + 12'd3011: data <= 8'd32; + 12'd3012: data <= 8'd160; + 12'd3013: data <= 8'd2; + 12'd3014: data <= 8'd160; + 12'd3015: data <= 8'd0; + 12'd3016: data <= 8'd1; + 12'd3017: data <= 8'd91; + 12'd3018: data <= 8'd96; + 12'd3019: data <= 8'd146; + 12'd3020: data <= 8'd228; + 12'd3021: data <= 8'd254; + 12'd3022: data <= 8'd44; + 12'd3023: data <= 8'd152; + 12'd3024: data <= 8'd216; + 12'd3025: data <= 8'd192; + 12'd3026: data <= 8'd232; + 12'd3027: data <= 8'd160; + 12'd3028: data <= 8'd32; + 12'd3029: data <= 8'd160; + 12'd3030: data <= 8'd2; + 12'd3031: data <= 8'd56; + 12'd3032: data <= 8'd0; + 12'd3033: data <= 8'd2; + 12'd3034: data <= 8'd91; + 12'd3035: data <= 8'd96; + 12'd3036: data <= 8'd146; + 12'd3037: data <= 8'd44; + 12'd3038: data <= 8'd152; + 12'd3039: data <= 8'd32; + 12'd3040: data <= 8'd160; + 12'd3041: data <= 8'd224; + 12'd3042: data <= 8'd240; + 12'd3043: data <= 8'd224; + 12'd3044: data <= 8'd224; + 12'd3045: data <= 8'd232; + 12'd3046: data <= 8'd160; + 12'd3047: data <= 8'd2; + 12'd3048: data <= 8'd56; + 12'd3049: data <= 8'd0; + 12'd3050: data <= 8'd1; + 12'd3051: data <= 8'd91; + 12'd3052: data <= 8'd93; + 12'd3053: data <= 8'd157; + 12'd3054: data <= 8'd44; + 12'd3055: data <= 8'd148; + 12'd3056: data <= 8'd28; + 12'd3057: data <= 8'd160; + 12'd3058: data <= 8'd208; + 12'd3059: data <= 8'd224; + 12'd3060: data <= 8'd232; + 12'd3061: data <= 8'd224; + 12'd3062: data <= 8'd232; + 12'd3063: data <= 8'd160; + 12'd3064: data <= 8'd15; + 12'd3065: data <= 8'd2; + 12'd3066: data <= 8'd160; + 12'd3067: data <= 8'd0; + 12'd3068: data <= 8'd2; + 12'd3069: data <= 8'd91; + 12'd3070: data <= 8'd91; + 12'd3071: data <= 8'd161; + 12'd3072: data <= 8'd52; + 12'd3073: data <= 8'd152; + 12'd3074: data <= 8'd28; + 12'd3075: data <= 8'd160; + 12'd3076: data <= 8'd208; + 12'd3077: data <= 8'd224; + 12'd3078: data <= 8'd224; + 12'd3079: data <= 8'd192; + 12'd3080: data <= 8'd232; + 12'd3081: data <= 8'd192; + 12'd3082: data <= 8'd2; + 12'd3083: data <= 8'd160; + 12'd3084: data <= 8'd0; + 12'd3085: data <= 8'd2; + 12'd3086: data <= 8'd91; + 12'd3087: data <= 8'd91; + 12'd3088: data <= 8'd161; + 12'd3089: data <= 8'd48; + 12'd3090: data <= 8'd168; + 12'd3091: data <= 8'd28; + 12'd3092: data <= 8'd168; + 12'd3093: data <= 8'd216; + 12'd3094: data <= 8'd240; + 12'd3095: data <= 8'd224; + 12'd3096: data <= 8'd192; + 12'd3097: data <= 8'd232; + 12'd3098: data <= 8'd192; + 12'd3099: data <= 8'd2; + 12'd3100: data <= 8'd128; + 12'd3101: data <= 8'd0; + 12'd3102: data <= 8'd2; + 12'd3103: data <= 8'd91; + 12'd3104: data <= 8'd87; + 12'd3105: data <= 8'd167; + 12'd3106: data <= 8'd220; + 12'd3107: data <= 8'd240; + 12'd3108: data <= 8'd48; + 12'd3109: data <= 8'd160; + 12'd3110: data <= 8'd216; + 12'd3111: data <= 8'd192; + 12'd3112: data <= 8'd232; + 12'd3113: data <= 8'd192; + 12'd3114: data <= 8'd32; + 12'd3115: data <= 8'd160; + 12'd3116: data <= 8'd2; + 12'd3117: data <= 8'd128; + 12'd3118: data <= 8'd0; + 12'd3119: data <= 8'd2; + 12'd3120: data <= 8'd91; + 12'd3121: data <= 8'd88; + 12'd3122: data <= 8'd165; + 12'd3123: data <= 8'd220; + 12'd3124: data <= 8'd236; + 12'd3125: data <= 8'd48; + 12'd3126: data <= 8'd160; + 12'd3127: data <= 8'd224; + 12'd3128: data <= 8'd192; + 12'd3129: data <= 8'd232; + 12'd3130: data <= 8'd192; + 12'd3131: data <= 8'd32; + 12'd3132: data <= 8'd160; + 12'd3133: data <= 8'd2; + 12'd3134: data <= 8'd128; + 12'd3135: data <= 8'd0; + 12'd3136: data <= 8'd2; + 12'd3137: data <= 8'd91; + 12'd3138: data <= 8'd93; + 12'd3139: data <= 8'd157; + 12'd3140: data <= 8'd224; + 12'd3141: data <= 8'd252; + 12'd3142: data <= 8'd48; + 12'd3143: data <= 8'd160; + 12'd3144: data <= 8'd216; + 12'd3145: data <= 8'd192; + 12'd3146: data <= 8'd232; + 12'd3147: data <= 8'd176; + 12'd3148: data <= 8'd32; + 12'd3149: data <= 8'd160; + 12'd3150: data <= 8'd2; + 12'd3151: data <= 8'd128; + 12'd3152: data <= 8'd0; + 12'd3153: data <= 8'd2; + 12'd3154: data <= 8'd91; + 12'd3155: data <= 8'd91; + 12'd3156: data <= 8'd159; + 12'd3157: data <= 8'd224; + 12'd3158: data <= 8'd252; + 12'd3159: data <= 8'd48; + 12'd3160: data <= 8'd152; + 12'd3161: data <= 8'd216; + 12'd3162: data <= 8'd192; + 12'd3163: data <= 8'd232; + 12'd3164: data <= 8'd160; + 12'd3165: data <= 8'd32; + 12'd3166: data <= 8'd160; + 12'd3167: data <= 8'd2; + 12'd3168: data <= 8'd128; + 12'd3169: data <= 8'd0; + 12'd3170: data <= 8'd2; + 12'd3171: data <= 8'd91; + 12'd3172: data <= 8'd94; + 12'd3173: data <= 8'd151; + 12'd3174: data <= 8'd220; + 12'd3175: data <= 8'd236; + 12'd3176: data <= 8'd48; + 12'd3177: data <= 8'd160; + 12'd3178: data <= 8'd216; + 12'd3179: data <= 8'd192; + 12'd3180: data <= 8'd232; + 12'd3181: data <= 8'd176; + 12'd3182: data <= 8'd32; + 12'd3183: data <= 8'd160; + 12'd3184: data <= 8'd2; + 12'd3185: data <= 8'd128; + 12'd3186: data <= 8'd0; + 12'd3187: data <= 8'd3; + 12'd3188: data <= 8'd91; + 12'd3189: data <= 8'd96; + 12'd3190: data <= 8'd146; + 12'd3191: data <= 8'd228; + 12'd3192: data <= 8'd252; + 12'd3193: data <= 8'd44; + 12'd3194: data <= 8'd152; + 12'd3195: data <= 8'd216; + 12'd3196: data <= 8'd192; + 12'd3197: data <= 8'd232; + 12'd3198: data <= 8'd160; + 12'd3199: data <= 8'd32; + 12'd3200: data <= 8'd160; + 12'd3201: data <= 8'd2; + 12'd3202: data <= 8'd48; + 12'd3203: data <= 8'd0; + 12'd3204: data <= 8'd3; + 12'd3205: data <= 8'd91; + 12'd3206: data <= 8'd96; + 12'd3207: data <= 8'd146; + 12'd3208: data <= 8'd44; + 12'd3209: data <= 8'd152; + 12'd3210: data <= 8'd32; + 12'd3211: data <= 8'd160; + 12'd3212: data <= 8'd224; + 12'd3213: data <= 8'd240; + 12'd3214: data <= 8'd224; + 12'd3215: data <= 8'd224; + 12'd3216: data <= 8'd232; + 12'd3217: data <= 8'd160; + 12'd3218: data <= 8'd2; + 12'd3219: data <= 8'd48; + 12'd3220: data <= 8'd0; + 12'd3221: data <= 8'd3; + 12'd3222: data <= 8'd91; + 12'd3223: data <= 8'd93; + 12'd3224: data <= 8'd157; + 12'd3225: data <= 8'd44; + 12'd3226: data <= 8'd148; + 12'd3227: data <= 8'd28; + 12'd3228: data <= 8'd160; + 12'd3229: data <= 8'd208; + 12'd3230: data <= 8'd224; + 12'd3231: data <= 8'd232; + 12'd3232: data <= 8'd224; + 12'd3233: data <= 8'd232; + 12'd3234: data <= 8'd160; + 12'd3235: data <= 8'd15; + 12'd3236: data <= 8'd2; + 12'd3237: data <= 8'd160; + 12'd3238: data <= 8'd0; + 12'd3239: data <= 8'd3; + 12'd3240: data <= 8'd91; + 12'd3241: data <= 8'd0; + 12'd3242: data <= 8'd0; + 12'd3243: data <= 8'd220; + 12'd3244: data <= 8'd160; + 12'd3245: data <= 8'd192; + 12'd3246: data <= 8'd160; + 12'd3247: data <= 8'd8; + 12'd3248: data <= 8'd160; + 12'd3249: data <= 8'd64; + 12'd3250: data <= 8'd160; + 12'd3251: data <= 8'd88; + 12'd3252: data <= 8'd160; + 12'd3253: data <= 8'd2; + 12'd3254: data <= 8'd128; + 12'd3255: data <= 8'd0; + 12'd3256: data <= 8'd3; + 12'd3257: data <= 8'd91; + 12'd3258: data <= 8'd0; + 12'd3259: data <= 8'd0; + 12'd3260: data <= 8'd220; + 12'd3261: data <= 8'd160; + 12'd3262: data <= 8'd192; + 12'd3263: data <= 8'd160; + 12'd3264: data <= 8'd0; + 12'd3265: data <= 8'd160; + 12'd3266: data <= 8'd64; + 12'd3267: data <= 8'd160; + 12'd3268: data <= 8'd88; + 12'd3269: data <= 8'd160; + 12'd3270: data <= 8'd1; + 12'd3271: data <= 8'd112; + 12'd3272: data <= 8'd0; + 12'd3273: data <= 8'd1; + 12'd3274: data <= 8'd91; + 12'd3275: data <= 8'd2; + 12'd3276: data <= 8'd48; + 12'd3277: data <= 8'd0; + 12'd3278: data <= 8'd5; + 12'd3279: data <= 8'd91; + 12'd3280: data <= 8'd0; + 12'd3281: data <= 8'd0; + 12'd3282: data <= 8'd220; + 12'd3283: data <= 8'd160; + 12'd3284: data <= 8'd192; + 12'd3285: data <= 8'd160; + 12'd3286: data <= 8'd0; + 12'd3287: data <= 8'd160; + 12'd3288: data <= 8'd72; + 12'd3289: data <= 8'd160; + 12'd3290: data <= 8'd96; + 12'd3291: data <= 8'd160; + 12'd3292: data <= 8'd1; + 12'd3293: data <= 8'd48; + 12'd3294: data <= 8'd0; + 12'd3295: data <= 8'd1; + 12'd3296: data <= 8'd91; + 12'd3297: data <= 8'd1; + 12'd3298: data <= 8'd28; + 12'd3299: data <= 8'd0; + 12'd3300: data <= 8'd6; + 12'd3301: data <= 8'd91; + 12'd3302: data <= 8'd15; + 12'd3303: data <= 8'd2; + 12'd3304: data <= 8'd40; + 12'd3305: data <= 8'd0; + 12'd3306: data <= 8'd17; + 12'd3307: data <= 8'd91; + 12'd3308: data <= 8'd53; + 12'd3309: data <= 8'd224; + 12'd3310: data <= 8'd44; + 12'd3311: data <= 8'd210; + 12'd3312: data <= 8'd20; + 12'd3313: data <= 8'd208; + 12'd3314: data <= 8'd200; + 12'd3315: data <= 8'd192; + 12'd3316: data <= 8'd232; + 12'd3317: data <= 8'd208; + 12'd3318: data <= 8'd248; + 12'd3319: data <= 8'd208; + 12'd3320: data <= 8'd2; + 12'd3321: data <= 8'd160; + 12'd3322: data <= 8'd0; + 12'd3323: data <= 8'd3; + 12'd3324: data <= 8'd91; + 12'd3325: data <= 8'd95; + 12'd3326: data <= 8'd164; + 12'd3327: data <= 8'd36; + 12'd3328: data <= 8'd162; + 12'd3329: data <= 8'd12; + 12'd3330: data <= 8'd248; + 12'd3331: data <= 8'd200; + 12'd3332: data <= 8'd176; + 12'd3333: data <= 8'd232; + 12'd3334: data <= 8'd176; + 12'd3335: data <= 8'd0; + 12'd3336: data <= 8'd160; + 12'd3337: data <= 8'd15; + 12'd3338: data <= 8'd2; + 12'd3339: data <= 8'd28; + 12'd3340: data <= 8'd0; + 12'd3341: data <= 8'd10; + 12'd3342: data <= 8'd0; + 12'd3343: data <= 8'd29; + 12'd3344: data <= 8'd215; + 12'd3345: data <= 8'd224; + 12'd3346: data <= 8'd200; + 12'd3347: data <= 8'd184; + 12'd3348: data <= 8'd192; + 12'd3349: data <= 8'd0; + 12'd3350: data <= 8'd0; + 12'd3351: data <= 8'd0; + 12'd3352: data <= 8'd0; + 12'd3353: data <= 8'd0; + 12'd3354: data <= 8'd0; + 12'd3355: data <= 8'd15; + 12'd3356: data <= 8'd2; + 12'd3357: data <= 8'd40; + 12'd3358: data <= 8'd0; + 12'd3359: data <= 8'd4; + 12'd3360: data <= 8'd91; + 12'd3361: data <= 8'd95; + 12'd3362: data <= 8'd172; + 12'd3363: data <= 8'd32; + 12'd3364: data <= 8'd214; + 12'd3365: data <= 8'd4; + 12'd3366: data <= 8'd160; + 12'd3367: data <= 8'd200; + 12'd3368: data <= 8'd192; + 12'd3369: data <= 8'd232; + 12'd3370: data <= 8'd224; + 12'd3371: data <= 8'd0; + 12'd3372: data <= 8'd208; + 12'd3373: data <= 8'd2; + 12'd3374: data <= 8'd40; + 12'd3375: data <= 8'd0; + 12'd3376: data <= 8'd2; + 12'd3377: data <= 8'd91; + 12'd3378: data <= 8'd94; + 12'd3379: data <= 8'd176; + 12'd3380: data <= 8'd24; + 12'd3381: data <= 8'd242; + 12'd3382: data <= 8'd4; + 12'd3383: data <= 8'd152; + 12'd3384: data <= 8'd224; + 12'd3385: data <= 8'd240; + 12'd3386: data <= 8'd224; + 12'd3387: data <= 8'd208; + 12'd3388: data <= 8'd248; + 12'd3389: data <= 8'd208; + 12'd3390: data <= 8'd2; + 12'd3391: data <= 8'd40; + 12'd3392: data <= 8'd0; + 12'd3393: data <= 8'd2; + 12'd3394: data <= 8'd91; + 12'd3395: data <= 8'd101; + 12'd3396: data <= 8'd165; + 12'd3397: data <= 8'd32; + 12'd3398: data <= 8'd226; + 12'd3399: data <= 8'd4; + 12'd3400: data <= 8'd152; + 12'd3401: data <= 8'd224; + 12'd3402: data <= 8'd240; + 12'd3403: data <= 8'd224; + 12'd3404: data <= 8'd192; + 12'd3405: data <= 8'd248; + 12'd3406: data <= 8'd208; + 12'd3407: data <= 8'd2; + 12'd3408: data <= 8'd128; + 12'd3409: data <= 8'd1; + 12'd3410: data <= 8'd3; + 12'd3411: data <= 8'd91; + 12'd3412: data <= 8'd88; + 12'd3413: data <= 8'd176; + 12'd3414: data <= 8'd36; + 12'd3415: data <= 8'd158; + 12'd3416: data <= 8'd8; + 12'd3417: data <= 8'd152; + 12'd3418: data <= 8'd208; + 12'd3419: data <= 8'd208; + 12'd3420: data <= 8'd232; + 12'd3421: data <= 8'd192; + 12'd3422: data <= 8'd240; + 12'd3423: data <= 8'd192; + 12'd3424: data <= 8'd2; + 12'd3425: data <= 8'd128; + 12'd3426: data <= 8'd1; + 12'd3427: data <= 8'd1; + 12'd3428: data <= 8'd91; + 12'd3429: data <= 8'd84; + 12'd3430: data <= 8'd171; + 12'd3431: data <= 8'd44; + 12'd3432: data <= 8'd134; + 12'd3433: data <= 8'd8; + 12'd3434: data <= 8'd152; + 12'd3435: data <= 8'd208; + 12'd3436: data <= 8'd192; + 12'd3437: data <= 8'd232; + 12'd3438: data <= 8'd192; + 12'd3439: data <= 8'd240; + 12'd3440: data <= 8'd0; + 12'd3441: data <= 8'd2; + 12'd3442: data <= 8'd128; + 12'd3443: data <= 8'd1; + 12'd3444: data <= 8'd3; + 12'd3445: data <= 8'd91; + 12'd3446: data <= 8'd84; + 12'd3447: data <= 8'd168; + 12'd3448: data <= 8'd48; + 12'd3449: data <= 8'd142; + 12'd3450: data <= 8'd8; + 12'd3451: data <= 8'd144; + 12'd3452: data <= 8'd208; + 12'd3453: data <= 8'd192; + 12'd3454: data <= 8'd232; + 12'd3455: data <= 8'd240; + 12'd3456: data <= 8'd224; + 12'd3457: data <= 8'd160; + 12'd3458: data <= 8'd15; + 12'd3459: data <= 8'd2; + 12'd3460: data <= 8'd3; + 12'd3461: data <= 8'd0; + 12'd3462: data <= 8'd14; + 12'd3463: data <= 8'd0; + 12'd3464: data <= 8'd63; + 12'd3465: data <= 8'd184; + 12'd3466: data <= 8'd0; + 12'd3467: data <= 8'd226; + 12'd3468: data <= 8'd224; + 12'd3469: data <= 8'd208; + 12'd3470: data <= 8'd0; + 12'd3471: data <= 8'd0; + 12'd3472: data <= 8'd0; + 12'd3473: data <= 8'd0; + 12'd3474: data <= 8'd0; + 12'd3475: data <= 8'd0; + 12'd3476: data <= 8'd2; + 12'd3477: data <= 8'd48; + 12'd3478: data <= 8'd0; + 12'd3479: data <= 8'd4; + 12'd3480: data <= 8'd91; + 12'd3481: data <= 8'd62; + 12'd3482: data <= 8'd183; + 12'd3483: data <= 8'd32; + 12'd3484: data <= 8'd246; + 12'd3485: data <= 8'd24; + 12'd3486: data <= 8'd232; + 12'd3487: data <= 8'd200; + 12'd3488: data <= 8'd176; + 12'd3489: data <= 8'd224; + 12'd3490: data <= 8'd160; + 12'd3491: data <= 8'd0; + 12'd3492: data <= 8'd192; + 12'd3493: data <= 8'd15; + 12'd3494: data <= 8'd2; + 12'd3495: data <= 8'd24; + 12'd3496: data <= 8'd0; + 12'd3497: data <= 8'd2; + 12'd3498: data <= 8'd91; + 12'd3499: data <= 8'd201; + 12'd3500: data <= 8'd169; + 12'd3501: data <= 8'd224; + 12'd3502: data <= 8'd160; + 12'd3503: data <= 8'd240; + 12'd3504: data <= 8'd224; + 12'd3505: data <= 8'd8; + 12'd3506: data <= 8'd160; + 12'd3507: data <= 8'd88; + 12'd3508: data <= 8'd160; + 12'd3509: data <= 8'd96; + 12'd3510: data <= 8'd160; + 12'd3511: data <= 8'd2; + 12'd3512: data <= 8'd16; + 12'd3513: data <= 8'd0; + 12'd3514: data <= 8'd1; + 12'd3515: data <= 8'd91; + 12'd3516: data <= 8'd201; + 12'd3517: data <= 8'd169; + 12'd3518: data <= 8'd224; + 12'd3519: data <= 8'd160; + 12'd3520: data <= 8'd240; + 12'd3521: data <= 8'd224; + 12'd3522: data <= 8'd16; + 12'd3523: data <= 8'd160; + 12'd3524: data <= 8'd88; + 12'd3525: data <= 8'd160; + 12'd3526: data <= 8'd96; + 12'd3527: data <= 8'd160; + 12'd3528: data <= 8'd1; + 12'd3529: data <= 8'd20; + 12'd3530: data <= 8'd0; + 12'd3531: data <= 8'd3; + 12'd3532: data <= 8'd91; + 12'd3533: data <= 8'd2; + 12'd3534: data <= 8'd56; + 12'd3535: data <= 8'd0; + 12'd3536: data <= 8'd3; + 12'd3537: data <= 8'd91; + 12'd3538: data <= 8'd201; + 12'd3539: data <= 8'd169; + 12'd3540: data <= 8'd224; + 12'd3541: data <= 8'd160; + 12'd3542: data <= 8'd240; + 12'd3543: data <= 8'd224; + 12'd3544: data <= 8'd16; + 12'd3545: data <= 8'd160; + 12'd3546: data <= 8'd80; + 12'd3547: data <= 8'd160; + 12'd3548: data <= 8'd96; + 12'd3549: data <= 8'd160; + 12'd3550: data <= 8'd2; + 12'd3551: data <= 8'd80; + 12'd3552: data <= 8'd0; + 12'd3553: data <= 8'd5; + 12'd3554: data <= 8'd91; + 12'd3555: data <= 8'd201; + 12'd3556: data <= 8'd169; + 12'd3557: data <= 8'd224; + 12'd3558: data <= 8'd160; + 12'd3559: data <= 8'd240; + 12'd3560: data <= 8'd224; + 12'd3561: data <= 8'd24; + 12'd3562: data <= 8'd160; + 12'd3563: data <= 8'd64; + 12'd3564: data <= 8'd160; + 12'd3565: data <= 8'd96; + 12'd3566: data <= 8'd160; + 12'd3567: data <= 8'd2; + 12'd3568: data <= 8'd112; + 12'd3569: data <= 8'd0; + 12'd3570: data <= 8'd4; + 12'd3571: data <= 8'd91; + 12'd3572: data <= 8'd201; + 12'd3573: data <= 8'd169; + 12'd3574: data <= 8'd224; + 12'd3575: data <= 8'd160; + 12'd3576: data <= 8'd240; + 12'd3577: data <= 8'd224; + 12'd3578: data <= 8'd32; + 12'd3579: data <= 8'd160; + 12'd3580: data <= 8'd56; + 12'd3581: data <= 8'd160; + 12'd3582: data <= 8'd88; + 12'd3583: data <= 8'd160; + 12'd3584: data <= 8'd2; + 12'd3585: data <= 8'd112; + 12'd3586: data <= 8'd0; + 12'd3587: data <= 8'd4; + 12'd3588: data <= 8'd91; + 12'd3589: data <= 8'd201; + 12'd3590: data <= 8'd169; + 12'd3591: data <= 8'd224; + 12'd3592: data <= 8'd160; + 12'd3593: data <= 8'd240; + 12'd3594: data <= 8'd224; + 12'd3595: data <= 8'd32; + 12'd3596: data <= 8'd160; + 12'd3597: data <= 8'd48; + 12'd3598: data <= 8'd160; + 12'd3599: data <= 8'd88; + 12'd3600: data <= 8'd160; + 12'd3601: data <= 8'd2; + 12'd3602: data <= 8'd56; + 12'd3603: data <= 8'd0; + 12'd3604: data <= 8'd1; + 12'd3605: data <= 8'd91; + 12'd3606: data <= 8'd201; + 12'd3607: data <= 8'd169; + 12'd3608: data <= 8'd224; + 12'd3609: data <= 8'd160; + 12'd3610: data <= 8'd240; + 12'd3611: data <= 8'd224; + 12'd3612: data <= 8'd32; + 12'd3613: data <= 8'd160; + 12'd3614: data <= 8'd48; + 12'd3615: data <= 8'd160; + 12'd3616: data <= 8'd96; + 12'd3617: data <= 8'd160; + 12'd3618: data <= 8'd1; + 12'd3619: data <= 8'd24; + 12'd3620: data <= 8'd0; + 12'd3621: data <= 8'd3; + 12'd3622: data <= 8'd91; + 12'd3623: data <= 8'd15; + 12'd3624: data <= 8'd2; + 12'd3625: data <= 8'd64; + 12'd3626: data <= 8'd0; + 12'd3627: data <= 8'd2; + 12'd3628: data <= 8'd91; + 12'd3629: data <= 8'd84; + 12'd3630: data <= 8'd167; + 12'd3631: data <= 8'd68; + 12'd3632: data <= 8'd156; + 12'd3633: data <= 8'd16; + 12'd3634: data <= 8'd184; + 12'd3635: data <= 8'd240; + 12'd3636: data <= 8'd0; + 12'd3637: data <= 8'd216; + 12'd3638: data <= 8'd192; + 12'd3639: data <= 8'd232; + 12'd3640: data <= 8'd160; + 12'd3641: data <= 8'd2; + 12'd3642: data <= 8'd64; + 12'd3643: data <= 8'd0; + 12'd3644: data <= 8'd2; + 12'd3645: data <= 8'd91; + 12'd3646: data <= 8'd81; + 12'd3647: data <= 8'd170; + 12'd3648: data <= 8'd68; + 12'd3649: data <= 8'd160; + 12'd3650: data <= 8'd16; + 12'd3651: data <= 8'd184; + 12'd3652: data <= 8'd232; + 12'd3653: data <= 8'd240; + 12'd3654: data <= 8'd224; + 12'd3655: data <= 8'd192; + 12'd3656: data <= 8'd240; + 12'd3657: data <= 8'd160; + 12'd3658: data <= 8'd2; + 12'd3659: data <= 8'd64; + 12'd3660: data <= 8'd0; + 12'd3661: data <= 8'd2; + 12'd3662: data <= 8'd91; + 12'd3663: data <= 8'd80; + 12'd3664: data <= 8'd170; + 12'd3665: data <= 8'd64; + 12'd3666: data <= 8'd168; + 12'd3667: data <= 8'd20; + 12'd3668: data <= 8'd184; + 12'd3669: data <= 8'd224; + 12'd3670: data <= 8'd240; + 12'd3671: data <= 8'd224; + 12'd3672: data <= 8'd208; + 12'd3673: data <= 8'd240; + 12'd3674: data <= 8'd192; + 12'd3675: data <= 8'd2; + 12'd3676: data <= 8'd80; + 12'd3677: data <= 8'd0; + 12'd3678: data <= 8'd2; + 12'd3679: data <= 8'd91; + 12'd3680: data <= 8'd74; + 12'd3681: data <= 8'd175; + 12'd3682: data <= 8'd240; + 12'd3683: data <= 8'd254; + 12'd3684: data <= 8'd64; + 12'd3685: data <= 8'd160; + 12'd3686: data <= 8'd224; + 12'd3687: data <= 8'd176; + 12'd3688: data <= 8'd240; + 12'd3689: data <= 8'd160; + 12'd3690: data <= 8'd16; + 12'd3691: data <= 8'd176; + 12'd3692: data <= 8'd2; + 12'd3693: data <= 8'd80; + 12'd3694: data <= 8'd0; + 12'd3695: data <= 8'd2; + 12'd3696: data <= 8'd91; + 12'd3697: data <= 8'd72; + 12'd3698: data <= 8'd182; + 12'd3699: data <= 8'd252; + 12'd3700: data <= 8'd2; + 12'd3701: data <= 8'd60; + 12'd3702: data <= 8'd160; + 12'd3703: data <= 8'd216; + 12'd3704: data <= 8'd176; + 12'd3705: data <= 8'd232; + 12'd3706: data <= 8'd160; + 12'd3707: data <= 8'd24; + 12'd3708: data <= 8'd144; + 12'd3709: data <= 8'd2; + 12'd3710: data <= 8'd80; + 12'd3711: data <= 8'd0; + 12'd3712: data <= 8'd3; + 12'd3713: data <= 8'd91; + 12'd3714: data <= 8'd75; + 12'd3715: data <= 8'd172; + 12'd3716: data <= 8'd56; + 12'd3717: data <= 8'd158; + 12'd3718: data <= 8'd24; + 12'd3719: data <= 8'd168; + 12'd3720: data <= 8'd224; + 12'd3721: data <= 8'd208; + 12'd3722: data <= 8'd240; + 12'd3723: data <= 8'd0; + 12'd3724: data <= 8'd232; + 12'd3725: data <= 8'd160; + 12'd3726: data <= 8'd2; + 12'd3727: data <= 8'd56; + 12'd3728: data <= 8'd0; + 12'd3729: data <= 8'd3; + 12'd3730: data <= 8'd91; + 12'd3731: data <= 8'd75; + 12'd3732: data <= 8'd170; + 12'd3733: data <= 8'd52; + 12'd3734: data <= 8'd168; + 12'd3735: data <= 8'd28; + 12'd3736: data <= 8'd160; + 12'd3737: data <= 8'd208; + 12'd3738: data <= 8'd176; + 12'd3739: data <= 8'd232; + 12'd3740: data <= 8'd160; + 12'd3741: data <= 8'd0; + 12'd3742: data <= 8'd0; + 12'd3743: data <= 8'd2; + 12'd3744: data <= 8'd56; + 12'd3745: data <= 8'd0; + 12'd3746: data <= 8'd3; + 12'd3747: data <= 8'd91; + 12'd3748: data <= 8'd78; + 12'd3749: data <= 8'd167; + 12'd3750: data <= 8'd48; + 12'd3751: data <= 8'd160; + 12'd3752: data <= 8'd28; + 12'd3753: data <= 8'd160; + 12'd3754: data <= 8'd216; + 12'd3755: data <= 8'd192; + 12'd3756: data <= 8'd232; + 12'd3757: data <= 8'd160; + 12'd3758: data <= 8'd0; + 12'd3759: data <= 8'd0; + 12'd3760: data <= 8'd2; + 12'd3761: data <= 8'd32; + 12'd3762: data <= 8'd0; + 12'd3763: data <= 8'd3; + 12'd3764: data <= 8'd91; + 12'd3765: data <= 8'd78; + 12'd3766: data <= 8'd171; + 12'd3767: data <= 8'd252; + 12'd3768: data <= 8'd4; + 12'd3769: data <= 8'd52; + 12'd3770: data <= 8'd160; + 12'd3771: data <= 8'd224; + 12'd3772: data <= 8'd224; + 12'd3773: data <= 8'd240; + 12'd3774: data <= 8'd160; + 12'd3775: data <= 8'd24; + 12'd3776: data <= 8'd160; + 12'd3777: data <= 8'd15; + 12'd3778: data <= 8'd2; + 12'd3779: data <= 8'd224; + 12'd3780: data <= 8'd0; + 12'd3781: data <= 8'd3; + 12'd3782: data <= 8'd91; + 12'd3783: data <= 8'd199; + 12'd3784: data <= 8'd191; + 12'd3785: data <= 8'd216; + 12'd3786: data <= 8'd178; + 12'd3787: data <= 8'd252; + 12'd3788: data <= 8'd232; + 12'd3789: data <= 8'd0; + 12'd3790: data <= 8'd208; + 12'd3791: data <= 8'd16; + 12'd3792: data <= 8'd176; + 12'd3793: data <= 8'd112; + 12'd3794: data <= 8'd144; + 12'd3795: data <= 8'd2; + 12'd3796: data <= 8'd0; + 12'd3797: data <= 8'd1; + 12'd3798: data <= 8'd2; + 12'd3799: data <= 8'd91; + 12'd3800: data <= 8'd199; + 12'd3801: data <= 8'd191; + 12'd3802: data <= 8'd216; + 12'd3803: data <= 8'd178; + 12'd3804: data <= 8'd252; + 12'd3805: data <= 8'd232; + 12'd3806: data <= 8'd0; + 12'd3807: data <= 8'd208; + 12'd3808: data <= 8'd8; + 12'd3809: data <= 8'd176; + 12'd3810: data <= 8'd112; + 12'd3811: data <= 8'd144; + 12'd3812: data <= 8'd1; + 12'd3813: data <= 8'd64; + 12'd3814: data <= 8'd1; + 12'd3815: data <= 8'd3; + 12'd3816: data <= 8'd91; + 12'd3817: data <= 8'd2; + 12'd3818: data <= 8'd160; + 12'd3819: data <= 8'd0; + 12'd3820: data <= 8'd2; + 12'd3821: data <= 8'd91; + 12'd3822: data <= 8'd199; + 12'd3823: data <= 8'd191; + 12'd3824: data <= 8'd216; + 12'd3825: data <= 8'd178; + 12'd3826: data <= 8'd252; + 12'd3827: data <= 8'd232; + 12'd3828: data <= 8'd0; + 12'd3829: data <= 8'd208; + 12'd3830: data <= 8'd16; + 12'd3831: data <= 8'd176; + 12'd3832: data <= 8'd112; + 12'd3833: data <= 8'd144; + 12'd3834: data <= 8'd2; + 12'd3835: data <= 8'd160; + 12'd3836: data <= 8'd0; + 12'd3837: data <= 8'd3; + 12'd3838: data <= 8'd91; + 12'd3839: data <= 8'd199; + 12'd3840: data <= 8'd191; + 12'd3841: data <= 8'd216; + 12'd3842: data <= 8'd178; + 12'd3843: data <= 8'd252; + 12'd3844: data <= 8'd232; + 12'd3845: data <= 8'd8; + 12'd3846: data <= 8'd208; + 12'd3847: data <= 8'd24; + 12'd3848: data <= 8'd176; + 12'd3849: data <= 8'd104; + 12'd3850: data <= 8'd144; + 12'd3851: data <= 8'd2; + 12'd3852: data <= 8'd96; + 12'd3853: data <= 8'd0; + 12'd3854: data <= 8'd4; + 12'd3855: data <= 8'd91; + 12'd3856: data <= 8'd199; + 12'd3857: data <= 8'd191; + 12'd3858: data <= 8'd216; + 12'd3859: data <= 8'd178; + 12'd3860: data <= 8'd252; + 12'd3861: data <= 8'd232; + 12'd3862: data <= 8'd16; + 12'd3863: data <= 8'd208; + 12'd3864: data <= 8'd32; + 12'd3865: data <= 8'd176; + 12'd3866: data <= 8'd96; + 12'd3867: data <= 8'd144; + 12'd3868: data <= 8'd2; + 12'd3869: data <= 8'd96; + 12'd3870: data <= 8'd0; + 12'd3871: data <= 8'd5; + 12'd3872: data <= 8'd91; + 12'd3873: data <= 8'd199; + 12'd3874: data <= 8'd191; + 12'd3875: data <= 8'd216; + 12'd3876: data <= 8'd178; + 12'd3877: data <= 8'd252; + 12'd3878: data <= 8'd232; + 12'd3879: data <= 8'd16; + 12'd3880: data <= 8'd208; + 12'd3881: data <= 8'd40; + 12'd3882: data <= 8'd176; + 12'd3883: data <= 8'd96; + 12'd3884: data <= 8'd144; + 12'd3885: data <= 8'd1; + 12'd3886: data <= 8'd80; + 12'd3887: data <= 8'd0; + 12'd3888: data <= 8'd5; + 12'd3889: data <= 8'd91; + 12'd3890: data <= 8'd15; + 12'd3891: data <= 8'd2; + 12'd3892: data <= 8'd0; + 12'd3893: data <= 8'd0; + 12'd3894: data <= 8'd4; + 12'd3895: data <= 8'd64; + 12'd3896: data <= 8'd0; + 12'd3897: data <= 8'd0; + 12'd3898: data <= 8'd0; + 12'd3899: data <= 8'd0; + 12'd3900: data <= 8'd0; + 12'd3901: data <= 8'd0; + 12'd3902: data <= 8'd0; + 12'd3903: data <= 8'd0; + 12'd3904: data <= 8'd0; + 12'd3905: data <= 8'd0; + 12'd3906: data <= 8'd0; + 12'd3907: data <= 8'd0; + 12'd3908: data <= 8'd2; + 12'd3909: data <= 8'd7; + 12'd3910: data <= 8'd0; + 12'd3911: data <= 8'd4; + 12'd3912: data <= 8'd0; + 12'd3913: data <= 8'd26; + 12'd3914: data <= 8'd228; + 12'd3915: data <= 8'd32; + 12'd3916: data <= 8'd192; + 12'd3917: data <= 8'd224; + 12'd3918: data <= 8'd200; + 12'd3919: data <= 8'd0; + 12'd3920: data <= 8'd0; + 12'd3921: data <= 8'd0; + 12'd3922: data <= 8'd0; + 12'd3923: data <= 8'd0; + 12'd3924: data <= 8'd0; + 12'd3925: data <= 8'd2; + 12'd3926: data <= 8'd96; + 12'd3927: data <= 8'd0; + 12'd3928: data <= 8'd2; + 12'd3929: data <= 8'd91; + 12'd3930: data <= 8'd95; + 12'd3931: data <= 8'd144; + 12'd3932: data <= 8'd40; + 12'd3933: data <= 8'd164; + 12'd3934: data <= 8'd8; + 12'd3935: data <= 8'd232; + 12'd3936: data <= 8'd200; + 12'd3937: data <= 8'd176; + 12'd3938: data <= 8'd232; + 12'd3939: data <= 8'd160; + 12'd3940: data <= 8'd8; + 12'd3941: data <= 8'd192; + 12'd3942: data <= 8'd15; + 12'd3943: data <= 8'd2; + 12'd3944: data <= 8'd192; + 12'd3945: data <= 8'd0; + 12'd3946: data <= 8'd5; + 12'd3947: data <= 8'd91; + 12'd3948: data <= 8'd93; + 12'd3949: data <= 8'd156; + 12'd3950: data <= 8'd60; + 12'd3951: data <= 8'd160; + 12'd3952: data <= 8'd4; + 12'd3953: data <= 8'd152; + 12'd3954: data <= 8'd224; + 12'd3955: data <= 8'd224; + 12'd3956: data <= 8'd216; + 12'd3957: data <= 8'd176; + 12'd3958: data <= 8'd232; + 12'd3959: data <= 8'd192; + 12'd3960: data <= 8'd2; + 12'd3961: data <= 8'd96; + 12'd3962: data <= 8'd0; + 12'd3963: data <= 8'd3; + 12'd3964: data <= 8'd91; + 12'd3965: data <= 8'd93; + 12'd3966: data <= 8'd160; + 12'd3967: data <= 8'd64; + 12'd3968: data <= 8'd158; + 12'd3969: data <= 8'd4; + 12'd3970: data <= 8'd160; + 12'd3971: data <= 8'd200; + 12'd3972: data <= 8'd192; + 12'd3973: data <= 8'd216; + 12'd3974: data <= 8'd160; + 12'd3975: data <= 8'd240; + 12'd3976: data <= 8'd240; + 12'd3977: data <= 8'd2; + 12'd3978: data <= 8'd64; + 12'd3979: data <= 8'd0; + 12'd3980: data <= 8'd7; + 12'd3981: data <= 8'd91; + 12'd3982: data <= 8'd96; + 12'd3983: data <= 8'd152; + 12'd3984: data <= 8'd64; + 12'd3985: data <= 8'd160; + 12'd3986: data <= 8'd0; + 12'd3987: data <= 8'd160; + 12'd3988: data <= 8'd208; + 12'd3989: data <= 8'd208; + 12'd3990: data <= 8'd232; + 12'd3991: data <= 8'd240; + 12'd3992: data <= 8'd216; + 12'd3993: data <= 8'd160; + 12'd3994: data <= 8'd15; + default: data <= 8'bXXXXXXXX; + endcase + end +endmodule diff --git a/verilog/controller/genctrlrom.py b/verilog/controller/genctrlrom.py new file mode 100644 index 0000000..4c799a5 --- /dev/null +++ b/verilog/controller/genctrlrom.py @@ -0,0 +1,117 @@ +# +# Generate control rom for Speech256 project +# +# Copyright N.A. Moseley 2017 / Moseley Instruments +# +# The control rom is in a slightly different format +# than we need for the Verilog code, so in addition +# to making a ROM directry, we massage it a bit... +# + +VerilogHeader = """ +// This file was auto-generated, +// do not modify by hand! + +module CTRLROM ( + clk, + en, + addr, + data + ); + input clk; + input en; + input [11:0] addr; + output reg [7:0] data; + + always @(posedge clk) + begin + if (en) + case(addr) +""" + +VerilogFooter = """ default: data <= 8'bXXXXXXXX; + endcase + end +endmodule +""" + +RomAddress = 0; + +def emitRomByte(b): + global RomAddress + global fout + fout.write(" 12'd"+str(RomAddress)+": data <= 8'd" + str(b) + ";\n") + RomAddress = RomAddress + 1; + +def convertFilterCoeff(c): + # turn c into negative 8-bit number + # 1 -> 255 + # 2 -> 254 + # 255 -> 1 + # 254 -> 2 + # 128 -> xxx + # 0 -> 0 + if (c == 0): + return 0 + + return (256-c); + +fout = open('ctrlrom.v','wt') + +with open('ctrlrom.hex', 'r') as fp: + hex_list = fp.readlines() + + +cmd_list = [int(c,16) for c in hex_list]; + +# generate header +fout.write(VerilogHeader) + +# generate jump table +for I in range(0,0x7E): + emitRomByte(cmd_list[I]) + +counter = 0x7E +while (counter < len(cmd_list)): + cmd = cmd_list[counter]; + if (cmd == 0): # JUMP INSTRUCTION + print("?") + elif (cmd == 1): # SET AMP AND PITCH + emitRomByte(cmd) + emitRomByte(cmd_list[counter+1]) # AMP LSB + emitRomByte(cmd_list[counter+2]) # AMP MSB + emitRomByte(cmd_list[counter+3]) # DUR + emitRomByte(cmd_list[counter+4]) # PITCH + counter = counter + 4 + #print("SET AMP+PITCH") + elif (cmd == 2): # SET COEFFICIENTS + emitRomByte(cmd) + emitRomByte(cmd_list[counter+1]) # AMP LSB + emitRomByte(cmd_list[counter+2]) # AMP MSB + emitRomByte(cmd_list[counter+3]) # DUR + emitRomByte(cmd_list[counter+4]) # PITCH + emitRomByte(convertFilterCoeff(cmd_list[counter+10])) # F6 + emitRomByte(convertFilterCoeff(cmd_list[counter+10+6])) # B6 + emitRomByte(convertFilterCoeff(cmd_list[counter+9])) # F5 + emitRomByte(convertFilterCoeff(cmd_list[counter+9+6])) # B5 + emitRomByte(convertFilterCoeff(cmd_list[counter+8])) # F4 + emitRomByte(convertFilterCoeff(cmd_list[counter+8+6])) # B4 + emitRomByte(convertFilterCoeff(cmd_list[counter+7])) # F3 + emitRomByte(convertFilterCoeff(cmd_list[counter+7+6])) # B3 + emitRomByte(convertFilterCoeff(cmd_list[counter+6])) # F2 + emitRomByte(convertFilterCoeff(cmd_list[counter+6+6])) # B2 + emitRomByte(convertFilterCoeff(cmd_list[counter+5])) # F1 + emitRomByte(convertFilterCoeff(cmd_list[counter+5+6])) # B1 + counter = counter + 4 + 12 + #print("SET COEFFS") + elif (cmd == 15): # SET COEFFICIENTS: # END OF COMMAND / 15 + emitRomByte(cmd) + else: + print("*** ERROR ***") + break + counter = counter + 1 + +# generate footer +fout.write(VerilogFooter) + +fout.close() \ No newline at end of file diff --git a/verilog/controller/run_tb.bat b/verilog/controller/run_tb.bat new file mode 100644 index 0000000..28ef1a3 --- /dev/null +++ b/verilog/controller/run_tb.bat @@ -0,0 +1,7 @@ +python genctrlrom.py +mkdir bin +del bin\controller.vvp +C:\iverilog\bin\iverilog -o bin\controller.vvp -m va_math -g2005 -s CONTROLLER_TB controller.v controller_tb.v ctrlrom.v +cd bin +C:\iverilog\bin\vvp controller.vvp -lxt2 +cd .. diff --git a/verilog/filter/filter.v b/verilog/filter/filter.v index e66c78e..f06de87 100644 --- a/verilog/filter/filter.v +++ b/verilog/filter/filter.v @@ -148,7 +148,7 @@ module FILTER ( if (do_accu) begin if (double_mode) - accu <= accu_in +{mul_result[14:0], 1'b0}; + accu <= accu_in + {mul_result[14:0], 1'b0}; else accu <= accu_in + mul_result; end diff --git a/verilog/pwmdac/pwmdac.v b/verilog/pwmdac/pwmdac.v index 5fc4115..6aee779 100644 --- a/verilog/pwmdac/pwmdac.v +++ b/verilog/pwmdac/pwmdac.v @@ -12,9 +12,9 @@ module PWMDAC ( clk, rst_an, - din, - din_ack, - dacout + din, // 16 bit signed data input + din_ack, // is high for 1 clock cycle after reading the din signal + dacout // 1-bit PWM output signal ); //////////// CLOCK ////////// diff --git a/verilog/source/source.v b/verilog/source/source.v index 1d5f0fe..f87f170 100644 --- a/verilog/source/source.v +++ b/verilog/source/source.v @@ -12,6 +12,7 @@ module SOURCE ( period, // period in 10kHz samples amplitude, // unsigned 15-bit desired amplitude of source output strobe, // when strobe == '1' a new source_out will be generated + period_done, // is set to '1' at the end of the period source_out // signed 16-bit source output ); @@ -23,6 +24,7 @@ module SOURCE ( //////////// OUTPUTS ////////// output reg signed [15:0] source_out; + output reg period_done; //////////// INPUTS ////////// input [14:0] amplitude; @@ -32,6 +34,7 @@ module SOURCE ( // internal counter and data registers reg signed [7:0] periodcnt; reg [16:0] lfsr; + reg last_strobe; always @(posedge clk, negedge rst_an) begin @@ -39,12 +42,17 @@ module SOURCE ( begin // reset values periodcnt <= 0; + period_done <= 1; source_out <= 0; + last_strobe <= 0; lfsr <= 17'h1; //note: never reset the LFSR to zero! end else begin - if (strobe == 1) + // default value + period_done <= 0; + + if ((strobe == 1) && (last_strobe == 0)) begin // if period == 0, we need to generate noise // else we generate a pulse wave @@ -53,8 +61,11 @@ module SOURCE ( // ------------------------------------------------------------ // LFSR NOISE GENERATOR // ------------------------------------------------------------ - if (periodcnt == 64) - periodcnt <= 0; + if (periodcnt == 64) + begin + periodcnt <= 0; + period_done <= 1; + end else periodcnt <= periodcnt + 1; @@ -69,7 +80,10 @@ module SOURCE ( // ------------------------------------------------------------ // make periodcnt count from 0 .. period-1 if (periodcnt == period) - periodcnt <= 0; + begin + periodcnt <= 0; + period_done <= 1; + end else periodcnt <= periodcnt + 1; @@ -79,6 +93,7 @@ module SOURCE ( source_out <= 16'h0000; end end + last_strobe <= strobe; end end diff --git a/verilog/source/source_tb.v b/verilog/source/source_tb.v index 8aca23e..b861299 100644 --- a/verilog/source/source_tb.v +++ b/verilog/source/source_tb.v @@ -13,6 +13,7 @@ module SOURCE_TB; reg [7:0] cnt; wire signed [15:0] source_out; + wire period_done; SOURCE u_source ( .clk (clk), @@ -20,6 +21,7 @@ module SOURCE_TB; .period (period), .amplitude (amp), .strobe (strobe), + .period_done (period_done) .source_out (source_out) ); diff --git a/verilog/speech256_top/run_tb.bat b/verilog/speech256_top/run_tb.bat new file mode 100644 index 0000000..10c4879 --- /dev/null +++ b/verilog/speech256_top/run_tb.bat @@ -0,0 +1,6 @@ +mkdir bin +del bin\speech256_top.vvp +C:\iverilog\bin\iverilog -o bin\speech256_top.vvp -m va_math -g2005 -s SPEECH256_TOP_TB speech256_top.v speech256_top_tb.v ..\filter\filter.v ..\source\source.v ..\spmul\spmul.v ..\pwmdac\pwmdac.v ..\controller\controller.v ..\controller\ctrlrom.v +cd bin +C:\iverilog\bin\vvp speech256_top.vvp -lxt2 +cd .. diff --git a/verilog/speech256_top/speech256_top.v b/verilog/speech256_top/speech256_top.v new file mode 100644 index 0000000..e33dda2 --- /dev/null +++ b/verilog/speech256_top/speech256_top.v @@ -0,0 +1,102 @@ +// +// Speecht256 top level +// +// Niels Moseley - Moseley Instruments 2017 +// http://www.moseleyinstruments.com +// +// + +module SPEECH256_TOP ( + clk, // global Speech256 clock + rst_an, + ldq, // load request, is high when new allophone can be loaded + data_in, // allophone input + data_stb, // allophone strobe input + dac_out, // 1-bit PWM DAC output + ); + + //////////// CLOCK ////////// + input clk; + + //////////// RESET, ACTIVE LOW ////////// + input rst_an; + + //////////// OUTPUTS ////////// + output dac_out; + output ldq; + + //////////// INPUTS ////////// + input [5:0] data_in; + input data_stb; + + + // internal counter and data registers + wire pwmdac_ack, src_strobe; + wire signed [15:0] sig_source; + wire signed [15:0] sig_filter; + wire period_done; + + wire [7:0] period; + wire [7:0] dur; + wire [15:0] amp; + + wire signed [7:0] coef_bus; + wire coef_load; + + wire done; + + SOURCE u_source ( + .clk (clk), + .rst_an (rst_an), + .period (period), + .amplitude (amp[14:0]), + .strobe (src_strobe), + .period_done (period_done), + .source_out (sig_source) + ); + + FILTER u_filter ( + .clk (clk), + .rst_an (rst_an), + .coef_in ({coef_bus, 1'b0}), + .coef_load (coef_load), + .sig_in (sig_source), + .sig_out (sig_filter), + .start (pwmdac_ack), + .done (src_strobe) + ); + + PWMDAC u_pwmdac ( + .clk (clk), + .rst_an (rst_an), + .din (sig_filter[15:8]), + .din_ack (pwmdac_ack), + .dacout (dac_out) + ); + + CONTROLLER u_controller ( + .clk (clk), + .rst_an (rst_an), + .ldq (ldq), + .data_in (data_in), + .data_stb (data_stb), + .period_out (period), + .amp_out (amp), + .coeff_out (coef_bus), + .coeff_stb (coef_load), + .period_done_in (period_done) + ); + + always @(posedge clk, negedge rst_an) + begin + if (rst_an == 0) + begin + // reset values + end + else + begin + // clocked process + end + end + +endmodule diff --git a/verilog/speech256_top/speech256_top_tb.v b/verilog/speech256_top/speech256_top_tb.v new file mode 100644 index 0000000..babc5d6 --- /dev/null +++ b/verilog/speech256_top/speech256_top_tb.v @@ -0,0 +1,53 @@ +// +// PWMDAC testbench +// +// Niels Moseley - Moseley Instruments 2017 +// http://www.moseleyinstruments.com +// + +module SPEECH256_TOP_TB; + reg clk, rst_an; + reg [5:0] data_in; + reg data_stb; + wire ldq,dac_out; + + SPEECH256_TOP u_speech256_top ( + .clk (clk), + .rst_an (rst_an), + .ldq (ldq), + .data_in (data_in), + .data_stb (data_stb), + .dac_out (dac_out) + ); + + integer fd; // file descriptor + + initial + begin + fd = $fopen("dacout.sw","wb"); + $dumpfile ("speech256_top.vcd"); + $dumpvars; + clk = 0; + rst_an = 0; + data_stb = 0; + #5 + rst_an = 1; + #5 + data_in = 6; + data_stb = 1; + #5 + data_stb = 0; + #300000 + //$fclose(fd); + $finish; + end + + always @(posedge clk) + begin + $fwrite(fd,"%u", {31'd0,dac_out}); + end + + always + #5 clk = !clk; + +endmodule