Tengo una pregunta que busca aclarar EXACTAMENTE qué sucede durante un intercambio GMII entre MAC y PHY. Específicamente, respecto a la señal TX_ER.
IEEE 802.3 Sección 3:
TX_ER está controlado por la subcapa de reconciliación y debe realizar una transición sincrónica con respecto a la GTX_CLK. Cuando se afirma TX_ER durante uno o más periodos TX_CLK, mientras que también se afirma TX_EN, el PHY emitirá uno o más grupos de código que no forman parte de los datos válidos o delimitador establecido en algún lugar de la trama que se transmite. La posición relativa del error dentro del marco no necesita ser preservada. La figura 35-4 muestra el comportamiento de TX_ER durante la transmisión de una trama que propaga un error.
Mipregunta:cuandoTX_EResconfirmadoporelMAC(mientrasTX_ENsemantienealto),¿elcuadroaúndejaelPHYcontodoslosdemásbytesdelcuadroaúnintactos,ySOLAMENTElosbytestransmitidosmientraselTX_EResaltoseconfunden?¿OlaPHYdejadetransmitirelcuadroporcompletounavezquesedetectaunaseñaldeerror?
EstoytrabajandoenundiseñodeFPGAquedeberíapodersoltaropasarunatramaenfuncióndesucontenido,ymepreguntosilaafirmacióndelaseñalGMIITX_ERaPHYseconsideraría"abandonar la trama" o no.
En el caso de que los bytes sigan saliendo de la PHY, parecería que el paquete solo se "eliminaría" porque el Ethernet FCS no coincidiría con el contenido del paquete. Pero el contenido de la trama aún sería recibido por el PHY en el otro extremo, por lo que si el lado del receptor tuviera acceso a la capa física, los datos podrían recuperarse potencialmente (lo que no es aceptable en mi caso).
He probado esto usando la utilidad de red iperf, y parece que los datos de la aplicación no pasan si se confirma TX_ER. Sin embargo, wireshark parece decirme que todavía hay paquetes TCP válidos que se están recibiendo, y no entiendo cómo es posible si el CRC de la capa física no coincide con el contenido del marco.
Cualquier idea muy apreciada.
¡Gracias!