MNL-AVABUSREF Interfaz Avalon
Especificaciones de la interfaz Avalon®
Actualizado para Intel® Quartus® Prime Design Suite: 20.1
Versión en línea Enviar comentarios
MNL-AVABUSREF
Identificación: 683091 Versión: 2022.01.24
Contenido
Contenido
1. Introducción a las especificaciones de la interfaz Avalon®…………………………………………………… 4 1.1. Propiedades y parámetros de Avalon…………………………………………………………………………. 5 1.2. Funciones de las señales……………………………………………………………………………………………. 5 1.3. Sincronización de la interfaz……………………………………………………………………………. 5 1.4. Example: Interfaces Avalon en diseños de sistemas……………………………………………………. 5
2. Interfaces de reloj y reinicio de Avalon…………………………………………………………………………. 8 2.1. Funciones de la señal de sumidero de reloj de Avalon………………………………………………………….. 8 2.2. Propiedades del sumidero de reloj…………………………………………………………………………… 9 2.3. Interfaces de reloj asociadas………………………………………………………………………………… 9 2.4. Funciones de la señal de fuente de reloj de Avalon……………………………………………………….. 9 2.5. Propiedades de la fuente de reloj……………………………………………………………………… 9 2.6. Restablecimiento del sumidero……………………………………………………………………………. 10 2.7. Propiedades de la interfaz de restablecimiento del sumidero………………………………………………… 10 2.8. Interfaces de reinicio asociadas …………………………………………………………………………………10 2.9. Fuente de reinicio………………………………………………………………………………………….10 2.10. Propiedades de la interfaz de fuente de reinicio…………………………………………………….11
3. Interfaces mapeadas en memoria de Avalon…………………………………………………………………….12 3.1. Introducción a las interfaces mapeadas en memoria de Avalon………………………………………………. 12 3.2. Funciones de señal de la interfaz mapeada en memoria de Avalon…………………………………………….14 3.3. Propiedades de la interfaz………………………………………………………………………………….17 3.4. Sincronización…………………………………………………………………………………………….20 3.5. Transferencias……………………………………………………………………………………………. 20 3.5.1. Transferencias típicas de lectura y escritura……………………………………………. 21 3.5.2. Transferencias que utilizan la propiedad waitrequestAllowance……………………………. 23 3.5.3. Transferencias de lectura y escritura con estados de espera fijos ………………………………………….. 26 3.5.4. Transferencias segmentadas ………………………………………………………………………….. 27 3.5.5. Transferencias en ráfaga …………………………………………………………………………. 30 3.5.6. Respuestas de lectura y escritura ………………………………………………………………. 34 3.6. Alineación de direcciones ……………………………………………………………………………….. 36 3.7. Direccionamiento del agente Avalon-MM …………………………………………………………………….. 36
4. Interfaces de interrupción de Avalon…………………………………………………………………………………… 38 4.1. Emisor de interrupción………………………………………………………………………………………….. 38 4.1.1. Roles de señal del emisor de interrupción de Avalon……………………………………………. 38 4.1.2. Propiedades del emisor de interrupción……………………………………………………….. 38 4.2. Receptor de interrupción………………………………………………………………………………… 39 4.2.1. Roles de señal del receptor de interrupción de Avalon……………………………………….. 39 4.2.2. Propiedades del receptor de interrupción……………………………………………………….. 39 4.2.3. Sincronización de interrupción………………………………………………………………….. 39
5. Interfaces de transmisión de Avalon………………………………………………………………………………. 40 5.1. Términos y conceptos………………………………………………………………………………………… 41 5.2. Funciones de las señales de la interfaz de transmisión de Avalon…………………………………………….. 42 5.3. Secuenciación y temporización de señales………………………………………………………………… 43 5.3.1. Interfaz síncrona…………………………………………………………………………… 43 5.3.2. Habilitaciones de reloj…………………………………………………………………………… 43
Especificaciones de la interfaz Avalon® 2
Enviar comentarios
Contenido
5.4. Propiedades de la interfaz Avalon-ST………………………………………………………………………….43 5.5. Transferencias de datos típicas………………………………………………………………………………44 5.6. Detalles de la señal……………………………………………………………………………………………… 44 5.7. Disposición de los datos…………………………………………………………………………………. 45 5.8. Transferencia de datos sin contrapresión……………………………………………………….. 46 5.9. Transferencia de datos con contrapresión……………………………………………………………. 46
5.9.1. Transferencias de datos mediante readyLatency y readyAllowance………………………….. 47 5.9.2. Transferencias de datos mediante readyLatency……………………………………………………. 49 5.10. Transferencias de datos en paquetes…………………………………………………………………. 50 5.11. Detalles de la señal…………………………………………………………………………………. 51 5.12. Detalles del protocolo…………………………………………………………………………………. 52
6. Interfaces de créditos de transmisión de Avalon…………………………………………………………………… 53 6.1. Términos y conceptos…………………………………………………………………………………… 53 6.2. Funciones de las señales de la interfaz de créditos de transmisión de Avalon………………………………….. 54 6.2.1. Interfaz sincrónica……………………………………………………………………………. 55 6.2.2. Transferencias de datos típicas……………………………………………………………. 56 6.2.3. Devolución de créditos………………………………………………………………………. 57 6.3. Señales de usuario de créditos de transmisión de Avalon……………………………………………. 58 6.3.1. Señal de usuario por símbolo……………………………………………………………. 58 6.3.2. Señal de usuario por paquete…………………………………………………………………………59
7. Interfaces de conductos Avalon…………………………………………………………………………………………60 7.1. Funciones de las señales de los conductos Avalon……………………………………………………………………. 61 7.2. Propiedades de los conductos……………………………………………………………………………. 61
8. Interfaz del conducto triestado de Avalon……………………………………………………………………………… 62 8.1. Funciones de la señal del conducto triestado de Avalon………………………………………………………….. 64 8.2. Propiedades del conducto triestado……………………………………………………………………………. 65 8.3. Sincronización del conducto triestado……………………………………………………………………….65
A. Señales obsoletas………………………………………………………………………………………………. 67
B. Historial de revisión de documentos para las especificaciones de la interfaz de Avalon…… ...
Enviar comentarios
Especificaciones de la interfaz Avalon® 3
683091 | 2022.01.24 Enviar comentarios
1. Introducción a las especificaciones de la interfaz Avalon®
Las interfaces Avalon® simplifican el diseño del sistema al permitirle conectar fácilmente componentes en Intel® FPGA. La familia de interfaces Avalon define interfaces adecuadas para la transmisión de datos a alta velocidad, la lectura y escritura de registros y memoria, y el control de dispositivos externos al chip. Los componentes disponibles en Platform Designer incorporan estas interfaces estándar. Además, puede incorporar interfaces Avalon en componentes personalizados, lo que mejora la interoperabilidad de los diseños.
Esta especificación define todas las interfaces de Avalon. Después de leer esta especificación, debería comprender qué interfaces son adecuadas para sus componentes y qué funciones de señal utilizar para comportamientos particulares. Esta especificación define las siguientes siete interfaces:
· Interfaz de transmisión Avalon (Avalon-ST): una interfaz que admite el flujo unidireccional de datos, incluidos flujos multiplexados, paquetes y datos DSP.
· Interfaz de memoria asignada de Avalon (Avalon-MM): una interfaz de lectura/escritura basada en direcciones típica de las conexiones host-agente.
· Interfaz de conducto Avalon: un tipo de interfaz que admite señales individuales o grupos de señales que no encajan en ninguno de los otros tipos de Avalon. Puede conectar interfaces de conducto dentro de un sistema Platform Designer. Alternativamente, puede exportarlas para conectarlas a otros módulos en el diseño o a pines FPGA.
· Interfaz de conducto de tres estados Avalon (Avalon-TC): una interfaz que permite conexiones con periféricos externos al chip. Varios periféricos pueden compartir pines a través de la multiplexación de señales, lo que reduce la cantidad de pines del FPGA y la cantidad de pistas en la PCB.
· Interfaz de interrupción de Avalon: una interfaz que permite que los componentes envíen señales de eventos a otros componentes.
· Interfaz de reloj Avalon: una interfaz que controla o recibe relojes.
· Interfaz de reinicio de Avalon: una interfaz que proporciona conectividad de reinicio.
Un solo componente puede incluir cualquier número de estas interfaces y también puede incluir múltiples instancias del mismo tipo de interfaz.
Nota:
Las interfaces de Avalon son un estándar abierto. No se requiere licencia ni regalías para desarrollar y vender productos que utilicen o se basen en interfaces de Avalon.
Información relacionada
· Introducción a los núcleos IP de Intel FPGA Brinda información general sobre todos los núcleos IP de Intel FPGA, incluida la parametrización, generación, actualización y simulación de núcleos IP.
· Generar un script de configuración de simulador combinado Cree scripts de simulación que no requieran actualizaciones manuales para actualizaciones de software o versiones de IP.
Corporación Intel. Reservados todos los derechos. Intel, el logotipo de Intel y otras marcas de Intel son marcas comerciales de Intel Corporation o sus subsidiarias. Intel garantiza el rendimiento de sus productos semiconductores y FPGA según las especificaciones actuales de acuerdo con la garantía estándar de Intel, pero se reserva el derecho de realizar cambios en cualquier producto y servicio en cualquier momento sin previo aviso. Intel no asume ninguna responsabilidad que surja de la aplicación o el uso de cualquier información, producto o servicio descrito en este documento, excepto que Intel lo acuerde expresamente por escrito. Se recomienda a los clientes de Intel que obtengan la última versión de las especificaciones del dispositivo antes de confiar en cualquier información publicada y antes de realizar pedidos de productos o servicios. *Otros nombres y marcas pueden reclamarse como propiedad de otros.
ISO 9001: 2015 registrado
1. Introducción a las especificaciones de la interfaz Avalon® 683091 | 2022.01.24
· Directrices de mejores prácticas de gestión de proyectos para una gestión y portabilidad eficientes de su proyecto y propiedad intelectual files.
1.1 Propiedades y parámetros de Avalon
Las interfaces de Avalon describen su comportamiento con propiedades. La especificación de cada tipo de interfaz define todas las propiedades de la interfaz y los valores predeterminados. Por ejemplo:ampLa propiedad maxChannel de las interfaces Avalon-ST permite especificar la cantidad de canales que admite la interfaz. La propiedad clockRate de la interfaz Avalon Clock proporciona la frecuencia de una señal de reloj.
1.2. Roles de señalización
Cada interfaz de Avalon define los roles de señal y su comportamiento. Muchos roles de señal son opcionales. Tiene la flexibilidad de seleccionar solo los roles de señal necesarios para implementar la funcionalidad requerida. Por ejemplo:ampLa interfaz Avalon-MM incluye funciones de señal opcionales beginbursttransfer y burstcount para componentes que admiten ráfagas. La interfaz Avalon-ST incluye funciones de señal opcionales startofpacket y endofpacket para interfaces que admiten paquetes.
A excepción de las interfaces de Avalon Conduit, cada interfaz puede incluir solo una señal de cada función de señal. Muchas funciones de señal permiten señales activas bajas. En este documento, generalmente se utilizan señales activas altas.
1.3. Sincronización de la interfaz
Los capítulos siguientes de este documento incluyen información sobre tiempos que describe las transferencias para tipos de interfaz individuales. No existe garantía de rendimiento para ninguna de estas interfaces. El rendimiento real depende de muchos factores, incluidos el diseño de los componentes y la implementación del sistema.
La mayoría de las interfaces de Avalon no deben ser sensibles a los bordes de señales distintas de las del reloj y el reinicio. Otras señales pueden realizar la transición varias veces antes de estabilizarse. La sincronización exacta de las señales entre los bordes del reloj varía según las características del FPGA Intel seleccionado. Esta especificación no especifica las características eléctricas. Consulte la documentación del dispositivo correspondiente para conocer las especificaciones eléctricas.
1.4. ej.ample: Interfaces Avalon en diseños de sistemas
En este exampEl controlador Ethernet incluye seis tipos de interfaz diferentes: · Avalon-MM · Avalon-ST · Avalon Conduit · Avalon-TC · Avalon Interrupt · Avalon Clock.
El procesador Nios® II accede a los registros de control y estado de los componentes en chip a través de una interfaz Avalon-MM. Los DMA de dispersión y recopilación envían y reciben datos a través de interfaces Avalon-ST. Cuatro componentes incluyen interruptores
Enviar comentarios
Especificaciones de la interfaz Avalon® 5
1. Introducción a las especificaciones de la interfaz Avalon® 683091 | 2022.01.24
Figura 1.
Interfaces a las que se da servicio mediante software que se ejecuta en el procesador Nios II. Un PLL acepta un reloj a través de una interfaz Avalon Clock Sink y proporciona dos fuentes de reloj. Dos componentes incluyen interfaces Avalon-TC para acceder a memorias externas al chip. Por último, el controlador DDR3 accede a la memoria DDR3 externa a través de una interfaz Avalon Conduit.
Interfaces de Avalon en un diseño de sistema con controlador DMA Scatter Gather y procesador Nios II
Placa de circuito impreso
Memoria flash SSRAM
DDR3
Cn
Cn
Cn
FPGA de Intel
M Host Avalon-MM Cn Conducto Avalon S Agente Avalon-MM TCM Host Avalon-TC Src TCS de origen Avalon-ST Agente Avalon-TC Snk Sumidero Avalon-ST CSrc Fuente de reloj Avalon
Fregadero de reloj Avalon de CSnk
Conducto triestado Cn
Puente TCS
Conducto triestado TCM
Compartidor de pin TCS TCS
IRQ4 IRQ3 Nios II
C1
M
IRQ1 C1
UART-S
Temporizador IRQ2
C1
S
Medicina tradicional china
Medicina tradicional china
SSRAM de control triestado
Control de estado flash triestado
C1
S
C1
S
C2
Controlador Cn DDR3
S
Avalon-MM
S
Conducto
Fuente Cn Avalon-ST
Controlador Ethernet
Snk
Búfer FIFO Avalon-ST
Avalon-ST
C2
Búfer FIFO
Dispersión SM GatheIrRQ4
DMA Snk
S C2
Avalon-ST
Fuente
M IRQ3
C2
Dispersión y recolección de DMA
C.S.R.C.
CsnkPLL C1
Reloj de referencia
C.S.R.C.
C2
En la siguiente figura, un procesador externo accede a los registros de control y estado de los componentes en chip a través de un puente de bus externo con una interfaz Avalon-MM. El puerto raíz PCI Express controla los dispositivos en la placa de circuito impreso y los otros componentes del FPGA al controlar un punto final PCI Express en chip con una interfaz de host AvalonMM. Un procesador externo maneja las interrupciones de cinco componentes. Un PLL acepta un reloj de referencia a través de una interfaz de receptor de reloj Avalon y proporciona dos relojes de referencia.
Especificaciones de la interfaz Avalon® 6
Enviar comentarios
1. Introducción a las especificaciones de la interfaz Avalon® 683091 | 2022.01.24
Figura 2.
Las memorias flash y SRAM comparten pines FPGA a través de una interfaz Avalon-TC. Finalmente, un controlador SDRAM accede a una memoria SDRAM externa a través de una interfaz Avalon Conduit.
Interfaces de Avalon en un diseño de sistema con punto final PCI Express y procesador externo
Placa de circuito impreso
Puerto raíz PCI Express
CPU externa
FPGA de Intel
IRQ1
MAC de Ethernet
C1
M
C1
Lógica personalizada IRQ2
M
Avalon-MM
Punto final PCI Express
IRQ3 IRQ5 IRQ4 IRQ3
IRQ2 IRQ1
C1
M
C1
Puente de protocolo de bus externo
M
S
Control de tres estados SSRAM TCS
Control de estado de tres estados Flash TCS
S
Controlador SDRAM
C1
Cn
S
IRQ4
IRQ5
S
S
UART C2
Lógica personalizada C2
Conducto triestado TCM TCM
Compartidor de pin TCS
Conducto triestado TCM
Puente Cn
Reloj de referencia
CSrc CSnk PLL C1
C2 del CSrc
Cn
Cn
SSRAM
Destello
Memoria SDRAM de CN
Enviar comentarios
Especificaciones de la interfaz Avalon® 7
683091 | 2022.01.24 Enviar comentarios
2. Interfaces de reloj y reinicio de Avalon
Figura 3.
Las interfaces de reloj de Avalon definen el reloj o los relojes que utiliza un componente. Los componentes pueden tener entradas de reloj, salidas de reloj o ambas. Un bucle de enganche de fase (PLL) es unample de un componente que tiene tanto una entrada de reloj como salidas de reloj.
La siguiente figura es una ilustración simplificada que muestra las entradas y salidas más importantes de un componente PLL.
Entradas y salidas del reloj del núcleo PLL
Núcleo PLL
altpll IP de FPGA de Intel
reiniciar
Reiniciar
Reloj
Hundir
Fuente
Interfaz de salida de reloj 1
Fuente de reloj
Interfaz de salida de reloj 2
ref_clk
Reloj
Reloj
Hundir
Fuente
Interfaz de salida de reloj_n
2.1. Funciones de la señal de sumidero del reloj de Avalon
Un disipador de reloj proporciona una referencia de tiempo para otras interfaces y lógica interna.
Tabla 1.
Funciones de la señal de sumidero de reloj
Función de señal clk
Ancho 1
Entrada de dirección
Obligatorio Sí
Descripción
Una señal de reloj. Proporciona sincronización para la lógica interna y para otras interfaces.
Corporación Intel. Reservados todos los derechos. Intel, el logotipo de Intel y otras marcas de Intel son marcas comerciales de Intel Corporation o sus subsidiarias. Intel garantiza el rendimiento de sus productos semiconductores y FPGA según las especificaciones actuales de acuerdo con la garantía estándar de Intel, pero se reserva el derecho de realizar cambios en cualquier producto y servicio en cualquier momento sin previo aviso. Intel no asume ninguna responsabilidad que surja de la aplicación o el uso de cualquier información, producto o servicio descrito en este documento, excepto que Intel lo acuerde expresamente por escrito. Se recomienda a los clientes de Intel que obtengan la última versión de las especificaciones del dispositivo antes de confiar en cualquier información publicada y antes de realizar pedidos de productos o servicios. *Otros nombres y marcas pueden reclamarse como propiedad de otros.
ISO 9001: 2015 registrado
2. Interfaces de reloj y reinicio de Avalon 683091 | 2022.01.24
2.2 Propiedades del disipador de reloj
Tabla 2.
Propiedades del disipador de calor
Nombre clockRate
Valor predeterminado 0
Valores legales 0
Descripción
Indica la frecuencia en Hz de la interfaz de recepción de reloj. Si es 0, la frecuencia de reloj permite cualquier frecuencia. Si no es cero, Platform Designer emite una advertencia si la fuente de reloj conectada no es la frecuencia especificada.
2.3. Interfaces de reloj asociadas
Todas las interfaces sincrónicas tienen una propiedadassociatedClock que especifica qué fuente de reloj del componente se utiliza como referencia de sincronización para la interfaz. Esta propiedad se ilustra en la siguiente figura.
Figura 4. Propiedad de reloj asociada
rx_clk Reloj
Hundir
FIFO de doble reloj
Reloj tx_clk
Hundir
rx_data ST reloj asociado = “rx_clk”
Hundir
RelojAsociado = “tx_clk” ST tx_data
Fuente
2.4. Funciones de la señal de la fuente del reloj de Avalon
Una interfaz de fuente de reloj Avalon emite una señal de reloj desde un componente.
Tabla 3.
Funciones de la señal de la fuente de reloj
Papel de la señal
Ancho
Dirección
Clic
1
Producción
Obligatorio Sí
Descripción Una señal de reloj de salida.
2.5 Propiedades de la fuente del reloj
Tabla 4.
Propiedades de la fuente del reloj
Nombre asociado a DirectClock
Valor predeterminado
N / A
frecuencia de reloj
0
frecuencia de reloj conocida
FALSO
Valores legales
Descripción
una entrada El nombre de la entrada de reloj que controla directamente este reloj nombre de la salida del reloj, si hay alguna.
0
Indica la frecuencia en Hz a la que se activa la salida del reloj.
verdadero, falso
Indica si se conoce o no la frecuencia del reloj. Si se conoce la frecuencia del reloj, se pueden personalizar otros componentes del sistema.
Enviar comentarios
Especificaciones de la interfaz Avalon® 9
2. Interfaces de reloj y reinicio de Avalon 683091 | 2022.01.24
2.6. Restablecer el sumidero
Tabla 5.
Restablecer roles de señal de entrada
La señal reset_req es una señal opcional que puede utilizar para evitar la corrupción del contenido de la memoria realizando un protocolo de enlace de reinicio antes de una afirmación de reinicio asincrónica.
Papel de la señal
Ancho
Dirección
Requerido
Descripción
restablecer, restablecer_n
1
Aporte
Sí
Restablece la lógica interna de una interfaz o componente
a un estado definido por el usuario. Las propiedades sincrónicas de
Los reinicios se definen mediante synchronousEdges
parámetro.
restablecer_req
1
aporte
No
Indicación temprana de señal de reinicio. Esta señal actúa como un
Al menos una advertencia de un ciclo de reinicio pendiente para ROM
Primitivos. Use reset_req para deshabilitar la habilitación del reloj.
o enmascarar el bus de direcciones de una memoria en chip, para
evitar que la dirección cambie cuando una
Se afirma la entrada de reinicio asincrónico.
2.7. Restablecer las propiedades de la interfaz del receptor
Tabla 6.
Restablecer roles de señal de entrada
Nombre asociadoReloj
Valor predeterminado
N / A
bordes sincrónicos
DESASTRE
Valores legales
Descripción
un nombre de reloj
El nombre de un reloj con el que está sincronizada esta interfaz. Obligatorio si el valor de synchronousEdges es DEASSERT o BOTH.
NINGUNO DESASTRE
AMBOS
Indica el tipo de sincronización que requiere la entrada de reinicio. Se definen los siguientes valores:
· NINGUNONo se requiere sincronización porque el componente incluye lógica para la sincronización interna de la señal de reinicio.
· DEASSERT la afirmación de reinicio es asincrónica y la desafirmación es sincrónica.
Tanto la afirmación como la desafirmación de BOTHreset son sincrónicas.
2.8. Interfaces de reinicio asociadas
Todas las interfaces sincrónicas tienen una propiedad Reset asociada que especifica qué señal de reinicio restablece la lógica de la interfaz.
2.9. Restablecer fuente
Tabla 7.
Restablecer funciones de señal de salida
La señal reset_req es una señal opcional que puede utilizar para evitar la corrupción del contenido de la memoria realizando un protocolo de enlace de reinicio antes de una afirmación de reinicio asincrónica.
Papel de la señal
Ancho
Dirección
Requerido
Descripción
restablecer restablecer_n
1
Producción
Sí
Restablece la lógica interna de una interfaz o componente
a un estado definido por el usuario.
restablecer_req
1
Producción
Opcional Habilita la generación de solicitudes de restablecimiento, que es una de las primeras
señal que se afirma antes de la afirmación de reinicio. Una vez
afirmado, esto no se puede desautorizar hasta que se restablezca
terminado.
Especificaciones de la interfaz Avalon® 10
Enviar comentarios
2. Interfaces de reloj y reinicio de Avalon 683091 | 2022.01.24
2.10. Restablecer las propiedades de la interfaz de origen
Tabla 8.
Restablecer propiedades de la interfaz
Nombre
Valor predeterminado
Valores legales
Descripción
Reloj asociado
N / A
un reloj
El nombre de un reloj al que se conecta esta interfaz.
nombre
sincronizado. Obligatorio si el valor de
synchronousEdges es DEASSERT o AMBOS.
reinicio directo asociado
N / A
un reinicio
El nombre de la entrada de reinicio que impulsa directamente esto
nombre
restablecer la fuente a través de un enlace uno a uno.
Sumideros de reinicio asociados
N / A
un reinicio
Especifica las entradas de reinicio que hacen que una fuente de reinicio
nombre
afirmar restablecer. Por ejemploample, un sincronizador de reinicio que
realiza una operación OR con múltiples entradas de reinicio para
generar una salida de reinicio.
bordes sincrónicos
DESASTRE
NINGUNO DESASTRE
AMBOS
Indica la sincronización de la salida de reinicio. Se definen los siguientes valores:
· NINGUNOLa interfaz de reinicio es asincrónica.
· DEASSERT la afirmación de reinicio es asincrónica y la desafirmación es sincrónica.
· Tanto la afirmación como la desafirmación de reinicio son sincrónicas.
Enviar comentarios
Especificaciones de la interfaz Avalon® 11
683091 | 2022.01.24 Enviar comentarios
3. Interfaces mapeadas en memoria de Avalon
3.1 Introducción a las interfaces mapeadas en memoria de Avalon
Puede utilizar interfaces Avalon Memory-Mapped (Avalon-MM) para implementar interfaces de lectura y escritura para componentes de host y agente. A continuación se muestran algunos ejemplos:ampLos componentes que normalmente incluyen interfaces mapeadas en memoria son: · Microprocesadores · Memorias · UART · DMA · Temporizadores Las interfaces Avalon-MM varían de simples a complejas. Por ejemplo,ampLas interfaces SRAM que tienen transferencias de lectura y escritura de ciclo fijo tienen interfaces Avalon-MM simples. Las interfaces segmentadas capaces de realizar transferencias en ráfagas son complejas.
Corporación Intel. Reservados todos los derechos. Intel, el logotipo de Intel y otras marcas de Intel son marcas comerciales de Intel Corporation o sus subsidiarias. Intel garantiza el rendimiento de sus productos semiconductores y FPGA según las especificaciones actuales de acuerdo con la garantía estándar de Intel, pero se reserva el derecho de realizar cambios en cualquier producto y servicio en cualquier momento sin previo aviso. Intel no asume ninguna responsabilidad que surja de la aplicación o el uso de cualquier información, producto o servicio descrito en este documento, excepto que Intel lo acuerde expresamente por escrito. Se recomienda a los clientes de Intel que obtengan la última versión de las especificaciones del dispositivo antes de confiar en cualquier información publicada y antes de realizar pedidos de productos o servicios. *Otros nombres y marcas pueden reclamarse como propiedad de otros.
ISO 9001: 2015 registrado
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
Figura 5.
Enfoque en las transferencias de agentes de Avalon-MM
La siguiente figura muestra un sistema típico, resaltando la conexión de la interfaz del agente Avalon-MM a la estructura de interconexión.
PHY Ethernet
Sistema Valon-MM
Procesador Avalon-MM
Anfitrión
MAC de Ethernet
Anfitrión Avalon-MM
Lógica personalizada
Anfitrión Avalon-MM
Interconectar
Agente Avalon-MM
Controlador de flash
Agente Avalon-MM
Controlador SRAM
Agente Avalon-MM
Controlador de RAM
Agente Avalon-MM
Unidad de control unidireccional (UART)
AvAavloanlon - MM SlaAvgeePnotrt
Lor personalizado
Lógica
Agente de conducto triestatal
Pasador de conducto triestado y puente de conducto triestado
Host de conducto triestado
Agente de conducto triestatal
Memoria Flash
Agente de conducto triestatal
Memoria SRAM
Memoria RAM
RS-232
Los componentes de Avalon-MM normalmente incluyen solo las señales necesarias para la lógica del componente.
Enviar comentarios
Especificaciones de la interfaz Avalon® 13
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
Figura 6.
ExampComponente del agente
El periférico de E/S de propósito general de 16 bits que se muestra en la siguiente figura solo responde a solicitudes de escritura. Este componente incluye únicamente las señales del agente necesarias para las transferencias de escritura.
Datos de escritura periféricos Avalon-MM[15..0] D
Solicitud-
Q
pio_out[15..0] Específico
Interfaz
Interfaz Avalon-MM
(Interfaz del agente de escritura Avalon-MM)
Clic
CLK_ES
Cada señal de un agente Avalon-MM corresponde exactamente a una función de señal de Avalon-MM. Una interfaz Avalon-MM puede utilizar solo una instancia de cada función de señal.
3.2. Funciones de la señal de la interfaz mapeada en memoria de Avalon
Los roles de señal definen los tipos de señales que permiten los puertos de agente y host mapeados en memoria de Avalon.
Esta especificación no requiere que todas las señales existan en una interfaz de memoria asignada de Avalon. No existe una señal que sea siempre necesaria. Los requisitos mínimos para una interfaz de memoria asignada de Avalon son readdata para una interfaz de solo lectura, o writedata y write para una interfaz de solo escritura.
La siguiente tabla enumera las funciones de señal para la interfaz mapeada en memoria de Avalon:
Tabla 9.
Roles de señales mapeados en la memoria de Avalon
Algunas señales mapeadas en memoria de Avalon pueden ser activas en nivel alto o activo en nivel bajo. Cuando son activas en nivel bajo, el nombre de la señal termina con _n.
Papel de la señal
Ancho
Dirección
Requerido
Descripción
DIRECCIÓN
1 – 64 Agente anfitrión
Se puede convertir en adolescente
2, 4, 8, 16,
32, 64, 128
Agente anfitrión
Señales fundamentales
No
Hosts: De forma predeterminada, la señal de dirección representa un byte
Dirección. El valor de la dirección debe alinearse con el ancho de los datos.
Para escribir bytes específicos dentro de una palabra de datos, el host debe usar
La señal que se puede convertir en bytes. Consulte la interfaz addressUnits
propiedad para direccionamiento de palabras.
Agentes: de forma predeterminada, la interconexión traduce la dirección de byte en una dirección de palabra en el espacio de direcciones del agente. Desde la perspectiva del agente, cada acceso del agente es para una palabra de datos.
Por ejemploample, address = 0 selecciona la primera palabra del agente. address = 1 selecciona la segunda palabra del agente. Consulte la propiedad de interfaz addressUnits para obtener información sobre el direccionamiento de bytes.
No
Habilita uno o más carriles de bytes específicos durante las transferencias en
Interfaces con un ancho mayor a 8 bits. Cada bit en byteenable
corresponde a un byte en writedata y readdata. El host
poco de byteenable indica si el byte esta siendo
continuado…
Especificaciones de la interfaz Avalon® 14
Enviar comentarios
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
Papel de la señal
debugaccess leer read_n readdata respuesta [1:0] escribir write_n writedata
Ancho
Dirección requerida
Descripción
escrito en. Durante las escrituras, los byteenables especifican en qué bytes se está escribiendo. El agente debe ignorar otros bytes. Durante las lecturas, los byteenables indican qué bytes está leyendo el host. Los agentes que simplemente devuelven readdata sin efectos secundarios pueden ignorar los byteenables durante las lecturas. Si una interfaz no tiene una señal byteenable, la transferencia continúa como si todos los byteenables estuvieran activados.
Cuando se afirma más de un bit de la señal byteenable, todos los carriles afirmados son adyacentes.
1
Agente anfitrión
No
Cuando se activa, permite que el procesador Nios II escriba en el chip.
Memorias configuradas como ROMs.
1
Agente anfitrión
No
Se afirma que se ha realizado una transferencia de lectura. Si está presente, se lee readdata.
requerido.
8, 16, Agente anfitrión
No
Los datos leídos se envían desde el agente al host en respuesta a
32,
una transferencia de lectura. Necesaria para interfaces que admiten lecturas.
64,
128,
256,
512,
1024
2
Agente anfitrión
No
La señal de respuesta es una señal opcional que transporta la
Estado de respuesta.
Nota: Debido a que la señal es compartida, una interfaz no puede emitir o aceptar una respuesta de escritura y una respuesta de lectura en el mismo ciclo de reloj.
· 00: OKAY–Respuesta exitosa para una transacción.
· 01: RESERVADO–La codificación está reservada.
· 10: SLVERR: error de un agente de punto final. Indica una transacción fallida.
· 11: DECODEERROR–Indica intento de acceso a una ubicación no definida.
Para respuestas leídas:
· Se envía una respuesta con cada lectura de datos. Una ráfaga de lectura de N veces la longitud da como resultado N respuestas. Menos respuestas no son válidas, incluso en caso de error. El valor de la señal de respuesta puede ser diferente para cada lectura de datos en la ráfaga.
· La interfaz debe tener señales de control de lectura. La compatibilidad con pipelines es posible con la señal readdatavalid.
· En caso de errores de lectura, los datos de lectura correspondientes son “no importa”.
Para escribir respuestas:
· Se debe enviar una respuesta de escritura por cada comando de escritura. Una ráfaga de escritura genera solo una respuesta, que se debe enviar después de que se acepte la transferencia de escritura final de la ráfaga.
· Si writeresponsevalid está presente, todos los comandos de escritura deben completarse con respuestas de escritura.
1
Agente anfitrión
No
Se afirma que se ha producido una transferencia de escritura. Si está presente, se escriben datos.
requerido.
8, 16, 32, 64, 128, 256, 512, 1024
Agente anfitrión
No
Datos para transferencias de escritura. El ancho debe ser el mismo que el
Ancho de los datos de lectura si ambos están presentes. Requerido para interfaces
Ese soporte escribe.
Señales de estado de espera
continuado…
Enviar comentarios
Especificaciones de la interfaz Avalon® 15
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
Bloqueo de rol de señal
solicitud de espera solicitud de espera_ n
leer datos de lectura d leer datos de lectura d_n
Respuesta del escritor válida
Ancho 1
1
1 1
Dirección requerida
Descripción
Agente anfitrión
No
El bloqueo garantiza que una vez que un host gana el arbitraje, el host ganador
Mantiene el acceso al agente para múltiples transacciones. Bloquear
afirma coincidente con la primera lectura o escritura de un bloqueado
secuencia de transacciones. Bloqueo deshabilitado en la última
transacción de una secuencia bloqueada de transacciones. afirmación de bloqueo
no garantiza que se gane el arbitraje. Después del bloqueo
afirmando que se ha concedido la concesión al host, dicho host conserva la concesión hasta
El bloqueo está desactivado.
Un host equipado con un bloqueo no puede ser un host de ráfaga. Los valores de prioridad de arbitraje para los host equipados con un bloqueo se ignoran.
El bloqueo es particularmente útil para operaciones de lectura-modificación-escritura (RMW). La operación típica de lectura-modificación-escritura incluye los siguientes pasos:
1. El host A afirma el bloqueo y lee datos de 32 bits que tienen múltiples campos de bits.
2. El host A desactiva el bloqueo, cambia un campo de bits y vuelve a escribir los datos de 32 bits.
El bloqueo impide que el host B realice una escritura entre la lectura y la escritura del host A.
Agente anfitrión
No
Un agente afirma una solicitud de espera cuando no puede responder a una
Solicitud de lectura o escritura. Obliga al host a esperar hasta que la solicitud
La interconexión está lista para continuar con la transferencia. Al inicio de
Todas las transferencias, un host inicia la transferencia y espera hasta que
La solicitud de espera se cancela. El host no debe hacer suposiciones
sobre el estado de afirmación de waitrequest cuando el host está inactivo:
La solicitud de espera puede ser alta o baja, dependiendo del sistema.
propiedades.
Cuando se activa la solicitud de espera, las señales de control del host al agente deben permanecer constantes, excepto la señal beginbursttransfer. Para ver un diagrama de tiempos que ilustra la señal beginbursttransfer, consulte la figura en Ráfagas de lectura.
Un agente de memoria asignada Avalon puede activar waitrequest durante ciclos inactivos. Un host de memoria asignada Avalon puede iniciar una transacción cuando se activa waitrequest y esperar a que se cancele esa señal. Para evitar el bloqueo del sistema, un dispositivo agente debe activar waitrequest cuando se reinicia.
Señales de tuberías
Agente anfitrión
No
Se utiliza para transferencias de lectura segmentadas y con latencia variable.
afirmado, indica que la señal readdata contiene datos válidos.
Para una ráfaga de lectura con valor de recuento de ráfagas , el
Se debe confirmar la señal readdatavalid veces, una vez por
Cada elemento de lectura de datos debe tener al menos un ciclo de latencia.
Entre la aceptación de la lectura y la afirmación de
readdatavalid. Para ver un diagrama de tiempos que ilustra la señal readdatavalid, consulte Transferencia de lectura segmentada con latencia variable.
Un agente puede afirmar readdatavalid para transferir datos al host independientemente de si el agente está deteniendo un nuevo comando con waitrequest.
Obligatorio si el host admite lecturas en secuencia. Los hosts con funcionalidad de lectura en ráfaga deben incluir la señal readdatavalid.
Agente anfitrión
No
Una señal opcional. Si está presente, la interfaz emite una señal de escritura.
respuestas para comandos de escritura.
Cuando se afirma, el valor de la señal de respuesta es una respuesta de escritura válida.
Writeresponsevalid solo se confirma un ciclo de reloj o más después de que se acepta el comando de escritura. Hay al menos una latencia de un ciclo de reloj desde la aceptación del comando hasta la confirmación de
respuestadelescritorvalida.
continuado…
Especificaciones de la interfaz Avalon® 16
Enviar comentarios
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
Papel de la señal
Ancho
Dirección requerida
Descripción
Un comando de escritura se considera aceptado cuando se emite el último latido de la ráfaga al agente y waitrequest es bajo. writeresponsevalid se puede afirmar uno o más ciclos de reloj después de que se haya emitido el último latido de la ráfaga.
recuento de ráfagas
1 11 Agente anfitrión
Señales de ráfaga
No
Utilizado por hosts en ráfaga para indicar la cantidad de transferencias en
Cada ráfaga. El valor del parámetro de conteo máximo de ráfagas
debe ser una potencia de 2. Una interfaz de conteo de ráfagas de ancho puede codificar una ráfaga máxima de tamaño 2( -1). Por ejemploample, un 4 bits
La señal burstcount puede admitir un conteo máximo de ráfagas de 8.
El número mínimo de ráfagas es 1.
La propiedad constantBurstBehavior controla el tiempo de la
Señal de conteo de ráfagas. Los hosts con funcionalidad de lectura deben
incluye la señal readdatavalid.
Para los hosts y agentes que utilizan direcciones de bytes, se aplica la siguiente restricción al ancho de la dirección:
>= +
registro2( )
Para los hosts y agentes que utilizan direcciones de palabras, se omite el término log2 anterior.
empezar a estallar
1
Interconectar
responder
Agente
No
Se afirma durante el primer ciclo de una ráfaga para indicar cuándo se produce una ráfaga.
La transferencia está comenzando. Esta señal se desactiva después de un ciclo.
Independientemente del valor de waitrequest. Para un diagrama de tiempos
Para ilustrar la transferencia de inicio de ráfaga, consulte la figura en Leer
Ráfagas.
beginbursttransfer es opcional. Un agente siempre puede calcular internamente el inicio de la siguiente transacción de ráfaga de escritura contando las transferencias de datos.
Advertencia: no utilice esta señal. Esta señal existe para dar soporte a los controladores de memoria heredados.
3.3 Propiedades de la interfaz
Tabla 10. Propiedades de la interfaz Avalon-MM
Nombre Dirección Unidades
Valor predeterminado
Símbolos del anfitrión Agente –
palabras
Valores legales
palabras, símbolos
Descripción
Especifica la unidad de direcciones. Un símbolo es normalmente un byte. Consulte la definición de dirección en la tabla Tipos de señales de interfaz asignada a memoria de Avalon para conocer el uso típico de esta propiedad.
siempreBurstMaxBurstráfagaconteoUnidades
palabras falsas
verdadero, falso
palabras, símbolos
Cuando es verdadero, indica que el host siempre emite la ráfaga de longitud máxima. La longitud máxima de ráfaga es 2burstcount_width – 1. Este parámetro no tiene efecto para las interfaces del agente Avalon-MM.
Esta propiedad especifica las unidades de la señal de recuento de ráfagas. En el caso de los símbolos, el valor de recuento de ráfagas se interpreta como la cantidad de símbolos (bytes) en la ráfaga. En el caso de las palabras, el valor de recuento de ráfagas se interpreta como la cantidad de transferencias de palabras en la ráfaga.
Ráfaga en límites de ráfaga solamente
FALSO
verdadero, falso
Si es verdadero, las transferencias en ráfagas presentadas a esta interfaz comienzan en direcciones que son múltiplos del tamaño máximo de ráfaga.
continuado…
Enviar comentarios
Especificaciones de la interfaz Avalon® 17
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
Nombre constanteBurstBehavior
holdTime(1) ráfagas de envoltura de línea
maximumPendingReadTransactions (1) (máximo de transacciones de lectura pendientes)
maximumPendingWriteTransactions latencia de respuesta mínima
Valor predeterminado Host -false Agente -false
0 falso
1(2)
0 1
Valores legales verdadero, falso
0 1000 ciclos
verdadero, falso
1 64
1 64
Descripción
Hosts: cuando es verdadero, declara que el host mantiene la dirección y el conteo de ráfagas constantes durante una transacción de ráfaga. Cuando es falso (predeterminado), declara que el host mantiene la dirección y el conteo de ráfagas constantes solo durante el primer latido de una ráfaga. Agentes: cuando es verdadero, declara que el agente espera que la dirección y el conteo de ráfagas se mantengan constantes durante una ráfaga. Cuando es falso (predeterminado), declara que el agente espera que la dirección y el conteo de ráfagas se mantengan constantes durante una ráfaga.amples address y burstcount solo en el primer tiempo de una ráfaga.
Especifica el tiempo en unidades de tiempo entre la anulación de la escritura y la anulación de la dirección y los datos. (Solo se aplica a transacciones de escritura).
Algunos dispositivos de memoria implementan una ráfaga envolvente en lugar de una ráfaga incremental. Cuando una ráfaga envolvente alcanza un límite de ráfaga, la dirección vuelve al límite de ráfaga anterior. Solo se requieren los bits de orden inferior para el conteo de direcciones. Por ejemplo,ampes decir, una ráfaga envolvente a la dirección 0xC con límites de ráfaga cada 32 bytes a través de una interfaz de 32 bits escribe en las siguientes direcciones: · 0xC · 0x10 · 0x14 · 0x18 · 0x1C · 0x0 · 0x4 · 0x8
Agentes: este parámetro es la cantidad máxima de lecturas pendientes que el agente puede poner en cola. El valor debe ser distinto de cero para cualquier agente con la señal readdatavalid.
Consulte Transferencia de lectura canalizada con latencia variable para ver un diagrama de tiempos que ilustra esta propiedad y para obtener información adicional sobre el uso de waitrequest y readdatavalid con múltiples lecturas pendientes.
Hosts: esta propiedad es el número máximo de transacciones de lectura pendientes que el host puede generar.
Nota: No establezca este parámetro en 0. (Para compatibilidad con versiones anteriores, el software admite una configuración de parámetro de 0. Sin embargo, no debe utilizar esta configuración en diseños nuevos).
La cantidad máxima de escrituras pendientes no publicadas que un agente puede aceptar o que un host puede emitir. Un agente activa waitrequest una vez que la interconexión alcanza este límite y el host deja de emitir comandos. El valor predeterminado es 0, lo que permite transacciones de escritura pendientes ilimitadas para un host que admita respuestas de escritura. Un agente que admita respuestas de escritura debe configurar este valor en un valor distinto de cero.
Para las interfaces que admiten readdatavalid o writeresponsevalid, especifica la cantidad mínima de ciclos entre un comando de lectura o escritura y la respuesta al comando.
continuado…
Especificaciones de la interfaz Avalon® 18
Enviar comentarios
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
Nombre readLatency(1) readWaitTime(1) setupTime(1) timingUnits(1) waitrequestAllowance
escribirTiempoDeEspera(1)
Reloj asociado
Valor predeterminado
Valores legales
Descripción
0
0 63
Latencia de lectura para agentes Avalon-MM de latencia fija. Para un
Diagrama de tiempo que utiliza una lectura de latencia fija, consulte
Transferencias de lectura canalizadas con latencia fija.
Los agentes Avalon-MM que tienen latencia fija deben proporcionar un valor para esta propiedad de interfaz. Agentes Avalon-MM
que tienen latencia variable utilizan la señal readdatavalid para especificar datos válidos.
1
0 1000 Para interfaces que no utilizan la solicitud de espera
ciclos
señal.readWaitTime indica el tiempo en
timingUnits antes de que los agentes acepten una lectura
Comando. El momento es como si el agente afirmara
solicitud de espera para ciclos readWaitTime.
0
0 1000 Especifica el tiempo en unidades de tiempo entre la afirmación
ciclos
de dirección y datos y afirmación de lectura o escritura.
ciclos
ciclos,
nanosegundo s
Especifica las unidades para setupTime, holdTime,
writeWaitTime y readWaitTime. Utilice ciclos para dispositivos sincrónicos y nanosegundos para dispositivos asincrónicos. Casi todos los dispositivos del agente Avalon-MM son sincrónicos.
Un componente Avalon-MM que establece un puente entre una interfaz de agente AvalonMM y un dispositivo externo al chip puede ser asincrónico. Ese dispositivo externo al chip puede tener un tiempo de establecimiento fijo para la respuesta del bus.
0
Especifica el número de transferencias que se pueden emitir o
Se acepta después de que se confirma la solicitud de espera.
Cuando el waitrequestAllowance es 0, la escritura,
Las señales de lectura y solicitud de espera mantienen su comportamiento existente como se describe en la tabla de roles de señales de Avalon-MM.
Cuando waitrequestAllowance es mayor que 0, cada ciclo de reloj en el que se activa la escritura o la lectura cuenta como una transferencia de comando. Una vez que se activa waitrequest, solo se permiten transferencias de comando waitrequestAllowance o más mientras waitrequest permanezca activado. Una vez que se alcanza waitrequestAllowance, la escritura y la lectura deben permanecer desactivadas mientras waitrequest permanezca activado.
Una vez que waitrequestdeasserts, las transferencias pueden reanudarse en cualquier momento sin restricciones hasta que waitrequest se afirme nuevamente. En este momento, waitrequestAllowance puede completar más transferencias mientras waitrequest permanezca afirmado.
0
0 1000 Para interfaces que no utilizan la solicitud de espera
Ciclos
señal, writeWaitTime especifica el tiempo en
timingUnits antes de que un agente acepte una escritura.
El tiempo es como si el agente solicitara una solicitud de espera para ciclos de writeWaitTime o nanosegundos.
Para ver un diagrama de tiempo que ilustra el uso de writeWaitTime, consulte Transferencias de lectura y escritura con estados de espera fijos.
Propiedades de la relación de interfaz
N / A
N / A
Nombre de la interfaz de reloj a la que se conecta este Avalon-MM
La interfaz es sincrónica.
continuado…
Enviar comentarios
Especificaciones de la interfaz Avalon® 19
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
Nombre
Valor predeterminado
Valores legales
Descripción
Reinicio asociado
N / A
N / A
Nombre de la interfaz de reinicio que restablece la lógica en
Esta interfaz Avalon-MM.
puentesAlHost
0
Avalon-MM Un puente Avalon-MM consta de un agente y un host,
Nombre de host y tiene la propiedad de tener acceso al agente.
en el
Solicitar un byte o bytes provoca el mismo byte o
mismo
bytes que debe solicitar el host. Avalon-MM
Componente Pipeline Bridge en el componente Platform Designer
La biblioteca implementa esta funcionalidad.
Notas:
1. Aunque esta propiedad caracteriza a un dispositivo agente, los hosts pueden declarar esta propiedad para habilitar conexiones directas entre las interfaces del host y del agente coincidentes.
2. Si una interfaz de agente acepta más transferencias de lectura de las permitidas, la interconexión pendiente de lectura FIFO puede desbordarse con resultados impredecibles. El agente puede perder datos de lectura o enrutarlos a la interfaz de host incorrecta. O bien, el sistema puede bloquearse. La interfaz de agente debe activar waitrequest para evitar este desbordamiento.
Información relacionada · Funciones de señal de la interfaz mapeada en memoria de Avalon en la página 14 · Respuestas de lectura y escritura en la página 34 · Transferencia de lectura canalizada con latencia variable en la página 28 · Transferencias de lectura canalizadas con latencia fija en la página 29 · Respuestas de lectura y escritura
Guía del usuario de Platform Designer: Intel Quartus® Prime Pro Edition
3.4. Tiempo
La interfaz Avalon-MM es sincrónica. Cada interfaz Avalon-MM está sincronizada con una interfaz de reloj asociada. Las señales pueden ser combinacionales si se controlan desde las salidas de registros que son sincrónicos con la señal de reloj. Esta especificación no dicta cómo ni cuándo las señales pasan de un flanco de reloj a otro. Los diagramas de temporización carecen de información de temporización detallada.
3.5. Transferencias
En esta sección se definen dos conceptos básicos antes de introducir los tipos de transferencia:
· Transferencia: una transferencia es una operación de lectura o escritura de una palabra o uno o más símbolos de datos. Las transferencias se producen entre una interfaz Avalon-MM y la interconexión. Las transferencias tardan uno o más ciclos de reloj en completarse.
Tanto los hosts como los agentes forman parte de una transferencia. El host de Avalon-MM inicia la transferencia y el agente de Avalon-MM responde.
· Par host-agente: este término se refiere a la interfaz host y a la interfaz agente involucradas en una transferencia. Durante una transferencia, las señales de control y datos de la interfaz host pasan a través de la estructura de interconexión e interactúan con la interfaz agente.
Especificaciones de la interfaz Avalon® 20
Enviar comentarios
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
3.5.1 Transferencias típicas de lectura y escritura
En esta sección se describe una interfaz típica de Avalon-MM que admite transferencias de lectura y escritura con waitrequest controlado por el agente. El agente puede detener la interconexión durante tantos ciclos como sea necesario activando la señal waitrequest. Si un agente utiliza waitrequest para transferencias de lectura o escritura, debe utilizar waitrequest para ambas.
Un agente normalmente recibe la dirección, los byteenables, los datos de lectura o escritura y los datos de escritura después del flanco ascendente del reloj. Un agente activa waitrequest antes del flanco ascendente del reloj para retrasar las transferencias. Cuando el agente activa waitrequest, la transferencia se retrasa. Mientras waitrequest está activa, la dirección y otras señales de control se mantienen constantes. Las transferencias se completan en el flanco ascendente del primer reloj después de que la interfaz del agente desactiva waitrequest.
No existe límite en cuanto al tiempo que puede detenerse una interfaz de agente. Por lo tanto, debe asegurarse de que una interfaz de agente no active waitrequest indefinidamente. La siguiente figura muestra transferencias de lectura y escritura mediante waitrequest.
Nota:
waitrequest se puede desacoplar de las señales de solicitud de lectura y escritura. waitrequest se puede activar durante ciclos inactivos. Un host Avalon-MM puede iniciar una transacción cuando se activa waitrequest y esperar a que se desactive esa señal. Desacoplar waitrequest de las solicitudes de lectura y escritura puede mejorar la sincronización del sistema. El desacoplamiento elimina un bucle combinacional que incluye las señales de lectura, escritura y waitrequest. Si se requiere un desacoplamiento aún mayor, utilice la propiedad waitrequestAllowance. waitrequestAllowance está disponible a partir de la versión de Quartus® Prime Pro v17.1 Stratix® 10 ES Editions.
Figura 7.
Leer y escribir transferencias con Waitrequest
1
2
Clic
3
4
5
DIRECCIÓN
DIRECCIÓN
Se puede convertir en adolescente
Se puede convertir en adolescente
leer escribir esperar solicitud leer datos
leer datos
respuesta
respuesta
escribir datos
6
7
escribir datos
Enviar comentarios
Especificaciones de la interfaz Avalon® 21
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
Los números en este diagrama de tiempo marcan las siguientes transiciones: 1. La dirección, la capacidad de byte y la lectura se confirman después del flanco ascendente de clk.
El agente afirma waitrequest, deteniendo la transferencia. 2. waitrequest es sampllevó. Debido a que se afirma waitrequest, el ciclo se convierte en
un estado de espera. La dirección, la lectura, la escritura y la capacidad de byte permanecen constantes. 3. El agente cancela la solicitud de espera después del flanco ascendente de clk. El agente confirma
readdata y respuesta. 4. El hostamples readdata, respuesta y solicitud de espera cancelada
completando la transferencia. 5. Las señales de dirección, writedata, byteenable y write se confirman después de la
flanco ascendente de clk. El agente confirma waitrequest y detiene la transferencia. 6. El agente cancela waitrequest después del flanco ascendente de clk. 7. El agente captura datos de escritura y finaliza la transferencia.
Especificaciones de la interfaz Avalon® 22
Enviar comentarios
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
3.5.2. Transferencias mediante la propiedad waitrequestAllowance
La propiedad waitrequestAllowance especifica la cantidad de transferencias que un host AvalonMM puede emitir o que un agente Avalon-MM debe aceptar después de que se activa la señal waitrequest. waitrequestAllowance está disponible a partir de la versión de software Intel Quartus Prime 17.1.
El valor predeterminado de waitrequestAllowance es 0, que corresponde al comportamiento descrito en Transferencias de lectura y escritura típicas, donde la afirmación waitrequest impide que se emita o acepte la transferencia actual.
Un agente Avalon-MM con un waitrequestAllowance mayor que 0 normalmente activaría waitrequest cuando su búfer interno solo puede aceptar waitrequestAllowance más entradas antes de llenarse. Los hosts Avalon-MM con un waitrequestAllowance mayor que 0 tienen waitrequestAllowance ciclos adicionales para dejar de enviar transferencias, lo que permite más canalización en la lógica del host. El host debe anular la activación de la señal de lectura o escritura cuando se ha agotado el waitrequestAllowance.
Los valores de waitrequestAllowance mayores que 0 admiten un diseño de alta velocidad en el que las formas inmediatas de contrapresión pueden provocar una caída en la frecuencia máxima de funcionamiento (FMAX), a menudo debido a la lógica combinatoria en la ruta de control. Un agente Avalon-MM debe admitir todos los tiempos de transferencia posibles que sean legales para su valor waitrequestAllowance. Por ejemplo,ampes decir, un agente con waitrequestAllowance = 2 debe poder aceptar cualquiera de las formas de onda de transferencia de host que se muestran en el siguiente ejemplo.ampLes.
Información relacionada Transferencias de lectura y escritura típicas en la página 21
3.5.2.1. waitrequestAllowance es igual a dos
El siguiente diagrama de tiempo ilustra el tiempo para un host Avalon-MM que tiene dos ciclos de reloj para iniciar y detener el envío de transferencias después de que el agente Avalon-MM anula o afirma la solicitud de espera, respectivamente.
Figura 8. Escritura del host: waitrequestAllowance equivale a dos ciclos de reloj
1 2
3 4
5
6
reloj
escribir
solicitud de espera
datos[7:0]
A0A1A2
A3A4
B0 B1
B3
Enviar comentarios
Especificaciones de la interfaz Avalon® 23
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
Los marcadores en esta figura marcan los siguientes eventos:
1. Las unidades host Avalon-MM> escriben y dan datos.
2. El agente Avalon-MM> confirma waitrequest. Debido a que waitrequestAllowance es 2, el host puede completar las 2 transferencias de datos adicionales.
3. El host cancela la escritura como requerida porque el agente está confirmando la solicitud de espera para un tercer ciclo.
4. El host Avalon-MM> escribe y envía datos. El agente no está confirmando la solicitud de espera. La escritura se completa.
5. El host Avalon ejecuta la escritura y los datos a pesar de que el agente está activando waitrequest. Debido a que waitrequestAllowance es de 2 ciclos, la escritura se completa.
6. El host de Avalon controla la escritura y los datos. El agente no está confirmando la solicitud de espera. La escritura se completa.
3.5.2.2. waitrequestAllowance es igual a uno
El siguiente diagrama de tiempo ilustra el tiempo para un host Avalon-MM que tiene un ciclo de reloj para iniciar y detener el envío de transferencias después de que el agente Avalon-MM anula o confirma la solicitud de espera, respectivamente:
Figura 9. Escritura del host: waitrequestAllowance equivale a un ciclo de reloj
1 clk
23 4
5
6 7
8
escribir
solicitud de espera
datos[7:0]
A0A1A2
A3A4
B0
B1 B2
B3
Los números en esta figura marcan los siguientes eventos:
1. Las unidades host Avalon-MM escriben y registran datos.
2. El agente Avalon-MM confirma waitrequest. Como waitrequestAllowance es 1, el host puede completar la escritura.
3. El host cancela la escritura porque el agente está confirmando la solicitud de espera para un segundo ciclo.
4. El host Avalon-MM controla la escritura y los datos. El agente no está confirmando la solicitud de espera. La escritura se completa.
5. El agente confirma waitrequest. Como waitrequestAllowance es de 1 ciclo, la escritura se completa.
Especificaciones de la interfaz Avalon® 24
Enviar comentarios
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
6. Las unidades host de Avalon-MM escriben datos. El agente no está confirmando la solicitud de espera. La escritura se completa.
7. El agente Avalon-MM confirma la solicitud de espera. Como la opción waitrequestAllowance es 1, el host puede completar una transferencia de datos adicional.
8. El host de Avalon controla la escritura y los datos. El agente no está confirmando la solicitud de espera. La escritura se completa.
3.5.2.3. waitrequestAllowance es igual a dos: no recomendado
El siguiente diagrama ilustra el tiempo para un host Avalon-MM> que puede enviar dos transferencias después de que se confirma la solicitud de espera.
Este horario es legal, pero no se recomienda. En este caso,ampEl host cuenta la cantidad de transacciones en lugar de la cantidad de ciclos de reloj. Este enfoque requiere un contador que hace que la implementación sea más compleja y puede afectar el cierre de tiempo.
Cuando el host determina cuándo impulsar transacciones con la señal de solicitud de espera y una cantidad constante de ciclos, el host inicia o detiene las transacciones en función de las señales registradas.
Figura 10. waitrequestAllowance equivale a dos transferencias
1 23 horas
45
6
7
escribir
solicitud de espera
datos
Los números en esta figura marcan los siguientes eventos: 1. El host Avalon-MM> confirma la escritura y envía datos.
2. El agente Avalon-MM> confirma la solicitud de espera.
3. El host Avalon-MM> controla la escritura y los datos. Debido a que el valor de waitrequestAllowance es 2, el host controla los datos en 2 ciclos consecutivos.
4. El host Avalon-MM> cancela la escritura porque ha gastado la asignación de solicitud de espera de 2 transferencias.
5. El host Avalon-MM> emite una escritura tan pronto como se cancela la solicitud de espera.
6. El host Avalon-MM> controla la escritura y los datos. El agente confirma la solicitud de espera durante 1 ciclo.
7. En respuesta a la solicitud de espera, el host Avalon-MM> retiene los datos durante 2 ciclos.
3.5.2.4. Compatibilidad de waitrequestAllowance con las interfaces de host y agente de Avalon-MM
Los hosts y agentes de Avalon-MM que admiten la señal waitrequest admiten contrapresión. Los hosts con contrapresión siempre pueden conectarse a agentes sin contrapresión. Los hosts sin contrapresión no pueden conectarse a agentes con contrapresión.
Enviar comentarios
Especificaciones de la interfaz Avalon® 25
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
Tabla 11. Compatibilidad de waitrequestAllowance para hosts y agentes de Avalon-MM
Solicitud de espera de anfitrión y agente
Compatibilidad
host = 0 agente = 0
host = 0 agente > 0
Sigue las mismas reglas de compatibilidad que las interfaces Avalon-MM estándar.
No es posible establecer conexiones directas. Para el caso de un host con señal waitrequest, es necesario realizar una adaptación sencilla. No es posible establecer una conexión si el host no admite la señal waitrequest.
host > 0 agente = 0
anfitrión > 0 agente > 0
No es posible realizar conexiones directas. Se requiere adaptación (buffers) al conectarse a un agente con una señal de solicitud de espera o estados de espera fijos.
No se requiere ninguna adaptación si la tolerancia del host es menor que la tolerancia del agente. Si la tolerancia del host es menor que la tolerancia del agente, se pueden insertar registros de canalización. Para las conexiones punto a punto, puede agregar los registros de canalización en las señales de comando o en las señales de waitrequest. Hasta registrarse stages se puede insertar donde es la diferencia entre las asignaciones. Para conectar un host con una asignación de waitrequest mayor que la del agente, se requiere almacenamiento en búfer.
3.5.2.5. Condiciones de error de waitrequestAllowance
El comportamiento es impredecible si una interfaz Avalon-MM viola la especificación de permiso de solicitud de espera.
· Si un host viola el waitrequestAllowance = especificación mediante el envío de más de transferencias, las transferencias pueden interrumpirse o pueden producirse daños en los datos.
· Si un agente anuncia un límite de espera mayor al posible, es posible que se cancelen algunas transferencias o que se produzcan daños en los datos.
3.5.3 Transferencias de lectura y escritura con estados de espera fijos
Un agente puede especificar estados de espera fijos mediante las propiedades readWaitTime y writeWaitTime. El uso de estados de espera fijos es una alternativa al uso de waitrequest para detener una transferencia. La dirección y las señales de control (byteenable, read y write) se mantienen constantes durante la transferencia. Establecer readWaitTime o writeWaitTime en es equivalente a afirmar waitrequest para ciclos por transferencia.
En la siguiente figura, el agente tiene writeWaitTime = 2 y readWaitTime = 1.
Especificaciones de la interfaz Avalon® 26
Enviar comentarios
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
Figura 11.
Transferencia de lectura y escritura con estados de espera fijos en la interfaz del agente
1
2
3
4
5
Clic
DIRECCIÓN
DIRECCIÓN
DIRECCIÓN
Se puede convertir en adolescente
Se puede convertir en adolescente
leer
escribir respuesta readdata writedata
respuesta de readdata
escribir datos
Los números en este diagrama de tiempo marcan las siguientes transiciones:
1. El host afirma la dirección y lee en el flanco ascendente de clk.
2. El siguiente flanco ascendente de clk marca el final del primer y único ciclo de estado de espera. El readWaitTime es 1.
3. El agente confirma la lectura de datos y la respuesta en el flanco ascendente de clk. La transferencia de lectura finaliza.
4. Las señales writedata, address, byteenable y write están disponibles para el agente.
5. La transferencia de escritura finaliza después de 2 ciclos de estado de espera.
Las transferencias con un solo estado de espera se utilizan comúnmente para periféricos externos multiciclo. El periférico captura las señales de dirección y control en el flanco ascendente del reloj. El periférico tiene un ciclo completo para devolver datos.
Se permiten componentes con cero estados de espera. Sin embargo, los componentes con cero estados de espera pueden reducir la frecuencia alcanzable. Los cero estados de espera requieren que el componente genere la respuesta en el mismo ciclo en el que se presentó la solicitud.
3.5.4. Transferencias por canalización
Las transferencias de lectura en secuencia de Avalon-MM aumentan el rendimiento de los dispositivos de agente sincrónico que requieren varios ciclos para devolver datos para el primer acceso. Estos dispositivos normalmente pueden devolver un valor de datos por ciclo durante algún tiempo a partir de entonces. Las nuevas transferencias de lectura en secuencia pueden comenzar antes de que se devuelvan los datos de lectura de las transferencias anteriores.
Una transferencia de lectura en pipeline tiene una fase de dirección y una fase de datos. Un host inicia una transferencia presentando la dirección durante la fase de dirección. Un agente completa la transferencia entregando los datos durante la fase de datos. La fase de dirección para una nueva transferencia (o transferencias múltiples) puede comenzar antes de que se complete la fase de datos de una transferencia anterior. La demora se denomina latencia de pipeline. La latencia de pipeline es la duración desde el final de la fase de dirección hasta el comienzo de la fase de datos.
Enviar comentarios
Especificaciones de la interfaz Avalon® 27
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
Los tiempos de transferencia para estados de espera y latencia de canalización tienen las siguientes diferencias clave:
· Estados de espera: los estados de espera determinan la duración de la fase de dirección. Los estados de espera limitan el rendimiento máximo de un puerto. Si un agente requiere un estado de espera para responder a una solicitud de transferencia, el puerto requiere dos ciclos de reloj por transferencia.
· Latencia de la canalización: la latencia de la canalización determina el tiempo que transcurre hasta que se devuelven los datos independientemente de la fase de dirección. Un agente canalizado sin estados de espera puede mantener una transferencia por ciclo. Sin embargo, el agente puede requerir varios ciclos de latencia para devolver la primera unidad de datos.
Se pueden admitir lecturas en estado de espera y en secuencia de forma simultánea. La latencia de la secuencia de comandos puede ser fija o variable.
3.5.4.1. Transferencia de lectura segmentada con latencia variable
Después de capturar las señales de dirección y control, un agente canalizado Avalon-MM tarda uno o más ciclos en generar datos. Un agente canalizado puede tener múltiples transferencias de lectura pendientes en un momento dado.
Transferencias de lectura canalizadas con latencia variable:
· Requiere una señal adicional, readdatavalid, que indica cuándo los datos leídos son válidos.
· Incluir el mismo conjunto de señales que las transferencias de lectura no canalizadas.
En las transferencias de lectura canalizadas con latencia variable, los periféricos del agente que utilizan readdatavalid se consideran canalizados con latencia variable. Las señales readdata y readdatavalid correspondientes a un comando de lectura se pueden activar en el ciclo posterior a la activación de ese comando de lectura, como mínimo.
El agente debe devolver readdata en el mismo orden en que se aceptan los comandos de lectura. Los puertos de agente canalizados con latencia variable deben usar waitrequest. El agente puede activar waitrequest para detener las transferencias y mantener una cantidad aceptable de transferencias pendientes. Un agente puede activar readdatavalid para transferir datos al host independientemente de si el agente está deteniendo un nuevo comando con waitrequest.
Nota:
La cantidad máxima de transferencias pendientes es una propiedad de la interfaz del agente. La estructura de interconexión crea una lógica para enrutar readdata a los hosts solicitantes utilizando esta cantidad. La interfaz del agente, no la estructura de interconexión, debe realizar un seguimiento de la cantidad de lecturas pendientes. El agente debe activar waitrequest para evitar que la cantidad de lecturas pendientes supere la cantidad máxima. Si un agente tiene waitrequestAllowance > 0, el agente debe activar waitrequest con la suficiente anticipación para que la cantidad total de transferencias pendientes, incluidas las aceptadas mientras waitrequest está activado, no supere la cantidad máxima de transferencias pendientes especificada.
Especificaciones de la interfaz Avalon® 28
Enviar comentarios
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
Figura 12.
Transferencias de lectura canalizadas con latencia variable
La siguiente figura muestra varias transferencias de lectura del agente. El agente está segmentado con latencia variable. En esta figura, el agente puede aceptar un máximo de dos transferencias pendientes. El agente utiliza waitrequest para evitar sobrepasar este máximo.
1
2
34
5
6
78
9
10
11
Clic
DIRECCIÓN
dirección1
dirección2
dirección3
dirección4
dirección5
leer
solicitud de espera
leer datos leer datos válidos
datos 1
datos2
datos 3
datos4
datos5
Los números en este diagrama de tiempo marcan las siguientes transiciones:
1. El host afirma la dirección y la lee, iniciando una transferencia de lectura.
2. El agente captura addr1.
3. El agente captura addr2.
4. El agente afirma la solicitud de espera porque ya ha aceptado un máximo de dos lecturas pendientes, lo que provoca que la tercera transferencia se detenga.
5. El agente confirma data1, la respuesta a addr1. El agente cancela waitrequest.
6. El agente captura addr3. La interconexión captura data1.
7. El agente captura addr4. La interconexión captura data2.
8. El agente ejecuta readdatavalid y readdata en respuesta a la tercera transferencia de lectura.
9. El agente captura addr5. La interconexión captura data3. Se cancela la señal de lectura. El valor de waitrequest ya no es relevante.
10. La interconexión captura datos4.
11. El agente controla data5 y afirma readdatavalid completando la fase de datos para la transferencia de lectura pendiente final.
Si el agente no puede gestionar una transferencia de escritura mientras procesa transferencias de lectura pendientes, debe activar waitrequest y detener la operación de escritura hasta que se completen las transferencias de lectura pendientes. La especificación Avalon-MM no define el valor de readdata en caso de que un agente acepte una transferencia de escritura a la misma dirección que una transferencia de lectura pendiente.
3.5.4.2. Transferencias de lectura segmentadas con latencia fija
La fase de dirección para transferencias de lectura con latencia fija es idéntica al caso de latencia variable. Después de la fase de dirección, una secuencia con latencia de lectura fija tarda una cantidad fija de ciclos de reloj en devolver datos de lectura válidos. La propiedad readLatency especifica la cantidad de ciclos de reloj necesarios para devolver datos de lectura válidos. La interconexión captura datos de lectura en el flanco ascendente del reloj correspondiente, lo que finaliza la fase de datos.
Enviar comentarios
Especificaciones de la interfaz Avalon® 29
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
Durante la fase de dirección, el puede afirmar waitrequest para suspender la transferencia. O bien, especifica readLatency para una cantidad fija de estados de espera. La fase de dirección finaliza en el siguiente flanco ascendente de clk después de los estados de espera, si los hay.
Durante la fase de datos, las unidades leen los datos después de una latencia fija. Para una latencia de lectura de , debe presentar datos de lectura válidos en el flanco ascendente de clk después del final de la fase de dirección.
Figura 13.
Transferencia de lectura segmentada con latencia fija de dos ciclos
La siguiente figura muestra varias transferencias de datos entre un host y un dispositivo canalizado. Las unidades esperan una solicitud para detener las transferencias y tienen una latencia de lectura fija de 2 ciclos.
12
3
45
6
Clic
DIRECCIÓN
dirección1
dirección2 dirección3
leer
solicitud de espera
leer datos
datos1
datos2 datos3
Los números en este diagrama de tiempo marcan las siguientes transiciones: 1. Un host inicia una transferencia de lectura al afirmar read y addr1. 2. Afirma waitrequest para suspender la transferencia durante un ciclo. 3. Captura addr1 en el flanco ascendente de clk. La fase de dirección termina aquí. 4. Presenta datos de lectura válidos después de 2 ciclos, finalizando la transferencia. 5. Se afirman addr2 y read para una nueva transferencia de lectura. 6. El host inicia una tercera transferencia de lectura durante el siguiente ciclo, antes de que los datos de
Se devuelve la transferencia anterior.
3.5.5 Transferencias en ráfaga
Una ráfaga ejecuta múltiples transferencias como una unidad, en lugar de tratar cada palabra de forma independiente. Las ráfagas pueden aumentar el rendimiento de los puertos de agente que logran una mayor eficiencia al manejar varias palabras a la vez, como SDRAM. El efecto neto de la ráfaga es bloquear el arbitraje durante la duración de la ráfaga. Una interfaz Avalon-MM con ráfagas que admita tanto lecturas como escrituras debe admitir ráfagas tanto de lectura como de escritura.
Las interfaces de Avalon-MM con capacidad de ráfaga incluyen una señal de salida de recuento de ráfagas. Si un agente tiene una entrada de recuento de ráfagas, el agente tiene capacidad de ráfaga.
La señal burstcount se comporta de la siguiente manera:
· Al comienzo de una ráfaga, burstcount presenta el número de transferencias secuenciales en la ráfaga.
· Para ancho de burstcount, la longitud máxima de ráfaga es 2( -1).La longitud mínima legal de ráfaga es uno.
Especificaciones de la interfaz Avalon® 30
Enviar comentarios
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
Para admitir ráfagas de lectura del agente, un agente también debe admitir:
· Estados de espera con la señal waitrequest.
· Transferencias canalizadas con latencia variable con la señal readdatavalid.
Al comienzo de una ráfaga, el agente ve la dirección y un valor de longitud de ráfaga en burstcount. Para una ráfaga con una dirección de y un valor de burstcount de , el agente debe realizar transferencias consecutivas comenzando en la dirección . La ráfaga se completa después de que el agente recibe (escribe) o devuelve (lee) la Palabra de datos. El agente de ráfaga debe capturar la dirección y el número de ráfagas solo una vez por cada ráfaga. La lógica del agente debe inferir la dirección de todas las transferencias, excepto la primera, de la ráfaga. Un agente también puede usar la señal de entrada beginbursttransfer, que la interconexión activa en el primer ciclo de cada ráfaga.
3.5.5.1. Ráfagas de escritura
Estas reglas se aplican cuando una ráfaga de escritura comienza con un número de ráfagas mayor que uno:
· Cuando se produce un recuento de ráfagas de se presenta al inicio de la ráfaga, el agente debe aceptar unidades sucesivas de datos de escritura para completar la ráfaga. El arbitraje entre el par host-agente permanece bloqueado hasta que se completa la ráfaga. Este bloqueo garantiza que ningún otro host pueda ejecutar transacciones en el agente hasta que se complete la ráfaga de escritura.
· El agente solo debe capturar datos de escritura cuando se realizan afirmaciones de escritura. Durante la ráfaga, el host puede anular la afirmación de escritura indicando que los datos de escritura no son válidos. La anulación de la afirmación de escritura no finaliza la ráfaga. La anulación de la afirmación de escritura retrasa la ráfaga y ningún otro host puede acceder al agente, lo que reduce la eficiencia de la transferencia.
· El agente retrasa una transferencia al afirmar waitrequest y obliga a que writedata, write, burstcount y byteenable se mantengan constantes.
· La funcionalidad de la señal byteenable es la misma para los agentes con y sin ráfagas. Para una escritura en ráfagas de un host de 32 bits en un agente de 64 bits, comenzando en la dirección de byte 4, la primera transferencia de escritura que ve el agente está en su dirección 0, con byteenable = 8'b11110000. Los byteenables pueden cambiar para diferentes palabras de la ráfaga.
· No es necesario que todas las señales que se pueden convertir en bytes estén confirmadas. Un host de ráfaga que escriba palabras parciales puede usar la señal que se puede convertir en byte para identificar los datos que se están escribiendo.
· Las escrituras con señales byteenables que son todas 0 simplemente se pasan al agente AvalonMM como transacciones válidas.
· La propiedad constantBurstBehavior especifica el comportamiento de las señales de ráfaga.
— Cuando constantBurstBehavior es verdadero para un host, el host mantiene la dirección y el conteo de ráfagas estables durante una ráfaga. Cuando es verdadero para un agente, constantBurstBehavior declara que el agente espera que la dirección y el conteo de ráfagas se mantengan estables durante una ráfaga.
— Cuando constantBurstBehavior es falso, el host mantiene la dirección y el conteo de ráfagas estables solo para la primera transacción de una ráfaga. Cuando constantBurstBehavior es falso, el agente samples address y burstcount solo en la primera transacción de una ráfaga.
Enviar comentarios
Especificaciones de la interfaz Avalon® 31
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
Figura 14.
Escritura en ráfaga con constantBurstBehavior establecido en Falso para el host y el agente
La siguiente figura muestra una ráfaga de escritura de agente de longitud 4. En este ejemploampes decir, el agente activa waitrequest dos veces, retrasando la ráfaga.
12
3
4
5
67
8
Clic
DIRECCIÓN
dirección1
transferencia de inicio de ráfaga
recuento de ráfagas
4
escribir
escribir datos
datos1
datos2
datos3
datos4
solicitud de espera
Los números en este diagrama de tiempo marcan las siguientes transiciones:
1. El host confirma la dirección, el conteo de ráfagas, escribe y maneja la primera unidad de datos de escritura.
2. El agente inmediatamente activa la solicitud de espera, indicando que no está listo para continuar con la transferencia.
3. La solicitud de espera es baja. El agente captura addr1, burstcount y la primera unidad de datos de escritura. En los ciclos subsiguientes de la transferencia, se ignoran la dirección y el burstcount.
4. El agente captura la segunda unidad de datos en el borde ascendente de clk.
5. La ráfaga se pausa mientras se cancela la escritura.
6. El agente captura la tercera unidad de datos en el borde ascendente de clk.
7. El agente activa la función waitrequest. En respuesta, todas las salidas se mantienen constantes durante otro ciclo de reloj.
8. El agente captura la última unidad de datos en este flanco ascendente de clk. La ráfaga de escritura del agente finaliza.
En la figura anterior, la señal beginbursttransfer se activa durante el primer ciclo de reloj de una ráfaga y se desactiva durante el siguiente ciclo de reloj. Incluso si el agente activa waitrequest, la señal beginbursttransfer solo se activa durante el primer ciclo de reloj.
Información relacionada
Propiedades de la interfaz en la página 17
3.5.5.2. Lectura en ráfagas
Las ráfagas de lectura son similares a las transferencias de lectura canalizadas con latencia variable. Una ráfaga de lectura tiene fases de datos y direcciones diferenciadas. readdatavalid indica cuándo el agente presenta datos de lectura válidos. A diferencia de las transferencias de lectura canalizadas, una única dirección de ráfaga de lectura da como resultado múltiples transferencias de datos.
Especificaciones de la interfaz Avalon® 32
Enviar comentarios
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
Estas reglas se aplican a las ráfagas de lectura:
· Cuando un host se conecta directamente a un agente, se genera un recuento de ráfagas de significa que el agente debe regresar palabras de readdata para completar la ráfaga. En los casos en que la interconexión vincula el par de host y agente, la interconexión puede suprimir los comandos de lectura enviados desde el host al agente. Por ejemploampPor ejemplo, si el host envía un comando de lectura con un valor byteenable de 0, la interconexión puede suprimir la lectura. Como resultado, el agente no responde al comando de lectura.
· El agente presenta cada palabra proporcionando readdata y afirmando readdatavalid durante un ciclo. La anulación de readdatavalid demora pero no termina la fase de ráfaga de datos.
· Para lecturas con un número de ráfagas > 1, Intel recomienda habilitar todos los bytes que se pueden aceptar.
Nota:
Intel recomienda que los agentes con capacidad de ráfaga no tengan efectos secundarios de lectura. (Esta especificación no garantiza cuántos bytes lee un host del agente para satisfacer una solicitud).
Figura 15.
Leer ráfaga
La siguiente figura ilustra un sistema con dos hosts que acceden a un agente. Tenga en cuenta que el host B puede controlar
una solicitud de lectura antes de que los datos hayan regresado al Host A.
1
23
45
6
Clic
Dirección A0 (Host A) Host A1 (B)
leer
transferencia de inicio de ráfaga
solicitud de espera
recuento de ráfagas
4
2
leer datos validos
leer datos
D(A0)D(A0+1) D(A0+2D)(A0+3)D(A1)D(A1+1)
Los números en este diagrama de tiempo marcan las siguientes transiciones:
1. El host A confirma la dirección (A0), el recuento de ráfagas y la lectura después del flanco ascendente de clk. El agente confirma la solicitud de espera, lo que hace que todas las entradas, excepto beginbursttransfer, se mantengan constantes durante otro ciclo de reloj.
2. El agente captura A0 y burstcount en este flanco ascendente del ciclo. Una nueva transferencia podría comenzar en el siguiente ciclo.
3. El host B controla la dirección (A1), el recuento de ráfagas y la lectura. El agente activa waitrequest, lo que hace que todas las entradas, excepto beginbursttransfer, se mantengan constantes. El agente podría haber devuelto los datos de lectura de la primera solicitud de lectura en este momento, como mínimo.
Enviar comentarios
Especificaciones de la interfaz Avalon® 33
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
4. El agente presenta readdata válido y afirma readdatavalid, transfiriendo la primera palabra de datos para el host A.
5. Se transfiere la segunda palabra para el host A. El agente cancela la confirmación de readdatavalid y pausa la ráfaga de lectura. El puerto del agente puede mantener cancelada la confirmación de readdatavalid durante una cantidad arbitraria de ciclos de reloj.
6. Se devuelve la primera palabra para el host B.
3.5.5.3. Ráfagas envueltas en línea
Los procesadores con cachés de instrucciones ganan eficiencia al utilizar ráfagas de ajuste de línea. Cuando un procesador solicita datos que no están en la caché, el controlador de caché debe rellenar toda la línea de caché. Para un procesador con un tamaño de línea de caché de 64 bytes, una falla de caché hace que se lean 64 bytes de la memoria. Si el procesador lee desde la dirección 0xC cuando se produjo la falla de caché, entonces un controlador de caché ineficiente podría emitir una ráfaga en la dirección 0, lo que daría como resultado datos de las direcciones de lectura 0x0, 0x4, 0x8, 0xC, 0x10, 0x14, 0x18, . . . 0x3C. Los datos solicitados no están disponibles hasta la cuarta lectura. Con ráfagas de ajuste de línea, el orden de direcciones es 0xC, 0x10, 0x14, 0x18, . . . 0x3C, 0x0, 0x4 y 0x8. Los datos solicitados se devuelven primero. Toda la línea de caché finalmente se rellena desde la memoria.
3.5.6. Leer y escribir respuestas
En cualquier agente de Avalon-MM, los comandos deben procesarse de manera que no presenten riesgos. Las respuestas de lectura y escritura se emiten en el orden en que se aceptaron los comandos.
3.5.6.1. Orden de transacción para respuestas de lectura y escritura de Avalon-MM (hosts y agentes)
Para cualquier host Avalon-MM: · Las especificaciones de la interfaz de Avalon garantizan que los comandos al mismo agente
· Los comandos llegan al agente en el orden en que se emiten los comandos y el agente responde en el orden en que se emiten. · Diferentes agentes pueden recibir y responder a los comandos en un orden diferente al que el host los emite. Cuando es exitoso, el agente responde en el orden en que se emiten los comandos. · Las respuestas (si están presentes) regresan en el orden en que se emiten los comandos, independientemente de si los comandos de lectura o escritura son para el mismo agente o para agentes diferentes. · Las especificaciones de la interfaz de Avalon no garantizan el orden de las transacciones entre diferentes hosts.
3.5.6.2. Diagrama de tiempos de respuesta de lectura y escritura de Avalon-MM
El siguiente diagrama muestra el orden de aceptación y emisión de comandos para las respuestas de lectura y escritura de Avalon-MM. Debido a que las interfaces de lectura y escritura comparten la señal de respuesta, una interfaz no puede emitir o aceptar una respuesta de escritura y una respuesta de lectura en el mismo ciclo de reloj.
Leer respuestas, enviar una respuesta por cada dato leído. Una ráfaga de lectura de longitud de resultados en respuestas.
Especificaciones de la interfaz Avalon® 34
Enviar comentarios
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
Respuestas de escritura: envíe una respuesta por cada comando de escritura. Una ráfaga de escritura genera solo una respuesta. La interfaz del agente envía la respuesta después de aceptar la transferencia de escritura final en la ráfaga. Cuando una interfaz incluye la señal writeresponsevalid, todos los comandos de escritura deben completarse con respuestas de escritura.
Figura 16. Diagrama de tiempos de respuesta de lectura y escritura de Avalon-MM
Clic
DIRECCIÓN
R0
W0
W1
R1
leer
escribir
leer datos validos
respuesta del escritor válida
respuesta
R0
W0
W1
R1
3.5.6.2.1. Diagrama de tiempo de latencia de respuesta mínima con readdatavalid o writeresponsevalid
Para las interfaces con readdatavalid o writeresponsevalid, el valor predeterminado de un minimumResponseLatency de un ciclo puede generar dificultades en el tiempo de cierre en los hosts Avalon-MM.
Los siguientes diagramas de tiempo muestran el comportamiento para una latencia de respuesta mínima de 1 o 2 ciclos. Tenga en cuenta que la latencia de respuesta real también puede ser mayor que el valor mínimo permitido, como lo ilustran estos diagramas de tiempo.
Figura 17. minimumResponseLatency es igual a un ciclo
Clk leer
leer datos válidos
Latencia mínima de respuesta de 1 ciclo
Figura 18. minimumResponseLatency es igual a dos ciclos clk
leer 2 ciclos mínimoResponseLatency
leer datos válidos
Compatibilidad
Las interfaces con la misma minimumResponseLatency son interoperables sin ninguna adaptación. Si el host tiene una minimumResponseLatency más alta que el agente, utilice registros de canalización para compensar las diferencias. Los registros de canalización deben
Enviar comentarios
Especificaciones de la interfaz Avalon® 35
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
Retraso en la lectura de datos del agente. Si el agente tiene una latencia de respuesta mínima mayor que el host, las interfaces son interoperables sin necesidad de adaptación.
3.6. Alineación de direcciones
La interconexión solo admite accesos alineados. Un host solo puede emitir direcciones que sean un múltiplo de su ancho de datos en símbolos. Un host puede escribir palabras parciales anulando algunos byteenables. Por ejemploampes decir, los bytes convertibles de una escritura de 2 bytes en la dirección 2 son 4'b1100.
3.7. Direccionamiento del agente Avalon-MM
El dimensionamiento dinámico del bus administra los datos durante las transferencias entre pares de host y agente con distintos anchos de datos. Los datos del agente se alinean en bytes contiguos en el espacio de direcciones del host.
Si el ancho de los datos del host es mayor que el ancho de los datos del agente, las palabras en el espacio de direcciones del host se asignan a múltiples ubicaciones en el espacio de direcciones del agente. Por ejemplo:ampPor ejemplo, una lectura de host de 32 bits desde un agente de 16 bits da como resultado dos transferencias de lectura en el lado del agente. Las lecturas se realizan a direcciones consecutivas.
Si el host es más angosto que el agente, la interconexión administra los carriles de bytes del agente. Durante las transferencias de lectura del host, la interconexión presenta solo los carriles de bytes apropiados de los datos del agente al host más angosto. Durante las transferencias de escritura del host, la interconexión
Afirma automáticamente las señales byteenable para escribir datos solo en los carriles de bytes del agente especificados.
Los agentes deben tener un ancho de datos de 8, 16, 32, 64, 128, 256, 512 o 1024 bits. La siguiente tabla muestra la alineación de los datos de agente de varios anchos dentro de un host de 32 bits que realiza accesos de palabra completa. En esta tabla, OFFSET[N] se refiere a un desplazamiento del tamaño de palabra del agente en el espacio de dirección del agente.
Tabla 12. Mapeo de direcciones de host a agente para dimensionamiento dinámico de bus
Dirección de byte del host (1)
Acceso
0x00
1
2
3
4
0x04
1
2
3
4
0x08
1
2
Datos de host de 32 bits
Al acceder a una interfaz de agente de 8 bits
Al acceder a una interfaz de agente de 16 bits
DESPLAZAMIENTO[0]7..0
DESPLAZAMIENTO[0]15..0 (2)
OFFSET[1]7..0 OFFSET[2]7..0 OFFSET[3]7..0
DESPLAZAMIENTO[1]15..0 — —
DESPLAZAMIENTO[4]7..0
DESPLAZAMIENTO[2]15..0
OFFSET[5]7..0 OFFSET[6]7..0 OFFSET[7]7..0
DESPLAZAMIENTO[3]15..0 — —
DESPLAZAMIENTO[8]7..0
DESPLAZAMIENTO[4]15..0
DESPLAZAMIENTO[9]7..0
DESPLAZAMIENTO[5]15..0
Al acceder a una interfaz de agente de 64 bits OFFSET[0]31..0 — — —
DESPLAZAMIENTO[0]63..32 — — —
DESPLAZAMIENTO[1]31..0 —
continuado…
Especificaciones de la interfaz Avalon® 36
Enviar comentarios
3. Interfaces mapeadas en memoria de Avalon 683091 | 2022.01.24
Dirección de byte del host (1)
Acceso
Al acceder a una interfaz de agente de 8 bits
Datos de host de 32 bits
Al acceder a una interfaz de agente de 16 bits
3
DESPLAZAMIENTO[10]7..0
—
4
DESPLAZAMIENTO[11]7..0
—
0x0C
1
DESPLAZAMIENTO[12]7..0
DESPLAZAMIENTO[6]15..0
2
DESPLAZAMIENTO[13]7..0
DESPLAZAMIENTO[7]15..0
3
DESPLAZAMIENTO[14]7..0
—
4 Y así sucesivamente
OFFSET[15]7..0 Y así sucesivamente
- Etcétera
Notas: 1. Aunque el host emite direcciones de bytes, accede a palabras completas de 32 bits. 2. Para todas las entradas del agente, [ ] es el desplazamiento de la palabra y los valores del subíndice son los bits de la palabra.
Al acceder a una interfaz de agente de 64 bits — —
OFFSET[1]63..32 — — — Y así sucesivamente
Enviar comentarios
Especificaciones de la interfaz Avalon® 37
683091 | 2022.01.24 Enviar comentarios
4. Interfaces de interrupción de Avalon
Las interfaces de interrupción de Avalon permiten que los componentes del agente envíen señales de eventos a los componentes del host. Por ejemplo,ampEs decir, un controlador DMA puede interrumpir un procesador después de completar una transferencia DMA.
4.1 Interrumpir remitente
Un emisor de interrupción envía una única señal de interrupción a un receptor de interrupción. La sincronización de la señal IRQ debe ser sincrónica con el flanco ascendente de su reloj asociado. IRQ no tiene relación con ninguna transferencia en ninguna otra interfaz. IRQ debe estar activado hasta que se lo reconozca en la interfaz del agente Avalon-MM asociada.
Las interrupciones son específicas de cada componente. El receptor normalmente determina la respuesta adecuada leyendo un registro de estado de interrupción desde una interfaz de agente Avalon-MM.
4.1.1. Funciones del remitente de la señal de interrupción de Avalon
Tabla 13. Funciones de la señal de interrupción del remitente
Papel de la señal
Ancho
Dirección
Requerido
irq irq_n
1-32
Producción
Sí
Descripción
Solicitud de interrupción. Un emisor de interrupción envía una señal de interrupción a un receptor de interrupción.
4.1.2. Propiedades del remitente de interrupción
Tabla 14. Propiedades del remitente de interrupción
Nombre de la propiedad
Valor predeterminado
Valores legales
Descripción
AsociadoDireccionable
N / A
Punto electrónico
Reloj asociado
N / A
Nombre del agente Avalon-MM en este componente.
Nombre de una interfaz de reloj en este
componente.
El nombre de la interfaz del agente Avalon-MM que proporciona acceso a los registros para atender la interrupción.
El nombre de la interfaz de reloj con la que este emisor de interrupción está sincronizado. El emisor y el receptor pueden tener valores diferentes para esta propiedad.
Reinicio asociado
N / A
Nombre de un reinicio
El nombre de la interfaz de reinicio a la que se dirige esta interrupción.
Interfaz en este
El remitente es sincrónico.
componente.
Corporación Intel. Reservados todos los derechos. Intel, el logotipo de Intel y otras marcas de Intel son marcas comerciales de Intel Corporation o sus subsidiarias. Intel garantiza el rendimiento de sus productos semiconductores y FPGA según las especificaciones actuales de acuerdo con la garantía estándar de Intel, pero se reserva el derecho de realizar cambios en cualquier producto y servicio en cualquier momento sin previo aviso. Intel no asume ninguna responsabilidad que surja de la aplicación o el uso de cualquier información, producto o servicio descrito en este documento, excepto que Intel lo acuerde expresamente por escrito. Se recomienda a los clientes de Intel que obtengan la última versión de las especificaciones del dispositivo antes de confiar en cualquier información publicada y antes de realizar pedidos de productos o servicios. *Otros nombres y marcas pueden reclamarse como propiedad de otros.
ISO 9001: 2015 registrado
4. Interfaces de interrupción de Avalon 683091 | 2022.01.24
4.2. Receptor de interrupciones
Una interfaz de receptor de interrupciones recibe interrupciones de las interfaces de emisor de interrupciones. Los componentes con interfaces de host Avalon-MM pueden incluir un receptor de interrupciones para detectar interrupciones activadas por componentes de agente con interfaces de emisor de interrupciones. El receptor de interrupciones acepta solicitudes de interrupción de cada emisor de interrupciones como un bit independiente.
4.2.1. Funciones de la señal del receptor de interrupción Avalon
Tabla 15. Funciones de la señal del receptor de interrupción
Papel de la señal
Ancho
Dirección
Requerido
irq
1
Aporte
Sí
Descripción
irq es un vector de bits, donde cada bit corresponde directamente a un transmisor de IRQ sin ninguna suposición inherente de prioridad.
4.2.2 Propiedades del receptor de interrupciones
Tabla 16. Propiedades del receptor de interrupciones
Nombre de la propiedad
Valor predeterminado
Valores legales
Descripción
Punto direccionable asociado
N / A
Nombre de El nombre de la interfaz de host de Avalon-MM utilizada para
Interrupciones del servicio Avalon-MM recibidas en esta interfaz.
anfitrión
interfaz
Reloj asociado
N / A
Nombre de un El nombre de la interfaz de Avalon Clock a la que se conecta este
Avalón
El receptor de interrupciones es sincrónico. El emisor y el receptor
Reloj
El receptor puede tener diferentes valores para esta propiedad.
interfaz
Reinicio asociado
N / A
Nombre de una El nombre de la interfaz de reinicio a la que se dirige esta interrupción
Avalón
El receptor es sincrónico.
Reiniciar
interfaz
4.2.3. Tiempo de interrupción
El host Avalon-MM atiende la interrupción de prioridad 0 antes de la interrupción de prioridad 1.
Figura 19.
Tiempo de interrupción
En la siguiente figura, la interrupción 0 tiene mayor prioridad. El receptor de interrupciones está en proceso de procesar int1.
cuando se afirma int0. Se llama al controlador int0 y se completa. Luego, se reanuda el controlador int1.
El diagrama muestra que int0 se desactiva en el momento 1. Int1 se desactiva en el momento 2.
1
2
Clic
Solicitudes individuales int0
int1
Enviar comentarios
Especificaciones de la interfaz Avalon® 39
683091 | 2022.01.24 Enviar comentarios
5. Interfaces de transmisión de Avalon
Puede utilizar las interfaces Avalon Streaming (Avalon-ST) para componentes que manejan datos unidireccionales de baja latencia y gran ancho de banda. Las aplicaciones típicas incluyen transmisiones multiplexadas, paquetes y datos DSP. Las señales de la interfaz Avalon-ST pueden describir interfaces de transmisión tradicionales que admiten una sola transmisión de datos sin conocimiento de los canales o los límites de los paquetes. La interfaz también puede admitir protocolos más complejos capaces de realizar transferencias de ráfagas y paquetes con paquetes intercalados en varios canales.
Nota:
Si necesita una interfaz de transmisión de datos de alto rendimiento, consulte el Capítulo 6 Interfaces de crédito de transmisión de Avalon.
Figura 20. Interfaz Avalon-ST: aplicación típica de la interfaz Avalon-ST
Interfaces de placa de circuito impreso Intel FPGA Avalon-ST (plano de datos)
Programador
Entrada de Avalon-ST
Canal central Rx IF
2
Fuente 0-2 Sumidero 1
0
Interfaz Avalon-MM (plano de control)
Fuente
Disipador de núcleo Tx IF
Salida de Avalon-ST
Interfaz de host Avalon-MM
Procesador
Interfaz de host Avalon-MM
Control IO
Interfaz del agente Avalon-MM
Control de SDRAM
Memoria SDRAM
No todas las interfaces de origen y destino de Avalon-ST son necesariamente interoperables. Sin embargo, si dos interfaces proporcionan funciones compatibles para el mismo espacio de aplicación, hay adaptadores disponibles para permitir que interoperasen.
Corporación Intel. Reservados todos los derechos. Intel, el logotipo de Intel y otras marcas de Intel son marcas comerciales de Intel Corporation o sus subsidiarias. Intel garantiza el rendimiento de sus productos semiconductores y FPGA según las especificaciones actuales de acuerdo con la garantía estándar de Intel, pero se reserva el derecho de realizar cambios en cualquier producto y servicio en cualquier momento sin previo aviso. Intel no asume ninguna responsabilidad que surja de la aplicación o el uso de cualquier información, producto o servicio descrito en este documento, excepto que Intel lo acuerde expresamente por escrito. Se recomienda a los clientes de Intel que obtengan la última versión de las especificaciones del dispositivo antes de confiar en cualquier información publicada y antes de realizar pedidos de productos o servicios. *Otros nombres y marcas pueden reclamarse como propiedad de otros.
ISO 9001: 2015 registrado
5. Interfaces de transmisión Avalon 683091 | 2022.01.24
Las interfaces Avalon-ST admiten rutas de datos que requieren las siguientes características:
· Transferencia de datos punto a punto de alto rendimiento y baja latencia
· Compatibilidad con múltiples canales con entrelazado de paquetes flexible
· Señalización de banda lateral de canal, error y delimitación de inicio y fin de paquete.
· Soporte para ráfagas de datos
· Adaptación automática de la interfaz
5.1. Términos y conceptos
El protocolo de interfaz Avalon-ST define los siguientes términos y conceptos:
· Sistema de transmisión Avalon: un sistema de transmisión Avalon contiene una o más conexiones Avalon-ST que transfieren datos desde una interfaz de origen a una interfaz receptora. El sistema que se muestra arriba consta de interfaces Avalon-ST para transferir datos desde la entrada del sistema a la salida. Las interfaces de registro de estado y control Avalon-MM proporcionan control de software.
· Componentes de transmisión Avalon: un sistema típico que utiliza interfaces Avalon-ST combina varios módulos funcionales, denominados componentes. El diseñador del sistema configura los componentes y los conecta entre sí para implementar un sistema.
· Interfaces y conexiones de origen y destino: cuando dos componentes se conectan, los datos fluyen desde la interfaz de origen a la interfaz de destino. Las especificaciones de interfaz de Avalon denominan conexión a la combinación de una interfaz de origen que se conecta a una interfaz de destino.
· Contrapresión: la contrapresión permite que un receptor envíe una señal a una fuente para que deje de enviar datos. La compatibilidad con la contrapresión es opcional. El receptor utiliza la contrapresión para detener el flujo de datos por las siguientes razones:
— Cuando los FIFO del fregadero están llenos
— Cuando hay congestión en su interfaz de salida
· Transferencias y ciclos de preparación: una transferencia da como resultado la propagación de datos y control desde una interfaz de origen a una interfaz receptora. En el caso de las interfaces de datos, un ciclo de preparación es un ciclo durante el cual la interfaz receptora puede aceptar una transferencia.
· Símbolo: un símbolo es la unidad de datos más pequeña. Para la mayoría de las interfaces de paquetes, un símbolo es un byte. Uno o más símbolos conforman la unidad única de datos transferidos en un ciclo.
· Canal: Un canal es una ruta o enlace físico o lógico a través del cual pasa la información entre dos puertos.
· Beat: Un beat es una transferencia de ciclo único entre una interfaz de origen y destino compuesta por uno o más símbolos.
· Paquete: un paquete es una agregación de datos y señales de control que una fuente transmite simultáneamente. Un paquete puede contener un encabezado para ayudar a los enrutadores y otros dispositivos de red a dirigir el paquete al destino correcto. La aplicación define el formato del paquete, no esta especificación. Los paquetes Avalon-ST pueden tener una longitud variable y pueden intercalarse en una conexión. Con una interfaz Avalon-ST, el uso de paquetes es opcional.
Enviar comentarios
Especificaciones de la interfaz Avalon® 41
5. Interfaces de transmisión Avalon 683091 | 2022.01.24
5.2. Funciones de la señal de la interfaz de transmisión de Avalon
Cada señal en una interfaz de origen o destino de transmisión de Avalon corresponde a una función de señal de transmisión de Avalon. Una interfaz de transmisión de Avalon puede contener solo una instancia de cada función de señal. Todas las funciones de señal de transmisión de Avalon se aplican tanto a las fuentes como a los destinos y tienen el mismo significado para ambos.
Tabla 17.
Señales de interfaz de transmisión de Avalon
En la siguiente tabla, todos los roles de señal están activos en alto.
Papel de la señal
Ancho
Dirección
Requerido
Descripción
Error de datos del canal listo
válido
1 128 1 8,192 1 256
1
1
Señales fundamentales
Fuente de sumidero
No
El número de canal para los datos que se transfieren
en el ciclo actual.
Si una interfaz admite la señal del canal,
La interfaz también debe definir el parámetro maxChannel.
Fuente de sumidero
No
La señal de datos de la fuente al receptor,
Generalmente lleva la mayor parte de la información que se está transmitiendo.
transferido.
Los parámetros definen además el contenido y
formato de la señal de datos.
Fuente de sumidero
No
Una máscara de bits para marcar los errores que afectan a los datos.
que se transfiere en el ciclo actual. Un solo bit
de la señal de error enmascara cada uno de los errores
El componente reconoce el errorDescriptor
define las propiedades de la señal de error.
Fuente de sumidero
No
Afirma alto para indicar que el fregadero puede aceptar
data.ready es confirmado por el receptor en el ciclo
para marcar el ciclo como un listo
ciclo. La fuente sólo puede afirmar que es válida y
transferir datos durante los ciclos de preparación.
Las fuentes sin una entrada preparada no admiten contrapresión. Los receptores sin una salida preparada nunca necesitan contrapresión.
Fuente de sumidero
No
La fuente afirma que esta señal califica a todas las demás
Señales de origen a destino. El destino esamplos datos y
Otras señales de fuente a receptor en ciclos de preparación
donde se afirma que es válido. Todos los demás ciclos son válidos.
Ignorado.
Las fuentes sin una salida válida proporcionan de manera implícita datos válidos en cada ciclo en el que un disipador no está aplicando contrapresión. Los disipadores sin una entrada válida esperan datos válidos en cada ciclo en el que no están aplicando contrapresión.
vacío
fin del paquete inicio del paquete
1 10
1 1
Señales de transferencia de paquetes
Fuente de sumidero
No
Indica el número de símbolos que están vacíos,
Es decir, no representan datos válidos. Los vacíos
La señal no es necesaria en las interfaces donde hay
es un símbolo por tiempo.
Fuente de sumidero
No
Afirmado por la fuente para marcar el final de una
paquete.
Fuente de sumidero
No
Afirmado por la fuente para marcar el comienzo de
un paquete.
Especificaciones de la interfaz Avalon® 42
Enviar comentarios
5. Interfaces de transmisión Avalon 683091 | 2022.01.24
5.3. Secuenciación y temporización de señales
5.3.1 Interfaz sincrónica
Todas las transferencias de una conexión Avalon-ST se producen de forma sincronizada con el flanco ascendente de la señal de reloj asociada. Todas las salidas de una interfaz de origen a una interfaz receptora, incluidas las señales de datos, canal y error, deben registrarse en el flanco ascendente del reloj. Las entradas a una interfaz receptora no tienen que registrarse. El registro de señales en la fuente facilita el funcionamiento a alta frecuencia.
5.3.2. Habilitación del reloj
Los componentes Avalon-ST normalmente no incluyen una entrada de habilitación de reloj. La señalización Avalon-ST en sí misma es suficiente para determinar los ciclos que un componente debe o no debe estar habilitado. Los componentes compatibles con Avalon-ST pueden tener una entrada de habilitación de reloj para su lógica interna. Sin embargo, los componentes que utilizan habilitaciones de reloj deben garantizar que la sincronización de la interfaz se ajuste al protocolo.
5.4. Propiedades de la interfaz Avalon-ST
Tabla 18. Propiedades de la interfaz Avalon-ST
Nombre de la propiedad asociadaClock
Valor predeterminado
1
Valores legales
Interfaz de reloj
Descripción
El nombre de la interfaz de reloj Avalon a la que esta interfaz Avalon-ST es sincrónica.
asociadoReset latidos por ciclo
1
Reiniciar
El nombre de la interfaz de reinicio de Avalon a la que se refiere este
Interfaz La interfaz Avalon-ST es síncrona.
1
1,2,4,8 Especifica el número de latidos transferidos en un solo
ciclo. Esta propiedad le permite transferir 2 unidades separadas,
pero los flujos correlacionados utilizan el mismo
inicio_del_paquete, fin_del_paquete, listo y
señales válidas.
beatsPerCycle es una función poco utilizada del protocolo AvalonST.
datosBitsPorSímbolo
8
1 512 Define la cantidad de bits por símbolo. Por ejemploampel,
Las interfaces orientadas a bytes tienen símbolos de 8 bits. Este valor
no está restringido a ser una potencia de 2.
Vacío dentro del paquete
FALSO
verdadero, falso Cuando es verdadero, vacío es válido para todo el paquete.
errorDescriptor
0
Lista de
Una lista de palabras que describen el error asociado con
instrumentos de cuerda
cada bit de la señal de error. La longitud de la lista debe
sea el mismo que el número de bits en la señal de error.
La primera palabra de la lista se aplica al orden más alto.
un poco. Por ejemploample, “crc, overflow” significa que bit[1]
de error indica un error de CRC. El bit [0] indica un
error de desbordamiento.
primerSímboloEnBitsDeOrdenAlto
verdadero
verdadero, falso
Cuando es verdadero, el símbolo de primer orden se dirige a los bits más significativos de la interfaz de datos. El símbolo de orden más alto se etiqueta como D0 en esta especificación. Cuando esta propiedad se establece en falso, el primer símbolo aparece en los bits bajos. D0 aparece en data[7:0]. Para un bus de 32 bits, si es verdadero, D0 aparece en bits[31:24].
continuado…
Enviar comentarios
Especificaciones de la interfaz Avalon® 43
5. Interfaces de transmisión Avalon 683091 | 2022.01.24
Nombre de la propiedad maxChannel readyLatency
listoSubsidio(1)
Valor predeterminado
0 0
0
Valores legales 0 255
0 8
0 8
Descripción
Número máximo de canales que una interfaz de datos puede admitir.
Define la relación entre la afirmación de una señal lista y la afirmación de una señal válida. Si readyLatency = donde n > 0, sólo se puede afirmar que es válido ciclos después de la afirmación de listo. Por ejemploampes decir, si readyLatency = 1, cuando el receptor afirma que está listo, la fuente debe responder con una afirmación válida al menos 1 ciclo después de ver la afirmación de que está listo del receptor.
Define la cantidad de transferencias que el receptor puede capturar después de que se cancele la confirmación de listo. Cuando readyAllowance = 0, el receptor no puede aceptar ninguna transferencia después de que se cancele la confirmación de listo. Si readyAllowance = dónde es mayor que 0, el sumidero puede aceptar hasta Las transferencias se realizan después de que se cancela la confirmación de listo.
Nota:
Si genera una interconexión de transmisión de Avalon con BFM de origen/destino de transmisión de Avalon o componentes personalizados y estos BFM o componentes personalizados tienen diferentes requisitos de readyLatency, Platform Designer insertará adaptadores en la interconexión generada para adaptarse a la diferencia de readyLatency entre las interfaces de origen y de destino. Se espera que la lógica de origen y de destino se ajuste a las propiedades de la interconexión generada.
5.5 Transferencias de datos típicas
Esta sección define la transferencia de datos desde una interfaz de origen a una interfaz de destino. En todos los casos, la fuente de datos y el destino de datos deben cumplir con la especificación. El destino de datos no es responsable de detectar errores de protocolo de origen.
5.6. Detalles de la señal
La figura muestra las señales que suelen incluir las interfaces Avalon-ST. Una interfaz de origen Avalon-ST típica envía las señales válidas, de datos, de error y de canal al receptor. El receptor puede aplicar contrapresión con la señal de listo.
(1) · Si readyLatency = 0, readyAllowance puede ser 0 o mayor que 0.
· Si readyLatency > 0, readyAllowance debe ser igual o mayor que readyLatency.
· Si la fuente o el receptor no especifican un valor para readyAllowance, entonces readyAllowance = readyLatency. Los diseños no requieren la adición de readyAllowance a menos que desee que la fuente o el receptor aprovechentage de esta característica.
Especificaciones de la interfaz Avalon® 44
Enviar comentarios
5. Interfaces de transmisión Avalon 683091 | 2022.01.24
Figura 21. Fuente de datos de señales de interfaz típicas de Avalon-ST
canal de error de datos válidos
Recipiente de datos listo
Más detalles sobre estas señales:
· listo: en las interfaces que admiten contrapresión, el receptor afirma que está listo para marcar los ciclos en los que pueden tener lugar las transferencias. Si se afirma que está listo en el ciclo , ciclo se considera un ciclo listo.
· válido: la señal válida califica los datos válidos en cualquier ciclo con transferencia de datos desde la fuente al receptor. En cada ciclo válido, la señal del receptoramples la señal de datos y otra fuente para hundir señales.
· datos: la señal de datos transporta la mayor parte de la información transferida desde la fuente al receptor. La señal de datos consta de uno o más símbolos transferidos en cada ciclo de reloj. El parámetro dataBitsPerSymbol define cómo se divide la señal de datos en símbolos.
· error: en la señal de error, cada bit corresponde a una posible condición de error. Un valor de 0 en cualquier ciclo indica que los datos de ese ciclo no contienen errores. Esta especificación no define la acción que toma un componente cuando se detecta un error.
· canal: la fuente activa la señal de canal opcional para indicar a qué canal pertenecen los datos. El significado de canal para una interfaz determinada depende de la aplicación. En algunas aplicaciones, canal indica el número de interfaz. En otras, canal indica el número de página o el intervalo de tiempo. Cuando se utiliza la señal de canal, todos los datos transferidos en cada ciclo activo pertenecen al mismo canal. La fuente puede cambiar a un canal diferente en ciclos activos sucesivos.
Las interfaces que utilizan la señal de canal deben definir el parámetro maxChannel para indicar la cantidad máxima de canales. Si la cantidad de canales que admite una interfaz cambia de forma dinámica, maxChannel indica la cantidad máxima que puede admitir la interfaz.
5.7. Disposición de los datos
Figura 22.
Símbolos de datos
La siguiente figura muestra una señal de datos de 64 bits con dataBitsPerSymbol=16. El símbolo 0 es el más
símbolo significativo.
63
48 47 32 31 16 15
0
símbolo 0 símbolo 1 símbolo 2 símbolo 3
La interfaz de Avalon Streaming admite los modos big-endian y little-endian. La siguiente figura es un ejemploample del modo big-endian, donde el símbolo 0 está en los bits de orden superior.
Enviar comentarios
Especificaciones de la interfaz Avalon® 45
5. Interfaces de transmisión Avalon 683091 | 2022.01.24
Figura 23.
Disposición de los datos
El diagrama de tiempo de la siguiente figura muestra un ejemplo de 32 bits.ample donde dataBitsPerSymbol=8 y beatsPerCycle=1.
Clic
listo
válido
error de canal
data[31:24] data[23:16] data[15:8]
data[7:0]
D0
D4
D1
D5
D2
D6
D3
D7
D8
DC
D10
D9
DD
D11
DA DE
D12
Base de datos de datos
D13
5.8. Transferencia de datos sin contrapresión
La transferencia de datos sin contrapresión es la más básica de las transferencias de datos de Avalon-ST. En cualquier ciclo de reloj dado, la interfaz de origen controla los datos y las señales de canal y error opcionales, y confirma la validez. La interfaz de receptorampestas señales se activan en el borde ascendente del reloj de referencia si se confirma su validez.
Figura 24.
Transferencia de datos sin contrapresión
Clk válido
datos de error de canal
D0 D1
D2 D3
5.9. Transferencia de datos con contrapresión
El receptor afirma que está listo para un solo ciclo de reloj para indicar que está listo para un ciclo activo. Si el receptor está listo para los datos, el ciclo es un ciclo de preparación. Durante un ciclo de preparación, la fuente puede afirmar que es válida y proporcionar datos al receptor. Si la fuente no tiene datos para enviar, la fuente anula la validez y puede llevar los datos a cualquier valor.
Las interfaces que admiten contrapresión definen el parámetro readyLatency para indicar la cantidad de ciclos desde el momento en que se confirma la preparación hasta que se pueden obtener datos válidos. Si readyLatency no es cero, se completa el ciclo es un ciclo listo si se afirma que está listo en el ciclo .
Cuando readyLatency = 0, la transferencia de datos solo ocurre cuando se confirma que está listo y es válido en el mismo ciclo. En este modo, la fuente no recibe la señal de listo del receptor antes de enviar datos válidos. La fuente proporciona los datos y confirma que es válido siempre que la fuente tenga datos válidos. La fuente espera a que el receptor capture los datos y confirme que está listo. La fuente puede cambiar los datos en cualquier momento. El receptor solo captura datos de entrada de la fuente cuando se confirma que está listo y es válido.
Especificaciones de la interfaz Avalon® 46
Enviar comentarios
5. Interfaces de transmisión Avalon 683091 | 2022.01.24
Cuando readyLatency >= 1, el receptor confirma que está listo antes del ciclo de preparación en sí. La fuente puede responder durante el ciclo posterior correspondiente confirmando que es válido. La fuente no puede confirmar que es válido durante ciclos que no sean ciclos de preparación.
readyAllowance define la cantidad de transferencias que el receptor puede capturar cuando se cancela la confirmación de listo. Cuando readyAllowance = 0, el receptor no puede aceptar ninguna transferencia después de que se cancele la confirmación de listo. Si readyAllowance = donde n > 0, el sumidero puede aceptar hasta Las transferencias se realizan después de que se cancela la confirmación de listo.
5.9.1 Transferencias de datos mediante readyLatency y readyAllowance
Las siguientes reglas se aplican al transferir datos con readyLatency y readyAllowance.
· Si readyLatency es 0, readyAllowance puede ser mayor o igual a 0.
· Si readyLatency es mayor que 0, readyAllowance puede ser mayor o igual que readyLatency.
Cuando readyLatency = 0 y readyAllowance = 0, las transferencias de datos se producen solo cuando se confirman tanto el estado listo como el válido. En este caso, la fuente no recibe la señal de listo del receptor antes de enviar datos válidos. La fuente proporciona los datos y confirma el estado válido siempre que sea posible. La fuente espera a que el receptor capture los datos y confirme que está listo. La fuente puede cambiar los datos en cualquier momento. El receptor solo captura los datos de entrada de la fuente cuando se confirman tanto el estado listo como el válido.
Figura 25. readyLatency = 0, readyAllowance = 0
Cuando readyLatency = 0 y readyAllowance = 0, la fuente puede declarar la validez en cualquier momento. El receptor captura los datos de la fuente solo cuando ready = 1.
La siguiente figura muestra estos eventos: 1. En el ciclo 1, la fuente proporciona datos y afirma que son válidos. 2. En el ciclo 2, el receptor afirma que está listo y D0 transfiere. 3. En el ciclo 3, D1 transfiere. 4. En el ciclo 4, el receptor afirma que está listo, pero la fuente no envía datos válidos. 5. La fuente proporciona datos y afirma que son válidos en el ciclo 6. 6. En el ciclo 8, el receptor afirma que está listo, por lo que D2 transfiere. 7. D3 transfiere en el ciclo 9 y D4 transfiere en el ciclo 10.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 clk0
listo
válido
datos
D0 D1
D2
D3 D4
D5
Enviar comentarios
Especificaciones de la interfaz Avalon® 47
5. Interfaces de transmisión Avalon 683091 | 2022.01.24
Figura 26. readyLatency = 0, readyAllowance = 1
Cuando readyLatency = 0 y readyAllowance = 1, el receptor puede capturar una transferencia de datos más después de ready = 0.
La siguiente figura muestra estos eventos: 1. En el ciclo 1, la fuente proporciona datos y afirma que es válida, mientras que el receptor afirma que está lista. D0 transfiere. 2. D1 se transfiere en el ciclo 2. 3. En el ciclo 3, la lista se anula, sin embargo, dado que readyAllowance = 1, se permite una transferencia más, por lo que D2
4. En el ciclo 5, tanto la afirmación válida como la de lista se confirman, por lo que D3 transfiere. 5. En el ciclo 6, la fuente anula la afirmación válida, por lo que no hay transferencias de datos. 6. En el ciclo 7, la afirmación válida y la de lista anulan la afirmación, sin embargo, dado que readyAllowance = 1, se realiza una transferencia más.
está permitido, por lo que se transfiere D4.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 clk0
listo
válido
datos
D0 D1 D2
D3
D4
D5 D6
D7
Figura 27. readyLatency = 1, readyAllowance = 2
Cuando readyLatency = 1 y readyAllowance = 2, el receptor puede transferir datos un ciclo después de que se afirme que está listo, y se permiten dos ciclos más de transferencias después de que se deshaga la confirmación de que está listo.
La siguiente figura muestra estos eventos: 1. En el ciclo 0, el receptor afirma que está listo. 2. En el ciclo 1, la fuente proporciona datos y afirma que es válida. La transferencia se produce inmediatamente. 3. En el ciclo 3, el receptor desautoriza que está listo, pero la fuente sigue afirmando que es válida y envía datos válidos.
porque el receptor puede capturar datos dos ciclos después de que la confirmación de listo se anula. 4. En el ciclo 6, el receptor confirma que está listo. 5. En el ciclo 7, la fuente proporciona datos y confirma que es válido. Estos datos se aceptan. 6. En el ciclo 10, el receptor ha anulado la confirmación de que está listo, pero la fuente confirma que es válido y envía datos válidos porque
El receptor puede capturar datos dos ciclos después de que se desactiva la confirmación.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 clk0
listo
válido
datos
D0 D1 D2 D3
D4 D5
D6 D7
Requisitos de adaptación La siguiente tabla describe si las interfaces de origen y destino requieren adaptación.
Especificaciones de la interfaz Avalon® 48
Enviar comentarios
5. Interfaces de transmisión Avalon 683091 | 2022.01.24
Tabla 19. Requisitos de adaptación de fuente/sumidero
listoLatencia
listaSubsidio
Adaptación
Fuente readyLatency = Fuente de sumidero readyAllowance =
listoLatencia
Lista para el fregadero
No requiere adaptación: el fregadero puede captar todas las transferencias.
Fuente lista para recibir subsidio > Sumidero listo para recibir subsidio
Adaptación requerida: después de que se desactive la condición de listo, la fuente puede enviar más transferencias de las que el receptor puede capturar.
Fuente lista para tolerancia < Sumidero listo para tolerancia
No se requiere adaptación: después de que se desactiva la condición de listo, el receptor puede capturar más transferencias de las que la fuente puede enviar.
Fuente readyLatency > Fuente de sumidero readyAllowance =
listoLatencia
Lista para el fregadero
No se requiere adaptación: después de que se confirma que está listo, la fuente comienza a enviar más tarde de lo que el receptor puede capturar. Después de que se desautoriza que está listo, la fuente puede enviar tantas transferencias como el receptor pueda capturar.
Fuente lista para recibirTolerancia> Sumidero listo para recibirTolerancia
Adaptación requerida: después de que se desactive la condición de listo, la fuente puede enviar más transferencias de las que el receptor puede capturar.
Fuente listaTolerancia< Sumidero listoTolerancia
No se requiere adaptación: después de que se deshabilita la condición de listo, la fuente envía menos transferencias de las que el receptor puede capturar.
Fuente readyLatency < SinkreadyLatency
Margen de disponibilidad de origen = Margen de disponibilidad de sumidero
Adaptación requerida: la fuente puede comenzar a enviar transferencias antes de que el receptor pueda capturar.
Fuente lista para recibirTolerancia> Sumidero listo para recibirTolerancia
Adaptación necesaria: la fuente puede comenzar a enviar transferencias antes de que el receptor pueda capturarlas. Además, después de que se anule la confirmación de que está listo, la fuente puede enviar más transferencias de las que el receptor puede capturar.
Fuente lista para tolerancia < Sumidero listo para tolerancia
Adaptación requerida: la fuente puede comenzar a enviar transferencias antes de que el receptor pueda capturarlas.
5.9.2 Transferencias de datos mediante readyLatency
Si la fuente o el receptor no especifican un valor para readyAllowance, entonces readyAllowance=readyLatency. Los diseños que utilizan la fuente y el receptor no requieren la adición de readyAllowance a menos que desee que la fuente o el receptor tomen ventajatage de esta característica.
Enviar comentarios
Especificaciones de la interfaz Avalon® 49
5. Interfaces de transmisión Avalon 683091 | 2022.01.24
Figura 28.
Transferencia con contrapresión, readyLatency=0
La siguiente figura ilustra estos acontecimientos:
1. La fuente proporciona datos y afirma que son válidos en el ciclo 1, aunque el receptor no esté listo.
2. La fuente espera hasta el ciclo 2, cuando el receptor afirma que está listo, antes de pasar al siguiente ciclo de datos.
3. En el ciclo 3, la fuente envía datos en el mismo ciclo y el receptor está listo para recibirlos. La transferencia se produce inmediatamente.
4. En el ciclo 4, el receptor afirma que está listo, pero la fuente no envía datos válidos.
012345678 clk
listo
válido
canal
error
datos
D0 D1
D2 D3
Figura 29.
Transferencia con contrapresión, readyLatency=1
Las siguientes figuras muestran transferencias de datos con readyLatency=1 y readyLatency=2, respectivamente. En ambos casos, se confirma que está listo antes del ciclo de listo y la fuente responde 1 o 2 ciclos después proporcionando datos y confirmando que es válido. Cuando readyLatency no es 0, la fuente debe anular la confirmación de que es válido en los ciclos que no están listos.
Clic
listo
válido
canal
error
datos
D0 D1
D2 D3 D4
D5
Figura 30.
Transferencia con contrapresión, readyLatency=2
Clic
listo
válido
canal
error
datos
D0 D1
D2 D3
5.10. Transferencias de datos en paquetes
La propiedad de transferencia de paquetes agrega compatibilidad para transferir paquetes desde una interfaz de origen a una interfaz receptora. Se definen tres señales adicionales para implementar la transferencia de paquetes. Tanto la interfaz de origen como la de destino deben incluir estas señales adicionales para admitir paquetes. Solo puede conectar interfaces de origen y destino con
Especificaciones de la interfaz Avalon® 50
Enviar comentarios
5. Interfaces de transmisión Avalon 683091 | 2022.01.24
propiedades de paquete coincidentes. Platform Designer no agrega automáticamente las señales startofpacket, endofpacket y empty a las interfaces de origen o destino que no incluyen estas señales.
Figura 31. Fuente de datos de señales de interfaz de paquetes Avalon-ST
Sumidero de datos
listo
válido
canal de error de datos inicio del paquete
fin del paquete vacío
5.11. Detalles de la señal
· startofpacket: todas las interfaces que admiten transferencias de paquetes requieren la señal startofpacket. startofpacket marca el ciclo activo que contiene el inicio del paquete. Esta señal solo se interpreta cuando se afirma que es válida.
· endofpacket: todas las interfaces que admiten transferencias de paquetes requieren la señal endofpacket. endofpacket marca el ciclo activo que contiene el final del paquete. Esta señal solo se interpreta cuando se afirma que es válida. startofpacket y endofpacket se pueden afirmar en el mismo ciclo. No se requieren ciclos inactivos entre paquetes. La señal startofpacket puede seguir inmediatamente después de la señal endofpacket anterior.
· empty: la señal empty opcional indica la cantidad de símbolos que están vacíos durante el ciclo endofpacket. El receptor solo verifica el valor de empty durante los ciclos activos que tienen endofpacket activado. Los símbolos empty son siempre los últimos símbolos en los datos, aquellos que llevan los bits de orden inferior cuando firstSymbolInHighOrderBits = true. La señal empty es necesaria en todas las interfaces de paquetes cuya señal de datos lleva más de un símbolo de datos y tiene un formato de paquete de longitud variable. El tamaño de la señal empty en bits es ceil[log2( )].
Enviar comentarios
Especificaciones de la interfaz Avalon® 51
5. Interfaces de transmisión Avalon 683091 | 2022.01.24
5.12. Detalles del protocolo
La transferencia de datos de paquetes sigue el mismo protocolo que la transferencia de datos típica con la adición del inicio del paquete, el final del paquete y el vacío.
Figura 32.
Transferencia de paquetes
La siguiente figura ilustra la transferencia de un paquete de 17 bytes desde una interfaz de origen a una interfaz de destino, donde readyLatency=0. Este diagrama de tiempo ilustra los siguientes eventos:
1. La transferencia de datos ocurre en los ciclos 1, 2, 4, 5 y 6, cuando se afirma que están listos y son válidos.
2. Durante el ciclo 1, se activa startofpacket. Se transfieren los primeros 4 bytes del paquete.
3. Durante el ciclo 6, se confirma el fin del paquete. El valor empty es 3. Este valor indica que este es el final del paquete y que 3 de los 4 símbolos están vacíos. En el ciclo 6, el byte de orden superior, data[31:24], controla los datos válidos.
1234567 clk
listo
válido
inicio del paquete
fin del paquete
vacío
3
canal
00
000
error
00
000
datos[31:24]
D0 D4
D8 D12 D16
datos[23:16]
D1 D5
D9 D13
datos[15:8]
D2 D6
D10 D14
datos[7:0]
D3 D7
D11 D15
Especificaciones de la interfaz Avalon® 52
Enviar comentarios
683091 | 2022.01.24 Enviar comentarios
6. Interfaces de crédito de transmisión de Avalon
Las interfaces de Avalon Streaming Credit se utilizan con componentes que manejan datos unidireccionales de baja latencia y gran ancho de banda. Las aplicaciones típicas incluyen transmisiones multiplexadas, paquetes y datos DSP. Las señales de la interfaz de Avalon Streaming Credit pueden describir interfaces de transmisión tradicionales que admiten una sola transmisión de datos, sin conocimiento de los canales o los límites de los paquetes. La interfaz también puede admitir protocolos más complejos capaces de realizar transferencias de ráfagas y paquetes con paquetes intercalados en varios canales.
No todas las interfaces de origen y destino de Avalon Streaming Credit son necesariamente interoperables. Sin embargo, si dos interfaces proporcionan funciones compatibles para el mismo espacio de aplicación, hay adaptadores disponibles para permitir que interoperaran.
También puede conectar la fuente de Avalon Streaming Credit a un receptor de Avalon Streaming mediante un adaptador. De manera similar, puede conectar una fuente de Avalon Streaming a un receptor de Avalon Streaming Credit mediante un adaptador.
Las interfaces de Avalon Streaming Credit admiten rutas de datos que requieren las siguientes características:
· Transferencia de datos punto a punto de alto rendimiento y baja latencia
· Compatibilidad con múltiples canales con entrelazado de paquetes flexible
· Señalización de banda lateral de canal, error y delimitación de inicio y fin de paquete.
· Soporte para ráfagas de datos
· Señales de usuario como señales de banda lateral para la funcionalidad que definen los usuarios
6.1. Términos y conceptos
El protocolo de interfaz de Avalon Streaming Credit define los siguientes términos y conceptos:
· Sistema de crédito de transmisión de Avalon: un sistema de crédito de transmisión de Avalon contiene una o más conexiones de crédito de transmisión de Avalon que transfieren datos desde una interfaz de origen a una interfaz de destino.
· Componentes de crédito de Avalon Streaming: un sistema típico que utiliza interfaces de Avalon Streaming combina varios módulos funcionales, denominados componentes. El diseñador del sistema configura los componentes y los conecta entre sí para implementar un sistema.
· Interfaces y conexiones de origen y destino: cuando se conectan dos componentes, los créditos fluyen desde el destino hasta el origen y los datos fluyen desde la interfaz de origen hasta la interfaz de destino. La combinación de una interfaz de origen conectada a una interfaz de destino se denomina conexión.
· Transferencias: una transferencia da como resultado la propagación de datos y control desde una interfaz de origen a una interfaz receptora. En el caso de las interfaces de datos, la interfaz de origen puede iniciar la transferencia de datos solo si tiene créditos disponibles. De manera similar, la interfaz receptora puede aceptar datos solo si tiene créditos pendientes.
Corporación Intel. Reservados todos los derechos. Intel, el logotipo de Intel y otras marcas de Intel son marcas comerciales de Intel Corporation o sus subsidiarias. Intel garantiza el rendimiento de sus productos semiconductores y FPGA según las especificaciones actuales de acuerdo con la garantía estándar de Intel, pero se reserva el derecho de realizar cambios en cualquier producto y servicio en cualquier momento sin previo aviso. Intel no asume ninguna responsabilidad que surja de la aplicación o el uso de cualquier información, producto o servicio descrito en este documento, excepto que Intel lo acuerde expresamente por escrito. Se recomienda a los clientes de Intel que obtengan la última versión de las especificaciones del dispositivo antes de confiar en cualquier información publicada y antes de realizar pedidos de productos o servicios. *Otros nombres y marcas pueden reclamarse como propiedad de otros.
ISO 9001: 2015 registrado
6. Interfaces de crédito de transmisión de Avalon 683091 | 2022.01.24
· Símbolo: un símbolo es la unidad de datos más pequeña. Uno o más símbolos conforman la unidad única de datos transferidos en un ciclo.
· Beat: Un beat es una transferencia de ciclo único entre una interfaz de origen y destino compuesta por uno o más símbolos.
· Paquete: un paquete es una agregación de datos y señales de control que se transmiten juntos. Un paquete puede contener un encabezado para ayudar a los enrutadores y otros dispositivos de red a dirigir el paquete al destino correcto. El formato del paquete lo define la aplicación, no esta especificación. Los paquetes de Avalon Streaming pueden tener una longitud variable y pueden intercalarse en una conexión. Con una interfaz de Avalon Streaming Credit, el uso de paquetes es opcional.
6.2. Funciones de la señal de la interfaz de crédito de transmisión de Avalon
Cada señal en una interfaz de origen o destino de Avalon Streaming Credit corresponde a una función de señal de Avalon Streaming Credit. Una interfaz de Avalon Streaming Credit puede contener solo una instancia de cada función de señal. Todas las funciones de señal de Avalon Streaming Credit se aplican tanto a las fuentes como a los destinos y tienen el mismo significado para ambos.
Tabla 20. Señales de interfaz de transmisión de crédito de Avalon
Nombre de la señal
Dirección
actualizar
Hundirse hasta
1
fuente
Ancho
crédito
Hundirse hasta
1-9
fuente
Opcional / Obligatorio
Descripción
Requerido
El receptor envía una actualización y la fuente actualiza el contador de crédito disponible. El receptor envía una actualización a la fuente cuando se extrae una transacción de su búfer.
El contador de crédito en la fuente aumenta con el valor del bus de crédito desde el sumidero hasta la fuente.
Requerido
Indica crédito adicional disponible en el sumidero cuando se confirma la actualización.
Este bus lleva un valor según lo especificado por el receptor. El ancho del bus de crédito es ceilog2(MAX_CREDIT + 1). El receptor envía el valor de crédito disponible en este bus, que indica la cantidad de transacciones que puede aceptar. La fuente captura el valor de crédito.
Sólo si se confirma la señal de actualización.
return_credit Fuente a 1 sumidero
datos validos
error
De la fuente al sumidero
De la fuente al sumidero
1-8192 1
De la fuente al sumidero
1-256
Requerido Requerido Requerido Opcional
Afirmado por la fuente para devolver 1 crédito al sumidero.
Nota: Para obtener más detalles, consulte la Sección 6.2.3 Devolución de créditos.
Los datos se dividen en símbolos según la definición existente de Avalon Streaming.
Afirmado por la fuente para calificar a todas las demás fuentes para recibir señales. La fuente puede afirmar que es válida solo cuando el crédito disponible para ella es mayor que 0.
Máscara de bits que se utiliza para marcar los errores que afectan a los datos que se transfieren en el ciclo actual. Se utiliza un único bit de error para cada uno de los errores reconocidos por el componente, tal como se define en la propiedad errorDescriptor.
continuado…
Especificaciones de la interfaz Avalon® 54
Enviar comentarios
6. Interfaces de crédito de transmisión de Avalon 683091 | 2022.01.24
Nombre de la señal del canal
inicio del paquete fin del paquete vacío
Dirección Fuente a sumidero
De la fuente al sumidero De la fuente al sumidero De la fuente al sumidero
De la fuente al sumidero
De la fuente al sumidero
Ancho
Opcional / Obligatorio
Descripción
1-128
Opcional
El número de canal para los datos que se transfieren en el ciclo actual.
Si una interfaz admite la señal del canal, también debe definir el parámetro maxChannel.
Señales de transferencia de paquetes
1
Opcional
Afirmado por la fuente para marcar el inicio
de un paquete.
1
Opcional
Afirmado por la fuente para marcar el final de
un paquete.
ceil(log2(NUM_SÍMBOLOS)) Opcional
Indica la cantidad de símbolos que están vacíos, es decir, que no representan datos válidos. La señal vacía no se utiliza en interfaces donde hay un símbolo por pulso.
Señales de usuario
1-8192
Opcional
Puede haber cualquier cantidad de señales de usuario por paquete en las interfaces de origen y destino. La fuente establece el valor de esta señal cuando
Se activa startofpacket. La fuente no debe cambiar el valor de esta señal hasta el inicio del nuevo paquete. Encontrará más detalles en la sección Señales del usuario.
1-8192
Opcional
Puede haber cualquier cantidad de señales de usuario por símbolo en la fuente y el receptor. Hay más detalles en la sección Señales de usuario.
6.2.1 Interfaz sincrónica
Todas las transferencias de una conexión Avalon Streaming se producen de forma sincronizada con el flanco ascendente de la señal de reloj asociada. Todas las salidas de una interfaz de origen a una interfaz de destino,
Las señales de datos, canal y error deben registrarse en el flanco ascendente del reloj. Las entradas a una interfaz de recepción no tienen que registrarse. El registro de señales en la fuente facilita el funcionamiento a alta frecuencia.
Tabla 21. Propiedades de la interfaz de transmisión de créditos de Avalon
Nombre de la propiedad
Valor predeterminado
Valor legal
Descripción
Reloj asociado
1
Reloj
El nombre de la interfaz del Reloj Avalon al que se conecta este
interfaz
La interfaz de transmisión de Avalon es sincrónica.
Reinicio asociado
1
Reiniciar
El nombre de la interfaz de reinicio de Avalon a la que se refiere este
interfaz
La interfaz de transmisión de Avalon es sincrónica.
dataBitsPerSymbol símbolosPorLatido
8
1 8192
Define el número de bits por símbolo. Por ejemploampel,
Las interfaces orientadas a bytes tienen símbolos de 8 bits. Este valor es
no restringido a ser una potencia de 2.
1
1 8192
La cantidad de símbolos que se transfieren en cada
ciclo válido.
Crédito máximo
256
1-256
La cantidad máxima de créditos que una interfaz de datos puede admitir.
continuado…
Enviar comentarios
Especificaciones de la interfaz Avalon® 55
6. Interfaces de crédito de transmisión de Avalon 683091 | 2022.01.24
Error en el nombre de la propiedadDescriptor
Valor predeterminado
0
primerSímboloEnBitsDeOrdenAlto verdadero
canalmáximo
0
Valor legal
Descripción
Lista de cadenas
Una lista de palabras que describen el error asociado con cada bit de la señal de error. La longitud de la lista debe ser la misma que la cantidad de bits en la señal de error. La primera palabra de la lista se aplica al bit de orden más alto. Por ejemplo:ampPor ejemplo, “crc, overflow” significa que el bit [1] de error indica un error de CRC. El bit [0] indica un error de desbordamiento.
verdadero, falso
Cuando es verdadero, el símbolo de primer orden se dirige a los bits más significativos de la interfaz de datos. El símbolo de orden más alto se etiqueta como D0 en esta especificación. Cuando esta propiedad se establece en falso, el primer símbolo aparece en los bits bajos. D0 aparece en data[7:0]. Para un bus de 32 bits, si es verdadero, D0 aparece en bits[31:24].
0
El número máximo de canales que puede tener una interfaz de datos
puede apoyar.
6.2.2 Transferencias de datos típicas
Esta sección define la transferencia de datos desde una interfaz de origen a una interfaz de destino. En todos los casos, la fuente de datos y el destino de datos deben cumplir con la especificación. No es responsabilidad del destino de datos detectar errores de protocolo de origen.
La siguiente figura muestra las señales que normalmente se utilizan en una interfaz de Avalon Streaming Credit.
Figura 33. Señales típicas de transmisión de crédito de Avalon
Como lo indica esta figura, una interfaz de fuente de crédito de transmisión de Avalon típica envía las señales válidas, de datos, de error y de canal al receptor. El receptor envía las señales de actualización y crédito.
Especificaciones de la interfaz Avalon® 56
Enviar comentarios
6. Interfaces de crédito de transmisión de Avalon 683091 | 2022.01.24
Figura 34. Transferencia típica de crédito y datos
La figura anterior muestra una transferencia típica de crédito y datos entre la fuente y el receptor. Puede haber un retraso arbitrario entre el receptor que afirma la actualización y la fuente que la recibe. De manera similar, puede haber un retraso arbitrario entre la fuente que afirma la validez de los datos y el receptor que los recibe. El retraso en la ruta de crédito del receptor a la fuente y la ruta de datos del origen al receptor no necesitan ser iguales. Estos retrasos también pueden ser de ciclo cero, es decir, cuando el receptor afirma la actualización, la fuente lo ve en el mismo ciclo. Por el contrario, cuando la fuente afirma la validez, el receptor lo ve en el mismo ciclo. Si la fuente tiene cero créditos, no puede afirmar la validez. Los créditos transferidos son acumulativos. Si el receptor ha transferido créditos iguales a su propiedad maxCredit y no ha recibido ningún dato, no puede afirmar la actualización hasta que reciba al menos 0 dato o haya recibido un pulso return_credit de la fuente.
El receptor no puede contrapresionar los datos de la fuente si el receptor ha proporcionado créditos a la fuente, es decir, el receptor debe aceptar los datos de la fuente si hay créditos pendientes. La fuente no puede afirmar que es válida si no ha recibido ningún crédito o ha agotado los créditos recibidos, es decir, ya envió los datos en lugar de los créditos recibidos.
Si la fuente tiene cero créditos, no puede iniciar la transferencia de datos en el mismo ciclo en el que recibe los créditos. De manera similar, si el receptor ha transferido créditos iguales a su propiedad maxCredit y recibe datos, el receptor no puede enviar una actualización en el mismo ciclo en el que recibió los datos. Estas restricciones se han implementado para evitar bucles combinacionales en la implementación.
6.2.3. Devolución de los créditos
El protocolo Avalon Streaming Credit admite una señal return_credit. La fuente la utiliza para devolver los créditos al receptor. Cada ciclo en el que se activa esta señal, indica que la fuente está devolviendo 1 crédito. Si la fuente desea devolver varios créditos, esta señal debe activarse para varios ciclos. Por ejemplo,ampPor ejemplo, si la fuente desea devolver 10 créditos pendientes, activa la señal return_credit durante 10 ciclos. El receptor debe tener en cuenta los créditos devueltos en sus contadores de mantenimiento de créditos internos. La fuente puede devolver créditos en cualquier momento siempre que tenga créditos mayores que 0.
La siguiente figura ejemplifica la fuente que devuelve créditos. Como se muestra en la figura, outstanding_credit es un contador interno de la fuente. Cuando la fuente devuelve créditos, este contador se reduce.
Enviar comentarios
Especificaciones de la interfaz Avalon® 57
Figura 35. Fuente que devuelve créditos
6. Interfaces de crédito de transmisión de Avalon 683091 | 2022.01.24
Nota:
Aunque el diagrama anterior muestra la devolución de créditos cuando se anula la validez, return_credit también se puede activar mientras se activa la validez. En este caso, source gasta efectivamente 2 créditos: uno para valid y otro para return_credit.
6.3. Señales de usuario de Avalon Streaming Credit
Las señales de usuario son señales de banda lateral opcionales que fluyen junto con los datos. Se consideran válidas solo cuando los datos son válidos. Dado que las señales de usuario no tienen ningún significado o propósito definido, se debe tener cuidado al utilizarlas. Es responsabilidad del diseñador del sistema asegurarse de que dos IP conectadas entre sí estén de acuerdo con las funciones de las señales de usuario.
Se proponen dos tipos de señales de usuario: señales de usuario por símbolo y señales de usuario por paquete.
6.3.1. Señal de usuario por símbolo
Como sugiere el nombre, los datos definen una señal de usuario por símbolo (symbol_user) por símbolo. Cada símbolo en los datos puede tener una señal de usuario. Por ejemplo:ampes decir, si el número de símbolos en los datos es 8 y el ancho de symbol_user es de 2 bits, el ancho total de la señal symbol_user es de 16 bits.
Symbol_user es válido solo cuando los datos son válidos. La fuente puede cambiar esta señal en cada ciclo cuando los datos son válidos. El receptor puede ignorar el valor de los bits symbol_user para símbolos vacíos.
Si una fuente que tiene esta señal se conecta a un receptor que no tiene esta señal en su interfaz, la señal de la fuente permanece colgando en la interconexión generada.
Si una fuente que no tiene esta señal está conectada a un receptor que tiene esta señal en su interfaz, la señal de usuario de entrada del receptor se vincula a 0.
Si tanto el origen como el destino tienen la misma cantidad de símbolos en los datos, las señales de usuario para ambos deben tener el mismo ancho. De lo contrario, no se pueden conectar.
Especificaciones de la interfaz Avalon® 58
Enviar comentarios
6. Interfaces de crédito de transmisión de Avalon
683091 | 2022.01.24
Si una fuente amplia está conectada a un receptor angosto, y ambas tienen señales de usuario por símbolo, entonces ambas deben tener bits iguales de señal de usuario asociados con cada símbolo. Por ejemploampPor ejemplo, si una fuente de 16 símbolos tiene 2 bits de señal de usuario asociados con cada símbolo (para un total de 32 bits de señal de usuario), entonces un receptor de 4 símbolos debe tener una señal de usuario de 8 bits de ancho (2 bits asociados con cada símbolo). Un adaptador de formato de datos puede convertir los datos de la fuente de 16 símbolos en datos de receptor de 4 símbolos, y la señal de usuario de 32 bits en una señal de usuario de 8 bits. El adaptador de formato de datos mantiene la asociación de los símbolos con los bits de señal de usuario correspondientes.
De manera similar, si una fuente angosta está conectada a un receptor ancho, y ambos tienen señales de usuario por símbolo, entonces ambos deben tener bits iguales de señal de usuario asociados con cada símbolo. Por ejemploampPor ejemplo, si una fuente de 4 símbolos tiene 2 bits de señal de usuario asociados con cada símbolo (para un total de 8 bits de señal de usuario), entonces un receptor de 16 símbolos debe tener una señal de usuario de 32 bits de ancho (2 bits asociados con cada símbolo). Un adaptador de formato de datos puede convertir los datos de la fuente de 4 símbolos en datos receptores de 16 símbolos, y la señal de usuario de 8 bits en una señal de usuario de 32 bits. El adaptador de formato de datos mantiene la asociación de los símbolos con los bits de señal de usuario correspondientes. Si el paquete es más pequeño que la relación de los anchos de los datos, el adaptador de formato de datos establece el valor de vacío en consecuencia. El receptor debe ignorar el valor de los bits de usuario asociados con los símbolos vacíos.
6.3.2. Señal de usuario por paquete
Además de symbol_user, también se pueden declarar en la interfaz señales de usuario por paquete (packet_user). Packet_user puede tener un ancho arbitrario. A diferencia de symbol_user, packet_user debe permanecer constante durante todo el paquete, es decir, su valor debe establecerse al comienzo del paquete y debe permanecer igual hasta el final del mismo. Esta restricción simplifica la implementación del adaptador de formato de datos, ya que elimina la opción de replicar o cortar (fuente amplia, receptor estrecho) o concatenar (fuente estrecha, receptor ancho) packet_user.
Si una fuente tiene packet_user y el receptor no, el packet_user de la fuente permanece inactivo. En tal caso, el diseñador del sistema debe tener cuidado y no transmitir ninguna información de control crítica en esta señal, ya que se ignora total o parcialmente.
Si una fuente no tiene packet_user y el receptor sí, el packet_user del receptor está vinculado a 0.
Enviar comentarios
Especificaciones de la interfaz Avalon® 59
683091 | 2022.01.24 Enviar comentarios
7. Interfaces de conductos Avalon
Nota:
Las interfaces de Avalon Conduit agrupan una colección arbitraria de señales. Puede especificar cualquier función para las señales de conducto. Sin embargo, cuando conecta conductos, las funciones y los anchos deben coincidir, y las direcciones deben ser opuestas. Una interfaz de Avalon Conduit puede incluir señales de entrada, salida y bidireccionales. Un módulo puede tener varias interfaces de Avalon Conduit para proporcionar una agrupación de señales lógica. Las interfaces de conducto pueden declarar un reloj asociado. Cuando las interfaces de conducto conectadas están en diferentes dominios de reloj, Platform Designer genera un mensaje de error.
Si es posible, debe utilizar las interfaces estándar Avalon-MM o Avalon-ST en lugar de crear una interfaz Avalon Conduit. Platform Designer proporciona validación y adaptación para estas interfaces. Platform Designer no puede proporcionar validación ni adaptación para las interfaces Avalon Conduit.
Interfaces de conducto que normalmente se utilizan para controlar señales de dispositivos fuera del chip, como una dirección SDRAM, datos y señales de control.
Corporación Intel. Reservados todos los derechos. Intel, el logotipo de Intel y otras marcas de Intel son marcas comerciales de Intel Corporation o sus subsidiarias. Intel garantiza el rendimiento de sus productos semiconductores y FPGA según las especificaciones actuales de acuerdo con la garantía estándar de Intel, pero se reserva el derecho de realizar cambios en cualquier producto y servicio en cualquier momento sin previo aviso. Intel no asume ninguna responsabilidad que surja de la aplicación o el uso de cualquier información, producto o servicio descrito en este documento, excepto que Intel lo acuerde expresamente por escrito. Se recomienda a los clientes de Intel que obtengan la última versión de las especificaciones del dispositivo antes de confiar en cualquier información publicada y antes de realizar pedidos de productos o servicios. *Otros nombres y marcas pueden reclamarse como propiedad de otros.
ISO 9001: 2015 registrado
7. Interfaces de conductos Avalon 683091 | 2022.01.24
Figura 36. Enfoque en la interfaz del conducto
PHY Ethernet
Sistema Avalon-MM
Procesador Avalon-MM
Anfitrión
MAC de Ethernet
Anfitrión Avalon-MM
Lógica personalizada
Anfitrión Avalon-MM
Estructura de interconexión del sistema
Agente Avalon-MM
Controlador SDRAM
Agente de Avalon
Lógica personalizada
Interfaz de conducto
Memoria SDRAM
7.
Documentos / Recursos
![]() |
Interfaz Intel MNL-AVABUSREF Avalon [pdf] Manual del usuario MNL-AVABUSREF, Interfaz Avalon, Interfaz Avalon MNL-AVABUSREF |