logo firmy Intel

intel UG-01173 Rdzeń IP FPGA z wtryskiem błędów

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

Fault Injection Intel® FPGA IP Core Podręcznik użytkownika

Fault Injection Intel® FPGA IP core wstrzykuje błędy do konfiguracyjnej pamięci RAM (CRAM) urządzenia FPGA. Ta procedura symuluje miękkie błędy, które mogą wystąpić podczas normalnej pracy z powodu pojedynczych zdarzeń krytycznych (SEU). SEU są rzadkimi zdarzeniami i dlatego trudno je przetestować. Po umieszczeniu rdzenia Fault Injection IP w swoim projekcie i skonfigurowaniu urządzenia możesz użyć narzędzia Intel Quartus® Prime Fault Injection Debugger, aby wywołać celowe błędy w układzie FPGA, aby przetestować reakcję systemu na te błędy.

Informacje powiązane

  • Zdenerwowanie pojedynczego wydarzenia
  • AN 737: Wykrywanie i odzyskiwanie SEU w urządzeniach Intel Arria 10

Cechy

  • Umożliwia ocenę odpowiedzi systemu w celu złagodzenia przerwań funkcjonalnych pojedynczego zdarzenia (SEFI).
  • Umożliwia wykonanie charakterystyki SEFI we własnym zakresie, eliminując potrzebę testowania wiązki całego systemu. Zamiast tego możesz ograniczyć testowanie wiązki do pomiarów awarii w czasie (FIT)/Mb na poziomie urządzenia.
  • Skaluj współczynniki FIT zgodnie z charakterystyką SEFI, która jest odpowiednia dla Twojej architektury projektowej. Możesz losowo rozmieszczać iniekcje usterek w całym urządzeniu lub ograniczać je do określonych obszarów funkcjonalnych, aby przyspieszyć testowanie.
  • Zoptymalizuj swój projekt, aby ograniczyć zakłócenia spowodowane pojedynczym zdarzeniem krytycznym (SEU).

Wsparcie urządzeń

Rdzeń Fault Injection IP obsługuje urządzenia z rodziny Intel Arria® 10, Intel Cyclone® 10 GX i Stratix® V. Rodzina Cyclone V obsługuje Fault Injection na urządzeniach z sufiksem -SC w kodzie zamówienia. Skontaktuj się z lokalnym przedstawicielem handlowym, aby uzyskać informacje dotyczące zamawiania urządzeń Cyclone V z sufiksem -SC.

Wykorzystanie zasobów i wydajność
Oprogramowanie Intel Quartus Prime generuje następujące oszacowanie zasobów dla Stratix V A7 FPGA. Wyniki dla innych urządzeń są podobne.

Korporacja intelektualna. Wszelkie prawa zastrzeżone. Intel, logo Intel i inne znaki Intel są znakami towarowymi firmy Intel Corporation lub jej podmiotów zależnych. Firma Intel gwarantuje wydajność swoich produktów FPGA i półprzewodników zgodnie z aktualnymi specyfikacjami zgodnie ze standardową gwarancją firmy Intel, ale zastrzega sobie prawo do wprowadzania zmian w dowolnych produktach i usługach w dowolnym czasie bez powiadomienia. Firma Intel nie ponosi żadnej odpowiedzialności wynikającej z zastosowania lub wykorzystania jakichkolwiek informacji, produktów lub usług opisanych w niniejszym dokumencie, z wyjątkiem przypadków wyraźnie uzgodnionych na piśmie przez firmę Intel. Klienci firmy Intel powinni uzyskać najnowszą wersję specyfikacji urządzeń przed poleganiem na jakichkolwiek opublikowanych informacjach oraz przed złożeniem zamówienia na produkty lub usługi. *Inne nazwy i marki mogą być przedmiotem praw osób trzecich.

Fault Injection IP Core FPGA Wydajność i wykorzystanie zasobów

Urządzenie Jałmużna Rejestry logiczne M20K
Podstawowy Wtórny
Stratix V A7 3,821 5,179 0 0

Instalacja oprogramowania Intel Quartus Prime obejmuje bibliotekę Intel FPGA IP. Ta biblioteka zawiera wiele przydatnych rdzeni IP do użytku produkcyjnego bez potrzeby posiadania dodatkowej licencji. Niektóre rdzenie Intel FPGA IP wymagają zakupu oddzielnej licencji do użytku produkcyjnego. Tryb Intel FPGA IP Evaluation Mode umożliwia ocenę tych licencjonowanych rdzeni Intel FPGA IP w symulacji i sprzęcie przed podjęciem decyzji o zakupie pełnej licencji produkcyjnej na rdzeń IP. Musisz kupić pełną licencję produkcyjną na licencjonowane rdzenie Intel IP dopiero po ukończeniu testów sprzętowych i przygotowaniu do użycia własności intelektualnej w produkcji. Oprogramowanie Intel Quartus Prime domyślnie instaluje rdzenie IP w następujących lokalizacjach:

Ścieżka instalacji IP Core

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

Lokalizacje instalacji rdzenia IP

Lokalizacja Oprogramowanie Platforma
: \ intelfpga_pro \ quartus \ ip \ altera Wersja Intel Quartus Prime Pro Okna*
: \ intelfpga \ quartus \ ip \ altera Wersja standardowa Intel Quartus Prime Okna
:/intelFPGA_pro/quartus/ip/altera Wersja Intel Quartus Prime Pro Linux *
:/intelFPGA/quartus/ip/altera Wersja standardowa Intel Quartus Prime Linux

Notatka: Oprogramowanie Intel Quartus Prime nie obsługuje spacji w ścieżce instalacyjnej.

Dostosowywanie i generowanie rdzeni IP
Rdzenie IP można dostosować do obsługi szerokiej gamy aplikacji. Katalog Intel Quartus Prime IP i edytor parametrów umożliwiają szybki wybór i konfigurację podstawowych portów IP, funkcji i danych wyjściowych files.

Katalog IP i Edytor parametrów
Katalog IP wyświetla rdzenie IP dostępne dla Twojego projektu, w tym Intel FPGA IP i inne IP dodane do ścieżki wyszukiwania w Katalogu IP. Użyj następujących funkcji Katalogu IP, aby zlokalizować i dostosować rdzeń IP:

  • Filtruj katalog IP, aby pokazać IP dla aktywnej rodziny urządzeń lub Pokaż IP dla wszystkich rodzin urządzeń. Jeśli nie masz otwartego projektu, wybierz rodzinę urządzeń w katalogu IP.
  • Wpisz w polu wyszukiwania, aby znaleźć pełną lub częściową nazwę rdzenia IP w katalogu IP.
  • Kliknij prawym przyciskiem myszy nazwę rdzenia IP w Katalogu IP, aby wyświetlić szczegółowe informacje o obsługiwanych urządzeniach, otworzyć folder instalacyjny rdzenia IP i uzyskać łącza do dokumentacji IP.
  • Trzask Szukaj Partner IP to access partner IP information on the web.

Edytor parametrów wyświetla monit o podanie nazwy odmiany IP, opcjonalnych portów i danych wyjściowych file opcje generowania. Edytor parametrów generuje najwyższy poziom Intel Quartus Prime IP file (.ip) dla odmiany adresu IP w projektach Intel Quartus Prime Pro Edition. Edytor parametrów generuje najwyższy poziom Quartus IP file (.qip) dla odmiany adresu IP w projektach Intel Quartus Prime Standard Edition. Te files reprezentują odmianę IP w projekcie i przechowują informacje o parametryzacji.

Edytor parametrów IP (Intel Quartus Prime Standard Edition)intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-2

Wyjście generacji IP Core (Intel Quartus Prime Pro Edition)

Oprogramowanie Intel Quartus Prime generuje następujące dane wyjściowe file strukturę dla poszczególnych rdzeni IP, które nie są częścią systemu Platform Designer.

Wyjście indywidualnej generacji rdzeni IP (Intel Quartus Prime Pro Edition)intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-3

  • Jeśli jest obsługiwana i włączona dla odmiany rdzenia IP.

Wyjście Files generacji Intel FPGA IP

File Nazwa Opis
<Twoje IP>.ip Odmiana IP najwyższego poziomu file który zawiera parametryzację rdzenia IP w Twoim projekcie. Jeśli odmiana adresu IP jest częścią systemu Platform Designer, edytor parametrów generuje również plik .qsys file.
<Twoje IP>.cmp Deklaracja komponentu VHDL (.cmp) file jest tekstem file który zawiera lokalne definicje ogólne i porty, których używasz w projektowaniu VHDL files.
<Twoje IP>_generacja.rpt Dziennik generowania IP lub Platform Designer file. Wyświetla podsumowanie komunikatów podczas generowania adresu IP.
dalszy…
File Nazwa Opis
<Twoje IP>.qgsimc (tylko systemy Platform Designer) Buforowanie symulacji file który porównuje .qsys i .ip filez aktualną parametryzacją systemu Platform Designer i rdzenia IP. To porównanie określa, czy Platform Designer może pominąć regenerację HDL.
<Twoje IP>.qgsynth (tylko systemy Platform Designer) Buforowanie syntezy file który porównuje .qsys i .ip filez aktualną parametryzacją systemu Platform Designer i rdzenia IP. To porównanie określa, czy Platform Designer może pominąć regenerację HDL.
<Twoje IP>.qip Zawiera wszystkie informacje potrzebne do zintegrowania i skompilowania komponentu IP.
<Twoje IP>.csv Zawiera informacje o stanie aktualizacji składnika IP.
.bsf Reprezentacja symboliczna odmiany adresu IP do użycia w schemacie blokowym Files (.bdf).
<Twoje IP>.spd Wejście file którego ip-make-simscript wymaga do generowania skryptów symulacyjnych. .spd file zawiera listę files generowanych do symulacji, wraz z informacjami o zainicjowanych pamięciach.
<Twoje IP>.ppf Planer pinów File (.ppf) przechowuje przypisania portów i węzłów dla komponentów IP, które tworzysz do użytku z Pin Plannerem.
<Twoje IP>_bb.v Użyj czarnej skrzynki Verilog (_bb.v) file jako pusta deklaracja modułu do wykorzystania jako czarna skrzynka.
<Twoje IP>_inst.v lub _inst.vhd HDL npampszablon instancji pliku. Skopiuj i wklej zawartość tego file do twojego HDL file aby utworzyć instancję odmiany IP.
<Twoje IP>.regmap Jeśli adres IP zawiera informacje o rejestrze, oprogramowanie Intel Quartus Prime generuje plik .regmap file. .regmap file opisuje informacje o mapach rejestrów interfejsów master i slave. Ten file uzupełnia

.sopcinfo file poprzez podanie bardziej szczegółowych informacji rejestrowych o systemie. Ten file umożliwia wyświetlanie rejestru views i dostosowywane przez użytkownika statystyki w konsoli systemowej.

<Twoje IP>.svd Umożliwia narzędziom debugowania systemu HPS view mapy rejestrów urządzeń peryferyjnych, które łączą się z HPS w ramach systemu Platform Designer.

Podczas syntezy oprogramowanie Intel Quartus Prime przechowuje plik .svd files dla interfejsu podrzędnego widocznego dla masterów konsoli systemowej w .sof file w sesji debugowania. Konsola systemowa odczytuje tę sekcję, do której Platform Designer wysyła zapytanie o informacje o mapie rejestru. W przypadku urządzeń podrzędnych systemu Platform Designer uzyskuje dostęp do rejestrów według nazwy.

<Twoje IP>.v

<Twoje IP>.vhd

HDL files, które tworzą instancję każdego podmodułu lub podrzędnego rdzenia IP do syntezy lub symulacji.
mentor/ Zawiera skrypt msim_setup.tcl do konfigurowania i uruchamiania symulacji.
aldek/ Zawiera skrypt rivierapro_setup.tcl do konfiguracji i uruchomienia symulacji.
/synopsys/vcs

/synopsys/vcsmx

Zawiera skrypt powłoki vcs_setup.sh do konfigurowania i uruchamiania symulacji.

Zawiera skrypt powłoki vcsmx_setup.sh i synopsys_sim.setup file skonfigurować i uruchomić symulację.

/rytm Zawiera skrypt powłoki ncsim_setup.sh i inne ustawienia files, aby skonfigurować i uruchomić symulację.
/xcelium Zawiera skrypt powłoki symulatora równoległego xcelium_setup.sh i inne ustawienia files, aby skonfigurować i uruchomić symulację.
/podmoduły Zawiera HDL files dla podmodułu IP core.
<podmoduł IP>/ Platform Designer generuje podkatalogi /synth i /sim dla każdego katalogu submodułów IP generowanego przez Platform Designer.

Opis funkcjonalny
Dzięki rdzeniowi Fault Injection IP projektanci mogą przeprowadzać charakteryzację SEFI we własnym zakresie, skalować współczynniki FIT zgodnie z charakterystyką SEFI i optymalizować projekty w celu zmniejszenia efektu SEU.

Łagodzenie nieporozumień związanych z pojedynczym zdarzeniem

Układy scalone i programowalne urządzenia logiczne, takie jak FPGA, są podatne na SEU. SEU to przypadkowe, nieniszczące zdarzenia, spowodowane przez dwa główne źródła: cząstki alfa i neutrony z promieni kosmicznych. Promieniowanie może spowodować odwrócenie stanu rejestru logicznego, wbudowanego bitu pamięci lub konfiguracyjnego bitu pamięci RAM (CRAM), co prowadzi do nieoczekiwanego działania urządzenia. Intel Arria 10, Intel Cyclone 10 GX, Arria V, Cyclone V, Stratix V i nowsze urządzenia mają następujące możliwości CRAM:

  • Wykrywanie błędów Cykliczne sprawdzanie redundancji (EDCRC)
  • Automatyczna korekta zdenerwowanej CRAM (szorowanie)
  • Możliwość tworzenia zdenerwowanego stanu CRAM (wstrzyknięcie błędu)

Aby uzyskać więcej informacji na temat łagodzenia SEU w urządzeniach Intel FPGA, zapoznaj się z rozdziałem łagodzenie SEU w odpowiednim podręczniku urządzenia.

Opis styku adresu IP wtrysku usterki

Rdzeń Fault Injection IP zawiera następujące piny I/O.

Styki we/wy rdzenia IP z wtryskiem błędów

Nazwa pina Przypnij kierunek Opis pinezki
ccerror_pin wejście Dane wejściowe z rejestru komunikatów o błędach Unloader Intel FPGA IP (EMR Unloader IP). Ten sygnał jest potwierdzany, gdy EDCRC urządzenia wykryje błąd CRC.
dane_emr wejście Zawartość rejestru komunikatów o błędach (EMR). Informacje na temat pól EMR można znaleźć w odpowiedniej instrukcji obsługi urządzenia.

To wejście jest zgodne z sygnałem interfejsu danych Avalon Streaming.

emr_ważny wejście Wskazuje, że dane wejściowe emr_data zawierają prawidłowe dane. To jest prawidłowy sygnał interfejsu Avalon Streaming.
Nastawić wejście Wejście resetowania modułu. Resetowanie jest w pełni kontrolowane przez debuger wstrzykiwania błędów.
wstrzyknięty_błąd wyjście Wskazuje, że do CRAM wstrzyknięto błąd zgodnie z poleceniem za pośrednictwem JTAG interfejs. Czas trwania tego sygnału zależy od ustawień JTAG Sygnały TCK i bloku sterującego. Zazwyczaj czas wynosi około 20 cykli zegara sygnału TCK.
error_scrupped wyjście Wskazuje, że czyszczenie urządzenia zostało zakończone zgodnie z poleceniem za pośrednictwem JTAG interfejs. Czas trwania tego sygnału zależy od ustawień JTAG Sygnały TCK i bloku sterującego. Zazwyczaj czas wynosi około 20 cykli zegara sygnału TCK.
wsc wyjście Opcjonalne wyjście. Adres IP Fault Injection używa tego zegara, na przykładampplik, aby taktować blok EMR_unloader.

Schemat styków IP wtrysku usterki

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

Korzystanie z debugera Fault Injection i Fault Injection IP Core

Debuger Fault Injection współpracuje z rdzeniem IP Fault Injection. Najpierw tworzysz instancję rdzenia IP w swoim projekcie, kompilujesz i pobierasz wynikową konfigurację file do Twojego urządzenia. Następnie uruchom Fault Injection Debugger z poziomu oprogramowania Intel Quartus Prime lub z wiersza poleceń, aby zasymulować miękkie błędy.

  • Debuger wstrzykiwania błędów umożliwia interaktywną obsługę eksperymentów wstrzykiwania błędów lub za pomocą poleceń wsadowych, a także umożliwia określenie obszarów logicznych w projekcie do wstrzykiwania błędów.
  • Interfejs wiersza poleceń jest przydatny do uruchamiania debugera za pomocą skryptu.

Notatka

Debuger Fault Injection komunikuje się z rdzeniem IP Fault Injection za pośrednictwem protokołu JTAG interfejs. Fault Injection IP akceptuje polecenia z JTAG interfejs i raportuje stan z powrotem przez JTAG interfejs. Rdzeń Fault Injection IP jest zaimplementowany w miękkiej logice w twoim urządzeniu; dlatego musisz uwzględnić to użycie logiki w swoim projekcie. Jedną z metod jest scharakteryzowanie odpowiedzi projektu na SEU w laboratorium, a następnie pominięcie rdzenia IP w ostatecznym wdrożeniu projektu.

Używasz rdzenia IP Fault Injection z następującymi rdzeniami IP:

  • Rdzeń protokołu Error Message Register Unloader IP, który odczytuje i przechowuje dane z utwardzonych obwodów wykrywania błędów w układach Intel FPGA.
  • (Opcjonalnie) Rdzeń Intel FPGA IP Advanced SEU Detection, który porównuje lokalizacje błędów jednobitowych z mapą czułości podczas działania urządzenia, aby określić, czy ma na nie wpływ błąd programowy.

Koniec debugera wstrzykiwania błędówview Schemat blokowyintel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-5

Uwagi:

  1. Fault Injection IP odwraca bity docelowej logiki.
  2. Fault Injection Debugger i Advanced SEU Detection IP używają tej samej instancji EMR Unloader.
  3. Rdzeń IP Advanced SEU Detection jest opcjonalny.

Informacje powiązane

  • O SMH Files na stronie 13
  • O EMR Unloader IP Core na stronie 10
  • Informacje o rdzeniu IP Advanced SEU Detection na stronie 11

Utworzenie instancji rdzenia IP wstrzykiwania błędów

NOTATKA

Rdzeń Fault Injection IP nie wymaga ustawiania żadnych parametrów. Aby użyć rdzenia IP, utwórz nową instancję IP, dołącz ją do swojego systemu Platform Designer (Standard) i odpowiednio podłącz sygnały. Musisz użyć rdzenia IP Fault Injection z rdzeniem IP EMR Unloader. Rdzenie IP Fault Injection i EMR Unloader są dostępne w narzędziu Platform Designer i katalogu IP. Opcjonalnie możesz utworzyć instancje bezpośrednio w swoim projekcie RTL, używając Verilog HDL, SystemVerilog lub VHDL.

O rdzeniu IP EMR Unloader
Rdzeń EMR Unloader IP zapewnia interfejs do EMR, który jest stale aktualizowany przez EDCRC urządzenia, które sprawdza CRC bitów CRAM urządzenia pod kątem błędów programowych.

Example Platform Designer System, w tym Fault Injection IP Core i EMR Unloader IP Coreintel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-6

Example Fault Injection IP Core i EMR Unloader Schemat blokowy rdzenia IP

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

Informacje powiązane
Komunikat o błędzie Register Unloader Intel FPGA IP Core User Guide

Informacje o rdzeniu IP zaawansowanego wykrywania SEU

Użyj rdzenia IP Advanced SEU Detection (ASD), gdy tolerancja SEU jest kwestią projektową. Musisz użyć rdzenia IP EMR Unloader z rdzeniem IP ASD. Dlatego też, jeśli używasz ASD IP i Fault Injection IP w tym samym projekcie, muszą one dzielić wyjście EMR Unloader za pośrednictwem komponentu rozgałęźnika Avalon®-ST. Poniższy rysunek przedstawia system Platform Designer, w którym rozdzielacz Avalon-ST rozdziela zawartość EMR do rdzeni ASD i Fault Injection IP.

Używanie adresów IP ASD i Fault Injection w tym samym systemie projektanta platformyintel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-8

Informacje powiązane
Podręcznik użytkownika zaawansowanego wykrywania SEU Intel FPGA IP Core

Definiowanie obszarów wstrzykiwania błędów
Możesz zdefiniować określone regiony FPGA do wstrzykiwania błędów za pomocą nagłówka mapy czułości (.smh) file. SMH file przechowuje współrzędne bitów CRAM urządzenia, przypisany im region (region ASD) i krytyczność. Podczas procesu projektowania używasz hierarchii tagging, aby utworzyć region. Następnie podczas kompilacji Intel Quartus Prime Assembler generuje SMH file. Debuger wstrzykiwania błędów ogranicza wstrzykiwanie błędów do określonych regionów urządzeń zdefiniowanych w SMH file.

Wykonywanie hierarchii Tagging
Regiony FPGA do testowania definiujesz, przypisując region ASD do lokalizacji. Możesz określić wartość regionu ASD dla dowolnej części hierarchii projektu, korzystając z okna partycji projektowych.

  1. Wybierz opcję Przydziały ➤ Zaprojektuj okno partycji.
  2. Kliknij prawym przyciskiem myszy w dowolnym miejscu wiersza nagłówka i włącz opcję Region ASD, aby wyświetlić kolumnę Region ASD (jeśli nie jest jeszcze wyświetlana).
  3. Wprowadź wartość od 0 do 16 dla dowolnej partycji, aby przypisać ją do określonego regionu ASD.
    • Region ASD 0 jest zarezerwowany dla nieużywanych części urządzenia. Możesz przypisać partycję do tego regionu, aby określić go jako niekrytyczny.
    • Region ASD 1 jest regionem domyślnym. Wszystkie używane części urządzenia są przypisane do tego regionu, chyba że wyraźnie zmienisz przypisanie regionu ASD.

O SMH Files

SMH file zawiera następujące informacje:

  • Jeśli nie używasz hierarchii tagging (tj. projekt nie ma wyraźnych przypisań regionów ASD w hierarchii projektu), SMH file wymienia każdy bit CRAM i wskazuje, czy jest wrażliwy na projekt.
  • Jeśli wykonałeś hierarchię tagging i zmieniono domyślne przypisania regionów ASD, SMH file wyświetla każdy bit CRAM i przypisany mu region ASD.

Debuger wstrzykiwania błędów może ograniczyć iniekcje do jednego lub większej liczby określonych regionów. Aby skierować Asembler do wygenerowania SMH file:

  • Wybierz opcję Przypisania ➤ Urządzenie ➤ Opcje urządzenia i pinów ➤ Wykrywanie błędów CRC.
  • Włącz opcję Generuj mapę czułości SEU file (.smh) opcja.

Korzystanie z debugera wstrzykiwania błędów

NOTATKA
Aby użyć debugera Fault Injection, łączysz się ze swoim urządzeniem przez JTAG interfejs. Następnie skonfiguruj urządzenie i wykonaj iniekcję błędów. Aby uruchomić Fault Injection Debugger, wybierz Narzędzia ➤ Fault Injection Debugger w oprogramowaniu Intel Quartus Prime. Konfigurowanie lub programowanie urządzenia jest podobne do procedury stosowanej dla Programmera lub Signal Tap Logic Analyzer.

Debuger wstrzykiwania błędów

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

Aby skonfigurować JTAG łańcuch:

  1. Kliknij opcję Konfiguracja sprzętu. Narzędzie wyświetla sprzęt do programowania podłączony do komputera.
  2. Wybierz sprzęt do programowania, którego chcesz użyć.
  3. Kliknij Zamknij.
  4. Kliknij opcję Automatyczne wykrywanie, która zapełni łańcuch urządzeń programowalnymi urządzeniami znajdującymi się w JTAG łańcuch.

Informacje powiązane
Funkcja ukierunkowanego wstrzykiwania błędów na stronie 21

Wymagania sprzętowe i programowe

Do korzystania z debugera Fault Injection Debugger wymagany jest następujący sprzęt i oprogramowanie:

  • Linia FEATURE w licencji Intel FPGA, która umożliwia rdzeń IP Fault Injection. Aby uzyskać więcej informacji, skontaktuj się z lokalnym przedstawicielem handlowym firmy Intel FPGA.
  • Kabel do pobierania (kabel do pobierania Intel FPGA, kabel do pobierania Intel FPGA II, lub II).
  • Zestaw rozwojowy Intel FPGA lub płyta zaprojektowana przez użytkownika z interfejsem JTAG połączenie z testowanym urządzeniem.
  • (Opcjonalnie) Linia FEATURE w licencji Intel FPGA, która umożliwia rdzeń IP Advanced SEU Detection.

Konfigurowanie urządzenia i debugera wstrzykiwania błędów

Debuger wstrzykiwania błędów używa pliku .sof i (opcjonalnie) nagłówka mapy czułości (.smh) file. Obiekt oprogramowania File (.sof) konfiguruje układ FPGA. .smh file określa czułość bitów CRAM w urządzeniu. Jeśli nie podasz pliku .smh file, debuger wstrzykiwania błędów losowo wstrzykuje błędy do bitów CRAM. Aby określić plik .sof:

  1. Wybierz układ FPGA, który chcesz skonfigurować w polu Łańcuch urządzeń.
  2. Kliknij Wybierz File.
  3. Przejdź do .sof i kliknij OK. Debuger wstrzykiwania błędów odczytuje plik .sof.
  4. (Opcjonalnie) Wybierz SMH file.
    Jeśli nie określisz SMH file, Fault Injection Debugger wstrzykuje błędy losowo do całego urządzenia. Jeśli określisz SMH file, możesz ograniczyć iniekcje do używanych obszarów urządzenia.
    • Kliknij prawym przyciskiem myszy urządzenie w polu Łańcuch urządzeń, a następnie kliknij opcję Wybierz SMH File.
    • Wybierz swoje SMH file.
    • Kliknij OK.
  5. Włącz Programuj/Konfiguruj.
  6. Kliknij Start.

Debuger wstrzykiwania błędów konfiguruje urządzenie przy użyciu pliku .sof.

Menu kontekstowe do wyboru SMH File

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

Ograniczanie regionów dla wstrzykiwania błędów

Po załadowaniu SMH file, możesz nakazać debugerowi wstrzykiwanie błędów, aby działał tylko na określonych regionach ASD. Aby określić region(y) ASD, w którym mają być wprowadzone błędy:

  1. Kliknij prawym przyciskiem myszy FPGA w polu Device chain i kliknij Show Device Sensitivity Map.
  2. Wybierz regiony ASD do wstrzykiwania błędów.

Mapa czułości urządzenia Viewer

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

Określanie typów błędów

Możesz określić różne rodzaje błędów do wstrzyknięcia.

  • Pojedyncze błędy (SE)
  • Błędy podwójnego przylegania (DAE)
  • Nienaprawialne błędy wielobitowe (EMBE)

Urządzenia Intel FPGA mogą samodzielnie korygować pojedyncze i podwójne przylegające błędy, jeśli funkcja czyszczenia jest włączona. Urządzenia Intel FPGA nie mogą korygować błędów wielobitowych. Więcej informacji na temat debugowania tych błędów można znaleźć w rozdziale dotyczącym łagodzenia skutków SEU. Można określić kombinację usterek do wtrysku oraz odstęp czasu wtrysku. Aby określić odstęp czasu wtrysku:

  1. W debugerze Fault Injection wybierz Tools ➤ Options.
  2. Przeciągnij czerwony kontroler na listę błędów. Alternatywnie możesz określić mieszankę numerycznie.
  3. Określ czas interwału wtrysku.
  4. Kliknij OK.

Rysunek 12. Określanie kombinacji typów błędów SEUintel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-12

Informacje powiązane Łagodzenie zdenerwowania związanego z pojedynczym wydarzeniem

Błędy wtrysku

Możesz wstrzykiwać błędy w kilku trybach:

  • Wstrzyknij jeden błąd na polecenie
  • Wstrzyknij wiele błędów na polecenie
  • Wstrzykuj błędy, dopóki nie pojawi się polecenie zatrzymania

Aby wstrzyknąć te usterki:

  1. Włącz opcję Błąd wtrysku.
  2. Wybierz, czy chcesz uruchamiać wstrzykiwanie błędów przez kilka iteracji, czy do zatrzymania:
    • Jeśli zdecydujesz się działać do zatrzymania, debuger wstrzykiwania błędów wstrzykuje błędy w odstępach czasu określonych w oknie dialogowym Narzędzia ➤ Opcje.
    • Jeśli chcesz uruchomić wstrzykiwanie błędów dla określonej liczby iteracji, wprowadź liczbę.
  3. Kliknij Start.

Notatka: Debuger wstrzykiwania błędów działa przez określoną liczbę iteracji lub do momentu zatrzymania. Okno Intel Quartus Prime Messages pokazuje komunikaty o wstrzykniętych błędach. Aby uzyskać dodatkowe informacje na temat wprowadzonych usterek, kliknij Odczyt EMR. Fault Injection Debugger odczytuje EMR urządzenia i wyświetla zawartość w oknie komunikatów.

Intel Quartus Prime Error Injection i komunikaty zawartości EMR

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

Błędy nagrywania
Możesz zarejestrować lokalizację każdego wstrzykniętego błędu, zapisując parametry zgłaszane w oknie komunikatów Intel Quartus Prime. Jeśli npampplik, wstrzyknięty błąd skutkuje zachowaniem, które chciałbyś odtworzyć, możesz wskazać to miejsce do wstrzyknięcia. Wstrzykiwanie ukierunkowane wykonuje się za pomocą interfejsu wiersza poleceń Fault Injection Debugger.

Usuwanie wstrzykniętych błędów
Aby przywrócić normalne działanie FPGA, kliknij Scrub. Gdy usuwasz błąd, funkcje EDCRC urządzenia służą do korygowania błędów. Mechanizm szorowania jest podobny do tego stosowanego podczas pracy urządzenia.

Interfejs wiersza poleceń
Debuger wstrzykiwania błędów można uruchomić z wiersza poleceń za pomocą pliku wykonywalnego quartus_fid, co jest przydatne, jeśli chcesz wykonać wstrzykiwanie błędów ze skryptu.

Tabela 5. Argumenty wiersza poleceń dla iniekcji błędu

Krótki argument Długi argument Opis
c kabel Określ sprzęt do programowania lub kabel. (Wymagany)
i indeks Określ aktywne urządzenie do wstrzyknięcia błędu. (Wymagany)
n numer Określ liczbę błędów do wstrzyknięcia. Wartość domyślna to

1. (Opcjonalnie)

t czas Czas przerwy między wstrzyknięciami. (Opcjonalny)

Notatka: Użyj quartus_fid –help, aby view wszystkie dostępne opcje. Poniższy kod zapewnia npamppliki przy użyciu interfejsu wiersza poleceń Fault Injection Debugger.
##############################################

  • # Dowiedz się, które kable USB są dostępne dla tej instancji
  • # Wynik pokazuje, że dostępny jest jeden kabel o nazwie „USB-Blaster” #
  • $ quartus_fid – lista . . .
  • Informacje: Komenda: quartus_fid –list
    1. USB-Blaster na sj-sng-z4 [USB-0] Informacje: Intel Quartus Prime 64-Bit Fault Injection Debugger zakończył się pomyślnie. 0 błędów, 0 ostrzeżeń
  • ##############################################
  • # Znajdź, które urządzenia są dostępne na kablu USB-Blaster
  • # Wynik pokazuje dwa urządzenia: Stratix V A7 i MAX V CPLD. #
  • $ quartus_fid –kabel USB-Blaster -a
  • Informacje: Komenda: quartus_fid –cable=USB-Blaster -a
  • Informacje (208809): Używanie kabla do programowania „USB-Blaster on sj-sng-z4 [USB-0]”
    1. USB-Blaster na sj-sng-z4 [USB-0]
  • 029030DD 5SGXEA7H(1|2|3)/5SGXEA7K1/..
  • 020A40DD 5M2210Z/EPM2210
  • Informacje: debuger Intel Quartus Prime 64-Bit Fault Injection Debugger zakończył się pomyślnie.
  • 0 błędów, 0 ostrzeżeń
  • ##############################################
  • # Zaprogramuj urządzenie Stratix V
  • # Opcja –index określa operacje wykonywane na podłączonym urządzeniu.
  • # „=svgx.sof” kojarzy plik .sof file z urządzeniem
  • # „#p” oznacza zaprogramowanie urządzenia #
  • $ quartus_fid –kabel USB Blaster –indeks „@1=svgx.sof#p” . . .
  • Informacje (209016): Konfigurowanie indeksu urządzenia 1
  • Informacje (209017): Urządzenie 1 zawiera pliki JTAG Kod identyfikacyjny 0x029030DD
  • Info (209007): Konfiguracja powiodła się — skonfigurowano 1 urządzenie (urządzenia).
  • Informacje (209011): pomyślnie wykonane operacje
  • Info (208551): Zaprogramuj sygnaturę w urządzeniu 1.
  • Informacje: debuger Intel Quartus Prime 64-Bit Fault Injection Debugger zakończył się pomyślnie.
  • 0 błędów, 0 ostrzeżeń
  • ##############################################
  • # Wprowadź usterkę do urządzenia.
  • # Operator #i wskazuje na wstrzykiwanie błędów
  • # -n 3 wskazuje na wstrzyknięcie 3 błędów #
  • $ quartus_fid –kabel USB-Blaster –indeks „@1=svgx.sof#i” -n 3
  • Informacje: Polecenie: quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 3
  • Informacje (208809): Używanie kabla do programowania „USB-Blaster on sj-sng-z4 [USB-0]”
  • Informacje (208521): wstrzykuje 3 błędy do urządzenia (urządzeń)
  • Informacje: debuger Intel Quartus Prime 64-Bit Fault Injection Debugger zakończył się pomyślnie.
  • 0 błędów, 0 ostrzeżeń
  • ##############################################
  • # Tryb interaktywny.
  • # Użycie operacji #i z opcją -n 0 przełącza debugger w tryb interaktywny.
  • # Zauważ, że w poprzedniej sesji wstrzyknięto 3 błędy;
  • # „E” odczytuje bieżące błędy w rdzeniu EMR Unloader IP. #
  • $ quartus_fid –kabel USB-Blaster –indeks „@1=svgx.sof#i” -n 0
  • Informacje: Polecenie: quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 0
  • Informacje (208809): Używanie kabla do programowania „USB-Blaster on sj-sng-z4 [USB-0]”
  • Wchodzić :
  • „F”, aby wstrzyknąć błąd
  • „E”, aby przeczytać EMR
  • „S”, aby usunąć błędy
  • „Q”, aby opuścić E
  • Informacje (208540): Odczyt tablicy EMR
  • Informacje (208544): 3 błędy ramek wykryte w urządzeniu 1.
  • Informacje (208545): Błąd nr 1: Pojedynczy błąd w ramce 0x1028 w bicie 0x21EA.
  • Informacje (10914): Błąd nr 2: Niemożliwy do naprawienia błąd wielobitowy w ramce 0x1116.
  • Informacje (208545): Błąd nr 3: Pojedynczy błąd w ramce 0x1848 w bicie 0x128C.
  • „F”, aby wstrzyknąć błąd
  • „E”, aby przeczytać EMR
  • „S”, aby usunąć błędy
  • „Q”, aby wyjść z Q
  • Informacja: Debuger Intel Quartus Prime 64-Bit Fault Injection Debugger zakończył się pomyślnie. 0 błędów, 0 ostrzeżeń
  • Informacja: Szczytowa pamięć wirtualna: 1522 megabajty
  • Informacja: Przetwarzanie zakończone: poniedziałek 3 listopada 18 r. o godzinie 50:00:2014
  • Informacja: Czas, który upłynął: 00:00:29
  • Informacja: Całkowity czas procesora (na wszystkich procesorach): 00:00:13

Funkcja ukierunkowanego wstrzykiwania błędów

Notatka

Fault Injection Debugger losowo wstrzykuje błędy do FPGA. Jednak funkcja Targeted Fault Injection umożliwia wprowadzanie błędów do wybranych lokalizacji w CRAM. Operacja ta może być przydatna npampplik, jeśli zanotowałeś zdarzenie SEU i chcesz przetestować odpowiedź układu FPGA lub systemu na to samo zdarzenie po zmodyfikowaniu strategii odzyskiwania. Funkcja Targeted Fault Injection jest dostępna tylko z interfejsu wiersza poleceń. Można określić, że błędy mają być wstrzykiwane z wiersza poleceń lub w trybie zachęty. Powiązana informacja

539: Metodologia testowa lub wykrywanie i odzyskiwanie błędów przy użyciu CRC w urządzeniach Intel FPGA

Określanie listy błędów z wiersza poleceń

Funkcja Targeted Fault Injection umożliwia określenie listy błędów z wiersza poleceń, jak pokazano na poniższym przykładzieample: c:\Users\sng> quartus_fid -c 1 – i „@1= svgx.sof#i ” -n 2 -user=”@1= 0x2274 0x05EF 0x2264 0x0500″ Gdzie: c 1 wskazuje, że układ FPGA jest sterowany przez pierwszy kabel w twoim komputerze. i „@1= six.sof#i” wskazuje, że pierwsze urządzenie w łańcuchu jest załadowane obiektem file svgx.sof i zostanie wstrzyknięty z błędami. n 2 wskazuje, że zostaną wstrzyknięte dwa błędy. user=”@1= 0x2274 0x05EF 0x2264 0x0500” to określona przez użytkownika lista błędów do wstrzyknięcia. W tym eksample, urządzenie 1 ma dwa błędy: w ramce 0x2274, bit 0x05EF i w ramce 0x2264, bit 0x0500.

Określanie listy błędów w trybie podpowiedzi

Funkcję Targeted Fault Injection można obsługiwać interaktywnie, określając liczbę błędów na 0 (-n 0). Fault Injection Debugger przedstawia polecenia trybu zachęty i ich opisy.

Polecenie trybu podpowiedzi Opis
F Wstrzyknąć usterkę
E Przeczytaj EMR
S Wyczyść błędy
Q Zrezygnować

W trybie zachęty możesz wydać samo polecenie F, aby wstrzyknąć pojedynczą usterkę w losowej lokalizacji w urządzeniu. W poniższym przykłampplików przy użyciu polecenia F w trybie zachęty, wstrzykiwane są trzy błędy. F #3 0x12 0x34 0x56 0x78 * 0x9A 0xBC +

  • Błąd 1 – Błąd pojedynczego bitu w ramce 0x12, bit 0x34
  • Błąd 2 — nienaprawialny błąd w ramce 0x56, bit 0x78 (* oznacza błąd wielobitowy)
  • Błąd 3 – Błąd podwójnego przylegania w ramce 0x9A, bit 0xBC (+ oznacza błąd podwójnego bitu)

F 0x12 0x34 0x56 0x78 * Wstrzyknięty jest jeden (domyślny) błąd: Błąd 1 – Błąd pojedynczego bitu w ramce 0x12, bit 0x34. Lokalizacje po pierwszej lokalizacji klatki/bitu są ignorowane. F #3 0x12 0x34 0x56 0x78 * 0x9A 0xBC + 0xDE 0x00

Wstrzykiwane są trzy błędy:

  • Błąd 1 – Błąd pojedynczego bitu w ramce 0x12, bit 0x34
  • Błąd 2 – Niemożliwy do naprawienia błąd w ramce 0x56, bit 0x78
  • Błąd 3 – Błąd podwójnego przylegania w ramce 0x9A, bit 0xBC
  • Lokalizacje po pierwszych 3 parach ramka/bit są ignorowane

Określanie lokalizacji bitów CRAM

Notatka: 

Gdy debuger wstrzykiwania błędów wykryje błąd CRAM EDCRC, rejestr komunikatów o błędach (EMR) zawiera syndrom, numer ramki, położenie bitu i typ błędu (pojedynczy, podwójny lub wielobitowy) wykrytego błędu CRAM. Podczas testowania systemu zapisz zawartość EMR zgłoszoną przez Fault Injection Debugger po wykryciu usterki EDCRC. Zarejestrowana zawartość EMR umożliwia przekazanie ramek i numerów bitów do debugera Fault Injection w celu odtworzenia błędów zauważonych podczas testowania systemu, dalszego projektowania i scharakteryzowania reakcji przywracania systemu na ten błąd.

Informacje powiązane
AN 539: Metodologia testów lub wykrywanie i odzyskiwanie błędów przy użyciu CRC w urządzeniach Intel FPGA

Zaawansowane opcje wiersza poleceń: Regiony ASD i ważenie typów błędów

Za pomocą interfejsu wiersza polecenia Fault Injection Debugger można wstrzykiwać błędy do regionów ASD i ważyć typy błędów. Najpierw określasz kombinację typów błędów (pojedynczy bit, podwójny sąsiadujący i wielobitowy niemożliwy do naprawienia) za pomocą opcji –weight . . opcja. na przykładample, dla kombinacji 50% pojedynczych błędów, 30% podwójnych błędów sąsiednich i 20% wielobitowych błędów niekorygowalnych, użyj opcji –weight=50.30.20. Następnie, aby wskazać region ASD, użyj opcji -smh, aby uwzględnić SMH file i wskaż region ASD, który ma być docelowy. na przykładampplik: $ quartus_fid –cable=USB-BlasterII –index “@1=svgx.sof#pi” –weight=100.0.0 –smh=”@1=svgx.smh#2″ –number=30

Ten byłyample polecenie:

  • Programuje urządzenie i wstrzykuje błędy (łańcuch pi)
  • Wstrzykuje 100% błędów jednobitowych (100.0.0)
  • Wstrzykuje tylko do ASD_REGION 2 (oznaczony numerem 2)
  • Wstrzykuje 30 błędów

Archiwa instrukcji obsługi Fault Injection IP Core

Wersja rdzenia IP Instrukcja użytkownika
18.0 Fault Injection Podręcznik użytkownika Intel FPGA IP Core
17.1 Podręcznik użytkownika Intel FPGA Fault Injection IP Core
16.1 Podręcznik użytkownika Altera Fault Injection IP Core
15.1 Podręcznik użytkownika Altera Fault Injection IP Core

Jeśli wersja rdzenia IP nie jest wymieniona, obowiązuje instrukcja obsługi dla poprzedniej wersji rdzenia IP.

Historia zmian dokumentu w podręczniku użytkownika IP Core dotyczącym błędów wstrzykiwania

Wersja dokumentu Wersja Intel Quartus Prime Zmiany
2019.07.09 18.1 Zaktualizowano Opis styku adresu IP wtrysku usterki temat, aby wyjaśnić sygnały Reset, error_injected i error_scrubbed.
2018.05.16 18.0 • Dodano następujące tematy z podręcznika Intel Quartus Prime Pro Edition:

—   Definiowanie obszarów wstrzykiwania błędów i podtematy.

—   Korzystanie z debugera wstrzykiwania błędów i podtematy.

—   Interfejs wiersza poleceń i podtematy.

• Zmieniono nazwę rdzenia Intel FPGA Fault Injection IP na Fault Injection Intel FPGA IP.

Data Wersja Zmiany
2017.11.06 17.1 • Zmieniono markę na Intel.

• Dodano obsługę urządzeń Intel Cyclone 10 GX.

2016.10.31 16.1 Zaktualizowana obsługa urządzeń.
2015.12.15 15.1 • Zmieniono oprogramowanie Quartus II na Quartus Prime.

• Naprawiono łącze powiązane z samoodniesieniem.

2015.05.04 15.0 Pierwsze wydanie.

 

Dokumenty / Zasoby

intel UG-01173 Rdzeń IP FPGA z wtryskiem błędów [plik PDF] Instrukcja użytkownika
UG-01173 Rdzeń IP z wtryskiem usterek FPGA, UG-01173, Rdzeń IP z wtryskiem usterek FPGA, Wtrysk c, Rdzeń IP z wtryskiem FPGA

Odniesienia

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *