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

Mailbox Client con Avalon® Streaming Interface Intel FPGA IP Overview

Mailbox Client con interfaccia di streaming Avalon® IP FPGA Intel® (Mailbox Client con Avalon ST Client IP) fornisce un canale di comunicazione tra la tua logica personalizzata e il Secure Device Manager (SDM). È possibile utilizzare Mailbox Client con Avalon ST IP per inviare pacchetti di comando e ricevere pacchetti di risposta dai moduli periferici SDM. Il Mailbox Client con Avalon ST IP definisce le funzioni eseguite da SDM.

La logica personalizzata può utilizzare questo canale di comunicazione per ricevere informazioni e accedere alla memoria flash dai seguenti moduli periferici:

  • L'ID del chip
  • Il sensore di temperatura
  • il volumetage Sensore
  • Memoria flash SPI (Serial Periferic Interface) quadrupla

Nota: In questa guida per l'utente, il termine Avalon ST abbrevia l'interfaccia di streaming Avalon o IP.

Figura 1. Client di cassette postali con Avalon ST IP System Design
Client di cassette postali con Avalon ST IP System Design

La figura seguente mostra un'applicazione in cui il Mailbox Client con Avalon ST IP legge l'ID Chip.

Figura 2. Mailbox Client con Avalon ST IP Legge l'ID del chip
Mailbox Client con Avalon ST IP Legge l'ID del chip

Supporto della famiglia di dispositivi

Di seguito sono elencate le definizioni del livello di supporto del dispositivo per gli IP Intel FPGA:

  • Supporto avanzato — L'IP è disponibile per la simulazione e la compilazione per questa famiglia di dispositivi. I modelli di temporizzazione includono stime ingegneristiche iniziali dei ritardi basate sulle prime informazioni post-layout. I modelli di temporizzazione sono soggetti a modifiche poiché i test sul silicio migliorano la correlazione tra il silicio effettivo e i modelli di temporizzazione. È possibile utilizzare questo IP per studi sull'architettura del sistema e sull'utilizzo delle risorse, simulazione, pin out, valutazioni della latenza del sistema, valutazioni temporali di base (budget della pipeline) e strategia di trasferimento I/O (larghezza del percorso dati, profondità di burst, commercio degli standard I/O off).
  • Supporto preliminare — L'IP è verificato con modelli temporali preliminari per questa famiglia di dispositivi. L'IP soddisfa tutti i requisiti funzionali, ma potrebbe essere ancora in fase di analisi temporale per la famiglia di dispositivi. Può essere utilizzato nei progetti di produzione con cautela.
  • Supporto finale — L'IP viene verificato con modelli temporali finali per questa famiglia di dispositivi. L'IP soddisfa tutti i requisiti funzionali e temporali per la famiglia di dispositivi e può essere utilizzato nei progetti di produzione.

Tabella 1. Supporto della famiglia di dispositivi

Famiglia di dispositivi Supporto
Intel Agilex™ Anticipo

Nota: Non è possibile simulare il client della cassetta postale con l'IP Intel FPGA di Avalon Streaming Interface perché l'IP riceve le risposte dall'SDM. Per convalidare questo IP, Intel consiglia di eseguire la valutazione dell'hardware.

Informazioni correlate
Mailbox Client con Avalon Streaming Interface Note sulla versione Intel FPGA IP

Parametri

Nome del parametro Valore Descrizione
Abilita l'interfaccia di stato Acceso spento Quando si abilita questa interfaccia, il client di cassette postali con l'interfaccia di streaming Avalon IP Intel FPGA include il segnale command_status_invalid. Quando command_status_invalid afferma, è necessario reimpostare l'IP.

Interfacce
La figura seguente illustra il client della cassetta postale con le interfacce IP Intel FPGA dell'interfaccia di streaming di Avalon:

Figura 3. Mailbox Client con Avalon Streaming Interface Interfacce IP Intel FPGA
Mailbox Client con Avalon Streaming Interface Interfacce IP Intel FPGA

Per ulteriori informazioni sulle interfacce di streaming di Avalon, fare riferimento alle specifiche dell'interfaccia di Avalon.
Informazioni correlate
Specifiche dell'interfaccia Avalon

Interfacce orologio e ripristino

Tavolo 2. Interfacce orologio e ripristino

Nome del segnale Direzione Descrizione
in_clk Ingresso Questo è l'orologio per le interfacce di streaming di Avalon. La frequenza massima in 250 MHz.
in_reset Ingresso Questo è un reset alto attivo. Assert in_reset per reimpostare il Mailbox Client con l'interfaccia di streaming Avalon Intel FPGA IP (Mailbox Client con Avalon ST IP). Quando il segnale in_reset si afferma, l'SDM deve eliminare qualsiasi attività in sospeso dal client di cassette postali con Avalon ST IP. L'SDM continua a elaborare i comandi da altri client.

Per garantire che Mailbox Client con Avalon ST IP funzioni correttamente quando il dispositivo entra in modalità utente, il progetto deve includere l'IP Intel FPGA di rilascio del ripristino per mantenere il ripristino fino a quando il fabric FPGA non entra in modalità utente. Intel consiglia di utilizzare un sincronizzatore di ripristino quando si collega il ripristino dell'utente o l'output dell'IP di rilascio del ripristino a

la porta di reset del Mailbox Client con Avalon ST IP. Per implementare il sincronizzatore di ripristino, utilizzare l'IP Intel FPGA Reset Bridge disponibile in Platform Designer.

Nota: Per le linee guida per l'istanziazione IP e la connessione in Platform Designer, fare riferimento ai componenti di comunicazione e host richiesti per la progettazione dell'aggiornamento del sistema remoto Example figura nella Guida dell'utente per la configurazione di Intel Agilex.

Interfaccia di comando
Utilizzare l'interfaccia Avalon Streaming (Avalon ST) per inviare comandi all'SDM.

Tabella 3. Interfaccia di comando

Nome del segnale Direzione Descrizione
comando_pronto Produzione Il client Mailbox con IP FPGA Avalon ST Intel asserisce command_ready quando è pronto a ricevere comandi dall'applicazione. Il ready_latency è 0 cicli. Il Mailbox Client con Avalon ST può accettare command_data[31:0] nello stesso ciclo che command_ready asserisce.
comando_valido Ingresso Il segnale command_valid asserisce per indicare che command_data è valido.
dati_comando[31:0] Ingresso Il bus command_data indirizza i comandi all'SDM. Fare riferimento a Elenco dei comandi e descrizione per le definizioni dei comandi.
comando_iniziopacchetto Ingresso Il command_startofpacket asserisce nel primo ciclo di un pacchetto di comando.
comando_endofpacket Ingresso Il command_endofpacket asserisce nell'ultimo ciclo di comando un pacchetto.

Figura 4. Timing per Avalon ST Command Packet
fig:m Pacchetto comandi ST

Interfaccia di risposta
L'IP del client SDM Avalon ST invia le risposte all'applicazione utilizzando l'interfaccia di risposta.

Tabella 4. Interfaccia di risposta

Segnale 5 Direzione Descrizione
risposta_pronta Ingresso La logica dell'applicazione può asserire il segnale response_ready ogni volta che è in grado di ricevere una risposta.
risposta_valida Produzione L'SDM asserisce response_valid per indicare che response_data è valido.
dati_risposta[31:0] Produzione L'SDM guida response_data per fornire le informazioni richieste. La prima parola della risposta è un'intestazione che identifica il comando fornito dall'SDM. Fare riferimento a Elenco dei comandi e descrizione per le definizioni dei comandi.
risposta_iniziopacchetto Produzione Il response_startofpacket asserisce nel primo ciclo di un pacchetto di risposta.
risposta_endofpacket Produzione Il response_endofpacket asserisce nell'ultimo ciclo di un pacchetto di risposta.

Figura 5. Tempistica per il pacchetto di risposta Avalon ST
Pacchetto di risposta Avalon ST

Interfaccia di stato dei comandi

Tabella 5. Interfaccia di stato dei comandi

Nome del segnale Direzione Descrizione
stato_comando_non valido Produzione L'asserzione command_status_invalid per indicare un errore. Questo segnale in genere asserisce per indicare che la lunghezza del comando specificata nell'intestazione del comando non corrisponde alla lunghezza del comando inviato. Quando command_status_invalid afferma, la logica dell'applicazione deve affermare in_reset per riavviare il client di cassette postali con l'interfaccia di streaming Avalon Intel FPGA IP.

Figura 6. Reimposta dopo le affermazioni command_status_invalid
fig: command_status_invalid Assert

Comandi e risposte

Il controller host comunica con l'SDM utilizzando pacchetti di comando e risposta tramite IP FPGA Intel Mailbox Client.

La prima parola dei pacchetti di comando e risposta è un'intestazione che fornisce informazioni di base sul comando o sulla risposta.

Figura 7. Formato dell'intestazione di comando e risposta
fig: formato dell'intestazione di comando e risposta

Nota: Il campo LENGTH nell'intestazione del comando deve corrispondere alla lunghezza del comando corrispondente.
La tabella seguente descrive i campi del comando header.

Tabella 6. Descrizione dell'intestazione di comando e risposta

Intestazione Morso Descrizione
Prenotato [31:28] Prenotato.
ID [27:24] L'ID del comando. L'intestazione della risposta restituisce l'ID specificato nell'intestazione del comando. Fare riferimento a Comandi operativi per le descrizioni dei comandi.
0 [23] Prenotato.
LUNGHEZZA [22:12] Numero di parole degli argomenti che seguono l'intestazione. L'IP risponde con un errore se viene immesso un numero errato di parole di argomenti per un dato comando.
Se c'è una mancata corrispondenza tra la lunghezza del comando specificata nell'intestazione del comando e il numero di parole inviate. L'IP solleva il bit 3 dell'Interrupt Status Register (COMMAND_INVALID) e il Mailbox Client deve essere reimpostato.
Prenotato [11] Riservato. Deve essere impostato su 0.
Codice di comando/codice di errore [10:0] Codice di comando specifica il comando. Il codice di errore indica se il comando è riuscito o meno.
Nell'intestazione del comando, questi bit rappresentano il codice del comando. Nell'intestazione della risposta, questi bit rappresentano il codice di errore. Se il comando ha esito positivo, il codice di errore è 0. Se il comando non riesce, fare riferimento ai codici di errore definiti nel file Risposte del codice di errore.

Comandi operativi

Ripristino del flash Quad SPI
Importante:
Per i dispositivi Intel Agilex, è necessario collegare il pin di ripristino del flash seriale o Quad SPI al pin AS_nRST. L'SDM deve controllare completamente il ripristino QSPI. Non collegare il pin di ripristino quad SPI a nessun host esterno.

Tabella 7. Elenco dei comandi e descrizione

Comando Codice (esadecimale) Lunghezza del comando (1) Lunghezza della risposta (1) Descrizione
NON OPPO 0 0 0 Invia una risposta di stato OK.
OTTIENI_IDCODE 10 0 1 La risposta contiene un argomento che è il JTAG IDCODE per il dispositivo
OTTIENI_CHIPID 12 0 2 La risposta contiene un valore CHIPID a 64 bit con la parola meno significativa per prima.
OTTIENI_USERCODE 13 0 1 La risposta contiene un argomento che è il JTAG USERCODE che il bitstream di configurazione scrive sul dispositivo.
OTTIENI_VOLTAGE 18 1 n(2) Il file GET_VOLTAGIl comando E ha un singolo argomento che è una maschera di bit che specifica i canali da leggere. Il bit 0 specifica il canale 0, il bit 1 specifica il canale 1 e così via.
La risposta include un argomento di una parola per ogni bit impostato nella maschera di bit. Il voltagQuello restituito è un numero a virgola fissa senza segno con 16 bit sotto la virgola binaria. Per esample, un voltage di 0.75 V restituisce 0x0000C000. (3)
I dispositivi Intel Agilex hanno un singolo voltage sensore. Di conseguenza, la risposta è sempre una parola.
OTTIENI_ TEMPERATURA 19 1 n(4) Il comando GET_TEMPERATURE restituisce la temperatura o le temperature del core fabric o delle posizioni del canale del ricetrasmettitore specificate.

Per i dispositivi Intel Agilex, utilizzare l'argomento sensor_req per specificare le posizioni. sensor_req include i seguenti campi:

  • Bit[31:28]: riservato.
  • Bit[27:16]: posizione del sensore. Specifica la posizione TSD.
  • Bits[15:0]: Maschera sensore. Specifica i sensori da leggere per la posizione del sensore specificata. La risposta contiene una parola per ogni temperatura richiesta. Se omesso, il comando legge il canale 0. Il bit meno significativo (lsb) corrisponde al sensore 0. Il bit più significativo (msb) corrisponde al canale 15.

La temperatura restituita è un valore fisso con segno con 8 bit al di sotto del punto binario. Per esample, una temperatura di 10°C restituisce 0x00000A00. A di temperatura -1.5°C restituisce 0xFFFFFE80.
Se la maschera di bit specifica una posizione non valida, il comando restituisce un codice di errore che è qualsiasi valore compreso nell'intervallo 0x80000000 -0x800000FF.
Per i dispositivi Intel Agilex, fare riferimento alla Guida per l'utente di Intel Agilex Power Management per ulteriori informazioni sui sensori di temperatura incorporati locali.

RSU_IMAGE_ AGGIORNAMENTO 5C 2 0 Attiva la riconfigurazione dall'origine dati che può essere la factory o un'immagine dell'applicazione.
continua…
  1. Questo numero non include l'intestazione del comando o della risposta.
  2. Per i dispositivi Intel Agilex che supportano la lettura di più dispositivi, l'indice n corrisponde al numero di canali abilitati sul dispositivo.
  3. Fare riferimento al Guida per l'utente di Intel Agilex Power Management per ulteriori informazioni sui canali e le posizioni dei sensori di temperatura.
  4. L'indice n dipende dal numero di maschere sensore.
Comando Codice (esadecimale) Lunghezza del comando (1) Lunghezza della risposta (1) Descrizione
Questo comando accetta un argomento facoltativo a 64 bit che specifica l'indirizzo dei dati di riconfigurazione nel flash. Quando si invia l'argomento all'IP, si inviano prima i bit [31:0] seguiti dai bit [63:32]. Se non si fornisce questo argomento, si presume che il suo valore sia 0.
  • Bit [31:0]: l'indirizzo iniziale di un'immagine dell'applicazione.
  • Bit [63:32]: riservato (scrivere come 0).

Una volta che il dispositivo elabora questo comando, restituisce l'intestazione della risposta al FIFO della risposta prima di procedere alla riconfigurazione del dispositivo. Assicurarsi che il PC host o il controller host smetta di servire altri interrupt e si concentri sulla lettura dei dati dell'intestazione della risposta per indicare che il comando è stato completato correttamente. In caso contrario, il PC host o il controller host potrebbe non essere in grado di ricevere la risposta una volta avviato il processo di riconfigurazione.
Una volta che il dispositivo procede con la riconfigurazione, il collegamento tra l'host esterno e l'FPGA viene perso. Se utilizzi PCIe nel tuo progetto, devi rienumerare il collegamento PCIe.
Importante: Quando si ripristina quad SPI, è necessario seguire le istruzioni specificate in Ripristino del flash Quad SPI a pagina 9.

RSU_GET_SPT 5A 0 4 RSU_GET_SPT recupera la posizione flash quad SPI per le due tabelle di sottopartizione utilizzate dall'RSU: SPT0 e SPT1.
La risposta di 4 parole contiene le seguenti informazioni:
Parola Nome Descrizione
0 SPT0[63:32] Indirizzo SPT0 in quad SPI flash.
1 SPT0[31:0]
2 SPT1[63:32] Indirizzo SPT1 in quad SPI flash.
3 SPT1[31:0]
CONFIG_ STATO 4 0 6 Riporta lo stato dell'ultima riconfigurazione. È possibile utilizzare questo comando per verificare lo stato della configurazione durante e dopo la configurazione. La risposta contiene le seguenti informazioni:
Parola Riepilogo Descrizione
0 Stato Descrive l'errore relativo alla configurazione più recente. Restituisce 0 quando non ci sono errori di configurazione.
Il campo di errore ha 2 campi:
  • 16 bit superiori: codice di errore principale.
  • 16 bit inferiori: codice di errore minore.

Fare riferimento all'Appendice: CONFIG_STATO e le descrizioni dei codici di errore RSU_STATUS nel Mailbox Client Intel IP dell'FPGA  Guida per l'utente per ulteriori informazioni.

1 Versione Quarto Disponibile nelle versioni del software Intel Quartus® Prime tra 19.4 e 21.2, il campo visualizza:
  • Bit [31:28]: Indice del firmware o della copia decisionale del firmware utilizzato più di recente. I valori possibili sono 0, 1, 2 e 3.
  • Bit [27:24]: riservato
  • Bit [23:16]: il valore è '0'
Disponibile nel software Intel Quartus Prime versione 21.3 o successiva, la versione Quartus visualizza:
  • Bit [31:28]: Indice del firmware o della copia decisionale del firmware utilizzato più di recente. I valori possibili sono 0, 1, 2 e 3.
  • Bit [27:24]: riservato
  • Bit [23:16]: numero di rilascio Major Quartus
  • Bit [15:8]: numero di versione Minor Quartus
  • Bit [7:0]: numero di aggiornamento Quartus

Per esempioample, nella versione 21.3.1 del software Intel Quartus Prime, i seguenti valori rappresentano i numeri di rilascio principale e secondario di Quartus e il numero di aggiornamento di Quartus:

  • Bit [23:16] = 8'd21 = 8'h15
  • Bit [15:8] = 8'd3 = 8'h3
  • Bit [7:0] = 8'd1 = 8'h1
2 Stato del pin
  • Bit [31]: valore di uscita nSTATUS attuale (attivo basso)
  • Bit [30]: valore di ingresso nCONFIG rilevato (attivo basso)
  • Bit [29:8]: riservato
  • Bit [7:6]: sorgente clock di configurazione
    • 01 = Oscillatore interno
    • 10 = OSC_CLK_1
  • Bit [5:3]: riservato
  • Bit [2:0]: il valore MSEL all'accensione
3 Stato della funzione software Contiene il valore di ciascuna delle funzioni soft, anche se non è stata assegnata la funzione a un pin SDM.
  • Bit [31:6]: riservato
  • 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 Posizione dell'errore Contiene la posizione dell'errore. Restituisce 0 se non ci sono errori.
5 Dettagli circa l'errore Contiene i dettagli dell'errore. Restituisce 0 se non ci sono errori.
RSU_STATO 5B 0 9 Riporta lo stato di aggiornamento del sistema remoto corrente. È possibile utilizzare questo comando per controllare lo stato della configurazione durante la configurazione e dopo che è stata completata. Questo comando restituisce le seguenti risposte:
Parola Riepilogo Descrizione

(Continua….)

  1. Questo numero non include l'intestazione del comando o della risposta
0-1 Immagine attuale Offset flash dell'immagine dell'applicazione attualmente in esecuzione.
2-3 Immagine fallita Offset flash dell'immagine dell'applicazione in errore con la priorità più alta. Se nella memoria flash sono disponibili più immagini, memorizza il valore della prima immagine non riuscita. Un valore di tutti 0 indica che non ci sono immagini in errore. Se non ci sono immagini difettose, il resto delle restanti parole delle informazioni sullo stato non memorizzano informazioni valide.
Nota:Un fronte di salita su nCONFIG per riconfigurare da ASx4 non cancella questo campo. Le informazioni sull'immagine in errore vengono aggiornate solo quando il client della cassetta postale riceve un nuovo comando RSU_IMAGE_UPDATE e si configura correttamente dall'immagine di aggiornamento.
4 Stato Codice di errore dell'immagine in errore. Il campo di errore è composto da due parti:
  • Bit [31:16]: codice di errore grave
  • Bit [15:0]: codice di errore minore Restituisce 0 per nessun errore. Fare riferimento a

Appendice: descrizioni dei codici di errore CONFIG_STATUS e RSU_STATUS nella Guida dell'utente IP Intel FPGA del client per cassette postali per ulteriori informazioni.

5 Versione Versione dell'interfaccia RSU e origine dell'errore.
Per ulteriori informazioni, fare riferimento alla sezione Stato RSU e codici di errore nella Guida per l'utente dell'aggiornamento remoto del sistema del processore hardware.
6 Posizione dell'errore Memorizza la posizione dell'errore dell'immagine in errore. Restituisce 0 per nessun errore.
7 Dettagli circa l'errore Memorizza i dettagli dell'errore per l'immagine in errore. Restituisce 0 se non ci sono errori.
8 Contatore tentativi immagine corrente Conteggio del numero di tentativi effettuati per l'immagine corrente. Il contatore è inizialmente 0. Il contatore viene impostato su 1 dopo il primo tentativo, quindi su 2 dopo un secondo tentativo.
Specifica il numero massimo di tentativi nelle impostazioni di Intel Quartus Prime File (.qsf). Il comando è: set_global_assignment -name RSU_MAX_RETRY_COUNT 3. I valori validi per il contatore MAX_RETRY sono 1-3. Il numero effettivo di tentativi disponibili è MAX_RETRY -1
Questo campo è stato aggiunto nella versione 19.3 del software Intel Quartus Prime Pro Edition.
continua…
  1. Questo numero non include l'intestazione del comando o della risposta.
RSU_NOTIFICA 5D 1 0 Cancella tutte le informazioni sull'errore nella risposta RSU_STATUS e reimposta il contatore dei tentativi. L'argomento di una parola ha i seguenti campi:
  • 0x00050000: cancella il contatore dei tentativi di ripristino corrente. L'azzeramento del contatore dei tentativi corrente riporta il contatore a zero, come se l'immagine corrente fosse stata caricata correttamente per la prima volta.
  • 0x00060000: cancella le informazioni sullo stato dell'errore.
  • Tutti gli altri valori sono riservati.

Questo comando non è disponibile prima della versione 19.3 del software Intel Quartus Prime Pro Edition.

QSPI_OPEN 32 0 0 Richiede l'accesso esclusivo al quad SPI. Emetti questa richiesta prima di qualsiasi altra richiesta QSPI. L'SDM accetta la richiesta se il quad SPI non è in uso e l'SDM non sta configurando il dispositivo.
Restituisce OK se l'SDM concede l'accesso.
L'SDM concede l'accesso esclusivo al client utilizzando questa cassetta postale. Altri client non possono accedere al quad SPI finché il client attivo non rinuncia all'accesso utilizzando il comando QSPI_CLOSE.
L'accesso ai dispositivi di memoria flash quad SPI tramite qualsiasi IP del client di posta non è disponibile per impostazione predefinita nei progetti che includono HPS, a meno che non si disabiliti QSPI nella configurazione del software HPS.
Importante: Quando si ripristina quad SPI, è necessario seguire le istruzioni specificate in Ripristino del flash Quad SPI a pagina 9.
QSPI_CLOSE 33 0 0 Chiude l'accesso esclusivo all'interfaccia quad SPI.
Importante:Quando si ripristina quad SPI, è necessario seguire le istruzioni specificate in Ripristino del flash Quad SPI a pagina 9.
QSPI_SET_CS 34 1 0 Specifica uno dei dispositivi quad SPI collegati tramite le linee di selezione del chip. Accetta un argomento di una parola come descritto di seguito
  • Bits[31:28]: Dispositivo flash da selezionare. Fare riferimento alle informazioni di seguito per il valore che corrisponde ai pin nCSO[0:3].
    • Il valore 4'h0000 seleziona il flash che corrisponde a nCSO[0].
    • Il valore 4'h0001 seleziona il flash che corrisponde a nCSO[1].
    • Il valore 4'h0002 seleziona il flash che corrisponde a nCSO[2].
    • Il valore 4'h0003 seleziona il lampeggio che corrisponde a nCSSO[3].
  • Bits[27:0]: riservato (scrivere come 0).

Nota: I dispositivi Intel Agilex o Intel Stratix® 10 supportano un dispositivo di memoria flash AS x4 per la configurazione AS da un dispositivo quad SPI connesso a nCSO[0]. Una volta che il dispositivo è entrato in modalità utente, è possibile utilizzare fino a quattro memorie flash AS x4 da utilizzare con Mailbox Client IP o HPS come archiviazione dati. TheMailbox Client IP o HPS può utilizzare nCSO[3:0] per accedere ai dispositivi Quad SPI.
Questo comando è facoltativo per lo schema di configurazione AS x4, la riga di selezione del chip segue l'ultimo comando QSPI_SET_CS eseguito o il valore predefinito è nCSO[0] dopo la configurazione AS x4. Il JTAG lo schema di configurazione richiede l'esecuzione di questo comando per accedere alla flash QSPI che collega i pin SDM_IO.
L'accesso ai dispositivi di memoria flash QSPI tramite i pin SDM_IO è disponibile solo per lo schema di configurazione AS x4, JTAG configurazione e un progetto compilato per la configurazione AS x4. Per lo schema di configurazione dell'interfaccia di streaming Avalon (Avalon ST), è necessario collegare le memorie flash QSPI ai pin GPIO.

continua…
  1. Questo numero non include l'intestazione del comando o della risposta
Importante: Quando si ripristina quad SPI, è necessario seguire le istruzioni specificate in Ripristino del flash Quad SPI a pagina 9.
QSPI_READ 3A 2 N Legge il dispositivo Quad SPI collegato. La dimensione massima del trasferimento è di 4 kilobyte (KB) o 1024 parole.
Prende due argomenti:
  • L'indirizzo flash quad SPI (una parola). L'indirizzo deve essere allineato a parole. Il dispositivo restituisce il codice di errore 0x1 per gli indirizzi non allineati.
  • Numero di parole da leggere (una parola).

In caso di successo, restituisce OK seguito dai dati letti dal dispositivo Quad SPI. Una risposta di errore restituisce un codice di errore.
Per una lettura parzialmente riuscita, QSPI_READ potrebbe restituire erroneamente lo stato OK.
Nota: Non è possibile eseguire il comando QSPI_READ mentre è in corso la configurazione dell'unità.
Importante:Quando si ripristina quad SPI, è necessario seguire le istruzioni specificate in Ripristino del flash Quad SPI a pagina 9.

QSPI_WRITE 39 2+N 0 Scrive i dati nel dispositivo Quad SPI. La dimensione massima del trasferimento è di 4 kilobyte (KB) o 1024 parole.
Prende tre argomenti:
  • L'offset dell'indirizzo flash (una parola). L'indirizzo di scrittura deve essere word-aligned.
  • Il numero di parole da scrivere (una parola).
  • I dati da scrivere (una o più parole). Una scrittura riuscita restituisce il codice di risposta OK.

Per preparare la memoria per le scritture, utilizzare il comando QSPI_ERASE prima di emettere questo comando.
Nota: Non è possibile eseguire il comando QSPI_WRITE mentre è in corso la configurazione dell'unità.
Importante:Quando si ripristina quad SPI, è necessario seguire le istruzioni specificate in Ripristino del flash Quad SPI a pagina 9.

QSPI_ERASE 38 2 0 Cancella un settore da 4/32/64 KB del dispositivo Quad SPI. Prende due argomenti:
  • L'offset dell'indirizzo flash per avviare la cancellazione (una parola). A seconda del numero di parole da cancellare, l'indirizzo iniziale deve essere:
    • 4 KB allineati se il numero di parole da cancellare è 0x400
    • 32 KB allineati se il numero di parole da cancellare è 0x2000
    • 64 KB allineati se il numero di parole da cancellare è 0x4000 Restituisce un errore per gli indirizzi non allineati a 4/32/64 KB.
  • Il numero di parole da cancellare è specificato in multipli di:
    • 0x400 per cancellare 4 KB (100 parole) di dati. Questa opzione è la dimensione minima di cancellazione.
    • 0x2000 per cancellare 32 KB (500 parole) di dati
    • 0x4000 per cancellare 64 KB (1000 parole) di dati Una cancellazione riuscita restituisce il codice di risposta OK.

Importante:Quando si ripristina quad SPI, è necessario seguire le istruzioni specificate in Ripristino del flash Quad SPI a pagina 9.

QSPI_READ_DEVICE_REG 35 2 N Legge i registri dal dispositivo quad SPI. La lettura massima è di 8 byte. Prende due argomenti:
  • Il codice operativo per il comando di lettura.
  • Il numero di byte da leggere.
continua…
  1. Questo numero non include l'intestazione del comando o della risposta.
Una lettura andata a buon fine restituisce il codice di risposta OK seguito dai dati letti dal dispositivo. Il ritorno dei dati letti è in multipli di 4 byte. Se i byte da leggere non sono un multiplo esatto di 4 byte, viene riempito con multipli di 4 byte fino al limite di parola successivo e il valore del bit riempito è zero.
Importante: Quando si ripristina quad SPI, è necessario seguire le istruzioni specificate in Ripristino del flash Quad SPI a pagina 9.
QSPI_WRITE_DEVICE_REG 36 2+N 0 Scrive nei registri del quad SPI. La scrittura massima è di 8 byte. Prende tre argomenti:
  • Il codice operativo per il comando di scrittura.
  • Il numero di byte da scrivere.
  • I dati da scrivere.

Per eseguire una cancellazione di settore o di sottosettore, è necessario specificare l'indirizzo flash seriale nell'ordine dal byte più significativo (MSB) al byte meno significativo (LSB) come segue:ample illustra.
Per cancellare un settore di una flash Micron 2 gigabit (Gb) all'indirizzo 0x04FF0000 utilizzando il comando QSPI_WRITE_DEVICE_REG, scrivere l'indirizzo flash nell'ordine da MSB a LSB come mostrato di seguito:
Intestazione: 0x00003036 Codice operativo: 0x000000DC
Numero di byte da scrivere: 0x00000004 Indirizzo flash: 0x0000FF04
Una scrittura riuscita restituisce il codice di risposta OK. Questo comando riempie i dati che non sono un multiplo di 4 byte al limite di parola successivo. Il comando riempie i dati con zero.
Importante:Quando si ripristina quad SPI, è necessario seguire le istruzioni specificate in Ripristino del flash Quad SPI a pagina 9.

QSPI_SEND_DEVICE_OP 37 1 0 Invia un codice operativo di comando al quad SPI. Prende un argomento:
  • Il codice operativo per inviare il dispositivo Quad SPI.

Un comando riuscito restituisce il codice di risposta OK.
Importante:Quando si ripristina quad SPI, è necessario seguire le istruzioni specificate in Ripristino del flash Quad SPI a pagina 9.

Per le descrizioni dei codici di errore principali e secondari CONFIG_STATUS e RSU_STATUS, fare riferimento all'Appendice: descrizioni dei codici di errore CONFIG_STATUS e RSU_STATUS nella Guida dell'utente di Mailbox Client Intel FPGA IP.
Informazioni correlate

Risposte del codice di errore

Tabella 8. Codici di errore

Valore (esadecimale) Risposta del codice di errore Descrizione
0 OK Indica che il comando è stato completato correttamente.
Un comando può restituire erroneamente lo stato OK se un comando, ad esempio
QSPI_READ è parzialmente riuscito.
1 COMANDO NON VALIDO Indica che la ROM di avvio attualmente caricata non è in grado di decodificare o riconoscere il codice di comando.
3 COMANDO SCONOSCIUTO Indica che il firmware attualmente caricato non è in grado di decodificare il codice di comando.
4 PARAMETRI_COMANDO_INVALID Indica che il comando è formattato in modo errato. Per esample, l'impostazione del campo della lunghezza nell'intestazione non è valida.
6 COMMAND_INVALID_ON_ FONTE Indica che il comando proviene da un'origine per la quale non è abilitato.
8 CLIENT_ID_NO_MATCH Indica che l'ID client non può completare la richiesta di chiusura dell'accesso esclusivo a quad SPI. L'ID client non corrisponde al client esistente con l'attuale accesso esclusivo a quad SPI.
9 INDIRIZZO NON VALIDO L'indirizzo non è valido. Questo errore indica una delle seguenti condizioni:
  • Un indirizzo non allineato
  • Un problema di intervallo di indirizzi
  • Un problema di permesso di lettura
  • Un valore di selezione del chip non valido, che mostra un valore superiore a 3
  • Un indirizzo non valido nel caso RSU
  • Un valore di maschera di bit non valido per GET_VOLTAGcomando E
  • Selezione pagina non valida per il comando GET_TEMPERATURE
A AUTHENTICATION_FAIL Indica l'errore di autenticazione della firma bitstream di configurazione.
B TEMPO SCADUTO Questo errore indica il timeout a causa delle seguenti condizioni:
  • Comando
  • In attesa del completamento dell'operazione QSPI_READ
  • In attesa della lettura della temperatura richiesta da uno dei sensori di temperatura. Potrebbe indicare un potenziale errore hardware nel sensore di temperatura.
C HW_NON_PRONTO Indica una delle seguenti condizioni:
  • L'hardware non è pronto. Può indicare un problema di inizializzazione o di configurazione. L'hardware potrebbe riferirsi a quad SPI.
  • L'immagine RSU non viene utilizzata per configurare l'FPGA.
D HW_ERRORE Indica che il comando è stato completato senza successo a causa di un errore hardware irreversibile.
80 – 8 °F COMMAND_SPECIFIC_ ERRORE Indica un errore specifico del comando dovuto a un comando SDM utilizzato.
SDM

Comando

Nome errore Codice di errore Descrizione
OTTIENI_CHIPID EFUSE_SYSTEM_ GUASTO 0x82 Indica che il puntatore della cache eFuse non è valido.
QSPI_OPEN/ QSPI_CLOSE/ QSPI_SET_CS/

QSPI_READ_D EVICE_REG/

QSPI_HW_ERRORE 0x80 Indica un errore della memoria flash QSPI. Questo errore indica una delle seguenti condizioni:
QSPI_WRITE_DEVICE_REG/

QSPI_SEND_D EVICE_OP/

QSPI_READ

  • Un problema di impostazione della selezione del chip flash QSPI
  • Un problema di inizializzazione flash QSPI
  • Un problema di reimpostazione del flash QSPI
  • Un problema di aggiornamento delle impostazioni flash QSPI
QSPI_GIÀ_ APERTO 0x81 Indica che l'accesso esclusivo del client a QSPI flash tramite il comando QSPI_OPEN è già aperto.
100 NON CONFIGURATO Indica che il dispositivo non è configurato.
1FF ALT_SDM_MBOX_RESP_ DISPOSITIVO_ OCCUPATO Indica che il dispositivo è occupato a causa dei seguenti casi d'uso:
  • RSU: il firmware non è in grado di passare a una versione diversa a causa di un errore interno.
  • HPS: HPS è occupato durante il processo di riconfigurazione HPS o il ripristino a freddo HPS.
2FF ALT_SDM_MBOX_RESP_NO_VALID_RESP_AVAILABLE Indica che non è disponibile alcuna risposta valida.
3FF ALT_SDM_MBOX_RESP_ ERRORE Errore generale.

Recupero del codice di errore
La tabella seguente descrive i possibili passaggi per il ripristino da un codice di errore. Il ripristino degli errori dipende dal caso d'uso specifico.
Tabella 9. Recupero del codice di errore per i codici di errore noti

Valore Risposta del codice di errore Recupero del codice di errore
4 PARAMETRI_COMANDO_INVALID Invia nuovamente l'intestazione del comando o l'intestazione con argomenti con parametri corretti.
Per esempioample, assicurarsi che l'impostazione del campo della lunghezza nell'intestazione venga inviata con il valore corretto.
6 COMMAND_INVALID_ ON_SOURCE Invia nuovamente il comando da una fonte valida come JTAG, HPS o tessuto centrale.
8 CLIENT_ID_NO_MATCH Attendi che il client che ha aperto l'accesso a quad SPI completi il ​​suo accesso e poi chiuda l'accesso esclusivo a quad SPI.
9 INDIRIZZO NON VALIDO Possibili passaggi per il ripristino dell'errore:
Per GET_VOLTAGE comando: invia il comando con una maschera di bit valida.
Per il comando GET_TEMPERATURE: inviare il comando con la posizione del sensore valida e la maschera del sensore.
Per il funzionamento QSPI:
  • Invia comando con una selezione chip valida.
  • Invia comando con un indirizzo flash QSPI valido.

Per RSU: inviare il comando con un indirizzo iniziale valido dell'immagine di fabbrica o dell'applicazione.

B TEMPO SCADUTO Possibili fasi di ripristino:

Per il comando GET_TEMPERATURE: riprovare a inviare nuovamente il comando. Se il problema persiste, riconfigurare o spegnere e riaccendere il dispositivo.

Per il funzionamento QSPI: controllare l'integrità del segnale delle interfacce QSPI e tentare di nuovo il comando.

Per l'operazione di riavvio HPS: riprovare a inviare nuovamente il comando.

C HW_NON_PRONTO Possibili fasi di ripristino:

Per il funzionamento QSPI: riconfigurare il dispositivo tramite la sorgente. Assicurati che l'IP utilizzato per creare il tuo progetto consenta l'accesso al flash QSPI.

Per RSU: configurare il dispositivo con l'immagine RSU.

80 QSPI_HW_ERRORE Verificare l'integrità del segnale dell'interfaccia QSPI e assicurarsi che il dispositivo QSPI non sia danneggiato.
81 QSPI_ALREADY_OPEN Il cliente ha già aperto QSPI. Continuare con l'operazione successiva.
82 EFUSE_SYSTEM_FAILURE Tentare di riconfigurare o spegnere e riaccendere. Se l'errore persiste dopo la riconfigurazione o il riavvio, il dispositivo potrebbe essere danneggiato e irrecuperabile.
100 NON CONFIGURATO Invia un bitstream che configura l'HPS.
1FF ALT_SDM_MBOX_RESP_ DISPOSITIVO_ OCCUPATO Possibili passaggi per il ripristino dell'errore:

Per l'operazione QSPI: attendere che la configurazione in corso o un altro client completi l'operazione.

Per RSU: riconfigurare il dispositivo per il ripristino dall'errore interno.

Per l'operazione di riavvio HPS: attendere il completamento della riconfigurazione tramite HPS o HPS Cold Reset.

Mailbox Client con Avalon Streaming Interface Guida per l'utente Intel FPGA IP Archivi di documenti

Per le versioni più recenti e precedenti di questa guida per l'utente, fare riferimento a Mailbox Client con Avalon Streaming Interface Guida dell'utente Intel FPGA IP. Se una versione dell'IP o del software non è elencata, si applica la guida per l'utente dell'IP o della versione del software precedente.

Le versioni IP sono le stesse delle versioni del software Intel Quartus Prime Design Suite fino alla v19.1. A partire dalla versione 19.2 o successiva del software Intel Quartus Prime Design Suite, i core IP hanno un nuovo schema di controllo delle versioni IP.

Cronologia delle revisioni del documento per il client di cassette postali con Avalon Streaming Interface Intel FPGA IP User Guide

Versione del documento Versione Intel Quartus Prime Versione IP Cambiamenti
2022.09.26 22.3 1.0.1 Sono state apportate le seguenti modifiche:
  • Aggiornato il GET_VOLTAGE riga di comando in

Elenco dei comandi e tabella di descrizione.

  • Aggiunta nota al supporto della famiglia di dispositivi da tavolo.
  • Rivisto QSPI_SET_CS descrizione del comando nella tabella Elenco comandi e descrizione.
2022.04.04 22.1 1.0.1 Aggiornata la lista dei comandi e la tabella delle descrizioni.
  • Aggiornata la descrizione dello stato del pin per il comando CONFIG_STATUS.
  • Rimosso il comando REBOOT_HPS.
2021.10.04 21.3 1.0.1 Ho apportato la seguente modifica:
  • Rivisto Elenco dei comandi e descrizione tavolo. Descrizione aggiornata per:
    • CONFIG_STATO
    • RSU_STATO
2021.06.21 21.2 1.0.1 Sono state apportate le seguenti modifiche:
  • Rivisto Elenco dei comandi e descrizione tavolo. Descrizione aggiornata per:
    • RSU_STATO
    • QSPI_OPEN
    • QSPI_SET_CS
    • QSPI_ERASE
2021.03.29 21.1 1.0.1 Sono state apportate le seguenti modifiche:
  • Descrizione RSU_IMAGE_UPDATE rivista nel file Elenco dei comandi e descrizione tavolo.
  • Ristrutturato Comandi operativi. Rimosse le descrizioni dei codici di errore principali e secondari per i comandi CONFIG_STATUS e RSU_STATUS. I codici di errore maggiore e minore sono ora documentati come appendice nel file Mailbox Client Intel FPGA IP Guida per l'utente.
2020.12.14 20.4 1.0.1 Sono state apportate le seguenti modifiche:
  • Aggiunta una nota importante sulla reimpostazione del flash QSPI nel file Comandi operativi argomento.
  • Aggiornato il Elenco dei comandi e descrizione tabella:
    • Descrizione del comando GET_TEMPERATURE rivista.
    • Descrizione del comando RSU_IMAGE_UPDATE rivista.
  • Aggiunto testo sulla reimpostazione del flash QSPI.
  • Aggiunto testo che descrive il comportamento tra l'host esterno e l'FPGA.
  • Testo rimosso: Restituisce una risposta diversa da zero se il dispositivo sta già elaborando un comando di configurazione.
    • Aggiornate le descrizioni QSPI_WRITE e QSPI_READ per specificare che la dimensione massima del trasferimento è di 4 kilobyte o 1024 parole.
    • Corretta la lunghezza della risposta da 1 a 0 per QSPI_OPEN, QSPI_CLOSE e QSPI_SET_CS comando.
    • Descrizioni QSPI_OPEN, QSPI_WRITE, QSPI_READ_DEVICE_REG e QSPI_WRITE_DEVICE_REG riviste.
    • Aggiunto un nuovo comando: REBOOT_HPS.
  • Aggiunto nuovo argomento: recupero del codice di errore.
2020.10.05 20.3 1.0.1
  • Modificato il titolo di questa guida per l'utente da Mailbox Avalon Streaming Interface Client Intel FPGA IP Guida per l'utente A Mailbox Client con Avalon Streaming Interface Guida dell'utente Intel FPGA IP a causa della modifica del nome IP nel catalogo IP di Intel Quartus Prime.
  • Aggiornate globalmente tutte le istanze dei nomi IP.
  • Descrizione del comando GET TEMPERATURE rivista per i dispositivi Intel Agilex nel file Elenco dei comandi e descrizione tavolo.
  • Aggiunta raccomandazione sul reset sincronizzatore nel file Interfacce orologio e ripristino tavolo.
  • Aggiornato il Codici di errore tavolo. Aggiunte nuove risposte al codice di errore:
    • HW_ERRORE
    • ERRORE_SPECIFICO_COMANDO
  • Rimosso il Posizioni dei sensori di temperatura argomento. Le informazioni sul sensore di temperatura sono disponibili in Guida per l'utente di Intel Agilex Power Management.
2020.06.30 20.2 1.0.0
  • Modificato il titolo di questa guida per l'utente da Mailbox Avalon ST Client Intel FPGA IP Guida per l'utente A Mailbox Avalon Streaming Interface Client Intel FPGA IP Guida per l'utente.
  • Titolo dell'argomento rinominato Intestazione di comando e risposta A Comandi e risposte.
  • ID, LUNGHEZZA e descrizioni dei codici di comando/codici di errore modificati nel file Descrizione dell'intestazione di comando e risposta tavolo.
  • Titolo dell'argomento rinominato Comandi supportati A Comandi operativi.
  • Rivista la seguente descrizione dei comandi nel file Elenco dei comandi e descrizione tabella:
    • OTTIENI_TEMPERATURA
    • RSU_STATO
    • QSPI_SET_CS
  • Titolo dell'argomento rinominato Codici di errore A Risposte del codice di errore.
  • Rimosso il comando UNKNOWN_BR dal file Codice di errore tavolo.
2020.04.13 20.1 1.0.0 Sono state apportate le seguenti modifiche:
  • Aggiunte informazioni sui sensori di temperatura per il comando GET_TEMPERATURE, comprese le figure che illustrano le posizioni TSD.
  • Aggiunto il comando RSU_NOTIFY nel file Elenco e descrizione dei codici di comando tavolo.
  • Aggiornato il Codici di errore tabella:
    • INVALID_COMMAND_PARAMETERS rinominato in INVALID_LENGTH.
    • Modificato il valore esadecimale di COMMAND_INVALID_ON_SOURCE da 5 a 6.
    • Valore esadecimale CLIENT_ID_NO_MATCH modificato da 6 a 8.
    • Valore esadecimale INVALID_ADDRESS modificato da 7 a 9.
    • Aggiunto il comando AUTHENTICATION_FAIL.
    • Valore esadecimale TIMEOUT modificato da 8 a B.
    • Valore esadecimale HW_NOT_READY modificato da 9 a C.
2019.09.30 19.3 1.0.0 Versione iniziale.

 Per feedback, visitare:  FPGAtechdocfeedback@intel.com

 

Documenti / Risorse

Intel Mailbox Client con Avalon Streaming Interface FPGA IP [pdf] Guida utente
Mailbox Client con Avalon Streaming Interface FPGA IP, Mailbox Client, Avalon Streaming Interface FPGA IP

Riferimenti

Lascia un commento

Il tuo indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *