intel UG-01173 Foutinjectie FPGA IP Core
Foutinjectie Intel® FPGA IP Core Gebruikershandleiding
De Fault Injection Intel® FPGA IP-kern injecteert fouten in het configuratie-RAM (CRAM) van een FPGA-apparaat. Deze procedure simuleert zachte fouten die tijdens normale werking kunnen optreden als gevolg van single event verstoringen (SEU's). SEU's zijn zeldzame gebeurtenissen en daarom moeilijk te testen. Nadat u de Fault Injection IP-kern in uw ontwerp hebt geïnstantieerd en uw apparaat hebt geconfigureerd, kunt u de Intel Quartus® Prime Fault Injection Debugger-tool gebruiken om opzettelijke fouten in de FPGA te veroorzaken om de reactie van het systeem op deze fouten te testen.
Gerelateerde informatie
- Verstoringen van een enkele gebeurtenis
- AN 737: SEU-detectie en herstel in Intel Arria 10-apparaten
Functies
- Hiermee kunt u de systeemreactie evalueren om functionele interrupts met één gebeurtenis (SEFI) te beperken.
- Hiermee kunt u SEFI-karakterisering intern uitvoeren, waardoor het testen van de gehele systeembundel overbodig wordt. In plaats daarvan kunt u de straaltests beperken tot fouten in de tijd (FIT)/Mb-meting op apparaatniveau.
- Schaal FIT-tarieven volgens de SEFI-karakterisering die relevant is voor uw ontwerparchitectuur. U kunt foutinjecties willekeurig over het hele apparaat verdelen, of ze beperken tot specifieke functionele gebieden om het testen te versnellen.
- Optimaliseer uw ontwerp om verstoringen veroorzaakt door eenmalige verstoringen (SEU) te verminderen.
Apparaatondersteuning
De Fault Injection IP-kern ondersteunt apparaten uit de Intel Arria® 10-, Intel Cyclone® 10 GX- en Stratix® V-familie. De Cyclone V-familie ondersteunt foutinjectie op apparaten met het achtervoegsel -SC in de bestelcode. Neem contact op met uw plaatselijke verkoopvertegenwoordiger voor bestelinformatie over Cyclone V-apparaten met het achtervoegsel -SC.
Gebruik van hulpbronnen en prestaties
De Intel Quartus Prime-software genereert de volgende bronnenschatting voor de Stratix V A7 FPGA. De resultaten voor andere apparaten zijn vergelijkbaar.
Intel Corporation. Alle rechten voorbehouden. Intel, het Intel-logo en andere Intel-merken zijn handelsmerken van Intel Corporation of haar dochterondernemingen. Intel garandeert de prestaties van zijn FPGA- en halfgeleiderproducten volgens de huidige specificaties in overeenstemming met de standaardgarantie van Intel, maar behoudt zich het recht voor om op elk moment zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Intel aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van informatie, producten of diensten die hierin worden beschreven, behalve zoals uitdrukkelijk schriftelijk overeengekomen door Intel. Intel-klanten wordt geadviseerd om de nieuwste versie van apparaatspecificaties te verkrijgen voordat ze vertrouwen op gepubliceerde informatie en voordat ze producten of diensten bestellen. *Andere namen en merken kunnen worden geclaimd als eigendom van anderen.
Foutinjectie IP Core FPGA-prestaties en hulpbronnengebruik
Apparaat | Aalmoes | Logische registers | M20K | |
Primair | Secundair | |||
Stratix V A7 | 3,821 | 5,179 | 0 | 0 |
De software-installatie van Intel Quartus Prime omvat de Intel FPGA IP-bibliotheek. Deze bibliotheek biedt veel nuttige IP-cores voor uw productiegebruik zonder dat een extra licentie nodig is. Voor sommige Intel FPGA IP-cores moet een afzonderlijke licentie worden aangeschaft voor productiegebruik. Met de Intel FPGA IP-evaluatiemodus kunt u deze gelicentieerde Intel FPGA IP-cores evalueren in simulatie en hardware, voordat u besluit een volledige productie-IP-corelicentie aan te schaffen. U hoeft alleen een volledige productielicentie voor gelicentieerde Intel IP-cores aan te schaffen nadat u de hardwaretests hebt voltooid en klaar bent om de IP in productie te gebruiken. De Intel Quartus Prime-software installeert IP-cores standaard op de volgende locaties:
IP-kerninstallatiepad
IP-kerninstallatielocaties
Locatie | Software | Platform |
:\intelFPGA_pro\quartus\ip\altera | Intel Quartus Prime Pro-editie | Ramen* |
:\intelFPGA\quartus\ip\altera | Intel Quartus Prime Standard-editie | Vensters |
:/intelFPGA_pro/quartus/ip/altera | Intel Quartus Prime Pro-editie | Linux * |
:/intelFPGA/quartus/ip/altera | Intel Quartus Prime Standard-editie | Linux |
Opmerking: De Intel Quartus Prime-software ondersteunt geen spaties in het installatiepad.
Aanpassen en genereren van IP-cores
U kunt IP-kernen aanpassen om een breed scala aan toepassingen te ondersteunen. Met de Intel Quartus Prime IP-catalogus en parametereditor kunt u snel IP-kernpoorten, functies en uitvoer selecteren en configureren files.
IP-catalogus en parametereditor
De IP-catalogus geeft de IP-cores weer die beschikbaar zijn voor uw project, inclusief Intel FPGA IP en ander IP-adres dat u toevoegt aan het IP Catalog-zoekpad. Gebruik de volgende functies van de IP-catalogus om een IP-core te vinden en aan te passen:
- Filter IP-catalogus om IP voor actieve apparaatfamilie te tonen of IP voor alle apparaatfamilies te tonen. Als u geen project open hebt staan, selecteert u de Device Family in IP Catalog.
- Typ in het zoekveld om een volledige of gedeeltelijke IP-kernnaam in IP-catalogus te vinden.
- Klik met de rechtermuisknop op een IP-kernnaam in IP-catalogus om details over ondersteunde apparaten weer te geven, om de installatiemap van de IP-kern te openen en voor koppelingen naar IP-documentatie.
- Klik Zoeken naar Partner IP to access partner IP information on the web.
De parametereditor vraagt u om een IP-variantnaam, optionele poorten en uitvoer op te geven file generatie opties. De parametereditor genereert een Intel Quartus Prime IP van het hoogste niveau file (.ip) voor een IP-variatie in Intel Quartus Prime Pro Edition-projecten. De parametereditor genereert een Quartus IP op het hoogste niveau file (.qip) voor een IP-variatie in Intel Quartus Prime Standard Edition-projecten. Deze files vertegenwoordigen de IP-variatie in het project en slaan parameterinformatie op.
IP-parametereditor (Intel Quartus Prime Standard Edition)
Uitvoer van IP Core-generatie (Intel Quartus Prime Pro Edition)
De Intel Quartus Prime-software genereert de volgende uitvoer file structuur voor individuele IP-kernen die geen deel uitmaken van een Platform Designer-systeem.
Individuele IP Core Generation-uitvoer (Intel Quartus Prime Pro Edition)
- Indien ondersteund en ingeschakeld voor uw IP-kernvariant.
Uitvoer Files van Intel FPGA IP Generation
File Naam | Beschrijving |
<Jouw IP>.ip | IP-variatie op het hoogste niveau file dat de parametrering van een IP-kern in uw project bevat. Als de IP-variant deel uitmaakt van een Platform Designer-systeem, genereert de parametereditor ook een .qsys file. |
<Jouw IP>.cmp | De VHDL-componentverklaring (.cmp) file is een tekst file die lokale generieke en poortdefinities bevat die u gebruikt in VHDL-ontwerp files. |
<Jouw IP>_generatie.rpt | IP- of Platform Designer-generatielogboek file. Geeft een samenvatting weer van de berichten tijdens het genereren van IP's. |
voortgezet… |
File Naam | Beschrijving |
<Jouw IP>.qgsimc (alleen Platform Designer-systemen) | Simulatie caching file dat vergelijkt de .qsys en .ip files met de huidige parametrering van het Platform Designer-systeem en de IP-kern. Deze vergelijking bepaalt of Platform Designer regeneratie van de HDL kan overslaan. |
<Jouw IP>.qgsynth (alleen Platform Designer-systemen) | Synthese caching file dat vergelijkt de .qsys en .ip files met de huidige parametrering van het Platform Designer-systeem en de IP-kern. Deze vergelijking bepaalt of Platform Designer regeneratie van de HDL kan overslaan. |
<Jouw IP>.qip | Bevat alle informatie om de IP-component te integreren en te compileren. |
<Jouw IP>.csv | Bevat informatie over de upgradestatus van het IP-onderdeel. |
.bsf | Een symboolweergave van de IP-variatie voor gebruik in Block Diagram Files (.bdf). |
<Jouw IP>.spd | Invoer file dat ip-make-simscript nodig heeft om simulatiescripts te genereren. De .spd file bevat een lijst van files die u genereert voor simulatie, samen met informatie over herinneringen die u initialiseert. |
<Jouw IP>.ppf | De pinplanner File (.ppf) slaat de poort- en knooppunttoewijzingen op voor IP-componenten die u maakt voor gebruik met de Pin Planner. |
<Jouw IP>_bb.v | Gebruik de Verilog-blackbox (_bb.v) file als lege moduleverklaring voor gebruik als blackbox. |
<Jouw IP>_inst.v of _inst.vhd | HDL-example instantiesjabloon. Kopieer en plak de inhoud hiervan file in je HDL file om de IP-variatie te instantiëren. |
<Jouw IP>.regmap | Als het IP-adres registerinformatie bevat, genereert de Intel Quartus Prime-software de .regmap file. De .regmap file beschrijft de registerkaartinformatie van master- en slave-interfaces. Deze file aanvullingen
de .sopcinfo file door meer gedetailleerde registerinformatie over het systeem te verstrekken. Deze file maakt registerweergave mogelijk views en door de gebruiker aanpasbare statistieken in System Console. |
<Jouw IP>.svd | Hiermee kunnen HPS System Debug-tools: view de registertoewijzingen van randapparatuur die verbinding maakt met HPS binnen een Platform Designer-systeem.
Tijdens de synthese slaat de Intel Quartus Prime-software de .svd op files voor slave-interface zichtbaar voor de systeemconsole-masters in de .sof file in de foutopsporingssessie. Systeemconsole leest deze sectie, die door Platform Designer wordt opgevraagd voor registerkaartinformatie. Voor systeemslaves benadert Platform Designer de registers op naam. |
<Jouw IP>.v
<Jouw IP>.vhd |
HDL files die elke submodule of onderliggende IP-kern instantiëren voor synthese of simulatie. |
mentor/ | Bevat een msim_setup.tcl-script om een simulatie op te zetten en uit te voeren. |
aldec/ | Bevat een script rivierapro_setup.tcl om een simulatie in te stellen en uit te voeren. |
/synopsie/vcs
/synopsie/vcsmx |
Bevat een shellscript vcs_setup.sh om een simulatie op te zetten en uit te voeren.
Bevat een shellscript vcsmx_setup.sh en synopsys_sim.setup file om een simulatie op te zetten en uit te voeren. |
/cadans | Bevat een shellscript ncsim_setup.sh en andere instellingen files om een simulatie op te zetten en uit te voeren. |
/xcelium | Bevat een parallel simulator-shellscript xcelium_setup.sh en andere instellingen files om een simulatie op te zetten en uit te voeren. |
/submodules | Bevat HDL files voor de IP-kernsubmodule. |
<IP-submodule>/ | Platform Designer genereert /synth en /sim subdirectories voor elke IP-submodule directory die Platform Designer genereert. |
Functionele beschrijving
Met de Fault Injection IP-kern kunnen ontwerpers SEFI-karakterisering intern uitvoeren, FIT-snelheden schalen volgens SEFI-karakterisering en ontwerpen optimaliseren om het effect van SEU's te verminderen.
Beperking van verstoringen door één gebeurtenis
Geïntegreerde schakelingen en programmeerbare logische apparaten zoals FPGA's zijn gevoelig voor SEU's. SEU's zijn willekeurige, niet-destructieve gebeurtenissen, veroorzaakt door twee belangrijke bronnen: alfadeeltjes en neutronen uit kosmische straling. Straling kan ervoor zorgen dat het logische register, de ingebedde geheugenbit of een configuratie-RAM (CRAM)-bit van status verandert, wat kan leiden tot een onverwachte werking van het apparaat. Intel Arria 10, Intel Cyclone 10 GX, Arria V, Cyclone V, Stratix V en nieuwere apparaten hebben de volgende CRAM-mogelijkheden:
- Foutdetectie Cyclische redundantiecontrole (EDCRC)
- Automatische correctie van een verstoord CRAM (scrubben)
- Mogelijkheid om een verstoorde CRAM-conditie te creëren (foutinjectie)
Voor meer informatie over SEU-beperking in Intel FPGA-apparaten raadpleegt u het hoofdstuk SEU-beperking in de betreffende apparaathandleiding.
Foutinjectie IP-pinbeschrijving
De Fault Injection IP-kern bevat de volgende I/O-pinnen.
Foutinjectie IP Core I/O-pinnen
Pinnaam | Pinrichting: | Pinbeschrijving |
crerror_pin | invoer | Invoer van foutmelding Register Unloader Intel FPGA IP (EMR Unloader IP). Dit signaal wordt afgegeven wanneer een CRC-fout is gedetecteerd door de EDCRC van het apparaat. |
emr_data | invoer | Inhoud foutmeldingenregister (EMR). Raadpleeg de betreffende apparaathandleiding voor de EMR-velden.
Deze ingang voldoet aan het Avalon Streaming data-interfacesignaal. |
emr_geldig | invoer | Geeft aan dat de emr_data-invoer geldige gegevens bevat. Dit is een geldig Avalon Streaming-interfacesignaal. |
Opnieuw instellen | invoer | Module-reset-ingang. De reset wordt volledig beheerd door de Fault Injection Debugger. |
fout_geïnjecteerd | uitvoer | Geeft aan dat er een fout in CRAM is geïnjecteerd zoals opgedragen via de JTAG koppel. De tijdsduur dat dit signaal aanhoudt, hangt af van uw instellingen van de JTAG TCK- en besturingsbloksignalen. Typisch bedraagt de tijd ongeveer 20 klokcycli van het TCK-signaal. |
fout_geschoond | uitvoer | Geeft aan dat het schrobben van het apparaat voltooid is, zoals opgedragen via de JTAG koppel. De tijdsduur dat dit signaal aanhoudt, hangt af van uw instellingen van de JTAG TCK- en besturingsbloksignalen. Typisch bedraagt de tijd ongeveer 20 klokcycli van het TCK-signaal. |
insc | uitvoer | Optionele uitvoer. De Fault Injection IP gebruikt deze klok bijvoorbeeldample, om het EMR_unloader-blok te klokken. |
Foutinjectie IP-pindiagram
De foutinjectie-debugger en foutinjectie IP Core gebruiken
De Fault Injection Debugger werkt samen met de Fault Injection IP-kern. Eerst instantiëert u de IP-kern in uw ontwerp, compileert en downloadt u de resulterende configuratie file in uw apparaat. Vervolgens voert u de Fault Injection Debugger uit vanuit de Intel Quartus Prime-software of vanaf de opdrachtregel om zachte fouten te simuleren.
- Met de Fault Injection Debugger kunt u experimenten met foutinjectie interactief of met batchopdrachten uitvoeren, en kunt u de logische gebieden in uw ontwerp voor foutinjectie specificeren.
- De opdrachtregelinterface is handig voor het uitvoeren van de debugger via een script.
Opmerking
De Fault Injection Debugger communiceert met de Fault Injection IP-kern via de JTAG koppel. Het Fault Injection IP accepteert opdrachten van de JTAG interface en rapporteert de status terug via de JTAG koppel. De Fault Injection IP-kern wordt in zachte logica in uw apparaat geïmplementeerd; Daarom moet u in uw ontwerp rekening houden met dit logicagebruik. Eén methodologie is om de reactie van uw ontwerp op SEU in het laboratorium te karakteriseren en vervolgens de IP-kern weg te laten uit uw uiteindelijk geïmplementeerde ontwerp.
De Fault Injection IP core gebruik je met de volgende IP cores:
- De Error Message Register Unloader IP-kern, die gegevens leest en opslaat van de versterkte foutdetectiecircuits in Intel FPGA-apparaten.
- (Optioneel) De Advanced SEU Detection Intel FPGA IP-core, die single-bit foutlocaties vergelijkt met een gevoeligheidskaart tijdens de werking van het apparaat om te bepalen of een zachte fout hierop van invloed is.
Foutinjectie-debugger voorbijview Blokdiagram
Opmerkingen:
-
De Fault Injection IP draait de bits van de beoogde logica om.
-
De Fault Injection Debugger en Advanced SEU Detection IP gebruiken dezelfde EMR Unloader-instantie.
-
De Advanced SEU Detection IP-kern is optioneel.
Gerelateerde informatie
- Over SMH Files op pagina 13
- Over de EMR Unloader IP Core op pagina 10
- Over de Geavanceerde SEU-detectie IP Core op pagina 11
Instantie van de foutinjectie-IP-kern
OPMERKING
Voor de Fault Injection IP-kern hoeft u geen parameters in te stellen. Om de IP-kern te gebruiken, maakt u een nieuwe IP-instantie, neemt u deze op in uw Platform Designer (Standaard)-systeem en sluit u de signalen aan zoals nodig. U moet de Fault Injection IP-kern gebruiken met de EMR Unloader IP-kern. De Fault Injection- en de EMR Unloader-IP-kernen zijn beschikbaar in Platform Designer en de IP-catalogus. Optioneel kunt u ze rechtstreeks in uw RTL-ontwerp instantiëren met behulp van Verilog HDL, SystemVerilog of VHDL.
Over de EMR Unloader IP Core
De EMR Unloader IP-kern biedt een interface voor de EMR, die voortdurend wordt bijgewerkt door de EDCRC van het apparaat, die de CRAM-bits CRC van het apparaat controleert op zachte fouten.
Example Platform Designer-systeem inclusief de Fault Injection IP Core en EMR Unloader IP Core
Example Foutinjectie IP-kern en EMR Unloader IP-kernblokdiagram
Gerelateerde informatie
Foutmelding Register Unloader Intel FPGA IP Core Gebruikershandleiding
Over de Geavanceerde SEU-detectie IP Core
Gebruik de Advanced SEU Detection (ASD) IP-kern wanneer SEU-tolerantie een ontwerpprobleem is. U moet de EMR Unloader IP-kern gebruiken met de ASD IP-kern. Als u de ASD IP en de Fault Injection IP in hetzelfde ontwerp gebruikt, moeten ze daarom de EMR Unloader-uitvoer delen via een Avalon®-ST-splittercomponent. De volgende afbeelding toont een Platform Designer-systeem waarin een Avalon-ST-splitter de EMR-inhoud distribueert naar de ASD- en Fault Injection IP-kernen.
Gebruik van de ASD en foutinjectie-IP in hetzelfde platformontwerpsysteem
Gerelateerde informatie
Geavanceerde SEU-detectie Intel FPGA IP Core Gebruikershandleiding
Foutinjectiegebieden definiëren
U kunt specifieke regio's van de FPGA definiëren voor foutinjectie met behulp van een Sensitivity Map Header (.smh) file. De SMH file slaat de coördinaten op van de CRAM-bits van het apparaat, hun toegewezen regio (ASD-regio) en kriticiteit. Tijdens het ontwerpproces maak je gebruik van hiërarchie tagom de regio te creëren. Vervolgens genereert de Intel Quartus Prime Assembler tijdens het compileren de SMH file. De Fault Injection Debugger beperkt foutinjecties tot specifieke apparaatregio's die u in de SMH definieert file.
Hiërarchie uitvoeren Tagging
U definieert de FPGA-regio's voor testen door een ASD-regio aan de locatie toe te wijzen. U kunt een ASD-regiowaarde opgeven voor elk deel van uw ontwerphiërarchie met behulp van het venster Ontwerppartities.
- Kies Toewijzingen ➤ Venster Ontwerppartities.
- Klik met de rechtermuisknop ergens in de koprij en schakel ASD-regio in om de kolom ASD-regio weer te geven (als deze nog niet wordt weergegeven).
- Voer voor elke partitie een waarde tussen 0 en 16 in om deze aan een specifieke ASD-regio toe te wijzen.
- ASD-regio 0 is gereserveerd voor ongebruikte delen van het apparaat. U kunt een partitie aan deze regio toewijzen om deze als niet-kritiek op te geven.
- ASD-regio 1 is de standaardregio. Alle gebruikte delen van het apparaat worden aan deze regio toegewezen, tenzij u de toewijzing van de ASD-regio expliciet wijzigt.
Over SMH Files
De SMH file bevat de volgende informatie:
- Als u geen hiërarchie gebruikt tag(dwz het ontwerp heeft geen expliciete ASD-regiotoewijzingen in de ontwerphiërarchie), de SMH file vermeldt elke CRAM-bit en geeft aan of deze gevoelig is voor het ontwerp.
- Als u hiërarchie hebt uitgevoerd tagen gewijzigde standaard ASD-regiotoewijzingen, de SMH file vermeldt elke CRAM-bit en de toegewezen ASD-regio.
De Fault Injection Debugger kan injecties beperken tot een of meer gespecificeerde regio's. Om de Assembler opdracht te geven een SMH te genereren file:
- Kies Toewijzingen ➤ Apparaat ➤ Apparaat- en pinopties ➤ Foutdetectie CRC.
- Schakel de Genereer SEU-gevoeligheidskaart in file (.smh) optie.
De foutinjectie-debugger gebruiken
OPMERKING
Om de Fault Injection Debugger te gebruiken, maakt u verbinding met uw apparaat via de JTAG koppel. Configureer vervolgens het apparaat en voer foutinjectie uit. Om Fault Injection Debugger te starten, kiest u Extra ➤ Fault Injection Debugger in de Intel Quartus Prime-software. Het configureren of programmeren van het apparaat is vergelijkbaar met de procedure die wordt gebruikt voor de Programmer of Signal Tap Logic Analyzer.
Foutinjectie-debugger
Om uw JTAG ketting:
- Klik op Hardware-installatie. Het hulpprogramma geeft de programmeerhardware weer die op uw computer is aangesloten.
- Selecteer de programmeerhardware die u wilt gebruiken.
- Klik op Sluiten.
- Klik op Auto Detect, waardoor de apparaatketen wordt gevuld met de programmeerbare apparaten in de JTAG ketting.
Gerelateerde informatie
Functie voor gerichte foutinjectie op pagina 21
Hardware- en softwarevereisten
De volgende hardware en software zijn vereist om de Fault Injection Debugger te gebruiken:
- FUNCTIEregel in uw Intel FPGA-licentie die de Fault Injection IP-kern mogelijk maakt. Neem voor meer informatie contact op met uw lokale Intel FPGA-vertegenwoordiger.
- Downloadkabel (Intel FPGA downloadkabel, Intel FPGA downloadkabel II, of II).
- Intel FPGA-ontwikkelkit of door de gebruiker ontworpen bord met een JTAG verbinding met het te testen apparaat.
- (Optioneel) FUNCTIEregel in uw Intel FPGA-licentie die de Advanced SEU Detection IP-kern mogelijk maakt.
Uw apparaat en de foutinjectie-debugger configureren
De Fault Injection Debugger gebruikt een .sof en (optioneel) een Sensitivity Map Header (.smh) file. Het softwareobject File (.sof) configureert de FPGA. De .smh file definieert de gevoeligheid van de CRAM-bits in het apparaat. Als u geen .smh file, injecteert de Fault Injection Debugger willekeurig fouten in de CRAM-bits. Een .sof opgeven:
- Selecteer de FPGA die u wilt configureren in het vak Apparaatketen.
- Klik op Selecteren File.
- Navigeer naar het .sof-bestand en klik op OK. De foutinjectie-debugger leest de .sof.
- (Optioneel) Selecteer de SMH file.
Als u geen SMH opgeeft file, injecteert de Fault Injection Debugger fouten willekeurig over het hele apparaat. Als u een SMH filekunt u injecties beperken tot de gebruikte gebieden van uw apparaat.- Klik met de rechtermuisknop op het apparaat in het vak Apparaatketen en klik vervolgens op SMH selecteren File.
- Selecteer uw SMH file.
- Klik op OK.
- Schakel Programmeren/Configureren in.
- Klik op Start.
De Fault Injection Debugger configureert het apparaat met behulp van de .sof.
Contextmenu voor het selecteren van de SMH File
Beperkende regio's voor foutinjectie
Na het laden van een SMH file, kunt u de Fault Injection Debugger zo instellen dat deze alleen in specifieke ASD-regio's werkt. Om de ASD-regio('s) te specificeren waarin fouten moeten worden geïnjecteerd:
- Klik met de rechtermuisknop op de FPGA in het vak Apparaatketen en klik op Apparaatgevoeligheidskaart tonen.
- Selecteer de ASD-regio('s) voor foutinjectie.
Apparaatgevoeligheidskaart Viewer
Fouttypen opgeven
U kunt verschillende soorten fouten opgeven voor injectie.
- Enkele fouten (SE)
- Dubbel aangrenzende fouten (DAE)
- Niet-corrigeerbare meerbitsfouten (EMBE)
Intel FPGA-apparaten kunnen enkelvoudige en dubbel aangrenzende fouten zelf corrigeren als de scrubbing-functie is ingeschakeld. Intel FPGA-apparaten kunnen multi-bit-fouten niet corrigeren. Raadpleeg het hoofdstuk over het beperken van SEU's voor meer informatie over het opsporen van fouten in deze fouten. U kunt de combinatie van te injecteren fouten en het injectietijdsinterval opgeven. Om het injectietijdsinterval te specificeren:
- Kies in de Foutinjectie-debugger Extra ➤ Opties.
- Sleep de rode controller naar de mix van fouten. Als alternatief kunt u de mix numeriek opgeven.
- Geef de injectie-intervaltijd op.
- Klik op OK.
Figuur 12. Specificatie van de combinatie van SEU-fouttypen
Gerelateerde informatie Het beperken van verstoringen door één gebeurtenis
Fouten bij het injecteren
U kunt fouten in verschillende modi injecteren:
- Injecteer één fout op commando
- Meerdere fouten op commando injecteren
- Injecteer fouten totdat het commando wordt gegeven om te stoppen
Om deze fouten te injecteren:
- Schakel de optie Injectiefout in.
- Kies of u foutinjectie wilt uitvoeren gedurende een aantal iteraties of totdat deze wordt gestopt:
- Als u ervoor kiest om door te gaan totdat het wordt gestopt, injecteert de Fault Injection Debugger fouten met het interval dat is opgegeven in het dialoogvenster Extra ➤ Opties.
- Als u foutinjectie wilt uitvoeren voor een specifiek aantal iteraties, voert u het aantal in.
- Klik op Start.
Opmerking: De Fault Injection Debugger wordt gedurende het opgegeven aantal iteraties uitgevoerd of totdat deze wordt gestopt. Het Intel Quartus Prime Messages-venster toont berichten over de fouten die zijn geïnjecteerd. Voor meer informatie over de geïnjecteerde fouten klikt u op EMR lezen. De Fault Injection Debugger leest het EMR van het apparaat en geeft de inhoud weer in het berichtenvenster.
Intel Quartus Prime Error Injection en EMR-inhoudsberichten
Opnamefouten
U kunt de locatie van elke geïnjecteerde fout registreren door de parameters te noteren die worden gerapporteerd in het Intel Quartus Prime Messages-venster. Als bijvampAls een geïnjecteerde fout resulteert in gedrag dat u graag opnieuw wilt afspelen, kunt u zich op die locatie richten voor injectie. U voert gerichte injectie uit met behulp van de opdrachtregelinterface van Fault Injection Debugger.
Geïnjecteerde fouten wissen
Om de normale werking van de FPGA te herstellen, klikt u op Scrub. Wanneer u een fout opschoont, worden de EDCRC-functies van het apparaat gebruikt om de fouten te corrigeren. Het schrobmechanisme is vergelijkbaar met het mechanisme dat wordt gebruikt tijdens de werking van het apparaat.
Opdrachtregelinterface
U kunt de Fault Injection Debugger uitvoeren op de opdrachtregel met het uitvoerbare bestand quartus_fid, wat handig is als u foutinjectie wilt uitvoeren vanuit een script.
Tabel 5. Commandoregelargumenten voor foutinjectie
Korte argumentatie | Lang betoog | Beschrijving |
c | kabel | Specificeer programmeerhardware of kabel. (Vereist) |
i | index | Specificeer het actieve apparaat om de fout te injecteren. (Vereist) |
n | nummer | Geef het aantal fouten op dat moet worden geïnjecteerd. De standaardwaarde is
1. (Optioneel) |
t | tijd | Intervaltijd tussen injecties. (Optioneel) |
Opmerking: Gebruik quartus_fid –help om view alle beschikbare opties. De volgende code biedt bijvampbestanden met behulp van de Fault Injection Debugger-opdrachtregelinterface.
########################################
- # Ontdek welke USB-kabels beschikbaar zijn voor dit exemplaar
- # Het resultaat laat zien dat er één kabel beschikbaar is, genaamd “USB-Blaster” #
- $ quartus_fid –lijst . . .
- Info: Commando: quartus_fid –list
- USB-Blaster op sj-sng-z4 [USB-0] Info: Intel Quartus Prime 64-Bit foutinjectie-debugger was succesvol. 0 fouten, 0 waarschuwingen
- ########################################
- # Zoek welke apparaten beschikbaar zijn op de USB-Blaster-kabel
- # Het resultaat toont twee apparaten: een Stratix V A7 en een MAX V CPLD. #
- $ quartus_fid –kabel USB-Blaster -a
- Info: Commando: quartus_fid –cable=USB-Blaster -a
- Info (208809): Programmeerkabel gebruiken “USB-Blaster op sj-sng-z4 [USB-0]”
- USB-Blaster op sj-sng-z4 [USB-0]
- 029030DD 5SGXEA7H(1|2|3)/5SGXEA7K1/..
- 020A40DD 5M2210Z/EPM2210
- Info: Intel Quartus Prime 64-Bit foutinjectie-debugger was succesvol.
- 0 fouten, 0 waarschuwingen
- ########################################
- # Programmeer het Stratix V-apparaat
- # De optie –index specificeert bewerkingen die worden uitgevoerd op een aangesloten apparaat.
- # “=svgx.sof” associeert een .sof file met het apparaat
- # “#p” betekent: programmeer het apparaat #
- $ quartus_fid –kabel USB-Blaster –index “@1=svgx.sof#p” . . .
- Info (209016): Apparaatindex 1 configureren
- Info (209017): Apparaat 1 bevat JTAG ID-code 0x029030DD
- Info (209007): Configuratie geslaagd: 1 apparaat(en) geconfigureerd
- Info (209011): Met succes uitgevoerde bewerking(en)
- Info (208551): Handtekening programmeren in apparaat 1.
- Info: Intel Quartus Prime 64-Bit foutinjectie-debugger was succesvol.
- 0 fouten, 0 waarschuwingen
- ########################################
- # Injecteer een fout in het apparaat.
- # De operator #i geeft aan dat er fouten moeten worden geïnjecteerd
- # -n 3 geeft aan dat er 3 fouten moeten worden geïnjecteerd #
- $ quartus_fid –kabel USB-Blaster –index “@1=svgx.sof#i” -n 3
- Info: Commando: quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 3
- Info (208809): Programmeerkabel gebruiken “USB-Blaster op sj-sng-z4 [USB-0]”
- Info (208521): Injecteert 3 fout(en) in apparaat(en)
- Info: Intel Quartus Prime 64-Bit foutinjectie-debugger was succesvol.
- 0 fouten, 0 waarschuwingen
- ########################################
- # Interactieve modus.
- # Door de bewerking #i te gebruiken met -n 0 wordt de debugger in de interactieve modus gezet.
- # Merk op dat er tijdens de vorige sessie 3 fouten zijn geïnjecteerd;
- # “E” leest de fouten die momenteel in de EMR Unloader IP-kern voorkomen. #
- $ quartus_fid –kabel USB-Blaster –index “@1=svgx.sof#i” -n 0
- Info: Commando: quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 0
- Info (208809): Programmeerkabel gebruiken “USB-Blaster op sj-sng-z4 [USB-0]”
- Binnenkomen :
- 'F' om fout te injecteren
- 'E' om EMR te lezen
- 'S' om fout(en) te scrubben
- 'Q' om te stoppen met E
- Info (208540): EMR-array lezen
- Info (208544): 3 framefout(en) gedetecteerd in apparaat 1.
- Info (208545): Fout #1: Enkele fout in frame 0x1028 bij bit 0x21EA.
- Info (10914): Fout nr. 2: niet-corrigeerbare meerbitsfout in frame 0x1116.
- Info (208545): Fout #3: Enkele fout in frame 0x1848 bij bit 0x128C.
- 'F' om fout te injecteren
- 'E' om EMR te lezen
- 'S' om fout(en) te scrubben
- 'Q' om Q te verlaten
- Informatie: Intel Quartus Prime 64-bit foutinjectie-debugger was succesvol. 0 fouten, 0 waarschuwingen
- Informatie: Piek virtueel geheugen: 1522 megabytes
- Informatie: Verwerking beëindigd: ma 3 november 18:50:00 2014
- Informatie: Verstreken tijd: 00:00:29
- Informatie: Totale CPU-tijd (op alle processors): 00:00:13
Gerichte foutinjectiefunctie
Opmerking
De Fault Injection Debugger injecteert willekeurig fouten in de FPGA. Met de functie Gerichte foutinjectie kunt u echter fouten injecteren op gerichte locaties in het CRAM. Deze handeling kan bijvoorbeeld nuttig zijnample, als u een SEU-gebeurtenis hebt genoteerd en de FPGA- of systeemreactie op dezelfde gebeurtenis wilt testen na het wijzigen van een herstelstrategie. De functie Targeted Fault Injection is alleen beschikbaar via de opdrachtregelinterface. U kunt opgeven dat fouten worden geïnjecteerd vanaf de opdrachtregel of in de promptmodus. Gerelateerde informatie
EEN 539: Testmethodologie of foutdetectie en herstel met behulp van CRC in Intel FPGA-apparaten
Een foutenlijst opgeven vanaf de opdrachtregel
Met de functie Targeted Fault Injection kunt u een foutenlijst opgeven vanaf de opdrachtregel, zoals weergegeven in de volgende voorbeeldample: c:\Users\sng> quartus_fid -c 1 – i “@1= svgx.sof#i ” -n 2 -user=”@1= 0x2274 0x05EF 0x2264 0x0500″ Waar: c 1 geeft aan dat de FPGA wordt bestuurd via de eerste kabel op uw computer. i “@1= six.sof#i ” geeft aan dat het eerste apparaat in de keten met het object is geladen file svgx.sof en zal worden geïnjecteerd met fouten. n 2 geeft aan dat er twee fouten zullen worden geïnjecteerd. user=”@1= 0x2274 0x05EF 0x2264 0x0500” is een door de gebruiker opgegeven lijst met te injecteren fouten. In deze example, apparaat 1 heeft twee fouten: bij frame 0x2274, bit 0x05EF en bij frame 0x2264, bit 0x0500.
Een foutenlijst opgeven vanuit de promptmodus
U kunt de functie Gerichte foutinjectie interactief gebruiken door het aantal fouten op te geven op 0 (-n 0). De Fault Injection Debugger presenteert opdrachten in de promptmodus en hun beschrijvingen.
Commando voor snelle modus | Beschrijving |
F | Injecteer een fout |
E | Lees de EPD |
S | Scrubfouten |
Q | Ontslag nemen |
In de promptmodus kunt u alleen het F-commando geven om een enkele fout op een willekeurige locatie in het apparaat te injecteren. In de volgende bijvampAls u de F-opdracht gebruikt in de promptmodus, worden er drie fouten geïnjecteerd. F #3 0x12 0x34 0x56 0x78 * 0x9A 0xBC +
- Fout 1 – Eén bitfout bij frame 0x12, bit 0x34
- Fout 2 – Oncorrigeerbare fout in frame 0x56, bit 0x78 (een * geeft een fout met meerdere bits aan)
- Fout 3 – Dubbel aangrenzende fout bij frame 0x9A, bit 0xBC (a + geeft een dubbele bitfout aan)
F 0x12 0x34 0x56 0x78 * Er wordt één (standaard) fout geïnjecteerd: Fout 1 – Eén bitfout in frame 0x12, bit 0x34. Locaties na de eerste frame-/bitlocatie worden genegeerd. F #3 0x12 0x34 0x56 0x78 * 0x9A 0xBC + 0xDE 0x00
Er worden drie fouten geïnjecteerd:
- Fout 1 – Eén bitfout bij frame 0x12, bit 0x34
- Fout 2 – Oncorrigeerbare fout in frame 0x56, bit 0x78
- Fout 3 – Dubbel aangrenzende fout in frame 0x9A, bit 0xBC
- Locaties na de eerste 3 frame/bit-paren worden genegeerd
CRAM-bitlocaties bepalen
Opmerking:
Wanneer de Fault Injection Debugger een CRAM EDCRC-fout detecteert, bevat het Error Message Register (EMR) het syndroom, het framenummer, de bitlocatie en het fouttype (enkel, dubbel of multi-bit) van de gedetecteerde CRAM-fout. Sla tijdens het testen van het systeem de EMR-inhoud op die wordt gerapporteerd door de Fault Injection Debugger wanneer u een EDCRC-fout detecteert. Met de opgenomen EMR-inhoud kunt u de frame- en bitnummers aan de Fault Injection Debugger leveren om de fouten af te spelen die zijn opgemerkt tijdens het testen van het systeem, om een systeemherstelreactie op die fout verder te ontwerpen en te karakteriseren.
Gerelateerde informatie
AN 539: Testmethodologie of foutdetectie en herstel met behulp van CRC in Intel FPGA-apparaten
Geavanceerde opdrachtregelopties: ASD-regio's en weging van fouttypes
U kunt de opdrachtregelinterface van Fault Injection Debugger gebruiken om fouten in ASD-regio's te injecteren en de fouttypen te wegen. Eerst specificeert u de mix van fouttypen (enkel bit, dubbel aangrenzend en multi-bit niet-corrigeerbaar) met behulp van de –weight . . keuze. Bijvoorbeeldample, voor een combinatie van 50% enkelvoudige fouten, 30% dubbele aangrenzende fouten en 20% multi-bit niet-corrigeerbare fouten, gebruikt u de optie –weight=50.30.20. Om vervolgens een ASD-regio te targeten, gebruikt u de optie -smh om de SMH op te nemen file en geef de ASS-regio aan waarop u zich wilt richten. Bijvoorbeeldampbestand: $ quartus_fid –cable=USB-BlasterII –index “@1=svgx.sof#pi” –weight=100.0.0 –smh=”@1=svgx.smh#2″ –getal=30
Deze example commando:
- Programmeert het apparaat en injecteert fouten (pi-string)
- Injecteert 100% single-bit fouten (100.0.0)
- Injecteert alleen in ASD_REGION 2 (aangegeven door #2)
- Injecteert 30 fouten
Foutinjectie IP Core Gebruikershandleiding Archief
IP Core-versie | Gebruikershandleiding |
18.0 | Foutinjectie Intel FPGA IP Core Gebruikershandleiding |
17.1 | Intel FPGA Foutinjectie IP Core Gebruikershandleiding |
16.1 | Altera Foutinjectie IP Core Gebruikershandleiding |
15.1 | Altera Foutinjectie IP Core Gebruikershandleiding |
Als er geen IP-kernversie wordt vermeld, is de gebruikershandleiding voor de vorige IP-kernversie van toepassing.
Documentrevisiegeschiedenis voor foutinjectie IP Core-gebruikershandleiding
Documentversie | Intel Quartus Prime-versie | Wijzigingen |
2019.07.09 | 18.1 | Bijgewerkt de Foutinjectie IP-pinbeschrijving onderwerp om de signalen Reset, error_injected en error_scrubbed te verduidelijken. |
2018.05.16 | 18.0 | • De volgende onderwerpen uit het Intel Quartus Prime Pro Edition-handboek toegevoegd:
— Foutinjectiegebieden definiëren en subonderwerpen. — De foutinjectie-debugger gebruiken en subonderwerpen. — Opdrachtregelinterface en subonderwerpen. • Hernoemde Intel FPGA Fault Injection IP-kern naar Fault Injection Intel FPGA IP. |
Datum | Versie | Wijzigingen |
2017.11.06 | 17.1 | • Omgedoopt tot Intel.
• Intel Cyclone 10 GX-apparaatondersteuning toegevoegd. |
2016.10.31 | 16.1 | Bijgewerkte apparaatondersteuning. |
2015.12.15 | 15.1 | • Quartus II gewijzigd in Quartus Prime-software.
• Vaste, naar zichzelf verwijzende gerelateerde link. |
2015.05.04 | 15.0 | Eerste release. |
Documenten / Bronnen
![]() |
intel UG-01173 Foutinjectie FPGA IP Core [pdf] Gebruikershandleiding UG-01173 Foutinjectie FPGA IP Core, UG-01173, Foutinjectie FPGA IP Core, Injectie c, Injectie FPGA IP Core |