Intel Mailbox Client con Avalon Streaming Interface FPGA IP Guía del usuario
Cliente Intel Mailbox con interfaz de transmisión Avalon FPGA IP

Cliente de buzón con interfaz de transmisión Avalon® Intel FPGA IP Overview

El cliente de buzón con interfaz de transmisión Avalon® Intel® FPGA IP (cliente de buzón con IP de cliente Avalon ST) proporciona un canal de comunicación entre su lógica personalizada y el administrador de dispositivos seguros (SDM). Puede utilizar Mailbox Client con Avalon ST IP para enviar paquetes de comando y recibir paquetes de respuesta de módulos periféricos SDM. El cliente de buzón con Avalon ST IP define las funciones que ejecuta el SDM.

Su lógica personalizada puede utilizar este canal de comunicación para recibir información y acceder a la memoria flash desde los siguientes módulos periféricos:

  • La identificación del chip
  • El sensor de temperatura
  • El Voltagsensor
  • Memoria flash de interfaz periférica serie cuádruple (SPI)

Nota: A lo largo de esta guía del usuario, el término Avalon ST abrevia la interfaz de transmisión o IP de Avalon.

Figura 1. Cliente de buzón con diseño del sistema IP Avalon ST
Cliente de buzón con diseño del sistema IP Avalon ST

La siguiente figura muestra una aplicación en la que Mailbox Client con Avalon ST IP lee el ID del chip.

Cifra 2. Cliente de buzón con Avalon ST IP lee el ID del chip
Cliente de buzón con Avalon ST IP lee el ID del chip

Soporte para familias de dispositivos

A continuación se enumeran las definiciones de niveles de soporte de dispositivos para IP Intel FPGA:

  • Soporte avanzado — La IP está disponible para simulación y compilación para esta familia de dispositivos. Los modelos de tiempo incluyen estimaciones de ingeniería iniciales de retrasos basadas en información temprana posterior al diseño. Los modelos de sincronización están sujetos a cambios a medida que las pruebas de silicio mejoran la correlación entre el silicio real y los modelos de sincronización. Puede utilizar esta IP para estudios de arquitectura del sistema y utilización de recursos, simulación, asignación de pines, evaluaciones de latencia del sistema, evaluaciones de sincronización básica (presupuesto de canalización) y estrategia de transferencia de E/S (ancho de ruta de datos, profundidad de ráfaga, intercambio de estándares de E/S). compensaciones).
  • Soporte preliminar — La IP se verifica con modelos de sincronización preliminares para esta familia de dispositivos. La IP cumple con todos los requisitos funcionales, pero es posible que aún se esté sometiendo a un análisis de sincronización para la familia de dispositivos. Puede utilizarse con precaución en diseños de producción.
  • último apoyo — La IP se verifica con los modelos de sincronización finales para esta familia de dispositivos. El IP cumple con todos los requisitos funcionales y de sincronización para la familia de dispositivos y puede usarse en diseños de producción.

Tabla 1. Soporte para familias de dispositivos

Familia de dispositivos Apoyo
Intel Agilex™ Avance

Nota: No puede simular el cliente de buzón con Avalon Streaming Interface Intel FPGA IP porque la IP recibe las respuestas del SDM. Para validar esta IP, Intel recomienda realizar una evaluación de hardware.

Información relacionada
Cliente de buzón con interfaz de transmisión Avalon Notas de la versión de Intel FPGA IP

Parámetros

Nombre del parámetro Valor Descripción
Habilitar interfaz de estado Encendido apagado Cuando habilita esta interfaz, el cliente de buzón con interfaz de transmisión Avalon Intel FPGA IP incluye la señal command_status_invalid. Cuando command_status_invalid afirma, debe restablecer la IP.

Interfaces
La siguiente figura ilustra el cliente de buzón con interfaces IP Intel FPGA de Avalon Streaming Interface:

Figura 3. Cliente de buzón con interfaz de transmisión Avalon Interfaces IP Intel FPGA
Cliente de buzón con interfaz de transmisión Avalon Interfaces IP Intel FPGA

Para obtener más información sobre las interfaces de transmisión de Avalon, consulte las Especificaciones de la interfaz de Avalon.
Información relacionada
Especificaciones de la interfaz Avalon

Interfaces de reloj y reinicio

Mesa 2. Interfaces de reloj y reinicio

Nombre de la señal Dirección Descripción
en_clk Aporte Este es el reloj de las interfaces de transmisión de Avalon. La frecuencia máxima en 250 MHz.
en_reinicio Aporte Este es un reinicio alto activo. Afirme in_reset para restablecer el cliente de buzón con interfaz de transmisión Avalon Intel FPGA IP (cliente de buzón con IP Avalon ST). Cuando se activa la señal in_reset, el SDM debe eliminar cualquier actividad pendiente del cliente de buzón con Avalon ST IP. El SDM continúa procesando comandos de otros clientes.

Para garantizar que Mailbox Client con Avalon ST IP funcione correctamente cuando el dispositivo ingresa al modo de usuario, su diseño debe incluir la versión de reinicio de IP de Intel FPGA para mantener el reinicio hasta que la estructura FPGA ingrese al modo de usuario. Intel recomienda utilizar un sincronizador de reinicio al conectar el reinicio del usuario o la salida de la IP de versión de reinicio a

el puerto de reinicio del Mailbox Client con Avalon ST IP. Para implementar el sincronizador de reinicio, utilice el Reset Bridge Intel FPGA IP disponible en Platform Designer.

Nota: Para obtener pautas de conexión y creación de instancias de IP en Platform Designer, consulte los componentes de host y comunicación necesarios para el diseño de actualización remota del sistema Ex.ample figura en la Guía del usuario de configuración de Intel Agilex.

Interfaz de comando
Utilice la interfaz Avalon Streaming (Avalon ST) para enviar comandos al SDM.

Tabla 3. Interfaz de comando

Nombre de la señal Dirección Descripción
comando_listo Producción El cliente de buzón con IP Avalon ST Intel FPGA afirma command_ready cuando está listo para recibir comandos de la aplicación. Ready_latency es 0 ciclos. El cliente de buzón con Avalon ST puede aceptar command_data[31:0] en el mismo ciclo que afirma command_ready.
comando_válido Aporte La señal command_valid afirma que command_data es válido.
datos_comando[31:0] Aporte El bus command_data envía comandos al SDM. Consulte Lista de comandos y descripción para obtener definiciones de los comandos.
comando_iniciodelpaquete Aporte Command_startofpacket afirma en el primer ciclo de un paquete de comando.
comando_endofpacket Aporte Command_endofpacket afirma en el último ciclo de comando un paquete.

Cifra 4. Momento del paquete de comando Avalon ST
fig:m Paquete de comando ST

Interfaz de respuesta
La IP del cliente SDM Avalon ST envía respuestas a su aplicación mediante la interfaz de respuesta.

Tabla 4. Interfaz de respuesta

Señal 5 Dirección Descripción
respuesta_lista Aporte La lógica de la aplicación puede afirmar la señal Response_Ready siempre que pueda recibir una respuesta.
respuesta_válida Producción El SDM afirma respuesta_válida para indicar que respuesta_datos es válido.
datos_respuesta[31:0] Producción El SDM controla Response_data para proporcionar la información solicitada. La primera palabra de la respuesta es un encabezado que identifica el comando que proporciona el SDM. Referirse a Lista de comandos y descripción para definiciones de los comandos.
respuesta_iniciodelpaquete Producción Response_startofpacket afirma en el primer ciclo de un paquete de respuesta.
respuesta_endofpacket Producción Response_endofpacket afirma en el último ciclo de un paquete de respuesta.

Figura 5. Momento del paquete de respuesta de Avalon ST
Paquete de respuesta de Avalon ST

Interfaz de estado de comando

Tabla 5. Interfaz de estado de comando

Nombre de la señal Dirección Descripción
estado_comando_inválido Producción Command_status_invalid afirma indicar un error. Esta señal normalmente afirma que la longitud del comando especificado en el encabezado del comando no coincide con la longitud del comando enviado. Cuando se afirma command_status_invalid, la lógica de su aplicación debe afirmar in_reset para reiniciar el cliente de buzón con la interfaz de transmisión Avalon Intel FPGA IP.

Figura 6. Restablecer después de afirmaciones command_status_invalid
fig: command_status_invalid Afirmaciones

Comandos y respuestas

El controlador de host se comunica con el SDM mediante paquetes de comando y respuesta a través del IP Intel FPGA del cliente de buzón.

La primera palabra de los paquetes de comando y respuesta es un encabezado que proporciona información básica sobre el comando o la respuesta.

Figura 7. Formato de encabezado de comando y respuesta
fig: Formato de encabezado de comando y respuesta

Nota: El campo LENGTH en el encabezado del comando debe coincidir con la longitud del comando correspondiente.
La siguiente tabla describe los campos del comando de encabezado.

Tabla 6. Descripción del encabezado de comando y respuesta

Encabezamiento Poco Descripción
Reservado [31:28] Reservado.
ID [27:24] La identificación del comando. El encabezado de respuesta devuelve el ID especificado en el encabezado del comando. Consulte Comandos de operación para obtener descripciones de los comandos.
0 [23] Reservado.
LONGITUD [22:12] Número de palabras de argumentos que siguen al encabezado. El IP responde con un error si se ingresa una cantidad incorrecta de palabras de argumentos para un comando determinado.
Si hay una discrepancia entre la longitud del comando especificada en el encabezado del comando y la cantidad de palabras enviadas. La IP genera el bit 3 del registro de estado de interrupción (COMMAND_INVALID) y se debe restablecer el cliente de buzón.
Reservado [11] Reservado. Debe establecerse en 0.
Código de comando/Código de error [10:0] El código de comando especifica el comando. El código de error indica si el comando tuvo éxito o falló.
En el encabezado del comando, estos bits representan el código de comando. En el encabezado de respuesta, estos bits representan un código de error. Si el comando tiene éxito, el código de error es 0. Si el comando falla, consulte los códigos de error definidos en el Respuestas de códigos de error.

Comandos de operación

Restablecer flash SPI cuádruple
Importante:
Para dispositivos Intel Agilex, debe conectar el pin de reinicio del flash serial o del flash SPI cuádruple al pin AS_nRST. El SDM debe controlar completamente el reinicio de QSPI. No conecte el pin de reinicio de quad SPI a ningún host externo.

Tabla 7. Lista de comandos y descripción

Dominio Código (hexadecimal) Longitud del comando (1) Longitud de respuesta (1) Descripción
No, no. 0 0 0 Envía una respuesta de estado OK.
OBTENER_IDCODE 10 0 1 La respuesta contiene un argumento que es el J.TAG CÓDIGO ID del dispositivo
GET_CHIPID 12 0 2 La respuesta contiene un valor CHIPID de 64 bits con la palabra menos significativa primero.
OBTENER_USERCODE 13 0 1 La respuesta contiene un argumento que es el J de 32 bits.TAG USERCODE que el flujo de bits de configuración escribe en el dispositivo.
OBTENER_VOLTAGE 18 1 norte(2) El GET_VOLTAGEl comando E tiene un único argumento que es una máscara de bits que especifica los canales a leer. El bit 0 especifica el canal 0, el bit 1 especifica el canal 1, y así sucesivamente.
La respuesta incluye un argumento de una palabra para cada bit establecido en la máscara de bits. el volumentagEl resultado es un número de punto fijo sin signo con 16 bits debajo del punto binario. por ejemploample, un volumentage de 0.75 V devuelve 0x0000C000. (3)
Los dispositivos Intel Agilex tienen un solo vol.tagsensor electrónico. En consecuencia, la respuesta es siempre una palabra.
OBTENER_ TEMPERATURA 19 1 n(4) El comando GET_TEMPERATURE devuelve la temperatura o temperaturas de la estructura central o las ubicaciones del canal transceptor que especifique.

Para dispositivos Intel Agilex, utilice el argumento sensor_req para especificar las ubicaciones. sensor_req incluye los siguientes campos:

  • Bits[31:28]: Reservado.
  • Bits[27:16]: Ubicación del sensor. Especifica la ubicación de TSD.
  • Bits[15:0]: Máscara del sensor. Especifica los sensores que se leerán para la ubicación del sensor especificada. La respuesta contiene una palabra para cada temperatura solicitada. Si se omite, el comando lee el canal 0. El bit menos significativo (lsb) corresponde al sensor 0. El bit más significativo (msb) corresponde al canal 15.

La temperatura devuelta es un valor fijo con signo con 8 bits por debajo del punto binario. por ejemploampPor ejemplo, una temperatura de 10 °C devuelve 0x00000A00. Una temperatura de -1.5 °C devuelve 0xFFFFFE80.
Si la máscara de bits especifica una ubicación no válida, el comando devuelve un código de error que es cualquier valor en el rango 0x80000000 -0x800000FF.
Para dispositivos Intel Agilex, consulte la Guía del usuario de Intel Agilex Power Management para obtener más información sobre los sensores de temperatura locales integrados.

RSU_IMAGE_ACTUALIZACIÓN 5C 2 0 Activa la reconfiguración desde la fuente de datos, que puede ser la imagen de fábrica o de una aplicación.
continuado…
  1. Este número no incluye el comando ni el encabezado de respuesta.
  2. Para los dispositivos Intel Agilex que admiten la lectura de varios dispositivos, el índice n coincide con la cantidad de canales que habilita en su dispositivo.
  3. Consulte la Guía del usuario de administración de energía Intel Agilex para obtener más información sobre los canales y ubicaciones de los sensores de temperatura.
  4. El índice n depende del número de máscaras de sensores.
Dominio Código (hexadecimal) Longitud del comando (1) Longitud de respuesta (1) Descripción
Este comando toma un argumento opcional de 64 bits que especifica la dirección de datos de reconfiguración en la memoria flash. Al enviar el argumento a la IP, primero envía los bits [31:0] seguidos de los bits [63:32]. Si no proporciona este argumento, se supone que su valor es 0.
  • Bit [31:0]: la dirección inicial de una imagen de aplicación.
  • Bit [63:32]: Reservado (escribir como 0).

Una vez que el dispositivo procesa este comando, devuelve el encabezado de respuesta a la respuesta FIFO antes de proceder a reconfigurar el dispositivo. Asegúrese de que la PC host o el controlador host dejen de atender otras interrupciones y se centren en leer los datos del encabezado de respuesta para indicar que el comando se completó correctamente. De lo contrario, es posible que la PC host o el controlador host no puedan recibir la respuesta una vez iniciado el proceso de reconfiguración.
Una vez que el dispositivo continúa con la reconfiguración, se pierde el enlace entre el host externo y la FPGA. Si utiliza PCIe en su diseño, deberá volver a enumerar el enlace PCIe.
Importante: Al restablecer el SPI cuádruple, debe seguir las instrucciones especificadas en Restablecer flash SPI cuádruple en la página 9.

RSU_GET_SPT 5A 0 4 RSU_GET_SPT recupera la ubicación flash SPI cuádruple para las dos tablas de subparticiones que utiliza la RSU: SPT0 y SPT1.
La respuesta de 4 palabras contiene la siguiente información:
Palabra Nombre Descripción
0 SPT0[63:32] Dirección SPT0 en flash SPI cuádruple.
1 SPT0[31:0]
2 SPT1[63:32] Dirección SPT1 en flash SPI cuádruple.
3 SPT1[31:0]
CONFIG_ESTADO 4 0 6 Informa el estado de la última reconfiguración. Puede utilizar este comando para verificar el estado de la configuración durante y después de la configuración. La respuesta contiene la siguiente información:
Palabra Resumen Descripción
0 Estado Describe el error relacionado con la configuración más reciente. Devuelve 0 cuando no hay errores de configuración.
El campo de error tiene 2 campos:
  • 16 bits superiores: código de error grave.
  • 16 bits inferiores: código de error menor.

Consulte el Apéndice: CONFIG_ESTADO y descripciones del código de error RSU_STATUS en el cliente de buzón de correo Intel IP de FPGA  Guía del usuario para obtener más información.

1 Versión en cuarto Disponible en las versiones del software Intel Quartus® Prime entre 19.4 y 21.2, el campo muestra:
  • Bit [31:28]: Índice del firmware o copia del firmware de decisión que se utilizó más recientemente. Los valores posibles son 0, 1, 2 y 3.
  • Bit [27:24]: Reservado
  • Bit [23:16]: El valor es '0'
Disponible en la versión 21.3 o posterior del software Intel Quartus Prime, la versión Quartus muestra:
  • Bit [31:28]: Índice del firmware o copia del firmware de decisión que se utilizó más recientemente. Los valores posibles son 0, 1, 2 y 3.
  • Bit [27:24]: Reservado
  • Bit [23:16]: Número de versión principal de Quartus
  • Bit [15:8]: número de versión menor de Quartus
  • Bit [7:0]: número de actualización de Quartus

Por ejemploampPor ejemplo, en la versión 21.3.1 del software Intel Quartus Prime, los siguientes valores representan los números de versión principal y secundaria de Quartus, y el número de actualización de Quartus:

  • Bits [23:16] = 8'd21 = 8'h15
  • Bits [15:8] = 8'd3 = 8'h3
  • Bits [7:0] = 8'd1 = 8'h1
2 Estado del marcador
  • Bit [31]: Valor de salida actual de nSTATUS (bajo activo)
  • Bit [30]: Valor de entrada nCONFIG detectado (activo bajo)
  • Bit [29:8]: Reservado
  • Bit [7:6]: fuente de reloj de configuración
    • 01 = Oscilador interno
    • 10 = OSC_CLK_1
  • Bit [5:3]: Reservado
  • Bit [2:0]: El valor MSEL al encender
3 Estado de la función suave Contiene el valor de cada una de las funciones suaves, incluso si no ha asignado la función a un pin SDM.
  • Bit [31:6]: Reservado
  • Bit [5]: HPS_WARMRESET
  • Bit [4]: ​​HPS_COLDRESET
  • Bit [3]: SEU_ERROR
  • Bit [2]: CVP_DONE
  • Bit [1]: INIT_DONE
  • Bit [0]: CONF_DONE
4 Ubicación del error Contiene la ubicación del error. Devuelve 0 si no hay errores.
5 Error de detalles Contiene los detalles del error. Devuelve 0 si no hay errores.
RSU_ESTADO 5B 0 9 Informa el estado actual de actualización del sistema remoto. Puede utilizar este comando para verificar el estado de la configuración durante la configuración y después de que se haya completado. Este comando devuelve las siguientes respuestas:
Palabra Resumen Descripción

(Continuar….)

  1. Este número no incluye el comando ni el encabezado de respuesta.
0-1 Imagen actual Desplazamiento flash de la imagen de la aplicación actualmente en ejecución.
2-3 Imagen fallida Desplazamiento flash de la imagen de la aplicación fallida de mayor prioridad. Si hay varias imágenes disponibles en la memoria flash, almacena el valor de la primera imagen que falló. Un valor de todos 0 indica que no hay imágenes fallidas. Si no hay imágenes fallidas, el resto de las palabras restantes de la información de estado no almacenan información válida.
Nota:Un flanco ascendente en nCONFIG para reconfigurar desde ASx4 no borra este campo. La información sobre la imagen defectuosa solo se actualiza cuando Mailbox Client recibe un nuevo comando RSU_IMAGE_UPDATE y se configura correctamente desde la imagen de actualización.
4 Estado Código de error de la imagen defectuosa. El campo de error tiene dos partes:
  • Bit [31:16]: Código de error mayor
  • Bit [15:0]: Código de error menor Devuelve 0 si no hay fallas. Referirse a

Apéndice: Descripciones de códigos de error CONFIG_STATUS y RSU_STATUS en la Guía del usuario de IP FPGA Intel de Mailbox Client para obtener más información.

5 Versión Versión de la interfaz RSU y origen del error.
Para obtener más información, consulte la sección Códigos de error y estado de RSU en la Guía del usuario de actualización remota del sistema del sistema de procesador duro.
6 Ubicación del error Almacena la ubicación del error de la imagen fallida. Devuelve 0 si no hay errores.
7 Error de detalles Almacena los detalles del error de la imagen fallida. Devuelve 0 si no hay errores.
8 Contador de reintentos de imagen actual Recuento del número de reintentos que se han intentado para la imagen actual. El contador es 0 inicialmente. El contador se establece en 1 después del primer reintento y luego en 2 después del segundo reintento.
Especifique el número máximo de reintentos en la configuración de Intel Quartus Prime File (.qsf). El comando es: set_global_assignment -name RSU_MAX_RETRY_COUNT 3. Los valores válidos para el contador MAX_RETRY son 1-3. El número real de reintentos disponibles es MAX_RETRY -1
Este campo se agregó en la versión 19.3 del software Intel Quartus Prime Pro Edition.
continuado…
  1. Este número no incluye el comando ni el encabezado de respuesta.
RSU_NOTIFY 5D 1 0 Borra toda la información de error en la respuesta RSU_STATUS y restablece el contador de reintentos. El argumento de una palabra tiene los siguientes campos:
  • 0x00050000: Borrar el contador de reintentos de reinicio actual. Al restablecer el contador de reintentos actual, el contador vuelve a cero, como si la imagen actual se hubiera cargado correctamente por primera vez.
  • 0x00060000: Borrar información de estado de error.
  • Los demás valores están reservados.

Este comando no está disponible antes de la versión 19.3 del software Intel Quartus Prime Pro Edition.

QSPI_OPEN 32 0 0 Solicita acceso exclusivo al quad SPI. Usted emite esta solicitud antes que cualquier otra solicitud QSPI. El SDM acepta la solicitud si el SPI cuádruple no está en uso y el SDM no está configurando el dispositivo.
Devuelve OK si el SDM concede acceso.
El SDM otorga acceso exclusivo al cliente que utiliza este buzón. Otros clientes no pueden acceder al SPI cuádruple hasta que el cliente activo renuncie al acceso mediante el comando QSPI_CLOSE.
El acceso a los dispositivos de memoria flash SPI cuádruple a través de cualquier IP de cliente de buzón no está disponible de forma predeterminada en diseños que incluyen HPS, a menos que deshabilite QSPI en la configuración del software HPS.
Importante: Al restablecer el SPI cuádruple, debe seguir las instrucciones especificadas en Restablecer flash SPI cuádruple en la página 9.
QSPI_CLOSE 33 0 0 Cierra el acceso exclusivo a la interfaz quad SPI.
Importante:Al restablecer el SPI cuádruple, debe seguir las instrucciones especificadas en Restablecer flash SPI cuádruple en la página 9.
QSPI_SET_CS 34 1 0 Especifica uno de los dispositivos SPI cuádruples conectados a través de las líneas de selección de chip. Toma un argumento de una palabra como se describe a continuación
  • Bits[31:28]: Dispositivo flash para seleccionar. Consulte la información a continuación para conocer el valor que corresponde a los pines nCSO[0:3]
    • El valor 4'h0000 selecciona el flash que corresponde a nCSO[0].
    • El valor 4'h0001 selecciona el flash que corresponde a nCSO[1].
    • El valor 4'h0002 selecciona el flash que corresponde a nCSO[2].
    • El valor 4'h0003 selecciona el flash que corresponde a nCSO[3].
  • Bits[27:0]: Reservado (escribir como 0).

Nota: Los dispositivos Intel Agilex o Intel Stratix® 10 admiten un dispositivo de memoria flash AS x4 para la configuración AS desde un dispositivo SPI cuádruple conectado a nCSO[0]. Una vez que el dispositivo ingresa al modo de usuario, puede usar hasta cuatro memorias flash AS x4 para usar con Mailbox Client IP o HPS como almacenamiento de datos. TheMailbox Client IP o HPS pueden usar nCSO[3:0] para acceder a dispositivos SPI cuádruples.
Este comando es opcional para el esquema de configuración de AS x4, la línea de selección de chip sigue al último comando QSPI_SET_CS ejecutado o por defecto es nCSO[0] después de la configuración de AS x4. la jTAG El esquema de configuración requiere ejecutar este comando para acceder al flash QSPI que conecta los pines SDM_IO.
El acceso a los dispositivos de memoria flash QSPI mediante pines SDM_IO solo está disponible para el esquema de configuración AS x4, JTAG configuración y un diseño compilado para la configuración AS x4. Para el esquema de configuración de la interfaz de transmisión de Avalon (Avalon ST), debe conectar las memorias flash QSPI a los pines GPIO.

continuado…
  1. Este número no incluye el comando ni el encabezado de respuesta.
Importante: Al restablecer el SPI cuádruple, debe seguir las instrucciones especificadas en Restablecer flash SPI cuádruple en la página 9.
QSPI_READ 3A 2 N Lee el dispositivo SPI cuádruple adjunto. El tamaño máximo de transferencia es de 4 kilobytes (KB) o 1024 palabras.
Toma dos argumentos:
  • La dirección flash SPI cuádruple (una palabra). La dirección debe estar alineada con las palabras. El dispositivo devuelve el código de error 0x1 para direcciones no alineadas.
  • Número de palabras a leer (una palabra).

Cuando tiene éxito, devuelve OK seguido de los datos leídos del dispositivo SPI cuádruple. Una respuesta de error devuelve un código de error.
Para una lectura parcialmente exitosa, QSPI_READ puede devolver erróneamente el estado OK.
Nota: No puede ejecutar el comando QSPI_READ mientras la configuración del dispositivo está en curso.
Importante:Al restablecer el SPI cuádruple, debe seguir las instrucciones especificadas en Restablecer flash SPI cuádruple en la página 9.

QSPI_WRITE 39 2+N 0 Escribe datos en el dispositivo SPI cuádruple. El tamaño máximo de transferencia es de 4 kilobytes (KB) o 1024 palabras.
Toma tres argumentos:
  • El desplazamiento de la dirección flash (una palabra). La dirección de escritura debe estar alineada con palabras.
  • El número de palabras a escribir (una palabra).
  • Los datos a escribir (una o más palabras). Una escritura exitosa devuelve el código de respuesta OK.

Para preparar la memoria para escrituras, utilice el comando QSPI_ERASE antes de emitir este comando.
Nota: No puede ejecutar el comando QSPI_WRITE mientras la configuración del dispositivo está en curso.
Importante:Al restablecer el SPI cuádruple, debe seguir las instrucciones especificadas en Restablecer flash SPI cuádruple en la página 9.

QSPI_ERASE 38 2 0 Borra un sector de 4/32/64 KB del dispositivo SPI cuádruple. Toma dos argumentos:
  • La dirección flash se desplaza para iniciar el borrado (una palabra). Dependiendo de la cantidad de palabras a borrar, la dirección inicial debe ser:
    • 4 KB alineados si el número de palabras a borrar es 0x400
    • 32 KB alineados si el número de palabras a borrar es 0x2000
    • 64 KB alineados si el número de palabras a borrar es 0x4000. Devuelve un error para direcciones que no están alineadas con 4/32/64 KB.
  • El número de palabras a borrar se especifica en múltiplos de:
    • 0x400 para borrar 4 KB (100 palabras) de datos. Esta opción es el tamaño mínimo de borrado.
    • 0x2000 para borrar 32 KB (500 palabras) de datos
    • 0x4000 para borrar 64 KB (1000 palabras) de datos. Un borrado exitoso devuelve el código de respuesta OK.

Importante:Al restablecer el SPI cuádruple, debe seguir las instrucciones especificadas en Restablecer flash SPI cuádruple en la página 9.

QSPI_READ_DEVICE_REG 35 2 N Lee registros del dispositivo quad SPI. La lectura máxima es de 8 bytes. Toma dos argumentos:
  • El código de operación para el comando de lectura.
  • El número de bytes a leer.
continuado…
  1. Este número no incluye el comando ni el encabezado de respuesta.
Una lectura exitosa devuelve el código de respuesta OK seguido de los datos leídos del dispositivo. La devolución de datos leídos es en múltiplos de 4 bytes. Si los bytes a leer no son un múltiplo exacto de 4 bytes, se rellena con un múltiplo de 4 bytes hasta el siguiente límite de palabra y el valor del bit rellenado es cero.
Importante: Al restablecer el SPI cuádruple, debe seguir las instrucciones especificadas en Restablecer flash SPI cuádruple en la página 9.
QSPI_WRITE_DEVICE_REG 36 2+N 0 Escribe en los registros del quad SPI. La escritura máxima es de 8 bytes. Toma tres argumentos:
  • El código de operación para el comando de escritura.
  • El número de bytes a escribir.
  • Los datos a escribir.

Para realizar un borrado de sector o de subsector, debe especificar la dirección flash serie en el orden del byte más significativo (MSB) al byte menos significativo (LSB) como se muestra a continuación.ample ilustra.
Para borrar un sector de una memoria flash Micron de 2 gigabits (Gb) en la dirección 0x04FF0000 usando el comando QSPI_WRITE_DEVICE_REG, escriba la dirección flash en orden MSB a LSB como se muestra aquí:
Encabezamiento: 0x00003036 Código de operación: 0x000000DC
Número de bytes a escribir: 0x00000004 Dirección flash: 0x0000FF04
Una escritura exitosa devuelve el código de respuesta OK. Este comando rellena datos que no son múltiplos de 4 bytes hasta el siguiente límite de palabra. El comando rellena los datos con cero.
Importante:Al restablecer el SPI cuádruple, debe seguir las instrucciones especificadas en Restablecer flash SPI cuádruple en la página 9.

QSPI_SEND_DEVICE_OP 37 1 0 Envía un código de operación de comando al quad SPI. Toma un argumento:
  • El código de operación para enviar el dispositivo SPI cuádruple.

Un comando exitoso devuelve el código de respuesta OK.
Importante:Al restablecer el SPI cuádruple, debe seguir las instrucciones especificadas en Restablecer flash SPI cuádruple en la página 9.

Para obtener descripciones de los códigos de error mayores y menores de CONFIG_STATUS y RSU_STATUS, consulte el Apéndice: Descripciones de códigos de error de CONFIG_STATUS y RSU_STATUS en la Guía del usuario de IP Intel FPGA de Mailbox Client.
Información relacionada

Respuestas de códigos de error

Tabla 8. Códigos de error

Valor (hexadecimal) Respuesta del código de error Descripción
0 OK Indica que el comando se completó correctamente.
Un comando puede devolver erróneamente el estado OK si un comando, como
QSPI_READ es parcialmente exitoso.
1 COMANDO INVÁLIDO Indica que la ROM de arranque actualmente cargada no puede decodificar ni reconocer el código de comando.
3 COMANDO DESCONOCIDO Indica que el firmware actualmente cargado no puede decodificar el código de comando.
4 PARÁMETROS INVALID_COMMAND_ Indica que el comando tiene un formato incorrecto. por ejemploamparchivo, la configuración del campo de longitud en el encabezado no es válida.
6 COMMAND_INVALID_ON_FUENTE Indica que el comando proviene de una fuente para la cual no está habilitado.
8 CLIENT_ID_NO_MATCH Indica que el ID del cliente no puede completar la solicitud para cerrar el acceso exclusivo a quad SPI. La ID del cliente no coincide con el cliente existente con el acceso exclusivo actual a quad SPI.
9 DIRECCIÓN INVÁLIDA La dirección no es válida. Este error indica una de las siguientes condiciones:
  • Una dirección no alineada
  • Un problema de rango de direcciones
  • Un problema de permiso de lectura
  • Un valor de selección de chip no válido, que muestra un valor de más de 3
  • Una dirección no válida en el caso RSU
  • Un valor de máscara de bits no válido para GET_VOLTAGcomando mi
  • Una selección de página no válida para el comando GET_TEMPERATURE
A AUTENTICACIÓN_FAIL Indica el error de autenticación de firma de flujo de bits de configuración.
B SE ACABÓ EL TIEMPO Este error indica que se agotó el tiempo debido a las siguientes condiciones:
  • Dominio
  • Esperando a que se complete la operación QSPI_READ
  • Esperando la lectura de temperatura solicitada de uno de los sensores de temperatura. Puede indicar un posible error de hardware en el sensor de temperatura.
C HW_NOT_READY Indica una de las siguientes condiciones:
  • El hardware no está listo. Puede indicar un problema de inicialización o de configuración. El hardware puede referirse a SPI cuádruple.
  • La imagen RSU no se utiliza para configurar la FPGA.
D HW_ERROR Indica que el comando se completó correctamente debido a un error de hardware irrecuperable.
80 – 8 °F COMANDO_ESPECÍFICO_ERROR Indica un error específico del comando debido a un comando SDM que utilizó.
SDM

Dominio

Nombre del error Código de error Descripción
GET_CHIPID EFUSE_SYSTEM_ FALLO 0x82 Indica que el puntero de caché de eFuse no es válido.
QSPI_OPEN/ QSPI_CLOSE/ QSPI_SET_CS/

QSPI_READ_D EVICE_REG/

QSPI_HW_ERROR 0x80 Indica un error de memoria flash QSPI. Este error indica una de las siguientes condiciones:
QSPI_WRITE_DEVICE_REG/

QSPI_SEND_D EVICE_OP/

QSPI_READ

  • Un problema de configuración de selección del chip flash QSPI
  • Un problema de inicialización de flash QSPI
  • Un problema de reinicio del flash QSPI
  • Un problema de actualización de la configuración del flash QSPI
QSPI_ALREADY_ABIERTO 0x81 Indica que el acceso exclusivo del cliente a QSPI flash mediante el comando QSPI_OPEN ya está abierto.
100 NO CONFIGURADO Indica que el dispositivo no está configurado.
1FF ALT_SDM_MBOX_RESP_ DISPOSITIVO_ OCUPADO Indica que el dispositivo está ocupado debido a los siguientes casos de uso:
  • RSU: El firmware no puede pasar a una versión diferente debido a un error interno.
  • HPS: HPS está ocupado durante el proceso de reconfiguración de HPS o reinicio en frío de HPS.
2FF ALT_SDM_MBOX_RESP_NO _ VALID_RESP_AVAILABLE Indica que no hay ninguna respuesta válida disponible.
3FF ALT_SDM_MBOX_RESP_ ERROR Error general.

Recuperación del código de error
La siguiente tabla describe los posibles pasos para recuperarse de un código de error. La recuperación de errores depende del caso de uso específico.
Tabla 9. Recuperación de códigos de error para códigos de error conocidos

Valor Respuesta del código de error Recuperación del código de error
4 PARÁMETROS INVALID_COMMAND_ Vuelva a enviar el encabezado del comando o el encabezado con argumentos con parámetros corregidos.
Por ejemploamparchivo, asegúrese de que la configuración del campo de longitud en el encabezado se envíe con el valor correcto.
6 COMMAND_INVALID_ON_SOURCE Vuelva a enviar el comando desde una fuente válida como JTAG, HPS o tejido central.
8 CLIENT_ID_NO_MATCH Espere a que el cliente que abrió el acceso a quad SPI complete su acceso y luego cierre el acceso exclusivo a quad SPI.
9 DIRECCIÓN INVÁLIDA Posibles pasos de recuperación de errores:
Para GET_VOLTAGComando E: envía el comando con una máscara de bits válida.
Para el comando GET_TEMPERATURE: envíe el comando con una ubicación y máscara de sensor válidas.
Para operación QSPI:
  • Envíe el comando con una selección de chip válida.
  • Envíe el comando con una dirección flash QSPI válida.

Para RSU: envíe el comando con una dirección de inicio válida de la imagen o aplicación de fábrica.

B SE ACABÓ EL TIEMPO Posibles pasos de recuperación:

Para el comando GET_TEMPERATURE: vuelva a intentar enviar el comando. Si el problema persiste, reconfigure o apague y encienda el dispositivo.

Para operación QSPI: verifique la integridad de la señal de las interfaces QSPI e intente el comando nuevamente.

Para la operación de reinicio de HPS: vuelva a intentar enviar el comando.

C HW_NOT_READY Posibles pasos de recuperación:

Para operación QSPI: reconfigure el dispositivo a través de la fuente. Asegúrese de que la IP utilizada para construir su diseño permita el acceso a la memoria flash QSPI.

Para RSU: Configure el dispositivo con la imagen RSU.

80 QSPI_HW_ERROR Verifique la integridad de la señal de la interfaz QSPI y asegúrese de que el dispositivo QSPI no esté dañado.
81 QSPI_ALREADY_OPEN El cliente ya abrió QSPI. Continúe con la siguiente operación.
82 EFUSE_SYSTEM_FAILURE Intente reconfigurar o reiniciar. Si el error persiste después de la reconfiguración o el ciclo de encendido, es posible que el dispositivo esté dañado y sea irrecuperable.
100 NO CONFIGURADO Envíe un flujo de bits que configure el HPS.
1FF ALT_SDM_MBOX_RESP_ DISPOSITIVO_ OCUPADO Posibles pasos de recuperación de errores:

Para operación QSPI: Espere a que la configuración en curso u otro cliente complete la operación.

Para RSU: reconfigure el dispositivo para recuperarse de un error interno.

Para la operación de reinicio de HPS: Espere a que se complete la reconfiguración mediante HPS o HPS Cold Reset.

Cliente de buzón con interfaz de transmisión Avalon Archivos de documentos de la guía del usuario de IP FPGA Intel

Para obtener las versiones más recientes y anteriores de esta guía del usuario, consulte Cliente de buzón con Avalon Streaming Interface Intel FPGA IP User Guide. Si una IP o versión de software no aparece en la lista, se aplica la guía del usuario para la IP o versión de software anterior.

Las versiones de IP son las mismas que las versiones del software Intel Quartus Prime Design Suite hasta v19.1. A partir de la versión 19.2 o posterior del software Intel Quartus Prime Design Suite, los núcleos de IP tienen un nuevo esquema de control de versiones de IP.

Historial de revisión de documentos para el cliente de buzón con interfaz de transmisión Avalon Guía del usuario de Intel FPGA IP

Versión del documento Versión Intel Quartus Prime Versión IP Cambios
2022.09.26 22.3 1.0.1 Se realizaron los siguientes cambios:
  • Se actualizó el GET_VOLTAGFila de comando E en el

Tabla de lista de comandos y descripción.

  • Se agregó una nota al soporte de la familia de dispositivos de mesa.
  • Revisado QSPI_SET_CS descripción del comando en la tabla Lista de comandos y Descripción.
2022.04.04 22.1 1.0.1 Se actualizó la lista de comandos y la tabla de descripción.
  • Descripción del estado del pin actualizada para el comando CONFIG_STATUS.
  • Se eliminó el comando REBOOT_HPS.
2021.10.04 21.3 1.0.1 Se realizó el siguiente cambio:
  • Revisado Lista de comandos y descripción mesa. Descripción actualizada para:
    • CONFIG_ESTADO
    • RSU_ESTADO
2021.06.21 21.2 1.0.1 Se realizaron los siguientes cambios:
  • Revisado Lista de comandos y descripción mesa. Descripción actualizada para:
    • RSU_ESTADO
    • QSPI_OPEN
    • QSPI_SET_CS
    • QSPI_ERASE
2021.03.29 21.1 1.0.1 Se realizaron los siguientes cambios:
  • Descripción revisada de RSU_IMAGE_UPDATE en el Lista de comandos y descripción mesa.
  • Reestructurado Comandos de operación. Se eliminaron las descripciones de los códigos de error mayores y menores para los comandos CONFIG_STATUS y RSU_STATUS. Los códigos de error mayores y menores ahora están documentados como un apéndice en el Guía del usuario de IP Intel FPGA del cliente de buzón.
2020.12.14 20.4 1.0.1 Se realizaron los siguientes cambios:
  • Se agregó una nota importante sobre cómo restablecer el flash QSPI en el Comandos de operación tema.
  • Se actualizó el Lista de comandos y descripción mesa:
    • Descripción del comando GET_TEMPERATURE revisada.
    • Descripción del comando RSU_IMAGE_UPDATE revisada.
  • Se agregó texto sobre cómo restablecer la memoria flash QSPI.
  • Se agregó texto que describe el comportamiento entre el host externo y la FPGA.
  • Texto eliminado: Devuelve una respuesta distinta de cero si el dispositivo ya está procesando un comando de configuración.
    • Se actualizaron las descripciones de QSPI_WRITE y QSPI_READ para especificar que el tamaño máximo de transferencia es de 4 kilobytes o 1024 palabras.
    • Longitud de respuesta corregida de 1 a 0 para QSPI_OPEN, QSPI_CLOSE y QSPI_SET_CS dominio.
    • Descripciones revisadas de QSPI_OPEN, QSPI_WRITE, QSPI_READ_DEVICE_REG y QSPI_WRITE_DEVICE_REG.
    • Se agregó un nuevo comando: REBOOT_HPS.
  • Se agregó un nuevo tema: Recuperación del código de error.
2020.10.05 20.3 1.0.1
  • Se cambió el título de esta guía del usuario de Buzón Avalon Streaming Interface Client Intel FPGA IP Guía del usuario a Cliente de buzón con Avalon Streaming Interface Intel FPGA IP User Guide debido al cambio de nombre de IP en el catálogo de IP Intel Quartus Prime.
  • Se actualizaron globalmente todas las instancias de nombres de IP.
  • Se revisó la descripción del comando GET TEMPERATURE para dispositivos Intel Agilex en el Lista de comandos y descripción mesa.
  • Se agregó una recomendación sobre el sincronizador de reinicio en el Interfaces de reloj y reinicio mesa.
  • Se actualizó el Códigos de error mesa. Se agregaron nuevas respuestas de códigos de error:
    • HW_ERROR
    • COMMAND_SPECIFIC_ERROR
  • Se eliminó el Ubicaciones del sensor de temperatura tema. La información del sensor de temperatura está disponible en la Guía del usuario de administración de energía Intel Agilex.
2020.06.30 20.2 1.0.0
  • Se cambió el título de esta guía del usuario de Buzón Avalon ST Client Intel FPGA IP Guía del usuario a Buzón Avalon Streaming Interface Client Intel FPGA IP Guía del usuario.
  • Título del tema renombrado Encabezado de comando y respuesta a Comandos y respuestas.
  • Descripciones revisadas de ID, LONGITUD y Código de comando/Código de error en el Descripción del encabezado de comando y respuesta mesa.
  • Título del tema renombrado Comandos compatibles a Comandos de operación.
  • Se revisó la siguiente descripción de comandos en el Lista de comandos y descripción mesa:
    • OBTENER_TEMPERATURA
    • RSU_ESTADO
    • QSPI_SET_CS
  • Título del tema renombrado Códigos de error a Respuestas de códigos de error.
  • Se eliminó el comando UNKNOWN_BR del Código de error mesa.
2020.04.13 20.1 1.0.0 Se realizaron los siguientes cambios:
  • Se agregó información sobre los sensores de temperatura para el comando GET_TEMPERATURE, incluidas figuras que ilustran las ubicaciones de TSD.
  • Se agregó el comando RSU_NOTIFY en el Lista de códigos de comando y descripción mesa.
  • Se actualizó el Códigos de error mesa:
    • Se cambió el nombre de INVALID_COMMAND_PARAMETERS a INVALID_LENGTH.
    • Se modificó el valor hexadecimal COMMAND_INVALID_ON_SOURCE de 5 a 6.
    • Se modificó el valor hexadecimal CLIENT_ID_NO_MATCH de 6 a 8.
    • Se cambió el valor hexadecimal INVALID_ADDRESS de 7 a 9.
    • Se agregó el comando AUTHENTICATION_FAIL.
    • Se cambió el valor hexadecimal de TIMEOUT de 8 a B.
    • Se cambió el valor hexadecimal de HW_NOT_READY de 9 a C.
2019.09.30 19.3 1.0.0 Lanzamiento inicial.

 Para comentarios, visite:  FPGAtechdocfeedback@intel.com

 

Documentos / Recursos

Cliente Intel Mailbox con interfaz de transmisión Avalon FPGA IP [pdf] Guía del usuario
Cliente de buzón con interfaz de transmisión Avalon FPGA IP, cliente de buzón, interfaz de transmisión Avalon FPGA IP

Referencias

Deja un comentario

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados *