intel UG-01173 Fault Injection FPGA IP Core
Fejlinjektion Intel® FPGA IP Core Brugervejledning
Fault Injection Intel® FPGA IP-kernen injicerer fejl i konfigurations-RAM (CRAM) på en FPGA-enhed. Denne procedure simulerer bløde fejl, der kan opstå under normal drift på grund af enkelthændelsesforstyrrelser (SEU'er). SEU'er er sjældne hændelser og er derfor svære at teste. Når du har instansieret Fault Injection IP-kernen i dit design og konfigureret din enhed, kan du bruge Intel Quartus® Prime Fault Injection Debugger-værktøjet til at inducere bevidste fejl i FPGA'en for at teste systemets reaktion på disse fejl.
Relateret information
- Enkelte hændelser forstyrrer
- AN 737: SEU Detection and Recovery i Intel Arria 10-enheder
Funktioner
- Giver dig mulighed for at evaluere systemrespons for at afbøde funktionelle afbrydelser med enkelt hændelse (SEFI).
- Giver dig mulighed for at udføre SEFI-karakterisering internt, hvilket eliminerer behovet for test af hele systemets stråler. I stedet kan du begrænse stråletestningen til fejl i tid (FIT)/Mb-måling på enhedsniveau.
- Skaler FIT-rater i henhold til den SEFI-karakterisering, der er relevant for din designarkitektur. Du kan tilfældigt fordele fejlinjektioner i hele enheden eller begrænse dem til specifikke funktionsområder for at fremskynde testningen.
- Optimer dit design for at reducere forstyrrelser forårsaget af en enkelt hændelsesforstyrrelse (SEU).
Enhedssupport
Fault Injection IP-kernen understøtter Intel Arria® 10, Intel Cyclone® 10 GX og Stratix® V familieenheder. Cyclone V-familien understøtter fejlinjektion på enheder med suffikset -SC i bestillingskoden. Kontakt din lokale salgsrepræsentant for at bestille oplysninger om -SC suffix Cyclone V-enheder.
Ressourceudnyttelse og ydeevne
Intel Quartus Prime-softwaren genererer følgende ressourceestimat for Stratix V A7 FPGA. Resultaterne for andre enheder er de samme.
Intel Corporation. Alle rettigheder forbeholdes. Intel, Intel-logoet og andre Intel-mærker er varemærker tilhørende Intel Corporation eller dets datterselskaber. Intel garanterer ydeevnen af sine FPGA- og halvlederprodukter i henhold til de aktuelle specifikationer i overensstemmelse med Intels standardgaranti, men forbeholder sig retten til at foretage ændringer af produkter og tjenester til enhver tid uden varsel. Intel påtager sig intet ansvar eller erstatningsansvar som følge af applikationen eller brugen af oplysninger, produkter eller tjenester beskrevet heri, undtagen som udtrykkeligt skriftligt aftalt af Intel. Intel-kunder rådes til at indhente den seneste version af enhedsspecifikationerne, før de stoler på nogen offentliggjort information, og før de afgiver ordrer på produkter eller tjenester. *Andre navne og mærker kan hævdes at være andres ejendom.
Fejlinjektion IP Core FPGA-ydelse og ressourceudnyttelse
Enhed | ALM'er | Logiske registre | M20K | |
Primær | Sekundær | |||
Stratix V A7 | 3,821 | 5,179 | 0 | 0 |
Intel Quartus Prime-softwareinstallationen inkluderer Intel FPGA IP-biblioteket. Dette bibliotek giver mange nyttige IP-kerner til din produktionsbrug uden behov for en ekstra licens. Nogle Intel FPGA IP-kerner kræver køb af en separat licens til produktionsbrug. Intel FPGA IP Evaluation Mode giver dig mulighed for at evaluere disse licenserede Intel FPGA IP-kerner i simulering og hardware, før du beslutter dig for at købe en fuld produktions-IP-kernelicens. Du behøver kun at købe en fuld produktionslicens for licenserede Intel IP-kerner, når du har gennemført hardwaretestning og er klar til at bruge IP'en i produktionen. Intel Quartus Prime-softwaren installerer som standard IP-kerner på følgende steder:
IP Core installationssti
IP Core installationssteder
Beliggenhed | Software | Platform |
:\intelFPGA_pro\quartus\ip\altera | Intel Quartus Prime Pro Edition | Windows * |
:\intelFPGA\quartus\ip\altera | Intel Quartus Prime Standard Edition | Windows |
:/intelFPGA_pro/quartus/ip/altera | Intel Quartus Prime Pro Edition | Linux * |
:/intelFPGA/quartus/ip/altera | Intel Quartus Prime Standard Edition | Linux |
Note: Intel Quartus Prime-softwaren understøtter ikke mellemrum i installationsstien.
Tilpasning og generering af IP-kerner
Du kan tilpasse IP-kerner til at understøtte en lang række applikationer. Intel Quartus Prime IP-katalog og parametereditor giver dig mulighed for hurtigt at vælge og konfigurere IP-kerneporte, -funktioner og -output files.
IP-katalog og parametereditor
IP-kataloget viser de tilgængelige IP-kerner for dit projekt, inklusive Intel FPGA IP og anden IP, som du tilføjer til IP-katalogets søgesti. Brug følgende funktioner i IP-kataloget til at lokalisere og tilpasse en IP-kerne:
- Filtrer IP-katalog for at vise IP for aktiv enhedsfamilie eller Vis IP for alle enhedsfamilier. Hvis du ikke har noget åbent projekt, skal du vælge Enhedsfamilien i IP-kataloget.
- Indtast i søgefeltet for at finde et hvilket som helst helt eller delvist IP-kernenavn i IP-kataloget.
- Højreklik på et IP-kernenavn i IP-kataloget for at få vist detaljer om understøttede enheder, for at åbne IP-kernens installationsmappe og for links til IP-dokumentation.
- Klik Søg efter Partner IP to access partner IP information on the web.
Parametereditoren beder dig om at angive et IP-variationsnavn, valgfri porte og output file generationsmuligheder. Parametereditoren genererer en Intel Quartus Prime IP på topniveau file (.ip) for en IP-variation i Intel Quartus Prime Pro Edition-projekter. Parametereditoren genererer en Quartus IP på topniveau file (.qip) til en IP-variation i Intel Quartus Prime Standard Edition-projekter. Disse files repræsenterer IP-variationen i projektet og lagrer parameteriseringsinformation.
IP Parameter Editor (Intel Quartus Prime Standard Edition)
IP Core Generation Output (Intel Quartus Prime Pro Edition)
Intel Quartus Prime-softwaren genererer følgende output file struktur for individuelle IP-kerner, der ikke er en del af et Platform Designer-system.
Individuel IP Core Generation Output (Intel Quartus Prime Pro Edition)
- Hvis understøttet og aktiveret for din IP-kernevariant.
Produktion Files af Intel FPGA IP Generation
File Navn | Beskrivelse |
<din_ip>.ip | IP-variation på topniveau file der indeholder parametreringen af en IP-kerne i dit projekt. Hvis IP-variationen er en del af et Platform Designer-system, genererer parametereditoren også en .qsys file. |
<din_ip>.cmp | VHDL-komponenterklæringen (.cmp) file er en tekst file der indeholder lokale generiske og portdefinitioner, som du bruger i VHDL-design files. |
<din_ip>_generation.rpt | IP eller Platform Designer generation log file. Viser en oversigt over meddelelserne under IP-generering. |
fortsatte… |
File Navn | Beskrivelse |
<din_ip>.qgsimc (kun Platform Designer-systemer) | Simulering caching file der sammenligner .qsys og .ip files med den aktuelle parametrisering af Platform Designer-systemet og IP-kerne. Denne sammenligning afgør, om Platform Designer kan springe over regenerering af HDL. |
<din_ip>.qgsynth (kun Platform Designer-systemer) | Syntese caching file der sammenligner .qsys og .ip files med den aktuelle parametrisering af Platform Designer-systemet og IP-kerne. Denne sammenligning afgør, om Platform Designer kan springe over regenerering af HDL. |
<din_ip>.qip | Indeholder al information til at integrere og kompilere IP-komponenten. |
<din_ip>.csv | Indeholder information om opgraderingsstatus for IP-komponenten. |
.bsf | En symbolrepræsentation af IP-variationen til brug i blokdiagram Files (.bdf). |
<din_ip>.spd | Input file som ip-make-simscript kræver for at generere simuleringsscripts. .spd file indeholder en liste over files du genererer til simulering sammen med information om minder, som du initialiserer. |
<din_ip>.ppf | Pin-planlæggeren File (.ppf) gemmer port- og nodetildelingerne for IP-komponenter, du opretter til brug med Pin Planner. |
<din_ip>_bb.v | Brug Verilog blackbox (_bb.v) file som en tom modulerklæring til brug som blackbox. |
<din_ip>_inst.v eller _inst.vhd | HDL exampen instansieringsskabelon. Kopiér og indsæt indholdet af denne file ind i din HDL file for at instantiere IP-variationen. |
<din_ip>.regmap | Hvis IP'en indeholder registeroplysninger, genererer Intel Quartus Prime-softwaren .regmap file. .regmap file beskriver registerkortoplysningerne for master- og slavegrænseflader. Det her file supplerer
.sopcinfo file ved at give mere detaljerede registeroplysninger om systemet. Det her file aktiverer registervisning views og brugertilpassede statistikker i systemkonsollen. |
<din_ip>.svd | Tillader HPS System Debug-værktøjer at view registerkortene over eksterne enheder, der forbinder til HPS i et Platform Designer-system.
Under syntesen gemmer Intel Quartus Prime-softwaren .svd files for slave-interface synlig for systemkonsollens mastere i .sof file i debugsessionen. Systemkonsol læser dette afsnit, som Platform Designer forespørger om registerkortoplysninger. For systemslaver får Platform Designer adgang til registrene ved navn. |
<din_ip>.v
<din_ip>.vhd |
HDL files, der instansierer hvert undermodul eller underordnet IP-kerne til syntese eller simulering. |
mentor/ | Indeholder et msim_setup.tcl script til at opsætte og køre en simulering. |
aldec/ | Indeholder et script rivierapro_setup.tcl til at opsætte og køre en simulering. |
/synopsys/vcs
/synopsys/vcsmx |
Indeholder et shell-script vcs_setup.sh til at opsætte og køre en simulering.
Indeholder et shell-script vcsmx_setup.sh og synopsys_sim.setup file at opsætte og køre en simulering. |
/kadence | Indeholder et shell-script ncsim_setup.sh og anden opsætning files at opsætte og køre en simulering. |
/xcelium | Indeholder et Parallel simulator shell script xcelium_setup.sh og anden opsætning files at opsætte og køre en simulering. |
/undermoduler | Indeholder HDL files for IP-kerneundermodulet. |
<IP undermodul>/ | Platform Designer genererer /synth og /sim undermapper for hvert IP-undermodulbibliotek, som Platform Designer genererer. |
Funktionsbeskrivelse
Med Fault Injection IP-kernen kan designere udføre SEFI-karakterisering internt, skalere FIT-hastigheder i henhold til SEFI-karakterisering og optimere designs for at reducere effekten af SEU'er.
Afbødning af forstyrrelse af enkelt hændelse
Integrerede kredsløb og programmerbare logiske enheder såsom FPGA'er er modtagelige for SEU'er. SEU'er er tilfældige, ikke-destruktive begivenheder, forårsaget af to hovedkilder: alfapartikler og neutroner fra kosmiske stråler. Stråling kan få enten det logiske register, den indlejrede hukommelsesbit eller en konfigurations-RAM-bit (CRAM) til at vende sin tilstand, hvilket fører til uventet enhedsdrift. Intel Arria 10, Intel Cyclone 10 GX, Arria V, Cyclone V, Stratix V og nyere enheder har følgende CRAM-funktioner:
- Fejldetektering Cyclical Redundance Checking (EDCRC)
- Automatisk korrektion af en forstyrret CRAM (skrubbe)
- Evne til at skabe en forstyrret CRAM-tilstand (fejlinjektion)
For mere information om SEU-reduktion i Intel FPGA-enheder henvises til kapitlet SEU Mitigation i den respektive enhedshåndbog.
Fejlindsprøjtning IP Pin Beskrivelse
Fault Injection IP-kernen inkluderer følgende I/O-ben.
Fejlinjektion IP Core I/O Pins
Pin navn | Pin retning | Pin Beskrivelse |
crcerror_pin | input | Input fra fejlmeddelelse Registrer Unloader Intel FPGA IP (EMR Unloader IP). Dette signal hævdes, når en CRC-fejl er blevet opdaget af enhedens EDCRC. |
emr_data | input | Fejlmeddelelsesregister (EMR) indhold. Se den relevante enhedshåndbog for EMR-felterne.
Denne indgang er i overensstemmelse med Avalon Streaming-datagrænsefladesignalet. |
emr_valid | input | Angiver, at emr_data-input indeholder gyldige data. Dette er et Avalon Streaming gyldigt grænsefladesignal. |
Nulstil | input | Modul reset input. Nulstillingen er fuldt styret af fejlinjektionsfejlfinderen. |
error_injected | produktion | Indikerer en fejl blev injiceret i CRAM som kommanderet via JTAG interface. Hvor lang tid dette signal hævder afhænger af dine indstillinger af JTAG TCK og styrebloksignaler. Typisk er tiden omkring 20 clock-cyklusser af TCK-signalet. |
error_scrubbed | produktion | Angiver, at enhedens skrubning er fuldført som kommanderet via JTAG interface. Hvor lang tid dette signal hævder afhænger af dine indstillinger af JTAG TCK og styrebloksignaler. Typisk er tiden omkring 20 clock-cyklusser af TCK-signalet. |
insc | produktion | Valgfri udgang. Fault Injection IP bruger dette ur, f.eksample, for at klokke EMR_unloader-blokken. |
Fejlinjektion IP-stiftdiagram
Brug af Fault Injection Debugger og Fault Injection IP Core
Fault Injection Debugger fungerer sammen med Fault Injection IP-kernen. Først instansierer du IP-kernen i dit design, kompilerer og downloader den resulterende konfiguration file ind i din enhed. Derefter kører du Fault Injection Debugger fra Intel Quartus Prime-softwaren eller fra kommandolinjen for at simulere bløde fejl.
- Fault Injection Debugger giver dig mulighed for at betjene fejlinjektionseksperimenter interaktivt eller ved batch-kommandoer, og giver dig mulighed for at specificere de logiske områder i dit design for fejlinjektioner.
- Kommandolinjegrænsefladen er nyttig til at køre debuggeren via et script.
Note
Fault Injection Debugger kommunikerer med Fault Injection IP-kernen via JTAG interface. Fault Injection IP accepterer kommandoer fra JTAG interface og rapporterer status tilbage gennem JTAG interface. Fault Injection IP-kernen er implementeret i blød logik i din enhed; derfor skal du tage højde for denne logikbrug i dit design. En metode er at karakterisere dit designs svar på SEU i laboratoriet og derefter udelade IP-kernen fra dit endelige implementerede design.
Du bruger Fault Injection IP-kernen med følgende IP-kerner:
- Error Message Register Unloader IP-kernen, som læser og gemmer data fra det hærdede fejlregistreringskredsløb i Intel FPGA-enheder.
- (Valgfrit) Den avancerede SEU Detection Intel FPGA IP-kerne, som sammenligner enkelt-bit fejlplaceringer med et følsomhedskort under enhedens drift for at bestemme, om en blød fejl påvirker den.
Fejlindsprøjtning debugger overståetview Blokdiagram
Bemærkninger:
-
Fejlinjektions-IP'en spejlvender bits af den målrettede logik.
-
Fault Injection Debugger og Advanced SEU Detection IP bruger den samme EMR Unloader-instans.
-
Advanced SEU Detection IP-kernen er valgfri.
Relateret information
- Om SMH Files på side 13
- Om EMR Unloader IP Core på side 10
- Om Advanced SEU Detection IP Core på side 11
Instantiering af fejlinjektions-IP-kernen
NOTE
Fault Injection IP-kernen kræver ikke, at du indstiller nogen parametre. For at bruge IP-kernen skal du oprette en ny IP-instans, inkludere den i dit Platform Designer (Standard)-system og tilslutte signalerne efter behov. Du skal bruge Fault Injection IP-kernen med EMR Unloader IP-kernen. Fault Injection og EMR Unloader IP-kernerne er tilgængelige i Platform Designer og IP-kataloget. Du kan eventuelt instansiere dem direkte i dit RTL-design ved hjælp af Verilog HDL, SystemVerilog eller VHDL.
Om EMR Unloader IP Core
EMR Unloader IP-kernen giver en grænseflade til EMR, som opdateres løbende af enhedens EDCRC, der kontrollerer enhedens CRAM-bits CRC for bløde fejl.
Example Platform Designer System Inklusiv fejlinjektion IP Core og EMR Unloader IP Core
Example Fault Injection IP Core og EMR Unloader IP Core Block Diagram
Relateret information
Fejlmeddelelse Registrer Unloader Intel FPGA IP Core Brugervejledning
Om Advanced SEU Detection IP Core
Brug Advanced SEU Detection (ASD) IP-kernen, når SEU-tolerance er et designproblem. Du skal bruge EMR Unloader IP-kernen med ASD IP-kernen. Derfor, hvis du bruger ASD IP og Fault Injection IP i samme design, skal de dele EMR Unloader output via en Avalon®-ST splitter komponent. Den følgende figur viser et Platform Designer-system, hvor en Avalon-ST-splitter distribuerer EMR-indholdet til ASD- og Fault Injection IP-kernerne.
Brug af ASD og Fault Injection IP i det samme platformdesignersystem
Relateret information
Advanced SEU Detection Intel FPGA IP Core Brugervejledning
Definition af fejlinjektionsområder
Du kan definere specifikke områder af FPGA'en til fejlinjektion ved hjælp af en Sensitivity Map Header (.smh) file. SMH file gemmer koordinaterne for enhedens CRAM-bit, deres tildelte region (ASD-region) og kritikalitet. Under designprocessen bruger du hierarki tagat skabe regionen. Så, under kompileringen, genererer Intel Quartus Prime Assembler SMH file. Fault Injection Debugger begrænser fejlinjektioner til specifikke enhedsområder, du definerer i SMH file.
Udførelse af hierarki Tagging
Du definerer FPGA-regionerne til test ved at tildele en ASD-region til lokationen. Du kan angive en ASD-regionsværdi for enhver del af dit designhierarki ved hjælp af vinduet Designpartitioner.
- Vælg Tildelinger ➤ Vinduet Design partitioner.
- Højreklik hvor som helst i overskriftsrækken, og slå ASD-region til for at få vist kolonnen ASD-region (hvis den ikke allerede er vist).
- Indtast en værdi fra 0 til 16 for enhver partition for at tildele den til en specifik ASD-region.
- ASD-område 0 er reserveret til ubrugte dele af enheden. Du kan tildele en partition til denne region for at angive den som ikke-kritisk.
- ASD-område 1 er standardområdet. Alle brugte dele af enheden er tildelt denne region, medmindre du eksplicit ændrer ASD-regiontildelingen.
Om SMH Files
SMH file indeholder følgende oplysninger:
- Hvis du ikke bruger hierarki tagging (dvs. designet har ingen eksplicitte ASD Region-tildelinger i designhierarkiet), SMH file viser hver CRAM-bit og angiver, om den er følsom for designet.
- Hvis du har udført hierarki taging og ændrede standard ASD Region tildelinger, SMH file viser hver CRAM-bit, og den er tildelt ASD-region.
Fejlinjektionsfejlfinderen kan begrænse injektioner til en eller flere specificerede områder. At instruere Assembleren til at generere en SMH file:
- Vælg Tildelinger ➤ Enhed ➤ Indstillinger for enhed og pin ➤ Fejlregistrering CRC.
- Slå Generer SEU-følsomhedskortet til file (.smh) mulighed.
Brug af Fault Injection Debugger
NOTE
For at bruge Fault Injection Debugger skal du oprette forbindelse til din enhed via JTAG interface. Konfigurer derefter enheden og udfør fejlinjektion. For at starte Fault Injection Debugger skal du vælge Værktøjer ➤ Fault Injection Debugger i Intel Quartus Prime-softwaren. Konfiguration eller programmering af enheden svarer til den procedure, der bruges til programmeringsenheden eller Signal Tap Logic Analyzer.
Fault Injection Debugger
For at konfigurere din JTAG kæde:
- Klik på Hardwareopsætning. Værktøjet viser den programmeringshardware, der er tilsluttet din computer.
- Vælg den programmeringshardware, du ønsker at bruge.
- Klik på Luk.
- Klik på Auto Detect, som udfylder enhedskæden med de programmerbare enheder, der findes i JTAG kæde.
Relateret information
Målrettet fejlindsprøjtning på side 21
Hardware- og softwarekrav
Følgende hardware og software er påkrævet for at bruge Fault Injection Debugger:
- FEATURE-linje i din Intel FPGA-licens, der aktiverer Fault Injection IP-kernen. For mere information, kontakt din lokale Intel FPGA-sælger.
- Downloadkabel (Intel FPGA Download Cable, Intel FPGA Download Cable II, eller II).
- Intel FPGA-udviklingssæt eller brugerdesignet kort med et JTAG forbindelse til den testede enhed.
- (Valgfrit) FEATURE-linje i din Intel FPGA-licens, der aktiverer Advanced SEU Detection IP-kernen.
Konfiguration af din enhed og fejlinjektionsfejlfinderen
Fault Injection Debugger bruger en .sof og (valgfrit) en Sensitivity Map Header (.smh) file. Softwareobjektet File (.sof) konfigurerer FPGA. Den .smh file definerer følsomheden af CRAM-bits i enheden. Hvis du ikke angiver en .smh file, injicerer fejlinjektions-debuggeren fejl tilfældigt gennem CRAM-bittene. Sådan angives en .sof:
- Vælg den FPGA, du ønsker at konfigurere, i boksen Enhedskæde.
- Klik på Vælg File.
- Naviger til .sof og klik på OK. Fault Injection Debugger læser .sof.
- (Valgfrit) Vælg SMH file.
Hvis du ikke angiver en SMH file, injicerer Fejlinjektion Debugger fejl tilfældigt på tværs af hele enheden. Hvis du angiver en SMH file, kan du begrænse injektioner til de brugte områder på din enhed.- Højreklik på enheden i boksen Enhedskæde, og klik derefter på Vælg SMH File.
- Vælg din SMH file.
- Klik på OK.
- Slå Programmer/Konfigurer til.
- Klik på Start.
Fault Injection Debugger konfigurerer enheden ved hjælp af .sof.
Kontekstmenu til valg af SMH File
Begrænsningsområder for fejlinjektion
Efter indlæsning af en SMH file, kan du instruere Fault Injection Debugger til kun at fungere på specifikke ASD-områder. For at specificere ASD-region(er), hvori der skal injiceres fejl:
- Højreklik på FPGA'en i boksen Device chain, og klik på Show Device Sensitivity Map.
- Vælg ASD-region(er) til fejlinjektion.
Kort over enhedens følsomhed Viewer
Angivelse af fejltyper
Du kan angive forskellige typer fejl til injektion.
- Enkeltfejl (SE)
- Dobbelt-tilstødende fejl (DAE)
- Ukorrigerbare multi-bit fejl (EMBE)
Intel FPGA-enheder kan selv korrigere enkelt- og dobbelttilstødende fejl, hvis skrubbefunktionen er aktiveret. Intel FPGA-enheder kan ikke rette multi-bit fejl. Se kapitlet om afhjælpning af SEU'er for mere information om fejlretning af disse fejl. Du kan angive blandingen af fejl, der skal injiceres, og injektionstidsintervallet. Sådan angives injektionstidsintervallet:
- I Fejlinjektion Debugger skal du vælge Værktøjer ➤ Indstillinger.
- Træk den røde controller til blandingen af fejl. Alternativt kan du angive blandingen numerisk.
- Angiv tidspunktet for injektionsintervallet.
- Klik på OK.
Figur 12. Angivelse af blandingen af SEU-fejltyper
Relateret information Afbødende enkelt hændelsesforstyrrelse
Indsprøjtningsfejl
Du kan injicere fejl i flere tilstande:
- Injicer en fejl på kommando
- Injicer flere fejl på kommando
- Injicer fejl, indtil du får kommandoen til at stoppe
For at injicere disse fejl:
- Slå indstillingen Inject Fault til.
- Vælg, om du vil køre fejlinjektion i et antal gentagelser eller indtil stoppet:
- Hvis du vælger at køre, indtil den stoppes, injicerer Fejlinjektion Debugger fejl med det interval, der er angivet i dialogboksen Værktøjer ➤ Indstillinger.
- Hvis du vil køre fejlinjektion for et bestemt antal iterationer, skal du indtaste tallet.
- Klik på Start.
Note: Fejlindsprøjtningsdebuggeren kører i det angivne antal iterationer eller indtil den stoppes. Vinduet Intel Quartus Prime Messages viser meddelelser om de fejl, der er injiceret. For yderligere information om de indsprøjtede fejl, klik på Læs EMR. Fejlinjektionsfejlfinderen læser enhedens EMR og viser indholdet i meddelelsesvinduet.
Intel Quartus Prime-fejlindsprøjtning og EMR-indholdsmeddelelser
Optagelsesfejl
Du kan registrere placeringen af enhver injiceret fejl ved at notere de parametre, der er rapporteret i vinduet Intel Quartus Prime-meddelelser. Hvis f.eksampHvis en injiceret fejl resulterer i adfærd, som du gerne vil gentage, kan du målrette det sted til injektion. Du udfører målrettet injektion ved hjælp af kommandolinjegrænsefladen Fault Injection Debugger.
Rydning af injicerede fejl
Klik på Scrub for at gendanne FPGA'ens normale funktion. Når du skrubber en fejl, bruges enhedens EDCRC-funktioner til at rette fejlene. Skrubbemekanismen svarer til den, der bruges under enhedens drift.
Kommandolinjegrænseflade
Du kan køre Fault Injection Debugger på kommandolinjen med den eksekverbare quartus_fid, hvilket er nyttigt, hvis du vil udføre fejlinjektion fra et script.
Tabel 5. Kommandolinjeargumenter for fejlinjektion
Kort argumentation | Langt argument | Beskrivelse |
c | kabel | Angiv programmeringshardware eller kabel. (Påkrævet) |
i | indeks | Angiv den aktive enhed, der skal injicere fejl. (Påkrævet) |
n | antal | Angiv antallet af fejl, der skal injiceres. Standardværdien er
1. (Valgfrit) |
t | tid | Intervaltid mellem injektioner. (Valgfri) |
Note: Brug quartus_fid –help til view alle tilgængelige muligheder. Følgende kode giver f.eksamples ved hjælp af Fault Injection Debugger-kommandolinjegrænsefladen.
############################################
- # Find ud af, hvilke USB-kabler der er tilgængelige i dette tilfælde
- # Resultatet viser, at et kabel er tilgængeligt, kaldet "USB-Blaster" #
- $ quartus_fid –liste . . .
- Info: Kommando: quartus_fid –list
- USB-Blaster på sj-sng-z4 [USB-0] Info: Intel Quartus Prime 64-Bit Fault Injection Debugger var vellykket. 0 fejl, 0 advarsel
- ############################################
- # Find hvilke enheder der er tilgængelige på USB-Blaster-kablet
- # Resultatet viser to enheder: en Stratix V A7 og en MAX V CPLD. #
- $ quartus_fid –kabel USB-Blaster -a
- Info: Kommando: quartus_fid –cable=USB-Blaster -a
- Info (208809): Brug af programmeringskabel "USB-Blaster på sj-sng-z4 [USB-0]"
- USB-Blaster på sj-sng-z4 [USB-0]
- 029030DD 5SGXEA7H(1|2|3)/5SGXEA7K1/..
- 020A40DD 5M2210Z/EPM2210
- Info: Intel Quartus Prime 64-Bit Fault Injection Debugger var vellykket.
- 0 fejl, 0 advarsler
- ############################################
- # Programmer Stratix V-enheden
- # Indeks-indstillingen specificerer handlinger udført på en tilsluttet enhed.
- # "=svgx.sof" knytter en .sof file med enheden
- # "#p" betyder programmer enheden #
- $ quartus_fid –kabel USB-Blaster –indeks “@1=svgx.sof#p” . . .
- Info (209016): Konfiguration af enhedsindeks 1
- Info (209017): Enhed 1 indeholder JTAG ID-kode 0x029030DD
- Info (209007): Konfiguration lykkedes — 1 enhed(er) konfigureret
- Info (209011): Handling(er) udført med succes
- Info (208551): Programmer signatur i enhed 1.
- Info: Intel Quartus Prime 64-Bit Fault Injection Debugger var vellykket.
- 0 fejl, 0 advarsler
- ############################################
- # Injicer en fejl i enheden.
- # #i-operatoren angiver at injicere fejl
- # -n 3 angiver at injicere 3 fejl #
- $ quartus_fid –kabel USB-Blaster –indeks “@1=svgx.sof#i” -n 3
- Info: Kommando: quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 3
- Info (208809): Brug af programmeringskabel "USB-Blaster på sj-sng-z4 [USB-0]"
- Info (208521): Injicerer 3 fejl i enhed(er)
- Info: Intel Quartus Prime 64-Bit Fault Injection Debugger var vellykket.
- 0 fejl, 0 advarsler
- ############################################
- # Interaktiv tilstand.
- # Brug af #i-operationen med -n 0 sætter debuggeren i interaktiv tilstand.
- # Bemærk, at 3 fejl blev injiceret i den foregående session;
- # "E" læser fejlene i EMR Unloader IP-kernen. #
- $ quartus_fid –kabel USB-Blaster –indeks “@1=svgx.sof#i” -n 0
- Info: Kommando: quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 0
- Info (208809): Brug af programmeringskabel "USB-Blaster på sj-sng-z4 [USB-0]"
- Gå ind :
- 'F' for at injicere fejl
- 'E' for at læse EMR
- 'S' for at skrubbe fejl(er)
- 'Q' for at forlade E
- Info (208540): Læser EMR-array
- Info (208544): 3 billedfejl fundet i enhed 1.
- Info (208545): Fejl #1: Enkelt fejl i frame 0x1028 ved bit 0x21EA.
- Info (10914): Fejl #2: Ukorrigerbar multi-bit fejl i ramme 0x1116.
- Info (208545): Fejl #3: Enkelt fejl i frame 0x1848 ved bit 0x128C.
- 'F' for at injicere fejl
- 'E' for at læse EMR
- 'S' for at skrubbe fejl(er)
- 'Q' for at afslutte Q
- Info: Intel Quartus Prime 64-Bit Fault Injection Debugger var vellykket. 0 fejl, 0 advarsler
- Info: Maksimal virtuel hukommelse: 1522 megabyte
- Info: Behandling afsluttet: Man 3. november 18:50:00 2014
- Info: Forløbet tid: 00:00:29
- Info: Samlet CPU-tid (på alle processorer): 00:00:13
Målrettet fejlinjektionsfunktion
Note
Fault Injection Debugger injicerer fejl i FPGA'en tilfældigt. Men funktionen Targeted Fault Injection giver dig mulighed for at injicere fejl på målrettede steder i CRAM. Denne operation kan være nyttig, f.eksample, hvis du har noteret en SEU-hændelse og ønsker at teste FPGA-en eller systemets respons på den samme hændelse efter at have ændret en gendannelsesstrategi. Funktionen Målrettet fejlinjektion er kun tilgængelig fra kommandolinjegrænsefladen. Du kan angive, at fejl injiceres fra kommandolinjen eller i prompttilstand. Relateret information
AN 539: Testmetode eller fejlfinding og -gendannelse ved hjælp af CRC i Intel FPGA-enheder
Angivelse af en fejlliste fra kommandolinjen
Funktionen Targeted Fault Injection giver dig mulighed for at angive en fejlliste fra kommandolinjen, som vist i følgende f.eks.ample: c:\Users\sng> quartus_fid -c 1 – i “@1= svgx.sof#i ” -n 2 -user=”@1= 0x2274 0x05EF 0x2264 0x0500″ Hvor: c 1 angiver, at FPGA'en er styret med det første kabel på din computer. i "@1= six.sof#i " angiver, at den første enhed i kæden er indlæst med objektet file svgx.sof og vil blive injiceret med fejl. n 2 angiver, at to fejl vil blive injiceret. user=”@1= 0x2274 0x05EF 0x2264 0x0500” er en brugerspecificeret liste over fejl, der skal injiceres. I dette example, enhed 1 har to fejl: ved frame 0x2274, bit 0x05EF og ved frame 0x2264, bit 0x0500.
Angivelse af en fejlliste fra prompttilstand
Du kan betjene funktionen Målrettet fejlinjektion interaktivt ved at angive antallet af fejl til 0 (-n 0). Fault Injection Debugger præsenterer prompttilstandskommandoer og deres beskrivelser.
Spørg tilstandskommando | Beskrivelse |
F | Injicer en fejl |
E | Læs EMR |
S | Skrubfejl |
Q | Forlade |
I prompttilstand kan du udstede F-kommandoen alene for at injicere en enkelt fejl på et tilfældigt sted i enheden. I det følgende exampved at bruge F-kommandoen i prompttilstand, injiceres tre fejl. F #3 0x12 0x34 0x56 0x78 * 0x9A 0xBC +
- Fejl 1 – Enkeltbitfejl ved frame 0x12, bit 0x34
- Fejl 2 – Ukorrigerbar fejl ved frame 0x56, bit 0x78 (en * angiver en multi-bit fejl)
- Fejl 3 – Dobbelt-tilstødende fejl ved ramme 0x9A, bit 0xBC (a + angiver en dobbeltbitfejl)
F 0x12 0x34 0x56 0x78 * En (standard) fejl er injiceret: Fejl 1 – Enkeltbitfejl ved frame 0x12, bit 0x34. Placeringer efter den første frame/bit-placering ignoreres. F #3 0x12 0x34 0x56 0x78 * 0x9A 0xBC + 0xDE 0x00
Tre fejl er injiceret:
- Fejl 1 – Enkeltbitfejl ved frame 0x12, bit 0x34
- Fejl 2 – Ukorrigerbar fejl ved frame 0x56, bit 0x78
- Fejl 3 – Dobbelt-tilstødende fejl ved ramme 0x9A, bit 0xBC
- Placeringer efter de første 3 frame/bit-par ignoreres
Bestemmelse af CRAM-bit-placeringer
Note:
Når Fault Injection Debugger detekterer en CRAM EDCRC-fejl, indeholder fejlmeddelelsesregistret (EMR) syndromet, rammenummeret, bitplaceringen og fejltypen (enkelt, dobbelt eller multi-bit) for den detekterede CRAM-fejl. Under systemtestning skal du gemme EMR-indholdet rapporteret af Fault Injection Debugger, når du opdager en EDCRC-fejl. Med det registrerede EMR-indhold kan du levere ramme- og bitnumrene til Fault Injection Debugger for at afspille de fejl, der blev noteret under systemtestning, for yderligere at designe og karakterisere en systemgendannelsesreaktion på denne fejl.
Relateret information
AN 539: Testmetode eller fejlfinding og gendannelse ved hjælp af CRC i Intel FPGA-enheder
Avancerede kommandolinjeindstillinger: ASD-regioner og vægtning af fejltype
Du kan bruge kommandolinjegrænsefladen Fault Injection Debugger til at injicere fejl i ASD-områder og vægte fejltyperne. Først angiver du blandingen af fejltyper (enkelt bit, dobbelt tilstødende og multi-bit, der ikke kan rettes) ved hjælp af –vægten . . mulighed. F.eksample, for en blanding af 50 % enkeltfejl, 30 % dobbelte tilstødende fejl og 20 % multi-bit ukorrigerbare fejl, brug indstillingen –vægt=50.30.20. Derefter, for at målrette mod en ASD-region, skal du bruge -smh-indstillingen til at inkludere SMH file og angiv den ASD-region, der skal målrettes mod. F.eksample: $ quartus_fid –cable=USB-BlasterII –index “@1=svgx.sof#pi” –weight=100.0.0 –smh=”@1=svgx.smh#2″ –number=30
Denne example kommando:
- Programmerer enheden og injicerer fejl (pi-streng)
- Injicerer 100 % enkeltbit-fejl (100.0.0)
- Injicerer kun i ASD_REGION 2 (angivet med #2)
- Injicerer 30 fejl
Fault Injection IP Core User Guide Archives
IP Core version | Brugervejledning |
18.0 | Fejlinjektion Intel FPGA IP Core Brugervejledning |
17.1 | Intel FPGA Fault Injection IP Core Brugervejledning |
16.1 | Altera Fault Injection IP Core Brugervejledning |
15.1 | Altera Fault Injection IP Core Brugervejledning |
Hvis en IP-kerneversion ikke er angivet, gælder brugervejledningen til den tidligere IP-kerneversion.
Dokument revisionshistorik for fejlinjektion IP Core brugervejledning
Dokumentversion | Intel Quartus Prime-version | Ændringer |
2019.07.09 | 18.1 | Opdateret Fejlindsprøjtning IP Pin Beskrivelse emne for at tydeliggøre signalerne Reset, error_injected og error_scrubbed. |
2018.05.16 | 18.0 | • Tilføjet følgende emner fra Intel Quartus Prime Pro Edition-håndbogen:
— Definition af fejlinjektionsområder og underemner. — Brug af Fault Injection Debugger og underemner. — Kommandolinjegrænseflade og underemner. • Omdøbt Intel FPGA Fault Injection IP-kerne til Fault Injection Intel FPGA IP. |
Dato | Version | Ændringer |
2017.11.06 | 17.1 | • Omdannede til Intel.
• Tilføjet Intel Cyclone 10 GX-enhedsunderstøttelse. |
2016.10.31 | 16.1 | Opdateret enhedssupport. |
2015.12.15 | 15.1 | • Ændrede Quartus II til Quartus Prime-software.
• Rettet selvhenvisningsrelateret link. |
2015.05.04 | 15.0 | Første udgivelse. |
Dokumenter/ressourcer
![]() |
intel UG-01173 Fault Injection FPGA IP Core [pdfBrugervejledning UG-01173 Fault Injection FPGA IP Core, UG-01173, Fault Injection FPGA IP Core, Injection c, Injection FPGA IP Core |