xgmii_baser_dec_64

Diagram

DATA_WIDTH CTRL_WIDTH HDR_WIDTH wire clk wire rst wire [DATA_WIDTH-1:0] encoded_rx_data wire [HDR_WIDTH-1:0] encoded_rx_hdr wire [DATA_WIDTH-1:0] xgmii_rxd wire [CTRL_WIDTH-1:0] xgmii_rxc wire rx_bad_block wire rx_sequence_error

Description

Módulo que decodifica la interfaz Abbreviations#XGMII a SERDES.

Generics

Generic name Type Value Description
DATA_WIDTH 64 Ancho de datos
CTRL_WIDTH (DATA_WIDTH/8) Ancho de control
HDR_WIDTH 2 Ancho de header

Ports

Port name Direction Type Description
clk input wire Señal de clock
rst input wire Señal de reset
encoded_rx_data input wire [DATA_WIDTH-1:0] Datos de entrada codificados
encoded_rx_hdr input wire [HDR_WIDTH-1:0] Encabezado de entrada codificado
xgmii_rxd output wire [DATA_WIDTH-1:0] Salida de datos para XGMII
xgmii_rxc output wire [CTRL_WIDTH-1:0] Salida de control para XGMII
rx_bad_block output wire Salida de estado para indicar bloques invalidos
rx_sequence_error output wire Salida de estado para indicar errores de secuencia

Signals

Name Type Description
decoded_ctrl reg [DATA_WIDTH-1:0] Registro para almacenar control decodificado
decode_err reg [CTRL_WIDTH-1:0] Registro para almacenar errores en decodificacion
xgmii_rxd_reg = {DATA_WIDTH{1'b0}} reg [DATA_WIDTH-1:0] Registro para almacenar la salida de datos de XGMII
xgmii_rxd_next reg [DATA_WIDTH-1:0] Registro para almacenar la salida de datos de XGMII
xgmii_rxc_reg = {CTRL_WIDTH{1'b0}} reg [CTRL_WIDTH-1:0] Registro para almacenar la salida de control de XGMII
xgmii_rxc_next reg [CTRL_WIDTH-1:0] Registro para almacenar la salida de control de XGMII
rx_bad_block_reg = 1'b0 reg Registro para almacenar el estado de bloques incorrectos
rx_bad_block_next reg Registro para almacenar el estado de bloques incorrectos
rx_sequence_error_reg = 1'b0 reg Registro para almacenar el estado de errores de secuencia
rx_sequence_error_next reg Registro para almacenar el estado de errores de secuencia
frame_reg = 1'b0 reg Registro para indicar el inicio de un nuevo marco de datos
frame_next reg Registro para indicar el inicio de un nuevo marco de datos
i integer

Constants

Name Type Value Description
XGMII_IDLE 8'h07 XGMII Control Code para caracter de control idle
XGMII_LPI 8'h06 XGMII Control Code para caracter de control LPI
XGMII_START 8'hfb XGMII Control Code para caracter de control start
XGMII_TERM 8'hfd XGMII Control Code para caracter de control terminate
XGMII_ERROR 8'hfe XGMII Control Code para caracter de control error
XGMII_SEQ_OS 8'h9c XGMII Control Code para caracter de control sequence ordered set
XGMII_RES_0 8'h1c XGMII Control Code para caracter de control reserved0
XGMII_RES_1 8'h3c XGMII Control Code para caracter de control reserved1
XGMII_RES_2 8'h7c XGMII Control Code para caracter de control reserved2
XGMII_RES_3 8'hbc XGMII Control Code para caracter de control reserved3
XGMII_RES_4 8'hdc XGMII Control Code para caracter de control reserved4
XGMII_RES_5 8'hf7 XGMII Control Code para caracter de control reserved5
XGMII_SIG_OS 8'h5c XGMII Control Code para caracter de control Signal ordered set
CTRL_IDLE 7'h00 10GBASE-R Control Code para caracter de control idle
CTRL_LPI 7'h06 10GBASE-R Control Code para caracter de control LPI
CTRL_ERROR 7'h1e 10GBASE-R Control Code para caracter de control error
CTRL_RES_0 7'h2d 10GBASE-R Control Code para caracter de control reserved0
CTRL_RES_1 7'h33 10GBASE-R Control Code para caracter de control reserved1
CTRL_RES_2 7'h4b 10GBASE-R Control Code para caracter de control reserved2
CTRL_RES_3 7'h55 10GBASE-R Control Code para caracter de control reserved3
CTRL_RES_4 7'h66 10GBASE-R Control Code para caracter de control reserved4
CTRL_RES_5 7'h78 10GBASE-R Control Code para caracter de control reserved5
O_SEQ_OS 4'h0 10GBASE-R O Code para caracter de control Sequence ordered set
O_SIG_OS 4'hf 10GBASE-R O Code para caracter de control Signal ordered set
SYNC_DATA 2'b10 Header de Sincronizacion para bloque de datos
SYNC_CTRL 2'b01 Header de Sincronizacion para bloque de control
BLOCK_TYPE_CTRL 8'h1e Header de Sincronizacion para bloque de control
BLOCK_TYPE_OS_4 8'h2d Header de Sincronizacion para bloque de control
BLOCK_TYPE_START_4 8'h33 Header de Sincronizacion para bloque de control
BLOCK_TYPE_OS_START 8'h66 Header de Sincronizacion para bloque de control
BLOCK_TYPE_OS_04 8'h55 Header de Sincronizacion para bloque de control
BLOCK_TYPE_START_0 8'h78 Header de Sincronizacion para bloque de control
BLOCK_TYPE_OS_0 8'h4b Header de Sincronizacion para bloque de control
BLOCK_TYPE_TERM_0 8'h87 Header de Sincronizacion para bloque de control
BLOCK_TYPE_TERM_1 8'h99 Header de Sincronizacion para bloque de control
BLOCK_TYPE_TERM_2 8'haa Header de Sincronizacion para bloque de control
BLOCK_TYPE_TERM_3 8'hb4 Header de Sincronizacion para bloque de control
BLOCK_TYPE_TERM_4 8'hcc Header de Sincronizacion para bloque de control
BLOCK_TYPE_TERM_5 8'hd2 Header de Sincronizacion para bloque de control
BLOCK_TYPE_TERM_6 8'he1 Header de Sincronizacion para bloque de control
BLOCK_TYPE_TERM_7 8'hff Header de Sincronizacion para bloque de control

Processes