Intel UG-01173 Fault Injection FPGA IP Core
Fault Injection Intel® FPGA IP Core Ghidul utilizatorului
Miezul IP Fault Injection Intel® FPGA injectează erori în memoria RAM de configurare (CRAM) a unui dispozitiv FPGA. Această procedură simulează erorile soft care pot apărea în timpul funcționării normale din cauza tulburărilor de eveniment unic (SEU). SEU sunt evenimente rare și, prin urmare, sunt dificil de testat. După ce instanțiați nucleul IP Fault Injection în design și configurați dispozitivul, puteți utiliza instrumentul Intel Quartus® Prime Fault Injection Debugger pentru a induce erori intenționate în FPGA pentru a testa răspunsul sistemului la aceste erori.
Informații conexe
- Supărări cu un singur eveniment
- AN 737: Detectarea și recuperarea SEU în dispozitivele Intel Arria 10
Caracteristici
- Vă permite să evaluați răspunsul sistemului pentru atenuarea întreruperilor funcționale cu un singur eveniment (SEFI).
- Vă permite să efectuați caracterizarea SEFI în interior, eliminând nevoia de testare a fasciculului întregului sistem. În schimb, puteți limita testarea fasciculului la măsurarea defecțiunilor în timp (FIT)/Mb la nivelul dispozitivului.
- Scalați ratele FIT în funcție de caracterizarea SEFI care este relevantă pentru arhitectura dvs. de proiectare. Puteți distribui aleatoriu injecțiile cu erori pe întregul dispozitiv sau le puteți limita la anumite zone funcționale pentru a accelera testarea.
- Optimizați-vă designul pentru a reduce întreruperile cauzate de un singur eveniment deranjat (SEU).
Suport dispozitiv
Nucleul IP Fault Injection acceptă dispozitivele din familia Intel Arria® 10, Intel Cyclone® 10 GX și Stratix® V. Familia Cyclone V acceptă Fault Injection pe dispozitivele cu sufixul -SC în codul de comandă. Contactați reprezentantul local de vânzări pentru informații despre comandă pentru dispozitivele Cyclone V cu sufix -SC.
Utilizarea resurselor și performanța
Software-ul Intel Quartus Prime generează următoarea estimare a resurselor pentru Stratix V A7 FPGA. Rezultatele pentru alte dispozitive sunt similare.
Intel Corporation. Toate drepturile rezervate. Intel, sigla Intel și alte mărci Intel sunt mărci comerciale ale Intel Corporation sau ale subsidiarelor sale. Intel garantează performanța produselor sale FPGA și semiconductoare conform specificațiilor actuale, în conformitate cu garanția standard Intel, dar își rezervă dreptul de a face modificări oricăror produse și servicii în orice moment, fără notificare. Intel nu își asumă nicio responsabilitate sau răspundere care decurge din aplicarea sau utilizarea oricăror informații, produse sau servicii descrise aici, cu excepția cazului în care Intel a convenit în mod expres în scris. Clienții Intel sunt sfătuiți să obțină cea mai recentă versiune a specificațiilor dispozitivului înainte de a se baza pe orice informații publicate și înainte de a plasa comenzi pentru produse sau servicii. *Alte nume și mărci pot fi revendicate ca fiind proprietatea altora.
Fault Injection IP Core FPGA Performanță și utilizare a resurselor
Dispozitiv | ALM-uri | Registre logice | M20K | |
Primar | Secundar | |||
Stratix V A7 | 3,821 | 5,179 | 0 | 0 |
Instalarea software-ului Intel Quartus Prime include biblioteca Intel FPGA IP. Această bibliotecă oferă multe nuclee IP utile pentru utilizarea în producție fără a fi nevoie de o licență suplimentară. Unele nuclee Intel FPGA IP necesită achiziționarea unei licențe separate pentru utilizare în producție. Modul de evaluare IP Intel FPGA vă permite să evaluați aceste nuclee Intel FPGA IP licențiate în simulare și hardware, înainte de a decide să achiziționați o licență de bază IP de producție completă. Trebuie doar să achiziționați o licență de producție completă pentru nuclee Intel IP licențiate după ce finalizați testarea hardware și sunteți gata să utilizați IP-ul în producție. Software-ul Intel Quartus Prime instalează în mod implicit nuclee IP în următoarele locații:
Calea de instalare IP Core
Locații de instalare IP Core
Locaţie | Software | Platformă |
:\intelFPGA_pro\quartus\ip\altera | Intel Quartus Prime Pro Edition | Windows * |
:\intelFPGA\quartus\ip\altera | Intel Quartus Prime Standard Edition | Windows |
:/intelFPGA_pro/quartus/ip/altera | Intel Quartus Prime Pro Edition | Linux * |
:/intelFPGA/quartus/ip/altera | Intel Quartus Prime Standard Edition | Linux |
Nota: Software-ul Intel Quartus Prime nu acceptă spații în calea de instalare.
Personalizarea și generarea de nuclee IP
Puteți personaliza nucleele IP pentru a accepta o mare varietate de aplicații. Catalogul IP Intel Quartus Prime și editorul de parametri vă permit să selectați și să configurați rapid porturile de bază IP, caracteristicile și ieșirea files.
Catalog IP și Editor de parametri
Catalogul IP afișează nucleele IP disponibile pentru proiectul dvs., inclusiv IP Intel FPGA și alte IP pe care le adăugați la calea de căutare a Catalogului IP. Utilizați următoarele caracteristici ale Catalogului IP pentru a localiza și personaliza un nucleu IP:
- Filtrați catalogul IP pentru a afișa IP pentru familia de dispozitive active sau pentru a afișa IP pentru toate familiile de dispozitive. Dacă nu aveți niciun proiect deschis, selectați Familia de dispozitive din Catalogul IP.
- Introduceți câmpul Căutare pentru a găsi orice nume de bază IP complet sau parțial în Catalogul IP.
- Faceți clic dreapta pe un nume de nucleu IP în Catalog IP pentru a afișa detalii despre dispozitivele acceptate, pentru a deschide folderul de instalare al nucleului IP și pentru link-uri către documentația IP.
- Clic Caută Partner IP to access partner IP information on the web.
Editorul de parametri vă solicită să specificați un nume de variație IP, porturi opționale și ieșire file opțiuni de generare. Editorul de parametri generează un IP Intel Quartus Prime de nivel superior file (.ip) pentru o variație IP în proiectele Intel Quartus Prime Pro Edition. Editorul de parametri generează un IP Quartus de nivel superior file (.qip) pentru o variație IP în proiectele Intel Quartus Prime Standard Edition. Aceste files reprezintă variația IP în proiect și stochează informații de parametrizare.
Editor de parametri IP (Intel Quartus Prime Standard Edition)
Ieșire IP Core Generation (Intel Quartus Prime Pro Edition)
Software-ul Intel Quartus Prime generează următoarea ieșire file structura pentru nuclee IP individuale care nu fac parte dintr-un sistem Platform Designer.
Ieșire individuală IP Core Generation (Intel Quartus Prime Pro Edition)
- Dacă este acceptat și activat pentru variația de bază IP.
Ieșire FileIntel FPGA IP Generation
File Nume | Descriere |
<IP-ul tău>.ip | Variație IP de nivel superior file care conține parametrizarea unui nucleu IP în proiectul dvs. Dacă variația IP face parte dintr-un sistem Platform Designer, editorul de parametri generează și un .qsys file. |
<IP-ul tău>.cmp | Declarația componentei VHDL (.cmp) file este un text file care conține definiții locale generice și porturi pe care le utilizați în proiectarea VHDL files. |
<IP-ul tău>_generation.rpt | Jurnal de generare IP sau Platform Designer file. Afișează un rezumat al mesajelor în timpul generării IP. |
a continuat… |
File Nume | Descriere |
<IP-ul tău>.qgsimc (numai sistemele Platform Designer) | Cache de simulare file care compară .qsys și .ip files cu parametrizarea curentă a sistemului Platform Designer și a nucleului IP. Această comparație determină dacă Platform Designer poate sări peste regenerarea HDL. |
<IP-ul tău>.qgsynth (numai sistemele Platform Designer) | Memorarea în cache a sintezei file care compară .qsys și .ip files cu parametrizarea curentă a sistemului Platform Designer și a nucleului IP. Această comparație determină dacă Platform Designer poate sări peste regenerarea HDL. |
<IP-ul tău>.qip | Conține toate informațiile pentru integrarea și compilarea componentei IP. |
<IP-ul tău>.csv | Conține informații despre starea de actualizare a componentei IP. |
.bsf | O reprezentare simbol a variației IP pentru utilizare în diagrama bloc Files (.bdf). |
<IP-ul tău>.spd | Intrare file care ip-make-simscript necesită pentru a genera scripturi de simulare. .spd file conţine o listă de files generați pentru simulare, împreună cu informații despre amintirile pe care le inițializați. |
<IP-ul tău>.ppf | Planificatorul Pin File (.ppf) stochează asignările de porturi și noduri pentru componentele IP pe care le creați pentru a fi utilizate cu Planificatorul de pin. |
<IP-ul tău>_bb.v | Utilizați caseta neagră Verilog (_bb.v) file ca o declarație de modul gol pentru utilizare ca cutie neagră. |
<IP-ul tău>_inst.v sau _inst.vhd | HDL exampșablon de instanțiere. Copiați și lipiți conținutul acestuia file în HDL-ul tău file pentru a instanția variația IP. |
<IP-ul tău>.regmap | Dacă IP-ul conține informații de înregistrare, software-ul Intel Quartus Prime generează .regmap file. Harta .regma file descrie informațiile hărții de registru ale interfețelor master și slave. Acest file completează
.sopcinfo file prin furnizarea de informații de registru mai detaliate despre sistem. Acest file permite afișarea registrului views și statistici personalizabile de utilizator în System Console. |
<IP-ul tău>.svd | Permite instrumentelor HPS System Debug să view hărțile de registru ale perifericelor care se conectează la HPS în cadrul unui sistem Platform Designer.
În timpul sintezei, software-ul Intel Quartus Prime stochează fișierul .svd files pentru interfața slave vizibilă pentru maeștrii consolei de sistem în .sof file în sesiunea de depanare. Consola de sistem citește această secțiune, pe care Platform Designer o solicită informații despre harta de înregistrare. Pentru slave de sistem, Platform Designer accesează registrele după nume. |
<IP-ul tău>.v
<IP-ul tău>.vhd |
HDL files care instanțiază fiecare submodul sau nucleu IP copil pentru sinteza sau simulare. |
mentor/ | Conține un script msim_setup.tcl pentru a configura și rula o simulare. |
aldec/ | Conține un script rivierapro_setup.tcl pentru a configura și rula o simulare. |
/synopsys/vcs
/synopsys/vcsmx |
Conține un script shell vcs_setup.sh pentru a configura și rula o simulare.
Conține un script shell vcsmx_setup.sh și synopsys_sim.setup file pentru a configura și rula o simulare. |
/cadenţă | Conține un script shell ncsim_setup.sh și alte setări files pentru a configura și rula o simulare. |
/xcelium | Conține un script shell al simulatorului paralel xcelium_setup.sh și alte setări files pentru a configura și rula o simulare. |
/submodule | Conține HDL files pentru submodulul de bază IP. |
<submodul IP>/ | Platform Designer generează subdirectoare /synth și /sim pentru fiecare director submodul IP pe care Platform Designer îl generează. |
Descrierea funcțională
Cu nucleul IP Fault Injection, proiectanții pot efectua caracterizarea SEFI în interior, pot scala ratele FIT în funcție de caracterizarea SEFI și pot optimiza proiectele pentru a reduce efectul SEU.
Atenuarea supărării unui singur eveniment
Circuitele integrate și dispozitivele logice programabile, cum ar fi FPGA, sunt susceptibile la SEU. SEU-urile sunt evenimente aleatorii, nedistructive, cauzate de două surse majore: particulele alfa și neutronii din razele cosmice. Radiația poate cauza fie registrul logic, bitul de memorie încorporat, fie un bit RAM de configurare (CRAM) să-și inverseze starea, ducând astfel la funcționarea neașteptată a dispozitivului. Intel Arria 10, Intel Cyclone 10 GX, Arria V, Cyclone V, Stratix V și dispozitivele mai noi au următoarele capabilități CRAM:
- Verificarea redundanței ciclice de detectare a erorilor (EDCRC)
- Corecția automată a unui CRAM deranjat (scrubbing)
- Abilitatea de a crea o condiție CRAM deranjată (injecție de defecțiune)
Pentru mai multe informații despre reducerea SEU în dispozitivele Intel FPGA, consultați capitolul SEU Mitigation din manualul dispozitivului respectiv.
Descrierea pinului IP de injectare a erorilor
Miezul IP Fault Injection include următorii pini I/O.
Pini I/O de nucleu IP de injectare de eroare
Nume PIN | Direcția pinului | Pin Descriere |
crcerror_pin | intrare | Intrare din mesajul de eroare Register Unloader Intel FPGA IP (EMR Unloader IP). Acest semnal este afirmat atunci când o eroare CRC a fost detectată de EDCRC al dispozitivului. |
emr_data | intrare | Conținutul Registrului mesajelor de eroare (EMR). Consultați manualul adecvat al dispozitivului pentru câmpurile EMR.
Această intrare este în conformitate cu semnalul de interfață de date Avalon Streaming. |
emr_valid | intrare | Indică că intrările emr_data conțin date valide. Acesta este un semnal de interfață valid Avalon Streaming. |
Resetați | intrare | Intrare de resetare a modulului. Resetarea este controlată pe deplin de depanatorul de erori cu injecție. |
error_injected | ieșire | Indică o eroare injectată în CRAM așa cum a fost comandat prin JTAG interfata. Durata de timp pe care acest semnal afirmă depinde de setările dvs. ale JTAG TCK și semnale de bloc de control. De obicei, timpul este de aproximativ 20 de cicluri de ceas ale semnalului TCK. |
error_scrubbed | ieșire | Indică că curățarea dispozitivului este completă așa cum este comandat prin JTAG interfata. Durata de timp pe care acest semnal afirmă depinde de setările dvs. ale JTAG TCK și semnale de bloc de control. De obicei, timpul este de aproximativ 20 de cicluri de ceas ale semnalului TCK. |
intosc | ieșire | Ieșire opțională. IP-ul Fault Injection folosește acest ceas, de example, pentru a sincroniza blocul EMR_unloader. |
Diagrama PIN-ului IP de injectare defect
Folosind Fault Injection Debugger și Fault Injection IP Core
Fault Injection Debugger funcționează împreună cu nucleul Fault Injection IP. Mai întâi, instanțiați nucleul IP în design, compilați și descărcați configurația rezultată file în dispozitivul dvs. Apoi, rulați Fault Injection Debugger din software-ul Intel Quartus Prime sau din linia de comandă pentru a simula erorile soft.
- Fault Injection Debugger vă permite să operați experimente de injectare a erorilor în mod interactiv sau prin comenzi în lot și vă permite să specificați zonele logice din proiectarea dumneavoastră pentru injecțiile cu erori.
- Interfața de linie de comandă este utilă pentru rularea depanatorului printr-un script.
Nota
Fault Injection Debugger comunică cu nucleul IP Fault Injection prin intermediul JTAG interfata. IP-ul Fault Injection acceptă comenzi de la JTAG interfață și raportează starea înapoi prin intermediul JTAG interfata. Nucleul IP Fault Injection este implementat într-o logică soft în dispozitivul dvs.; prin urmare, trebuie să luați în considerare această utilizare a logică în proiectarea dvs. O metodologie este să caracterizați răspunsul designului dumneavoastră la SEU în laborator și apoi să omiteți nucleul IP din designul final implementat.
Utilizați nucleul IP Fault Injection cu următoarele nuclee IP:
- Nucleul IP de descărcare a mesajelor de eroare, care citește și stochează date din circuitele de detectare a erorilor consolidate din dispozitivele Intel FPGA.
- (Opțional) Miezul IP Intel FPGA Advanced SEU Detection, care compară locațiile erorilor pe un singur bit cu o hartă de sensibilitate în timpul funcționării dispozitivului pentru a determina dacă o eroare soft o afectează.
Depanator de injecție de eroare s-a terminatview Diagramă bloc
Note:
-
IP-ul Fault Injection inversează biții logicii vizate.
-
Fault Injection Debugger și Advanced SEU Detection IP folosesc aceeași instanță EMR Unloader.
-
Nucleul IP Advanced SEU Detection este opțional.
Informații conexe
- Despre SMH Files de la pagina 13
- Despre EMR Unloader IP Core la pagina 10
- Despre Advanced SEU Detection IP Core la pagina 11
Instanțierea nucleului IP Fault Injection
NOTA
Nucleul IP Fault Injection nu necesită setarea niciunui parametru. Pentru a utiliza miezul IP, creați o nouă instanță IP, includeți-o în sistemul dvs. Platform Designer (Standard) și conectați semnalele după caz. Trebuie să utilizați nucleul IP Fault Injection cu nucleul IP EMR Unloader. Miezurile IP Fault Injection și EMR Unloader sunt disponibile în Platform Designer și IP Catalog. Opțional, le puteți instanția direct în designul dvs. RTL, folosind Verilog HDL, SystemVerilog sau VHDL.
Despre EMR Unloader IP Core
Nucleul IP EMR Unloader oferă o interfață pentru EMR, care este actualizată continuu de EDCRC al dispozitivului care verifică biții CRAM ai dispozitivului pentru erori soft.
Example Platform Designer System, inclusiv Fault Injection IP Core și EMR Unloader IP Core
Example Fault Injection IP Core și EMR Unloader IP Core Block Diagram
Informații conexe
Mesaj de eroare Register Unloader Ghidul utilizatorului Intel FPGA IP Core
Despre Advanced SEU Detection IP Core
Utilizați nucleul IP Advanced SEU Detection (ASD) atunci când toleranța SEU este o problemă de design. Trebuie să utilizați nucleul IP EMR Unloader cu nucleul IP ASD. Prin urmare, dacă utilizați ASD IP și Fault Injection IP în același design, acestea trebuie să partajeze ieșirea EMR Unloader printr-o componentă splitter Avalon®-ST. Figura următoare arată un sistem Platform Designer în care un splitter Avalon-ST distribuie conținutul EMR către nucleele ASD și Fault Injection IP.
Utilizarea ASD și IP-ul de injectare a erorilor în același sistem Platform Designer
Informații conexe
Ghid de utilizare Advanced SEU Detection Intel FPGA IP Core
Definirea zonelor de injectare a erorilor
Puteți defini regiuni specifice ale FPGA pentru injectarea erorilor folosind un antet de hartă de sensibilitate (.smh) file. SMH file stochează coordonatele biților CRAM al dispozitivului, regiunea lor atribuită (regiune ASD) și criticitatea. În timpul procesului de proiectare utilizați ierarhia tagging pentru a crea regiunea. Apoi, în timpul compilării, Intel Quartus Prime Assembler generează SMH file. Fault Injection Debugger limitează injecțiile de eroare la anumite regiuni ale dispozitivului pe care le definiți în SMH file.
Realizarea Ierarhiei Tagging
Definiți regiunile FPGA pentru testare prin atribuirea unei regiuni ASD locației. Puteți specifica o valoare pentru Regiunea ASD pentru orice parte a ierarhiei de proiectare utilizând fereastra Partiții de proiectare.
- Alegeți Atribuții ➤ Fereastra Partiții de proiectare.
- Faceți clic dreapta oriunde în rândul antetului și activați Regiunea ASD pentru a afișa coloana Regiunea ASD (dacă nu este deja afișată).
- Introduceți o valoare de la 0 la 16 pentru orice partiție pentru a o atribui unei anumite regiuni ASD.
- Regiunea 0 ASD este rezervată porțiunilor neutilizate ale dispozitivului. Puteți aloca o partiție acestei regiuni pentru a o specifica ca necritică.
- Regiunea 1 ASD este regiunea implicită. Toate porțiunile utilizate ale dispozitivului sunt alocate acestei regiuni, cu excepția cazului în care modificați în mod explicit atribuirea Regiunii ASD.
Despre SMH Files
SMH file conține următoarele informații:
- Dacă nu utilizați ierarhia tagging (adică, designul nu are atribuiri explicite de regiune ASD în ierarhia de proiectare), SMH file listează fiecare bit CRAM și indică dacă este sensibil pentru design.
- Dacă ai efectuat ierarhia tagging și a modificat alocările implicite ale regiunii ASD, SMH file listează fiecare bit CRAM și îi este atribuită regiunea ASD.
Fault Injection Debugger poate limita injecțiile la una sau mai multe regiuni specificate. Pentru a direcționa Asamblatorul să genereze un SMH file:
- Alegeți Atribuții ➤ Dispozitiv ➤ Opțiuni dispozitiv și PIN ➤ CRC Detectare erori.
- Activați harta de sensibilitate Generare SEU file (.smh) opțiune.
Utilizarea depanatorului de injecție de erori
NOTA
Pentru a utiliza Fault Injection Debugger, vă conectați la dispozitiv prin intermediul JTAG interfata. Apoi, configurați dispozitivul și efectuați injecția de eroare. Pentru a lansa Fault Injection Debugger, alegeți Instrumente ➤ Fault Injection Debugger în software-ul Intel Quartus Prime. Configurarea sau programarea dispozitivului este similară cu procedura utilizată pentru Programator sau Analizor logic Signal Tap.
Depanator cu injecție de eroare
Pentru a configura JTAG lanţ:
- Faceți clic pe Configurare hardware. Instrumentul afișează hardware-ul de programare conectat la computer.
- Selectați hardware-ul de programare pe care doriți să îl utilizați.
- Faceți clic pe Închidere.
- Faceți clic pe Auto Detect, care populează lanțul de dispozitive cu dispozitivele programabile găsite în JTAG lanţ.
Informații conexe
Funcția de injecție cu defecțiuni țintite la pagina 21
Cerințe hardware și software
Următoarele componente hardware și software sunt necesare pentru a utiliza Fault Injection Debugger:
- Linia FEATURE din licența Intel FPGA care activează nucleul IP Fault Injection. Pentru mai multe informații, contactați reprezentantul local de vânzări Intel FPGA.
- Cablu de descărcare (Cablu de descărcare Intel FPGA, Cablu de descărcare Intel FPGA II, , sau II).
- Kit de dezvoltare Intel FPGA sau placă proiectată de utilizator cu un JTAG conexiunea la dispozitivul testat.
- (Opțional) linia FEATURE din licența Intel FPGA care activează nucleul IP Advanced SEU Detection.
Configurarea dispozitivului și a depanatorului de injecție de erori
Fault Injection Debugger folosește un .sof și (opțional) un antet de hartă de sensibilitate (.smh) file. Obiectul software File (.sof) configurează FPGA. .smh file definește sensibilitatea biților CRAM din dispozitiv. Dacă nu furnizați un .smh file, Fault Injection Debugger injectează defecțiuni aleatoriu în biții CRAM. Pentru a specifica un .sof:
- Selectați FPGA pe care doriți să-l configurați în caseta Device Chain.
- Faceți clic pe Selectați File.
- Navigați la .sof și faceți clic pe OK. Fault Injection Debugger citește .sof.
- (Opțional) Selectați SMH file.
Dacă nu specificați un SMH file, Fault Injection Debugger injectează defecțiuni aleatoriu pe întregul dispozitiv. Dacă specificați un SMH file, puteți restricționa injecțiile în zonele utilizate ale dispozitivului dvs.- Faceți clic dreapta pe dispozitiv în caseta Device Chain și apoi faceți clic pe Select SMH File.
- Selectați SMH-ul dvs file.
- Faceți clic pe OK.
- Activați Program/Configurare.
- Faceți clic pe Start.
Fault Injection Debugger configurează dispozitivul folosind .sof.
Meniul contextual pentru selectarea SMH File
Constrângerea regiunilor pentru injectarea erorilor
După încărcarea unui SMH file, puteți direcționa Fault Injection Debugger să funcționeze numai pe anumite regiuni ASD. Pentru a specifica regiunea (regiunile) ASD în care să injectați defecte:
- Faceți clic dreapta pe FPGA din caseta Device Chain și faceți clic pe Show Device Sensitivity Map.
- Selectați regiunea (regiunile) ASD pentru injectarea defecțiunii.
Harta sensibilității dispozitivului Viewer
Specificarea tipurilor de erori
Puteți specifica diferite tipuri de erori pentru injectare.
- Erori unice (SE)
- Erori dublu adiacente (DAE)
- Erori multi-biți necorectabile (EMBE)
Dispozitivele Intel FPGA pot corecta automat erorile adiacente simple și duble dacă funcția de curățare este activată. Dispozitivele Intel FPGA nu pot corecta erorile multi-biți. Consultați capitolul privind atenuarea SEU-urilor pentru mai multe informații despre depanarea acestor erori. Puteți specifica amestecul de defecte de injectat și intervalul de timp de injectare. Pentru a specifica intervalul de timp de injectare:
- În Fault Injection Debugger, alegeți Instrumente ➤ Opțiuni.
- Trageți controlerul roșu la amestecul de erori. Alternativ, puteți specifica amestecul numeric.
- Specificați intervalul de timp pentru injectare.
- Faceți clic pe OK.
Figura 12. Specificarea amestecului de tipuri de erori SEU
Informații conexe Atenuarea supărării unui singur eveniment
Erori de injectare
Puteți injecta erori în mai multe moduri:
- Injectați o eroare la comandă
- Injectați mai multe erori la comandă
- Injectați erori până când se comandă oprirea
Pentru a injecta aceste defecte:
- Activați opțiunea Inject Fault.
- Alegeți dacă doriți să executați injecția de eroare pentru un număr de iterații sau până la oprire:
- Dacă alegeți să rulați până la oprire, Fault Injection Debugger injectează erori la intervalul specificat în caseta de dialog Instrumente ➤ Opțiuni.
- Dacă doriți să executați injectarea de erori pentru un anumit număr de iterații, introduceți numărul.
- Faceți clic pe Start.
Nota: Fault Injection Debugger rulează pentru numărul specificat de iterații sau până la oprire. Fereastra de mesaje Intel Quartus Prime afișează mesaje despre erorile care sunt injectate. Pentru informații suplimentare despre defecțiunile injectate, faceți clic pe Citiți EMR. Fault Injection Debugger citește EMR-ul dispozitivului și afișează conținutul în fereastra Mesaje.
Mesaje de injecție de eroare Intel Quartus Prime și conținut EMR
Erori de înregistrare
Puteți înregistra locația oricărei defecțiuni injectate notând parametrii raportați în fereastra de mesaje Intel Quartus Prime. Dacă, de exampDa, o eroare injectată are ca rezultat un comportament pe care ați dori să-l repetați, puteți viza acea locație pentru injectare. Efectuați injecția țintită folosind interfața de linie de comandă Fault Injection Debugger.
Ștergerea erorilor injectate
Pentru a restabili funcția normală a FPGA, faceți clic pe Scrub. Când curățați o eroare, funcțiile EDCRC ale dispozitivului sunt utilizate pentru a corecta erorile. Mecanismul de frecat este similar cu cel utilizat în timpul funcționării dispozitivului.
Interfață de linie de comandă
Puteți rula Fault Injection Debugger la linia de comandă cu executabilul quartus_fid, ceea ce este util dacă doriți să efectuați injectarea erorilor dintr-un script.
Tabelul 5. Argumentele liniei de comandă pentru injectarea erorilor
Argument scurt | Argument lung | Descriere |
c | cablu | Specificați hardware-ul de programare sau cablul. (Necesar) |
i | index | Specificați dispozitivul activ pentru a injecta eroarea. (Necesar) |
n | număr | Specificați numărul de erori de injectat. Valoarea implicită este
1. (Opțional) |
t | timp | Interval de timp dintre injecții. (Opțional) |
Nota: Folosiți quartus_fid –help to view toate opțiunile disponibile. Următorul cod oferă exampfișierele folosind interfața de linie de comandă Fault Injection Debugger.
############################################
- # Aflați ce cabluri USB sunt disponibile pentru această instanță
- # Rezultatul arată că este disponibil un singur cablu, numit „USB-Blaster” #
- $ quartus_fid –list . . .
- Informații: Comandă: quartus_fid –list
- USB-Blaster pe sj-sng-z4 [USB-0] Informații: Intel Quartus Prime 64-Bit Fault Injection Debugger a avut succes. 0 erori, 0 avertisment
- ############################################
- # Găsiți ce dispozitive sunt disponibile pe cablul USB-Blaster
- # Rezultatul arată două dispozitive: un Stratix V A7 și un CPLD MAX V. #
- $ quartus_fid –cablu USB-Blaster -a
- Informații: Comandă: quartus_fid –cablu=USB-Blaster -a
- Informații (208809): Folosind cablul de programare „USB-Blaster pe sj-sng-z4 [USB-0]”
- USB-Blaster pe sj-sng-z4 [USB-0]
- 029030DD 5SGXEA7H(1|2|3)/5SGXEA7K1/..
- 020A40DD 5M2210Z/EPM2210
- Informații: Intel Quartus Prime 64-Bit Fault Injection Debugger a avut succes.
- 0 erori, 0 avertismente
- ############################################
- # Programați dispozitivul Stratix V
- # Opțiunea –index specifică operațiunile efectuate pe un dispozitiv conectat.
- # „=svgx.sof” asociază un .sof file cu aparatul
- # „#p” înseamnă programarea dispozitivului #
- $ quartus_fid –cablu USB-Blaster –index „@1=svgx.sof#p” . . .
- Informații (209016): Configurarea indexului dispozitivului 1
- Informații (209017): Dispozitivul 1 conține JTAG Cod ID 0x029030DD
- Informații (209007): Configurare reușită — 1 dispozitiv(e) configurat(e).
- Informații (209011): operații efectuate cu succes
- Informații (208551): Semnătură programată în dispozitivul 1.
- Informații: Intel Quartus Prime 64-Bit Fault Injection Debugger a avut succes.
- 0 erori, 0 avertismente
- ############################################
- # Injectați o defecțiune în dispozitiv.
- # Operatorul #i indică injectarea erorilor
- # -n 3 indică injectarea a 3 defecte #
- $ quartus_fid –cablu USB-Blaster –index „@1=svgx.sof#i” -n 3
- Informații: Comandă: quartus_fid –cablu=USB-Blaster –index=@1=svgx.sof#i -n 3
- Informații (208809): Folosind cablul de programare „USB-Blaster pe sj-sng-z4 [USB-0]”
- Informații (208521): injectează 3 erori în dispozitiv(e)
- Informații: Intel Quartus Prime 64-Bit Fault Injection Debugger a avut succes.
- 0 erori, 0 avertismente
- ############################################
- # Modul interactiv.
- # Utilizarea operației #i cu -n 0 pune depanatorul în modul interactiv.
- # Rețineți că în sesiunea anterioară au fost injectate 3 defecte;
- # „E” citește defecțiunile aflate în prezent în miezul IP EMR Unloader. #
- $ quartus_fid –cablu USB-Blaster –index „@1=svgx.sof#i” -n 0
- Informații: Comandă: quartus_fid –cablu=USB-Blaster –index=@1=svgx.sof#i -n 0
- Informații (208809): Folosind cablul de programare „USB-Blaster pe sj-sng-z4 [USB-0]”
- Introduce :
- „F” pentru a injecta eroare
- „E” pentru a citi EMR
- „S” pentru a curăța erorile
- „Q” pentru a părăsi E
- Informații (208540): citirea matricei EMR
- Informații (208544): 3 erori de cadru detectate în dispozitivul 1.
- Informații (208545): Eroare #1: O singură eroare în cadrul 0x1028 la bit 0x21EA.
- Informații (10914): Eroare #2: Eroare multi-biți necorectabilă în cadrul 0x1116.
- Informații (208545): Eroare #3: O singură eroare în cadrul 0x1848 la bit 0x128C.
- „F” pentru a injecta eroare
- „E” pentru a citi EMR
- „S” pentru a curăța erorile
- „Q” pentru a părăsi Q
- Info: Intel Quartus Prime 64-Bit Fault Injection Debugger a avut succes. 0 erori, 0 avertismente
- Info: Vârf de memorie virtuală: 1522 megaocteți
- Info: Procesare încheiată: Luni, 3 noiembrie 18:50:00 2014
- Info: Timp scurs: 00:00:29
- Info: Timp total CPU (pe toate procesoarele): 00:00:13
Caracteristica de injectare a erorilor vizate
Nota
Fault Injection Debugger injectează aleatoriu erorile în FPGA. Cu toate acestea, caracteristica Targeted Fault Injection vă permite să injectați defecte în locațiile vizate din CRAM. Această operațiune poate fi utilă, de example, dacă ați observat un eveniment SEU și doriți să testați FPGA sau răspunsul sistemului la același eveniment după modificarea unei strategii de recuperare. Caracteristica Targeted Fault Injection este disponibilă numai din interfața liniei de comandă. Puteți specifica că erorile sunt injectate din linia de comandă sau în modul prompt. Informații conexe
AN 539: Metodologia de testare sau detectarea și recuperarea erorilor folosind CRC în dispozitivele Intel FPGA
Specificarea unei liste de erori din linia de comandă
Caracteristica Targeted Fault Injection vă permite să specificați o listă de erori din linia de comandă, așa cum se arată în ex.ample: c:\Users\sng> quartus_fid -c 1 – i „@1= svgx.sof#i ” -n 2 -user="@1= 0x2274 0x05EF 0x2264 0x0500″ Unde: c 1 indică faptul că FPGA este controlat prin primul cablu de pe computer. i „@1= six.sof#i ” indică faptul că primul dispozitiv din lanț este încărcat cu obiectul file svgx.sof și va fi injectat cu defecte. n 2 indică faptul că vor fi injectate două defecte. user="@1= 0x2274 0x05EF 0x2264 0x0500” este o listă specificată de utilizator de erori care trebuie injectate. În acest example, dispozitivul 1 are două erori: la frame 0x2274, bit 0x05EF și la frame 0x2264, bit 0x0500.
Specificarea unei liste de erori din modul prompt
Puteți opera funcția de injectare a defecțiunilor țintite în mod interactiv, specificând numărul de defecte să fie 0 (-n 0). Fault Injection Debugger prezintă comenzi în modul prompt și descrierile acestora.
Comandă în modul prompt | Descriere |
F | Injectați o defecțiune |
E | Citiți EMR |
S | Erori de frecare |
Q | Renunță |
În modul prompt, puteți lansa singur comanda F pentru a injecta o singură eroare într-o locație aleatorie a dispozitivului. În exampfișiere folosind comanda F în modul prompt, sunt injectate trei erori. F #3 0x12 0x34 0x56 0x78 * 0x9A 0xBC +
- Eroare 1 – Eroare pe un singur bit la cadrul 0x12, bit 0x34
- Eroare 2 – Eroare necorecabilă la cadrul 0x56, bit 0x78 (un * indică o eroare pe mai mulți biți)
- Eroare 3 – Eroare dublu adiacent la cadrul 0x9A, bit 0xBC (a + indică o eroare dublu bit)
F 0x12 0x34 0x56 0x78 * O eroare (implicit) este injectată: Eroare 1 – Eroare pe un singur bit la cadrul 0x12, bit 0x34. Locațiile de după prima locație de cadru/bit sunt ignorate. F #3 0x12 0x34 0x56 0x78 * 0x9A 0xBC + 0xDE 0x00
Sunt injectate trei erori:
- Eroare 1 – Eroare pe un singur bit la cadrul 0x12, bit 0x34
- Eroare 2 – Eroare necorecabilă la cadrul 0x56, bit 0x78
- Eroare 3 – Eroare dublu adiacent la cadrul 0x9A, bit 0xBC
- Locațiile după primele 3 perechi cadru/biți sunt ignorate
Determinarea locațiilor biților CRAM
Nota:
Când Fault Injection Debugger detectează o eroare CRAM EDCRC, Registrul de mesaje de eroare (EMR) conține sindromul, numărul cadrului, locația biților și tipul de eroare (singu, dublu sau multibiți) erorii CRAM detectate. În timpul testării sistemului, salvați conținutul EMR raportat de Fault Injection Debugger atunci când detectați o eroare EDCRC. Cu conținutul EMR înregistrat, puteți furniza cadrele și numerele de biți depanatorului Fault Injection pentru a reda erorile observate în timpul testării sistemului, pentru a proiecta în continuare și a caracteriza un răspuns de recuperare a sistemului la acea eroare.
Informații conexe
AN 539: Metodologie de testare sau detectarea și recuperarea erorilor folosind CRC în dispozitivele Intel FPGA
Opțiuni avansate ale liniei de comandă: Regiuni ASD și ponderare tip de eroare
Puteți utiliza interfața de linie de comandă Fault Injection Debugger pentru a injecta erori în regiunile ASD și pentru a pondera tipurile de erori. În primul rând, specificați combinația de tipuri de erori (un singur bit, dublu adiacent și pe mai mulți biți necorectabile) folosind ponderea . . opţiune. De example, pentru un amestec de 50% erori simple, 30% erori duble adiacente și 20% erori necorectabile pe mai mulți biți, utilizați opțiunea –weight=50.30.20. Apoi, pentru a viza o regiune ASD, utilizați opțiunea -smh pentru a include SMH file și indicați regiunea ASD de vizat. De example: $ quartus_fid –cablu=USB-BlasterII –index „@1=svgx.sof#pi” –weight=100.0.0 –smh=”@1=svgx.smh#2″ –number=30
Acest exampcomanda le:
- Programează dispozitivul și injectează erori (șir pi)
- Injectează 100% erori pe un singur bit (100.0.0)
- Se injectează numai în ASD_REGION 2 (indicat de numărul 2)
- Injectează 30 de defecte
Arhivele ghidului utilizatorului Fault Injection IP Core
Versiunea IP Core | Ghidul utilizatorului |
18.0 | Fault Injection Intel FPGA IP Core Ghidul utilizatorului |
17.1 | Ghidul utilizatorului Intel FPGA Fault Injection IP Core |
16.1 | Ghidul utilizatorului Altera Fault Injection IP Core |
15.1 | Ghidul utilizatorului Altera Fault Injection IP Core |
Dacă o versiune de bază IP nu este listată, se aplică ghidul utilizatorului pentru versiunea de bază IP anterioară.
Istoricul revizuirilor documentului pentru Ghidul utilizatorului de bază IP de injectare de erori
Versiunea documentului | Versiunea Intel Quartus Prime | Schimbări |
2019.07.09 | 18.1 | Actualizat Descrierea pinului IP de injectare a erorilor subiect pentru a clarifica semnalele Reset, error_injected și error_scrubbed. |
2018.05.16 | 18.0 | • S-au adăugat următoarele subiecte din manualul Intel Quartus Prime Pro Edition:
— Definirea zonelor de injectare a erorilor și subteme. — Utilizarea depanatorului de injecție de erori și subteme. — Interfață de linie de comandă și subteme. • Redenumit Intel FPGA Fault Injection IP core în Fault Injection Intel FPGA IP. |
Data | Versiune | Schimbări |
2017.11.06 | 17.1 | • Rebranded ca Intel.
• S-a adăugat suport pentru dispozitive Intel Cyclone 10 GX. |
2016.10.31 | 16.1 | Suport actualizat pentru dispozitiv. |
2015.12.15 | 15.1 | • S-a schimbat Quartus II în software-ul Quartus Prime.
• S-a corectat legătura legată de auto-referință. |
2015.05.04 | 15.0 | Lansare inițială. |
Documente/Resurse
![]() |
Intel UG-01173 Fault Injection FPGA IP Core [pdfGhid de utilizare UG-01173 Miez IP FPGA de injectare defect, UG-01173, Miez IP FPGA de injectare defect, Injecție c, Miez IP FPGA de injecție |