eth_mac_10g

Diagram

DATA_WIDTH KEEP_WIDTH CTRL_WIDTH ENABLE_PADDING ENABLE_DIC MIN_FRAME_LENGTH PTP_TS_ENABLE PTP_TS_FMT_TOD PTP_TS_WIDTH TX_PTP_TS_CTRL_IN_TUSER TX_PTP_TAG_ENABLE TX_PTP_TAG_WIDTH TX_USER_WIDTH RX_USER_WIDTH PFC_ENABLE PAUSE_ENABLE wire rx_clk wire rx_rst wire tx_clk wire tx_rst wire [DATA_WIDTH-1:0] tx_axis_tdata wire [KEEP_WIDTH-1:0] tx_axis_tkeep wire tx_axis_tvalid wire tx_axis_tlast wire [TX_USER_WIDTH-1:0] tx_axis_tuser wire [DATA_WIDTH-1:0] xgmii_rxd wire [CTRL_WIDTH-1:0] xgmii_rxc wire [PTP_TS_WIDTH-1:0] tx_ptp_ts wire [PTP_TS_WIDTH-1:0] rx_ptp_ts wire tx_lfc_req wire tx_lfc_resend wire rx_lfc_en wire rx_lfc_ack wire [7:0] tx_pfc_req wire tx_pfc_resend wire [7:0] rx_pfc_en wire [7:0] rx_pfc_ack wire tx_lfc_pause_en wire tx_pause_req wire [7:0] cfg_ifg wire cfg_tx_enable wire cfg_rx_enable wire [47:0] cfg_mcf_rx_eth_dst_mcast wire cfg_mcf_rx_check_eth_dst_mcast wire [47:0] cfg_mcf_rx_eth_dst_ucast wire cfg_mcf_rx_check_eth_dst_ucast wire [47:0] cfg_mcf_rx_eth_src wire cfg_mcf_rx_check_eth_src wire [15:0] cfg_mcf_rx_eth_type wire [15:0] cfg_mcf_rx_opcode_lfc wire cfg_mcf_rx_check_opcode_lfc wire [15:0] cfg_mcf_rx_opcode_pfc wire cfg_mcf_rx_check_opcode_pfc wire cfg_mcf_rx_forward wire cfg_mcf_rx_enable wire [47:0] cfg_tx_lfc_eth_dst wire [47:0] cfg_tx_lfc_eth_src wire [15:0] cfg_tx_lfc_eth_type wire [15:0] cfg_tx_lfc_opcode wire cfg_tx_lfc_en wire [15:0] cfg_tx_lfc_quanta wire [15:0] cfg_tx_lfc_refresh wire [47:0] cfg_tx_pfc_eth_dst wire [47:0] cfg_tx_pfc_eth_src wire [15:0] cfg_tx_pfc_eth_type wire [15:0] cfg_tx_pfc_opcode wire cfg_tx_pfc_en wire [8*16-1:0] cfg_tx_pfc_quanta wire [8*16-1:0] cfg_tx_pfc_refresh wire [15:0] cfg_rx_lfc_opcode wire cfg_rx_lfc_en wire [15:0] cfg_rx_pfc_opcode wire cfg_rx_pfc_en wire tx_axis_tready wire [DATA_WIDTH-1:0] rx_axis_tdata wire [KEEP_WIDTH-1:0] rx_axis_tkeep wire rx_axis_tvalid wire rx_axis_tlast wire [RX_USER_WIDTH-1:0] rx_axis_tuser wire [DATA_WIDTH-1:0] xgmii_txd wire [CTRL_WIDTH-1:0] xgmii_txc wire [PTP_TS_WIDTH-1:0] tx_axis_ptp_ts wire [TX_PTP_TAG_WIDTH-1:0] tx_axis_ptp_ts_tag wire tx_axis_ptp_ts_valid wire rx_lfc_req wire [7:0] rx_pfc_req wire tx_pause_ack wire [1:0] tx_start_packet wire tx_error_underflow wire [1:0] rx_start_packet wire rx_error_bad_frame wire rx_error_bad_fcs wire stat_tx_mcf wire stat_rx_mcf wire stat_tx_lfc_pkt wire stat_tx_lfc_xon wire stat_tx_lfc_xoff wire stat_tx_lfc_paused wire stat_tx_pfc_pkt wire [7:0] stat_tx_pfc_xon wire [7:0] stat_tx_pfc_xoff wire [7:0] stat_tx_pfc_paused wire stat_rx_lfc_pkt wire stat_rx_lfc_xon wire stat_rx_lfc_xoff wire stat_rx_lfc_paused wire stat_rx_pfc_pkt wire [7:0] stat_rx_pfc_xon wire [7:0] stat_rx_pfc_xoff wire [7:0] stat_rx_pfc_paused

Hierarchical structure

eth_mac_10g_compuesto.png

Generics

Generic name Type Value Description
DATA_WIDTH 64 Ancho de datos
KEEP_WIDTH (DATA_WIDTH/8) Ancho de bits válidos
CTRL_WIDTH (DATA_WIDTH/8) Ancho de control
ENABLE_PADDING 1 Flag para habilitar padding
ENABLE_DIC 1 Flag para habilitar DIC
MIN_FRAME_LENGTH 64 Longitud mínima de trama
PTP_TS_ENABLE 0 Flag para habilitar marca de tiempo PTP
PTP_TS_FMT_TOD 1 Formato de marca de tiempo PTP
PTP_TS_WIDTH PTP_TS_FMT_TOD ? 96 : 64 Ancho de marca de tiempo PTP
TX_PTP_TS_CTRL_IN_TUSER 0 Control de marca de tiempo PTP en TUSER
TX_PTP_TAG_ENABLE PTP_TS_ENABLE Habilitar etiqueta PTP en transmisión
TX_PTP_TAG_WIDTH 16 Ancho de etiqueta PTP en transmisión
TX_USER_WIDTH (PTP_TS_ENABLE ? (TX_PTP_TAG_ENABLE ? TX_PTP_TAG_WIDTH : 0) + (TX_PTP_TS_CTRL_IN_TUSER ? 1 : 0) : 0) + 1 Ancho de datos de usuario en transmisión
RX_USER_WIDTH (PTP_TS_ENABLE ? PTP_TS_WIDTH : 0) + 1 Ancho de datos de usuario en recepción
PFC_ENABLE 0 Flag para habilitar control de flujo prioritario PFC
PAUSE_ENABLE PFC_ENABLE Flag para habilitar pausa de control de flujo LFC

Ports

Port name Direction Type Description
rx_clk input wire Señal de clock del receptor
rx_rst input wire Señal de reset del receptor
tx_clk input wire Señal de clock del transmisor
tx_rst input wire Señal de reset del transmisor
tx_axis_tdata input wire [DATA_WIDTH-1:0] Datos de la interfaz AXI del transmisor
tx_axis_tkeep input wire [KEEP_WIDTH-1:0] Bits válidos de la interfaz AXI del transmisor
tx_axis_tvalid input wire Señal de datos válidos de la interfaz AXI del transmisor
tx_axis_tready output wire Señal de ready de la interfaz AXI del transmisor
tx_axis_tlast input wire Señal de fin de trama de la interfaz AXI del transmisor
tx_axis_tuser input wire [TX_USER_WIDTH-1:0] Datos de usuario de la interfaz AXI del transmisor
rx_axis_tdata output wire [DATA_WIDTH-1:0] Datos de la interfaz AXI del receptor
rx_axis_tkeep output wire [KEEP_WIDTH-1:0] Bits válidos de la interfaz AXI del receptor
rx_axis_tvalid output wire Señal de datos válidos de la interfaz AXI del receptor
rx_axis_tlast output wire Señal de fin de trama de la interfaz AXI del receptor
rx_axis_tuser output wire [RX_USER_WIDTH-1:0] Datos de usuario de la interfaz AXI del receptor
xgmii_rxd input wire [DATA_WIDTH-1:0] Datos recibidos de la interfaz XGMII
xgmii_rxc input wire [CTRL_WIDTH-1:0] Datos de control recibidos de la interfaz XGMII
xgmii_txd output wire [DATA_WIDTH-1:0] Datos transmitidos de la interfaz XGMII
xgmii_txc output wire [CTRL_WIDTH-1:0] Datos de control transmitidos de la interfaz XGMII
tx_ptp_ts input wire [PTP_TS_WIDTH-1:0] Marca de tiempo PTP del transmisor
rx_ptp_ts input wire [PTP_TS_WIDTH-1:0] Marca de tiempo PTP del receptor
tx_axis_ptp_ts output wire [PTP_TS_WIDTH-1:0] Marca de tiempo PTP en interfaz AXI del transmisor
tx_axis_ptp_ts_tag output wire [TX_PTP_TAG_WIDTH-1:0] Etiqueta de marca de tiempo PTP en interfaz AXI del transmisor
tx_axis_ptp_ts_valid output wire Señal de datos válidos de marca de tiempo PTP en interfaz AXI del transmisor
tx_lfc_req input wire Solicitud de pausa de control de flujo en el transmisor
tx_lfc_resend input wire Reenvío de solicitud de pausa de control de flujo en el transmisor
rx_lfc_en input wire Habilitación de pausa de control de flujo en el receptor
rx_lfc_req output wire Solicitud de pausa de control de flujo en el receptor
rx_lfc_ack input wire Reconocimiento de pausa de control de flujo en el receptor
tx_pfc_req input wire [7:0] Solicitud de control de flujo prioritario el transmisor
tx_pfc_resend input wire Reenvío de solicitud de control de flujo prioritario el transmisor
rx_pfc_en input wire [7:0] Habilitación de control de flujo prioritario en el receptor
rx_pfc_req output wire [7:0] Solicitud de control de flujo prioritario en el receptor
rx_pfc_ack input wire [7:0] Reconocimiento de control de flujo prioritario en el receptor
tx_lfc_pause_en input wire Habilitación de pausa de control de flujo el transmisor
tx_pause_req input wire Solicitud de pausa el transmisor
tx_pause_ack output wire Reconocimiento de pausa el transmisor
tx_start_packet output wire [1:0] Estado de inicio de paquete en el transmisor
tx_error_underflow output wire Error de subflujo en el transmisor
rx_start_packet output wire [1:0] Estado de inicio de paquete en el receptor
rx_error_bad_frame output wire Error de trama incorrecta en el receptor
rx_error_bad_fcs output wire Error de FCS incorrecto en el receptor
stat_tx_mcf output wire Estado que indica la transmisión de un marco de control MAC.
stat_rx_mcf output wire Estado que indica la recepción de un marco de control MAC.
stat_tx_lfc_pkt output wire Estado que indica la transmisión de un paquete LFC.
stat_tx_lfc_xon output wire Estado que indica la transmisión de una señal XON en LFC.
stat_tx_lfc_xoff output wire Estado que indica la transmisión de una señal XOFF en LFC.
stat_tx_lfc_paused output wire Estado que indica que la transmisión está pausada debido a LFC.
stat_tx_pfc_pkt output wire Estado que indica la transmisión de un paquete PFC.
stat_tx_pfc_xon output wire [7:0] Estado que indica la transmisión de una señal XON en PFC para cada prioridad.
stat_tx_pfc_xoff output wire [7:0] Estado que indica la transmisión de una señal XOFF en PFC para cada prioridad.
stat_tx_pfc_paused output wire [7:0] Estado que indica que la transmisión está pausada debido a PFC para cada prioridad.
stat_rx_lfc_pkt output wire Estado que indica la recepción de un paquete LFC.
stat_rx_lfc_xon output wire Estado que indica la recepción de una señal XON en LFC.
stat_rx_lfc_xoff output wire Estado que indica la recepción de una señal XOFF en LFC.
stat_rx_lfc_paused output wire Estado que indica que la recepción está pausada debido a LFC.
stat_rx_pfc_pkt output wire Estado que indica la recepción de un paquete PFC.
stat_rx_pfc_xon output wire [7:0] Estado que indica la recepción de una señal XON en PFC para cada prioridad.
stat_rx_pfc_xoff output wire [7:0] Estado que indica la recepción de una señal XOFF en PFC para cada prioridad.
stat_rx_pfc_paused output wire [7:0] Estado que indica que la recepción está pausada debido a PFC para cada prioridad.
cfg_tx_enable input wire Habilitación del transmisor
cfg_rx_enable input wire Habilitación del receptor
cfg_mcf_rx_eth_dst_mcast input wire [47:0] Dirección multicast Ethernet del receptor MCF
cfg_mcf_rx_check_eth_dst_mcast input wire Verificación de dirección multicast Ethernet del receptor MCF
cfg_mcf_rx_eth_dst_ucast input wire [47:0] Dirección unicast Ethernet del receptor MCF
cfg_mcf_rx_check_eth_dst_ucast input wire Verificación de dirección unicast Ethernet del receptor MCF
cfg_mcf_rx_eth_src input wire [47:0] Dirección de origen Ethernet del receptor MCF
cfg_mcf_rx_check_eth_src input wire Verificación de dirección de origen Ethernet del receptor MCF
cfg_mcf_rx_eth_type input wire [15:0] Tipo Ethernet del receptor MCF
cfg_mcf_rx_opcode_lfc input wire [15:0] Código de operación LFC del receptor MCF
cfg_mcf_rx_check_opcode_lfc input wire Verificación de código de operación LFC del receptor MCF
cfg_mcf_rx_opcode_pfc input wire [15:0] Código de operación PFC del receptor MCF
cfg_mcf_rx_check_opcode_pfc input wire Verificación de código de operación PFC del receptor MCF
cfg_mcf_rx_forward input wire Reenvío del receptor MCF
cfg_mcf_rx_enable input wire Habilitación del receptor MCF
cfg_tx_lfc_eth_dst input wire [47:0] Dirección Ethernet de pausa de control de flujo en el transmisor
cfg_tx_lfc_eth_src input wire [47:0] Dirección de origen Ethernet de pausa de control de flujo en el transmisor
cfg_tx_lfc_eth_type input wire [15:0] Tipo Ethernet de pausa de control de flujo en el transmisor
cfg_tx_lfc_opcode input wire [15:0] Código de operación de pausa de control de flujo en el transmisor
cfg_tx_lfc_en input wire Habilitación de pausa de control de flujo en el transmisor
cfg_tx_lfc_quanta input wire [15:0] Cuánta de pausa de control de flujo en el transmisor
cfg_tx_lfc_refresh input wire [15:0] Actualización de pausa de control de flujo en el transmisor
cfg_tx_pfc_eth_dst input wire [47:0] Dirección Ethernet de control de flujo prioritario en el transmisor
cfg_tx_pfc_eth_src input wire [47:0] Dirección de origen Ethernet de control de flujo prioritario en el transmisor
cfg_tx_pfc_eth_type input wire [15:0] Tipo Ethernet de control de flujo prioritario en el transmisor
cfg_tx_pfc_opcode input wire [15:0] Código de operación de control de flujo prioritario en el transmisor
cfg_tx_pfc_en input wire Habilitación de control de flujo prioritario en el transmisor
cfg_tx_pfc_quanta input wire [8*16-1:0] Cuánta de control de flujo prioritario en el transmisor
cfg_tx_pfc_refresh input wire [8*16-1:0] Actualización de control de flujo prioritario en el transmisor
cfg_rx_lfc_opcode input wire [15:0] Código de operación de pausa de control de flujo en el receptor
cfg_rx_lfc_en input wire Habilitación de pausa de control de flujo en el receptor
cfg_rx_pfc_opcode input wire [15:0] Código de operación de control de flujo prioritario en el receptor
cfg_rx_pfc_en input wire Habilitación de control de flujo prioritario en el receptor

Signals

Name Type Description
tx_axis_tdata_int wire [DATA_WIDTH-1:0] Datos de salida internos de la interfaz AXI en el transmisor
tx_axis_tkeep_int wire [KEEP_WIDTH-1:0] Bits válidos de salida internos de la interfaz AXI en el transmisor
tx_axis_tvalid_int wire Señal de datos válidos interna de la interfaz AXI en el transmisor
tx_axis_tready_int wire Flag de ready para recibir datos interna de la interfaz AXI en el transmisor
tx_axis_tlast_int wire Flag de fin de trama interna de la interfaz AXI en el transmisor
tx_axis_tuser_int wire [TX_USER_WIDTH_INT-1:0] Datos de usuario internos de la interfaz AXI en el transmisor
rx_axis_tdata_int wire [DATA_WIDTH-1:0] Datos de entrada internos de la interfaz AXI en el receptor
rx_axis_tkeep_int wire [KEEP_WIDTH-1:0] Bits válidos de entrada internos de la interfaz AXI en el receptor
rx_axis_tvalid_int wire Flag de datos válidos interna de la interfaz AXI en el receptor
rx_axis_tlast_int wire Flag de fin de trama interna de la interfaz AXI en el receptor
rx_axis_tuser_int wire [RX_USER_WIDTH-1:0] Datos de usuario internos de la interfaz AXI en el receptor

Constants

Name Type Value Description
MAC_CTRL_ENABLE PAUSE_ENABLE
TX_USER_WIDTH_INT MAC_CTRL_ENABLE ? (PTP_TS_ENABLE ? (TX_PTP_TAG_ENABLE ? TX_PTP_TAG_WIDTH : 0) + 1 : 0) + 1 : TX_USER_WIDTH Ancho de datos de usuario interno en transmisión

Instantiations