Intel Mailbox Client avec Avalon Streaming Interface FPGA IP Guide de l'utilisateur
Intel Mailbox Client avec Avalon Streaming Interface FPGA IP

Client de boîte aux lettres avec Avalon® Streaming Interface Intel FPGA IP Overview

Le client de boîte aux lettres avec interface de diffusion Avalon® Intel® FPGA IP (client de boîte aux lettres avec IP client Avalon ST) fournit un canal de communication entre votre logique personnalisée et le gestionnaire de périphériques sécurisés (SDM). Vous pouvez utiliser le client de boîte aux lettres avec Avalon ST IP pour envoyer des paquets de commande et recevoir des paquets de réponse des modules périphériques SDM. Le client de boîte aux lettres avec Avalon ST IP définit les fonctions exécutées par le SDM.

Votre logique personnalisée peut utiliser ce canal de communication pour recevoir des informations et accéder à la mémoire flash des modules périphériques suivants :

  • L'identifiant de la puce
  • Le capteur de température
  • Le Voltage Capteur
  • Mémoire flash SPI (interface périphérique série quadruple)

Note: Tout au long de ce guide de l'utilisateur, le terme Avalon ST est l'abréviation de l'interface de diffusion Avalon ou IP.

Figure 1. Client de boîte aux lettres avec conception de système Avalon ST IP
Client de boîte aux lettres avec conception de système Avalon ST IP

La figure suivante montre une application dans laquelle le Mailbox Client avec Avalon ST IP lit l'ID de la puce.

Chiffre 2. Le client de boîte aux lettres avec Avalon ST IP lit l'ID de puce
Le client de boîte aux lettres avec Avalon ST IP lit l'ID de puce

Prise en charge de la famille d'appareils

La liste suivante répertorie les définitions de niveau de prise en charge des périphériques pour les adresses IP Intel FPGA :

  • Assistance avancée — L'IP est disponible pour la simulation et la compilation pour cette famille d'appareils. Les modèles de synchronisation incluent des estimations d'ingénierie initiales des retards basées sur les premières informations après la mise en page. Les modèles de synchronisation sont susceptibles de changer car les tests sur silicium améliorent la corrélation entre le silicium réel et les modèles de synchronisation. Vous pouvez utiliser cette IP pour les études d'architecture système et d'utilisation des ressources, la simulation, le brochage, les évaluations de la latence du système, les évaluations de synchronisation de base (budgétisation du pipeline) et la stratégie de transfert d'E/S (largeur de chemin de données, profondeur de rafale, échanges de normes d'E/S offs).
  • Accompagnement préliminaire — L'IP est vérifié avec des modèles de temporisation préliminaires pour cette famille d'appareils. L'adresse IP répond à toutes les exigences fonctionnelles, mais peut encore être en cours d'analyse temporelle pour la famille d'appareils. Il peut être utilisé dans les conceptions de production avec prudence.
  • Appui final — L'adresse IP est vérifiée avec les modèles de synchronisation finaux pour cette famille d'appareils. L'IP répond à toutes les exigences fonctionnelles et temporelles de la famille d'appareils et peut être utilisée dans les conceptions de production.

Tableau 1. Prise en charge de la famille d'appareils

Famille d'appareils Soutien
Intel Agilex™ Avance

Note: Vous ne pouvez pas simuler le client de boîte aux lettres avec Avalon Streaming Interface Intel FPGA IP car l'IP reçoit les réponses du SDM. Pour valider cette adresse IP, Intel vous recommande d'effectuer une évaluation du matériel.

Informations connexes
Client de boîte aux lettres avec Avalon Streaming Interface Intel FPGA IP Notes de mise à jour

Paramètres

Nom du paramètre Valeur Description
Activer l'interface d'état Allumé éteint Lorsque vous activez cette interface, le client de boîte aux lettres avec interface de diffusion en continu Avalon Intel FPGA IP inclut le signal command_status_invalid. Lorsque command_status_invalid affirme, vous devez réinitialiser l'adresse IP.

Interfaces
La figure suivante illustre le client de boîte aux lettres avec les interfaces IP Intel FPGA d'Avalon Streaming Interface :

Figure 3. Client de boîte aux lettres avec Avalon Streaming Interface Intel FPGA IP Interfaces
Client de boîte aux lettres avec Avalon Streaming Interface Intel FPGA IP Interfaces

Pour plus d'informations sur les interfaces de diffusion Avalon, reportez-vous aux spécifications de l'interface Avalon.
Informations connexes
Spécifications de l'interface Avalon

Interfaces d'horloge et de réinitialisation

Tableau 2. Interfaces d'horloge et de réinitialisation

Nom du signal Direction Description
in_clk Saisir C'est l'horloge des interfaces de streaming d'Avalon. La fréquence maximale en 250 MHz.
in_reset Saisir Il s'agit d'une réinitialisation haute active. Confirmez in_reset pour réinitialiser le client de boîte aux lettres avec interface de diffusion en continu Avalon Intel FPGA IP (client de boîte aux lettres avec Avalon ST IP). Lorsque le signal in_reset s'affirme, le SDM doit vider toute activité en attente du client de boîte aux lettres avec Avalon ST IP. Le SDM continue de traiter les commandes des autres clients.

Pour garantir que le client de boîte aux lettres avec Avalon ST IP fonctionne correctement lorsque l'appareil passe en mode utilisateur, votre conception doit inclure la réinitialisation de l'IP Intel FPGA pour maintenir la réinitialisation jusqu'à ce que la matrice FPGA entre en mode utilisateur. Intel recommande d'utiliser un synchroniseur de réinitialisation lors de la connexion de la réinitialisation de l'utilisateur ou de la sortie de l'IP de libération de réinitialisation à

le port de réinitialisation du client de boîte aux lettres avec Avalon ST IP. Pour implémenter le synchroniseur de réinitialisation, utilisez l'IP Intel FPGA Reset Bridge disponible dans Platform Designer.

Note: Pour les directives d'instanciation et de connexion IP dans le concepteur de plate-forme, reportez-vous aux composants de communication et d'hôte requis pour l'ex de conception de mise à jour du système à distanceampfigure dans le Guide de l'utilisateur de la configuration Intel Agilex.

Interface de commande
Utilisez l'interface Avalon Streaming (Avalon ST) pour envoyer des commandes au SDM.

Tableau 3. Interface de commande

Nom du signal Direction Description
prêt_commande Sortir Le client de boîte aux lettres avec Avalon ST Intel FPGA IP affirme command_ready lorsqu'il est prêt à recevoir des commandes de l'application. La ready_latency est de 0 cycle. Le client de boîte aux lettres avec Avalon ST peut accepter command_data[31:0] dans le même cycle que command_ready affirme.
commande_valide Saisir Le signal command_valid s'affirme pour indiquer que command_data est valide.
données_commande[31:0] Saisir Le bus command_data envoie les commandes au SDM. Reportez-vous à la liste et à la description des commandes pour les définitions des commandes.
commande_startofpacket Saisir Le command_startofpacket s'affirme dans le premier cycle d'un paquet de commande.
commande_endofpacket Saisir Le command_endofpacket affirme dans le dernier cycle de commande un paquet.

Chiffre 4. Synchronisation pour le paquet de commande Avalon ST
fig:m Paquet de commandes ST

Interface de réponse
L'adresse IP du client SDM Avalon ST envoie des réponses à votre application à l'aide de l'interface de réponse.

Tableau 4. Interface de réponse

Signal 5 Direction Description
réponse_prêt Saisir La logique d'application peut activer le signal response_ready chaque fois qu'elle est en mesure de recevoir une réponse.
réponse_valide Sortir Le SDM affirme response_valid pour indiquer que response_data est valide.
réponse_données[31:0] Sortir Le SDM pilote response_data pour fournir les informations demandées. Le premier mot de la réponse est un en-tête qui identifie la commande fournie par le SDM. Faire référence à Liste des commandes et description pour les définitions des commandes.
réponse_startofpacket Sortir Le response_startofpacket s'affirme dans le premier cycle d'un paquet de réponse.
réponse_endofpacket Sortir Le response_endofpacket s'affirme dans le dernier cycle d'un paquet de réponse.

Figure 5. Synchronisation du paquet de réponse Avalon ST
Paquet de réponse Avalon ST

Interface d'état des commandes

Tableau 5. Interface d'état des commandes

Nom du signal Direction Description
command_status_invalid Sortir Le command_status_invalid affirme pour indiquer une erreur. Ce signal affirme généralement pour indiquer que la longueur de la commande spécifiée dans l'en-tête de commande ne correspond pas à la longueur de la commande envoyée. Lorsque command_status_invalid est affirmé, votre logique d'application doit affirmer in_reset pour redémarrer le client de boîte aux lettres avec l'interface de diffusion en continu Avalon Intel FPGA IP.

Figure 6. Réinitialiser après les affirmations command_status_invalid
fig : command_status_invalid Assertions

Commandes et réponses

Le contrôleur hôte communique avec le SDM à l'aide de paquets de commande et de réponse via l'adresse IP Intel FPGA du client de boîte aux lettres.

Le premier mot des paquets de commande et de réponse est un en-tête qui fournit des informations de base sur la commande ou la réponse.

Figure 7. Format d'en-tête de commande et de réponse
fig : format d'en-tête de commande et de réponse

Note: Le champ LENGTH dans l'en-tête de commande doit correspondre à la longueur de commande de la commande correspondante.
Le tableau suivant décrit les champs de la commande d'en-tête.

Tableau 6. En-tête de commande et de réponse Description

En-tête Peu Description
Réservé [31:28] Réservé.
ID [27:24] L'identifiant de la commande. L'en-tête de réponse renvoie l'ID spécifié dans l'en-tête de commande. Reportez-vous à Commandes de fonctionnement pour les descriptions des commandes.
0 [23] Réservé.
LONGUEUR [22:12] Nombre de mots d'arguments suivant l'en-tête. L'IP répond par une erreur si un nombre incorrect de mots d'arguments est entré pour une commande donnée.
S'il y a une incompatibilité entre la longueur de la commande spécifiée dans l'en-tête de la commande et le nombre de mots envoyés. L'IP déclenche le bit 3 du registre d'état d'interruption (COMMAND_INVALID) et le client de boîte aux lettres doit être réinitialisé.
Réservé [11] Réservé. Doit être mis à 0.
Code de commande/code d'erreur [10:0] Le code de commande spécifie la commande. Le code d'erreur indique si la commande a réussi ou échoué.
Dans l'en-tête de commande, ces bits représentent le code de commande. Dans l'en-tête de réponse, ces bits représentent le code d'erreur. Si la commande réussit, le code d'erreur est 0. Si la commande échoue, reportez-vous aux codes d'erreur définis dans le Réponses de code d'erreur.

Commandes d'opération

Réinitialisation du flash Quad SPI
Important:
Pour les périphériques Intel Agilex, vous devez connecter la broche de réinitialisation du flash série ou quad SPI flash à la broche AS_nRST. Le SDM doit contrôler entièrement la réinitialisation du QSPI. Ne connectez pas la broche de réinitialisation quad SPI à un hôte externe.

Tableau 7. Liste des commandes et description

Commande Code (hexadécimal) Longueur de la commande (1) Longueur de la réponse (1) Description
NON 0 0 0 Envoie une réponse d'état OK.
GET_IDCODE 10 0 1 La réponse contient un argument qui est le JTAG IDCODE pour l'appareil
GET_CHIPID 12 0 2 La réponse contient une valeur CHIPID 64 bits avec le mot le moins significatif en premier.
GET_USERCODE 13 0 1 La réponse contient un argument qui est le J 32 bitsTAG USERCODE que le bitstream de configuration écrit sur l'appareil.
GET_VOLTAGE 18 1 n(2) Le GET_VOLTAGLa commande E a un seul argument qui est un masque de bits spécifiant les canaux à lire. Le bit 0 spécifie le canal 0, le bit 1 spécifie le canal 1, etc.
La réponse inclut un argument d'un mot pour chaque bit défini dans le masque de bits. Le voltage retourné est un nombre à virgule fixe non signé avec 16 bits en dessous du point binaire. Par exempleample, un voltage de 0.75 V renvoie 0x0000C000. (3)
Les appareils Intel Agilex ont un seul voltage capteur. Par conséquent, la réponse est toujours un mot.
GET_ TEMPÉRATURE 19 1 n(4) La commande GET_TEMPERATURE renvoie la ou les températures de la structure principale ou des emplacements des canaux de l'émetteur-récepteur que vous spécifiez.

Pour les périphériques Intel Agilex, utilisez l'argument sensor_req pour spécifier les emplacements. Le sensor_req comprend les champs suivants :

  • Bits[31:28] : Réservé.
  • Bits[27:16] : emplacement du capteur. Spécifie l'emplacement TSD.
  • Bits[15:0] : masque de capteur. Spécifie les capteurs à lire pour l'emplacement de capteur spécifié. La réponse contient un mot pour chaque température demandée. S'il est omis, la commande lit le canal 0. Le bit le moins significatif (lsb) correspond au capteur 0. Le bit le plus significatif (msb) correspond au canal 15.

La température renvoyée est une valeur fixe signée avec 8 bits en dessous du point binaire. Par exempleample, une température de 10°C renvoie 0x00000A00. A de température -1.5°C renvoie 0xFFFFFE80.
Si le masque de bits spécifie un emplacement non valide, la commande renvoie un code d'erreur correspondant à n'importe quelle valeur comprise entre 0x80000000 et 0x800000FF.
Pour les périphériques Intel Agilex, reportez-vous au Guide de l'utilisateur de la gestion de l'alimentation Intel Agilex pour plus d'informations sur les capteurs de température intégrés locaux.

RSU_IMAGE_MISE À JOUR 5C 2 0 Déclenche la reconfiguration à partir de la source de données qui peut être la fabrique ou une image d'application.
suite…
  1. Ce nombre n'inclut pas l'en-tête de commande ou de réponse.
  2. Pour les appareils Intel Agilex qui prennent en charge la lecture de plusieurs appareils, l'index n correspond au nombre de canaux que vous activez sur votre appareil.
  3. Se référer à la Guide de l'utilisateur de la gestion de l'alimentation Intel Agilex pour plus d'informations sur les canaux et les emplacements des capteurs de température.
  4. L'indice n dépend du nombre de masques de capteurs.
Commande Code (hexadécimal) Longueur de la commande (1) Longueur de la réponse (1) Description
Cette commande prend un argument 64 bits facultatif qui spécifie l'adresse des données de reconfiguration dans le flash. Lors de l'envoi de l'argument à l'IP, vous envoyez d'abord les bits [31:0] suivis des bits [63:32]. Si vous ne fournissez pas cet argument, sa valeur est supposée être 0.
  • Bit [31:0] : L'adresse de début d'une image d'application.
  • Bit [63:32] : Réservé (écrit comme 0).

Une fois que l'appareil a traité cette commande, il renvoie l'en-tête de réponse à la FIFO de réponse avant de procéder à la reconfiguration de l'appareil. Assurez-vous que le PC hôte ou le contrôleur hôte arrête de traiter les autres interruptions et se concentre sur la lecture des données d'en-tête de réponse pour indiquer que la commande s'est terminée avec succès. Sinon, le PC hôte ou le contrôleur hôte peut ne pas être en mesure de recevoir la réponse une fois le processus de reconfiguration lancé.
Une fois que l'appareil procède à la reconfiguration, le lien entre l'hôte externe et le FPGA est perdu. Si vous utilisez PCIe dans votre conception, vous devez réénumérer le lien PCIe.
Important: Lors de la réinitialisation du quad SPI, vous devez suivre les instructions spécifiées dans Réinitialisation du flash Quad SPI à la page 9.

RSU_GET_SPT 5A 0 4 RSU_GET_SPT récupère l'emplacement flash SPI quadruple pour les deux tables de sous-partition utilisées par le RSU : SPT0 et SPT1.
La réponse de 4 mots contient les informations suivantes :
Mot Nom Description
0 SPT0[63:32] Adresse SPT0 en flash SPI quadruple.
1 SPT0[31:0]
2 SPT1[63:32] Adresse SPT1 en flash SPI quadruple.
3 SPT1[31:0]
CONFIG_STATUT 4 0 6 Indique l'état de la dernière reconfiguration. Vous pouvez utiliser cette commande pour vérifier l'état de la configuration pendant et après la configuration. La réponse contient les informations suivantes :
Mot Résumé Description
0 État Décrit l'erreur liée à la configuration la plus récente. Renvoie 0 lorsqu'il n'y a pas d'erreur de configuration.
Le champ d'erreur a 2 champs :
  • 16 bits supérieurs : code d'erreur majeure.
  • 16 bits inférieurs : code d'erreur mineur.

Reportez-vous à l'annexe : CONFIG_STATUS et les descriptions des codes d'erreur RSU_STATUS dans le client de boîte aux lettres Intel IP FPGA  Guide de l'utilisateur pour plus d'informations.

1 Version quarte Disponible dans les versions logicielles Intel Quartus® Prime entre 19.4 et 21.2, le champ affiche :
  • Bit [31:28] : Index du micrologiciel ou de la copie du micrologiciel de décision qui a été utilisé le plus récemment. Les valeurs possibles sont 0, 1, 2 et 3.
  • Bit [27:24] : Réservé
  • Bit [23:16] : la valeur est '0'
Disponible dans le logiciel Intel Quartus Prime version 21.3 ou ultérieure, la version Quartus affiche :
  • Bit [31:28] : Index du micrologiciel ou de la copie du micrologiciel de décision qui a été utilisé le plus récemment. Les valeurs possibles sont 0, 1, 2 et 3.
  • Bit [27:24] : Réservé
  • Bit [23:16] : numéro de version majeure de Quartus
  • Bit [15:8] : numéro de version mineure de Quartus
  • Bit [7:0] : numéro de mise à jour Quartus

Par exempleample, dans le logiciel Intel Quartus Prime version 21.3.1, les valeurs suivantes représentent les numéros de version majeure et mineure de Quartus, ainsi que le numéro de mise à jour de Quartus :

  • Bit [23:16] = 8'd21 = 8'h15
  • Bit [15:8] = 8'd3 = 8'h3
  • Bit [7:0] = 8'd1 = 8'h1
2 État de la broche
  • Bit [31] : valeur de sortie actuelle nSTATUS (actif bas)
  • Bit [30] : valeur d'entrée nCONFIG détectée (actif bas)
  • Bit [29:8] : Réservé
  • Bit [7:6] : source d'horloge de configuration
    • 01 = Oscillateur interne
    • 10 = OSC_CLK_1
  • Bit [5:3] : Réservé
  • Bit [2:0] : La valeur MSEL à la mise sous tension
3 État de la fonction logicielle Contient la valeur de chacune des fonctions logicielles, même si vous n'avez pas affecté la fonction à une broche SDM.
  • Bit [31:6] : Réservé
  • 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 Emplacement de l'erreur Contient l'emplacement de l'erreur. Renvoie 0 s'il n'y a pas d'erreurs.
5 Détails de l'erreur Contient les détails de l'erreur. Renvoie 0 s'il n'y a pas d'erreurs.
RSU_STATUS 5B 0 9 Signale l'état actuel de la mise à niveau du système distant. Vous pouvez utiliser cette commande pour vérifier l'état de la configuration pendant la configuration et une fois celle-ci terminée. Cette commande renvoie les réponses suivantes :
Mot Résumé Description

(Continuez….)

  1. Ce nombre n'inclut pas l'en-tête de commande ou de réponse
0-1 Image actuelle Flash offset de l'image de l'application en cours d'exécution.
2-3 Image défaillante Flash offset de l'image d'application défaillante la plus prioritaire. Si plusieurs images sont disponibles dans la mémoire flash, stocke la valeur de la première image qui a échoué. Une valeur de tous les 0 indique qu'il n'y a pas d'images défaillantes. S'il n'y a pas d'images défaillantes, le reste des mots restants des informations d'état ne stocke pas d'informations valides.
Note:Un front montant sur nCONFIG pour reconfigurer depuis ASx4, n'efface pas ce champ. Les informations sur l'image défaillante ne sont mises à jour que lorsque le client de boîte aux lettres reçoit une nouvelle commande RSU_IMAGE_UPDATE et se configure avec succès à partir de l'image de mise à jour.
4 État Code d'échec de l'image défaillante. Le champ d'erreur comporte deux parties :
  • Bit [31:16] : code d'erreur majeure
  • Bit [15:0] : code d'erreur mineure Renvoie 0 pour aucun échec. Faire référence à

Annexe : Descriptions des codes d'erreur CONFIG_STATUS et RSU_STATUS dans le Guide de l'utilisateur Intel FPGA IP du client de boîte aux lettres pour plus d'informations.

5 Version Version de l'interface RSU et source d'erreur.
Pour plus d'informations, reportez-vous à la section État RSU et codes d'erreur dans le Guide de l'utilisateur de la mise à jour du système à distance du système de processeur dur.
6 Emplacement de l'erreur Stocke l'emplacement de l'erreur de l'image défaillante. Renvoie 0 pour aucune erreur.
7 Détails de l'erreur Stocke les détails de l'erreur pour l'image défaillante. Renvoie 0 s'il n'y a pas d'erreurs.
8 Compteur de tentatives d'image en cours Compte du nombre de tentatives qui ont été tentées pour l'image actuelle. Le compteur est initialement à 0. Le compteur est mis à 1 après la première tentative, puis à 2 après une deuxième tentative.
Spécifiez le nombre maximum de tentatives dans vos paramètres Intel Quartus Prime File (.qsf). La commande est : set_global_assignment -name RSU_MAX_RETRY_COUNT 3. Les valeurs valides pour le compteur MAX_RETRY sont 1-3. Le nombre réel de tentatives disponibles est MAX_RETRY -1
Ce champ a été ajouté dans la version 19.3 du logiciel Intel Quartus Prime Pro Edition.
suite…
  1. Ce nombre n'inclut pas l'en-tête de commande ou de réponse.
RSU_NOTIFY 5D 1 0 Efface toutes les informations d'erreur dans la réponse RSU_STATUS et réinitialise le compteur de tentatives. L'argument d'un mot contient les champs suivants :
  • 0x00050000 : efface le compteur de tentatives de réinitialisation actuel. La réinitialisation du compteur de tentatives en cours remet le compteur à zéro, comme si l'image en cours avait été chargée avec succès pour la première fois.
  • 0x00060000 : effacez les informations d'état d'erreur.
  • Toutes les autres valeurs sont réservées.

Cette commande n'est pas disponible avant la version 19.3 du logiciel Intel Quartus Prime Pro Edition.

QSPI_OPEN 32 0 0 Demande un accès exclusif au quad SPI. Vous émettez cette demande avant toute autre demande QSPI. Le SDM accepte la demande si le quad SPI n'est pas utilisé et que le SDM ne configure pas l'appareil.
Renvoie OK si le SDM accorde l'accès.
Le SDM accorde un accès exclusif au client utilisant cette boîte aux lettres. Les autres clients ne peuvent pas accéder au quad SPI tant que le client actif n'a pas renoncé à l'accès à l'aide de la commande QSPI_CLOSE.
L'accès aux périphériques de mémoire flash quad SPI via n'importe quelle adresse IP de client de boîte aux lettres n'est pas disponible par défaut dans les conceptions qui incluent le HPS, sauf si vous désactivez le QSPI dans la configuration du logiciel HPS.
Important: Lors de la réinitialisation du quad SPI, vous devez suivre les instructions spécifiées dans Réinitialisation du flash Quad SPI à la page 9.
QSPI_CLOSE 33 0 0 Ferme l'accès exclusif à l'interface quad SPI.
Important:Lors de la réinitialisation du quad SPI, vous devez suivre les instructions spécifiées dans Réinitialisation du flash Quad SPI à la page 9.
QSPI_SET_CS 34 1 0 Spécifie l'un des périphériques quad SPI connectés via les lignes de sélection de puce. Prend un argument d'un mot comme décrit ci-dessous
  • Bits[31:28] : périphérique Flash à sélectionner. Reportez-vous aux informations ci-dessous pour connaître la valeur correspondant aux broches nCSO[0:3]
    • La valeur 4'h0000 sélectionne le flash qui correspond à nCSO[0].
    • La valeur 4'h0001 sélectionne le flash qui correspond à nCSO[1].
    • La valeur 4'h0002 sélectionne le flash qui correspond à nCSO[2].
    • La valeur 4'h0003 sélectionne le flash qui correspond à nCSO[3].
  • Bits[27:0] : Réservé (écrire comme 0).

Note: Les périphériques Intel Agilex ou Intel Stratix® 10 prennent en charge un périphérique de mémoire flash AS x4 pour la configuration AS à partir d'un périphérique SPI quadruple connecté à nCSO[0]. Une fois que l'appareil est entré en mode utilisateur, vous pouvez utiliser jusqu'à quatre mémoires flash AS x4 à utiliser avec Mailbox Client IP ou HPS comme stockage de données. TheMailbox Client IP ou HPS peut utiliser nCSO[3:0] pour accéder aux périphériques quad SPI.
Cette commande est facultative pour le schéma de configuration AS x4, la ligne de sélection de puce suit la dernière commande QSPI_SET_CS exécutée ou prend par défaut nCSO[0] après la configuration AS x4. Le JTAG Le schéma de configuration nécessite l'exécution de cette commande pour accéder au flash QSPI qui connecte les broches SDM_IO.
L'accès aux périphériques de mémoire flash QSPI à l'aide des broches SDM_IO n'est disponible que pour le schéma de configuration AS x4, JTAG configuration et une conception compilée pour la configuration AS x4. Pour le schéma de configuration de l'interface de diffusion Avalon (Avalon ST), vous devez connecter les mémoires flash QSPI aux broches GPIO.

suite…
  1. Ce nombre n'inclut pas l'en-tête de commande ou de réponse
Important: Lors de la réinitialisation du quad SPI, vous devez suivre les instructions spécifiées dans Réinitialisation du flash Quad SPI à la page 9.
QSPI_READ 3A 2 N Lit le périphérique quad SPI connecté. La taille de transfert maximale est de 4 kilo-octets (Ko) ou 1024 mots.
Prend deux arguments :
  • L'adresse flash SPI quadruple (un mot). L'adresse doit être alignée sur les mots. L'appareil renvoie le code d'erreur 0x1 pour les adresses non alignées.
  • Nombre de mots à lire (un mot).

En cas de succès, renvoie OK suivi des données lues à partir du périphérique quad SPI. Une réponse d'échec renvoie un code d'erreur.
Pour une lecture partiellement réussie, QSPI_READ peut renvoyer par erreur l'état OK.
Note: Vous ne pouvez pas exécuter la commande QSPI_READ pendant que la configuration du périphérique est en cours.
Important:Lors de la réinitialisation du quad SPI, vous devez suivre les instructions spécifiées dans Réinitialisation du flash Quad SPI à la page 9.

QSPI_WRITE 39 2+N 0 Écrit des données sur le périphérique quad SPI. La taille de transfert maximale est de 4 kilo-octets (Ko) ou 1024 mots.
Prend trois arguments :
  • Le décalage de l'adresse flash (un mot). L'adresse d'écriture doit être alignée sur les mots.
  • Le nombre de mots à écrire (un mot).
  • Les données à écrire (un ou plusieurs mots). Une écriture réussie renvoie le code de réponse OK.

Pour préparer la mémoire pour les écritures, utilisez la commande QSPI_ERASE avant d'exécuter cette commande.
Note: Vous ne pouvez pas exécuter la commande QSPI_WRITE pendant que la configuration du périphérique est en cours.
Important:Lors de la réinitialisation du quad SPI, vous devez suivre les instructions spécifiées dans Réinitialisation du flash Quad SPI à la page 9.

QSPI_ERASE 38 2 0 Efface un secteur de 4/32/64 Ko du périphérique quad SPI. Prend deux arguments :
  • Le décalage d'adresse flash pour démarrer l'effacement (un mot). Selon le nombre de mots à effacer, l'adresse de départ doit être :
    • 4 Ko alignés si le nombre de mots à effacer est 0x400
    • 32 Ko alignés si le nombre de mots à effacer est 0x2000
    • 64 Ko alignés si le nombre de mots à effacer est 0x4000 Renvoie une erreur pour les adresses non alignées sur 4/32/64 Ko.
  • Le nombre de mots à effacer est spécifié en multiples de :
    • 0x400 pour effacer 4 Ko (100 mots) de données. Cette option est la taille d'effacement minimale.
    • 0x2000 pour effacer 32 Ko (500 mots) de données
    • 0x4000 pour effacer 64 Ko (1000 mots) de données Un effacement réussi renvoie le code de réponse OK.

Important:Lors de la réinitialisation du quad SPI, vous devez suivre les instructions spécifiées dans Réinitialisation du flash Quad SPI à la page 9.

QSPI_READ_DEVICE_REG 35 2 N Lit les registres du périphérique quad SPI. La lecture maximale est de 8 octets. Prend deux arguments :
  • L'opcode pour la commande de lecture.
  • Le nombre d'octets à lire.
suite…
  1. Ce nombre n'inclut pas l'en-tête de commande ou de réponse.
Une lecture réussie renvoie le code de réponse OK suivi des données lues à partir de l'appareil. Le retour des données lues est un multiple de 4 octets. Si les octets à lire ne sont pas un multiple exact de 4 octets, il est bourré avec un multiple de 4 octets jusqu'à la limite de mot suivante et la valeur du bit bourré est zéro.
Important: Lors de la réinitialisation du quad SPI, vous devez suivre les instructions spécifiées dans Réinitialisation du flash Quad SPI à la page 9.
QSPI_WRITE_DEVICE_REG 36 2+N 0 Écrit dans les registres du quad SPI. L'écriture maximale est de 8 octets. Prend trois arguments :
  • L'opcode pour la commande d'écriture.
  • Le nombre d'octets à écrire.
  • Les données à écrire.

Pour effectuer un effacement de secteur ou de sous-secteur, vous devez spécifier l'adresse flash série dans l'ordre de l'octet le plus significatif (MSB) à l'octet le moins significatif (LSB) comme suitample illustre.
Pour effacer un secteur d'un flash Micron 2 gigabits (Gb) à l'adresse 0x04FF0000 à l'aide de la commande QSPI_WRITE_DEVICE_REG, écrivez l'adresse flash dans l'ordre MSB à LSB comme indiqué ici :
En-tête : 0x00003036 Code opération : 0x000000DC
Nombre d'octets à écrire : 0x00000004 Adresse flash : 0x0000FF04
Une écriture réussie renvoie le code de réponse OK. Cette commande complète les données qui ne sont pas un multiple de 4 octets jusqu'à la limite de mot suivante. La commande complète les données avec zéro.
Important:Lors de la réinitialisation du quad SPI, vous devez suivre les instructions spécifiées dans Réinitialisation du flash Quad SPI à la page 9.

QSPI_SEND_DEVICE_OP 37 1 0 Envoie un opcode de commande au quad SPI. Prend un argument :
  • L'opcode pour envoyer le périphérique quad SPI.

Une commande réussie renvoie le code de réponse OK.
Important:Lors de la réinitialisation du quad SPI, vous devez suivre les instructions spécifiées dans Réinitialisation du flash Quad SPI à la page 9.

Pour les descriptions des codes d'erreur majeurs et mineurs CONFIG_STATUS et RSU_STATUS, reportez-vous à l'Annexe : Descriptions des codes d'erreur CONFIG_STATUS et RSU_STATUS dans le Guide de l'utilisateur Intel FPGA IP du client de boîte aux lettres.
Informations connexes

Réponses de code d'erreur

Tableau 8. Codes d'erreur

Valeur (hexadécimal) Réponse de code d'erreur Description
0 OK Indique que la commande s'est terminée avec succès.
Une commande peut renvoyer par erreur l'état OK si une commande, telle que
QSPI_READ est partiellement réussi.
1 COMMANDE NON VALIDE Indique que la ROM de démarrage actuellement chargée ne peut pas décoder ou reconnaître le code de commande.
3 COMMANDE INCONNUE Indique que le micrologiciel actuellement chargé ne peut pas décoder le code de commande.
4 INVALID_COMMAND_PARAMETERS Indique que la commande n'est pas formatée correctement. Par exempleample, le paramètre de champ de longueur dans l'en-tête n'est pas valide.
6 COMMAND_INVALID_ON_SOURCE Indique que la commande provient d'une source pour laquelle elle n'est pas activée.
8 CLIENT_ID_NO_MATCH Indique que l'ID client ne peut pas terminer la demande de fermeture de l'accès exclusif à quad SPI. L'ID client ne correspond pas au client existant avec l'accès exclusif actuel à quad SPI.
9 ADRESSE INVALIDE L'adresse est invalide. Cette erreur indique l'une des conditions suivantes :
  • Une adresse non alignée
  • Un problème de plage d'adresses
  • Un problème d'autorisation de lecture
  • Une valeur de sélection de puce non valide, affichant une valeur supérieure à 3
  • Une adresse invalide dans le cas RSU
  • Une valeur de masque de bits non valide pour GET_VOLTAGCommande E
  • Une sélection de page non valide pour la commande GET_TEMPERATURE
A AUTHENTICATION_FAIL Indique l'échec de l'authentification de la signature bitstream de la configuration.
B TEMPS MORT Cette erreur indique un délai d'attente dû aux conditions suivantes :
  • Commande
  • Attente de la fin de l'opération QSPI_READ
  • Attente de la lecture de température demandée par l'un des capteurs de température. Peut indiquer une erreur matérielle potentielle dans le capteur de température.
C HW_NOT_READY Indique l'une des conditions suivantes :
  • Le matériel n'est pas prêt. Peut indiquer un problème d'initialisation ou de configuration. Le matériel peut faire référence à quad SPI.
  • L'image RSU n'est pas utilisée pour configurer le FPGA.
D HW_ERROR Indique que la commande a échoué en raison d'une erreur matérielle irrécupérable.
80 – 8F COMMAND_SPECIFIC_ERROR Indique une erreur spécifique à la commande due à une commande SDM que vous avez utilisée.
SDM

Commande

Nom de l'erreur Code d'erreur Description
GET_CHIPID EFUSE_SYSTEM_FAILURE 0x82 Indique que le pointeur de cache eFuse n'est pas valide.
QSPI_OPEN/ QSPI_CLOSE/ QSPI_SET_CS/

QSPI_READ_D EVICE_REG/

QSPI_HW_ERROR 0x80 Indique une erreur de mémoire flash QSPI. Cette erreur indique l'une des conditions suivantes :
QSPI_WRITE_DEVICE_REG/

QSPI_SEND_D EVICE_OP/

QSPI_READ

  • Un problème de réglage de sélection de puce flash QSPI
  • Un problème d'initialisation du flash QSPI
  • Un problème de réinitialisation du flash QSPI
  • Un problème de mise à jour des paramètres du flash QSPI
QSPI_ALREADY_ OUVERT 0x81 Indique que l'accès exclusif du client à QSPI flash via la commande QSPI_OPEN est déjà ouvert.
100 PAS CONFIGURÉ Indique que le périphérique n'est pas configuré.
1FF ALT_SDM_MBOX_RESP_DEVICE_BUSY Indique que l'appareil est occupé en raison des cas d'utilisation suivants :
  • RSU : le micrologiciel ne peut pas passer à une version différente en raison d'une erreur interne.
  • HPS : HPS est occupé lors du processus de reconfiguration HPS ou de la réinitialisation à froid HPS.
2FF ALT_SDM_MBOX_RESP_NO _ VALID_RESP_AVAILABLE Indique qu'il n'y a pas de réponse valide disponible.
3FF ALT_SDM_MBOX_RESP_ERROR Erreur générale.

Récupération de code d'erreur
Le tableau ci-dessous décrit les étapes possibles pour récupérer d'un code d'erreur. La récupération d'erreur dépend du cas d'utilisation spécifique.
Tableau 9. Récupération de code d'erreur pour les codes d'erreur connus

Valeur Réponse de code d'erreur Récupération de code d'erreur
4 INVALID_COMMAND_PARAMETERS Renvoyez l'en-tête de commande ou l'en-tête avec des arguments avec des paramètres corrigés.
Par exempleample, assurez-vous que le paramètre de champ de longueur dans l'en-tête est envoyé avec la valeur correcte.
6 COMMAND_INVALID_ON_SOURCE Renvoyez la commande à partir d'une source valide telle que JTAG, HPS ou core fabric.
8 CLIENT_ID_NO_MATCH Attendez que le client qui a ouvert l'accès à quad SPI termine son accès puis ferme l'accès exclusif à quad SPI.
9 ADRESSE INVALIDE Étapes de récupération d'erreur possibles :
Pour GET_VOLTAGCommande E : envoyer une commande avec un masque de bits valide.
Pour la commande GET_TEMPERATURE : envoyer la commande avec un emplacement de capteur et un masque de capteur valides.
Pour le fonctionnement QSPI :
  • Envoyez la commande avec une sélection de puce valide.
  • Envoyez la commande avec une adresse flash QSPI valide.

Pour RSU : envoyer une commande avec une adresse de démarrage valide de l'image d'usine ou de l'application.

B TEMPS MORT Étapes de récupération possibles :

Pour la commande GET_TEMPERATURE : Réessayez d'envoyer à nouveau la commande. Si le problème persiste, reconfigurez ou redémarrez l'appareil.

Pour le fonctionnement QSPI : Vérifiez l'intégrité du signal des interfaces QSPI et relancez la commande.

Pour l'opération de redémarrage HPS : Réessayez d'envoyer à nouveau la commande.

C HW_NOT_READY Étapes de récupération possibles :

Pour le fonctionnement QSPI : Reconfigurez l'appareil via la source. Assurez-vous que l'adresse IP utilisée pour créer votre conception autorise l'accès au flash QSPI.

Pour RSU : configurez l'appareil avec l'image RSU.

80 QSPI_HW_ERROR Vérifiez l'intégrité du signal de l'interface QSPI et assurez-vous que le périphérique QSPI n'est pas endommagé.
81 QSPI_ALREADY_OPEN Le client a déjà ouvert QSPI. Continuez avec l'opération suivante.
82 EFUSE_SYSTEM_FAILURE Essayez de reconfigurer ou de redémarrer. Si l'erreur persiste après la reconfiguration ou le cycle d'alimentation, l'appareil peut être endommagé et irrécupérable.
100 PAS CONFIGURÉ Envoyez un bitstream qui configure le HPS.
1FF ALT_SDM_MBOX_RESP_DEVICE_BUSY Étapes de récupération d'erreur possibles :

Pour le fonctionnement QSPI : attendez que la configuration en cours ou un autre client termine l'opération.

Pour RSU : reconfigurez l'appareil pour récupérer d'une erreur interne.

Pour l'opération de redémarrage HPS : attendez que la reconfiguration via HPS ou HPS Cold Reset soit terminée.

Client de boîte aux lettres avec Avalon Streaming Interface Guide de l'utilisateur Intel FPGA IP Archives de documents

Pour les versions les plus récentes et précédentes de ce guide de l'utilisateur, reportez-vous à Client de boîte aux lettres avec Avalon Streaming Interface Intel FPGA IP Guide de l'utilisateur. Si une adresse IP ou une version logicielle n'est pas répertoriée, le guide de l'utilisateur de l'adresse IP ou de la version logicielle précédente s'applique.

Les versions IP sont les mêmes que les versions du logiciel Intel Quartus Prime Design Suite jusqu'à la v19.1. À partir de la version 19.2 ou ultérieure du logiciel Intel Quartus Prime Design Suite, les cœurs IP disposent d'un nouveau schéma de gestion des versions IP.

Historique de révision du document pour le client de boîte aux lettres avec Avalon Streaming Interface Intel FPGA IP User Guide

Version du document Version Intel Quartus Prime Version IP Changements
2022.09.26 22.3 1.0.1 Les modifications suivantes ont été apportées :
  • Mise à jour du GET_VOLTAGLigne de commande E dans le

Liste des commandes et tableau de description.

  • Ajout d'une note à la prise en charge de la famille d'appareils du tableau.
  • Révisé QSPI_SET_CS description de la commande dans le tableau Liste des commandes et description.
2022.04.04 22.1 1.0.1 Mise à jour de la liste des commandes et du tableau de description.
  • Mise à jour de la description de l'état des broches pour la commande CONFIG_STATUS.
  • Suppression de la commande REBOOT_HPS.
2021.10.04 21.3 1.0.1 J'ai effectué la modification suivante :
  • Révisé Liste des commandes et description tableau. Description mise à jour pour :
    • CONFIG_STATUS
    • RSU_STATUS
2021.06.21 21.2 1.0.1 Les modifications suivantes ont été apportées :
  • Révisé Liste des commandes et description tableau. Description mise à jour pour :
    • RSU_STATUS
    • QSPI_OPEN
    • QSPI_SET_CS
    • QSPI_ERASE
2021.03.29 21.1 1.0.1 Les modifications suivantes ont été apportées :
  • Description révisée de RSU_IMAGE_UPDATE dans le Liste des commandes et description tableau.
  • Restructuré Commandes d'opération. Suppression des descriptions des codes d'erreur majeurs et mineurs pour les commandes CONFIG_STATUS et RSU_STATUS. Les codes d'erreur majeure et mineure sont maintenant documentés en annexe dans le Guide de l'utilisateur Intel FPGA IP du client de boîte aux lettres.
2020.12.14 20.4 1.0.1 Les modifications suivantes ont été apportées :
  • Ajout d'une note importante sur la réinitialisation du flash QSPI dans le Commandes d'opération sujet.
  • Mise à jour du Liste des commandes et description table:
    • Description révisée de la commande GET_TEMPERATURE.
    • Description révisée de la commande RSU_IMAGE_UPDATE.
  • Ajout de texte sur la réinitialisation du flash QSPI.
  • Ajout d'un texte décrivant le comportement entre l'hôte externe et le FPGA.
  • Texte supprimé : Renvoie une réponse différente de zéro si le périphérique traite déjà une commande de configuration.
    • Mise à jour des descriptions QSPI_WRITE et QSPI_READ pour spécifier que la taille de transfert maximale est de 4 kilo-octets ou 1024 mots.
    • Longueur de réponse corrigée de 1 à 0 pour les QSPI_OPEN, QSPI_CLOSE et QSPI_SET_CS commande.
    • Descriptions révisées de QSPI_OPEN, QSPI_WRITE, QSPI_READ_DEVICE_REG et QSPI_WRITE_DEVICE_REG.
    • Ajout d'une nouvelle commande : REBOOT_HPS.
  • Ajout d'un nouveau sujet : Récupération du code d'erreur.
2020.10.05 20.3 1.0.1
  • Modification du titre de ce guide de l'utilisateur de Boîte aux lettres Avalon Streaming Interface Client Intel FPGA IP Guide de l'utilisateur à Client de boîte aux lettres avec Avalon Streaming Interface Intel FPGA IP Guide de l'utilisateur en raison du changement de nom IP dans le catalogue Intel Quartus Prime IP.
  • Mise à jour globale de toutes les instances de nom IP.
  • Description révisée de la commande GET TEMPERATURE pour les périphériques Intel Agilex dans le Liste des commandes et description tableau.
  • Ajout d'une recommandation sur le synchroniseur de réinitialisation dans le Interfaces d'horloge et de réinitialisation tableau.
  • Mise à jour du Codes d'erreur tableau. Ajout de nouvelles réponses de code d'erreur :
    • HW_ERROR
    • COMMAND_SPECIFIC_ERROR
  • Supprimé le Emplacements des capteurs de température sujet. Les informations du capteur de température sont disponibles dans le Guide de l'utilisateur de la gestion de l'alimentation Intel Agilex.
2020.06.30 20.2 1.0.0
  • Modification du titre de ce guide de l'utilisateur de Boîte aux lettres Avalon ST Client Intel FPGA IP User Guide à Boîte aux lettres Avalon Streaming Interface Client Intel FPGA IP Guide de l'utilisateur.
  • Titre du sujet renommé En-tête de commande et de réponse à Commandes et réponses.
  • Descriptions révisées de l'ID, de la LONGUEUR et du code de commande/code d'erreur dans le En-tête de commande et de réponse Description tableau.
  • Titre du sujet renommé Commandes prises en charge à Commandes d'opération.
  • Révision de la description des commandes suivantes dans le Liste des commandes et description table:
    • GET_TEMPERATURE
    • RSU_STATUS
    • QSPI_SET_CS
  • Titre du sujet renommé Codes d'erreur à Réponses de code d'erreur.
  • Suppression de la commande UNKNOWN_BR du Code d'erreur tableau.
2020.04.13 20.1 1.0.0 Les modifications suivantes ont été apportées :
  • Ajout d'informations sur les capteurs de température pour la commande GET_TEMPERATURE, y compris des figures illustrant les emplacements TSD.
  • Ajout de la commande RSU_NOTIFY dans le Liste des codes de commande et description tableau.
  • Mise à jour du Codes d'erreur table:
    • Renommé INVALID_COMMAND_PARAMETERS en INVALID_LENGTH.
    • Modification de la valeur hexadécimale COMMAND_INVALID_ON_SOURCE de 5 à 6.
    • Modification de la valeur hexadécimale CLIENT_ID_NO_MATCH de 6 à 8.
    • Modification de la valeur hexadécimale INVALID_ADDRESS de 7 à 9.
    • Ajout de la commande AUTHENTICATION_FAIL.
    • Modification de la valeur hexadécimale TIMEOUT de 8 à B.
    • Modification de la valeur hexadécimale HW_NOT_READY de 9 à C.
2019.09.30 19.3 1.0.0 Version initiale.

 Pour des commentaires, veuillez visiter :  FPGAtechdocfeedback@intel.com

 

Documents / Ressources

Intel Mailbox Client avec Avalon Streaming Interface FPGA IP [pdf] Guide de l'utilisateur
Client de boîte aux lettres avec interface de diffusion Avalon FPGA IP, client de boîte aux lettres, interface de diffusion Avalon FPGA IP

Références

Laisser un commentaire

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués *