Intel UG-01173 Injection de défauts FPGA IP Core
Guide de l'utilisateur Intel® FPGA IP Core d'injection de pannes
Le cœur IP Intel® FPGA d'injection de pannes injecte des erreurs dans la RAM de configuration (CRAM) d'un périphérique FPGA. Cette procédure simule des erreurs logicielles qui peuvent se produire pendant le fonctionnement normal en raison de perturbations d'événement unique (SEU). Les SEU sont des événements rares et sont donc difficiles à tester. Après avoir instancié le cœur IP d'injection de pannes dans votre conception et configuré votre appareil, vous pouvez utiliser l'outil de débogage d'injection de pannes Intel Quartus® Prime pour induire des erreurs intentionnelles dans le FPGA afin de tester la réponse du système à ces erreurs.
Informations connexes
- Bouleversements d'événement unique
- AN 737 : Détection et récupération de SEU dans les appareils Intel Arria 10
Caractéristiques
- Vous permet d'évaluer la réponse du système pour atténuer les interruptions fonctionnelles à événement unique (SEFI).
- Vous permet d'effectuer la caractérisation SEFI en interne, éliminant ainsi le besoin de tester l'ensemble du faisceau du système. Au lieu de cela, vous pouvez limiter les tests de faisceau aux défaillances dans la mesure du temps (FIT)/Mb au niveau de l'appareil.
- Mettez à l'échelle les taux FIT en fonction de la caractérisation SEFI pertinente pour votre architecture de conception. Vous pouvez répartir de manière aléatoire les injections de pannes sur l'ensemble de l'appareil ou les limiter à des zones fonctionnelles spécifiques pour accélérer les tests.
- Optimisez votre conception pour réduire les perturbations causées par un événement unique (SEU).
Prise en charge des appareils
Le cœur IP Fault Injection prend en charge les appareils de la famille Intel Arria® 10, Intel Cyclone® 10 GX et Stratix® V. La famille Cyclone V prend en charge l'injection de pannes sur les appareils avec le suffixe -SC dans le code de commande. Contactez votre représentant commercial local pour obtenir des informations de commande sur les appareils Cyclone V avec suffixe SC.
Utilisation des ressources et performances
Le logiciel Intel Quartus Prime génère l'estimation de ressources suivante pour le FPGA Stratix V A7. Les résultats pour les autres appareils sont similaires.
Société intel. Tous les droits sont réservés. Intel, le logo Intel et les autres marques Intel sont des marques commerciales d'Intel Corporation ou de ses filiales. Intel garantit les performances de ses produits FPGA et semi-conducteurs selon les spécifications actuelles conformément à la garantie standard d'Intel, mais se réserve le droit d'apporter des modifications à tout produit et service à tout moment et sans préavis. Intel n'assume aucune responsabilité découlant de l'application ou de l'utilisation de toute information, produit ou service décrit dans le présent document, sauf accord exprès et écrit d'Intel. Il est conseillé aux clients d'Intel d'obtenir la dernière version des spécifications de l'appareil avant de se fier aux informations publiées et avant de passer des commandes de produits ou de services. * D'autres noms et marques peuvent être revendiqués comme la propriété d'autrui.
Performances et utilisation des ressources du FPGA IP Core d'injection de pannes
Appareil | Aumône | Registres logiques | M20K | |
Primaire | Secondaire | |||
Stratix V A7 | 3,821 | 5,179 | 0 | 0 |
L'installation du logiciel Intel Quartus Prime inclut la bibliothèque Intel FPGA IP. Cette bibliothèque fournit de nombreux cœurs IP utiles pour votre utilisation en production sans avoir besoin d'une licence supplémentaire. Certains cœurs Intel FPGA IP nécessitent l'achat d'une licence distincte pour une utilisation en production. Le mode d'évaluation IP Intel FPGA vous permet d'évaluer ces cœurs IP Intel FPGA sous licence en simulation et en matériel, avant de décider d'acheter une licence de cœur IP de production complète. Vous n'avez besoin d'acheter une licence de production complète pour les cœurs IP Intel sous licence qu'après avoir terminé les tests matériels et être prêt à utiliser l'IP en production. Le logiciel Intel Quartus Prime installe par défaut les cœurs IP aux emplacements suivants :
Chemin d'installation du noyau IP
Emplacements d'installation du noyau IP
Emplacement | Logiciel | Plate-forme |
:\intelFPGA_pro\quartus\ip\altera | Édition Intel Quartus Prime Pro | Les fenêtres* |
:\intelFPGA\quartus\ip\altera | Intel Quartus Prime Édition Standard | Fenêtres |
:/intelFPGA_pro/quartus/ip/altera | Édition Intel Quartus Prime Pro | Linux * |
:/intelFPGA/quartus/ip/altera | Intel Quartus Prime Édition Standard | Linux |
Note: Le logiciel Intel Quartus Prime ne prend pas en charge les espaces dans le chemin d'installation.
Personnalisation et génération de cœurs IP
Vous pouvez personnaliser les cœurs IP pour prendre en charge une grande variété d'applications. Le catalogue IP Intel Quartus Prime et l'éditeur de paramètres vous permettent de sélectionner et de configurer rapidement les ports, les fonctionnalités et la sortie du cœur IP files.
Catalogue IP et éditeur de paramètres
Le catalogue IP affiche les cœurs IP disponibles pour votre projet, y compris l'IP Intel FPGA et d'autres IP que vous ajoutez au chemin de recherche du catalogue IP. Utilisez les fonctionnalités suivantes du catalogue IP pour localiser et personnaliser un cœur IP :
- Filtrer le catalogue IP pour afficher l'adresse IP de la famille d'appareils actifs ou afficher l'adresse IP pour toutes les familles d'appareils. Si vous n'avez pas de projet ouvert, sélectionnez la famille d'appareils dans le catalogue IP.
- Tapez dans le champ Rechercher pour localiser tout nom de cœur IP complet ou partiel dans le catalogue IP.
- Cliquez avec le bouton droit sur un nom de cœur IP dans le catalogue IP pour afficher des détails sur les périphériques pris en charge, pour ouvrir le dossier d'installation du cœur IP et pour des liens vers la documentation IP.
- Cliquez Rechercher Partner IP to access partner IP information on the web.
L'éditeur de paramètres vous invite à spécifier un nom de variante IP, des ports facultatifs et une sortie file possibilités de génération. L'éditeur de paramètres génère une IP Intel Quartus Prime de niveau supérieur file (.ip) pour une variation IP dans les projets Intel Quartus Prime Pro Edition. L'éditeur de paramètres génère une adresse IP Quartus de niveau supérieur file (.qip) pour une variation IP dans les projets Intel Quartus Prime Standard Edition. Celles-ci files représentent la variation IP dans le projet et stockent les informations de paramétrage.
Éditeur de paramètres IP (Intel Quartus Prime Standard Edition)
Sortie de génération IP Core (Intel Quartus Prime Pro Edition)
Le logiciel Intel Quartus Prime génère la sortie suivante file structure pour les cœurs IP individuels qui ne font pas partie d'un système Platform Designer.
Sortie de génération IP Core individuelle (Intel Quartus Prime Pro Edition)
- S'il est pris en charge et activé pour votre variation de cœur IP.
Sortir Files de la génération Intel FPGA IP
File Nom | Description |
<Ton ip>.ip | Variation IP de niveau supérieur file qui contient le paramétrage d'un cœur IP dans votre projet. Si la variante IP fait partie d'un système Platform Designer, l'éditeur de paramètres génère également un .qsys file. |
<Ton ip>.cmp | La déclaration de composant VHDL (.cmp) file est un texte file qui contient les définitions génériques et de port locales que vous utilisez dans la conception VHDL files. |
<Ton ip>_generation.rpt | Journal de génération IP ou Platform Designer file. Affiche un résumé des messages pendant la génération IP. |
suite… |
File Nom | Description |
<Ton ip>.qgsimc (systèmes Platform Designer uniquement) | Mise en cache de simulation file qui compare le .qsys et le .ip files avec le paramétrage actuel du système Platform Designer et du cœur IP. Cette comparaison détermine si Platform Designer peut ignorer la régénération du HDL. |
<Ton ip>.qgsynth (systèmes Platform Designer uniquement) | Mise en cache de synthèse file qui compare le .qsys et le .ip files avec le paramétrage actuel du système Platform Designer et du cœur IP. Cette comparaison détermine si Platform Designer peut ignorer la régénération du HDL. |
<Ton ip>.qip | Contient toutes les informations pour intégrer et compiler le composant IP. |
<Ton ip>.csv | Contient des informations sur l'état de la mise à niveau du composant IP. |
.bsf | Une représentation symbolique de la variation IP à utiliser dans le schéma fonctionnel Files (.bdf). |
<Ton ip>.spd | Saisir file dont ip-make-simscript a besoin pour générer des scripts de simulation. Le .spd file contient une liste de files que vous générez pour la simulation, ainsi que des informations sur les mémoires que vous initialisez. |
<Ton ip>.ppf | Le planificateur d'épingles File (.ppf) stocke les attributions de port et de nœud pour les composants IP que vous créez pour une utilisation avec le Pin Planner. |
<Ton ip>_bb.v | Utilisez la boîte noire Verilog (_bb.v) file comme déclaration de module vide à utiliser comme boîte noire. |
<Ton ip>_inst.v ou _inst.vhd | HDLexample modèle d'instanciation. Copiez et collez le contenu de ce file dans votre HDL file pour instancier la variation IP. |
<Ton ip>.regmap | Si l'IP contient des informations de registre, le logiciel Intel Quartus Prime génère le .regmap file. Le .regmap file décrit les informations de mappage de registre des interfaces maître et esclave. Cette file compléments
le .sopcinfo file en fournissant des informations de registre plus détaillées sur le système. Cette file active l'affichage du registre views et statistiques personnalisables par l'utilisateur dans la console système. |
<Ton ip>.svd | Permet aux outils de débogage du système HPS de view les cartes de registre des périphériques qui se connectent à HPS dans un système Platform Designer.
Lors de la synthèse, le logiciel Intel Quartus Prime stocke le .svd files pour l'interface esclave visible pour les maîtres de la console système dans le .sof file dans la session de débogage. La console système lit cette section, que Platform Designer interroge pour obtenir des informations sur la carte de registre. Pour les esclaves système, Platform Designer accède aux registres par leur nom. |
<Ton ip>.v
<Ton ip>.vhd |
HDL files qui instancient chaque sous-module ou cœur IP enfant pour la synthèse ou la simulation. |
mentor/ | Contient un script msim_setup.tcl pour configurer et exécuter une simulation. |
aldec/ | Contient un script rivierapro_setup.tcl pour configurer et exécuter une simulation. |
/synopsis/vcs
/synopsis/vcsmx |
Contient un script shell vcs_setup.sh pour configurer et exécuter une simulation.
Contient un script shell vcsmx_setup.sh et synopsys_sim.setup file pour configurer et exécuter une simulation. |
/cadence | Contient un script shell ncsim_setup.sh et une autre configuration files pour configurer et exécuter une simulation. |
/xcélium | Contient un script shell de simulateur parallèle xcelium_setup.sh et une autre configuration files pour configurer et exécuter une simulation. |
/sous-modules | Contient du HDL files pour le sous-module cœur IP. |
<Sous-module IP>/ | Platform Designer génère des sous-répertoires /synth et /sim pour chaque répertoire de sous-module IP généré par Platform Designer. |
Description fonctionnelle
Avec le noyau IP d'injection de fautes, les concepteurs peuvent effectuer une caractérisation SEFI en interne, mettre à l'échelle les taux FIT en fonction de la caractérisation SEFI et optimiser les conceptions pour réduire l'effet des SEU.
Atténuation des perturbations par événement unique
Les circuits intégrés et les dispositifs logiques programmables tels que les FPGA sont sensibles aux SEU. Les SEU sont des événements aléatoires non destructifs, causés par deux sources principales : les particules alpha et les neutrons des rayons cosmiques. Le rayonnement peut faire basculer l'état du registre logique, du bit de mémoire intégré ou d'un bit de RAM de configuration (CRAM), entraînant ainsi un fonctionnement inattendu de l'appareil. Intel Arria 10, Intel Cyclone 10 GX, Arria V, Cyclone V, Stratix V et les appareils plus récents ont les capacités CRAM suivantes :
- Vérification de redondance cyclique de détection d'erreurs (EDCRC)
- Correction automatique d'un CRAM contrarié (scrubbing)
- Possibilité de créer une condition CRAM perturbée (injection de fautes)
Pour plus d'informations sur l'atténuation SEU dans les appareils Intel FPGA, reportez-vous au chapitre Atténuation SEU dans le manuel de l'appareil respectif.
IP d'injection de défaut Broche Description
Le noyau IP d'injection de fautes comprend les broches d'E/S suivantes.
Broches d'E/S IP Core d'injection de défauts
Nom de la broche | Direction des broches | Description de la broche |
crcerror_pin | saisir | Entrée du déchargeur de registre de message d'erreur Intel FPGA IP (EMR Unloader IP). Ce signal est émis lorsqu'une erreur CRC a été détectée par l'EDCRC de l'appareil. |
emr_data | saisir | Contenu du registre des messages d'erreur (EMR). Reportez-vous au manuel de l'appareil approprié pour les champs EMR.
Cette entrée est conforme au signal d'interface de données Avalon Streaming. |
emr_valid | saisir | Indique que les entrées emr_data contiennent des données valides. Il s'agit d'un signal d'interface valide pour Avalon Streaming. |
Réinitialiser | saisir | Entrée de réinitialisation du module. La réinitialisation est entièrement contrôlée par le débogueur d'injection de fautes. |
erreur_injecté | sortir | Indique qu'une erreur a été injectée dans CRAM comme commandé via le JTAG interface. La durée pendant laquelle ce signal s'affirme dépend de vos réglages du JTAG Signaux TCK et bloc de commande. Typiquement, le temps est d'environ 20 cycles d'horloge du signal TCK. |
erreur_scrubbed | sortir | Indique que le nettoyage de l'appareil est terminé comme commandé via le JTAG interface. La durée pendant laquelle ce signal s'affirme dépend de vos réglages du JTAG Signaux TCK et bloc de commande. Typiquement, le temps est d'environ 20 cycles d'horloge du signal TCK. |
insc | sortir | Sortie facultative. L'IP d'injection de fautes utilise cette horloge, par example, pour cadencer le bloc EMR_unloader. |
Schéma de broche IP d'injection de défaut
Utilisation du débogueur d'injection de pannes et du noyau IP d'injection de pannes
Le débogueur d'injection de fautes fonctionne avec le noyau IP d'injection de fautes. Tout d'abord, vous instanciez le noyau IP dans votre conception, compilez et téléchargez la configuration résultante file dans votre appareil. Ensuite, vous exécutez le débogueur d'injection de pannes à partir du logiciel Intel Quartus Prime ou à partir de la ligne de commande pour simuler des erreurs logicielles.
- Le débogueur d'injection de fautes vous permet d'effectuer des expériences d'injection de fautes de manière interactive ou par commandes par lots, et vous permet de spécifier les zones logiques de votre conception pour les injections de fautes.
- L'interface de ligne de commande est utile pour exécuter le débogueur via un script.
Note
Le débogueur d'injection de fautes communique avec le noyau IP d'injection de fautes via le JTAG interface. L'IP d'injection de fautes accepte les commandes du JTAG interface et signale l'état via le JTAG interface. Le noyau IP d'injection de fautes est implémenté dans une logique logicielle dans votre appareil ; par conséquent, vous devez tenir compte de cette utilisation logique dans votre conception. Une méthodologie consiste à caractériser la réponse de votre conception à SEU en laboratoire, puis à omettre le cœur IP de votre conception finale déployée.
Vous utilisez le cœur IP Fault Injection avec les cœurs IP suivants :
- Le noyau IP Error Message Register Unloader, qui lit et stocke les données du circuit de détection d'erreurs renforcé dans les dispositifs Intel FPGA.
- (Facultatif) Le cœur IP Intel FPGA de détection SEU avancée, qui compare les emplacements d'erreur sur un seul bit à une carte de sensibilité pendant le fonctionnement de l'appareil pour déterminer si une erreur logicielle l'affecte.
Débogueur d'injection de fautes terminéview Diagramme
Remarques :
-
L'IP d'injection de faute retourne les bits de la logique ciblée.
-
Le débogueur d'injection de pannes et l'IP de détection SEU avancée utilisent la même instance de déchargeur EMR.
-
Le noyau IP de détection SEU avancée est facultatif.
Informations connexes
- À propos de SMH Fileà la page 13
- À propos du noyau IP EMR Unloader à la page 10
- À propos du noyau IP de détection SEU avancée à la page 11
Instanciation du noyau IP d'injection de fautes
NOTE
Le noyau IP d'injection de fautes ne nécessite pas que vous définissiez des paramètres. Pour utiliser le cœur IP, créez une nouvelle instance IP, incluez-la dans votre système Platform Designer (Standard) et connectez les signaux comme il convient. Vous devez utiliser le noyau IP Fault Injection avec le noyau IP EMR Unloader. Les cœurs IP Fault Injection et EMR Unloader sont disponibles dans Platform Designer et le catalogue IP. En option, vous pouvez les instancier directement dans votre conception RTL, à l'aide de Verilog HDL, SystemVerilog ou VHDL.
À propos du noyau IP du déchargeur EMR
Le noyau IP EMR Unloader fournit une interface à l'EMR, qui est mise à jour en continu par l'EDCRC de l'appareil qui vérifie les bits CRAM de l'appareil CRC pour les erreurs logicielles.
Example système de conception de plate-forme comprenant le noyau IP d'injection de pannes et le noyau IP de déchargeur EMR
Example Schéma fonctionnel du noyau IP d'injection de pannes et du noyau IP du déchargeur EMR
Informations connexes
Message d'erreur Register Unloader Guide de l'utilisateur Intel FPGA IP Core
À propos du noyau IP de détection SEU avancée
Utilisez le noyau IP ASD (Advanced SEU Detection) lorsque la tolérance SEU est un problème de conception. Vous devez utiliser le noyau IP EMR Unloader avec le noyau IP ASD. Par conséquent, si vous utilisez l'IP ASD et l'IP d'injection de défauts dans la même conception, ils doivent partager la sortie du déchargeur EMR via un composant répartiteur Avalon®-ST. La figure suivante montre un système Platform Designer dans lequel un séparateur Avalon-ST distribue le contenu EMR aux cœurs IP ASD et Fault Injection.
Utilisation de l'ASD et de l'IP d'injection de pannes dans le même système de concepteur de plate-forme
Informations connexes
Détection SEU avancée Guide de l'utilisateur Intel FPGA IP Core
Définition des zones d'injection de fautes
Vous pouvez définir des régions spécifiques du FPGA pour l'injection de fautes à l'aide d'un en-tête de carte de sensibilité (.smh) file. Le SMH file stocke les coordonnées des bits CRAM de l'appareil, leur région attribuée (région ASD) et leur criticité. Au cours du processus de conception, vous utilisez la hiérarchie tagging pour créer la région. Ensuite, lors de la compilation, l'assembleur Intel Quartus Prime génère le SMH file. Le débogueur d'injection de pannes limite les injections d'erreurs à des régions de périphérique spécifiques que vous définissez dans le SMH file.
Exécution de la hiérarchie Tagging
Vous définissez les régions FPGA à tester en attribuant une région ASD à l'emplacement. Vous pouvez spécifier une valeur de région ASD pour n'importe quelle partie de votre hiérarchie de conception à l'aide de la fenêtre Concevoir des partitions.
- Choisissez Affectations ➤ Concevoir la fenêtre des partitions.
- Cliquez avec le bouton droit n'importe où dans la ligne d'en-tête et activez Région ASD pour afficher la colonne Région ASD (si elle n'est pas déjà affichée).
- Entrez une valeur comprise entre 0 et 16 pour n'importe quelle partition afin de l'affecter à une région ASD spécifique.
- La région ASD 0 est réservée aux parties inutilisées de l'appareil. Vous pouvez attribuer une partition à cette région pour la spécifier comme non critique.
- La région ASD 1 est la région par défaut. Toutes les parties utilisées de l'appareil sont attribuées à cette région, sauf si vous modifiez explicitement l'attribution de la région ASD.
À propos de SMH Files
Le SMH file contient les informations suivantes :
- Si vous n'utilisez pas la hiérarchie tagging (c'est-à-dire que la conception n'a pas d'affectations explicites de région ASD dans la hiérarchie de conception), le SMH file répertorie chaque bit CRAM et indique s'il est sensible pour la conception.
- Si vous avez exécuté la hiérarchie tagging et a modifié les affectations de région ASD par défaut, le SMH file répertorie chaque bit CRAM et la région ASD qui lui est attribuée.
Le débogueur d'injection de fautes peut limiter les injections à une ou plusieurs régions spécifiées. Diriger l'assembleur pour générer un SMH file:
- Choisissez Affectations ➤ Périphérique ➤ Options de périphérique et de broche ➤ CRC de détection d'erreur.
- Activez la carte de sensibilité Générer SEU file (.smh).
Utilisation du débogueur d'injection de fautes
NOTE
Pour utiliser le Fault Injection Debugger, vous vous connectez à votre appareil via le JTAG interface. Ensuite, configurez l'appareil et effectuez l'injection de fautes. Pour lancer le débogueur d'injection de pannes, choisissez Outils ➤ Débogueur d'injection de pannes dans le logiciel Intel Quartus Prime. La configuration ou la programmation de l'appareil est similaire à la procédure utilisée pour le programmateur ou l'analyseur logique de prise de signal.
Débogueur d'injection de fautes
Pour configurer votre JTAG chaîne:
- Cliquez sur Configuration du matériel. L'outil affiche le matériel de programmation connecté à votre ordinateur.
- Sélectionnez le matériel de programmation que vous souhaitez utiliser.
- Cliquez sur Fermer.
- Cliquez sur Détection automatique, qui remplit la chaîne de périphériques avec les périphériques programmables trouvés dans le JTAG chaîne.
Informations connexes
Fonction d'injection ciblée de défauts à la page 21
Configuration matérielle et logicielle requise
Le matériel et les logiciels suivants sont requis pour utiliser le débogueur d'injection de panne :
- Ligne FEATURE dans votre licence Intel FPGA qui active le cœur IP Fault Injection. Pour plus d'informations, contactez votre représentant commercial Intel FPGA local.
- Câble de téléchargement (câble de téléchargement Intel FPGA, câble de téléchargement Intel FPGA II, ou II).
- Kit de développement Intel FPGA ou carte conçue par l'utilisateur avec un JTAG connexion à l'appareil testé.
- (Facultatif) Ligne FEATURE dans votre licence Intel FPGA qui active le cœur IP de détection SEU avancée.
Configuration de votre appareil et du débogueur d'injection de pannes
Le débogueur d'injection de panne utilise un .sof et (éventuellement) un en-tête de carte de sensibilité (.smh) file. L'objet logiciel File (.sof) configure le FPGA. Le .smh file définit la sensibilité des bits CRAM dans l'appareil. Si vous ne fournissez pas de .smh file, le débogueur d'injection de fautes injecte des fautes de manière aléatoire dans les bits CRAM. Pour spécifier un .sof :
- Sélectionnez le FPGA que vous souhaitez configurer dans la case Device chain.
- Cliquez sur Sélectionner File.
- Accédez au fichier .sof et cliquez sur OK. Le débogueur d'injection de fautes lit le fichier .sof.
- (Facultatif) Sélectionnez le SMH file.
Si vous ne spécifiez pas de SMH file, le débogueur d'injection de pannes injecte des pannes de manière aléatoire sur l'ensemble de l'appareil. Si vous spécifiez un SMH file, vous pouvez limiter les injections aux zones utilisées de votre appareil.- Cliquez avec le bouton droit sur le périphérique dans la zone Chaîne de périphériques, puis cliquez sur Sélectionner SMH File.
- Sélectionnez votre SMH file.
- Cliquez sur OK.
- Activez Programmer/Configurer.
- Cliquez sur Démarrer.
Le débogueur d'injection de fautes configure l'appareil à l'aide du fichier .sof.
Menu contextuel de sélection du SMH File
Contraindre les régions pour l'injection de fautes
Après avoir chargé un SMH file, vous pouvez demander au débogueur d'injection de pannes de fonctionner uniquement sur des régions ASD spécifiques. Pour spécifier la ou les régions ASD dans lesquelles injecter les défauts :
- Cliquez avec le bouton droit sur le FPGA dans la zone Chaîne de périphériques, puis cliquez sur Afficher la carte de sensibilité des périphériques.
- Sélectionnez la ou les régions ASD pour l'injection de fautes.
Carte de sensibilité des appareils Viewer
Spécification des types d'erreur
Vous pouvez spécifier différents types d'erreurs pour l'injection.
- Erreurs uniques (SE)
- Erreurs double-adjacentes (DAE)
- Erreurs multi-bits non corrigibles (EMBE)
Les périphériques Intel FPGA peuvent auto-corriger les erreurs simples et doubles adjacentes si la fonction de nettoyage est activée. Les périphériques Intel FPGA ne peuvent pas corriger les erreurs multi-bits. Reportez-vous au chapitre sur l'atténuation des SEU pour plus d'informations sur le débogage de ces erreurs. Vous pouvez spécifier le mélange de défauts à injecter et l'intervalle de temps d'injection. Pour spécifier l'intervalle de temps d'injection :
- Dans le débogueur d'injection de fautes, choisissez Outils ➤ Options.
- Faites glisser le contrôleur rouge vers le mélange d'erreurs. Alternativement, vous pouvez spécifier le mélange numériquement.
- Spécifiez la durée de l'intervalle d'injection.
- Cliquez sur OK.
Figure 12. Spécification du mélange de types de défauts SEU
Informations connexes Atténuation de la perturbation d'un événement unique
Erreurs d'injection
Vous pouvez injecter des erreurs dans plusieurs modes :
- Injecter une erreur sur commande
- Injecter plusieurs erreurs sur commande
- Injecter les erreurs jusqu'à l'ordre d'arrêt
Pour injecter ces fautes :
- Activez l'option Injecter défaut.
- Choisissez si vous souhaitez exécuter l'injection d'erreurs pendant un certain nombre d'itérations ou jusqu'à l'arrêt :
- Si vous choisissez de s'exécuter jusqu'à l'arrêt, le débogueur d'injection de fautes injecte des erreurs à l'intervalle spécifié dans la boîte de dialogue Outils ➤ Options.
- Si vous souhaitez exécuter l'injection d'erreurs pour un nombre spécifique d'itérations, entrez le nombre.
- Cliquez sur Démarrer.
Note: Le débogueur d'injection de fautes s'exécute pendant le nombre d'itérations spécifié ou jusqu'à ce qu'il soit arrêté. La fenêtre Intel Quartus Prime Messages affiche des messages sur les erreurs injectées. Pour plus d'informations sur les défauts injectés, cliquez sur Lire EMR. Le débogueur d'injection de panne lit l'EMR de l'appareil et affiche le contenu dans la fenêtre Messages.
Injection d'erreur Intel Quartus Prime et messages de contenu EMR
Erreurs d'enregistrement
Vous pouvez enregistrer l'emplacement de tout défaut injecté en notant les paramètres signalés dans la fenêtre Messages Intel Quartus Prime. Si, par exempleample, une faute injectée entraîne un comportement que vous souhaitez rejouer, vous pouvez cibler cet emplacement pour l'injection. Vous effectuez une injection ciblée à l'aide de l'interface de ligne de commande Fault Injection Debugger.
Effacement des erreurs injectées
Pour restaurer le fonctionnement normal du FPGA, cliquez sur Scrub. Lorsque vous nettoyez une erreur, les fonctions EDCRC de l'appareil sont utilisées pour corriger les erreurs. Le mécanisme de récurage est similaire à celui utilisé pendant le fonctionnement de l'appareil.
Interface de ligne de commande
Vous pouvez exécuter le débogueur d'injection de fautes sur la ligne de commande avec l'exécutable quartus_fid, ce qui est utile si vous souhaitez effectuer une injection de fautes à partir d'un script.
Tableau 5. Arguments de la ligne de commande pour l'injection de fautes
Argumentation courte | Longue argumentation | Description |
c | câble | Spécifiez le matériel de programmation ou le câble. (Obligatoire) |
i | indice | Spécifiez le périphérique actif pour injecter le défaut. (Obligatoire) |
n | nombre | Spécifiez le nombre d'erreurs à injecter. La valeur par défaut est
1. (Facultatif) |
t | temps | Temps d'intervalle entre les injections. (Facultatif) |
Note: Utilisez quartus_fid –help pour view toutes les options disponibles. Le code suivant fournit exampà l'aide de l'interface de ligne de commande Fault Injection Debugger.
############################################
- # Découvrez quels câbles USB sont disponibles pour cette instance
- # Le résultat montre qu'un câble est disponible, nommé "USB-Blaster" #
- $ quartus_fid –liste . . .
- Info : Commande : quartus_fid –list
- USB-Blaster sur sj-sng-z4 [USB-0] Info : Le débogueur d'injection de panne Intel Quartus Prime 64 bits a réussi. 0 erreurs, 0 avertissement
- ########################################### #
- # Trouver quels appareils sont disponibles sur le câble USB-Blaster
- # Le résultat montre deux appareils : un Stratix V A7 et un MAX V CPLD. #
- $ quartus_fid –câble USB-Blaster -a
- Info : Commande : quartus_fid –cable=USB-Blaster -a
- Info (208809) : Utilisation du câble de programmation "USB-Blaster sur sj-sng-z4 [USB-0]"
- USB-Blaster sur sj-sng-z4 [USB-0]
- 029030DD 5SGXEA7H(1|2|3)/5SGXEA7K1/..
- 020A40DD 5M2210Z/EPM2210
- Info : le débogueur d'injection de panne Intel Quartus Prime 64 bits a réussi.
- 0 erreurs, 0 avertissements
- ########################################### #
- # Programmer l'appareil Stratix V
- # L'option –index spécifie les opérations effectuées sur un périphérique connecté.
- # "=svgx.sof" associe un .sof file avec l'appareil
- # "#p" signifie programmer l'appareil #
- $ quartus_fid –câble USB-Blaster –index « @1=svgx.sof#p » . . .
- Info (209016) : Configuration de l'indice d'appareil 1
- Info (209017) : L'appareil 1 contient JTAG Code d'identification 0x029030DD
- Info (209007) : Configuration réussie — 1 appareil(s) configuré(s)
- Info (209011) : Opération(s) effectuée(s) avec succès
- Info (208551) : signature du programme dans l'appareil 1.
- Info : le débogueur d'injection de panne Intel Quartus Prime 64 bits a réussi.
- 0 erreurs, 0 avertissements
- ########################################### #
- # Injecter une faute dans l'appareil.
- # L'opérateur #i indique d'injecter des fautes
- # -n 3 indique d'injecter 3 fautes #
- $ quartus_fid –câble USB-Blaster –index « @1=svgx.sof#i » -n 3
- Info : Commande : quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 3
- Info (208809) : Utilisation du câble de programmation "USB-Blaster sur sj-sng-z4 [USB-0]"
- Info (208521) : Injecte 3 erreur(s) dans le(s) appareil(s)
- Info : le débogueur d'injection de panne Intel Quartus Prime 64 bits a réussi.
- 0 erreurs, 0 avertissements
- ########################################### #
- # Mode interactif.
- # L'utilisation de l'opération #i avec -n 0 place le débogueur en mode interactif.
- # Notez que 3 fautes ont été injectées dans la session précédente ;
- # "E" lit les défauts actuellement dans le noyau IP du déchargeur EMR. #
- $ quartus_fid –câble USB-Blaster –index « @1=svgx.sof#i » -n 0
- Info : Commande : quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 0
- Info (208809) : Utilisation du câble de programmation "USB-Blaster sur sj-sng-z4 [USB-0]"
- Entrer :
- 'F' pour injecter le défaut
- 'E' pour lire EMR
- 'S' pour effacer les erreurs
- 'Q' pour quitter E
- Info (208540) : lecture de la matrice EMR
- Info (208544) : 3 erreur(s) de trame détectée dans l'appareil 1.
- Info (208545) : Erreur #1 : Erreur unique dans la trame 0x1028 au bit 0x21EA.
- Info (10914) : Erreur #2 : Erreur multi-bits non corrigible dans la trame 0x1116.
- Info (208545) : Erreur #3 : Erreur unique dans la trame 0x1848 au bit 0x128C.
- 'F' pour injecter le défaut
- 'E' pour lire EMR
- 'S' pour effacer les erreurs
- 'Q' pour quitter Q
- Infos : Le débogueur d'injection de panne Intel Quartus Prime 64 bits a réussi. 0 erreurs, 0 avertissements
- Infos : Mémoire virtuelle maximale : 1522 XNUMX mégaoctets
- Infos : Traitement terminé : lun. 3 nov. 18:50:00 2014
- Infos : Temps écoulé : 00:00:29
- Infos : Temps CPU total (sur tous les processeurs) : 00:00:13
Fonction d'injection ciblée de pannes
Note
Le débogueur d'injection de fautes injecte des fautes dans le FPGA de manière aléatoire. Cependant, la fonction d'injection ciblée de défauts vous permet d'injecter des défauts dans des emplacements ciblés de la CRAM. Cette opération peut être utile, par example, si vous avez noté un événement SEU et souhaitez tester le FPGA ou la réponse du système au même événement après avoir modifié une stratégie de récupération. La fonction d'injection ciblée de pannes n'est disponible qu'à partir de l'interface de ligne de commande. Vous pouvez spécifier que les erreurs sont injectées à partir de la ligne de commande ou en mode invite. Informations connexes
AN 539 : Méthodologie de test ou détection et récupération d'erreurs à l'aide du CRC dans les périphériques Intel FPGA
Spécification d'une liste d'erreurs à partir de la ligne de commande
La fonctionnalité Targeted Fault Injection vous permet de spécifier une liste d'erreurs à partir de la ligne de commande, comme illustré dans l'exemple suivant.ample : c:\Users\sng> quartus_fid -c 1 – i « @1= svgx.sof#i » -n 2 -user= »@1= 0x2274 0x05EF 0x2264 0x0500″ Où : c 1 indique que le FPGA est contrôlé par le premier câble de votre ordinateur. i "@1= six.sof#i " indique que le premier appareil de la chaîne est chargé avec l'objet file svgx.sof et sera injecté avec des défauts. n 2 indique que deux défauts vont être injectés. user = "@1 = 0x2274 0x05EF 0x2264 0x0500" est une liste de défauts à injecter spécifiée par l'utilisateur. Dans cet example, l'appareil 1 a deux défauts : à la trame 0x2274, bit 0x05EF et à la trame 0x2264, bit 0x0500.
Spécification d'une liste d'erreurs à partir du mode d'invite
Vous pouvez utiliser la fonction d'injection ciblée de défauts de manière interactive en spécifiant le nombre de défauts à 0 (-n 0). Le débogueur d'injection de fautes présente les commandes du mode invite et leurs descriptions.
Commande de mode d'invite | Description |
F | Injecter une faute |
E | Lire le DME |
S | Erreurs de nettoyage |
Q | Quitter |
En mode invite, vous pouvez émettre la commande F seule pour injecter un seul défaut dans un emplacement aléatoire de l'appareil. Dans l'ex suivantamputilisant la commande F en mode prompt, trois erreurs sont injectées. F #3 0x12 0x34 0x56 0x78 * 0x9A 0xBC +
- Erreur 1 - Erreur de bit unique à la trame 0x12, bit 0x34
- Erreur 2 - Erreur non corrigible à la trame 0x56, bit 0x78 (un * indique une erreur multi-bits)
- Erreur 3 - Erreur double adjacente à la trame 0x9A, bit 0xBC (a + indique une erreur de double bit)
F 0x12 0x34 0x56 0x78 * Une erreur (par défaut) est injectée : Erreur 1 – Erreur de bit unique à la trame 0x12, bit 0x34. Les emplacements après le premier emplacement de trame/bit sont ignorés. F #3 0x12 0x34 0x56 0x78 * 0x9A 0xBC + 0xDE 0x00
Trois erreurs sont injectées :
- Erreur 1 - Erreur de bit unique à la trame 0x12, bit 0x34
- Erreur 2 - Erreur non corrigible à la trame 0x56, bit 0x78
- Erreur 3 - Erreur double adjacente à la trame 0x9A, bit 0xBC
- Les emplacements après les 3 premières paires trame/bit sont ignorés
Détermination des emplacements des bits CRAM
Note:
Lorsque le débogueur d'injection de panne détecte une erreur CRAM EDCRC, le registre de message d'erreur (EMR) contient le syndrome, le numéro de trame, l'emplacement du bit et le type d'erreur (simple, double ou multibit) de l'erreur CRAM détectée. Pendant le test du système, enregistrez le contenu EMR signalé par le débogueur d'injection de panne lorsque vous détectez une erreur EDCRC. Avec le contenu EMR enregistré, vous pouvez fournir les numéros de trame et de bit au débogueur d'injection de pannes pour rejouer les erreurs notées lors des tests du système, pour concevoir plus avant et caractériser une réponse de récupération du système à cette erreur.
Informations connexes
AN 539 : Méthodologie de test ou détection et récupération d'erreurs à l'aide du CRC dans les périphériques Intel FPGA
Options de ligne de commande avancées : régions ASD et pondération du type d'erreur
Vous pouvez utiliser l'interface de ligne de commande Fault Injection Debugger pour injecter des erreurs dans les régions ASD et pondérer les types d'erreurs. Tout d'abord, vous spécifiez le mélange de types d'erreurs (simple bit, double adjacent et multibit non corrigible) à l'aide de l'option –weight . . option. Par exempleample, pour un mélange de 50 % d'erreurs simples, 30 % d'erreurs doubles adjacentes et 20 % d'erreurs multi-bits non corrigibles, utilisez l'option –weight=50.30.20. Ensuite, pour cibler une région ASD, utilisez l'option -smh pour inclure le SMH file et indiquer la région ASD à cibler. Par exempleample : $ quartus_fid –cable=USB-BlasterII –index « @1=svgx.sof#pi » –weight=100.0.0 –smh= »@1=svgx.smh#2″ –number=30
Cet example commande :
- Programme l'appareil et injecte des défauts (pi string)
- Injecte 100 % de défauts sur un seul bit (100.0.0)
- Injecte uniquement dans ASD_REGION 2 (indiqué par le #2)
- Injecte 30 défauts
Archives du guide de l'utilisateur IP Core d'injection de pannes
Version de base IP | Guide de l'utilisateur |
18.0 | Guide de l'utilisateur Intel FPGA IP Core d'injection de pannes |
17.1 | Guide de l'utilisateur Intel FPGA Fault Injection IP Core |
16.1 | Guide de l'utilisateur Altera Fault Injection IP Core |
15.1 | Guide de l'utilisateur Altera Fault Injection IP Core |
Si une version IP core n'est pas répertoriée, le guide de l'utilisateur de la version IP core précédente s'applique.
Historique de révision des documents pour le guide de l'utilisateur IP Core d'injection de pannes
Version du document | Version Intel Quartus Prime | Changements |
2019.07.09 | 18.1 | Mise à jour du IP d'injection de défaut Broche Description rubrique pour clarifier les signaux Reset, error_injected et error_scrubbed. |
2018.05.16 | 18.0 | • Ajout des rubriques suivantes du manuel Intel Quartus Prime Pro Edition :
— Définition des zones d'injection de fautes et sous-thèmes. — Utilisation du débogueur d'injection de fautes et sous-thèmes. — Interface de ligne de commande et sous-thèmes. • Renommé Intel FPGA Fault Injection IP core en Fault Injection Intel FPGA IP. |
Date | Version | Changements |
2017.11.06 | 17.1 | • Rebaptisé Intel.
• Ajout de la prise en charge des périphériques Intel Cyclone 10 GX. |
2016.10.31 | 16.1 | Prise en charge des appareils mise à jour. |
2015.12.15 | 15.1 | • Remplacement du logiciel Quartus II par le logiciel Quartus Prime.
• Lien connexe d'auto-référencement fixe. |
2015.05.04 | 15.0 | Version initiale. |
Documents / Ressources
![]() |
Intel UG-01173 Injection de défauts FPGA IP Core [pdf] Guide de l'utilisateur UG-01173 Injection de défaut FPGA IP Core, UG-01173, Injection de défaut FPGA IP Core, Injection c, Injection FPGA IP Core |