intel UG-01173 Fault Injection FPGA IP Core
Felinjektion Intel® FPGA IP Core Användarhandbok
Fault Injection Intel® FPGA IP-kärnan injicerar fel i konfigurations-RAM (CRAM) för en FPGA-enhet. Denna procedur simulerar mjuka fel som kan uppstå under normal drift på grund av störningar av en händelse (SEU). SEU är sällsynta händelser och är därför svåra att testa. När du har instansierat IP-kärnan för felinjektion i din design och konfigurerat din enhet kan du använda verktyget Intel Quartus® Prime Fault Injection Debugger för att framkalla avsiktliga fel i FPGA för att testa systemets svar på dessa fel.
Relaterad information
- Enstaka händelserubbningar
- AN 737: SEU-detektion och återställning i Intel Arria 10-enheter
Drag
- Låter dig utvärdera systemsvar för att mildra funktionella avbrott för enstaka händelser (SEFI).
- Låter dig utföra SEFI-karakterisering internt, vilket eliminerar behovet av test av hela systemets strålar. Istället kan du begränsa stråltestningen till fel i tid (FIT)/Mb-mätning på enhetsnivå.
- Skala FIT-grader enligt SEFI-karakteriseringen som är relevant för din designarkitektur. Du kan slumpmässigt fördela felinjektioner över hela enheten, eller begränsa dem till specifika funktionsområden för att påskynda testningen.
- Optimera din design för att minska störningar som orsakas av en enda händelse störningar (SEU).
Enhetssupport
Fault Injection IP-kärnan stöder enheter i familjen Intel Arria® 10, Intel Cyclone® 10 GX och Stratix® V. Cyclone V-familjen stöder Fault Injection på enheter med suffixet -SC i beställningskoden. Kontakta din lokala återförsäljare för att beställa information om -SC suffix Cyclone V-enheter.
Resursutnyttjande och prestanda
Intel Quartus Prime-programvaran genererar följande resursuppskattning för Stratix V A7 FPGA. Resultaten för andra enheter är liknande.
Intel Corporation. Alla rättigheter förbehållna. Intel, Intels logotyp och andra Intel-märken är varumärken som tillhör Intel Corporation eller dess dotterbolag. Intel garanterar prestanda för sina FPGA- och halvledarprodukter enligt gällande specifikationer i enlighet med Intels standardgaranti, men förbehåller sig rätten att göra ändringar i alla produkter och tjänster när som helst utan föregående meddelande. Intel tar inget ansvar eller ansvar som uppstår till följd av applikationen eller användningen av någon information, produkt eller tjänst som beskrivs här, förutom vad som uttryckligen har godkänts skriftligen av Intel. Intel-kunder rekommenderas att skaffa den senaste versionen av enhetsspecifikationerna innan de förlitar sig på någon publicerad information och innan de beställer produkter eller tjänster. *Andra namn och varumärken kan göras anspråk på att vara andras egendom.
Felinjektion IP Core FPGA-prestanda och resursanvändning
Anordning | Allmosa | Logiska register | M20K | |
Primär | Sekundär | |||
Stratix V A7 | 3,821 | 5,179 | 0 | 0 |
Programvaruinstallationen av Intel Quartus Prime inkluderar Intel FPGA IP-bibliotek. Detta bibliotek tillhandahåller många användbara IP-kärnor för din produktionsanvändning utan att behöva en extra licens. Vissa Intel FPGA IP-kärnor kräver köp av en separat licens för produktionsanvändning. Intel FPGA IP-utvärderingsläget låter dig utvärdera dessa licensierade Intel FPGA IP-kärnor i simulering och hårdvara innan du bestämmer dig för att köpa en fullständig produktions-IP-kärnlicens. Du behöver bara köpa en fullständig produktionslicens för licensierade Intel IP-kärnor efter att du har slutfört hårdvarutestning och är redo att använda IP:n i produktionen. Intel Quartus Prime-programvaran installerar IP-kärnor på följande platser som standard:
IP Core installationsväg
IP Core installationsplatser
Plats | Programvara | 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 |
Notera: Intel Quartus Prime-programvaran stöder inte utrymmen i installationssökvägen.
Anpassa och generera IP-kärnor
Du kan anpassa IP-kärnor för att stödja en mängd olika applikationer. Intel Quartus Prime IP-katalog och parameterredigerare låter dig snabbt välja och konfigurera IP-kärnportar, funktioner och utdata files.
IP-katalog och parameterredigerare
IP-katalogen visar de IP-kärnor som är tillgängliga för ditt projekt, inklusive Intel FPGA IP och annan IP som du lägger till i IP-katalogens sökväg. Använd följande funktioner i IP-katalogen för att lokalisera och anpassa en IP-kärna:
- Filtrera IP-katalogen för att visa IP för aktiv enhetsfamilj eller Visa IP för alla enhetsfamiljer. Om du inte har något öppet projekt, välj Enhetsfamiljen i IP-katalogen.
- Skriv i sökfältet för att hitta ett fullständigt eller partiellt IP-kärnnamn i IP-katalogen.
- Högerklicka på ett IP-kärnnamn i IP-katalogen för att visa detaljer om enheter som stöds, för att öppna IP-kärnans installationsmapp och för länkar till IP-dokumentation.
- Klick Leta efter Partner IP to access partner IP information on the web.
Parameterredigeraren uppmanar dig att ange ett IP-variationsnamn, valfria portar och utdata file generationsalternativ. Parameterredigeraren genererar en Intel Quartus Prime IP på toppnivå file (.ip) för en IP-variant i Intel Quartus Prime Pro Edition-projekt. Parameterredigeraren genererar en Quartus IP på toppnivå file (.qip) för en IP-variant i Intel Quartus Prime Standard Edition-projekt. Dessa files representerar IP-variationen i projektet och lagrar information om parametrering.
IP Parameter Editor (Intel Quartus Prime Standard Edition)
IP Core Generation Output (Intel Quartus Prime Pro Edition)
Programvaran Intel Quartus Prime genererar följande utdata file struktur för individuella IP-kärnor som inte är en del av ett Platform Designer-system.
Individuell IP Core Generation Output (Intel Quartus Prime Pro Edition)
- Om det stöds och är aktiverat för din IP-kärnvariant.
Produktion Files av Intel FPGA IP Generation
File Namn | Beskrivning |
<din_ip>.ip | IP-variation på toppnivå file som innehåller parametrering av en IP-kärna i ditt projekt. Om IP-varianten är en del av ett Platform Designer-system, genererar parameterredigeraren också en .qsys file. |
<din_ip>.cmp | VHDL-komponentdeklarationen (.cmp) file är en text file som innehåller lokala generiska och portdefinitioner som du använder i VHDL-design files. |
<din_ip>_generation.rpt | IP- eller Plattformsdesignergenereringslogg file. Visar en sammanfattning av meddelanden under IP-generering. |
fortsatt… |
File Namn | Beskrivning |
<din_ip>.qgsimc (endast plattformsdesignersystem) | Simuleringscache file som jämför .qsys och .ip files med den aktuella parametreringen av Platform Designer-systemet och IP-kärnan. Denna jämförelse avgör om Platform Designer kan hoppa över regenerering av HDL. |
<din_ip>.qgsynth (endast plattformsdesignersystem) | Syntescache file som jämför .qsys och .ip files med den aktuella parametreringen av Platform Designer-systemet och IP-kärnan. Denna jämförelse avgör om Platform Designer kan hoppa över regenerering av HDL. |
<din_ip>.qip | Innehåller all information för att integrera och kompilera IP-komponenten. |
<din_ip>.csv | Innehåller information om uppgraderingsstatus för IP-komponenten. |
.bsf | En symbolrepresentation av IP-varianten för användning i blockdiagram Files (.bdf). |
<din_ip>.spd | Input file som ip-make-simscript kräver för att generera simuleringsskript. .spd file innehåller en lista över files du genererar för simulering, tillsammans med information om minnen som du initierar. |
<din_ip>.ppf | Pin Planner File (.ppf) lagrar port- och nodtilldelningarna för IP-komponenter som du skapar för användning med Pin Planner. |
<din_ip>_bb.v | Använd Verilog blackbox (_bb.v) file som en tom moduldeklaration för användning som en blackbox. |
<din_ip>_inst.v eller _inst.vhd | HDL exampen instansieringsmall. Kopiera och klistra in innehållet i detta file till din HDL file för att instansiera IP-variationen. |
<din_ip>.regmap | Om IP-adressen innehåller registerinformation genererar Intel Quartus Prime-programvaran .regmap file. .regmap file beskriver registerkartainformationen för master- och slavgränssnitt. Detta file kompletterar
.sopcinfo file genom att lämna mer detaljerad registerinformation om systemet. Detta file möjliggör registervisning views och användaranpassningsbar statistik i systemkonsolen. |
<din_ip>.svd | Tillåter HPS System Debug-verktyg att view registerkartorna över kringutrustning som ansluter till HPS i ett Platform Designer-system.
Under syntesen lagrar Intel Quartus Prime-programvaran .svd files för slavgränssnitt som är synligt för systemkonsolens master i .sof file i felsökningssessionen. System Console läser detta avsnitt, som Platform Designer frågar efter registerkartainformation. För systemslavar får Platform Designer åtkomst till registren med namn. |
<din_ip>.v
<din_ip>.vhd |
HDL files som instansierar varje submodul eller underordnad IP-kärna för syntes eller simulering. |
mentor/ | Innehåller ett msim_setup.tcl-skript för att ställa in och köra en simulering. |
aldec/ | Innehåller ett skript rivierapro_setup.tcl för att ställa in och köra en simulering. |
/synopsys/vcs
/synopsys/vcsmx |
Innehåller ett skalskript vcs_setup.sh för att ställa in och köra en simulering.
Innehåller ett skalskript vcsmx_setup.sh och synopsys_sim.setup file för att ställa in och köra en simulering. |
/kadens | Innehåller ett skalskript ncsim_setup.sh och andra inställningar files för att ställa in och köra en simulering. |
/xcelium | Innehåller ett parallellsimulatorskalskript xcelium_setup.sh och andra inställningar files för att ställa in och köra en simulering. |
/undermoduler | Innehåller HDL files för IP-kärnundermodulen. |
<IP undermodul>/ | Platform Designer genererar underkataloger /synth och /sim för varje IP-undermodulkatalog som Platform Designer genererar. |
Funktionsbeskrivning
Med Fault Injection IP-kärnan kan designers utföra SEFI-karakterisering internt, skala FIT-hastigheter enligt SEFI-karakterisering och optimera design för att minska effekten av SEU.
Enstaka händelse upprörd mildring
Integrerade kretsar och programmerbara logiska enheter som FPGA är känsliga för SEU. SEU är slumpmässiga, oförstörande händelser, orsakade av två huvudkällor: alfapartiklar och neutroner från kosmiska strålar. Strålning kan få antingen det logiska registret, den inbäddade minnesbiten eller en konfigurations-RAM-bit (CRAM) att vända sitt tillstånd, vilket leder till oväntad enhetsfunktion. Intel Arria 10, Intel Cyclone 10 GX, Arria V, Cyclone V, Stratix V och nyare enheter har följande CRAM-funktioner:
- Felupptäckt cyklisk redundanskontroll (EDCRC)
- Automatisk korrigering av ett stört CRAM (skrubbning)
- Möjlighet att skapa ett stört CRAM-tillstånd (felinjektion)
För mer information om SEU-reducering i Intel FPGA-enheter, se kapitlet SEU Mitigation i respektive enhetshandbok.
Fault Injection IP Pin Beskrivning
Fault Injection IP-kärnan inkluderar följande I/O-stift.
Felinsprutning IP Core I/O-stift
Pinnamn | Pin -riktning | Pin Beskrivning |
crcerror_pin | input | Indata från felmeddelande Register Unloader Intel FPGA IP (EMR Unloader IP). Denna signal bekräftas när ett CRC-fel har upptäckts av enhetens EDCRC. |
emr_data | input | Innehåll i Error Message Register (EMR). Se tillämplig enhetshandbok för EMR-fälten.
Denna ingång överensstämmer med Avalon Streaming-datagränssnittssignalen. |
emr_valid | input | Indikerar att emr_data-ingångarna innehåller giltiga data. Detta är en Avalon Streaming giltig gränssnittssignal. |
Återställa | input | Modulåterställningsingång. Återställningen kontrolleras helt av felinsprutningsfelsökaren. |
error_injected | produktion | Indikerar att ett fel injicerades i CRAM enligt kommandot via JTAG gränssnitt. Hur lång tid denna signal påstår beror på dina inställningar för JTAG TCK och styrblocksignaler. Typiskt är tiden runt 20 klockcykler för TCK-signalen. |
error_scrubbed | produktion | Indikerar att enhetens skrubbning är klar enligt kommandot via JTAG gränssnitt. Hur lång tid denna signal påstår beror på dina inställningar för JTAG TCK och styrblocksignaler. Typiskt är tiden runt 20 klockcykler för TCK-signalen. |
intosc | produktion | Valfri utgång. Fault Injection IP använder denna klocka, till exempelample, för att klocka EMR_unloader-blocket. |
Felinsprutning IP-stiftdiagram
Använda felinsprutningsfelsökaren och felinjektion IP Core
Fault Injection Debugger fungerar tillsammans med Fault Injection IP-kärnan. Först instansierar du IP-kärnan i din design, kompilerar och laddar ner den resulterande konfigurationen file till din enhet. Sedan kör du felinjektionsfelsökningen från Intel Quartus Prime-programvaran eller från kommandoraden för att simulera mjuka fel.
- Fault Injection Debugger låter dig driva felinjektionsexperiment interaktivt eller med batchkommandon, och låter dig specificera de logiska områdena i din design för felinjektioner.
- Kommandoradsgränssnittet är användbart för att köra felsökaren via ett skript.
Notera
Fault Injection Debugger kommunicerar med Fault Injection IP-kärnan via JTAG gränssnitt. Fault Injection IP accepterar kommandon från JTAG gränssnitt och rapporterar status tillbaka via JTAG gränssnitt. Fault Injection IP-kärnan är implementerad i mjuk logik i din enhet; därför måste du ta hänsyn till denna logikanvändning i din design. En metod är att karakterisera din designs svar på SEU i labbet och sedan utelämna IP-kärnan från din slutgiltiga utplacerade design.
Du använder Fault Injection IP-kärnan med följande IP-kärnor:
- Felmeddelanderegister Unloader IP-kärnan, som läser och lagrar data från de härdade feldetekteringskretsarna i Intel FPGA-enheter.
- (Valfritt) Intel FPGA IP-kärna för avancerad SEU-detektion, som jämför enbitars felplatser med en känslighetskarta under enhetens drift för att avgöra om ett mjukt fel påverkar den.
Felinsprutningsfelsökning överview Blockdiagram
Anmärkningar:
-
Fault Injection IP vänder bitarna i mållogiken.
-
Fault Injection Debugger och Advanced SEU Detection IP använder samma EMR Unloader-instans.
-
Advanced SEU Detection IP-kärnan är valfri.
Relaterad information
- Om SMH Files på sidan 13
- Om EMR Unloader IP Core på sidan 10
- Om Advanced SEU Detection IP Core på sidan 11
Instantiera IP-kärnan för felinsprutning
NOTERA
Fault Injection IP-kärnan kräver inte att du ställer in några parametrar. För att använda IP-kärnan, skapa en ny IP-instans, inkludera den i ditt Platform Designer (Standard)-system och anslut signalerna efter behov. Du måste använda Fault Injection IP-kärnan med EMR Unloader IP-kärnan. Fault Injection och EMR Unloader IP-kärnor är tillgängliga i Platform Designer och IP Catalog. Alternativt kan du instansiera dem direkt i din RTL-design med Verilog HDL, SystemVerilog eller VHDL.
Om EMR Unloader IP Core
EMR Unloader IP-kärnan tillhandahåller ett gränssnitt till EMR, som uppdateras kontinuerligt av enhetens EDCRC som kontrollerar enhetens CRAM-bitar CRC för mjuka fel.
Example Platform Designer System inklusive IP Core för felinsprutning och EMR Unloader IP Core
Example Fault Injection IP Core och EMR Unloader IP Core Block Diagram
Relaterad information
Felmeddelande Register Unloader Intel FPGA IP Core Användarhandbok
Om Advanced SEU Detection IP Core
Använd Advanced SEU Detection (ASD) IP-kärna när SEU-tolerans är ett designproblem. Du måste använda EMR Unloader IP-kärnan med ASD IP-kärnan. Därför, om du använder ASD IP och Fault Injection IP i samma design, måste de dela EMR Unloader-utgången via en Avalon®-ST splitterkomponent. Följande figur visar ett plattformsdesignersystem där en Avalon-ST-splitter distribuerar EMR-innehållet till ASD- och Fault Injection IP-kärnorna.
Använda ASD och Fault Injection IP i samma plattformsdesignersystem
Relaterad information
Advanced SEU Detection Intel FPGA IP Core Användarhandbok
Definiera felinsprutningsområden
Du kan definiera specifika regioner av FPGA för felinjektion med hjälp av en känslighetskartahuvud (.smh) file. SMH file lagrar koordinaterna för enhetens CRAM-bitar, deras tilldelade region (ASD-region) och kritikalitet. Under designprocessen använder du hierarki tagatt skapa regionen. Sedan, under kompileringen, genererar Intel Quartus Prime Assembler SMH file. Fault Injection Debugger begränsar felinjektioner till specifika enhetsregioner som du definierar i SMH file.
Utför hierarki Tagging
Du definierar FPGA-regionerna för testning genom att tilldela en ASD-region till platsen. Du kan ange ett ASD-områdesvärde för valfri del av din designhierarki med hjälp av fönstret Designpartitioner.
- Välj Tilldelningar ➤ Fönstret Designa partitioner.
- Högerklicka var som helst i rubrikraden och aktivera ASD Region för att visa kolumnen ASD Region (om den inte redan visas).
- Ange ett värde från 0 till 16 för valfri partition för att tilldela den till en specifik ASD-region.
- ASD-region 0 är reserverad för oanvända delar av enheten. Du kan tilldela en partition till den här regionen för att ange den som icke-kritisk.
- ASD-region 1 är standardregionen. Alla använda delar av enheten tilldelas denna region såvida du inte uttryckligen ändrar ASD-regiontilldelningen.
Om SMH Files
SMH file innehåller följande information:
- Om du inte använder hierarki tagging (dvs designen har inga explicita ASD-regiontilldelningar i designhierarkin), SMH file listar varje CRAM-bit och indikerar om den är känslig för designen.
- Om du har utfört hierarki tagoch ändrade standardtilldelningar för ASD-regionen, SMH file listar varje CRAM-bit och den är tilldelad ASD-region.
Fault Injection Debugger kan begränsa injektioner till en eller flera specificerade regioner. Att styra assemblern att generera en SMH file:
- Välj Tilldelningar ➤ Enhet ➤ Enhets- och stiftalternativ ➤ Felidentifiering CRC.
- Aktivera generera SEU-känslighetskarta file (.smh) alternativ.
Använda felinsprutningsfelsökaren
NOTERA
För att använda Fault Injection Debugger ansluter du till din enhet via JTAG gränssnitt. Konfigurera sedan enheten och utför felinjektion. För att starta Fault Injection Debugger, välj Verktyg ➤ Fault Injection Debugger i Intel Quartus Prime-programvaran. Konfigurering eller programmering av enheten liknar proceduren som används för programmeraren eller Signal Tap Logic Analyzer.
Felinsprutningsfelsökare
För att konfigurera din JTAG kedja:
- Klicka på Hardware Setup. Verktyget visar programmeringsmaskinvaran som är ansluten till din dator.
- Välj den programmeringshårdvara du vill använda.
- Klicka på Stäng.
- Klicka på Autoavkänning, som fyller enhetskedjan med de programmerbara enheterna som finns i JTAG kedja.
Relaterad information
Riktad felinsprutningsfunktion på sidan 21
Krav på hårdvara och mjukvara
Följande hårdvara och mjukvara krävs för att använda felinsprutningsfelsökningen:
- FEATURE-linje i din Intel FPGA-licens som möjliggör Fault Injection IP-kärnan. Kontakta din lokala Intel FPGA-säljare för mer information.
- Nedladdningskabel (Intel FPGA Download Cable, Intel FPGA Download Cable II, eller II).
- Intel FPGA-utvecklingskit eller användardesignat kort med en JTAG anslutning till enheten som testas.
- (Valfritt) FEATURE-linje i din Intel FPGA-licens som möjliggör Advanced SEU Detection IP-kärna.
Konfigurera din enhet och felinsprutningsfelsökaren
Felinjektionsavlusaren använder en .sof och (valfritt) en Sensitivity Map Header (.smh) file. Mjukvaruobjektet File (.sof) konfigurerar FPGA. Den .smh file definierar känsligheten för CRAM-bitarna i enheten. Om du inte tillhandahåller en .smh file, injicerar felinsprutningsavlusaren fel slumpmässigt genom CRAM-bitarna. Så här anger du en .sof:
- Välj den FPGA du vill konfigurera i rutan Enhetskedja.
- Klicka på Välj File.
- Navigera till .sof och klicka på OK. Felinsprutningsfelsökaren läser .sof.
- (Valfritt) Välj SMH file.
Om du inte anger en SMH file, injicerar felinsprutningsfelsökaren fel slumpmässigt över hela enheten. Om du anger en SMH file, kan du begränsa injektioner till de använda områdena på din enhet.- Högerklicka på enheten i rutan Enhetskedja och klicka sedan på Välj SMH File.
- Välj din SMH file.
- Klicka på OK.
- Slå på Program/Configure.
- Klicka på Start.
Fault Injection Debugger konfigurerar enheten med hjälp av .sof.
Snabbmeny för att välja SMH File
Begränsande regioner för felinjektion
Efter att ha laddat en SMH file, kan du styra felinsprutningsfelsökaren att endast fungera på specifika ASD-regioner. För att ange ASD-region(er) där fel ska injiceras:
- Högerklicka på FPGA i rutan Device chain och klicka på Show Device Sensitivity Map.
- Välj ASD-region(er) för felinjektion.
Enhetskänslighetskarta Viewer
Ange feltyper
Du kan ange olika typer av fel för injektion.
- Enstaka fel (SE)
- Dubbel intilliggande fel (DAE)
- Okorrigerbara flerbitsfel (EMBE)
Intel FPGA-enheter kan självkorrigera enkla och dubbelintilliggande fel om skurfunktionen är aktiverad. Intel FPGA-enheter kan inte korrigera flerbitsfel. Se kapitlet om att lindra SEU för mer information om felsökning av dessa fel. Du kan specificera blandningen av fel som ska injiceras och insprutningstidsintervallet. Så här anger du tidsintervallet för injektion:
- I Fault Injection Debugger, välj Verktyg ➤ Alternativ.
- Dra den röda kontrollen till blandningen av fel. Alternativt kan du ange mixen numeriskt.
- Ange injektionsintervalltiden.
- Klicka på OK.
Figur 12. Specificering av blandningen av SEU-feltyper
Relaterad information Förbättrande störning av enstaka händelser
Injiceringsfel
Du kan injicera fel i flera lägen:
- Injicera ett fel på kommando
- Injicera flera fel på kommando
- Injicera fel tills du uppmanas att stoppa
För att injicera dessa fel:
- Aktivera alternativet Inject Fault.
- Välj om du vill köra felinjektion för ett antal iterationer eller tills den stoppas:
- Om du väljer att köra tills den stoppas, injicerar felinjektionsavlusaren fel med det intervall som anges i dialogrutan Verktyg ➤ Alternativ.
- Om du vill köra felinjektion för ett specifikt antal iterationer, ange numret.
- Klicka på Start.
Notera: Felinjektionsfelsökningen körs i det angivna antalet iterationer eller tills den stoppas. Fönstret Intel Quartus Prime-meddelanden visar meddelanden om de fel som injiceras. För ytterligare information om de injicerade felen, klicka på Läs EMR. Felinjektionsfelsökaren läser enhetens EMR och visar innehållet i meddelandefönstret.
Intel Quartus Prime-felinjektion och EMR-innehållsmeddelanden
Inspelningsfel
Du kan registrera platsen för alla injicerade fel genom att notera parametrarna som rapporteras i fönstret Intel Quartus Prime-meddelanden. Om t.exampOm ett injicerat fel resulterar i beteende som du skulle vilja spela upp igen, kan du rikta in dig på den platsen för injektion. Du utför riktad injektion med kommandoradsgränssnittet Fault Injection Debugger.
Rensa injicerade fel
Klicka på Scrub för att återställa FPGA:ns normala funktion. När du skrubbar ett fel, används enhetens EDCRC-funktioner för att rätta till felen. Skrubbningsmekanismen liknar den som används under enhetens drift.
Kommandoradsgränssnitt
Du kan köra Fault Injection Debugger på kommandoraden med den körbara filen quartus_fid, vilket är användbart om du vill utföra felinjektion från ett skript.
Tabell 5. Kommandoradsargument för felinjektion
Kort argumentation | Långt argument | Beskrivning |
c | kabel | Ange programmeringsmaskinvara eller kabel. (Nödvändig) |
i | index | Ange den aktiva enheten som ska injicera fel. (Nödvändig) |
n | antal | Ange antalet fel som ska injiceras. Standardvärdet är
1. (Valfritt) |
t | tid | Intervalltid mellan injektioner. (Frivillig) |
Notera: Använd quartus_fid –help för att view alla tillgängliga alternativ. Följande kod ger exampfiler som använder kommandoradsgränssnittet för felinjektion Debugger.
############################################
- # Ta reda på vilka USB-kablar som är tillgängliga för det här fallet
- # Resultatet visar att en kabel är tillgänglig, som heter "USB-Blaster" #
- $ quartus_fid –lista . . .
- Info: Kommando: quartus_fid –list
- USB-Blaster på sj-sng-z4 [USB-0] Info: Intel Quartus Prime 64-bitars felinsprutningsfelsökning lyckades. 0 fel, 0 varning
- ############################################
- # Ta reda på vilka enheter som är tillgängliga på USB-Blaster-kabel
- # Resultatet visar två enheter: en Stratix V A7 och en MAX V CPLD. #
- $ quartus_fid –kabel USB-Blaster -a
- Info: Kommando: quartus_fid –cable=USB-Blaster -a
- Info (208809): Använder programmeringskabeln "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-bitars felinsprutningsfelsökning lyckades.
- 0 fel, 0 varningar
- ############################################
- # Programmera Stratix V-enheten
- # Alternativet –index anger operationer som utförs på en ansluten enhet.
- # “=svgx.sof” associerar en .sof file med enheten
- # "#p" betyder programmera enheten #
- $ quartus_fid –kabel USB-Blaster –index “@1=svgx.sof#p” . . .
- Info (209016): Konfigurera enhetsindex 1
- Info (209017): Enhet 1 innehåller JTAG ID-kod 0x029030DD
- Info (209007): Konfigurationen lyckades — 1 enhet(er) har konfigurerats
- Info (209011): Utförd(a) operation(er)
- Info (208551): Programmera signatur i enhet 1.
- Info: Intel Quartus Prime 64-bitars felinsprutningsfelsökning lyckades.
- 0 fel, 0 varningar
- ############################################
- # Injicera ett fel i enheten.
- # Operatorn #i indikerar att fel ska injiceras
- # -n 3 indikerar att injicera 3 fel #
- $ quartus_fid –kabel USB-Blaster –index “@1=svgx.sof#i” -n 3
- Info: Kommando: quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 3
- Info (208809): Använder programmeringskabeln "USB-Blaster på sj-sng-z4 [USB-0]"
- Info (208521): Injicerar 3 fel i enhet(er)
- Info: Intel Quartus Prime 64-bitars felinsprutningsfelsökning lyckades.
- 0 fel, 0 varningar
- ############################################
- # Interaktivt läge.
- # Genom att använda #i-operationen med -n 0 försätts felsökaren i interaktivt läge.
- # Observera att 3 fel injicerades i föregående session;
- # "E" läser de fel som för närvarande finns i EMR Unloader IP-kärnan. #
- $ quartus_fid –kabel USB-Blaster –index “@1=svgx.sof#i” -n 0
- Info: Kommando: quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 0
- Info (208809): Använder programmeringskabeln "USB-Blaster på sj-sng-z4 [USB-0]"
- Stiga på :
- 'F' för att injicera fel
- 'E' för att läsa EMR
- "S" för att skrubba fel
- "Q" för att avsluta E
- Info (208540): Läser EMR-array
- Info (208544): 3 ramfel upptäcktes i enhet 1.
- Info (208545): Fel #1: Enstaka fel i ram 0x1028 vid bit 0x21EA.
- Info (10914): Fel #2: Okorrigerbart flerbitsfel i ram 0x1116.
- Info (208545): Fel #3: Enstaka fel i ram 0x1848 vid bit 0x128C.
- 'F' för att injicera fel
- 'E' för att läsa EMR
- "S" för att skrubba fel
- 'Q' för att avsluta Q
- Info: Intel Quartus Prime 64-bitars felinsprutningsfelsökning var framgångsrik. 0 fel, 0 varningar
- Info: Maximalt virtuellt minne: 1522 megabyte
- Info: Bearbetningen avslutades: Mån 3 november 18:50:00 2014
- Info: Förfluten tid: 00:00:29
- Info: Total CPU-tid (på alla processorer): 00:00:13
Riktad felinsprutningsfunktion
Notera
Fault Injection Debugger injicerar fel i FPGA slumpmässigt. Emellertid låter funktionen Targeted Fault Injection dig injicera fel på riktade platser i CRAM. Denna operation kan vara användbar, till exempelample, om du noterade en SEU-händelse och vill testa FPGA- eller systemsvaret på samma händelse efter att ha ändrat en återställningsstrategi. Funktionen Targeted Fault Injection är endast tillgänglig från kommandoradsgränssnittet. Du kan ange att fel injiceras från kommandoraden eller i promptläge. Relaterad information
AN 539: Testmetod eller feldetektering och återställning med CRC i Intel FPGA-enheter
Ange en fellista från kommandoraden
Funktionen Targeted Fault Injection låter dig ange en fellista från kommandoraden, som visas i följande ex.ample: c:\Users\sng> quartus_fid -c 1 – i “@1= svgx.sof#i ” -n 2 -user=”@1= 0x2274 0x05EF 0x2264 0x0500″ Där: c 1 indikerar att FPGA är kontrollerad med den första kabeln på din dator. i "@1= six.sof#i " indikerar att den första enheten i kedjan är laddad med objektet file svgx.sof och kommer att injiceras med fel. n 2 indikerar att två fel kommer att injiceras. user=”@1= 0x2274 0x05EF 0x2264 0x0500” är en användarspecificerad lista över fel som ska injiceras. I detta example, enhet 1 har två fel: vid ram 0x2274, bit 0x05EF och vid ram 0x2264, bit 0x0500.
Ange en fellista från promptläge
Du kan använda funktionen Targeted Fault Injection interaktivt genom att ange antalet fel till 0 (-n 0). Fault Injection Debugger presenterar kommandon i promptläge och deras beskrivningar.
Kommando för promptläge | Beskrivning |
F | Injicera ett fel |
E | Läs EMR |
S | Skrubbfel |
Q | Sluta |
I snabbläge kan du bara utfärda F-kommandot för att injicera ett enstaka fel på en slumpmässig plats i enheten. I följande exampmed F-kommandot i promptläge injiceras tre fel. F #3 0x12 0x34 0x56 0x78 * 0x9A 0xBC +
- Fel 1 – Enkelbitsfel vid ram 0x12, bit 0x34
- Fel 2 – Okorrigerbart fel vid ram 0x56, bit 0x78 (en * indikerar ett flerbitsfel)
- Fel 3 – Dubbelt intilliggande fel vid ram 0x9A, bit 0xBC (ett + indikerar ett dubbelbitfel)
F 0x12 0x34 0x56 0x78 * Ett (standard) fel injiceras: Fel 1 – Enkelbitfel vid ram 0x12, bit 0x34. Platser efter den första bildrutan/bitplatsen ignoreras. F #3 0x12 0x34 0x56 0x78 * 0x9A 0xBC + 0xDE 0x00
Tre fel injiceras:
- Fel 1 – Enkelbitsfel vid ram 0x12, bit 0x34
- Fel 2 – Okorrigerbart fel vid ram 0x56, bit 0x78
- Fel 3 – Dubbelt intilliggande fel vid ram 0x9A, bit 0xBC
- Platser efter de första 3 ram/bit-paren ignoreras
Bestämma CRAM-bitplatser
Notera:
När felinsprutningsavlusaren upptäcker ett CRAM EDCRC-fel, innehåller felmeddelanderegistret (EMR) syndromet, ramnummer, bitplats och feltyp (enkel, dubbel eller multibit) för det detekterade CRAM-felet. Under systemtestning, spara EMR-innehållet som rapporterats av Fault Injection Debugger när du upptäcker ett EDCRC-fel. Med det inspelade EMR-innehållet kan du tillhandahålla ram- och bitnumren till felinjektionsavlusaren för att spela upp de fel som noterades under systemtestning, för att ytterligare designa och karakterisera ett systemåterställningssvar på det felet.
Relaterad information
AN 539: Testmetod eller feldetektering och återställning med CRC i Intel FPGA-enheter
Avancerade kommandoradsalternativ: ASD-regioner och viktning av feltyp
Du kan använda kommandoradsgränssnittet Fault Injection Debugger för att injicera fel i ASD-regioner och vikta feltyperna. Först anger du blandningen av feltyper (enkel bit, dubbel intilliggande och multi-bitar som inte kan korrigeras) med hjälp av –vikten . . alternativ. Till exempelample, för en blandning av 50 % enstaka fel, 30 % dubbla angränsande fel och 20 % flerbitars okorrigerbara fel, använd alternativet –weight=50.30.20. Sedan, för att rikta in sig på en ASD-region, använd alternativet -smh för att inkludera SMH file och ange den ASD-region som du vill rikta in dig på. Till exempelample: $ quartus_fid –cable=USB-BlasterII –index “@1=svgx.sof#pi” –weight=100.0.0 –smh=”@1=svgx.smh#2″ –number=30
Detta example kommando:
- Programmerar enheten och injicerar fel (pi-sträng)
- Injicerar 100 % enkelbitsfel (100.0.0)
- Injicerar endast i ASD_REGION 2 (anges med #2)
- Injicerar 30 fel
Fault Injection IP Core User Guide Archives
IP Core-version | Användarhandbok |
18.0 | Felinjektion Intel FPGA IP Core Användarhandbok |
17.1 | Intel FPGA Fault Injection IP Core Användarhandbok |
16.1 | Altera Fault Injection IP Core User Guide |
15.1 | Altera Fault Injection IP Core User Guide |
Om en IP-kärnversion inte finns med i listan gäller användarhandboken för den tidigare IP-kärnversionen.
Dokumentversionshistorik för felinjektion IP Core Användarhandbok
Dokumentversion | Intel Quartus Prime-version | Ändringar |
2019.07.09 | 18.1 | Uppdaterade Fault Injection IP Pin Beskrivning ämne för att förtydliga signalerna Reset, error_injected och error_scrubbed. |
2018.05.16 | 18.0 | • Lade till följande ämnen från Intel Quartus Prime Pro Edition Handbook:
— Definiera felinsprutningsområden och underämnen. — Använda felinsprutningsfelsökaren och underämnen. — Kommandoradsgränssnitt och underämnen. • Omdöpt Intel FPGA Fault Injection IP-kärna till Fault Injection Intel FPGA IP. |
Datum | Version | Ändringar |
2017.11.06 | 17.1 | • Bytt namn till Intel.
• Tillagd enhetsstöd för Intel Cyclone 10 GX. |
2016.10.31 | 16.1 | Uppdaterat enhetsstöd. |
2015.12.15 | 15.1 | • Ändrade Quartus II till Quartus Prime programvara.
• Fast självreferensrelaterad länk. |
2015.05.04 | 15.0 | Initial release. |
Dokument/resurser
![]() |
intel UG-01173 Fault Injection FPGA IP Core [pdf] Användarhandbok UG-01173 Fault Injection FPGA IP Core, UG-01173, Fault Injection FPGA IP Core, Injection c, Injection FPGA IP Core |