Intel Mailbox Client con Avalon Streaming Interface FPGA IP User Guide
Intel Mailbox Client con Avalon Streaming Interface FPGA IP

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

O cliente de caixa de correo con interface de transmisión de Avalon® Intel® FPGA IP (cliente de caixa de correo con IP cliente de Avalon ST) proporciona unha canle de comunicación entre a súa lóxica personalizada e o xestor de dispositivos seguro (SDM). Pode utilizar o cliente de caixa de correo con Avalon ST IP para enviar paquetes de comandos e recibir paquetes de resposta dos módulos periféricos SDM. O cliente de caixa de correo con Avalon ST IP define as funcións que executa o SDM.

A túa lóxica personalizada pode usar esta canle de comunicación para recibir información e acceder á memoria flash desde os seguintes módulos periféricos:

  • ID do chip
  • O sensor de temperatura
  • O Voltage Sensor
  • Memoria flash de interfaz periférica serial cuádruple (SPI).

Nota: Ao longo desta guía de usuario, o termo Avalon ST abrevia a interface de transmisión ou IP de Avalon.

Figura 1. Cliente de caixa de correo con deseño de sistema IP Avalon ST
Cliente de caixa de correo con deseño de sistema IP Avalon ST

A seguinte figura mostra unha aplicación na que o Cliente da caixa de correo con Avalon ST IP le o ID do chip.

Figura 2. O cliente de caixa de correo con Avalon ST IP lee o ID do chip
O cliente de caixa de correo con Avalon ST IP lee o ID do chip

Apoio á familia do dispositivo

A seguinte lista as definicións do nivel de compatibilidade do dispositivo para as IP Intel FPGA:

  • Apoio anticipado — A IP está dispoñible para simulación e compilación para esta familia de dispositivos. Os modelos de temporización inclúen estimacións de enxeñería iniciais dos atrasos baseadas na información inicial posterior ao deseño. Os modelos de temporización están suxeitos a cambios xa que as probas de silicio melloran a correlación entre o silicio real e os modelos de temporización. Podes usar esta IP para estudos de arquitectura do sistema e utilización de recursos, simulación, pin-out, avaliacións de latencia do sistema, avaliacións básicas de tempo (orzamento de pipeline) e estratexia de transferencia de E/S (ancho da ruta de datos, profundidade de ráfaga, comercio de estándares de E/S). offs).
  • Apoio previo — Verifícase a IP con modelos de temporización preliminares para esta familia de dispositivos. A IP cumpre todos os requisitos funcionais, pero aínda é posible que estea en proceso de análise de tempo para a familia de dispositivos. Pódese usar en deseños de produción con precaución.
  • Apoio final — Verifícase a IP con modelos de temporización finais para esta familia de dispositivos. O IP cumpre todos os requisitos funcionais e de tempo para a familia de dispositivos e pódese usar en deseños de produción.

Táboa 1. Apoio á familia do dispositivo

Familia de dispositivos Apoio
Intel Agilex™ Avanza

Nota: Non pode simular o cliente de caixa de correo con IP FPGA Intel Avalon Streaming Interface porque a IP recibe as respostas do SDM. Para validar esta IP, Intel recomenda que realice unha avaliación de hardware.

Información relacionada
Cliente de caixa de correo con interfaz de transmisión Avalon Intel FPGA IP Notas de lanzamento

Parámetros

Nome do parámetro Valor Descrición
Activar a interface de estado Acendido apagado Cando habilita esta interface, o Cliente de caixa de correo coa interface de transmisión de Avalon Intel FPGA IP inclúe o sinal command_status_invalid. Cando command_status_invalid afirma, debes restablecer a IP.

Interfaces
A seguinte figura ilustra o cliente da caixa de correo con interfaces IP FPGA Intel Avalon Streaming Interface:

Figura 3. Cliente de caixa de correo con interface de transmisión Avalon Interfaces IP Intel FPGA
Cliente de caixa de correo con interface de transmisión Avalon Interfaces IP Intel FPGA

Para obter máis información sobre as interfaces de streaming de Avalon, consulte as especificacións da interface de Avalon.
Información relacionada
Especificacións da interface Avalon

Interfaces de reloxo e reinicio

Táboa 2. Interfaces de reloxo e reinicio

Nome do sinal Dirección Descrición
in_clk Entrada Este é o reloxo das interfaces de transmisión de Avalon. A frecuencia máxima en 250 MHz.
in_reset Entrada Este é un reinicio alto activo. Afirma in_reset para restablecer o cliente de caixa de correo coa interface de transmisión de Avalon Intel FPGA IP (cliente de caixa de correo con IP de Avalon ST). Cando se activa o sinal in_reset, o SDM debe eliminar calquera actividade pendente do cliente da caixa de correo coa IP de Avalon ST. O SDM segue procesando comandos doutros clientes.

Para garantir que o Mailbox Client con Avalon ST IP funcione correctamente cando o dispositivo entra no modo de usuario, o seu deseño debe incluír o Reset Release Intel FPGA IP para manter o restablecemento ata que o tecido FPGA entre no modo de usuario. Intel recomenda usar un sincronizador de reinicio ao conectar o reinicio do usuario ou a saída da IP de reinicio de reinicio

o porto de reinicio do cliente da caixa de correo con Avalon ST IP. Para implementar o sincronizador de reinicio, use a IP FPGA de Reset Bridge Intel dispoñible no Platform Designer.

Nota: Para consultar as directrices de conexión e instanciación de IP no Deseñador de plataformas, consulte os Compoñentes de comunicación e anfitrión necesarios para o deseño de actualización do sistema remoto Ex.ampfigura na Guía de usuario de configuración de Intel Agilex.

Interfaz de comandos
Use a interface Avalon Streaming (Avalon ST) para enviar comandos ao SDM.

Táboa 3. Interface de comandos

Nome do sinal Dirección Descrición
comando_listo Saída O cliente Mailbox con Avalon ST Intel FPGA IP afirma command_ready cando está listo para recibir comandos da aplicación. O ready_latency é de 0 ciclos. O cliente da caixa de correo con Avalon ST pode aceptar command_data[31:0] no mesmo ciclo que command_ready afirma.
comando_válido Entrada O sinal command_valid afirma para indicar que command_data é válido.
datos_comando[31:0] Entrada O bus command_data dirixe os comandos ao SDM. Consulte Lista de comandos e descrición para coñecer as definicións dos comandos.
comando_startofpacket Entrada O comando_startofpacket afirma no primeiro ciclo dun paquete de comandos.
comando_endofpacket Entrada O comando_endofpacket afirma no último ciclo de comando un paquete.

Figura 4. Temporalización para o paquete de comandos Avalon ST
fig:m Paquete de comandos ST

Interface de resposta
O SDM Avalon ST Client IP envía respostas á súa aplicación mediante a interface de resposta.

Táboa 4. Interface de resposta

Sinal 5 Dirección Descrición
resposta_listo Entrada A lóxica da aplicación pode facer valer o sinal response_ready sempre que sexa capaz de recibir unha resposta.
resposta_válida Saída O SDM afirma response_valid para indicar que response_data é válido.
datos_resposta[31:0] Saída O SDM impulsa response_data para proporcionar a información solicitada. A primeira palabra da resposta é unha cabeceira que identifica o comando que está a proporcionar o SDM. Refírense a Lista de comandos e descrición para definicións dos comandos.
response_startofpacket Saída O response_startofpacket afirma no primeiro ciclo dun paquete de resposta.
resposta_endofpacket Saída O response_endofpacket afirma no último ciclo dun paquete de resposta.

Figura 5. Tempo para o paquete de resposta Avalon ST
Paquete de resposta Avalon ST

Interface de estado de comandos

Táboa 5. Interface de estado de comandos

Nome do sinal Dirección Descrición
comando_status_invalid Saída O comando_status_invalid afirma para indicar un erro. Este sinal normalmente indica que a lonxitude do comando especificado na cabeceira do comando non coincide coa lonxitude do comando enviado. Cando command_status_invalid afirma, a lóxica da súa aplicación debe afirmar in_reset para reiniciar o Cliente da caixa de correo coa interface de transmisión de Avalon Intel FPGA IP.

Figura 6. Restablecer despois das afirmacións command_status_invalid
fig: command_status_invalid Asserts

Comandos e Respostas

O controlador anfitrión comunícase co SDM mediante paquetes de comandos e respostas a través do IP FPGA Intel de Mailbox Client.

A primeira palabra dos paquetes de comandos e respostas é unha cabeceira que proporciona información básica sobre o comando ou a resposta.

Figura 7. Formato de cabeceira de comandos e respostas
fig: Formato de cabeceira de comando e resposta

Nota: O campo LENGTH da cabeceira do comando debe coincidir coa lonxitude do comando correspondente.
A seguinte táboa describe os campos do comando de cabeceira.

Táboa 6. Descrición da cabeceira de comandos e respostas

Cabeceira Bit Descrición
Reservado [31:28] Reservado.
ID [27:24] ID do comando. A cabeceira da resposta devolve o ID especificado na cabeceira do comando. Consulte Comandos de operación para ver as descricións dos comandos.
0 [23] Reservado.
LONXITUDE [22:12] Número de palabras dos argumentos que seguen a cabeceira. A IP responde cun erro se se introduce un número incorrecto de palabras de argumentos para un determinado comando.
Se hai unha discrepancia entre a lonxitude do comando especificada na cabeceira do comando e o número de palabras enviadas. A IP eleva o bit 3 do Rexistro de estado de interrupción (COMMAND_INVALID) e o cliente da caixa de correo debe restablecerse.
Reservado [11] Reservado. Debe establecerse en 0.
Código de comando/Código de erro [10:0] Código de comando especifica o comando. O código de erro indica se o comando foi ou non.
Na cabeceira do comando, estes bits representan o código do comando. Na cabeceira da resposta, estes bits representan código de erro. Se o comando ten éxito, o código de erro é 0. Se o comando falla, consulte os códigos de erro definidos no Respostas do código de erro.

Comandos de operación

Reiniciando Quad SPI Flash
Importante:
Para os dispositivos Intel Agilex, debes conectar o pin de restablecemento do flash serial ou quad SPI ao pin AS_nRST. O SDM debe controlar totalmente o restablecemento de QSPI. Non conecte o pin de reinicio SPI cuádruple a ningún host externo.

Táboa 7. Lista de comandos e descrición

Comando Código (hexadecimal) Lonxitude do comando (1) Lonxitude da resposta (1) Descrición
NOOP 0 0 0 Envía unha resposta de estado OK.
GET_IDCODE 10 0 1 A resposta contén un argumento que é o JTAG IDCODE para o dispositivo
GET_CHIPID 12 0 2 A resposta contén un valor CHIPID de 64 bits coa palabra menos significativa primeiro.
GET_USERCODE 13 0 1 A resposta contén un argumento que é o J de 32 bitsTAG CÓDIGO DE USUARIO que o fluxo de bits de configuración escribe no dispositivo.
GET_VOLTAGE 18 1 n (2) O GET_VOLTAGO comando E ten un único argumento que é unha máscara de bits que especifica as canles a ler. O bit 0 especifica a canle 0, o bit 1 especifica a canle 1, etc.
A resposta inclúe un argumento dunha palabra para cada conxunto de bits na máscara de bits. O voltagO devolto é un número de punto fixo sen signo con 16 bits por debaixo do punto binario. Por example, un voltage de 0.75 V devolve 0x0000C000. (3)
Os dispositivos Intel Agilex teñen un só voltage sensor. En consecuencia, a resposta é sempre unha palabra.
GET_ TEMPERATURE 19 1 n(4) O comando GET_TEMPERATURE devolve a temperatura ou as temperaturas do núcleo central ou das localizacións das canles do transceptor que especifique.

Para dispositivos Intel Agilex, use o argumento sensor_req para especificar as localizacións. O sensor_req inclúe os seguintes campos:

  • Bits[31:28]: Reservado.
  • Bits[27:16]: localización do sensor. Especifica a localización do TSD.
  • Bits[15:0]: máscara de sensor. Especifica os sensores que se van ler para a localización do sensor especificada. A resposta contén unha palabra por cada temperatura solicitada. Se se omite, o comando le a canle 0. O bit menos significativo (lsb) corresponde ao sensor 0. O bit máis significativo (msb) corresponde á canle 15.

A temperatura devolta é un valor fixo con signo con 8 bits por debaixo do punto binario. Por example, unha temperatura de 10 °C devolve 0x00000A00. A de temperatura -1.5 °C devolve 0xFFFFFE80.
Se a máscara de bits especifica unha localización non válida, o comando devolve un código de erro que é calquera valor no intervalo 0x80000000 -0x800000FF.
Para os dispositivos Intel Agilex, consulte a Intel Agilex Power Management User Guide para obter máis información sobre os sensores de temperatura integrados locais.

RSU_IMAGE_ ACTUALIZACIÓN 5C 2 0 Activa a reconfiguración desde a fonte de datos que pode ser a imaxe de fábrica ou unha aplicación.
continuou…
  1. Este número non inclúe a cabeceira do comando nin da resposta.
  2. Para os dispositivos Intel Agilex que admiten a lectura de varios dispositivos, o índice n coincide co número de canles que activas no teu dispositivo.
  3. Consulte o Guía de usuario de Intel Agilex Power Management para obter máis información sobre as canles e localizacións dos sensores de temperatura.
  4. O índice n depende do número de máscaras de sensor.
Comando Código (hexadecimal) Lonxitude do comando (1) Lonxitude da resposta (1) Descrición
Este comando leva un argumento opcional de 64 bits que especifica o enderezo de datos de reconfiguración no flash. Ao enviar o argumento á IP, primeiro envía os bits [31:0] seguidos de bits [63:32]. Se non fornece este argumento, suponse que o seu valor é 0.
  • Bit [31:0]: o enderezo de inicio dunha imaxe de aplicación.
  • Bit [63:32]: reservado (escribe como 0).

Unha vez que o dispositivo procesa este comando, devolve a cabeceira de resposta á resposta FIFO antes de proceder a reconfigurar o dispositivo. Asegúrate de que o ordenador host ou o controlador host deixa de atender outras interrupcións e se concentra na lectura dos datos da cabeceira da resposta para indicar que o comando completouse correctamente. En caso contrario, é posible que o PC host ou o controlador host non poidan recibir a resposta unha vez iniciado o proceso de reconfiguración.
Unha vez que o dispositivo continúa coa reconfiguración, pérdese a ligazón entre o host externo e a FPGA. Se usas PCIe no teu deseño, debes volver enumerar a ligazón PCIe.
Importante: Ao restablecer quad SPI, debes seguir as instrucións especificadas en Reiniciando Quad SPI Flash na páxina 9.

RSU_GET_SPT 5A 0 4 RSU_GET_SPT recupera a localización flash SPI cuádruple para as dúas táboas de subparticións que usa a RSU: SPT0 e SPT1.
A resposta de 4 palabras contén a seguinte información:
Palabra Nome Descrición
0 SPT0[63:32] Enderezo SPT0 en flash quad SPI.
1 SPT0[31:0]
2 SPT1[63:32] Enderezo SPT1 en flash quad SPI.
3 SPT1[31:0]
CONFIG_ ESTADO 4 0 6 Informa do estado da última reconfiguración. Podes usar este comando para comprobar o estado da configuración durante e despois da configuración. A resposta contén a seguinte información:
Palabra Resumo Descrición
0 Estado Describe o erro relacionado coa configuración máis recente. Devolve 0 cando non hai erros de configuración.
O campo de erro ten 2 campos:
  • 16 bits superiores: código de erro maior.
  • 16 bits inferiores: código de erro menor.

Consulte o apéndice: CONFIG_STATUS e RSU_STATUS Descricións dos códigos de erro no Mailbox Client Intel FPGA IP  Guía de usuario para máis información.

1 Versión Quartus Dispoñible nas versións do software Intel Quartus® Prime entre 19.4 e 21.2, o campo mostra:
  • Bit [31:28]: índice do firmware ou da copia do firmware de decisión que se utilizou máis recentemente. Os valores posibles son 0, 1, 2 e 3.
  • Bit [27:24]: Reservado
  • Bit [23:16]: o valor é '0'
Dispoñible na versión de software Intel Quartus Prime 21.3 ou posterior, a versión de Quartus mostra:
  • Bit [31:28]: índice do firmware ou da copia do firmware de decisión que se utilizou máis recentemente. Os valores posibles son 0, 1, 2 e 3.
  • Bit [27:24]: Reservado
  • Bit [23:16]: número de lanzamento de Major Quartus
  • Bit [15:8]: número de lanzamento de Quartus menor
  • Bit [7:0]: número de actualización de Quartus

Por example, na versión 21.3.1 do software Intel Quartus Prime, os seguintes valores representan os números de versión principal e secundario de Quartus e o número de actualización de Quartus:

  • Bit [23:16] = 8'd21 = 8'h15
  • Bit [15:8] = 8'd3 = 8'h3
  • Bit [7:0] = 8'd1 = 8'h1
2 Estado do pin
  • Bit [31]: valor de saída nSTATUS actual (activo baixo)
  • Bit [30]: valor de entrada nCONFIG detectado (activo baixo)
  • Bit [29:8]: Reservado
  • Bit [7:6]: fonte do reloxo de configuración
    • 01 = Oscilador interno
    • 10 = OSC_CLK_1
  • Bit [5:3]: Reservado
  • Bit [2:0]: o valor MSEL ao acender
3 Estado da función suave Contén o valor de cada unha das funcións suaves, aínda que non teña asignada a 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 Erro de localización Contén a localización do erro. Devolve 0 se non hai erros.
5 Detalles do erro Contén os detalles do erro. Devolve 0 se non hai erros.
RSU_STATUS 5B 0 9 Informa do estado actual de actualización do sistema remoto. Podes usar este comando para comprobar o estado da configuración durante a configuración e despois de que se complete. Este comando devolve as seguintes respostas:
Palabra Resumo Descrición

(Continuar....)

  1. Este número non inclúe a cabeceira do comando nin da resposta
0-1 Imaxe actual Desfase de flash da imaxe da aplicación en execución.
2-3 Imaxe fallida Desfase de flash da imaxe da aplicación con falla de prioridade máis alta. Se hai varias imaxes dispoñibles na memoria flash, almacena o valor da primeira imaxe que fallou. Un valor de todos os 0 indica que non hai imaxes que fallan. Se non hai imaxes que fallan, o resto das palabras restantes da información de estado non almacenan información válida.
Nota:Un borde ascendente en nCONFIG para reconfigurar desde ASx4 non borra este campo. A información sobre a imaxe que falla só se actualiza cando o cliente da caixa de correo recibe un novo comando RSU_IMAGE_UPDATE e se configura correctamente a partir da imaxe de actualización.
4 Estado Código de erro da imaxe que falla. O campo de erro ten dúas partes:
  • Bit [31:16]: código de erro maior
  • Bit [15:0]: código de erro menor Devolve 0 sen fallos. Refírense a

Apéndice: descricións dos códigos de erro CONFIG_STATUS e RSU_STATUS na Guía de usuario de IP Intel FPGA Client Box de correo para obter máis información.

5 Versión Versión da interface RSU e fonte de erro.
Para obter máis información, consulte a sección Estado de RSU e códigos de erro na Guía de usuario de actualización do sistema remoto do sistema de procesador duro.
6 Erro de localización Almacena a localización do erro da imaxe que falla. Devolve 0 sen erros.
7 Detalles do erro Almacena os detalles do erro da imaxe que falla. Devolve 0 se non hai erros.
8 Contador de reintentos da imaxe actual Reconto do número de reintentos que se tentaron para a imaxe actual. O contador é 0 inicialmente. O contador establécese en 1 despois do primeiro reintento e despois en 2 despois dun segundo reintento.
Especifique o número máximo de reintentos na súa configuración de Intel Quartus Prime File (.qsf). O comando é: set_global_assignment -name RSU_MAX_RETRY_COUNT 3. Os valores válidos para o contador MAX_RETRY son 1-3. O número real de reintentos dispoñibles é MAX_RETRY -1
Este campo engadiuse na versión 19.3 do software Intel Quartus Prime Pro Edition.
continuou…
  1. Este número non inclúe a cabeceira do comando nin da resposta.
RSU_NOTIFY 5D 1 0 Borra toda a información de erro na resposta RSU_STATUS e restablece o contador de reintentos. O argumento dunha palabra ten os seguintes campos:
  • 0x00050000: Borrar o contador de reintentos de reinicio actual. Ao restablecer o contador de reintentos actual volve poñer o contador a cero, coma se a imaxe actual se cargase correctamente por primeira vez.
  • 0x00060000: Borrar a información do estado do erro.
  • Todos os demais valores están reservados.

Este comando non está dispoñible antes da versión 19.3 do software Intel Quartus Prime Pro Edition.

QSPI_OPEN 32 0 0 Solicita acceso exclusivo ao quad SPI. Emite esta solicitude antes de calquera outra solicitude QSPI. O SDM acepta a solicitude se o SPI cuádruple non está en uso e o SDM non está configurando o dispositivo.
Devolve OK se o SDM concede o acceso.
O SDM concede acceso exclusivo ao cliente mediante esta caixa de correo. Outros clientes non poden acceder ao SPI cuádruple ata que o cliente activo renuncie ao acceso mediante o comando QSPI_CLOSE.
O acceso aos dispositivos de memoria flash SPI cuádruple a través de calquera IP de cliente de caixa de correo non está dispoñible de forma predeterminada nos deseños que inclúen o HPS, a non ser que desactive o QSPI na configuración do software HPS.
Importante: Ao restablecer quad SPI, debes seguir as instrucións especificadas en Reiniciando Quad SPI Flash na páxina 9.
QSPI_CLOSE 33 0 0 Pecha o acceso exclusivo á interface SPI cuádruple.
Importante:Ao restablecer quad SPI, debes seguir as instrucións especificadas en Reiniciando Quad SPI Flash na páxina 9.
QSPI_SET_CS 34 1 0 Especifica un dos dispositivos SPI cuádruple conectados a través das liñas de selección de chip. Toma un argumento dunha palabra como se describe a continuación
  • Bits[31:28]: dispositivo flash para seleccionar. Consulte a información a continuación para coñecer o valor que corresponde aos pinos nCSO[0:3].
    • O valor 4'h0000 selecciona o flash que corresponde a nCSO[0].
    • O valor 4'h0001 selecciona o flash que corresponde a nCSO[1].
    • O valor 4'h0002 selecciona o flash que corresponde a nCSO[2].
    • O valor 4'h0003 selecciona o flash que corresponde nCSO[3].
  • Bits[27:0]: reservado (escribe como 0).

Nota: Os dispositivos Intel Agilex ou Intel Stratix® 10 admiten un dispositivo de memoria flash AS x4 para a configuración AS desde un dispositivo SPI cuádruple conectado a nCSO[0]. Unha vez que o dispositivo accede ao modo de usuario, pode utilizar ata catro memorias flash AS x4 para usar con Mailbox Client IP ou HPS como almacenamento de datos. TheMailbox Client IP ou HPS poden usar nCSO[3:0] para acceder a dispositivos SPI cuádruples.
Este comando é opcional para o esquema de configuración AS x4, a liña de selección de chip segue o último comando QSPI_SET_CS executado ou predeterminado é nCSO[0] despois da configuración AS x4. O JTAG O esquema de configuración require executar este comando para acceder ao flash QSPI que conecta os pinos SDM_IO.
O acceso aos dispositivos de memoria flash QSPI mediante pines SDM_IO só está dispoñible para o esquema de configuración AS x4, JTAG configuración e un deseño compilado para a configuración AS x4. Para o esquema de configuración da interface de transmisión de Avalon (Avalon ST), debes conectar as memorias flash QSPI aos pinos GPIO.

continuou…
  1. Este número non inclúe a cabeceira do comando nin da resposta
Importante: Ao restablecer quad SPI, debes seguir as instrucións especificadas en Reiniciando Quad SPI Flash na páxina 9.
QSPI_READ 3A 2 N Le o dispositivo quad SPI conectado. O tamaño máximo de transferencia é de 4 kilobytes (KB) ou 1024 palabras.
Toma dous argumentos:
  • O enderezo flash SPI cuádruple (unha palabra). O enderezo debe estar aliñado con palabras. O dispositivo devolve o código de erro 0x1 para enderezos non aliñados.
  • Número de palabras a ler (unha palabra).

Cando teña éxito, devolve OK seguido dos datos lidos do dispositivo SPI cuádruple. Unha resposta de erro devolve un código de erro.
Para unha lectura parcialmente exitosa, QSPI_READ pode devolver erroneamente o estado OK.
Nota: Non pode executar o comando QSPI_READ mentres se está a configurar o dispositivo.
Importante:Ao restablecer quad SPI, debes seguir as instrucións especificadas en Reiniciando Quad SPI Flash na páxina 9.

QSPI_WRITE 39 2+N 0 Escribe datos no dispositivo quad SPI. O tamaño máximo de transferencia é de 4 kilobytes (KB) ou 1024 palabras.
Toma tres argumentos:
  • O desprazamento do enderezo flash (unha palabra). O enderezo de escritura debe estar aliñado con palabras.
  • O número de palabras a escribir (unha palabra).
  • Os datos a escribir (unha ou varias palabras). Unha escritura correcta devolve o código de resposta OK.

Para preparar a memoria para as escrituras, use o comando QSPI_ERASE antes de emitir este comando.
Nota: Non pode executar o comando QSPI_WRITE mentres se está a configurar o dispositivo.
Importante:Ao restablecer quad SPI, debes seguir as instrucións especificadas en Reiniciando Quad SPI Flash na páxina 9.

QSPI_ERASE 38 2 0 Borra un sector de 4/32/64 KB do dispositivo SPI cuádruple. Toma dous argumentos:
  • O desprazamento do enderezo flash para iniciar o borrado (unha palabra). Segundo o número de palabras a borrar, o enderezo de inicio debe ser:
    • 4 KB aliñados se as palabras numéricas para borrar son 0x400
    • 32 KB aliñados se as palabras numéricas para borrar son 0x2000
    • 64 KB aliñados se as palabras numéricas para borrar son 0x4000 Devolve un erro para os enderezos non aliñados con 4/32/64 KB.
  • O número de palabras a borrar especifícase en múltiplos de:
    • 0x400 para borrar 4 KB (100 palabras) de datos. Esta opción é o 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 devolve o código de resposta OK.

Importante:Ao restablecer quad SPI, debes seguir as instrucións especificadas en Reiniciando Quad SPI Flash na páxina 9.

QSPI_READ_ DEVICE_REG 35 2 N Le os rexistros do dispositivo SPI cuádruple. A lectura máxima é de 8 bytes. Toma dous argumentos:
  • O código de operación para o comando de lectura.
  • O número de bytes para ler.
continuou…
  1. Este número non inclúe a cabeceira do comando nin da resposta.
Unha lectura correcta devolve o código de resposta OK seguido dos datos lidos do dispositivo. O retorno de datos lidos está en múltiplo de 4 bytes. Se os bytes a ler non son un múltiplo exacto de 4 bytes, enchérase con múltiplo de 4 bytes ata que o límite da seguinte palabra e o valor de bit acolchado sexa cero.
Importante: Ao restablecer quad SPI, debes seguir as instrucións especificadas en Reiniciando Quad SPI Flash na páxina 9.
QSPI_WRITE_DEVICE_REG 36 2+N 0 Escribe nos rexistros do quad SPI. A escritura máxima é de 8 bytes. Toma tres argumentos:
  • O código de operación para o comando de escritura.
  • O número de bytes para escribir.
  • Os datos a escribir.

Para realizar un borrado de sector ou borrado de subsector, debe especificar o enderezo flash en serie na orde do byte máis significativo (MSB) ao byte menos significativo (LSB) como o seguinte:ample ilustra.
Para borrar un sector dunha memoria flash Micron 2 gigabit (Gb) no enderezo 0x04FF0000 mediante o comando QSPI_WRITE_DEVICE_REG, escriba o enderezo flash na orde MSB a LSB como se mostra aquí:
Cabeceira: 0x00003036 Código de operación: 0x000000DC
Número de bytes para escribir: 0x00000004 Enderezo flash: 0x0000FF04
Unha escritura correcta devolve o código de resposta OK. Este comando rellena os datos que non son un múltiplo de 4 bytes ata o límite da seguinte palabra. O comando rellena os datos con cero.
Importante:Ao restablecer quad SPI, debes seguir as instrucións especificadas en Reiniciando Quad SPI Flash na páxina 9.

QSPI_SEND_ DEVICE_OP 37 1 0 Envía un código de operación de comando ao quad SPI. Toma un argumento:
  • O código de operación para enviar o dispositivo SPI cuádruple.

Un comando exitoso devolve o código de resposta OK.
Importante:Ao restablecer quad SPI, debes seguir as instrucións especificadas en Reiniciando Quad SPI Flash na páxina 9.

Para obter descricións dos códigos de erros maiores e menores de CONFIG_STATUS e RSU_STATUS, consulte o Apéndice: Descricións dos códigos de erro de CONFIG_STATUS e RSU_STATUS na Guía de usuario de IP de Intel FPGA de Mailbox Client.
Información relacionada

Respostas do código de erro

Táboa 8. Códigos de erro

Valor (hexadecimal) Código de erro de resposta Descrición
0 OK Indica que o comando completouse correctamente.
Un comando pode devolver erroneamente o estado OK se un comando, como
QSPI_READ foi parcialmente exitoso.
1 INVALID_COMMAND Indica que a ROM de inicio cargada actualmente non pode decodificar nin recoñecer o código de comando.
3 UNKNOWN_COMMAND Indica que o firmware cargado actualmente non pode decodificar o código de comando.
4 INVALID_COMMAND_ PARAMETERS Indica que o comando ten un formato incorrecto. Por example, a configuración do campo de lonxitude na cabeceira non é válida.
6 COMMAND_INVALID_ON_ SOURCE Indica que o comando procede dunha fonte para a que non está activado.
8 CLIENT_ID_NO_MATCH Indica que o ID de cliente non pode completar a solicitude para pechar o acceso exclusivo a quad SPI. O ID de cliente non coincide co cliente existente co acceso exclusivo actual a quad SPI.
9 INVALID_ADDRESS O enderezo non é válido. Este erro indica unha das seguintes condicións:
  • Un enderezo non aliñado
  • Un problema de rango de enderezos
  • Un problema de permiso de lectura
  • Un valor de selección de chip non válido, que mostra un valor superior a 3
  • Un enderezo non válido no caso de RSU
  • Un valor de máscara de bits non válido para GET_VOLTAGcomando E
  • Unha selección de páxina non válida para o comando GET_TEMPERATURE
A AUTHENTICATION_FAIL Indica o fallo de autenticación de sinatura de fluxo de bits de configuración.
B TEMPO DE ESPERA Este erro indica o tempo de espera debido ás seguintes condicións:
  • Comando
  • Agardando a que se complete a operación QSPI_READ
  • Agardando pola lectura de temperatura solicitada dun dos sensores de temperatura. Pode indicar un posible erro de hardware no sensor de temperatura.
C HW_NON_LISTA Indica unha das seguintes condicións:
  • O hardware non está preparado. Pode indicar un problema de inicialización ou de configuración. O hardware pode referirse a quad SPI.
  • A imaxe RSU non se usa para configurar a FPGA.
D HW_ERROR Indica que o comando completouse sen éxito debido a un erro de hardware irrecuperable.
80-8F ERRO_ESPECÍFICO_COMANDO Indica un erro específico do comando debido a un comando SDM que utilizou.
SDM

Comando

Nome do erro Código de erro Descrición
GET_CHIPID EFUSE_SYSTEM_ FAILURE 0x82 Indica que o punteiro da caché eFuse non é válido.
QSPI_OPEN/ QSPI_CLOSE/ QSPI_SET_CS/

QSPI_READ_D EVICE_REG/

QSPI_HW_ERROR 0x80 Indica un erro da memoria flash QSPI. Este erro indica unha das seguintes condicións:
QSPI_WRITE_ DEVICE_REG/

QSPI_SEND_D EVICE_OP/

QSPI_READ

  • Un problema de configuración de selección de chip flash QSPI
  • Un problema de inicialización de flash QSPI
  • Un problema de restablecemento do flash QSPI
  • Un problema de actualización da configuración flash QSPI
QSPI_XA_ABERTO 0x81 Indica que o acceso exclusivo do cliente ao flash QSPI mediante o comando QSPI_OPEN xa está aberto.
100 NON_CONFIGURADO Indica que o dispositivo non está configurado.
1FF ALT_SDM_MBOX_RESP_ DEVICE_ OCUPADO Indica que o dispositivo está ocupado debido aos seguintes casos de uso:
  • RSU: o firmware non pode pasar a unha versión diferente debido a un erro interno.
  • HPS: HPS está ocupado cando está en proceso de reconfiguración de HPS ou reinicio en frío de HPS.
2FF ALT_SDM_MBOX_RESP_NO _ VALID_RESP_AVAILABLE Indica que non hai resposta válida dispoñible.
3FF ALT_SDM_MBOX_RESP_ ERRO Erro xeral.

Recuperación do código de erro
A táboa seguinte describe os posibles pasos para recuperar un código de erro. A recuperación de erros depende do caso de uso específico.
Táboa 9. Recuperación de códigos de erro para códigos de erro coñecidos

Valor Código de erro de resposta Recuperación do código de erro
4 INVALID_COMMAND_ PARAMETERS Volve enviar a cabeceira ou a cabeceira do comando con argumentos cos parámetros corrixidos.
Por example, asegúrese de que a configuración do campo de lonxitude na cabeceira se envíe co valor correcto.
6 COMMAND_INVALID_ ON_SOURCE Volve enviar o comando desde unha fonte válida como JTAG, HPS ou tela de núcleo.
8 CLIENT_ID_NO_MATCH Agarde a que o cliente que abriu o acceso a quad SPI complete o seu acceso e despois peche o acceso exclusivo a quad SPI.
9 INVALID_ADDRESS Posibles pasos de recuperación de erros:
Para GET_VOLTAGComando E: enviar comando cunha máscara de bits válida.
Para o comando GET_TEMPERATURE: envíe o comando cunha localización válida do sensor e da máscara do sensor.
Para a operación QSPI:
  • Enviar comando cunha selección de chip válida.
  • Enviar comando cun enderezo flash QSPI válido.

Para RSU: envíe o comando cun enderezo de inicio válido da imaxe ou aplicación de fábrica.

B TEMPO DE ESPERA Posibles pasos de recuperación:

Para o comando GET_TEMPERATURE: tenta enviar de novo o comando. Se o problema persiste, reconfigure ou apague o dispositivo.

Para o funcionamento de QSPI: Comprobe a integridade do sinal das interfaces QSPI e intente o comando de novo.

Para a operación de reinicio de HPS: Reintente enviar o comando de novo.

C HW_NON_LISTA Posibles pasos de recuperación:

Para a operación QSPI: reconfigure o dispositivo a través da fonte. Asegúrate de que a IP utilizada para crear o teu deseño permita o acceso ao flash QSPI.

Para RSU: configure o dispositivo coa imaxe RSU.

80 QSPI_HW_ERROR Comprobe a integridade do sinal da interface QSPI e asegúrese de que o dispositivo QSPI non estea danado.
81 QSPI_ALREADY_OPEN O cliente xa abriu QSPI. Continúa coa seguinte operación.
82 EFUSE_SYSTEM_FAILURE Intente reconfiguración ou ciclo de encendido. Se o erro persiste despois da reconfiguración ou do ciclo de acendido, é posible que o dispositivo estea danado e non se poida recuperar.
100 NON_CONFIGURADO Envíe un fluxo de bits que configure o HPS.
1FF ALT_SDM_MBOX_RESP_ DEVICE_ OCUPADO Posibles pasos de recuperación de erros:

Para a operación QSPI: agarde a que a configuración en curso ou outro cliente complete a operación.

Para RSU: reconfigure o dispositivo para recuperarse dun erro interno.

Para a operación de reinicio de HPS: agarde a que se complete a reconfiguración mediante HPS ou HPS Cold Reset.

Cliente de caixa de correo con interface de transmisión Avalon Intel FPGA IP User Guide Arquivos de documentos

Para consultar as versións máis recentes e anteriores desta guía do usuario, consulte Mailbox Client con Avalon Streaming Interface Intel FPGA IP User Guide. Se non aparece unha IP ou unha versión de software, aplícase a guía de usuario para a IP ou versión de software anterior.

As versións IP son as mesmas que as versións do software Intel Quartus Prime Design Suite ata a v19.1. Desde a versión 19.2 ou posterior do software Intel Quartus Prime Design Suite, os núcleos IP teñen un novo esquema de versión IP.

Historial de revisións de documentos para o cliente da caixa de correo con Avalon Streaming Interface Intel FPGA IP User Guide

Versión do documento Versión Intel Quartus Prime Versión IP Cambios
2022.09.26 22.3 1.0.1 Realizouse os seguintes cambios:
  • Actualizouse o GET_VOLTAGE fila de comandos

Lista de comandos e táboa de descrición.

  • Engadiuse unha nota ao soporte para a familia de dispositivos de mesa.
  • Revisado QSPI_SET_CS descrición do comando na táboa Lista de comandos e Descrición.
2022.04.04 22.1 1.0.1 Actualizouse a lista de comandos e a táboa de descrición.
  • Actualizouse a descrición do estado do PIN para o comando CONFIG_STATUS.
  • Eliminouse o comando REBOOT_HPS.
2021.10.04 21.3 1.0.1 Fixo o seguinte cambio:
  • Revisado Lista de comandos e descrición táboa. Descrición actualizada para:
    • CONFIG_STATUS
    • RSU_STATUS
2021.06.21 21.2 1.0.1 Realizouse os seguintes cambios:
  • Revisado Lista de comandos e descrición táboa. Descrición actualizada para:
    • RSU_STATUS
    • QSPI_OPEN
    • QSPI_SET_CS
    • QSPI_ERASE
2021.03.29 21.1 1.0.1 Realizouse os seguintes cambios:
  • Descrición RSU_IMAGE_UPDATE revisada no Lista de comandos e descrición táboa.
  • Reestruturado Comandos de operación. Elimináronse as descricións dos códigos de erro maior e menor para os comandos CONFIG_STATUS e RSU_STATUS. Os códigos de erro maior e menor agora están documentados como apéndice no Mailbox Client Intel FPGA IP User Guide.
2020.12.14 20.4 1.0.1 Realizouse os seguintes cambios:
  • Engadiuse unha nota importante sobre o restablecemento do flash QSPI no ficheiro Comandos de operación tema.
  • Actualizado o Lista de comandos e descrición táboa:
    • Descrición do comando GET_TEMPERATURE revisada.
    • Descrición do comando RSU_IMAGE_UPDATE revisada.
  • Engadiuse texto sobre o restablecemento do flash QSPI.
  • Engadido texto que describe o comportamento entre o host externo e a FPGA.
  • Texto eliminado: Devolve unha resposta distinta de cero se o dispositivo xa está procesando un comando de configuración.
    • Actualizáronse as descricións QSPI_WRITE e QSPI_READ para especificar que o tamaño máximo de transferencia é de 4 kilobytes ou 1024 palabras.
    • Corrixiuse a lonxitude da resposta de 1 a 0 para QSPI_OPEN, QSPI_CLOSE e QSPI_SET_CS mando.
    • Descricións QSPI_OPEN, QSPI_WRITE, QSPI_READ_DEVICE_REG e QSPI_WRITE_DEVICE_REG revisadas.
    • Engadiuse un novo comando: REBOOT_HPS.
  • Engadiuse un novo tema: Recuperación do código de erro.
2020.10.05 20.3 1.0.1
  • Cambiouse o título desta guía do usuario de Mailbox Avalon Streaming Interface Client Intel FPGA IP User Guide a Mailbox Client con Avalon Streaming Interface Intel FPGA IP User Guide debido ao cambio de nome IP no Catálogo de IP Intel Quartus Prime.
  • Actualizáronse globalmente todas as instancias de nomes de IP.
  • Descrición do comando GET TEMPERATURE revisada para dispositivos Intel Agilex no Lista de comandos e descrición táboa.
  • Engadiuse unha recomendación sobre o sincronizador de reinicio no ficheiro Interfaces de reloxo e reinicio táboa.
  • Actualizado o Códigos de erro táboa. Engadíronse novas respostas de código de erro:
    • HW_ERROR
    • COMMAND_SPECIFIC_ERROR
  • Eliminado o Localizacións dos sensores de temperatura tema. A información do sensor de temperatura está dispoñible no Guía de usuario de Intel Agilex Power Management.
2020.06.30 20.2 1.0.0
  • Cambiouse o título desta guía do usuario de Mailbox Avalon ST Client Intel FPGA IP User Guide a Mailbox Avalon Streaming Interface Client Intel FPGA IP User Guide.
  • Cambiou o nome do título do tema Cabeceira de comando e resposta a Comandos e Respostas.
  • Revisáronse as descricións de ID, LONGITUD e Código de comando/Código de erro Descrición da cabeceira de comandos e respostas táboa.
  • Cambiou o nome do título do tema Comandos compatibles a Comandos de operación.
  • Revisouse a seguinte descrición dos comandos no ficheiro Lista de comandos e descrición táboa:
    • GET_TEMPERATURE
    • RSU_STATUS
    • QSPI_SET_CS
  • Cambiou o nome do título do tema Códigos de erro a Respostas do código de erro.
  • Eliminouse o comando UNKNOWN_BR de Código de erro táboa.
2020.04.13 20.1 1.0.0 Realizouse os seguintes cambios:
  • Engadiuse información sobre os sensores de temperatura para o comando GET_TEMPERATURE, incluíndo figuras que ilustran as localizacións do TSD.
  • Engadiuse o comando RSU_NOTIFY no ficheiro Lista de códigos de comando e descrición táboa.
  • Actualizado o Códigos de erro táboa:
    • Cambiouse o nome de INVALID_COMMAND_PARAMETERS a INVALID_LENGTH.
    • Cambiouse o valor hexadecimal COMMAND_INVALID_ON_SOURCE de 5 a 6.
    • Cambiouse o valor hexadecimal de CLIENT_ID_NO_MATCH de 6 a 8.
    • Cambiouse o valor hexadecimal de INVALID_ADDRESS de 7 a 9.
    • Engadiuse o comando AUTHENTICATION_FAIL.
    • Cambiouse o valor hexadecimal TIMEOUT de 8 a B.
    • Cambiouse o valor hexadecimal HW_NOT_READY de 9 a C.
2019.09.30 19.3 1.0.0 Lanzamento inicial.

 Para obter comentarios, visite:  FPGAtechdocfeedback@intel.com

 

Documentos/Recursos

Intel Mailbox Client con Avalon Streaming Interface FPGA IP [pdfGuía do usuario
Mailbox Client con Avalon Streaming Interface FPGA IP, Mailbox Client, Avalon Streaming Interface FPGA IP

Referencias

Deixa un comentario

O teu enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados *