Implementa la recepción y gestión de marcos de control MAC, incluyendo tanto el flujo de control a nivel de enlace (LFC), como el flujo de control de prioridad (PFC).
Generics
Generic name
Type
Value
Description
MCF_PARAMS_SIZE
18
Tamaño de los parámetros del marco de control MAC
PFC_ENABLE
1
Habilitar PFC (Control de Flujo de Prioridad)
Ports
Port name
Direction
Type
Description
clk
input
wire
Señal de clock
rst
input
wire
Señal de reset
mcf_valid
input
wire
Validez del marco de control MAC
mcf_eth_dst
input
wire [47:0]
Destino Ethernet del marco de control MAC
mcf_eth_src
input
wire [47:0]
Origen Ethernet del marco de control MAC
mcf_eth_type
input
wire [15:0]
Tipo Ethernet del marco de control MAC
mcf_opcode
input
wire [15:0]
Código de operación del marco de control MAC
mcf_params
input
wire [MCF_PARAMS_SIZE*8-1:0]
Parámetros del marco de control MAC
rx_lfc_en
input
wire
Habilitar LFC (Control de Flujo a Nivel de Enlace)
rx_lfc_req
output
wire
Solicitud de LFC (Control de Flujo a Nivel de Enlace)
rx_lfc_ack
input
wire
Reconocimiento de LFC (Control de Flujo a Nivel de Enlace)
rx_pfc_en
input
wire [7:0]
Habilitar PFC (Control de Flujo de Prioridad)
rx_pfc_req
output
wire [7:0]
Solicitud de PFC (Control de Flujo de Prioridad)
rx_pfc_ack
input
wire [7:0]
Reconocimiento de PFC (Control de Flujo de Prioridad)
cfg_rx_lfc_opcode
input
wire [15:0]
Código de operación de LFC configurado
cfg_rx_lfc_en
input
wire
Habilitar LFC configurado
cfg_rx_pfc_opcode
input
wire [15:0]
Código de operación de PFC configurado
cfg_rx_pfc_en
input
wire
Habilitar PFC configurado
cfg_quanta_step
input
wire [9:0]
Paso de cuantum configurado
cfg_quanta_clk_en
input
wire
Habilitar reloj de cuantum configurado
stat_rx_lfc_pkt
output
wire
Paquete recibido de LFC
stat_rx_lfc_xon
output
wire
XON recibido de LFC
stat_rx_lfc_xoff
output
wire
XOFF recibido de LFC
stat_rx_lfc_paused
output
wire
Estado pausado de LFC
stat_rx_pfc_pkt
output
wire
Paquete recibido de PFC
stat_rx_pfc_xon
output
wire [7:0]
XON recibido de PFC
stat_rx_pfc_xoff
output
wire [7:0]
XOFF recibido de PFC
stat_rx_pfc_paused
output
wire [7:0]
Estado pausado de PFC
Signals
Name
Type
Description
lfc_req_reg = 1'b0
reg
Registro para solicitud de LFC (Control de Flujo a Nivel de Enlace)
lfc_req_next
reg
Registro para solicitud de LFC (Control de Flujo a Nivel de Enlace)
pfc_req_reg = 8'd0
reg [7:0]
Registro para solicitud de PFC (Control de Flujo de Prioridad)
pfc_req_next
reg [7:0]
Registro para solicitud de PFC (Control de Flujo de Prioridad)
lfc_quanta_reg = 0
reg [16+QFB-1:0]
Registro para cuantum de LFC
lfc_quanta_next
reg [16+QFB-1:0]
Registro para cuantum de LFC
pfc_quanta_reg[0:7]
reg [16+QFB-1:0]
Registros para cuantum de PFC para cada cola
pfc_quanta_next[0:7]
reg [16+QFB-1:0]
Registros para cuantum de PFC para cada cola
stat_rx_lfc_pkt_reg = 1'b0
reg
Registro para indicar paquete recibido de LFC
stat_rx_lfc_pkt_next
reg
Registro para indicar paquete recibido de LFC
stat_rx_lfc_xon_reg = 1'b0
reg
Registro para indicar XON recibido de LFC
stat_rx_lfc_xon_next
reg
Registro para indicar XON recibido de LFC
stat_rx_lfc_xoff_reg = 1'b0
reg
Registro para indicar XOFF recibido de LFC
stat_rx_lfc_xoff_next
reg
Registro para indicar XOFF recibido de LFC
stat_rx_pfc_pkt_reg = 1'b0
reg
Registro para indicar paquete recibido de PFC
stat_rx_pfc_pkt_next
reg
Registro para indicar paquete recibido de PFC
stat_rx_pfc_xon_reg = 8'd0
reg [7:0]
Registro para indicar XON recibido de PFC
stat_rx_pfc_xon_next
reg [7:0]
Registro para indicar XON recibido de PFC
stat_rx_pfc_xoff_reg = 8'd0
reg [7:0]
Registro para indicar XOFF recibido de PFC
stat_rx_pfc_xoff_next
reg [7:0]
Registro para indicar XOFF recibido de PFC
k
integer
Constants
Name
Type
Value
Description
QFB
8
Processes
unnamed: ( @* )
Type: always
Description
Gestiona el control de cuantum y las solicitudes de control de flujo tanto a nivel de enlace (LFC) como de prioridad (PFC)
unnamed: ( @(posedge clk) )
Type: always
Description
Actualiza los datos en los flancos positivos de reloj