AXI stream slave

1

Tengo una pregunta sobre la transferencia de secuencias AXI. En el esclavo de flujo AXI, quiero capturar los datos que vienen a través del AXI_Slave_TDATA y luego procesarlos (por ejemplo, multiplicar cada byte de datos por 2) y luego transferirlos como flujo a otra IP. ¿Cuál es el código VHDL que procesa el flujo de datos que ingresan al flujo AXI_Slave y luego los transfieren como flujo a otra IP? Cualquier ejemplo sería útil

    
pregunta Bonny

3 respuestas

1

Ha publicado varias preguntas de implementación de FPGA y PL. El problema es que estas preguntas son complejas y no son fáciles de responder. Le sugiero que vea varias docenas de tutoriales en video de Xilinx solo para tener una idea general de cómo funcionan las cosas y lo que debería esperarse. Luego, hay cientos de hojas de datos como UG761 que puede leer y obtener sus respuestas. Utilice Xilinx DOC Navigator. Sumérgete en él.

Está pidiendo un ejemplo (apuesto a que hay uno en algún lugar de la documentación) y no es tan simple como dos líneas de código. Siga estas serie de videos : el tipo se enfoca en las transferencias de PS-DDR-DMA y brinda una introducción a la interfaz AXI4.

    
respondido por el Nazar
1

Puede ver el diseño de ejemplo de IP de Xilinx AXI-stream.

En Vivado, abre un nuevo proyecto vacío. Herramientas - > Crear y empaquetar un nuevo AXI ip. E ir a través del asistente.

Cuando se le solicite, elija "Crear un nuevo periférico AXI". Esto generará un código de ejemplo para ti para el aspecto de un periférico AXI y creará un proyecto de barebones para comenzar.

    
respondido por el stanri
0

Hasta que proporcione más detalles, las únicas respuestas que se pueden proporcionar son sobre la transmisión AXI en general.

Las transferencias en el flujo AXI tienen lugar cuando tvalid y tready son altas, con tvalid siendo expulsado de la fuente y el servicio desde el sumidero. Cuando su núcleo esté listo para recibir datos, establezca el nivel alto y lea los datos nuevos cuando tvalid y tready estén altos. Para enviar datos, conduzca tvalid alto junto con los nuevos datos. Mantenga los datos constantes y tvalid alto hasta que obtenga un nivel alto en el sistema. Luego, suelte tvalid o coloque nuevos datos en tdata. Si desea utilizar un protocolo enmarcado, marque la última transferencia del marco con un valor alto. Asegúrate de transferir solo Tlast cuando transfieras tdata (solo acepta o actualiza cuando tanto tvalid como tready son altos).

    
respondido por el alex.forencich

Lea otras preguntas en las etiquetas