intel-лого

intel UG-01173 Fault Injection FPGA IP Core

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

Fault Injection Ръководство за потребителя на Intel® FPGA IP Core

Инжектирането на грешки Intel® FPGA IP ядро ​​инжектира грешки в конфигурационната RAM (CRAM) на FPGA устройство. Тази процедура симулира меки грешки, които могат да възникнат по време на нормална работа поради смущения при едно събитие (SEU). SEUs са редки събития и следователно са трудни за тестване. След като инстанцирате IP ядрото за инжектиране на грешки във вашия дизайн и конфигурирате вашето устройство, можете да използвате инструмента Intel Quartus® Prime Fault Injection Debugger, за да предизвикате умишлени грешки в FPGA, за да тествате реакцията на системата към тези грешки.

Свързана информация

  • Смущения при единични събития
  • AN 737: Откриване и възстановяване на SEU в устройства Intel Arria 10

Характеристики

  • Позволява ви да оцените реакцията на системата за смекчаване на функционални прекъсвания при едно събитие (SEFI).
  • Позволява ви да извършвате вътрешно SEFI характеризиране, елиминирайки необходимостта от тестване на целия системен лъч. Вместо това можете да ограничите тестването на лъча до грешки във времето (FIT)/Mb измерване на ниво устройство.
  • Мащабирайте скоростите на FIT според SEFI характеристиката, която е подходяща за вашата архитектура на проектиране. Можете произволно да разпределите инжекциите за грешки в цялото устройство или да ги ограничите до конкретни функционални области, за да ускорите тестването.
  • Оптимизирайте своя дизайн, за да намалите смущенията, причинени от смущения при едно събитие (SEU).

Поддръжка на устройства

IP ядрото за инжектиране на грешки поддържа устройства от семейството Intel Arria® 10, Intel Cyclone® 10 GX и Stratix® V. Семейството Cyclone V поддържа Fault Injection на устройства със суфикс -SC в кода за поръчка. Свържете се с вашия местен търговски представител за информация за поръчка на устройства Cyclone V с суфикс -SC.

Използване на ресурси и производителност
Софтуерът Intel Quartus Prime генерира следната оценка на ресурсите за Stratix V A7 FPGA. Резултатите за други устройства са подобни.

Корпорация Intel. Всички права запазени. Intel, логото на Intel и други марки на Intel са търговски марки на Intel Corporation или нейните филиали. Intel гарантира производителността на своите FPGA и полупроводникови продукти според настоящите спецификации в съответствие със стандартната гаранция на Intel, но си запазва правото да прави промени на продукти и услуги по всяко време без предизвестие. Intel не поема никаква отговорност или задължения, произтичащи от приложението или използването на каквато и да е информация, продукт или услуга, описани тук, освен в случаите, когато Intel е изрично договорено в писмен вид. Клиентите на Intel се съветват да получат най-новата версия на спецификациите на устройството, преди да разчитат на публикувана информация и преди да направят поръчки за продукти или услуги. *Други имена и марки могат да бъдат заявени като собственост на други.

Fault Injection IP Core FPGA производителност и използване на ресурсите

устройство ALMs Логически регистри M20K
Първичен Вторичен
Stratix V A7 3,821 5,179 0 0

Инсталацията на софтуера Intel Quartus Prime включва IP библиотеката Intel FPGA. Тази библиотека предоставя много полезни IP ядра за вашата производствена употреба без необходимост от допълнителен лиценз. Някои FPGA IP ядра на Intel изискват закупуване на отделен лиценз за производствена употреба. Режимът за оценка на Intel FPGA IP ви позволява да оцените тези лицензирани Intel FPGA IP ядра в симулация и хардуер, преди да решите да закупите пълен производствен лиценз за IP ядро. Трябва само да закупите пълен производствен лиценз за лицензирани Intel IP ядра, след като завършите хардуерното тестване и сте готови да използвате IP в производството. Софтуерът Intel Quartus Prime инсталира IP ядра на следните места по подразбиране:

Инсталационен път на IP Core

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

Места за инсталиране на IP Core

Местоположение Софтуер Платформа
:\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

Забележка: Софтуерът Intel Quartus Prime не поддържа интервали в инсталационния път.

Персонализиране и генериране на IP ядра
Можете да персонализирате IP ядра, за да поддържате голямо разнообразие от приложения. Intel Quartus Prime IP каталог и редактор на параметри ви позволяват бързо да изберете и конфигурирате IP основни портове, функции и изход files.

IP каталог и редактор на параметри
IP каталогът показва IP ядрата, налични за вашия проект, включително Intel FPGA IP и други IP, които добавяте към пътя за търсене на IP каталог. Използвайте следните функции на IP каталога, за да намерите и персонализирате IP ядро:

  • Филтриране на IP каталог, за да се покаже IP за активно семейство устройства или да се покаже IP за всички семейства устройства. Ако нямате отворен проект, изберете фамилията устройства в IP каталога.
  • Въведете в полето за търсене, за да намерите всяко пълно или частично IP основно име в IP каталога.
  • Щракнете с десния бутон върху име на IP ядро ​​в IP каталога, за да покажете подробности за поддържаните устройства, за да отворите инсталационната папка на IP ядрото и за връзки към IP документация.
  • Кликнете Търсене на Partner IP to access partner IP information on the web.

Редакторът на параметри ви подканва да посочите име на вариант на IP, незадължителни портове и изход file опции за генериране. Редакторът на параметри генерира Intel Quartus Prime IP от първо ниво file (.ip) за вариант на IP в проекти на Intel Quartus Prime Pro Edition. Редакторът на параметри генерира Quartus IP от най-високо ниво file (.qip) за IP вариант в проекти на Intel Quartus Prime Standard Edition. Тези files представляват варианта на IP в проекта и съхраняват информация за параметризиране.

Редактор на IP параметри (Intel Quartus Prime Standard Edition)intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-2

IP Core Generation Output (Intel Quartus Prime Pro Edition)

Софтуерът Intel Quartus Prime генерира следния резултат file структура за отделни IP ядра, които не са част от система Platform Designer.

Индивидуален изход за генериране на IP Core (Intel Quartus Prime Pro Edition)intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-3

  • Ако се поддържа и е разрешено за вашия вариант на IP ядро.

Изход Files на Intel FPGA IP поколение

File Име Описание
<вашият_ip>.ip Вариант на IP от най-високо ниво file който съдържа параметризацията на IP ядро ​​във вашия проект. Ако IP вариантът е част от система Platform Designer, редакторът на параметри също генерира .qsys file.
<вашият_ip>.cmp Декларацията на VHDL компонент (.cmp) file е текст file който съдържа локални общи дефиниции и дефиниции на портове, които използвате във VHDL дизайна files.
<вашият_ip>_generation.rpt Дневник за генериране на IP или Platform Designer file. Показва резюме на съобщенията по време на генериране на IP.
продължи…
File Име Описание
<вашият_ip>.qgsimc (само за системи с дизайнер на платформа) Симулационно кеширане file който сравнява .qsys и .ip files с текущата параметризация на системата Platform Designer и IP ядрото. Това сравнение определя дали Platform Designer може да пропусне регенерирането на HDL.
<вашият_ip>.qgsynth (само за системи с дизайнер на платформа) Кеширане на синтеза file който сравнява .qsys и .ip files с текущата параметризация на системата Platform Designer и IP ядрото. Това сравнение определя дали Platform Designer може да пропусне регенерирането на HDL.
<вашият_ip>.qip Съдържа цялата информация за интегриране и компилиране на IP компонента.
<вашият_ip>.csv Съдържа информация за състоянието на надграждане на IP компонента.
.bsf Символно представяне на варианта на IP за използване в блокова диаграма Files (.bdf).
<вашият_ip>.spd Вход file че ip-make-simscript изисква за генериране на симулационни скриптове. .spd file съдържа списък на fileгенерирате за симулация, заедно с информация за спомените, които инициализирате.
<вашият_ip>.ppf Pin Planner File (.ppf) съхранява назначенията на портове и възли за IP компоненти, които създавате за използване с Pin Planner.
<вашият_ip>_bb.v Използвайте черната кутия на Verilog (_bb.v) file като празна декларация на модул за използване като черна кутия.
<вашият_ip>_inst.v или _inst.vhd HDL напрample шаблон за инстанциране. Копирайте и поставете съдържанието на това file във вашия HDL file за инстанциране на IP варианта.
<вашият_ip>.regmap Ако IP съдържа информация за регистъра, софтуерът Intel Quartus Prime генерира .regmap file. .regmap file описва информацията за картата на регистъра на главния и подчинения интерфейси. Това file допълва

.sopcinfo file чрез предоставяне на по-подробна регистърна информация за системата. Това file позволява показване на регистъра views и потребителски персонализирани статистики в системната конзола.

<вашият_ip>.svd Позволява на инструментите за отстраняване на грешки на HPS System view регистрационните карти на периферни устройства, които се свързват към HPS в рамките на система Platform Designer.

По време на синтеза софтуерът Intel Quartus Prime съхранява .svd files за подчинен интерфейс, видим за главните системни конзоли в .sof file в сесията за отстраняване на грешки. Системната конзола чете този раздел, който Platform Designer отправя запитвания за информация за регистрационна карта. За системните подчинени устройства Platform Designer осъществява достъп до регистрите по име.

<вашият_ip>.v

<вашият_ip>.vhd

HDL fileкоито инстанцират всеки подмодул или дъщерно IP ядро ​​за синтез или симулация.
наставник/ Съдържа скрипт msim_setup.tcl за настройка и стартиране на симулация.
aldec/ Съдържа скрипт rivierapro_setup.tcl за настройка и стартиране на симулация.
/synopsys/vcs

/synopsys/vcsmx

Съдържа шел скрипт vcs_setup.sh за настройка и стартиране на симулация.

Съдържа shell скрипт vcsmx_setup.sh и synopsys_sim.setup file за настройка и стартиране на симулация.

/каданс Съдържа шел скрипт ncsim_setup.sh и други настройки files за настройка и стартиране на симулация.
/xcelium Съдържа скрипт на обвивка на паралелен симулатор xcelium_setup.sh и други настройки files за настройка и стартиране на симулация.
/подмодули Съдържа HDL files за IP основния подмодул.
<IP подмодул>/ Platform Designer генерира /synth и /sim поддиректории за всяка директория на IP подмодул, която Platform Designer генерира.

Функционално описание
С IP ядрото за инжектиране на грешки, дизайнерите могат да извършат вътрешно SEFI характеризиране, да мащабират FIT скоростите според SEFI характеризирането и да оптимизират дизайна, за да намалят ефекта от SEU.

Смекчаване на смущения при единични събития

Интегралните схеми и програмируемите логически устройства като FPGA са податливи на SEU. SEUs са случайни, неразрушителни събития, причинени от два основни източника: алфа частици и неутрони от космически лъчи. Излъчването може да накара логическия регистър, бита на вградената памет или бита на конфигурационната RAM (CRAM) да преобърне състоянието си, което води до неочаквана работа на устройството. Intel Arria 10, Intel Cyclone 10 GX, Arria V, Cyclone V, Stratix V и по-новите устройства имат следните CRAM възможности:

  • Циклична проверка на излишъка при откриване на грешки (EDCRC)
  • Автоматична корекция на разстроен CRAM (почистване)
  • Възможност за създаване на разстроено състояние на CRAM (инжектиране на грешка)

За повече информация относно смекчаването на SEU в устройствата на Intel FPGA вижте главата за смекчаване на SEU в съответното ръководство за устройство.

Инжектиране на грешка Описание на IP щифта

IP ядрото за инжектиране на грешки включва следните I/O пинове.

Инжектиране на грешка IP Core I/O Pins

ПИН име Посока на щифта ПИН Описание
crcerror_pin вход Вход от регистъра за разтоварване на съобщения за грешка Intel FPGA IP (EMR Unloader IP). Този сигнал се подава, когато CRC грешка е открита от EDCRC на устройството.
emr_данни вход Съдържание на регистъра на съобщенията за грешка (EMR). Обърнете се към ръководството на съответното устройство за EMR полетата.

Този вход съответства на сигнала на интерфейса за данни на Avalon Streaming.

emr_valid вход Показва, че входовете emr_data съдържат валидни данни. Това е валиден интерфейсен сигнал на Avalon Streaming.
Нулиране вход Вход за нулиране на модула. Нулирането се контролира изцяло от Fault Injection Debugger.
error_injected изход Показва, че е инжектирана грешка в CRAM, както е командвано чрез JTAG интерфейс. Продължителността на времето, което този сигнал потвърждава, зависи от вашите настройки на JTAG TCK и сигнали на контролния блок. Обикновено времето е около 20 тактови цикъла на TCK сигнала.
error_scrubbed изход Показва, че почистването на устройството е завършено, както е командвано чрез JTAG интерфейс. Продължителността на времето, което този сигнал потвърждава, зависи от вашите настройки на JTAG TCK и сигнали на контролния блок. Обикновено времето е около 20 тактови цикъла на TCK сигнала.
insc изход Изход по избор. Fault Injection IP използва този часовник, напрample, за часовник на блока EMR_unloader.

Инжектиране на повреда IP Pin Diagram

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

Използване на Fault Injection Debugger и IP Core за инжектиране на грешки

Дебъгерът за инжектиране на грешки работи заедно с IP ядрото за инжектиране на грешки. Първо създавате IP ядрото във вашия дизайн, компилирате и изтегляте получената конфигурация file във вашето устройство. След това стартирате Fault Injection Debugger от софтуера Intel Quartus Prime или от командния ред, за да симулирате меки грешки.

  • Дебъгерът за инжектиране на грешки ви позволява да управлявате експерименти с инжектиране на грешки интерактивно или чрез пакетни команди и ви позволява да посочите логическите области във вашия дизайн за инжектиране на грешки.
  • Интерфейсът на командния ред е полезен за стартиране на дебъгера чрез скрипт.

Забележка

Дебъгерът за инжектиране на грешки комуникира с IP ядрото за инжектиране на грешки чрез JTAG интерфейс. Fault Injection IP приема команди от JTAG интерфейс и отчита състоянието обратно чрез JTAG интерфейс. IP ядрото за инжектиране на грешки е внедрено в мека логика във вашето устройство; следователно трябва да вземете предвид тази логическа употреба във вашия дизайн. Една методология е да охарактеризирате реакцията на вашия дизайн към SEU в лабораторията и след това да пропуснете IP ядрото от окончателния си внедрен дизайн.

Вие използвате IP ядрото за инжектиране на грешки със следните IP ядра:

  • IP ядрото за разтоварване на регистър на съобщения за грешка, което чете и съхранява данни от заздравената схема за откриване на грешки в FPGA устройствата на Intel.
  • (По избор) Intel FPGA IP ядрото Advanced SEU Detection, което сравнява местоположенията на еднобитови грешки с карта на чувствителността по време на работа на устройството, за да определи дали меката грешка го засяга.

Дебъгерът за инжектиране на грешка приключиview Блок-диаграмаintel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-5

Бележки:

  1. IP инжектирането на грешка обръща битовете на целевата логика.
  2. Дебъгерът за инжектиране на грешки и IP за разширено откриване на SEU използват един и същ екземпляр на EMR Unloader.
  3. IP ядрото Advanced SEU Detection не е задължително.

Свързана информация

  • Относно SMH Files на страница 13
  • За EMR Unloader IP Core на страница 10
  • За разширеното IP ядро ​​за откриване на SEU на страница 11

Инстанциране на IP ядрото за инжектиране на грешка

ЗАБЕЛЕЖКА

IP ядрото за инжектиране на грешки не изисква да задавате никакви параметри. За да използвате IP ядрото, създайте нов IP екземпляр, включете го във вашата система Platform Designer (Standard) и свържете сигналите, както е подходящо. Трябва да използвате IP ядрото Fault Injection с IP ядрото EMR Unloader. IP ядрата Fault Injection и EMR Unloader са налични в Platform Designer и IP каталога. По желание можете да ги инстанцирате директно във вашия RTL дизайн, като използвате Verilog HDL, SystemVerilog или VHDL.

Относно IP Core на EMR Unloader
IP ядрото на EMR Unloader осигурява интерфейс към EMR, който се актуализира непрекъснато от EDCRC на устройството, който проверява CRC битовете CRAM на устройството за меки грешки.

ExampСистема за проектиране на платформа, включително IP ядро ​​за инжектиране на грешки и IP ядро ​​за разтоварване на EMRintel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-6

Example Fault Injection IP Core и EMR Unloader IP Core Блокова схема

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

Свързана информация
Съобщение за грешка Register Unloader Intel FPGA IP Core Ръководство за потребителя

Относно IP ядрото за разширено откриване на SEU

Използвайте IP ядрото за разширено откриване на SEU (ASD), когато толерантността на SEU е проблем при дизайна. Трябва да използвате IP ядрото на EMR Unloader с IP ядрото на ASD. Следователно, ако използвате ASD IP и Fault Injection IP в един и същ дизайн, те трябва да споделят изхода на EMR Unloader чрез компонент на сплитер Avalon®-ST. Следващата фигура показва система Platform Designer, в която сплитер Avalon-ST разпределя EMR съдържанието към ASD и IP ядрата за инжектиране на грешки.

Използване на ASD и IP за инжектиране на грешки в същата система за проектиране на платформаintel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-8

Свързана информация
Ръководство за потребителя на Intel FPGA IP Core за разширено откриване на SEU

Определяне на зони за инжектиране на грешки
Можете да дефинирате конкретни региони на FPGA за инжектиране на грешки, като използвате заглавка на карта на чувствителността (.smh) file. SMH file съхранява координатите на CRAM битовете на устройството, присвоения им регион (ASD регион) и критичността. По време на процеса на проектиране използвате йерархия tagging за създаване на региона. След това, по време на компилация, Intel Quartus Prime Assembler генерира SMH file. Дебъгерът за инжектиране на грешки ограничава инжектирането на грешки до конкретни региони на устройството, които дефинирате в SMH file.

Изпълнение на йерархията Tagging
Вие дефинирате FPGA регионите за тестване, като присвоите ASD регион на местоположението. Можете да посочите стойност на ASD регион за всяка част от йерархията на вашия дизайн, като използвате прозореца за дялове за проектиране.

  1. Изберете Задания ➤ Прозорец за проектиране на дялове.
  2. Щракнете с десния бутон някъде в заглавния ред и включете ASD Region, за да се покаже колоната ASD Region (ако вече не е показана).
  3. Въведете стойност от 0 до 16 за който и да е дял, за да го присвоите към конкретен ASD регион.
    • ASD регион 0 е запазен за неизползвани части на устройството. Можете да присвоите дял на този регион, за да го посочите като некритичен.
    • ASD регион 1 е регионът по подразбиране. Всички използвани части на устройството са присвоени на този регион, освен ако изрично не промените присвояването на ASD регион.

Относно SMH Files

SMH file съдържа следната информация:

  • Ако не използвате йерархия tagging (т.е. дизайнът няма изрични назначения на ASD регион в йерархията на дизайна), SMH file изброява всеки CRAM бит и показва дали е чувствителен за дизайна.
  • Ако сте извършили йерархия tagging и променени назначения по подразбиране на ASD Region, SMH file изброява всеки CRAM бит и му е присвоен ASD регион.

Дебъгерът за инжектиране на грешки може да ограничи инжекциите до един или повече определени региони. За насочване на асемблера да генерира SMH file:

  • Изберете Присвоявания ➤ Устройство ➤ Опции за устройство и ПИН ➤ CRC за откриване на грешки.
  • Включете Generate SEU sensitivity map file (.smh) опция.

Използване на дебъгера за инжектиране на грешки

ЗАБЕЛЕЖКА
За да използвате Fault Injection Debugger, вие се свързвате с вашето устройство чрез JTAG интерфейс. След това конфигурирайте устройството и извършете инжектиране на грешки. За да стартирате Fault Injection Debugger, изберете Tools ➤ Fault Injection Debugger в софтуера Intel Quartus Prime. Конфигурирането или програмирането на устройството е подобно на процедурата, използвана за програмиста или логическия анализатор на сигнала.

Дебъгер за инжектиране на грешки

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

За да конфигурирате вашия JTAG верига:

  1. Щракнете върху Настройка на хардуера. Инструментът показва хардуера за програмиране, свързан към вашия компютър.
  2. Изберете хардуера за програмиране, който искате да използвате.
  3. Щракнете върху Затвори.
  4. Щракнете върху Автоматично откриване, което попълва веригата на устройствата с програмируемите устройства, намерени в JTAG верига.

Свързана информация
Функция за насочено инжектиране на грешки на страница 21

Хардуерни и софтуерни изисквания

Следният хардуер и софтуер са необходими за използване на Fault Injection Debugger:

  • Ред FEATURE във вашия лиценз за Intel FPGA, който позволява IP ядрото за инжектиране на грешки. За повече информация се свържете с местния търговски представител на Intel FPGA.
  • Кабел за изтегляне (кабел за изтегляне на Intel FPGA, кабел за изтегляне на Intel FPGA II, , или II).
  • Intel FPGA комплект за разработка или проектирана от потребителя платка с JTAG връзка с тестваното устройство.
  • (По избор) Ред FEATURE във вашия лиценз за Intel FPGA, който позволява IP ядрото Advanced SEU Detection.

Конфигуриране на вашето устройство и програмата за отстраняване на грешки при инжектиране на грешки

Дебъгерът за инжектиране на грешки използва .sof и (по избор) заглавка на картата на чувствителността (.smh) file. Софтуерният обект File (.sof) конфигурира FPGA. .smh file определя чувствителността на CRAM битовете в устройството. Ако не предоставите .smh file, дебъгерът за инжектиране на грешки инжектира произволно грешки в CRAM битовете. За да посочите .sof:

  1. Изберете FPGA, който искате да конфигурирате в полето Device chain.
  2. Щракнете върху Избор File.
  3. Отидете до .sof и щракнете върху OK. Дебъгерът за инжектиране на грешки чете .sof.
  4. (По избор) Изберете SMH file.
    Ако не посочите SMH file, Fault Injection Debugger инжектира грешки на случаен принцип в цялото устройство. Ако посочите SMH file, можете да ограничите инжекциите до използваните зони на вашето устройство.
    • Щракнете с десния бутон върху устройството в полето Device chain и след това щракнете върху Select SMH File.
    • Изберете своя SMH file.
    • Натиснете OK.
  5. Включете Програмиране/Конфигуриране.
  6. Щракнете върху Старт.

Дебъгерът за инжектиране на грешки конфигурира устройството с помощта на .sof.

Контекстно меню за избор на SMH File

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

Ограничаващи региони за инжектиране на грешки

След зареждане на SMH file, можете да насочите Fault Injection Debugger да работи само върху определени ASD региони. За да посочите ASD региона(ите), в който да се инжектират грешки:

  1. Щракнете с десния бутон върху FPGA в полето Device chain и щракнете върху Show Device Sensitivity Map.
  2. Изберете ASD регион(и) за инжектиране на грешка.

Карта на чувствителността на устройството Viewer

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

Задаване на типове грешки

Можете да посочите различни видове грешки за инжектиране.

  • Единични грешки (SE)
  • Двойно съседни грешки (DAE)
  • Некоригируеми многобитови грешки (EMBE)

Устройствата Intel FPGA могат самостоятелно да коригират единични и двойни съседни грешки, ако функцията за почистване е активирана. Устройствата Intel FPGA не могат да коригират многобитови грешки. Обърнете се към главата за смекчаване на SEU за повече информация относно отстраняването на грешки при тези грешки. Можете да посочите комбинацията от грешки за инжектиране и интервала от време на инжектиране. За да зададете интервала от време на инжектиране:

  1. В Fault Injection Debugger изберете Tools ➤ Options.
  2. Плъзнете червения контролер към комбинацията от грешки. Като алтернатива можете да посочите микса числено.
  3. Посочете времето за интервал на инжектиране.
  4. Натиснете OK.

Фигура 12. Определяне на комбинация от типове грешки на SEUintel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-12

Свързана информация Смекчаване на разстройването при единично събитие

Грешки при инжектиране

Можете да инжектирате грешки в няколко режима:

  • Инжектиране на една грешка при команда
  • Инжектиране на множество грешки при команда
  • Инжектирайте грешки, докато не получите команда за спиране

За да инжектирате тези грешки:

  1. Включете опцията Inject Fault.
  2. Изберете дали искате да стартирате инжектиране на грешки за няколко повторения или докато спрете:
    • Ако изберете да работи до спиране, Fault Injection Debugger инжектира грешки в интервала, определен в диалоговия прозорец Инструменти ➤ Опции.
    • Ако искате да стартирате инжектиране на грешки за определен брой итерации, въведете числото.
  3. Щракнете върху Старт.

Забележка: Дебъгерът за инжектиране на грешки работи за определения брой итерации или докато спре. Прозорецът Intel Quartus Prime Messages показва съобщения за инжектираните грешки. За допълнителна информация относно инжектираните грешки щракнете върху Прочетете EMR. Дебъгерът за инжектиране на грешки чете EMR на устройството и показва съдържанието в прозореца Съобщения.

Intel Quartus Prime Error Injection и съобщения за съдържание на EMR

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

Грешки при записване
Можете да запишете местоположението на всяка инжектирана грешка, като отбележите параметрите, докладвани в прозореца Intel Quartus Prime Messages. Ако напрampако инжектирана грешка води до поведение, което бихте искали да повторите, можете да насочите това място за инжектиране. Извършвате целево инжектиране с помощта на интерфейса на командния ред на Fault Injection Debugger.

Изчистване на инжектираните грешки
За да възстановите нормалната функция на FPGA, щракнете върху Scrub. Когато изтриете грешка, EDCRC функциите на устройството се използват за коригиране на грешките. Механизмът за почистване е подобен на този, използван по време на работа на устройството.

Интерфейс на командния ред
Можете да стартирате Fault Injection Debugger от командния ред с изпълнимия файл quartus_fid, което е полезно, ако искате да извършите инжектиране на грешки от скрипт.

Таблица 5. Аргументи на командния ред за инжектиране на грешки

Кратък аргумент Дълъг аргумент Описание
c кабел Посочете програмен хардуер или кабел. (задължително)
i индекс Посочете активното устройство за инжектиране на грешка. (задължително)
n номер Посочете броя на грешките за инжектиране. Стойността по подразбиране е

1. (По избор)

t време Интервал между инжекциите. (по избор)

Забележка: Използвайте quartus_fid –помогнете за view всички налични опции. Следният код предоставя напрampфайлове с помощта на интерфейса на командния ред на Fault Injection Debugger.
###############################################

  • # Разберете кои USB кабели са налични за този случай
  • # Резултатът показва, че е наличен един кабел, наречен “USB-Blaster” #
  • $ quartus_fid –списък. . .
  • Информация: Команда: quartus_fid –списък
    1. USB-Blaster на sj-sng-z4 [USB-0] Информация: Intel Quartus Prime 64-Bit Fault Injection Debugger беше успешен. 0 грешки, 0 предупреждения
  • ############################################## #
  • # Намерете кои устройства са налични на USB-Blaster кабел
  • # Резултатът показва две устройства: Stratix V A7 и MAX V CPLD. #
  • $ quartus_fid –кабел USB-Blaster -a
  • Информация: Команда: quartus_fid –cable=USB-Blaster -a
  • Информация (208809): Използване на кабел за програмиране „USB-Blaster на sj-sng-z4 [USB-0]“
    1. USB-Blaster на sj-sng-z4 [USB-0]
  • 029030DD 5SGXEA7H(1|2|3)/5SGXEA7K1/..
  • 020A40DD 5M2210Z/EPM2210
  • Информация: Intel Quartus Prime 64-Bit Fault Injection Debugger беше успешен.
  • 0 грешки, 0 предупреждения
  • ############################################## #
  • # Програмирайте устройството Stratix V
  • # Опцията –index указва операции, извършвани на свързано устройство.
  • # “=svgx.sof” асоциира .sof file с устройството
  • # “#p” означава програмиране на устройството #
  • $ quartus_fid –кабел USB-Blaster –индекс “@1=svgx.sof#p” . . .
  • Информация (209016): Конфигуриране на устройство индекс 1
  • Информация (209017): Устройство 1 съдържа JTAG ID код 0x029030DD
  • Информация (209007): Конфигурацията е успешна — 1 устройство(а) е конфигурирано
  • Информация (209011): Успешно извършени операции
  • Информация (208551): Програмиране на подпис в устройство 1.
  • Информация: Intel Quartus Prime 64-Bit Fault Injection Debugger беше успешен.
  • 0 грешки, 0 предупреждения
  • ############################################## #
  • # Инжектиране на грешка в устройството.
  • # Операторът #i показва инжектиране на грешки
  • # -n 3 показва инжектиране на 3 грешки #
  • $ quartus_fid –кабел USB-Blaster –индекс “@1=svgx.sof#i” -n 3
  • Информация: Команда: quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 3
  • Информация (208809): Използване на кабел за програмиране „USB-Blaster на sj-sng-z4 [USB-0]“
  • Информация (208521): Инжектира 3 грешки в устройство(а)
  • Информация: Intel Quartus Prime 64-Bit Fault Injection Debugger беше успешен.
  • 0 грешки, 0 предупреждения
  • ############################################## #
  • # Интерактивен режим.
  • # Използването на операция #i с -n 0 поставя дебъгера в интерактивен режим.
  • # Имайте предвид, че 3 грешки бяха инжектирани в предишната сесия;
  • # “E” чете грешките в момента в IP ядрото на EMR Unloader. #
  • $ quartus_fid –кабел USB-Blaster –индекс “@1=svgx.sof#i” -n 0
  • Информация: Команда: quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 0
  • Информация (208809): Използване на кабел за програмиране „USB-Blaster на sj-sng-z4 [USB-0]“
  • Въведете:
  • 'F' за инжектиране на грешка
  • „E“ за четене на EMR
  • „S“ за изтриване на грешка(и)
  • 'Q' за излизане от E
  • Информация (208540): Четене на EMR масив
  • Информация (208544): 3 грешки в кадъра са открити в устройство 1.
  • Информация (208545): Грешка #1: Единична грешка в рамка 0x1028 при бит 0x21EA.
  • Информация (10914): Грешка #2: Некоригируема многобитова грешка в рамка 0x1116.
  • Информация (208545): Грешка #3: Единична грешка в рамка 0x1848 при бит 0x128C.
  • 'F' за инжектиране на грешка
  • „E“ за четене на EMR
  • „S“ за изтриване на грешка(и)
  • 'Q' за излизане от Q
  • Информация: Intel Quartus Prime 64-Bit Fault Injection Debugger беше успешен. 0 грешки, 0 предупреждения
  • Информация: Пикова виртуална памет: 1522 мегабайта
  • Информация: Обработката приключи: понеделник, 3 ноември 18:50:00 2014 г
  • Информация: Изминало време: 00:00:29
  • Информация: Общо процесорно време (на всички процесори): 00:00:13

Функция за насочено инжектиране на грешки

Забележка

Дебъгерът за инжектиране на грешки инжектира грешки в FPGA произволно. Въпреки това, функцията Targeted Fault Injection ви позволява да инжектирате грешки в целеви места в CRAM. Тази операция може да бъде полезна, напрample, ако сте забелязали SEU събитие и искате да тествате FPGA или системния отговор на същото събитие след модифициране на стратегия за възстановяване. Функцията Targeted Fault Injection е достъпна само от интерфейса на командния ред. Можете да укажете грешките да се инжектират от командния ред или в режим на подкана. Свързана информация

AN 539: Тестова методология или откриване и възстановяване на грешки с помощта на CRC в FPGA устройства на Intel

Посочване на списък с грешки от командния ред

Функцията Targeted Fault Injection ви позволява да посочите списък с грешки от командния ред, както е показано в следния примерample: c:\Users\sng> quartus_fid -c 1 – i “@1= svgx.sof#i ” -n 2 -user=”@1= 0x2274 0x05EF 0x2264 0x0500″ Където: c 1 показва, че FPGA се контролира от първия кабел на вашия компютър. i “@1= six.sof#i ” показва, че първото устройство във веригата е заредено с обекта file svgx.sof и ще бъде инжектиран с грешки. n 2 показва, че ще бъдат инжектирани две грешки. user=”@1= 0x2274 0x05EF 0x2264 0x0500” е указан от потребителя списък с грешки, които да бъдат инжектирани. В този бившample, устройство 1 има две грешки: при рамка 0x2274, бит 0x05EF и при рамка 0x2264, бит 0x0500.

Посочване на списък с грешки от режим на подкана

Можете да управлявате функцията Targeted Fault Injection интерактивно, като укажете броя на грешките да бъде 0 (-n 0). Дебъгерът за инжектиране на грешки представя команди в режим на подкана и техните описания.

Команда за режим на подкана Описание
F Инжектиране на грешка
E Прочетете EMR
S Грешки при почистване
Q Откажете се

В режим на подкана можете да издадете само командата F, за да инжектирате единична грешка на произволно място в устройството. В следното изхampизползвайки командата F в режим на подкана, се инжектират три грешки. F #3 0x12 0x34 0x56 0x78 * 0x9A 0xBC +

  • Грешка 1 – Грешка с един бит при рамка 0x12, бит 0x34
  • Грешка 2 – Некоригируема грешка при рамка 0x56, бит 0x78 (* показва многобитова грешка)
  • Грешка 3 – Двойна съседна грешка при кадър 0x9A, бит 0xBC (a + показва двойна битова грешка)

F 0x12 0x34 0x56 0x78 * Инжектирана е една (по подразбиране) грешка: Грешка 1 – Единична битова грешка при рамка 0x12, бит 0x34. Местата след първия кадър/битово местоположение се игнорират. F #3 0x12 0x34 0x56 0x78 * 0x9A 0xBC + 0xDE 0x00

Инжектират се три грешки:

  • Грешка 1 – Грешка с един бит при рамка 0x12, бит 0x34
  • Грешка 2 – Некоригируема грешка при рамка 0x56, бит 0x78
  • Грешка 3 – Двойна съседна грешка при рамка 0x9A, бит 0xBC
  • Местоположенията след първите 3 двойки кадър/бит се игнорират

Определяне на местата на CRAM битове

Забележка: 

Когато дебъгерът за инжектиране на грешки открие CRAM EDCRC грешка, регистърът на съобщенията за грешка (EMR) съдържа синдрома, номера на рамката, местоположението на битовете и типа на грешката (единична, двойна или многобитова) на откритата CRAM грешка. По време на системното тестване запазете съдържанието на EMR, докладвано от Fault Injection Debugger, когато откриете грешка на EDCRC. Със записаното съдържание на EMR можете да предоставите номерата на рамката и битовете на Fault Injection Debugger, за да възпроизведете грешките, отбелязани по време на системното тестване, за по-нататъшно проектиране и характеризиране на отговора за възстановяване на системата към тази грешка.

Свързана информация
AN 539: Тестова методология или откриване и възстановяване на грешки с помощта на CRC в FPGA устройства на Intel

Разширени опции на командния ред: ASD региони и претегляне на типа грешка

Можете да използвате интерфейса на командния ред на Fault Injection Debugger, за да инжектирате грешки в ASD региони и да претеглите типовете грешки. Първо, вие указвате комбинацията от типове грешки (единичен бит, двойно съседни и многобитови некоригируеми), като използвате –weight . . опция. Напримерample, за комбинация от 50% единични грешки, 30% двойни съседни грешки и 20% многобитови некоригируеми грешки, използвайте опцията –weight=50.30.20. След това, за да се насочите към ASD регион, използвайте опцията -smh, за да включите SMH file и посочете ASD региона към насочване. Напримерample: $ quartus_fid –cable=USB-BlasterII –index “@1=svgx.sof#pi” –weight=100.0.0 –smh=”@1=svgx.smh#2″ –number=30

Този бившample команда:

  • Програмира устройството и инжектира грешки (pi низ)
  • Инжектира 100% еднобитови грешки (100.0.0)
  • Инжектира само в ASD_REGION 2 (обозначено с #2)
  • Инжектира 30 грешки

Fault Injection IP Core User Guide Архив

Версия IP Core Ръководство за потребителя
18.0 Fault Injection Intel FPGA IP Core Ръководство за потребителя
17.1 Intel FPGA Fault Injection IP Core Ръководство за потребителя
16.1 Altera Fault Injection IP Core Ръководство за потребителя
15.1 Altera Fault Injection IP Core Ръководство за потребителя

Ако версия на IP ядро ​​не е посочена, се прилага ръководството за потребителя за предишната версия на IP ядро.

Хронология на ревизиите на документа за инжектиране на грешки IP Core Ръководство за потребителя

Версия на документа Intel Quartus Prime версия Промени
2019.07.09 18.1 Актуализиран на Инжектиране на грешка Описание на IP щифта тема за изясняване на сигналите Reset, error_injected и error_scrubbed.
2018.05.16 18.0 • Добавени са следните теми от Intel Quartus Prime Pro Edition Handbook:

—   Определяне на зони за инжектиране на грешки и подтеми.

—   Използване на дебъгера за инжектиране на грешки и подтеми.

—   Интерфейс на командния ред и подтеми.

• Преименува ядрото Intel FPGA Fault Injection IP на Fault Injection Intel FPGA IP.

Дата Версия Промени
2017.11.06 17.1 • Ребрандиран като Intel.

• Добавена поддръжка на устройства Intel Cyclone 10 GX.

2016.10.31 16.1 Актуализирана поддръжка на устройства.
2015.12.15 15.1 • Променен софтуер Quartus II на Quartus Prime.

• Фиксирана свързана връзка за саморефериране.

2015.05.04 15.0 Първоначално издание.

 

Документи / Ресурси

intel UG-01173 Fault Injection FPGA IP Core [pdf] Ръководство за потребителя
UG-01173 Fault Injection FPGA IP Core, UG-01173, Fault Injection FPGA IP Core, Injection c, Injection FPGA IP Core

Референции

Оставете коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са маркирани *