He usado el núcleo de TEMAC directamente instanciado en la lógica, por lo que probablemente pueda darte algunas ideas y respuestas.
Documentación
En primer lugar, Xilinx proporciona una gran cantidad de documentos para cada uno de sus núcleos IP. También conservan documentos para diferentes versiones del núcleo, así que tenga cuidado de elegir el documento correcto. Una búsqueda de los documentos de soporte de Xilinx surgió con esta colección de documentos:
Documentación Xilinx TEMAC
El documento principal que desea consultar es el manual del usuario. Es MUY detallado y debe tener todo lo necesario para usar el núcleo en un proyecto. Dicho esto, puede ser bastante difícil analizar y obtener la información que desea.
Basándome en v4.5 del núcleo, creo que es la versión de instanciación directa más reciente (no el bus AXI). Los núcleos que puede usar dependerán de cuán actualizada esté su versión de ISE, pero no cambiarán los conceptos básicos entre las versiones.
El manual del usuario de TEMAC v4.5 se encuentra en enlace
Licencia
El núcleo de TEMAC requiere una licencia para usar. Una licencia de evaluación es gratuita y completamente funcional, pero deja de funcionar después de un tiempo
El núcleo se puede probar en el dispositivo de destino durante un tiempo limitado antes de que se agote el tiempo de espera (que deje de funcionar), momento en el que se puede reactivar mediante la reconfiguración del dispositivo.
En el dispositivo Spartan-6 utilicé el núcleo con un reloj de 50 MHz, el núcleo funcionó durante aproximadamente 8 horas, pero no hay documentación sobre cómo funciona exactamente el tiempo de espera.
Me gustaría obtener una cotización para una licencia antes de que trabajes demasiado con el núcleo, ¡cuesta un poco de dinero!
Función
Hay un diagrama de bloques del núcleo en la página 52 del documento.
EstolemuestraloquehaceelTEMACenlajergadeEthernet,perobásicamentelasinterfacescentralesentrelalógicadelusuarioylaEthernetPHY(quecontrolalasseñalesdelíneareales)enunabasedepaqueteporpaquete.
Laclavedelamayoríadesuspreguntasescómofuncionala"interfaz de cliente". Esta es la interfaz de su lógica y está bien descrita. Eche un vistazo a ese capítulo para ver cómo son los datos de entrada y salida de la interfaz.
Respuestas
Para responder a sus preguntas específicas:
¿Cómo puedo saber la dirección MAC de la placa?
El TEMAC toma la dirección MAC que le das y la usa, por lo que tendrás que proporcionarla desde algún lugar. Muchas placas de desarrollo proporcionan un chip EEPROM de dirección MAC que tiene almacenada una dirección única para que usted pueda leer y usar. Si no tiene una dirección MAC disponible en la placa, puede codificar una, pero tenga en cuenta que esto va en contra de las reglas y podría causar un problema si otro dispositivo en su red tiene esa dirección. Una solución bastante elegante es encontrar un dispositivo Ethernet antiguo que ya no usas y solo usar su dirección para las pruebas.
Y una vez que se haya creado una instancia del núcleo de Temac, ¿todo el procesamiento de datos se realizará por él?
No, en realidad no. Las interfaces del receptor y el transmisor funcionan a un nivel de paquete de Ethernet individual, por lo que su lógica debe proporcionar paquetes individuales. Esta es la capa 2 en el modelo OSI . Tendrá que crear otra lógica o usar otro núcleo para manejar cualquier protocolo de nivel superior que desee usar (como TCP o UDP).
He usado este núcleo para hacer que un sistema funcione, incluido escribir mis propios módulos para interactuar con la interfaz del cliente, y me complace responder a cualquier otra pregunta. Desafortunadamente, mi código es propiedad de la compañía para la que trabajo, pero puedo hablar de ello en general.