logo intel

Intel UG-01173 Core IP FPGA con iniezione di errori

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

Guasto Iniezione Intel® FPGA IP Core Guida dell'utente

Il core IP Fault Injection Intel® FPGA inserisce errori nella RAM di configurazione (CRAM) di un dispositivo FPGA. Questa procedura simula gli errori software che possono verificarsi durante il normale funzionamento a causa di singoli eventi sconvolti (SEU). I SEU sono eventi rari e sono quindi difficili da testare. Dopo aver istanziato il core IP Fault Injection nel progetto e configurato il dispositivo, è possibile utilizzare lo strumento Intel Quartus® Prime Fault Injection Debugger per indurre errori intenzionali nell'FPGA per testare la risposta del sistema a questi errori.

Informazioni correlate

  • Singoli eventi sconvolti
  • AN 737: Rilevamento e ripristino SEU nei dispositivi Intel Arria 10

Caratteristiche

  • Consente di valutare la risposta del sistema per mitigare gli interrupt funzionali a evento singolo (SEFI).
  • Consente di eseguire internamente la caratterizzazione SEFI, eliminando la necessità di testare l'intero sistema. È invece possibile limitare il test del raggio ai guasti nella misurazione del tempo (FIT)/Mb a livello di dispositivo.
  • Ridimensiona i tassi FIT in base alla caratterizzazione SEFI rilevante per la tua architettura di progettazione. È possibile distribuire in modo casuale le iniezioni di errori nell'intero dispositivo o vincolarle a specifiche aree funzionali per velocizzare i test.
  • Ottimizza il tuo design per ridurre le interruzioni causate da un singolo evento sconvolgente (SEU).

Supporto del dispositivo

Il core IP Fault Injection supporta i dispositivi della famiglia Intel Arria® 10, Intel Cyclone® 10 GX e Stratix® V. La famiglia Cyclone V supporta Fault Injection su dispositivi con il suffisso -SC nel codice di ordinazione. Contattare il rappresentante di vendita locale per informazioni sull'ordinazione dei dispositivi Cyclone V con suffisso -SC.

Utilizzo delle risorse e prestazioni
Il software Intel Quartus Prime genera la seguente stima delle risorse per l'FPGA Stratix V A7. I risultati per altri dispositivi sono simili.

Intel Corporation. Tutti i diritti riservati. Intel, il logo Intel e altri marchi Intel sono marchi di Intel Corporation o delle sue consociate. Intel garantisce le prestazioni dei suoi prodotti FPGA e semiconduttori in base alle specifiche attuali in conformità con la garanzia standard di Intel, ma si riserva il diritto di apportare modifiche a qualsiasi prodotto e servizio in qualsiasi momento senza preavviso. Intel non si assume alcuna responsabilità derivante dall'applicazione o dall'uso di qualsiasi informazione, prodotto o servizio qui descritto, salvo quanto espressamente concordato per iscritto da Intel. Si consiglia ai clienti Intel di ottenere la versione più recente delle specifiche del dispositivo prima di fare affidamento su qualsiasi informazione pubblicata e prima di effettuare ordini per prodotti o servizi. *Altri nomi e marchi possono essere rivendicati come proprietà di altri.

Fault Injection IP Core FPGA Prestazioni e utilizzo delle risorse

Dispositivo Elemosina Registri logici M20K
Primario Secondario
Stratix V A7 3,821 5,179 0 0

L'installazione del software Intel Quartus Prime include la libreria Intel FPGA IP. Questa libreria fornisce molti core IP utili per l'utilizzo in produzione senza la necessità di una licenza aggiuntiva. Alcuni core Intel FPGA IP richiedono l'acquisto di una licenza separata per l'uso in produzione. La modalità di valutazione IP Intel FPGA consente di valutare questi core IP Intel FPGA con licenza in simulazione e hardware, prima di decidere di acquistare una licenza core IP di produzione completa. Devi solo acquistare una licenza di produzione completa per i core IP Intel con licenza dopo aver completato il test dell'hardware e sei pronto per utilizzare l'IP in produzione. Il software Intel Quartus Prime installa i core IP nelle seguenti posizioni per impostazione predefinita:

Percorso di installazione IP Core

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

Posizioni di installazione IP Core

Posizione Software Piattaforma
:\intelFPGA_pro\quartus\ip\altera Edizione Intel Quartus Prime Pro Finestre*
:\intelFPGA\quartus\ip\altera Edizione standard Intel Quartus Prime Finestre
:/intelFPGA_pro/quartus/ip/altera Edizione Intel Quartus Prime Pro Linux *
:/intelFPGA/quartus/ip/altera Edizione standard Intel Quartus Prime Linux

Nota: Il software Intel Quartus Prime non supporta gli spazi nel percorso di installazione.

Personalizzazione e generazione di core IP
È possibile personalizzare i core IP per supportare un'ampia varietà di applicazioni. Il catalogo IP di Intel Quartus Prime e l'editor dei parametri consentono di selezionare e configurare rapidamente le porte, le funzionalità e l'output del core IP files.

Catalogo IP e editor di parametri
Il Catalogo IP mostra i core IP disponibili per il tuo progetto, incluso l'IP Intel FPGA e altri IP che aggiungi al percorso di ricerca del Catalogo IP. Utilizza le seguenti funzionalità del Catalogo IP per individuare e personalizzare un core IP:

  • Filtra il catalogo IP per Mostra IP per la famiglia di dispositivi attiva o Mostra IP per tutte le famiglie di dispositivi. Se non hai alcun progetto aperto, seleziona la famiglia di dispositivi nel catalogo IP.
  • Digitare nel campo Cerca per individuare qualsiasi nome di base IP completo o parziale nel Catalogo IP.
  • Fare clic con il pulsante destro del mouse sul nome di un core IP in IP Catalog per visualizzare i dettagli sui dispositivi supportati, per aprire la cartella di installazione del core IP e per i collegamenti alla documentazione IP.
  • Clic Cercare Partner IP to access partner IP information on the web.

L'editor dei parametri richiede di specificare un nome di variazione IP, porte opzionali e output file opzioni di generazione. L'editor dei parametri genera un IP Intel Quartus Prime di livello superiore file (.ip) per una variazione IP nei progetti Intel Quartus Prime Pro Edition. L'editor dei parametri genera un IP Quartus di primo livello file (.qip) per una variazione IP nei progetti Intel Quartus Prime Standard Edition. Queste files rappresentano la variazione IP nel progetto e memorizzano le informazioni di parametrizzazione.

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

Output generazione core IP (Intel Quartus Prime Pro Edition)

Il software Intel Quartus Prime genera il seguente output file struttura per singoli core IP che non fanno parte di un sistema Platform Designer.

Output generazione core IP individuale (Intel Quartus Prime Pro Edition)intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-3

  • Se supportato e abilitato per la variazione del core IP.

Produzione Files di generazione Intel FPGA IP

File Nome Descrizione
<tuo_ip>.ip Variazione IP di primo livello file che contiene la parametrizzazione di un core IP nel tuo progetto. Se la variazione IP fa parte di un sistema Platform Designer, l'editor dei parametri genera anche un .qsys file.
<tuo_ip>.cmp La dichiarazione del componente VHDL (.cmp) file è un testo file che contiene definizioni di porta e generiche locali utilizzate nella progettazione VHDL files.
<tuo_ip>_generazione.rpt Log di generazione IP o Platform Designer file. Visualizza un riepilogo dei messaggi durante la generazione dell'IP.
continua…
File Nome Descrizione
<tuo_ip>.qgsimc (solo sistemi Platform Designer) Memorizzazione nella cache di simulazione file che confronta .qsys e .ip files con l'attuale parametrizzazione del sistema Platform Designer e del core IP. Questo confronto determina se Platform Designer può ignorare la rigenerazione dell'HDL.
<tuo_ip>.qgsynth (solo sistemi Platform Designer) Memorizzazione nella cache di sintesi file che confronta .qsys e .ip files con l'attuale parametrizzazione del sistema Platform Designer e del core IP. Questo confronto determina se Platform Designer può ignorare la rigenerazione dell'HDL.
<tuo_ip>.qip Contiene tutte le informazioni per integrare e compilare il componente IP.
<tuo_ip>.csv Contiene informazioni sullo stato di aggiornamento del componente IP.
.bsf Una rappresentazione simbolica della variazione IP da utilizzare nel diagramma a blocchi Files (.bdf).
<tuo_ip>.spd Ingresso file che ip-make-simscript richiede per generare script di simulazione. Il file .spd file contiene un elenco di files generate per la simulazione, insieme alle informazioni sui ricordi che inizializzate.
<tuo_ip>.ppf Il pianificatore di spille File (.ppf) memorizza le assegnazioni di porte e nodi per i componenti IP creati per l'uso con Pin Planner.
<tuo_ip>_bb.v Usa la blackbox di Verilog (_bb.v) file come una dichiarazione di modulo vuota da utilizzare come blackbox.
<tuo_ip>_inst.v o _inst.vhd HDL esampmodello di istanza le. Copia e incolla il contenuto di questo file nel tuo HDL file per istanziare la variazione IP.
<tuo_ip>.regmap Se l'IP contiene informazioni di registro, il software Intel Quartus Prime genera il file .regmap file. Il .regmap file descrive le informazioni sulla mappa dei registri delle interfacce master e slave. Questo file complementi

il .sopcinfo file fornendo informazioni di registro più dettagliate sul sistema. Questo file abilita la visualizzazione del registro viewse le statistiche personalizzabili dall'utente nella console di sistema.

<tuo_ip>.svd Consente agli strumenti di debug del sistema HPS di view le mappe di registro delle periferiche che si connettono a HPS all'interno di un sistema Platform Designer.

Durante la sintesi, il software Intel Quartus Prime memorizza il file .svd files per l'interfaccia slave visibile ai master della console di sistema nel file .sof file nella sessione di debug. La console di sistema legge questa sezione, che Platform Designer richiede per le informazioni sulla mappa dei registri. Per gli slave di sistema, Platform Designer accede ai registri per nome.

<tuo_ip>.v

<tuo_ip>.vhd

L'HDL è un ormone che si trova in una zona a rischio di estinzione. files che istanziano ogni sottomodulo o core IP figlio per la sintesi o la simulazione.
mentore/ Contiene uno script msim_setup.tcl per configurare ed eseguire una simulazione.
aldec/ Contiene uno script rivierapro_setup.tcl per configurare ed eseguire una simulazione.
/sinossi/vcs

/sinossi/vcsmx

Contiene uno script di shell vcs_setup.sh per configurare ed eseguire una simulazione.

Contiene uno script di shell vcsmx_setup.sh e synopsys_sim.setup file per impostare ed eseguire una simulazione.

/cadenza Contiene uno script di shell ncsim_setup.sh e altre impostazioni files per impostare ed eseguire una simulazione.
/xcelio Contiene uno script della shell del simulatore parallelo xcelium_setup.sh e altre impostazioni files per impostare ed eseguire una simulazione.
/sottomoduli Contiene HDL files per il sottomodulo principale IP.
<sottomodulo IP>/ Platform Designer genera le sottodirectory /synth e /sim per ogni directory del sottomodulo IP generata da Platform Designer.

Descrizione funzionale
Con il core IP Fault Injection, i progettisti possono eseguire internamente la caratterizzazione SEFI, ridimensionare i tassi FIT in base alla caratterizzazione SEFI e ottimizzare i progetti per ridurre l'effetto dei SEU.

Mitigazione dei disturbi per singolo evento

I circuiti integrati e i dispositivi logici programmabili come gli FPGA sono sensibili ai SEU. I SEU sono eventi casuali e non distruttivi, causati da due fonti principali: particelle alfa e neutroni dai raggi cosmici. Le radiazioni possono causare il capovolgimento dello stato del registro logico, del bit di memoria incorporato o di un bit della RAM di configurazione (CRAM), determinando così un funzionamento imprevisto del dispositivo. Intel Arria 10, Intel Cyclone 10 GX, Arria V, Cyclone V, Stratix V e dispositivi più recenti hanno le seguenti capacità CRAM:

  • Rilevamento degli errori Controllo della ridondanza ciclica (EDCRC)
  • Correzione automatica di un CRAM sconvolto (scrubbing)
  • Capacità di creare una condizione CRAM sconvolta (iniezione di guasti)

Per ulteriori informazioni sulla mitigazione SEU nei dispositivi Intel FPGA, fare riferimento al capitolo Mitigazione SEU nel rispettivo manuale del dispositivo.

Descrizione del pin IP di iniezione di errore

Il core IP Fault Injection include i seguenti pin I/O.

Pin I/O del nucleo IP di iniezione di guasti

Nome pin Direzione del perno Descrizione del pin
crerrore_pin ingresso Input da Error Message Register Unloader Intel FPGA IP (EMR Unloader IP). Questo segnale viene asserito quando un errore CRC è stato rilevato dall'EDCRC del dispositivo.
emr_data ingresso Contenuto del registro dei messaggi di errore (EMR). Fare riferimento al manuale del dispositivo appropriato per i campi EMR.

Questo ingresso è conforme al segnale dell'interfaccia dati Avalon Streaming.

emr_valid ingresso Indica che gli input emr_data contengono dati validi. Questo è un segnale di interfaccia valido per Avalon Streaming.
Reset ingresso Ingresso reset modulo. Il reset è completamente controllato dal Fault Injection Debugger.
errore_iniettato produzione Indica che è stato inserito un errore nella CRAM come comandato tramite JTAG interfaccia. La durata di questo segnale dipende dalle impostazioni del JTAG TCK e segnali di blocco di controllo. Tipicamente, il tempo è di circa 20 cicli di clock del segnale TCK.
errore_scrubbed produzione Indica che lo scrubbing del dispositivo è completo come comandato tramite JTAG interfaccia. La durata di questo segnale dipende dalle impostazioni del JTAG TCK e segnali di blocco di controllo. Tipicamente, il tempo è di circa 20 cicli di clock del segnale TCK.
intosc produzione Uscita facoltativa. L'IP di Fault Injection utilizza questo clock, ad esample, per sincronizzare il blocco EMR_unloader.

Diagramma dei pin IP per l'iniezione di guasti

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

Utilizzo di Fault Injection Debugger e Fault Injection IP Core

Il debugger di Fault Injection funziona insieme al core IP di Fault Injection. Innanzitutto, crei un'istanza del core IP nella tua progettazione, compili e scarichi la configurazione risultante file nel tuo dispositivo. Quindi, esegui il debugger dell'iniezione di errori dall'interno del software Intel Quartus Prime o dalla riga di comando per simulare errori software.

  • Il debugger di Fault Injection consente di eseguire esperimenti di fault injection in modo interattivo o mediante comandi batch e consente di specificare le aree logiche nel progetto per le fault injection.
  • L'interfaccia della riga di comando è utile per eseguire il debugger tramite uno script.

Nota

Il debugger di Fault Injection comunica con il core IP di Fault Injection tramite JTAG interfaccia. L'IP di Fault Injection accetta i comandi dal server JTAG interfaccia e riporta lo stato attraverso il JTAG interfaccia. Il core IP di Fault Injection è implementato nella logica soft nel tuo dispositivo; pertanto, è necessario tenere conto di questo utilizzo logico nella progettazione. Una metodologia consiste nel caratterizzare la risposta del tuo progetto a SEU in laboratorio e quindi omettere il core IP dal tuo progetto finale distribuito.

Si utilizza il core IP Fault Injection con i seguenti core IP:

  • Il core IP Error Message Register Unloader, che legge e memorizza i dati dal circuito di rilevamento degli errori rafforzato nei dispositivi Intel FPGA.
  • (Facoltativo) Advanced SEU Detection Intel FPGA IP core, che confronta le posizioni degli errori a bit singolo con una mappa di sensibilità durante il funzionamento del dispositivo per determinare se un errore software influisce su di esso.

Debugger di iniezione di errori terminatoview Diagramma a blocchiintel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-5

Note:

  1. L'IP di Fault Injection inverte i bit della logica mirata.
  2. Il debugger di Fault Injection e l'IP di rilevamento SEU avanzato utilizzano la stessa istanza di EMR Unloader.
  3. Il core IP Advanced SEU Detection è facoltativo.

Informazioni correlate

  • Informazioni su SMH Files a pagina 13
  • Informazioni su EMR Unloader IP Core a pagina 10
  • Informazioni su Advanced SEU Detection IP Core a pagina 11

Istanziare il Fault Injection IP Core

NOTA

Il core IP Fault Injection non richiede l'impostazione di alcun parametro. Per utilizzare il core IP, crea una nuova istanza IP, includila nel tuo sistema Platform Designer (Standard) e collega i segnali come appropriato. È necessario utilizzare il core IP Fault Injection con il core IP Unloader EMR. I core IP Fault Injection e EMR Unloader sono disponibili in Platform Designer e nel catalogo IP. Facoltativamente, puoi istanziarli direttamente nel tuo progetto RTL, utilizzando Verilog HDL, SystemVerilog o VHDL.

Informazioni su EMR Unloader IP Core
Il core IP dell'EMR Unloader fornisce un'interfaccia all'EMR, che viene aggiornato continuamente dall'EDCRC del dispositivo che controlla i bit CRAM del dispositivo CRC per errori soft.

Example Platform Designer System che include Fault Injection IP Core e EMR Unloader IP Coreintel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-6

Example Fault Injection IP Core e EMR Unloader IP Core Diagramma a blocchi

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

Informazioni correlate
Messaggio di errore Register Unloader Guida per l'utente Intel FPGA IP Core

Informazioni su Advanced SEU Detection IP Core

Utilizzare il core IP Advanced SEU Detection (ASD) quando la tolleranza SEU è un problema di progettazione. È necessario utilizzare il core IP EMR Unloader con il core IP ASD. Pertanto, se si utilizzano l'IP ASD e l'IP Fault Injection nello stesso progetto, devono condividere l'output di EMR Unloader tramite un componente splitter Avalon®-ST. La figura seguente mostra un sistema Platform Designer in cui uno splitter Avalon-ST distribuisce i contenuti EMR ai core IP ASD e Fault Injection.

Utilizzo dell'ASD e dell'IP di Fault Injection nello stesso sistema Platform Designerintel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-8

Informazioni correlate
Guida per l'utente di Intel FPGA IP Core per il rilevamento avanzato di SEU

Definizione delle aree di iniezione dei guasti
È possibile definire regioni specifiche dell'FPGA per l'iniezione di guasti utilizzando un'intestazione della mappa di sensibilità (.smh) file. L'SM file memorizza le coordinate dei bit CRAM del dispositivo, la loro regione assegnata (regione ASD) e la criticità. Durante il processo di progettazione si utilizza la gerarchia tagging per creare la regione. Quindi, durante la compilazione, Intel Quartus Prime Assembler genera l'SMH file. Il debugger Fault Injection limita le iniezioni di errori a specifiche regioni del dispositivo definite nell'SMH file.

Gerarchia performante Tagging
Puoi definire le regioni FPGA per il test assegnando una regione ASD alla posizione. È possibile specificare un valore della regione ASD per qualsiasi parte della gerarchia di progettazione utilizzando la finestra delle partizioni di progettazione.

  1. Scegliere Assegnazioni ➤ Finestra Progetta partizioni.
  2. Fare clic con il pulsante destro del mouse in un punto qualsiasi della riga di intestazione e attivare Regione ASD per visualizzare la colonna Regione ASD (se non è già visualizzata).
  3. Immettere un valore compreso tra 0 e 16 per qualsiasi partizione per assegnarla a una regione ASD specifica.
    • La regione ASD 0 è riservata alle parti inutilizzate del dispositivo. Puoi assegnare una partizione a questa regione per specificarla come non critica.
    • La regione ASD 1 è la regione predefinita. Tutte le parti utilizzate del dispositivo vengono assegnate a questa regione, a meno che tu non modifichi esplicitamente l'assegnazione della regione ASD.

Informazioni su SMH Files

L'SMH file contiene le seguenti informazioni:

  • Se non stai usando la gerarchia tagging (ovvero, il progetto non ha assegnazioni esplicite della regione ASD nella gerarchia del progetto), l'SMH file elenca ogni bit CRAM e indica se è sensibile per il design.
  • Se hai eseguito la gerarchia tagging e ha modificato le assegnazioni predefinite della regione ASD, SMH file elenca ogni bit CRAM ed è assegnata alla regione ASD.

Il debugger di Fault Injection può limitare le iniezioni a una o più regioni specificate. Per indicare all'Assembler di generare un SMH file:

  • Scegliere Assegnazioni ➤ Dispositivo ➤ Opzioni dispositivo e pin ➤ Rilevamento errori CRC.
  • Attiva la mappa di sensibilità Generate SEU file (.smh) opzione.

Utilizzo del debugger di iniezione di errori

NOTA
Per utilizzare Fault Injection Debugger, ti connetti al tuo dispositivo tramite JTAG interfaccia. Quindi, configurare il dispositivo ed eseguire l'iniezione di errore. Per avviare Fault Injection Debugger, scegliere Strumenti ➤ Fault Injection Debugger nel software Intel Quartus Prime. La configurazione o programmazione del dispositivo è simile alla procedura utilizzata per il programmatore o Signal Tap Logic Analyzer.

Debugger di iniezione di errori

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

Per configurare il tuo JTAG catena:

  1. Fare clic su Configurazione hardware. Lo strumento visualizza l'hardware di programmazione collegato al computer.
  2. Selezionare l'hardware di programmazione che si desidera utilizzare.
  3. Fare clic su Chiudi.
  4. Fare clic su Rilevamento automatico, che popola la catena di dispositivi con i dispositivi programmabili trovati nel JTAG catena.

Informazioni correlate
Funzionalità mirata di Fault Injection a pagina 21

Requisiti hardware e software

Per utilizzare Fault Injection Debugger è necessario il seguente hardware e software:

  • FEATURE nella licenza Intel FPGA che abilita il core IP Fault Injection. Per ulteriori informazioni, contattare il rappresentante di vendita Intel FPGA locale.
  • Cavo di download (cavo di download Intel FPGA, cavo di download Intel FPGA II, , o II).
  • Kit di sviluppo Intel FPGA o scheda progettata dall'utente con JTAG connessione al dispositivo in prova.
  • (Facoltativo) Riga FEATURE nella licenza Intel FPGA che abilita il core Advanced SEU Detection IP.

Configurazione del tuo dispositivo e del debugger di Fault Injection

Il debugger di Fault Injection utilizza un .sof e (facoltativamente) un'intestazione della mappa di sensibilità (.smh) file. L'oggetto software File (.sof) configura l'FPGA. Il .smh file definisce la sensibilità dei bit CRAM nel dispositivo. Se non fornisci un file .smh file, il Fault Injection Debugger inserisce gli errori in modo casuale in tutti i bit CRAM. Per specificare un .sof:

  1. Selezionare l'FPGA che si desidera configurare nella casella Catena di dispositivi.
  2. Fare clic su Seleziona File.
  3. Passare al file .sof e fare clic su OK. Il debugger di Fault Injection legge il file .sof.
  4. (Facoltativo) Selezionare l'SMH file.
    Se non si specifica un SMH file, il Fault Injection Debugger inietta i guasti in modo casuale nell'intero dispositivo. Se specifichi un SMH file, puoi limitare le iniezioni alle aree utilizzate del tuo dispositivo.
    • Fare clic con il pulsante destro del mouse sul dispositivo nella casella Catena di dispositivi, quindi fare clic su Seleziona SMH File.
    • Seleziona il tuo SMH file.
    • Fare clic su OK.
  5. Attiva Programma/Configura.
  6. Fare clic su Avvia.

Il debugger di Fault Injection configura il dispositivo utilizzando il file .sof.

Menu contestuale per la selezione dell'SMH File

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

Regioni vincolanti per Fault Injection

Dopo aver caricato un SMH file, è possibile fare in modo che il debugger di Fault Injection operi solo su regioni ASD specifiche. Per specificare la regione o le regioni ASD in cui inserire i guasti:

  1. Fare clic con il pulsante destro del mouse sull'FPGA nella casella Catena di dispositivi e fare clic su Mostra mappa di sensibilità del dispositivo.
  2. Selezionare la regione o le regioni ASD per l'inserimento dei guasti.

Mappa di sensibilità del dispositivo Viewer

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

Specifica dei tipi di errore

È possibile specificare vari tipi di errori per l'iniezione.

  • Errori singoli (SE)
  • Errori di doppio adiacente (DAE)
  • Errori multi-bit non correggibili (EMBE)

I dispositivi Intel FPGA possono correggere automaticamente gli errori adiacenti singoli e doppi se la funzione di pulizia è abilitata. I dispositivi Intel FPGA non possono correggere errori multi-bit. Fare riferimento al capitolo sull'attenuazione dei SEU per ulteriori informazioni sul debug di questi errori. È possibile specificare la combinazione di guasti da iniettare e l'intervallo di tempo di iniezione. Per specificare l'intervallo di tempo di iniezione:

  1. In Fault Injection Debugger, scegliere Strumenti ➤ Opzioni.
  2. Trascina il controller rosso sul mix di errori. In alternativa, puoi specificare il mix numericamente.
  3. Specificare il tempo dell'intervallo di iniezione.
  4. Fare clic su OK.

Figura 12. Specifica della combinazione di tipi di errore SEUintel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-12

Informazioni correlate Attenuare il turbamento di un singolo evento

Errori di iniezione

Puoi iniettare errori in diverse modalità:

  • Iniettare un errore a comando
  • Inietta più errori a comando
  • Iniettare errori fino a quando non viene comandato di fermarsi

Per iniettare questi difetti:

  1. Attivare l'opzione Inject Fault.
  2. Scegli se eseguire l'iniezione di errore per un numero di iterazioni o fino all'arresto:
    • Se si sceglie di eseguire fino all'arresto, il debugger di Fault Injection inserisce gli errori all'intervallo specificato nella finestra di dialogo Strumenti ➤ Opzioni.
    • Se desideri eseguire l'iniezione di errore per un numero specifico di iterazioni, inserisci il numero.
  3. Fare clic su Avvia.

Nota: Il debugger di Fault Injection viene eseguito per il numero specificato di iterazioni o finché non viene arrestato. La finestra Messaggi di Intel Quartus Prime mostra i messaggi sugli errori che vengono iniettati. Per ulteriori informazioni sui guasti iniettati, fare clic su Leggi EMR. Il debugger Fault Injection legge l'EMR del dispositivo e ne visualizza il contenuto nella finestra Messaggi.

Intel Quartus Prime Error Injection e messaggi di contenuto EMR

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

Errori di registrazione
È possibile registrare la posizione di qualsiasi guasto iniettato annotando i parametri riportati nella finestra Messaggi di Intel Quartus Prime. Se, ad esample, un errore iniettato risulta in un comportamento che vorresti riprodurre, puoi indirizzare quella posizione per l'iniezione. Esegui l'iniezione mirata utilizzando l'interfaccia della riga di comando del debugger di inserimento errori.

Cancellazione degli errori inseriti
Per ripristinare il normale funzionamento dell'FPGA, fare clic su Scrub. Quando si pulisce un errore, le funzioni EDCRC del dispositivo vengono utilizzate per correggere gli errori. Il meccanismo di pulizia è simile a quello utilizzato durante il funzionamento del dispositivo.

Interfaccia della riga di comando
È possibile eseguire il debugger di Fault Injection dalla riga di comando con l'eseguibile quartus_fid, utile se si desidera eseguire Fault Injection da uno script.

Tabella 5. Argomenti della riga di comando per Fault Injection

Argomento breve Lunga discussione Descrizione
c cavo Specificare l'hardware o il cavo di programmazione. (Necessario)
i indice Specificare il dispositivo attivo per iniettare l'errore. (Necessario)
n numero Specificare il numero di errori da inserire. Il valore predefinito è

1. (Facoltativo)

t tempo Tempo di intervallo tra le iniezioni. (Opzionale)

Nota: Usa quartus_fid –help per view tutte le opzioni disponibili. Il seguente codice fornisce examputilizzando l'interfaccia della riga di comando del debugger di Fault Injection.
#############################################

  • # Scopri quali cavi USB sono disponibili per questa istanza
  • # Il risultato mostra che è disponibile un cavo, denominato “USB-Blaster” #
  • $ quartus_fid –lista . . .
  • Info: Comando: quartus_fid –list
    1. USB-Blaster su sj-sng-z4 [USB-0] Info: Intel Quartus Prime 64-Bit Fault Injection Debugger ha avuto successo. 0 errori, 0 avvisi
  • ############################################## #
  • # Trova quali dispositivi sono disponibili sul cavo USB-Blaster
  • # Il risultato mostra due dispositivi: uno Stratix V A7 e un MAX V CPLD. #
  • $ quartus_fid –cavo USB-Blaster -a
  • Info: Comando: quartus_fid –cable=USB-Blaster -a
  • Info (208809): Utilizzo del cavo di programmazione "USB-Blaster su sj-sng-z4 [USB-0]"
    1. Blaster USB su sj-sng-z4 [USB-0]
  • 029030DD 5SGXEA7H(1|2|3)/5SGXEA7K1/..
  • 020A40DD 5M2210Z/EPM2210
  • Informazioni: il debugger di iniezione di guasti Intel Quartus Prime a 64 bit ha avuto successo.
  • 0 errori, 0 avvisi
  • ############################################## #
  • # Programmare il dispositivo Stratix V
  • # L'opzione –index specifica le operazioni eseguite su un dispositivo connesso.
  • # "=svgx.sof" associa un file .sof file con il dispositivo
  • # “#p” significa programmare il dispositivo #
  • $ quartus_fid –cable USB-Blaster –index “@1=svgx.sof#p” . . .
  • Info (209016): Configurazione indice dispositivo 1
  • Info (209017): il dispositivo 1 contiene JTAG Codice identificativo 0x029030DD
  • Info (209007): Configurazione riuscita — 1 dispositivo/i configurato/i
  • Info (209011): Operazioni eseguite con successo
  • Info (208551): firma del programma nel dispositivo 1.
  • Informazioni: il debugger di iniezione di guasti Intel Quartus Prime a 64 bit ha avuto successo.
  • 0 errori, 0 avvisi
  • ############################################## #
  • # Iniettare un guasto nel dispositivo.
  • # L'operatore #i indica di inserire errori
  • # -n 3 indica di iniettare 3 errori #
  • $ quartus_fid –cable USB-Blaster –index “@1=svgx.sof#i” -n 3
  • Info: Comando: quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 3
  • Info (208809): Utilizzo del cavo di programmazione "USB-Blaster su sj-sng-z4 [USB-0]"
  • Info (208521): inserisce 3 errori nei dispositivi
  • Informazioni: il debugger di iniezione di guasti Intel Quartus Prime a 64 bit ha avuto successo.
  • 0 errori, 0 avvisi
  • ############################################## #
  • # Modalità interattiva.
  • # L'utilizzo dell'operazione #i con -n 0 mette il debugger in modalità interattiva.
  • # Si noti che nella sessione precedente sono stati iniettati 3 errori;
  • # "E" legge i guasti attualmente nel core IP di EMR Unloader. #
  • $ quartus_fid –cable USB-Blaster –index “@1=svgx.sof#i” -n 0
  • Info: Comando: quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 0
  • Info (208809): Utilizzo del cavo di programmazione "USB-Blaster su sj-sng-z4 [USB-0]"
  • Accedere :
  • 'F' per iniettare colpa
  • 'E' per leggere EMR
  • 'S' per eliminare gli errori
  • 'Q' per uscire E
  • Info (208540): lettura dell'array EMR
  • Info (208544): 3 errori frame rilevati nel dispositivo 1.
  • Info (208545): Errore n. 1: singolo errore nel frame 0x1028 al bit 0x21EA.
  • Info (10914): Errore n. 2: errore multi-bit non correggibile nel frame 0x1116.
  • Info (208545): Errore n. 3: singolo errore nel frame 0x1848 al bit 0x128C.
  • 'F' per iniettare colpa
  • 'E' per leggere EMR
  • 'S' per eliminare gli errori
  • 'Q' per uscire da Q
  • Informazioni: Il debugger Intel Quartus Prime 64-Bit Fault Injection ha avuto successo. 0 errori, 0 avvisi
  • Informazioni: Memoria virtuale di picco: 1522 megabyte
  • Informazioni: Elaborazione terminata: Lun 3 Nov 18:50:00 2014
  • Informazioni: Tempo trascorso: 00:00:29
  • Informazioni: Tempo CPU totale (su tutti i processori): 00:00:13

Funzionalità di iniezione di guasti mirata

Nota

Il Fault Injection Debugger inietta i guasti nell'FPGA in modo casuale. Tuttavia, la funzione Targeted Fault Injection consente di iniettare errori in posizioni mirate nella CRAM. Questa operazione può essere utile, ad esample, se si è notato un evento SEU e si desidera testare l'FPGA o la risposta del sistema allo stesso evento dopo aver modificato una strategia di ripristino. La funzione Targeted Fault Injection è disponibile solo dall'interfaccia della riga di comando. È possibile specificare che gli errori vengano inseriti dalla riga di comando o in modalità prompt. Informazioni correlate

AN539: Metodologia di test o rilevamento e ripristino degli errori utilizzando CRC nei dispositivi Intel FPGA

Specifica di un elenco di errori dalla riga di comando

La funzione Targeted Fault Injection consente di specificare un elenco di errori dalla riga di comando, come mostrato nel seguente esempioample: c:\Users\sng> quartus_fid -c 1 – i “@1= svgx.sof#i ” -n 2 -user=”@1= 0x2274 0x05EF 0x2264 0x0500″ Dove: c 1 indica che l'FPGA è controllato dal primo cavo del computer. i “@1= six.sof#i ” indica che il primo dispositivo della catena è caricato con l'oggetto file svgx.sof e verranno iniettati con errori. n 2 indica che verranno iniettati due difetti. user="@1= 0x2274 0x05EF 0x2264 0x0500" è un elenco di errori specificato dall'utente da inserire. In questo esample, il dispositivo 1 presenta due guasti: al frame 0x2274, bit 0x05EF e al frame 0x2264, bit 0x0500.

Specifica di un elenco di errori dalla modalità prompt

È possibile utilizzare la funzione Targeted Fault Injection in modo interattivo specificando che il numero di errori deve essere 0 (-n 0). Il debugger di Fault Injection presenta i comandi in modalità prompt e le relative descrizioni.

Comando modalità prompt Descrizione
F Iniettare un guasto
E Leggi l'EMR
S Errori di pulizia
Q Esentato

In modalità prompt, è possibile emettere solo il comando F per inserire un singolo errore in una posizione casuale nel dispositivo. Nel seguente esample utilizzando il comando F in modalità prompt, vengono iniettati tre errori. F#3 0x12 0x34 0x56 0x78 * 0x9A 0xBC +

  • Errore 1 – Errore a bit singolo nel frame 0x12, bit 0x34
  • Errore 2 – Errore non correggibile al frame 0x56, bit 0x78 (un * indica un errore multi-bit)
  • Error 3 – Double-adiacent error al frame 0x9A, bit 0xBC (un + indica un errore a doppio bit)

F 0x12 0x34 0x56 0x78 * Viene iniettato un errore (predefinito): Error 1 – Single bit error al frame 0x12, bit 0x34. Le posizioni dopo la prima posizione frame/bit vengono ignorate. F#3 0x12 0x34 0x56 0x78 * 0x9A 0xBC + 0xDE 0x00

Vengono inseriti tre errori:

  • Errore 1 – Errore a bit singolo nel frame 0x12, bit 0x34
  • Errore 2 – Errore non correggibile al frame 0x56, bit 0x78
  • Errore 3 – Errore di doppio adiacente al frame 0x9A, bit 0xBC
  • Le posizioni dopo le prime 3 coppie frame/bit vengono ignorate

Determinazione delle posizioni dei bit CRAM

Nota: 

Quando Fault Injection Debugger rileva un errore CRAM EDCRC, l'EMR (Error Message Register) contiene la sindrome, il numero di frame, la posizione del bit e il tipo di errore (singolo, doppio o multi-bit) dell'errore CRAM rilevato. Durante il test del sistema, salva i contenuti EMR segnalati dal debugger Fault Injection quando rilevi un errore EDCRC. Con i contenuti EMR registrati, è possibile fornire i numeri di frame e di bit al debugger di inserimento guasti per riprodurre gli errori rilevati durante il test del sistema, per progettare ulteriormente e caratterizzare una risposta di ripristino del sistema a tale errore.

Informazioni correlate
AN 539: Metodologia di test o rilevamento e ripristino degli errori utilizzando CRC nei dispositivi Intel FPGA

Opzioni avanzate della riga di comando: regioni ASD e ponderazione del tipo di errore

È possibile utilizzare l'interfaccia della riga di comando di Fault Injection Debugger per inserire errori nelle regioni ASD e ponderare i tipi di errore. Innanzitutto, specifichi il mix di tipi di errore (singolo bit, doppio adiacente e multi-bit non correggibile) utilizzando –weight . . opzione. Per esample, per una combinazione del 50% di errori singoli, del 30% di errori doppi adiacenti e del 20% di errori multi-bit non correggibili, utilizzare l'opzione –weight=50.30.20. Quindi, per scegliere come target un'area ASD, utilizza l'opzione -smh per includere SMH file e indicare la regione ASD di destinazione. Per esample: $ quartus_fid –cable=USB-BlasterII –index “@1=svgx.sof#pi” –weight=100.0.0 –smh="@1=svgx.smh#2″ –number=30

Questo exampcomando:

  • Programma il dispositivo e inietta guasti (stringa pi)
  • Inietta errori a bit singolo al 100% (100.0.0)
  • Inietta solo in ASD_REGION 2 (indicato dal #2)
  • Inietta 30 guasti

Archivi della guida per l'utente di Fault Injection IP Core

Versione IP Core Guida per l'utente
18.0 Fault Injection Intel FPGA IP Core Guida per l'utente
17.1 Guida per l'utente Intel FPGA Fault Injection IP Core
16.1 Guida per l'utente di Altera Fault Injection IP Core
15.1 Guida per l'utente di Altera Fault Injection IP Core

Se una versione IP core non è elencata, si applica la guida per l'utente per la versione IP core precedente.

Cronologia delle revisioni del documento per la guida dell'utente IP Core di Fault Injection

Versione del documento Versione Intel Quartus Prime Cambiamenti
2019.07.09 18.1 Aggiornato il Descrizione del pin IP di iniezione di errore argomento per chiarire i segnali Reset, error_injected e error_scrubbed.
2018.05.16 18.0 • Aggiunti i seguenti argomenti dal manuale Intel Quartus Prime Pro Edition:

—   Definizione delle aree di iniezione dei guasti e sottoargomenti.

—   Utilizzo del debugger di iniezione di errori e sottoargomenti.

—   Interfaccia della riga di comando e sottoargomenti.

• Il core Intel FPGA Fault Injection IP è stato rinominato in Fault Injection Intel FPGA IP.

Data Versione Cambiamenti
2017.11.06 17.1 • Rinominato Intel.

• Aggiunto il supporto del dispositivo Intel Cyclone 10 GX.

2016.10.31 16.1 Supporto dispositivo aggiornato.
2015.12.15 15.1 • Modificato il software Quartus II in Quartus Prime.

• Risolto il link correlato autoreferenziale.

2015.05.04 15.0 Versione iniziale.

 

Documenti / Risorse

Intel UG-01173 Core IP FPGA con iniezione di errori [pdf] Guida utente
UG-01173 Core IP FPGA con iniezione di guasti, UG-01173, Core IP FPGA con iniezione di guasti, Iniezione c, Core IP FPGA con iniezione

Riferimenti

Lascia un commento

Il tuo indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *