// ========== Copyright Header Begin ========================================== // // OpenSPARC T2 Processor File: xgmii_tx_encoder.v // Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved // 4150 Network Circle, Santa Clara, California 95054, U.S.A. // // * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; version 2 of the License. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // For the avoidance of doubt, and except that if any non-GPL license // choice is available it will apply instead, Sun elects to use only // the General Public License version 2 (GPLv2) at this time for any // software where a choice of GPL license versions is made // available with the language indicating that GPLv2 or any later version // may be used, or where a choice of which version of the GPL is applied is // otherwise unspecified. // // Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, // CA 95054 USA or visit www.sun.com if you need additional information or // have any questions. // // ========== Copyright Header End ============================================ `define XAUI_ENC_COM 8'h07 //K28.5 8'hBC? ||K|| Sync Col `define XAUI_ENC_SDP 8'hFB `define XAUI_ENC_EGP 8'hFD `define XAUI_ENC_EBP 8'hFE `define XAUI_ENC_SEQ 8'h9c `define XAUI_ENC_ALN 8'h7c `define XAUI_ENC_SKP 8'h1c `define XAUI_ENC_ERROR 8'h00 module xgmii_tx_encoder ( tx_clk, tx_rst, tx_8b_enc_in, special, idle_cycle, is16, even, eop, RDreg, tx_10b_enc_out); input tx_clk; // 250 MHz TX clk input tx_rst; // synchronous reset input idle_cycle; // synchronous reset input even; // synchronous reset input is16; // synchronous reset input eop; // synchronous reset input [7:0] tx_8b_enc_in; // incoming byte input special; // used for special characters output RDreg; // running disparity of last data output [9:0] tx_10b_enc_out; // outgoing 10 bits encoded parameter lane_num = 0; wire pos_disp; reg [7:0] tx_8b_enc_int; // incoming byte reg RDreg; wire [9:0] tx_10b_enc_out_int; reg [9:0] tx_10b_enc_out_pri; reg [9:0] tx_10b_enc_out_sp; reg pos_disp_pri; reg pos_disp_sp; reg [9:0] tx_10b_enc_out; // outgoing 10 bits encoded reg invalids_s_symbol; initial invalids_s_symbol = 0; `ifdef AXIS `else // AXIS // The following code is to assert invalids to the 10 bit vectors to bring link down //reg invalids_s_symbol; reg invalids_d_symbol; reg [63:0] invalids_start_time; reg [63:0] invalids_repeat_interval; reg [63:0] invalids_curr_time; integer invalids_repeat_count; integer invalids_repeat_count_curr; integer invalids_type; integer invalids_first_time; integer valid_symbols_max = 464; integer valid_symbols_curr; integer invalid_symbols_max = 560; integer invalid_symbols_curr; integer timescale_factor = 1000; // To get to ns reg invalids_assertion_is_done; reg [9:0] valid_symbols [1023:0]; reg [4:0] random_invalid_symbols; reg [9:0] invalid_symbols [1023:0]; integer ret; initial begin //invalids_s_symbol = 0; invalids_d_symbol = 0; invalids_start_time = 0; invalids_type = 0; invalids_first_time = 1; random_invalid_symbols = $random; invalids_repeat_interval = 9999999; // very high value invalids_repeat_count = 10; // 10 repeats by default invalids_repeat_count_curr = 0; invalids_assertion_is_done = 0; valid_symbols_curr = 0; invalid_symbols_curr = 0; // Collect type of errors to introduce if ($test$plusargs("invalids_type=")) begin ret = $value$plusargs("invalids_type=%d", invalids_type); end // Collect start time to corrupt bit vectors if ($test$plusargs("invalids_start_time=")) begin ret = $value$plusargs("invalids_start_time=%d", invalids_start_time); invalids_start_time = invalids_start_time * timescale_factor; end // Collect repeat interval if ($test$plusargs("invalids_repeat_interval=")) begin ret = $value$plusargs("invalids_repeat_interval=%d", invalids_repeat_interval); invalids_repeat_interval = invalids_repeat_interval * timescale_factor; end // Collect repeat count if ($test$plusargs("invalids_repeat_count=")) begin ret = $value$plusargs("invalids_repeat_count=%d", invalids_repeat_count); end // Wait for this much amount of time to start asserting invalids if(invalids_first_time == 1 && invalids_start_time != 0) begin invalids_first_time = 0; #(invalids_start_time); // Wait for 1 tx_clk to to get in sync @(posedge tx_clk); #1; $display("<%0d> Asserting invalid code Start %m", $time); end while((invalids_assertion_is_done == 0) && (invalids_start_time != 0)) begin random_invalid_symbols = $random; if(invalids_type == 1) begin // Corrupt only s symbols invalids_s_symbol = 1; end if(invalids_type == 2) begin // Corrupt only d symbols invalids_d_symbol = 1; end if(invalids_type == 3) begin // Corrupt both s and d symbols invalids_d_symbol = 1; invalids_s_symbol = 1; end if(invalids_type == 4) begin // Corrupt s and d symbols randomly invalids_d_symbol = $random & 32'h1; invalids_s_symbol = $random & 32'h1; end if(invalids_type == 5) begin // Assert all valid and invalid symbols if(valid_symbols_curr < valid_symbols_max) begin $display("<%0d> Asserting valid code %b lane_num:%0d index:%0d %m", $time, valid_symbols[lane_num + valid_symbols_curr], lane_num, lane_num + valid_symbols_curr); force tx_10b_enc_out_pri = valid_symbols[lane_num + valid_symbols_curr]; valid_symbols_curr = valid_symbols_curr + 4; end else if (invalid_symbols_curr < invalid_symbols_max) begin $display("<%0d> Asserting invalid code %b lane_num:%0d index:%0d %m", $time, invalid_symbols[lane_num + invalid_symbols_curr], lane_num, lane_num + invalid_symbols_curr); force tx_10b_enc_out_pri = invalid_symbols[lane_num + invalid_symbols_curr]; invalid_symbols_curr = invalid_symbols_curr + 4; end end if(invalids_s_symbol) $display("<%0d> Asserting invalids_s_symbol %m", $time); if(invalids_d_symbol) begin $display("<%0d> Asserting invalids_d_symbol %m", $time); if(random_invalid_symbols < 4) force tx_10b_enc_out_pri = 10'h3FF; else if(random_invalid_symbols < 8) force tx_10b_enc_out_pri = 10'h000; else force tx_10b_enc_out_pri = $random & 10'h3FF; end if(invalid_symbols_curr >= invalid_symbols_max & valid_symbols_curr >= valid_symbols_curr) begin invalid_symbols_curr = 0; valid_symbols_curr = 0; end if(invalid_symbols_curr == 0 & valid_symbols_curr == 0) begin invalids_repeat_count_curr = invalids_repeat_count_curr + 1; #(invalids_repeat_interval); end if(invalids_repeat_count_curr >= invalids_repeat_count) begin invalids_assertion_is_done = 1; $display("<%0d> Asserting invalid code End %m", $time); end invalids_s_symbol = 0; invalids_d_symbol = 0; if(invalids_type == 5) begin // Wait for 1 tx_clk to walk all valid and invalid symbols @(posedge tx_clk); #1; end release tx_10b_enc_out_pri; end // while(1) end `endif // AXIS always @(even or tx_8b_enc_in or idle_cycle or is16 or eop or invalids_s_symbol) begin if(invalids_s_symbol) begin tx_8b_enc_int = `XAUI_ENC_ERROR; end else if (idle_cycle ) begin if ((even & ~is16) | eop ) tx_8b_enc_int = `XAUI_ENC_COM; else if (is16 ) tx_8b_enc_int = `XAUI_ENC_ALN; else tx_8b_enc_int = `XAUI_ENC_SKP; end else tx_8b_enc_int = tx_8b_enc_in; end // Register disparity always @ (posedge tx_clk ) if (tx_rst) RDreg <= 1'b0; else RDreg <= pos_disp; assign pos_disp = special ? pos_disp_sp : pos_disp_pri; always @ (posedge tx_clk ) begin if(tx_rst) tx_10b_enc_out <= 10'h0; else begin tx_10b_enc_out[9:0] <= {tx_10b_enc_out_int[0],tx_10b_enc_out_int[1], tx_10b_enc_out_int[2],tx_10b_enc_out_int[3], tx_10b_enc_out_int[4],tx_10b_enc_out_int[5], tx_10b_enc_out_int[6],tx_10b_enc_out_int[7], tx_10b_enc_out_int[8],tx_10b_enc_out_int[9]}; end end /* assign tx_10b_enc_out[9:0] = {tx_10b_enc_out_int[0],tx_10b_enc_out_int[1], tx_10b_enc_out_int[2],tx_10b_enc_out_int[3], tx_10b_enc_out_int[4],tx_10b_enc_out_int[5], tx_10b_enc_out_int[6],tx_10b_enc_out_int[7], tx_10b_enc_out_int[8],tx_10b_enc_out_int[9]}; */ assign tx_10b_enc_out_int = special ? tx_10b_enc_out_sp : tx_10b_enc_out_pri; //assign tx_8b_enc_int = (even ==1) ? `XAUI_ENC_SKP: `XAUI_ENC_COM ; // Encode data byte always @ (tx_8b_enc_in or RDreg) case (tx_8b_enc_in[7:0]) //####SYNOPSYS parallel_case full_case //if RD-, choose 1st, if RD+ choose 2nd 8'h00: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1001110100 : 10'b0110001011), RDreg}; 8'h01: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0111010100 : 10'b1000101011), RDreg}; 8'h02: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1011010100 : 10'b0100101011), RDreg}; 8'h03: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1100011011 : 10'b1100010100), !RDreg}; 8'h04: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1101010100 : 10'b0010101011), RDreg}; 8'h05: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1010011011 : 10'b1010010100), !RDreg}; 8'h06: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0110011011 : 10'b0110010100), !RDreg}; 8'h07: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110001011 : 10'b0001110100), !RDreg}; 8'h08: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110010100 : 10'b0001101011), RDreg}; 8'h09: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1001011011 : 10'b1001010100), !RDreg}; 8'h0a: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0101011011 : 10'b0101010100), !RDreg}; 8'h0b: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1101001011 : 10'b1101000100), !RDreg}; 8'h0c: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0011011011 : 10'b0011010100), !RDreg}; 8'h0d: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1011001011 : 10'b1011000100), !RDreg}; 8'h0e: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0111001011 : 10'b0111000100), !RDreg}; 8'h0f: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0101110100 : 10'b1010001011), RDreg}; 8'h10: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0110110100 : 10'b1001001011), RDreg}; 8'h11: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1000111011 : 10'b1000110100), !RDreg}; 8'h12: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0100111011 : 10'b0100110100), !RDreg}; 8'h13: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1100101011 : 10'b1100100100), !RDreg}; 8'h14: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0010111011 : 10'b0010110100), !RDreg}; 8'h15: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1010101011 : 10'b1010100100), !RDreg}; 8'h16: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0110101011 : 10'b0110100100), !RDreg}; 8'h17: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110100100 : 10'b0001011011), RDreg}; 8'h18: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1100110100 : 10'b0011001011), RDreg}; 8'h19: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1001101011 : 10'b1001100100), !RDreg}; 8'h1a: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0101101011 : 10'b0101100100), !RDreg}; 8'h1b: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1101100100 : 10'b0010011011), RDreg}; 8'h1c: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0011101011 : 10'b0011100100), !RDreg}; 8'h1d: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1011100100 : 10'b0100011011), RDreg}; 8'h1e: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0111100100 : 10'b1000011011), RDreg}; 8'h1f: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1010110100 : 10'b0101001011), RDreg}; 8'h20: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1001111001 : 10'b0110001001), !RDreg}; 8'h21: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0111011001 : 10'b1000101001), !RDreg}; 8'h22: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1011011001 : 10'b0100101001), !RDreg}; 8'h23: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1100011001), RDreg}; 8'h24: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1101011001 : 10'b0010101001), !RDreg}; 8'h25: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1010011001), RDreg}; 8'h26: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0110011001), RDreg}; 8'h27: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110001001 : 10'b0001111001), RDreg}; 8'h28: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110011001 : 10'b0001101001), !RDreg}; 8'h29: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1001011001), RDreg}; 8'h2a: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0101011001), RDreg}; 8'h2b: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1101001001), RDreg}; 8'h2c: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0011011001), RDreg}; 8'h2d: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1011001001), RDreg}; 8'h2e: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0111001001), RDreg}; 8'h2f: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0101111001 : 10'b1010001001), !RDreg}; 8'h30: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0110111001 : 10'b1001001001), !RDreg}; 8'h31: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1000111001), RDreg}; 8'h32: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0100111001), RDreg}; 8'h33: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1100101001), RDreg}; 8'h34: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0010111001), RDreg}; 8'h35: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1010101001), RDreg}; 8'h36: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0110101001), RDreg}; 8'h37: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110101001 : 10'b0001011001), !RDreg}; 8'h38: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1100111001 : 10'b0011001001), !RDreg}; 8'h39: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1001101001), RDreg}; 8'h3a: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0101101001), RDreg}; 8'h3b: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1101101001 : 10'b0010011001), !RDreg}; 8'h3c: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0011101001), RDreg}; 8'h3d: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1011101001 : 10'b0100011001), !RDreg}; 8'h3e: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0111101001 : 10'b1000011001), !RDreg}; 8'h3f: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1010111001 : 10'b0101001001), !RDreg}; 8'h40: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1001110101 : 10'b0110000101), !RDreg}; 8'h41: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0111010101 : 10'b1000100101), !RDreg}; 8'h42: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1011010101 : 10'b0100100101), !RDreg}; 8'h43: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1100010101 : 10'b1100010101), RDreg}; 8'h44: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1101010101 : 10'b0010100101), !RDreg}; 8'h45: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1010010101), RDreg}; 8'h46: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0110010101), RDreg}; 8'h47: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110000101 : 10'b0001110101), RDreg}; 8'h48: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110010101 : 10'b0001100101), !RDreg}; 8'h49: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1001010101), RDreg}; 8'h4a: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0101010101), RDreg}; 8'h4b: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1101000101), RDreg}; 8'h4c: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0011010101), RDreg}; 8'h4d: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1011000101), RDreg}; 8'h4e: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0111000101), RDreg}; 8'h4f: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0101110101 : 10'b1010000101), !RDreg}; 8'h50: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0110110101 : 10'b1001000101), !RDreg}; 8'h51: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1000110101), RDreg}; 8'h52: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0100110101), RDreg}; 8'h53: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1100100101), RDreg}; 8'h54: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0010110101), RDreg}; 8'h55: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1010100101), RDreg}; 8'h56: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0110100101), RDreg}; 8'h57: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110100101 : 10'b0001010101), !RDreg}; 8'h58: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1100110101 : 10'b0011000101), !RDreg}; 8'h59: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1001100101), RDreg}; 8'h5a: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0101100101), RDreg}; 8'h5b: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1101100101 : 10'b0010010101), !RDreg}; 8'h5c: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0011100101), RDreg}; 8'h5d: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1011100101 : 10'b0100010101), !RDreg}; 8'h5e: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0111100101 : 10'b1000010101), !RDreg}; 8'h5f: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1010110101 : 10'b0101000101), !RDreg}; 8'h60: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1001110011 : 10'b0110001100), !RDreg}; 8'h61: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0111010011 : 10'b1000101100), !RDreg}; 8'h62: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1011010011 : 10'b0100101100), !RDreg}; 8'h63: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1100011100 : 10'b1100010011), RDreg}; 8'h64: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1101010011 : 10'b0010101100), !RDreg}; 8'h65: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1010011100 : 10'b1010010011), RDreg}; 8'h66: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0110011100 : 10'b0110010011), RDreg}; 8'h67: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110001100 : 10'b0001110011), RDreg}; 8'h68: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110010011 : 10'b0001101100), !RDreg}; 8'h69: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1001011100 : 10'b1001010011), RDreg}; 8'h6a: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0101011100 : 10'b0101010011), RDreg}; 8'h6b: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1101001100 : 10'b1101000011), RDreg}; 8'h6c: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0011011100 : 10'b0011010011), RDreg}; 8'h6d: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1011001100 : 10'b1011000011), RDreg}; 8'h6e: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0111001100 : 10'b0111000011), RDreg}; 8'h6f: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0101110011 : 10'b1010001100), !RDreg}; 8'h70: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0110110011 : 10'b1001001100), !RDreg}; 8'h71: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1000111100 : 10'b1000110011), RDreg}; 8'h72: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0100111100 : 10'b0100110011), RDreg}; 8'h73: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1100101100 : 10'b1100100011), RDreg}; 8'h74: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0010111100 : 10'b0010110011), RDreg}; 8'h75: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1010101100 : 10'b1010100011), RDreg}; 8'h76: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0110101100 : 10'b0110100011), RDreg}; 8'h77: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110100011 : 10'b0001011100), !RDreg}; 8'h78: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1100110011 : 10'b0011001100), !RDreg}; 8'h79: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1001101100 : 10'b1001100011), RDreg}; 8'h7a: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0101101100 : 10'b0101100011), RDreg}; 8'h7b: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1101100011 : 10'b0010011100), !RDreg}; 8'h7c: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0011101100 : 10'b0011100011), RDreg}; 8'h7d: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1011100011 : 10'b0100011100), !RDreg}; 8'h7e: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0111100011 : 10'b1000011100), !RDreg}; 8'h7f: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1010110011 : 10'b0101001100), !RDreg}; 8'h80: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1001110010 : 10'b0110001101), RDreg}; 8'h81: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0111010010 : 10'b1000101101), RDreg}; 8'h82: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1011010010 : 10'b0100101101), RDreg}; 8'h83: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1100011101 : 10'b1100010010), !RDreg}; 8'h84: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1101010010 : 10'b0010101101), RDreg}; 8'h85: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1010011101 : 10'b1010010010), !RDreg}; 8'h86: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0110011101 : 10'b0110010010), !RDreg}; 8'h87: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110001101 : 10'b0001110010), !RDreg}; 8'h88: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110010010 : 10'b0001101101), RDreg}; 8'h89: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1001011101 : 10'b1001010010), !RDreg}; 8'h8a: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0101011101 : 10'b0101010010), !RDreg}; 8'h8b: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1101001101 : 10'b1101000010), !RDreg}; 8'h8c: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0011011101 : 10'b0011010010), !RDreg}; 8'h8d: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1011001101 : 10'b1011000010), !RDreg}; 8'h8e: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0111001101 : 10'b0111000010), !RDreg}; 8'h8f: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0101110010 : 10'b1010001101), RDreg}; 8'h90: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0110110010 : 10'b1001001101), RDreg}; 8'h91: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1000111101 : 10'b1000110010), !RDreg}; 8'h92: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0100111101 : 10'b0100110010), !RDreg}; 8'h93: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1100101101 : 10'b1100100010), !RDreg}; 8'h94: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0010111101 : 10'b0010110010), !RDreg}; 8'h95: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1010101101 : 10'b1010100010), !RDreg}; 8'h96: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0110101101 : 10'b0110100010), !RDreg}; 8'h97: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110100010 : 10'b0001011101), RDreg}; 8'h98: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1100110010 : 10'b0011001101), RDreg}; 8'h99: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1001101101 : 10'b1001100010), !RDreg}; 8'h9a: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0101101101 : 10'b0101100010), !RDreg}; 8'h9b: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1101100010 : 10'b0010011101), RDreg}; 8'h9c: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0011101101 : 10'b0011100010), !RDreg}; 8'h9d: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1011100010 : 10'b0100011101), RDreg}; 8'h9e: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0111100010 : 10'b1000011101), RDreg}; 8'h9f: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1010110010 : 10'b0101001101), RDreg}; 8'ha0: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1001111010 : 10'b0110001010), !RDreg}; 8'ha1: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0111011010 : 10'b1000101010), !RDreg}; 8'ha2: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1011011010 : 10'b0100101010), !RDreg}; 8'ha3: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1100011010 : 10'b1100011010), RDreg}; 8'ha4: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1101011010 : 10'b0010101010), !RDreg}; 8'ha5: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1010011010), RDreg}; 8'ha6: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0110011010), RDreg}; 8'ha7: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110001010 : 10'b0001111010), RDreg}; 8'ha8: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110011010 : 10'b0001101010), !RDreg}; 8'ha9: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1001011010), RDreg}; 8'haa: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0101011010), RDreg}; 8'hab: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1101001010), RDreg}; 8'hac: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0011011010), RDreg}; 8'had: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1011001010), RDreg}; 8'hae: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0111001010), RDreg}; 8'haf: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0101111010 : 10'b1010001010), !RDreg}; 8'hb0: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0110111010 : 10'b1001001010), !RDreg}; 8'hb1: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1000111010), RDreg}; 8'hb2: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0100111010), RDreg}; 8'hb3: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1100101010), RDreg}; 8'hb4: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0010111010), RDreg}; 8'hb5: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1010101010), RDreg}; 8'hb6: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0110101010), RDreg}; 8'hb7: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110101010 : 10'b0001011010), !RDreg}; 8'hb8: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1100111010 : 10'b0011001010), !RDreg}; 8'hb9: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1001101010), RDreg}; 8'hba: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0101101010), RDreg}; 8'hbb: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1101101010 : 10'b0010011010), !RDreg}; 8'hbc: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0011101010), RDreg}; 8'hbd: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1011101010 : 10'b0100011010), !RDreg}; 8'hbe: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0111101010 : 10'b1000011010), !RDreg}; 8'hbf: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1010111010 : 10'b0101001010), !RDreg}; 8'hc0: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1001110110 : 10'b0110000110), !RDreg}; 8'hc1: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0111010110 : 10'b1000100110), !RDreg}; 8'hc2: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1011010110 : 10'b0100100110), !RDreg}; 8'hc3: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1100010110), RDreg}; 8'hc4: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1101010110 : 10'b0010100110), !RDreg}; 8'hc5: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1010010110), RDreg}; 8'hc6: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0110010110), RDreg}; 8'hc7: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110000110 : 10'b0001110110), RDreg}; 8'hc8: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110010110 : 10'b0001100110), !RDreg}; 8'hc9: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1001010110), RDreg}; 8'hca: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0101010110), RDreg}; 8'hcb: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1101000110), RDreg}; 8'hcc: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0011010110), RDreg}; 8'hcd: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1011000110), RDreg}; 8'hce: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0111000110), RDreg}; 8'hcf: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0101110110 : 10'b1010000110), !RDreg}; 8'hd0: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0110110110 : 10'b1001000110), !RDreg}; 8'hd1: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1000110110), RDreg}; 8'hd2: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0100110110), RDreg}; 8'hd3: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1100100110), RDreg}; 8'hd4: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0010110110), RDreg}; 8'hd5: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1010100110), RDreg}; 8'hd6: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0110100110), RDreg}; 8'hd7: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110100110 : 10'b0001010110), !RDreg}; 8'hd8: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1100110110 : 10'b0011000110), !RDreg}; 8'hd9: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b1001100110), RDreg}; 8'hda: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0101100110), RDreg}; 8'hdb: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1101100110 : 10'b0010010110), !RDreg}; 8'hdc: {tx_10b_enc_out_pri, pos_disp_pri} = {(10'b0011100110), RDreg}; 8'hdd: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1011100110 : 10'b0100010110), !RDreg}; 8'hde: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0111100110 : 10'b1000010110), !RDreg}; 8'hdf: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1010110110 : 10'b0101000110), !RDreg}; 8'he0: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1001110001 : 10'b0110001110), RDreg}; 8'he1: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0111010001 : 10'b1000101110), RDreg}; 8'he2: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1011010001 : 10'b0100101110), RDreg}; 8'he3: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1100011110 : 10'b1100010001), !RDreg}; 8'he4: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1101010001 : 10'b0010101110), RDreg}; 8'he5: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1010011110 : 10'b1010010001), !RDreg}; 8'he6: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0110011110 : 10'b0110010001), !RDreg}; 8'he7: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110001110 : 10'b0001110001), !RDreg}; 8'he8: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110010001 : 10'b0001101110), RDreg}; 8'he9: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1001011110 : 10'b1001010001), !RDreg}; 8'hea: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0101011110 : 10'b0101010001), !RDreg}; 8'heb: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1101001110 : 10'b1101001000), !RDreg}; 8'hec: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0011011110 : 10'b0011010001), !RDreg}; 8'hed: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1011001110 : 10'b1011001000), !RDreg}; 8'hee: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0111001110 : 10'b0111001000), !RDreg}; 8'hef: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0101110001 : 10'b1010001110), RDreg}; 8'hf0: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0110110001 : 10'b1001001110), RDreg}; 8'hf1: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1000110111 : 10'b1000110001), !RDreg}; 8'hf2: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0100110111 : 10'b0100110001), !RDreg}; 8'hf3: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1100101110 : 10'b1100100001), !RDreg}; 8'hf4: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0010110111 : 10'b0010110001), !RDreg}; 8'hf5: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1010101110 : 10'b1010100001), !RDreg}; 8'hf6: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0110101110 : 10'b0110100001), !RDreg}; 8'hf7: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1110100001 : 10'b0001011110), RDreg}; 8'hf8: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1100110001 : 10'b0011001110), RDreg}; 8'hf9: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1001101110 : 10'b1001100001), !RDreg}; 8'hfa: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0101101110 : 10'b0101100001), !RDreg}; 8'hfb: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1101100001 : 10'b0010011110), RDreg}; 8'hfc: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0011101110 : 10'b0011100001), !RDreg}; 8'hfd: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1011100001 : 10'b0100011110), RDreg}; 8'hfe: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b0111100001 : 10'b1000011110), RDreg}; 8'hff: {tx_10b_enc_out_pri, pos_disp_pri} = {(!RDreg ? 10'b1010110001 : 10'b0101001110), RDreg}; endcase // Encode Control Symbols always @ (tx_8b_enc_int or RDreg) case (tx_8b_enc_int[7:0]) //#####SYNOPSYS full_case parallel_case //if RD-, choose 1st, if RD+ choose 2nd // XGMII Required Symbols `XAUI_ENC_COM : // 8'h07 - K28.5 - COM (Comma, character boundary alignment symbol) {tx_10b_enc_out_sp, pos_disp_sp} = {(!RDreg ? 10'b0011111010 : 10'b1100000101), !RDreg}; `XAUI_ENC_SDP : // 8'hFB - K27.7 - SDP (Start of data packet delimiter) {tx_10b_enc_out_sp, pos_disp_sp} = {(!RDreg ? 10'b1101101000 : 10'b0010010111), RDreg}; `XAUI_ENC_EGP : // 8'hFD - K29.7 - EGP (End of good packet delimiter) {tx_10b_enc_out_sp, pos_disp_sp} = {(!RDreg ? 10'b1011101000 : 10'b0100010111), RDreg}; `XAUI_ENC_EBP : // 8'hFE - K30.7 - EBP (End of bad packet delimiter) {tx_10b_enc_out_sp, pos_disp_sp} = {(!RDreg ? 10'b0111101000 : 10'b1000010111), RDreg}; `XAUI_ENC_SEQ : // 8'h9C - K28.4 - Sequence {tx_10b_enc_out_sp, pos_disp_sp} = {(!RDreg ? 10'b0011110010 : 10'b1100001101), RDreg}; `XAUI_ENC_SKP : // 8'h1C - K28.0 - SKP (Skip symbol) {tx_10b_enc_out_sp, pos_disp_sp} = {(!RDreg ? 10'b0011110100 : 10'b1100001011), RDreg}; `XAUI_ENC_ALN : // 4'h8 - K28.3 - ALN (Align Symbol) {tx_10b_enc_out_sp, pos_disp_sp} = {(!RDreg ? 10'b0011110011 : 10'b1100001100), !RDreg}; `XAUI_ENC_ERROR: {tx_10b_enc_out_sp, pos_disp_sp} = {(!RDreg ? 10'b1111111111 : 10'b1111111111), !RDreg}; // Reserved Symbols // Extra Symbols - To Disable A Port endcase `ifdef AXIS `else // AXIS initial begin valid_symbols[0] = 10'b0001010101; valid_symbols[1] = 10'b0001010110; valid_symbols[2] = 10'b0001010111; valid_symbols[3] = 10'b0001011001; valid_symbols[4] = 10'b0001011010; valid_symbols[5] = 10'b0001011011; valid_symbols[6] = 10'b0001011100; valid_symbols[7] = 10'b0001011101; valid_symbols[8] = 10'b0001011110; valid_symbols[9] = 10'b0001100101; valid_symbols[10] = 10'b0001100110; valid_symbols[11] = 10'b0001101001; valid_symbols[12] = 10'b0001101010; valid_symbols[13] = 10'b0001101011; valid_symbols[14] = 10'b0001101100; valid_symbols[15] = 10'b0001101101; valid_symbols[16] = 10'b0001101110; valid_symbols[17] = 10'b0001110001; valid_symbols[18] = 10'b0001110010; valid_symbols[19] = 10'b0001110011; valid_symbols[20] = 10'b0001110100; valid_symbols[21] = 10'b0001110101; valid_symbols[22] = 10'b0001110110; valid_symbols[23] = 10'b0001111001; valid_symbols[24] = 10'b0001111010; valid_symbols[25] = 10'b0010010101; valid_symbols[26] = 10'b0010010110; valid_symbols[27] = 10'b0010010111; valid_symbols[28] = 10'b0010011001; valid_symbols[29] = 10'b0010011010; valid_symbols[30] = 10'b0010011011; valid_symbols[31] = 10'b0010011100; valid_symbols[32] = 10'b0010011101; valid_symbols[33] = 10'b0010011110; valid_symbols[34] = 10'b0010100101; valid_symbols[35] = 10'b0010100110; valid_symbols[36] = 10'b0010101001; valid_symbols[37] = 10'b0010101010; valid_symbols[38] = 10'b0010101011; valid_symbols[39] = 10'b0010101100; valid_symbols[40] = 10'b0010101101; valid_symbols[41] = 10'b0010101110; valid_symbols[42] = 10'b0010110001; valid_symbols[43] = 10'b0010110010; valid_symbols[44] = 10'b0010110011; valid_symbols[45] = 10'b0010110100; valid_symbols[46] = 10'b0010110101; valid_symbols[47] = 10'b0010110110; valid_symbols[48] = 10'b0010110111; valid_symbols[49] = 10'b0010111001; valid_symbols[50] = 10'b0010111010; valid_symbols[51] = 10'b0010111011; valid_symbols[52] = 10'b0010111100; valid_symbols[53] = 10'b0010111101; valid_symbols[54] = 10'b0011000101; valid_symbols[55] = 10'b0011000110; valid_symbols[56] = 10'b0011001001; valid_symbols[57] = 10'b0011001010; valid_symbols[58] = 10'b0011001011; valid_symbols[59] = 10'b0011001100; valid_symbols[60] = 10'b0011001101; valid_symbols[61] = 10'b0011001110; valid_symbols[62] = 10'b0011010001; valid_symbols[63] = 10'b0011010010; valid_symbols[64] = 10'b0011010011; valid_symbols[65] = 10'b0011010100; valid_symbols[66] = 10'b0011010101; valid_symbols[67] = 10'b0011010110; valid_symbols[68] = 10'b0011011001; valid_symbols[69] = 10'b0011011010; valid_symbols[70] = 10'b0011011011; valid_symbols[71] = 10'b0011011100; valid_symbols[72] = 10'b0011011101; valid_symbols[73] = 10'b0011011110; valid_symbols[74] = 10'b0011100001; valid_symbols[75] = 10'b0011100010; valid_symbols[76] = 10'b0011100011; valid_symbols[77] = 10'b0011100100; valid_symbols[78] = 10'b0011100101; valid_symbols[79] = 10'b0011100110; valid_symbols[80] = 10'b0011101001; valid_symbols[81] = 10'b0011101010; valid_symbols[82] = 10'b0011101011; valid_symbols[83] = 10'b0011101100; valid_symbols[84] = 10'b0011101101; valid_symbols[85] = 10'b0011101110; valid_symbols[86] = 10'b0011110010; valid_symbols[87] = 10'b0011110011; valid_symbols[88] = 10'b0011110100; valid_symbols[89] = 10'b0011110101; valid_symbols[90] = 10'b0011110110; valid_symbols[91] = 10'b0011111000; valid_symbols[92] = 10'b0011111001; valid_symbols[93] = 10'b0011111010; valid_symbols[94] = 10'b0100010101; valid_symbols[95] = 10'b0100010110; valid_symbols[96] = 10'b0100010111; valid_symbols[97] = 10'b0100011001; valid_symbols[98] = 10'b0100011010; valid_symbols[99] = 10'b0100011011; valid_symbols[100] = 10'b0100011100; valid_symbols[101] = 10'b0100011101; valid_symbols[102] = 10'b0100011110; valid_symbols[103] = 10'b0100100101; valid_symbols[104] = 10'b0100100110; valid_symbols[105] = 10'b0100101001; valid_symbols[106] = 10'b0100101010; valid_symbols[107] = 10'b0100101011; valid_symbols[108] = 10'b0100101100; valid_symbols[109] = 10'b0100101101; valid_symbols[110] = 10'b0100101110; valid_symbols[111] = 10'b0100110001; valid_symbols[112] = 10'b0100110010; valid_symbols[113] = 10'b0100110011; valid_symbols[114] = 10'b0100110100; valid_symbols[115] = 10'b0100110101; valid_symbols[116] = 10'b0100110110; valid_symbols[117] = 10'b0100110111; valid_symbols[118] = 10'b0100111001; valid_symbols[119] = 10'b0100111010; valid_symbols[120] = 10'b0100111011; valid_symbols[121] = 10'b0100111100; valid_symbols[122] = 10'b0100111101; valid_symbols[123] = 10'b0101000101; valid_symbols[124] = 10'b0101000110; valid_symbols[125] = 10'b0101001001; valid_symbols[126] = 10'b0101001010; valid_symbols[127] = 10'b0101001011; valid_symbols[128] = 10'b0101001100; valid_symbols[129] = 10'b0101001101; valid_symbols[130] = 10'b0101001110; valid_symbols[131] = 10'b0101010001; valid_symbols[132] = 10'b0101010010; valid_symbols[133] = 10'b0101010011; valid_symbols[134] = 10'b0101010100; valid_symbols[135] = 10'b0101010101; valid_symbols[136] = 10'b0101010110; valid_symbols[137] = 10'b0101011001; valid_symbols[138] = 10'b0101011010; valid_symbols[139] = 10'b0101011011; valid_symbols[140] = 10'b0101011100; valid_symbols[141] = 10'b0101011101; valid_symbols[142] = 10'b0101011110; valid_symbols[143] = 10'b0101100001; valid_symbols[144] = 10'b0101100010; valid_symbols[145] = 10'b0101100011; valid_symbols[146] = 10'b0101100100; valid_symbols[147] = 10'b0101100101; valid_symbols[148] = 10'b0101100110; valid_symbols[149] = 10'b0101101001; valid_symbols[150] = 10'b0101101010; valid_symbols[151] = 10'b0101101011; valid_symbols[152] = 10'b0101101100; valid_symbols[153] = 10'b0101101101; valid_symbols[154] = 10'b0101101110; valid_symbols[155] = 10'b0101110001; valid_symbols[156] = 10'b0101110010; valid_symbols[157] = 10'b0101110011; valid_symbols[158] = 10'b0101110100; valid_symbols[159] = 10'b0101110101; valid_symbols[160] = 10'b0101110110; valid_symbols[161] = 10'b0101111001; valid_symbols[162] = 10'b0101111010; valid_symbols[163] = 10'b0110000101; valid_symbols[164] = 10'b0110000110; valid_symbols[165] = 10'b0110001001; valid_symbols[166] = 10'b0110001010; valid_symbols[167] = 10'b0110001011; valid_symbols[168] = 10'b0110001100; valid_symbols[169] = 10'b0110001101; valid_symbols[170] = 10'b0110001110; valid_symbols[171] = 10'b0110010001; valid_symbols[172] = 10'b0110010010; valid_symbols[173] = 10'b0110010011; valid_symbols[174] = 10'b0110010100; valid_symbols[175] = 10'b0110010101; valid_symbols[176] = 10'b0110010110; valid_symbols[177] = 10'b0110011001; valid_symbols[178] = 10'b0110011010; valid_symbols[179] = 10'b0110011011; valid_symbols[180] = 10'b0110011100; valid_symbols[181] = 10'b0110011101; valid_symbols[182] = 10'b0110011110; valid_symbols[183] = 10'b0110100001; valid_symbols[184] = 10'b0110100010; valid_symbols[185] = 10'b0110100011; valid_symbols[186] = 10'b0110100100; valid_symbols[187] = 10'b0110100101; valid_symbols[188] = 10'b0110100110; valid_symbols[189] = 10'b0110101001; valid_symbols[190] = 10'b0110101010; valid_symbols[191] = 10'b0110101011; valid_symbols[192] = 10'b0110101100; valid_symbols[193] = 10'b0110101101; valid_symbols[194] = 10'b0110101110; valid_symbols[195] = 10'b0110110001; valid_symbols[196] = 10'b0110110010; valid_symbols[197] = 10'b0110110011; valid_symbols[198] = 10'b0110110100; valid_symbols[199] = 10'b0110110101; valid_symbols[200] = 10'b0110110110; valid_symbols[201] = 10'b0110111001; valid_symbols[202] = 10'b0110111010; valid_symbols[203] = 10'b0111000010; valid_symbols[204] = 10'b0111000011; valid_symbols[205] = 10'b0111000100; valid_symbols[206] = 10'b0111000101; valid_symbols[207] = 10'b0111000110; valid_symbols[208] = 10'b0111001000; valid_symbols[209] = 10'b0111001001; valid_symbols[210] = 10'b0111001010; valid_symbols[211] = 10'b0111001011; valid_symbols[212] = 10'b0111001100; valid_symbols[213] = 10'b0111001101; valid_symbols[214] = 10'b0111001110; valid_symbols[215] = 10'b0111010001; valid_symbols[216] = 10'b0111010010; valid_symbols[217] = 10'b0111010011; valid_symbols[218] = 10'b0111010100; valid_symbols[219] = 10'b0111010101; valid_symbols[220] = 10'b0111010110; valid_symbols[221] = 10'b0111011001; valid_symbols[222] = 10'b0111011010; valid_symbols[223] = 10'b0111100001; valid_symbols[224] = 10'b0111100010; valid_symbols[225] = 10'b0111100011; valid_symbols[226] = 10'b0111100100; valid_symbols[227] = 10'b0111100101; valid_symbols[228] = 10'b0111100110; valid_symbols[229] = 10'b0111101000; valid_symbols[230] = 10'b0111101001; valid_symbols[231] = 10'b0111101010; valid_symbols[232] = 10'b1000010101; valid_symbols[233] = 10'b1000010110; valid_symbols[234] = 10'b1000010111; valid_symbols[235] = 10'b1000011001; valid_symbols[236] = 10'b1000011010; valid_symbols[237] = 10'b1000011011; valid_symbols[238] = 10'b1000011100; valid_symbols[239] = 10'b1000011101; valid_symbols[240] = 10'b1000011110; valid_symbols[241] = 10'b1000100101; valid_symbols[242] = 10'b1000100110; valid_symbols[243] = 10'b1000101001; valid_symbols[244] = 10'b1000101010; valid_symbols[245] = 10'b1000101011; valid_symbols[246] = 10'b1000101100; valid_symbols[247] = 10'b1000101101; valid_symbols[248] = 10'b1000101110; valid_symbols[249] = 10'b1000110001; valid_symbols[250] = 10'b1000110010; valid_symbols[251] = 10'b1000110011; valid_symbols[252] = 10'b1000110100; valid_symbols[253] = 10'b1000110101; valid_symbols[254] = 10'b1000110110; valid_symbols[255] = 10'b1000110111; valid_symbols[256] = 10'b1000111001; valid_symbols[257] = 10'b1000111010; valid_symbols[258] = 10'b1000111011; valid_symbols[259] = 10'b1000111100; valid_symbols[260] = 10'b1000111101; valid_symbols[261] = 10'b1001000101; valid_symbols[262] = 10'b1001000110; valid_symbols[263] = 10'b1001001001; valid_symbols[264] = 10'b1001001010; valid_symbols[265] = 10'b1001001011; valid_symbols[266] = 10'b1001001100; valid_symbols[267] = 10'b1001001101; valid_symbols[268] = 10'b1001001110; valid_symbols[269] = 10'b1001010001; valid_symbols[270] = 10'b1001010010; valid_symbols[271] = 10'b1001010011; valid_symbols[272] = 10'b1001010100; valid_symbols[273] = 10'b1001010101; valid_symbols[274] = 10'b1001010110; valid_symbols[275] = 10'b1001011001; valid_symbols[276] = 10'b1001011010; valid_symbols[277] = 10'b1001011011; valid_symbols[278] = 10'b1001011100; valid_symbols[279] = 10'b1001011101; valid_symbols[280] = 10'b1001011110; valid_symbols[281] = 10'b1001100001; valid_symbols[282] = 10'b1001100010; valid_symbols[283] = 10'b1001100011; valid_symbols[284] = 10'b1001100100; valid_symbols[285] = 10'b1001100101; valid_symbols[286] = 10'b1001100110; valid_symbols[287] = 10'b1001101001; valid_symbols[288] = 10'b1001101010; valid_symbols[289] = 10'b1001101011; valid_symbols[290] = 10'b1001101100; valid_symbols[291] = 10'b1001101101; valid_symbols[292] = 10'b1001101110; valid_symbols[293] = 10'b1001110001; valid_symbols[294] = 10'b1001110010; valid_symbols[295] = 10'b1001110011; valid_symbols[296] = 10'b1001110100; valid_symbols[297] = 10'b1001110101; valid_symbols[298] = 10'b1001110110; valid_symbols[299] = 10'b1001111001; valid_symbols[300] = 10'b1001111010; valid_symbols[301] = 10'b1010000101; valid_symbols[302] = 10'b1010000110; valid_symbols[303] = 10'b1010001001; valid_symbols[304] = 10'b1010001010; valid_symbols[305] = 10'b1010001011; valid_symbols[306] = 10'b1010001100; valid_symbols[307] = 10'b1010001101; valid_symbols[308] = 10'b1010001110; valid_symbols[309] = 10'b1010010001; valid_symbols[310] = 10'b1010010010; valid_symbols[311] = 10'b1010010011; valid_symbols[312] = 10'b1010010100; valid_symbols[313] = 10'b1010010101; valid_symbols[314] = 10'b1010010110; valid_symbols[315] = 10'b1010011001; valid_symbols[316] = 10'b1010011010; valid_symbols[317] = 10'b1010011011; valid_symbols[318] = 10'b1010011100; valid_symbols[319] = 10'b1010011101; valid_symbols[320] = 10'b1010011110; valid_symbols[321] = 10'b1010100001; valid_symbols[322] = 10'b1010100010; valid_symbols[323] = 10'b1010100011; valid_symbols[324] = 10'b1010100100; valid_symbols[325] = 10'b1010100101; valid_symbols[326] = 10'b1010100110; valid_symbols[327] = 10'b1010101001; valid_symbols[328] = 10'b1010101010; valid_symbols[329] = 10'b1010101011; valid_symbols[330] = 10'b1010101100; valid_symbols[331] = 10'b1010101101; valid_symbols[332] = 10'b1010101110; valid_symbols[333] = 10'b1010110001; valid_symbols[334] = 10'b1010110010; valid_symbols[335] = 10'b1010110011; valid_symbols[336] = 10'b1010110100; valid_symbols[337] = 10'b1010110101; valid_symbols[338] = 10'b1010110110; valid_symbols[339] = 10'b1010111001; valid_symbols[340] = 10'b1010111010; valid_symbols[341] = 10'b1011000010; valid_symbols[342] = 10'b1011000011; valid_symbols[343] = 10'b1011000100; valid_symbols[344] = 10'b1011000101; valid_symbols[345] = 10'b1011000110; valid_symbols[346] = 10'b1011001000; valid_symbols[347] = 10'b1011001001; valid_symbols[348] = 10'b1011001010; valid_symbols[349] = 10'b1011001011; valid_symbols[350] = 10'b1011001100; valid_symbols[351] = 10'b1011001101; valid_symbols[352] = 10'b1011001110; valid_symbols[353] = 10'b1011010001; valid_symbols[354] = 10'b1011010010; valid_symbols[355] = 10'b1011010011; valid_symbols[356] = 10'b1011010100; valid_symbols[357] = 10'b1011010101; valid_symbols[358] = 10'b1011010110; valid_symbols[359] = 10'b1011011001; valid_symbols[360] = 10'b1011011010; valid_symbols[361] = 10'b1011100001; valid_symbols[362] = 10'b1011100010; valid_symbols[363] = 10'b1011100011; valid_symbols[364] = 10'b1011100100; valid_symbols[365] = 10'b1011100101; valid_symbols[366] = 10'b1011100110; valid_symbols[367] = 10'b1011101000; valid_symbols[368] = 10'b1011101001; valid_symbols[369] = 10'b1011101010; valid_symbols[370] = 10'b1100000101; valid_symbols[371] = 10'b1100000110; valid_symbols[372] = 10'b1100000111; valid_symbols[373] = 10'b1100001001; valid_symbols[374] = 10'b1100001010; valid_symbols[375] = 10'b1100001011; valid_symbols[376] = 10'b1100001100; valid_symbols[377] = 10'b1100001101; valid_symbols[378] = 10'b1100010001; valid_symbols[379] = 10'b1100010010; valid_symbols[380] = 10'b1100010011; valid_symbols[381] = 10'b1100010100; valid_symbols[382] = 10'b1100010101; valid_symbols[383] = 10'b1100010110; valid_symbols[384] = 10'b1100011001; valid_symbols[385] = 10'b1100011010; valid_symbols[386] = 10'b1100011011; valid_symbols[387] = 10'b1100011100; valid_symbols[388] = 10'b1100011101; valid_symbols[389] = 10'b1100011110; valid_symbols[390] = 10'b1100100001; valid_symbols[391] = 10'b1100100010; valid_symbols[392] = 10'b1100100011; valid_symbols[393] = 10'b1100100100; valid_symbols[394] = 10'b1100100101; valid_symbols[395] = 10'b1100100110; valid_symbols[396] = 10'b1100101001; valid_symbols[397] = 10'b1100101010; valid_symbols[398] = 10'b1100101011; valid_symbols[399] = 10'b1100101100; valid_symbols[400] = 10'b1100101101; valid_symbols[401] = 10'b1100101110; valid_symbols[402] = 10'b1100110001; valid_symbols[403] = 10'b1100110010; valid_symbols[404] = 10'b1100110011; valid_symbols[405] = 10'b1100110100; valid_symbols[406] = 10'b1100110101; valid_symbols[407] = 10'b1100110110; valid_symbols[408] = 10'b1100111001; valid_symbols[409] = 10'b1100111010; valid_symbols[410] = 10'b1101000010; valid_symbols[411] = 10'b1101000011; valid_symbols[412] = 10'b1101000100; valid_symbols[413] = 10'b1101000101; valid_symbols[414] = 10'b1101000110; valid_symbols[415] = 10'b1101001000; valid_symbols[416] = 10'b1101001001; valid_symbols[417] = 10'b1101001010; valid_symbols[418] = 10'b1101001011; valid_symbols[419] = 10'b1101001100; valid_symbols[420] = 10'b1101001101; valid_symbols[421] = 10'b1101001110; valid_symbols[422] = 10'b1101010001; valid_symbols[423] = 10'b1101010010; valid_symbols[424] = 10'b1101010011; valid_symbols[425] = 10'b1101010100; valid_symbols[426] = 10'b1101010101; valid_symbols[427] = 10'b1101010110; valid_symbols[428] = 10'b1101011001; valid_symbols[429] = 10'b1101011010; valid_symbols[430] = 10'b1101100001; valid_symbols[431] = 10'b1101100010; valid_symbols[432] = 10'b1101100011; valid_symbols[433] = 10'b1101100100; valid_symbols[434] = 10'b1101100101; valid_symbols[435] = 10'b1101100110; valid_symbols[436] = 10'b1101101000; valid_symbols[437] = 10'b1101101001; valid_symbols[438] = 10'b1101101010; valid_symbols[439] = 10'b1110000101; valid_symbols[440] = 10'b1110000110; valid_symbols[441] = 10'b1110001001; valid_symbols[442] = 10'b1110001010; valid_symbols[443] = 10'b1110001011; valid_symbols[444] = 10'b1110001100; valid_symbols[445] = 10'b1110001101; valid_symbols[446] = 10'b1110001110; valid_symbols[447] = 10'b1110010001; valid_symbols[448] = 10'b1110010010; valid_symbols[449] = 10'b1110010011; valid_symbols[450] = 10'b1110010100; valid_symbols[451] = 10'b1110010101; valid_symbols[452] = 10'b1110010110; valid_symbols[453] = 10'b1110011001; valid_symbols[454] = 10'b1110011010; valid_symbols[455] = 10'b1110100001; valid_symbols[456] = 10'b1110100010; valid_symbols[457] = 10'b1110100011; valid_symbols[458] = 10'b1110100100; valid_symbols[459] = 10'b1110100101; valid_symbols[460] = 10'b1110100110; valid_symbols[461] = 10'b1110101000; valid_symbols[462] = 10'b1110101001; valid_symbols[463] = 10'b1110101010; invalid_symbols[0] = 10'b0000000000; invalid_symbols[1] = 10'b0000000001; invalid_symbols[2] = 10'b0000000010; invalid_symbols[3] = 10'b0000000011; invalid_symbols[4] = 10'b0000000100; invalid_symbols[5] = 10'b0000000101; invalid_symbols[6] = 10'b0000000110; invalid_symbols[7] = 10'b0000000111; invalid_symbols[8] = 10'b0000001000; invalid_symbols[9] = 10'b0000001001; invalid_symbols[10] = 10'b0000001010; invalid_symbols[11] = 10'b0000001011; invalid_symbols[12] = 10'b0000001100; invalid_symbols[13] = 10'b0000001101; invalid_symbols[14] = 10'b0000001110; invalid_symbols[15] = 10'b0000001111; invalid_symbols[16] = 10'b0000010000; invalid_symbols[17] = 10'b0000010001; invalid_symbols[18] = 10'b0000010010; invalid_symbols[19] = 10'b0000010011; invalid_symbols[20] = 10'b0000010100; invalid_symbols[21] = 10'b0000010101; invalid_symbols[22] = 10'b0000010110; invalid_symbols[23] = 10'b0000010111; invalid_symbols[24] = 10'b0000011000; invalid_symbols[25] = 10'b0000011001; invalid_symbols[26] = 10'b0000011010; invalid_symbols[27] = 10'b0000011011; invalid_symbols[28] = 10'b0000011100; invalid_symbols[29] = 10'b0000011101; invalid_symbols[30] = 10'b0000011110; invalid_symbols[31] = 10'b0000011111; invalid_symbols[32] = 10'b0000100000; invalid_symbols[33] = 10'b0000100001; invalid_symbols[34] = 10'b0000100010; invalid_symbols[35] = 10'b0000100011; invalid_symbols[36] = 10'b0000100100; invalid_symbols[37] = 10'b0000100101; invalid_symbols[38] = 10'b0000100110; invalid_symbols[39] = 10'b0000100111; invalid_symbols[40] = 10'b0000101000; invalid_symbols[41] = 10'b0000101001; invalid_symbols[42] = 10'b0000101010; invalid_symbols[43] = 10'b0000101011; invalid_symbols[44] = 10'b0000101100; invalid_symbols[45] = 10'b0000101101; invalid_symbols[46] = 10'b0000101110; invalid_symbols[47] = 10'b0000101111; invalid_symbols[48] = 10'b0000110000; invalid_symbols[49] = 10'b0000110001; invalid_symbols[50] = 10'b0000110010; invalid_symbols[51] = 10'b0000110011; invalid_symbols[52] = 10'b0000110100; invalid_symbols[53] = 10'b0000110101; invalid_symbols[54] = 10'b0000110110; invalid_symbols[55] = 10'b0000110111; invalid_symbols[56] = 10'b0000111000; invalid_symbols[57] = 10'b0000111001; invalid_symbols[58] = 10'b0000111010; invalid_symbols[59] = 10'b0000111011; invalid_symbols[60] = 10'b0000111100; invalid_symbols[61] = 10'b0000111101; invalid_symbols[62] = 10'b0000111110; invalid_symbols[63] = 10'b0000111111; invalid_symbols[64] = 10'b0001000000; invalid_symbols[65] = 10'b0001000001; invalid_symbols[66] = 10'b0001000010; invalid_symbols[67] = 10'b0001000011; invalid_symbols[68] = 10'b0001000100; invalid_symbols[69] = 10'b0001000101; invalid_symbols[70] = 10'b0001000110; invalid_symbols[71] = 10'b0001000111; invalid_symbols[72] = 10'b0001001000; invalid_symbols[73] = 10'b0001001001; invalid_symbols[74] = 10'b0001001010; invalid_symbols[75] = 10'b0001001011; invalid_symbols[76] = 10'b0001001100; invalid_symbols[77] = 10'b0001001101; invalid_symbols[78] = 10'b0001001110; invalid_symbols[79] = 10'b0001001111; invalid_symbols[80] = 10'b0001010000; invalid_symbols[81] = 10'b0001010001; invalid_symbols[82] = 10'b0001010010; invalid_symbols[83] = 10'b0001010011; invalid_symbols[84] = 10'b0001010100; invalid_symbols[85] = 10'b0001011000; invalid_symbols[86] = 10'b0001011111; invalid_symbols[87] = 10'b0001100000; invalid_symbols[88] = 10'b0001100001; invalid_symbols[89] = 10'b0001100010; invalid_symbols[90] = 10'b0001100011; invalid_symbols[91] = 10'b0001100100; invalid_symbols[92] = 10'b0001100111; invalid_symbols[93] = 10'b0001101000; invalid_symbols[94] = 10'b0001101111; invalid_symbols[95] = 10'b0001110000; invalid_symbols[96] = 10'b0001110111; invalid_symbols[97] = 10'b0001111000; invalid_symbols[98] = 10'b0001111011; invalid_symbols[99] = 10'b0001111100; invalid_symbols[100] = 10'b0001111101; invalid_symbols[101] = 10'b0001111110; invalid_symbols[102] = 10'b0001111111; invalid_symbols[103] = 10'b0010000000; invalid_symbols[104] = 10'b0010000001; invalid_symbols[105] = 10'b0010000010; invalid_symbols[106] = 10'b0010000011; invalid_symbols[107] = 10'b0010000100; invalid_symbols[108] = 10'b0010000101; invalid_symbols[109] = 10'b0010000110; invalid_symbols[110] = 10'b0010000111; invalid_symbols[111] = 10'b0010001000; invalid_symbols[112] = 10'b0010001001; invalid_symbols[113] = 10'b0010001010; invalid_symbols[114] = 10'b0010001011; invalid_symbols[115] = 10'b0010001100; invalid_symbols[116] = 10'b0010001101; invalid_symbols[117] = 10'b0010001110; invalid_symbols[118] = 10'b0010001111; invalid_symbols[119] = 10'b0010010000; invalid_symbols[120] = 10'b0010010001; invalid_symbols[121] = 10'b0010010010; invalid_symbols[122] = 10'b0010010011; invalid_symbols[123] = 10'b0010010100; invalid_symbols[124] = 10'b0010011000; invalid_symbols[125] = 10'b0010011111; invalid_symbols[126] = 10'b0010100000; invalid_symbols[127] = 10'b0010100001; invalid_symbols[128] = 10'b0010100010; invalid_symbols[129] = 10'b0010100011; invalid_symbols[130] = 10'b0010100100; invalid_symbols[131] = 10'b0010100111; invalid_symbols[132] = 10'b0010101000; invalid_symbols[133] = 10'b0010101111; invalid_symbols[134] = 10'b0010110000; invalid_symbols[135] = 10'b0010111000; invalid_symbols[136] = 10'b0010111110; invalid_symbols[137] = 10'b0010111111; invalid_symbols[138] = 10'b0011000000; invalid_symbols[139] = 10'b0011000001; invalid_symbols[140] = 10'b0011000010; invalid_symbols[141] = 10'b0011000011; invalid_symbols[142] = 10'b0011000100; invalid_symbols[143] = 10'b0011000111; invalid_symbols[144] = 10'b0011001000; invalid_symbols[145] = 10'b0011001111; invalid_symbols[146] = 10'b0011010000; invalid_symbols[147] = 10'b0011010111; invalid_symbols[148] = 10'b0011011000; invalid_symbols[149] = 10'b0011011111; invalid_symbols[150] = 10'b0011100000; invalid_symbols[151] = 10'b0011100111; invalid_symbols[152] = 10'b0011101000; invalid_symbols[153] = 10'b0011101111; invalid_symbols[154] = 10'b0011110000; invalid_symbols[155] = 10'b0011110001; invalid_symbols[156] = 10'b0011110111; invalid_symbols[157] = 10'b0011111011; invalid_symbols[158] = 10'b0011111100; invalid_symbols[159] = 10'b0011111101; invalid_symbols[160] = 10'b0011111110; invalid_symbols[161] = 10'b0011111111; invalid_symbols[162] = 10'b0100000000; invalid_symbols[163] = 10'b0100000001; invalid_symbols[164] = 10'b0100000010; invalid_symbols[165] = 10'b0100000011; invalid_symbols[166] = 10'b0100000100; invalid_symbols[167] = 10'b0100000101; invalid_symbols[168] = 10'b0100000110; invalid_symbols[169] = 10'b0100000111; invalid_symbols[170] = 10'b0100001000; invalid_symbols[171] = 10'b0100001001; invalid_symbols[172] = 10'b0100001010; invalid_symbols[173] = 10'b0100001011; invalid_symbols[174] = 10'b0100001100; invalid_symbols[175] = 10'b0100001101; invalid_symbols[176] = 10'b0100001110; invalid_symbols[177] = 10'b0100001111; invalid_symbols[178] = 10'b0100010000; invalid_symbols[179] = 10'b0100010001; invalid_symbols[180] = 10'b0100010010; invalid_symbols[181] = 10'b0100010011; invalid_symbols[182] = 10'b0100010100; invalid_symbols[183] = 10'b0100011000; invalid_symbols[184] = 10'b0100011111; invalid_symbols[185] = 10'b0100100000; invalid_symbols[186] = 10'b0100100001; invalid_symbols[187] = 10'b0100100010; invalid_symbols[188] = 10'b0100100011; invalid_symbols[189] = 10'b0100100100; invalid_symbols[190] = 10'b0100100111; invalid_symbols[191] = 10'b0100101000; invalid_symbols[192] = 10'b0100101111; invalid_symbols[193] = 10'b0100110000; invalid_symbols[194] = 10'b0100111000; invalid_symbols[195] = 10'b0100111110; invalid_symbols[196] = 10'b0100111111; invalid_symbols[197] = 10'b0101000000; invalid_symbols[198] = 10'b0101000001; invalid_symbols[199] = 10'b0101000010; invalid_symbols[200] = 10'b0101000011; invalid_symbols[201] = 10'b0101000100; invalid_symbols[202] = 10'b0101000111; invalid_symbols[203] = 10'b0101001000; invalid_symbols[204] = 10'b0101001111; invalid_symbols[205] = 10'b0101010000; invalid_symbols[206] = 10'b0101010111; invalid_symbols[207] = 10'b0101011000; invalid_symbols[208] = 10'b0101011111; invalid_symbols[209] = 10'b0101100000; invalid_symbols[210] = 10'b0101100111; invalid_symbols[211] = 10'b0101101000; invalid_symbols[212] = 10'b0101101111; invalid_symbols[213] = 10'b0101110000; invalid_symbols[214] = 10'b0101110111; invalid_symbols[215] = 10'b0101111000; invalid_symbols[216] = 10'b0101111011; invalid_symbols[217] = 10'b0101111100; invalid_symbols[218] = 10'b0101111101; invalid_symbols[219] = 10'b0101111110; invalid_symbols[220] = 10'b0101111111; invalid_symbols[221] = 10'b0110000000; invalid_symbols[222] = 10'b0110000001; invalid_symbols[223] = 10'b0110000010; invalid_symbols[224] = 10'b0110000011; invalid_symbols[225] = 10'b0110000100; invalid_symbols[226] = 10'b0110000111; invalid_symbols[227] = 10'b0110001000; invalid_symbols[228] = 10'b0110001111; invalid_symbols[229] = 10'b0110010000; invalid_symbols[230] = 10'b0110010111; invalid_symbols[231] = 10'b0110011000; invalid_symbols[232] = 10'b0110011111; invalid_symbols[233] = 10'b0110100000; invalid_symbols[234] = 10'b0110100111; invalid_symbols[235] = 10'b0110101000; invalid_symbols[236] = 10'b0110101111; invalid_symbols[237] = 10'b0110110000; invalid_symbols[238] = 10'b0110110111; invalid_symbols[239] = 10'b0110111000; invalid_symbols[240] = 10'b0110111011; invalid_symbols[241] = 10'b0110111100; invalid_symbols[242] = 10'b0110111101; invalid_symbols[243] = 10'b0110111110; invalid_symbols[244] = 10'b0110111111; invalid_symbols[245] = 10'b0111000000; invalid_symbols[246] = 10'b0111000001; invalid_symbols[247] = 10'b0111000111; invalid_symbols[248] = 10'b0111001111; invalid_symbols[249] = 10'b0111010000; invalid_symbols[250] = 10'b0111010111; invalid_symbols[251] = 10'b0111011000; invalid_symbols[252] = 10'b0111011011; invalid_symbols[253] = 10'b0111011100; invalid_symbols[254] = 10'b0111011101; invalid_symbols[255] = 10'b0111011110; invalid_symbols[256] = 10'b0111011111; invalid_symbols[257] = 10'b0111100000; invalid_symbols[258] = 10'b0111100111; invalid_symbols[259] = 10'b0111101011; invalid_symbols[260] = 10'b0111101100; invalid_symbols[261] = 10'b0111101101; invalid_symbols[262] = 10'b0111101110; invalid_symbols[263] = 10'b0111101111; invalid_symbols[264] = 10'b0111110000; invalid_symbols[265] = 10'b0111110001; invalid_symbols[266] = 10'b0111110010; invalid_symbols[267] = 10'b0111110011; invalid_symbols[268] = 10'b0111110100; invalid_symbols[269] = 10'b0111110101; invalid_symbols[270] = 10'b0111110110; invalid_symbols[271] = 10'b0111110111; invalid_symbols[272] = 10'b0111111000; invalid_symbols[273] = 10'b0111111001; invalid_symbols[274] = 10'b0111111010; invalid_symbols[275] = 10'b0111111011; invalid_symbols[276] = 10'b0111111100; invalid_symbols[277] = 10'b0111111101; invalid_symbols[278] = 10'b0111111110; invalid_symbols[279] = 10'b0111111111; invalid_symbols[280] = 10'b1000000000; invalid_symbols[281] = 10'b1000000001; invalid_symbols[282] = 10'b1000000010; invalid_symbols[283] = 10'b1000000011; invalid_symbols[284] = 10'b1000000100; invalid_symbols[285] = 10'b1000000101; invalid_symbols[286] = 10'b1000000110; invalid_symbols[287] = 10'b1000000111; invalid_symbols[288] = 10'b1000001000; invalid_symbols[289] = 10'b1000001001; invalid_symbols[290] = 10'b1000001010; invalid_symbols[291] = 10'b1000001011; invalid_symbols[292] = 10'b1000001100; invalid_symbols[293] = 10'b1000001101; invalid_symbols[294] = 10'b1000001110; invalid_symbols[295] = 10'b1000001111; invalid_symbols[296] = 10'b1000010000; invalid_symbols[297] = 10'b1000010001; invalid_symbols[298] = 10'b1000010010; invalid_symbols[299] = 10'b1000010011; invalid_symbols[300] = 10'b1000010100; invalid_symbols[301] = 10'b1000011000; invalid_symbols[302] = 10'b1000011111; invalid_symbols[303] = 10'b1000100000; invalid_symbols[304] = 10'b1000100001; invalid_symbols[305] = 10'b1000100010; invalid_symbols[306] = 10'b1000100011; invalid_symbols[307] = 10'b1000100100; invalid_symbols[308] = 10'b1000100111; invalid_symbols[309] = 10'b1000101000; invalid_symbols[310] = 10'b1000101111; invalid_symbols[311] = 10'b1000110000; invalid_symbols[312] = 10'b1000111000; invalid_symbols[313] = 10'b1000111110; invalid_symbols[314] = 10'b1000111111; invalid_symbols[315] = 10'b1001000000; invalid_symbols[316] = 10'b1001000001; invalid_symbols[317] = 10'b1001000010; invalid_symbols[318] = 10'b1001000011; invalid_symbols[319] = 10'b1001000100; invalid_symbols[320] = 10'b1001000111; invalid_symbols[321] = 10'b1001001000; invalid_symbols[322] = 10'b1001001111; invalid_symbols[323] = 10'b1001010000; invalid_symbols[324] = 10'b1001010111; invalid_symbols[325] = 10'b1001011000; invalid_symbols[326] = 10'b1001011111; invalid_symbols[327] = 10'b1001100000; invalid_symbols[328] = 10'b1001100111; invalid_symbols[329] = 10'b1001101000; invalid_symbols[330] = 10'b1001101111; invalid_symbols[331] = 10'b1001110000; invalid_symbols[332] = 10'b1001110111; invalid_symbols[333] = 10'b1001111000; invalid_symbols[334] = 10'b1001111011; invalid_symbols[335] = 10'b1001111100; invalid_symbols[336] = 10'b1001111101; invalid_symbols[337] = 10'b1001111110; invalid_symbols[338] = 10'b1001111111; invalid_symbols[339] = 10'b1010000000; invalid_symbols[340] = 10'b1010000001; invalid_symbols[341] = 10'b1010000010; invalid_symbols[342] = 10'b1010000011; invalid_symbols[343] = 10'b1010000100; invalid_symbols[344] = 10'b1010000111; invalid_symbols[345] = 10'b1010001000; invalid_symbols[346] = 10'b1010001111; invalid_symbols[347] = 10'b1010010000; invalid_symbols[348] = 10'b1010010111; invalid_symbols[349] = 10'b1010011000; invalid_symbols[350] = 10'b1010011111; invalid_symbols[351] = 10'b1010100000; invalid_symbols[352] = 10'b1010100111; invalid_symbols[353] = 10'b1010101000; invalid_symbols[354] = 10'b1010101111; invalid_symbols[355] = 10'b1010110000; invalid_symbols[356] = 10'b1010110111; invalid_symbols[357] = 10'b1010111000; invalid_symbols[358] = 10'b1010111011; invalid_symbols[359] = 10'b1010111100; invalid_symbols[360] = 10'b1010111101; invalid_symbols[361] = 10'b1010111110; invalid_symbols[362] = 10'b1010111111; invalid_symbols[363] = 10'b1011000000; invalid_symbols[364] = 10'b1011000001; invalid_symbols[365] = 10'b1011000111; invalid_symbols[366] = 10'b1011001111; invalid_symbols[367] = 10'b1011010000; invalid_symbols[368] = 10'b1011010111; invalid_symbols[369] = 10'b1011011000; invalid_symbols[370] = 10'b1011011011; invalid_symbols[371] = 10'b1011011100; invalid_symbols[372] = 10'b1011011101; invalid_symbols[373] = 10'b1011011110; invalid_symbols[374] = 10'b1011011111; invalid_symbols[375] = 10'b1011100000; invalid_symbols[376] = 10'b1011100111; invalid_symbols[377] = 10'b1011101011; invalid_symbols[378] = 10'b1011101100; invalid_symbols[379] = 10'b1011101101; invalid_symbols[380] = 10'b1011101110; invalid_symbols[381] = 10'b1011101111; invalid_symbols[382] = 10'b1011110000; invalid_symbols[383] = 10'b1011110001; invalid_symbols[384] = 10'b1011110010; invalid_symbols[385] = 10'b1011110011; invalid_symbols[386] = 10'b1011110100; invalid_symbols[387] = 10'b1011110101; invalid_symbols[388] = 10'b1011110110; invalid_symbols[389] = 10'b1011110111; invalid_symbols[390] = 10'b1011111000; invalid_symbols[391] = 10'b1011111001; invalid_symbols[392] = 10'b1011111010; invalid_symbols[393] = 10'b1011111011; invalid_symbols[394] = 10'b1011111100; invalid_symbols[395] = 10'b1011111101; invalid_symbols[396] = 10'b1011111110; invalid_symbols[397] = 10'b1011111111; invalid_symbols[398] = 10'b1100000000; invalid_symbols[399] = 10'b1100000001; invalid_symbols[400] = 10'b1100000010; invalid_symbols[401] = 10'b1100000011; invalid_symbols[402] = 10'b1100000100; invalid_symbols[403] = 10'b1100001000; invalid_symbols[404] = 10'b1100001110; invalid_symbols[405] = 10'b1100001111; invalid_symbols[406] = 10'b1100010000; invalid_symbols[407] = 10'b1100010111; invalid_symbols[408] = 10'b1100011000; invalid_symbols[409] = 10'b1100011111; invalid_symbols[410] = 10'b1100100000; invalid_symbols[411] = 10'b1100100111; invalid_symbols[412] = 10'b1100101000; invalid_symbols[413] = 10'b1100101111; invalid_symbols[414] = 10'b1100110000; invalid_symbols[415] = 10'b1100110111; invalid_symbols[416] = 10'b1100111000; invalid_symbols[417] = 10'b1100111011; invalid_symbols[418] = 10'b1100111100; invalid_symbols[419] = 10'b1100111101; invalid_symbols[420] = 10'b1100111110; invalid_symbols[421] = 10'b1100111111; invalid_symbols[422] = 10'b1101000000; invalid_symbols[423] = 10'b1101000001; invalid_symbols[424] = 10'b1101000111; invalid_symbols[425] = 10'b1101001111; invalid_symbols[426] = 10'b1101010000; invalid_symbols[427] = 10'b1101010111; invalid_symbols[428] = 10'b1101011000; invalid_symbols[429] = 10'b1101011011; invalid_symbols[430] = 10'b1101011100; invalid_symbols[431] = 10'b1101011101; invalid_symbols[432] = 10'b1101011110; invalid_symbols[433] = 10'b1101011111; invalid_symbols[434] = 10'b1101100000; invalid_symbols[435] = 10'b1101100111; invalid_symbols[436] = 10'b1101101011; invalid_symbols[437] = 10'b1101101100; invalid_symbols[438] = 10'b1101101101; invalid_symbols[439] = 10'b1101101110; invalid_symbols[440] = 10'b1101101111; invalid_symbols[441] = 10'b1101110000; invalid_symbols[442] = 10'b1101110001; invalid_symbols[443] = 10'b1101110010; invalid_symbols[444] = 10'b1101110011; invalid_symbols[445] = 10'b1101110100; invalid_symbols[446] = 10'b1101110101; invalid_symbols[447] = 10'b1101110110; invalid_symbols[448] = 10'b1101110111; invalid_symbols[449] = 10'b1101111000; invalid_symbols[450] = 10'b1101111001; invalid_symbols[451] = 10'b1101111010; invalid_symbols[452] = 10'b1101111011; invalid_symbols[453] = 10'b1101111100; invalid_symbols[454] = 10'b1101111101; invalid_symbols[455] = 10'b1101111110; invalid_symbols[456] = 10'b1101111111; invalid_symbols[457] = 10'b1110000000; invalid_symbols[458] = 10'b1110000001; invalid_symbols[459] = 10'b1110000010; invalid_symbols[460] = 10'b1110000011; invalid_symbols[461] = 10'b1110000100; invalid_symbols[462] = 10'b1110000111; invalid_symbols[463] = 10'b1110001000; invalid_symbols[464] = 10'b1110001111; invalid_symbols[465] = 10'b1110010000; invalid_symbols[466] = 10'b1110010111; invalid_symbols[467] = 10'b1110011000; invalid_symbols[468] = 10'b1110011011; invalid_symbols[469] = 10'b1110011100; invalid_symbols[470] = 10'b1110011101; invalid_symbols[471] = 10'b1110011110; invalid_symbols[472] = 10'b1110011111; invalid_symbols[473] = 10'b1110100000; invalid_symbols[474] = 10'b1110100111; invalid_symbols[475] = 10'b1110101011; invalid_symbols[476] = 10'b1110101100; invalid_symbols[477] = 10'b1110101101; invalid_symbols[478] = 10'b1110101110; invalid_symbols[479] = 10'b1110101111; invalid_symbols[480] = 10'b1110110000; invalid_symbols[481] = 10'b1110110001; invalid_symbols[482] = 10'b1110110010; invalid_symbols[483] = 10'b1110110011; invalid_symbols[484] = 10'b1110110100; invalid_symbols[485] = 10'b1110110101; invalid_symbols[486] = 10'b1110110110; invalid_symbols[487] = 10'b1110110111; invalid_symbols[488] = 10'b1110111000; invalid_symbols[489] = 10'b1110111001; invalid_symbols[490] = 10'b1110111010; invalid_symbols[491] = 10'b1110111011; invalid_symbols[492] = 10'b1110111100; invalid_symbols[493] = 10'b1110111101; invalid_symbols[494] = 10'b1110111110; invalid_symbols[495] = 10'b1110111111; invalid_symbols[496] = 10'b1111000000; invalid_symbols[497] = 10'b1111000001; invalid_symbols[498] = 10'b1111000010; invalid_symbols[499] = 10'b1111000011; invalid_symbols[500] = 10'b1111000100; invalid_symbols[501] = 10'b1111000101; invalid_symbols[502] = 10'b1111000110; invalid_symbols[503] = 10'b1111000111; invalid_symbols[504] = 10'b1111001000; invalid_symbols[505] = 10'b1111001001; invalid_symbols[506] = 10'b1111001010; invalid_symbols[507] = 10'b1111001011; invalid_symbols[508] = 10'b1111001100; invalid_symbols[509] = 10'b1111001101; invalid_symbols[510] = 10'b1111001110; invalid_symbols[511] = 10'b1111001111; invalid_symbols[512] = 10'b1111010000; invalid_symbols[513] = 10'b1111010001; invalid_symbols[514] = 10'b1111010010; invalid_symbols[515] = 10'b1111010011; invalid_symbols[516] = 10'b1111010100; invalid_symbols[517] = 10'b1111010101; invalid_symbols[518] = 10'b1111010110; invalid_symbols[519] = 10'b1111010111; invalid_symbols[520] = 10'b1111011000; invalid_symbols[521] = 10'b1111011001; invalid_symbols[522] = 10'b1111011010; invalid_symbols[523] = 10'b1111011011; invalid_symbols[524] = 10'b1111011100; invalid_symbols[525] = 10'b1111011101; invalid_symbols[526] = 10'b1111011110; invalid_symbols[527] = 10'b1111011111; invalid_symbols[528] = 10'b1111100000; invalid_symbols[529] = 10'b1111100001; invalid_symbols[530] = 10'b1111100010; invalid_symbols[531] = 10'b1111100011; invalid_symbols[532] = 10'b1111100100; invalid_symbols[533] = 10'b1111100101; invalid_symbols[534] = 10'b1111100110; invalid_symbols[535] = 10'b1111100111; invalid_symbols[536] = 10'b1111101000; invalid_symbols[537] = 10'b1111101001; invalid_symbols[538] = 10'b1111101010; invalid_symbols[539] = 10'b1111101011; invalid_symbols[540] = 10'b1111101100; invalid_symbols[541] = 10'b1111101101; invalid_symbols[542] = 10'b1111101110; invalid_symbols[543] = 10'b1111101111; invalid_symbols[544] = 10'b1111110000; invalid_symbols[545] = 10'b1111110001; invalid_symbols[546] = 10'b1111110010; invalid_symbols[547] = 10'b1111110011; invalid_symbols[548] = 10'b1111110100; invalid_symbols[549] = 10'b1111110101; invalid_symbols[550] = 10'b1111110110; invalid_symbols[551] = 10'b1111110111; invalid_symbols[552] = 10'b1111111000; invalid_symbols[553] = 10'b1111111001; invalid_symbols[554] = 10'b1111111010; invalid_symbols[555] = 10'b1111111011; invalid_symbols[556] = 10'b1111111100; invalid_symbols[557] = 10'b1111111101; invalid_symbols[558] = 10'b1111111110; invalid_symbols[559] = 10'b1111111111; end `endif // AXIS endmodule // ib_xtr_tx_encoder