intel-logo

intel UG-01173 Fault Injection FPGA IP Core

intel-UG-01173-Feil-injeksjon-FPGA-IP-kjerne-fig-PRODUCT

Fault Injection Intel® FPGA IP Core brukerveiledning

Fault Injection Intel® FPGA IP-kjernen injiserer feil i konfigurasjons-RAM (CRAM) til en FPGA-enhet. Denne prosedyren simulerer myke feil som kan oppstå under normal drift på grunn av single event upsets (SEUs). SEU-er er sjeldne hendelser og er derfor vanskelige å teste. Etter at du har instansiert IP-kjernen for feilinjeksjon i designet og konfigurert enheten din, kan du bruke Intel Quartus® Prime Fault Injection Debugger-verktøyet til å indusere tilsiktede feil i FPGA for å teste systemets respons på disse feilene.

Relatert informasjon

  • Enkel hendelse forstyrrelser
  • AN 737: SEU-deteksjon og gjenoppretting i Intel Arria 10-enheter

Funksjoner

  • Lar deg evaluere systemrespons for å redusere funksjonelle avbrudd i enkelthendelser (SEFI).
  • Lar deg utføre SEFI-karakterisering internt, og eliminerer behovet for testing av hele systemets stråler. I stedet kan du begrense stråletestingen til feil i tid (FIT)/Mb-måling på enhetsnivå.
  • Skaler FIT-rater i henhold til SEFI-karakteriseringen som er relevant for din designarkitektur. Du kan tilfeldig fordele feilinjeksjoner gjennom hele enheten, eller begrense dem til bestemte funksjonsområder for å fremskynde testingen.
  • Optimaliser designet for å redusere forstyrrelser forårsaket av en enkelt hendelsesforstyrrelse (SEU).

Enhetsstøtte

Fault Injection IP-kjernen støtter Intel Arria® 10, Intel Cyclone® 10 GX og Stratix® V familieenheter. Cyclone V-familien støtter feilinjeksjon på enheter med -SC-suffikset i bestillingskoden. Kontakt din lokale salgsrepresentant for bestillingsinformasjon om -SC suffix Cyclone V-enheter.

Ressursutnyttelse og ytelse
Intel Quartus Prime-programvaren genererer følgende ressursestimat for Stratix V A7 FPGA. Resultatene for andre enheter er like.

Intel Corporation. Alle rettigheter forbeholdt. Intel, Intel-logoen og andre Intel-merker er varemerker for Intel Corporation eller dets datterselskaper. Intel garanterer ytelsen til sine FPGA- og halvlederprodukter i henhold til gjeldende spesifikasjoner i henhold til Intels standardgaranti, men forbeholder seg retten til å gjøre endringer i produkter og tjenester når som helst uten varsel. Intel påtar seg intet ansvar eller ansvar som oppstår som følge av applikasjonen eller bruken av informasjon, produkter eller tjenester som er beskrevet her, med mindre det er uttrykkelig skriftlig avtalt med Intel. Intel-kunder anbefales å få tak i den nyeste versjonen av enhetsspesifikasjonene før de stoler på publisert informasjon og før de bestiller produkter eller tjenester. *Andre navn og merker kan gjøres krav på som andres eiendom.

Fault Injection IP Core FPGA-ytelse og ressursutnyttelse

Enhet ALMs Logiske registre M20K
Primær Sekundær
Stratix V A7 3,821 5,179 0 0

Intel Quartus Prime-programvareinstallasjonen inkluderer Intel FPGA IP-biblioteket. Dette biblioteket gir mange nyttige IP-kjerner for produksjonsbruk uten behov for en ekstra lisens. Noen Intel FPGA IP-kjerner krever kjøp av en separat lisens for produksjonsbruk. Intel FPGA IP Evaluation Mode lar deg evaluere disse lisensierte Intel FPGA IP-kjernene i simulering og maskinvare, før du bestemmer deg for å kjøpe en full produksjons IP-kjernelisens. Du trenger bare å kjøpe en full produksjonslisens for lisensierte Intel IP-kjerner etter at du har fullført maskinvaretesting og er klar til å bruke IP-en i produksjon. Intel Quartus Prime-programvaren installerer IP-kjerner på følgende steder som standard:

IP Core installasjonsvei

intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-1

IP Core installasjonssteder

Sted Programvare Plattform
:\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-programvaren støtter ikke mellomrom i installasjonsbanen.

Tilpasning og generering av IP-kjerner
Du kan tilpasse IP-kjerner for å støtte en lang rekke applikasjoner. Intel Quartus Prime IP-katalog og parameterredigering lar deg raskt velge og konfigurere IP-kjerneporter, -funksjoner og -utgang files.

IP-katalog og parametereditor
IP-katalogen viser IP-kjernene som er tilgjengelige for prosjektet ditt, inkludert Intel FPGA IP og annen IP som du legger til IP-katalogens søkebane. Bruk følgende funksjoner i IP-katalogen for å finne og tilpasse en IP-kjerne:

  • Filtrer IP-katalogen for å vise IP for aktiv enhetsfamilie eller Vis IP for alle enhetsfamilier. Hvis du ikke har noe åpent prosjekt, velg Enhetsfamilien i IP-katalogen.
  • Skriv inn søkefeltet for å finne et fullstendig eller delvis IP-kjernenavn i IP-katalogen.
  • Høyreklikk på et IP-kjernenavn i IP-katalogen for å vise detaljer om støttede enheter, for å åpne IP-kjernens installasjonsmappe og for lenker til IP-dokumentasjon.
  • Klikk Søk etter Partner IP to access partner IP information on the web.

Parametereditoren ber deg spesifisere et IP-variasjonsnavn, valgfrie porter og utgang file generasjonsalternativer. Parametereditoren genererer en Intel Quartus Prime IP på toppnivå file (.ip) for en IP-variant i Intel Quartus Prime Pro Edition-prosjekter. Parametereditoren genererer en Quartus IP på toppnivå file (.qip) for en IP-variasjon i Intel Quartus Prime Standard Edition-prosjekter. Disse files representerer IP-variasjonen i prosjektet, og lagrer parameteriseringsinformasjon.

IP Parameter Editor (Intel Quartus Prime Standard Edition)intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-2

IP Core Generation Output (Intel Quartus Prime Pro Edition)

Intel Quartus Prime-programvaren genererer følgende utgang file struktur for individuelle IP-kjerner som ikke er en del av et Platform Designer-system.

Individuell IP Core Generation Output (Intel Quartus Prime Pro Edition)intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-3

  • Hvis støttet og aktivert for IP-kjernevarianten.

Produksjon Files av Intel FPGA IP Generation

File Navn Beskrivelse
<din_ip>.ip IP-variasjon på toppnivå file som inneholder parameterisering av en IP-kjerne i prosjektet ditt. Hvis IP-varianten er en del av et plattformdesignersystem, genererer parametereditoren også en .qsys file.
<din_ip>.cmp VHDL-komponenterklæringen (.cmp) file er en tekst file som inneholder lokale generiske og portdefinisjoner som du bruker i VHDL-design files.
<din_ip>_generasjon.rpt IP eller plattformdesigner generasjonslogg file. Viser et sammendrag av meldingene under IP-generering.
fortsatte...
File Navn Beskrivelse
<din_ip>.qgsimc (kun plattformdesignersystemer) Simuleringsbufring file som sammenligner .qsys og .ip files med gjeldende parameterisering av Platform Designer-systemet og IP-kjerne. Denne sammenligningen avgjør om Platform Designer kan hoppe over regenerering av HDL.
<din_ip>.qgsynth (kun plattformdesigner-systemer) Syntesebufring file som sammenligner .qsys og .ip files med gjeldende parameterisering av Platform Designer-systemet og IP-kjerne. Denne sammenligningen avgjør om Platform Designer kan hoppe over regenerering av HDL.
<din_ip>.qip Inneholder all informasjon for å integrere og kompilere IP-komponenten.
<din_ip>.csv Inneholder informasjon om oppgraderingsstatusen til IP-komponenten.
.bsf En symbolrepresentasjon av IP-varianten for bruk i blokkdiagram Files (.bdf).
<din_ip>.spd Inndata file som ip-make-simscript krever for å generere simuleringsskript. .spd file inneholder en liste over files du genererer for simulering, sammen med informasjon om minner du initialiserer.
<din_ip>.ppf Pin-planleggeren File (.ppf) lagrer port- og nodetilordningene for IP-komponenter du oppretter for bruk med Pin Planner.
<din_ip>_bb.v Bruk Verilog blackbox (_bb.v) file som en tom modulerklæring for bruk som blackbox.
<din_ip>_inst.v eller _inst.vhd HDL eksampen instansiasjonsmal. Kopier og lim inn innholdet i denne file inn i HDL file for å instansiere IP-variasjonen.
<din_ip>.regmap Hvis IP-en inneholder registerinformasjon, genererer Intel Quartus Prime-programvaren .regmap file. .regmap file beskriver registerkartinformasjonen til master- og slavegrensesnitt. Dette file utfyller

.sopcinfo file ved å gi mer detaljert registerinformasjon om systemet. Dette file aktiverer registervisning views og brukertilpassbar statistikk i systemkonsollen.

<din_ip>.svd Lar HPS System Debug-verktøy view registerkartene over periferiutstyr som kobles til HPS i et Platform Designer-system.

Under syntese lagrer Intel Quartus Prime-programvaren .svd files for slave-grensesnitt synlig for systemkonsollens master i .sof file i feilsøkingsøkten. Systemkonsollen leser denne delen, som Platform Designer spør etter registerkartinformasjon. For systemslaver får Platform Designer tilgang til registrene ved navn.

<din_ip>.v

<din_ip>.vhd

HDL files som instansierer hver undermodul eller barne-IP-kjerne for syntese eller simulering.
mentor/ Inneholder et msim_setup.tcl-skript for å sette opp og kjøre en simulering.
aldec/ Inneholder et skript rivierapro_setup.tcl for å sette opp og kjøre en simulering.
/synopsys/vcs

/synopsys/vcsmx

Inneholder et skallskript vcs_setup.sh for å sette opp og kjøre en simulering.

Inneholder et skallskript vcsmx_setup.sh og synopsys_sim.setup file å sette opp og kjøre en simulering.

/kadens Inneholder et skallskript ncsim_setup.sh og annet oppsett files å sette opp og kjøre en simulering.
/xcelium Inneholder et parallell simulator-skallskript xcelium_setup.sh og annet oppsett files å sette opp og kjøre en simulering.
/undermoduler Inneholder HDL files for IP-kjerneundermodulen.
<IP undermodul>/ Platform Designer genererer /synth og /sim underkataloger for hver IP-undermodulkatalog som Platform Designer genererer.

Funksjonell beskrivelse
Med Fault Injection IP-kjernen kan designere utføre SEFI-karakterisering internt, skalere FIT-hastigheter i henhold til SEFI-karakterisering og optimalisere design for å redusere effekten av SEU-er.

Redusering av opprørt hendelse

Integrerte kretser og programmerbare logiske enheter som FPGA-er er mottakelige for SEU-er. SEU-er er tilfeldige, ikke-destruktive hendelser, forårsaket av to hovedkilder: alfapartikler og nøytroner fra kosmiske stråler. Stråling kan få enten det logiske registeret, den innebygde minnebiten eller en konfigurasjons-RAM (CRAM)-bit til å snu tilstanden, og dermed føre til uventet enhetsoperasjon. Intel Arria 10, Intel Cyclone 10 GX, Arria V, Cyclone V, Stratix V og nyere enheter har følgende CRAM-funksjoner:

  • Feiloppdagelse syklisk redundanskontroll (EDCRC)
  • Automatisk korrigering av opprørt CRAM (skrubbing)
  • Evne til å skape en opprørt CRAM-tilstand (feilinjeksjon)

For mer informasjon om SEU-reduksjon i Intel FPGA-enheter, se kapittelet SEU Mitigation i den respektive enhetshåndboken.

Feilinjeksjon IP Pin Beskrivelse

Fault Injection IP-kjernen inkluderer følgende I/O-pinner.

Feilinjeksjon IP Core I/O-pinner

Pin navn Pin Retning Pin Beskrivelse
crcerror_pin input Inndata fra feilmelding Register Unloader Intel FPGA IP (EMR Unloader IP). Dette signalet bekreftes når en CRC-feil har blitt oppdaget av enhetens EDCRC.
emr_data input Feilmeldingsregister (EMR) innhold. Se den aktuelle enhetshåndboken for EMR-feltene.

Denne inngangen samsvarer med Avalon Streaming-datagrensesnittsignalet.

emr_valid input Indikerer at emr_data-inndataene inneholder gyldige data. Dette er et Avalon Streaming-gyldig grensesnittsignal.
Tilbakestill input Inngang for tilbakestilling av modul. Tilbakestillingen er fullstendig kontrollert av feilinjeksjonsfeilsøkeren.
error_injected produksjon Indikerer at en feil ble injisert i CRAM som kommandert via JTAG grensesnitt. Hvor lang tid dette signalet hevder avhenger av innstillingene til JTAG TCK og kontrollblokksignaler. Typisk er tiden rundt 20 klokkesykluser av TCK-signalet.
error_scrubbed produksjon Indikerer at enhetens skrubbing er fullført som kommandert via JTAG grensesnitt. Hvor lang tid dette signalet hevder avhenger av innstillingene til JTAG TCK og kontrollblokksignaler. Typisk er tiden rundt 20 klokkesykluser av TCK-signalet.
insc produksjon Valgfri utgang. Fault Injection IP bruker denne klokken, f.eksample, for å klokke EMR_unloader-blokken.

Feilinjeksjon IP-pinnediagram

intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-4

Bruk av feilinjeksjonsfeilsøkeren og feilinjeksjons IP-kjerne

Fault Injection Debugger fungerer sammen med Fault Injection IP-kjernen. Først instansierer du IP-kjernen i designet, kompilerer og laster ned den resulterende konfigurasjonen file inn i enheten din. Deretter kjører du Fault Injection Debugger fra Intel Quartus Prime-programvaren eller fra kommandolinjen for å simulere myke feil.

  • Feilinjeksjonsfeilsøkeren lar deg betjene feilinjeksjonseksperimenter interaktivt eller ved batchkommandoer, og lar deg spesifisere de logiske områdene i designet for feilinjeksjoner.
  • Kommandolinjegrensesnittet er nyttig for å kjøre feilsøkeren via et skript.

Note

Fault Injection Debugger kommuniserer med Fault Injection IP-kjernen via JTAG grensesnitt. Fault Injection IP aksepterer kommandoer fra JTAG grensesnitt og rapporterer status tilbake gjennom JTAG grensesnitt. IP-kjernen for feilinjeksjon er implementert i myk logikk i enheten din; derfor må du ta hensyn til denne logikkbruken i designet. En metode er å karakterisere designets respons på SEU i laboratoriet og deretter utelate IP-kjernen fra det endelige utplasserte designet.

Du bruker IP-kjernen for feilinjeksjon med følgende IP-kjerner:

  • Error Message Register Unloader IP-kjernen, som leser og lagrer data fra de herdede feildeteksjonskretsene i Intel FPGA-enheter.
  • (Valgfritt) Advanced SEU Detection Intel FPGA IP-kjernen, som sammenligner enkeltbits feilplasseringer med et sensitivitetskart under drift av enheten for å avgjøre om en myk feil påvirker den.

Feilinjeksjonsfeilsøker overview Blokkdiagramintel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-5

Merknader:

  1. Fault Injection IP snur bitene i mållogikken.
  2. Fault Injection Debugger og Advanced SEU Detection IP bruker samme EMR Unloader-forekomst.
  3. Advanced SEU Detection IP-kjernen er valgfri.

Relatert informasjon

  • Om SMH Files på side 13
  • Om EMR Unloader IP Core på side 10
  • Om Advanced SEU Detection IP Core på side 11

Instantiering av feilinjeksjons IP-kjernen

NOTE

Fault Injection IP-kjernen krever ikke at du angir noen parametere. For å bruke IP-kjernen, opprette en ny IP-forekomst, inkludere den i Platform Designer-systemet (standard), og koble til signalene etter behov. Du må bruke Fault Injection IP-kjernen med EMR Unloader IP-kjernen. Fault Injection og EMR Unloader IP-kjerner er tilgjengelige i Platform Designer og IP Catalog. Eventuelt kan du instansiere dem direkte i RTL-designet ditt ved å bruke Verilog HDL, SystemVerilog eller VHDL.

Om EMR Unloader IP Core
EMR Unloader IP-kjernen gir et grensesnitt til EMR, som oppdateres kontinuerlig av enhetens EDCRC som sjekker enhetens CRAM-biter CRC for myke feil.

Example Platform Designer System Inkludert Fault Injection IP Core og EMR Unloader IP Coreintel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-6

Example Fault Injection IP Core og EMR Unloader IP Core Block Diagram

intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-7

Relatert informasjon
Feilmelding Registrer Unloader Intel FPGA IP Core User Guide

Om Advanced SEU Detection IP Core

Bruk Advanced SEU Detection (ASD) IP-kjernen når SEU-toleranse er et designproblem. Du må bruke EMR Unloader IP-kjernen med ASD IP-kjernen. Derfor, hvis du bruker ASD IP og Fault Injection IP i samme design, må de dele EMR Unloader-utgangen via en Avalon®-ST splitterkomponent. Følgende figur viser et plattformdesigner-system der en Avalon-ST-splitter distribuerer EMR-innholdet til ASD- og Fault Injection IP-kjernene.

Bruk av ASD og feilinjeksjons-IP i samme plattformdesignersystemintel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-8

Relatert informasjon
Avansert SEU-deteksjon Intel FPGA IP Core brukerveiledning

Definere feilinjeksjonsområder
Du kan definere spesifikke områder av FPGA for feilinjeksjon ved hjelp av en sensitivitetskartoverskrift (.smh) file. SMH file lagrer koordinatene til enhetens CRAM-biter, deres tilordnede region (ASD-region) og kritikalitet. Under designprosessen bruker du hierarki tagfor å skape regionen. Så, under kompileringen, genererer Intel Quartus Prime Assembler SMH file. Feilinjeksjonsfeilsøkeren begrenser feilinjeksjoner til spesifikke enhetsregioner du definerer i SMH file.

Utføre hierarki Tagging
Du definerer FPGA-regionene for testing ved å tilordne en ASD-region til stedet. Du kan spesifisere en ASD-regionverdi for en hvilken som helst del av designhierarkiet ved å bruke vinduet Designpartisjoner.

  1. Velg Assignments ➤ Design Partitions Window.
  2. Høyreklikk hvor som helst i overskriftsraden og slå på ASD Region for å vise ASD Region-kolonnen (hvis den ikke allerede er vist).
  3. Skriv inn en verdi fra 0 til 16 for en hvilken som helst partisjon for å tilordne den til en bestemt ASD-region.
    • ASD-område 0 er reservert til ubrukte deler av enheten. Du kan tilordne en partisjon til denne regionen for å angi den som ikke-kritisk.
    • ASD-region 1 er standardregionen. Alle brukte deler av enheten er tilordnet denne regionen med mindre du eksplisitt endrer ASD-regiontildelingen.

Om SMH Files

SMH file inneholder følgende informasjon:

  • Hvis du ikke bruker hierarki tagging (dvs. designet har ingen eksplisitte ASD Region-tilordninger i designhierarkiet), SMH file viser hver CRAM-bit og indikerer om den er sensitiv for designet.
  • Hvis du har utført hierarki taging og endrede standard ASD Region-tilordninger, SMH file viser hver CRAM-bit og den er tildelt ASD-region.

Feilinjeksjonsfeilsøkeren kan begrense injeksjoner til ett eller flere spesifiserte områder. For å lede Assembleren til å generere en SMH file:

  • Velg Tilordninger ➤ Enhet ➤ Alternativer for enhet og pinne ➤ Feilsøking CRC.
  • Slå på Generer SEU-følsomhetskartet file (.smh) alternativ.

Bruke feilinjeksjonsfeilsøkeren

NOTE
For å bruke feilinjeksjonsfeilsøkeren kobler du til enheten din via JTAG grensesnitt. Konfigurer deretter enheten og utfør feilinjeksjon. For å starte Fault Injection Debugger, velg Verktøy ➤ Fault Injection Debugger i Intel Quartus Prime-programvaren. Konfigurering eller programmering av enheten ligner prosedyren som brukes for programmereren eller Signal Tap Logic Analyzer.

Feilinjeksjonsfeilsøker

intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-9

For å konfigurere din JTAG kjede:

  1. Klikk på Maskinvareoppsett. Verktøyet viser programmeringsmaskinvaren som er koblet til datamaskinen.
  2. Velg programmeringsmaskinvaren du ønsker å bruke.
  3. Klikk Lukk.
  4. Klikk på Auto Detect, som fyller enhetskjeden med de programmerbare enhetene som finnes i JTAG kjede.

Relatert informasjon
Målrettet feilinjeksjonsfunksjon på side 21

Krav til maskinvare og programvare

Følgende maskinvare og programvare kreves for å bruke feilinjeksjonsfeilsøkeren:

  • FEATURE-linje i din Intel FPGA-lisens som aktiverer Fault Injection IP-kjernen. For mer informasjon, kontakt din lokale Intel FPGA-salgsrepresentant.
  • Nedlastingskabel (Intel FPGA Download Cable, Intel FPGA Download Cable II, eller II).
  • Intel FPGA-utviklingssett eller brukerdesignet kort med en JTAG tilkobling til enheten som testes.
  • (Valgfritt) FEATURE-linje i din Intel FPGA-lisens som aktiverer Advanced SEU Detection IP-kjernen.

Konfigurering av enheten og feilinjeksjonsfeilsøkeren

Fault Injection Debugger bruker en .sof og (valgfritt) en Sensitivity Map Header (.smh) file. Programvareobjektet File (.sof) konfigurerer FPGA. .smh file definerer følsomheten til CRAM-bitene i enheten. Hvis du ikke oppgir en .smh file, Fault Injection Debugger injiserer feil tilfeldig gjennom CRAM-bitene. Slik spesifiserer du en .sof:

  1. Velg FPGAen du ønsker å konfigurere i Enhetskjede-boksen.
  2. Klikk Velg File.
  3. Naviger til .sof og klikk OK. Feilinjeksjonsfeilsøkeren leser .sof.
  4. (Valgfritt) Velg SMH file.
    Hvis du ikke spesifiserer en SMH file, injiserer feilinjeksjonsfeilsøkeren feil tilfeldig over hele enheten. Hvis du spesifiserer en SMH file, kan du begrense injeksjoner til de brukte områdene på enheten.
    • Høyreklikk enheten i Enhetskjede-boksen og klikk deretter Velg SMH File.
    • Velg din SMH file.
    • Klikk OK.
  5. Slå på Program/Configure.
  6. Klikk Start.

Fault Injection Debugger konfigurerer enheten ved å bruke .sof.

Kontekstmeny for valg av SMH File

intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-10

Begrensende regioner for feilinjeksjon

Etter å ha lastet en SMH file, kan du styre feilinjeksjonsfeilsøkeren til å operere på bare spesifikke ASD-regioner. For å spesifisere ASD-regionen(e) for å injisere feil:

  1. Høyreklikk FPGA i Enhetskjede-boksen, og klikk Vis Device Sensitivity Map.
  2. Velg ASD-regionen(e) for feilinjeksjon.

Enhetsfølsomhetskart Viewer

intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-11

Spesifisere feiltyper

Du kan angi ulike typer feil for injeksjon.

  • Enkeltfeil (SE)
  • Double-adjacent errors (DAE)
  • Ukorrigerbare multi-bit feil (EMBE)

Intel FPGA-enheter kan selvkorrigere enkelt- og dobbelttilstøtende feil hvis skrubbefunksjonen er aktivert. Intel FPGA-enheter kan ikke korrigere flerbitsfeil. Se kapittelet om å redusere SEU-er for mer informasjon om feilsøking av disse feilene. Du kan spesifisere blandingen av feil som skal injiseres og injeksjonstidsintervallet. For å spesifisere injeksjonstidsintervallet:

  1. I feilinjeksjonsfeilsøkeren velger du Verktøy ➤ Alternativer.
  2. Dra den røde kontrolleren til blandingen av feil. Alternativt kan du spesifisere blandingen numerisk.
  3. Spesifiser injeksjonsintervalltiden.
  4. Klikk OK.

Figur 12. Spesifisering av blandingen av SEU-feiltyperintel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-12

Relatert informasjon Reduserende enkelthendelsesopprør

Injeksjonsfeil

Du kan injisere feil i flere moduser:

  • Injiser én feil på kommando
  • Injiser flere feil på kommando
  • Injiser feil til du får beskjed om å stoppe

For å injisere disse feilene:

  1. Slå på alternativet Inject Fault.
  2. Velg om du vil kjøre feilinjeksjon for en rekke iterasjoner eller til den stoppes:
    • Hvis du velger å kjøre til den stoppes, injiserer feilinjeksjonsfeilsøkeren feil med intervallet som er spesifisert i dialogboksen Verktøy ➤ Alternativer.
    • Hvis du vil kjøre feilinjeksjon for et spesifikt antall iterasjoner, skriv inn tallet.
  3. Klikk Start.

Note: Feilinjeksjonsfeilsøkeren kjører i det angitte antall iterasjoner eller til den stoppes. Intel Quartus Prime Messages-vinduet viser meldinger om feilene som injiseres. For ytterligere informasjon om de injiserte feilene, klikk Les EMR. Feilinjeksjonsfeilsøkeren leser enhetens EMR og viser innholdet i meldingsvinduet.

Intel Quartus Prime-feilinnsprøytning og EMR-innholdsmeldinger

intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-13

Opptaksfeil
Du kan registrere plasseringen av enhver injisert feil ved å legge merke til parameterne som er rapportert i vinduet Intel Quartus Prime-meldinger. Hvis f.eksampHvis en injisert feil resulterer i atferd du ønsker å spille på nytt, kan du målrette det stedet for injeksjon. Du utfører målrettet injeksjon ved hjelp av kommandolinjegrensesnittet Fault Injection Debugger.

Fjerner injiserte feil
For å gjenopprette den normale funksjonen til FPGA, klikk på Scrub. Når du skrubber en feil, brukes enhetens EDCRC-funksjoner til å rette opp feilene. Skrubbemekanismen ligner den som brukes under drift av enheten.

Kommandolinjegrensesnitt
Du kan kjøre feilinjeksjonsfeilsøkeren på kommandolinjen med den kjørbare quartus_fid-filen, noe som er nyttig hvis du vil utføre feilinjeksjon fra et skript.

Tabell 5. Kommandolinjeargumenter for feilinjeksjon

Kort argumentasjon Langt argument Beskrivelse
c kabel Spesifiser programmeringsmaskinvare eller kabel. (Obligatorisk)
i indeks Spesifiser den aktive enheten som skal injisere feil. (Obligatorisk)
n tall Angi antall feil som skal injiseres. Standardverdien er

1. (Valgfritt)

t tid Intervalltid mellom injeksjoner. (Valgfri)

Note: Bruk quartus_fid –help til view alle tilgjengelige alternativer. Følgende kode gir eksamples ved hjelp av Fault Injection Debugger kommandolinjegrensesnitt.
###########################################

  • # Finn ut hvilke USB-kabler som er tilgjengelige for dette tilfellet
  • # Resultatet viser at én kabel er tilgjengelig, kalt "USB-Blaster" #
  • $ quartus_fid –liste . . .
  • Info: Kommando: quartus_fid –list
    1. USB-Blaster på sj-sng-z4 [USB-0] Info: Intel Quartus Prime 64-Bit Fault Injection Debugger var vellykket. 0 feil, 0 advarsel
  • ############################################
  • # Finn hvilke enheter som er tilgjengelige på USB-Blaster-kabelen
  • # Resultatet viser to enheter: 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): Bruk av programmeringskabel "USB-Blaster på sj-sng-z4 [USB-0]"
    1. 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 feil, 0 advarsler
  • ############################################
  • # Programmer Stratix V-enheten
  • # Alternativet –indeks spesifiserer operasjoner utført på en tilkoblet enhet.
  • # "=svgx.sof" knytter en .sof file med enheten
  • # "#p" betyr programmere enheten #
  • $ quartus_fid –kabel USB-Blaster –indeks “@1=svgx.sof#p” . . .
  • Info (209016): Konfigurere enhetsindeks 1
  • Info (209017): Enhet 1 inneholder JTAG ID-kode 0x029030DD
  • Info (209007): Konfigurasjonen var vellykket — 1 enhet(er) konfigurert
  • Info (209011): Vellykket utført(e) operasjon(er)
  • Info (208551): Programmer signatur til enhet 1.
  • Info: Intel Quartus Prime 64-Bit Fault Injection Debugger var vellykket.
  • 0 feil, 0 advarsler
  • ############################################
  • # Injiser en feil i enheten.
  • # #i-operatøren indikerer å injisere feil
  • # -n 3 indikerer å injisere 3 feil #
  • $ 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): Bruk av programmeringskabel "USB-Blaster på sj-sng-z4 [USB-0]"
  • Info (208521): Injiserer 3 feil(er) i enhet(er)
  • Info: Intel Quartus Prime 64-Bit Fault Injection Debugger var vellykket.
  • 0 feil, 0 advarsler
  • ############################################
  • # Interaktiv modus.
  • # Bruk av #i-operasjonen med -n 0 setter feilsøkeren i interaktiv modus.
  • # Merk at 3 feil ble injisert i forrige økt;
  • # "E" leser feilene i EMR Unloader IP-kjernen. #
  • $ 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): Bruk av programmeringskabel "USB-Blaster på sj-sng-z4 [USB-0]"
  • Tast inn :
  • 'F' for å injisere feil
  • 'E' for å lese EMR
  • 'S' for å skrubbe feil(er)
  • 'Q' for å avslutte E
  • Info (208540): Leser EMR-array
  • Info (208544): 3 rammefeil(er) oppdaget i enhet 1.
  • Info (208545): Feil #1: Enkeltfeil i ramme 0x1028 ved bit 0x21EA.
  • Info (10914): Feil #2: Ukorrigerbar multi-bit feil i ramme 0x1116.
  • Info (208545): Feil #3: Enkeltfeil i ramme 0x1848 ved bit 0x128C.
  • 'F' for å injisere feil
  • 'E' for å lese EMR
  • 'S' for å skrubbe feil(er)
  • 'Q' for å avslutte Q
  • Info: Intel Quartus Prime 64-biters feilinjeksjonsfeilsøking var vellykket. 0 feil, 0 advarsler
  • Info: Topp virtuelt minne: 1522 megabyte
  • Info: Behandlingen ble avsluttet: Man 3. november 18:50:00 2014
  • Info: Forløpt tid: 00:00:29
  • Info: Total CPU-tid (på alle prosessorer): 00:00:13

Målrettet feilinjeksjonsfunksjon

Note

Fault Injection Debugger injiserer feil tilfeldig inn i FPGA. Imidlertid lar funksjonen målrettet feilinjeksjon deg injisere feil på målrettede steder i CRAM. Denne operasjonen kan være nyttig, f.eksample, hvis du noterte en SEU-hendelse og ønsker å teste FPGA-en eller systemresponsen på den samme hendelsen etter å ha endret en gjenopprettingsstrategi. Funksjonen Målrettet feilinjeksjon er kun tilgjengelig fra kommandolinjegrensesnittet. Du kan spesifisere at feil injiseres fra kommandolinjen eller i ledetekstmodus. Relatert informasjon

AN 539: Testmetodikk eller feilsøking og gjenoppretting ved hjelp av CRC i Intel FPGA-enheter

Spesifisere en feilliste fra kommandolinjen

Funksjonen for målrettet feilinjeksjon lar deg spesifisere en feilliste fra kommandolinjen, som vist i følgende 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 indikerer at FPGA er kontrollert med den første kabelen på datamaskinen. i "@1= six.sof#i " indikerer at den første enheten i kjeden er lastet med objektet file svgx.sof og vil bli injisert med feil. n 2 indikerer at to feil vil bli injisert. user=”@1= 0x2274 0x05EF 0x2264 0x0500” er en brukerspesifisert liste over feil som skal injiseres. I denne eksample, enhet 1 har to feil: ved frame 0x2274, bit 0x05EF og ved frame 0x2264, bit 0x0500.

Spesifisere en feilliste fra ledetekstmodus

Du kan betjene funksjonen for målrettet feilinjeksjon interaktivt ved å spesifisere antall feil til 0 (-n 0). Feilinjeksjonsfeilsøkeren presenterer ledetekstmoduskommandoer og deres beskrivelser.

Spør modus-kommando Beskrivelse
F Injiser en feil
E Les EMR
S Skrubbefeil
Q Slutte

I ledetekstmodus kan du gi F-kommandoen alene for å injisere en enkelt feil på et tilfeldig sted i enheten. I følgende eksamples ved å bruke F-kommandoen i ledetekstmodus, injiseres tre feil. F #3 0x12 0x34 0x56 0x78 * 0x9A 0xBC +

  • Feil 1 – Enkeltbitfeil ved ramme 0x12, bit 0x34
  • Feil 2 – Ukorrigerbar feil ved ramme 0x56, bit 0x78 (en * indikerer en multi-bit feil)
  • Feil 3 – Dobbelttilstøtende feil ved ramme 0x9A, bit 0xBC (a + indikerer en dobbelbitfeil)

F 0x12 0x34 0x56 0x78 * En (standard) feil er injisert: Feil 1 – Enkeltbitfeil ved ramme 0x12, bit 0x34. Plasseringer etter den første rammen/bitplasseringen ignoreres. F #3 0x12 0x34 0x56 0x78 * 0x9A 0xBC + 0xDE 0x00

Tre feil er injisert:

  • Feil 1 – Enkeltbitfeil ved ramme 0x12, bit 0x34
  • Feil 2 – Ukorrigerbar feil ved ramme 0x56, bit 0x78
  • Feil 3 – Dobbelttilstøtende feil ved ramme 0x9A, bit 0xBC
  • Plasseringer etter de første 3 ramme/bit-parene ignoreres

Bestemme CRAM-bitplasseringer

Note: 

Når feilinjeksjonsfeilsøkeren oppdager en CRAM EDCRC-feil, inneholder feilmeldingsregisteret (EMR) syndromet, rammenummeret, bitplasseringen og feiltypen (enkelt-, dobbel- eller multibit) for den oppdagede CRAM-feilen. Under systemtesting, lagre EMR-innholdet rapportert av Fault Injection Debugger når du oppdager en EDCRC-feil. Med det registrerte EMR-innholdet kan du levere ramme- og bitnumrene til Fault Injection Debugger for å spille av feilene som ble notert under systemtesting, for å designe videre og karakterisere en systemgjenopprettingsrespons på den feilen.

Relatert informasjon
AN 539: Testmetodikk eller feildeteksjon og gjenoppretting ved bruk av CRC i Intel FPGA-enheter

Avanserte kommandolinjealternativer: ASD-regioner og feiltypevekting

Du kan bruke kommandolinjegrensesnittet Fault Injection Debugger til å injisere feil i ASD-regioner og vekte feiltypene. Først spesifiserer du blandingen av feiltyper (enkeltbit, dobbel tilstøtende og multi-bit som ikke kan korrigeres) ved å bruke –vekten . . alternativ. For eksample, for en blanding av 50 % enkeltfeil, 30 % doble tilstøtende feil og 20 % flerbits ukorrigerbare feil, bruk alternativet –weight=50.30.20. Deretter, for å målrette mot en ASD-region, bruk -smh-alternativet for å inkludere SMH file og angi ASD-regionen du vil målrette mot. For eksample: $ quartus_fid –cable=USB-BlasterII –index “@1=svgx.sof#pi” –weight=100.0.0 –smh=”@1=svgx.smh#2″ –number=30

Denne eksample kommando:

  • Programmerer enheten og injiserer feil (pi-streng)
  • Injiserer 100 % enkeltbitsfeil (100.0.0)
  • Injiserer kun i ASD_REGION 2 (angitt med #2)
  • Injiserer 30 feil

Fault Injection IP Core User Guide Archives

IP kjerneversjon Brukerveiledning
18.0 Feilinnsprøytning Intel FPGA IP Core brukerveiledning
17.1 Intel FPGA Fault Injection IP Core User Guide
16.1 Altera Fault Injection IP Core User Guide
15.1 Altera Fault Injection IP Core User Guide

Hvis en IP-kjerneversjon ikke er oppført, gjelder brukerveiledningen for den forrige IP-kjerneversjonen.

Dokumentrevisjonshistorikk for feilinjeksjon IP Core brukerveiledning

Dokumentversjon Intel Quartus Prime-versjon Endringer
2019.07.09 18.1 Oppdaterte Feilinjeksjon IP Pin Beskrivelse emne for å avklare signalene Reset, error_injected og error_scrubbed.
2018.05.16 18.0 • Lagt til følgende emner fra Intel Quartus Prime Pro Edition Handbook:

—   Definere feilinjeksjonsområder og underemner.

—   Bruke feilinjeksjonsfeilsøkeren og underemner.

—   Kommandolinjegrensesnitt og underemner.

• Omdøpt Intel FPGA Fault Injection IP-kjerne til Fault Injection Intel FPGA IP.

Dato Versjon Endringer
2017.11.06 17.1 • Rebranded som Intel.

• Lagt til Intel Cyclone 10 GX-enhetsstøtte.

2016.10.31 16.1 Oppdatert enhetsstøtte.
2015.12.15 15.1 • Endret Quartus II til Quartus Prime-programvare.

• Rettet selvreferanserelatert lenke.

2015.05.04 15.0 Første utgivelse.

 

Dokumenter / Ressurser

intel UG-01173 Fault Injection FPGA IP Core [pdfBrukerhåndbok
UG-01173 Fault Injection FPGA IP Core, UG-01173, Fault Injection FPGA IP Core, Injection c, Injection FPGA IP Core

Referanser

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket *