intel-логотип

Intel UG-01173 Fault Injection FPGA IP Core

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

Инъекция ошибок Intel® FPGA IP Core Руководство пользователя

IP-ядро Intel® FPGA Fault Injection вводит ошибки в конфигурационное ОЗУ (CRAM) устройства FPGA. Эта процедура имитирует программные ошибки, которые могут возникать во время нормальной работы из-за одиночных сбоев (SEU). SEU — редкие события, поэтому их трудно протестировать. После того как вы добавите IP-ядро Fault Injection в свой проект и настроите свое устройство, вы можете использовать инструмент Intel Quartus® Prime Fault Injection Debugger, чтобы вызвать преднамеренные ошибки в FPGA, чтобы проверить реакцию системы на эти ошибки.

Сопутствующая информация

  • Сбои в одном событии
  • AN 737: Обнаружение и восстановление SEU в устройствах Intel Arria 10

Функции

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

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

IP-ядро Fault Injection поддерживает устройства семейства 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 гарантирует производительность своих FPGA и полупроводниковых продуктов в соответствии с текущими спецификациями в соответствии со стандартной гарантией Intel, но оставляет за собой право вносить изменения в любые продукты и услуги в любое время без предварительного уведомления. Intel не принимает на себя никакой ответственности или обязательств, возникающих в связи с применением или использованием какой-либо информации, продуктов или услуг, описанных в настоящем документе, за исключением случаев, когда это прямо согласовано с корпорацией Intel в письменной форме. Клиентам Intel рекомендуется получить последнюю версию спецификаций устройств, прежде чем полагаться на какую-либо опубликованную информацию и размещать заказы на продукты или услуги. *Другие названия и торговые марки могут быть заявлены как собственность других лиц.

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

Устройство ALM Логические регистры М20К
Начальный Вторичный
Стратикс V A7 3,821 5,179 0 0

Установка программного обеспечения Intel Quartus Prime включает IP-библиотеку Intel FPGA. Эта библиотека предоставляет множество полезных IP-ядер для вашего производственного использования без необходимости в дополнительной лицензии. Некоторые IP-ядра Intel FPGA требуют приобретения отдельной лицензии для производственного использования. Режим оценки IP-ядра Intel FPGA позволяет вам оценить эти лицензированные IP-ядра Intel FPGA в моделировании и аппаратном обеспечении, прежде чем принять решение о покупке полной лицензии на IP-ядро. Вам нужно приобрести полную производственную лицензию для лицензированных ядер Intel IP только после того, как вы завершите тестирование оборудования и будете готовы использовать IP в производстве. Программное обеспечение Intel Quartus Prime по умолчанию устанавливает IP-ядра в следующих местах:

Путь установки ядра IP

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

Места установки ядра IP

Расположение Программное обеспечение Платформа
:\intelFPGA_pro\quartus\ip\altera Intel Quartus Prime Pro Edition Windows *
:\intelFPGA\quartus\ip\altera Стандартная версия Intel Quartus Prime Окна
:/intelFPGA_pro/quartus/ip/altera Intel Quartus Prime Pro Edition Linux *
:/intelFPGA/quartus/ip/altera Стандартная версия Intel Quartus Prime линукс

Примечание: Программное обеспечение Intel Quartus Prime не поддерживает пробелы в пути установки.

Настройка и создание IP-ядер
Вы можете настроить IP-ядра для поддержки широкого спектра приложений. Каталог Intel Quartus Prime IP и редактор параметров позволяют быстро выбирать и настраивать основные IP-порты, функции и выходные данные. files.

Каталог IP и редактор параметров
В каталоге IP отображаются IP-ядра, доступные для вашего проекта, включая IP-адрес Intel FPGA и другие 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 варианты генерации. Редактор параметров генерирует IP-адрес Intel Quartus Prime верхнего уровня. file (.ip) для варианта IP в проектах Intel Quartus Prime Pro Edition. Редактор параметров генерирует IP-адрес Quartus верхнего уровня. 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 (Intel Quartus Prime Pro Edition)

Программное обеспечение Intel Quartus Prime генерирует следующий вывод file структура для отдельных IP-ядер, не являющихся частью системы Platform Designer.

Индивидуальный вывод генерации ядра IP (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>.csv Содержит информацию о статусе обновления IP-компонента.
.bsf Символическое представление варианта IP для использования в блок-схеме. Fileс (.bdf).
<ваш_ip>.spd Вход file что ip-make-simscript требует создания сценариев моделирования. .spd file содержит список files, которые вы создаете для симуляции, вместе с информацией о памяти, которую вы инициализируете.
<ваш_ip>.ppf Планировщик контактов File (.ppf) хранит назначения портов и узлов для IP-компонентов, которые вы создаете для использования с планировщиком выводов.
<ваш_ip>_bb.v Используйте черный ящик Verilog (_bb.v) file как объявление пустого модуля для использования в качестве черного ящика.
<ваш_ip>_inst.v или _inst.vhd ЛПВП эксampле шаблон инстанцирования. Скопируйте и вставьте содержимое этого file в свой HDL file для создания экземпляра варианта IP.
<ваш_ip>.regmap Если IP-адрес содержит регистрационную информацию, программное обеспечение Intel Quartus Prime создает файл .regmap. file. .regmap file описывает информацию карты регистров ведущего и ведомого интерфейсов. Этот file дополняет

.sopcinfo file путем предоставления более подробной регистрационной информации о системе. Этот file включает отображение регистра views и настраиваемая пользователем статистика в системной консоли.

<ваш_ip>.svd Позволяет инструментам отладки системы HPS view карты регистров периферийных устройств, которые подключаются к HPS в системе Platform Designer.

Во время синтеза программное обеспечение Intel Quartus Prime сохраняет .svd files для ведомого интерфейса, видимого для мастеров системной консоли в .sof file в сеансе отладки. Системная консоль читает этот раздел, который Platform Designer запрашивает информацию о карте регистров. Для системных ведомых устройств Platform Designer обращается к регистрам по имени.

<ваш_ip>.v

<ваш_ip>.vhd

ЛПВП file, которые создают каждый подмодуль или дочернее IP-ядро для синтеза или моделирования.
наставник/ Содержит сценарий msim_setup.tcl для настройки и запуска имитации.
альдек/ Содержит скрипт rivierapro_setup.tcl для настройки и запуска моделирования.
/ синопсис / vcs

/ синопсис / vcsmx

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

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

/каденция Содержит сценарий оболочки ncsim_setup.sh и другие настройки. files, чтобы настроить и запустить симуляцию.
/xcelium Содержит сценарий оболочки параллельного симулятора xcelium_setup.sh и другие настройки. files, чтобы настроить и запустить симуляцию.
/подмодули Содержит ЛПВП files для основного субмодуля IP.
<IP-субмодуль>/ Platform Designer создает подкаталоги /synth и /sim для каждого каталога IP-подмодуля, который создает Platform Designer.

Функциональное описание
С помощью IP-ядра Fault Injection разработчики могут самостоятельно определять характеристики SEFI, масштабировать показатели FIT в соответствии с характеристиками SEFI и оптимизировать проекты для уменьшения влияния SEU.

Уменьшение сбоев при одиночном событии

Интегральные схемы и программируемые логические устройства, такие как FPGA, подвержены SEU. SEU — это случайные неразрушающие события, вызванные двумя основными источниками: альфа-частицами и нейтронами космических лучей. Излучение может привести к изменению состояния логического регистра, бита встроенной памяти или бита конфигурационного ОЗУ (CRAM), что приведет к неожиданной работе устройства. Intel Arria 10, Intel Cyclone 10 GX, Arria V, Cyclone V, Stratix V и более новые устройства имеют следующие возможности CRAM:

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

Для получения дополнительной информации о снижении SEU в устройствах Intel FPGA см. главу SEU Mitigation в соответствующем руководстве по устройству.

IP-вывод сбоя Описание

IP-ядро Fault Injection включает в себя следующие контакты ввода-вывода.

Выводы ввода/вывода IP Core для ввода ошибок

Имя пин-кода Направление булавки Описание штифта
crcerror_pin вход Вход из регистра сообщений об ошибках IP-адрес выгрузчика Intel FPGA (IP-адрес выгрузчика EMR). Этот сигнал устанавливается, когда EDCRC устройства обнаруживает ошибку CRC.
emr_data вход Содержимое регистра сообщений об ошибках (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.
вск выход Дополнительный вывод. IP Fault Injection использует эти часы, напримерample, чтобы синхронизировать блок EMR_unloader.

Диаграмма выводов IP-ввода неисправностей

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

Использование отладчика Fault Injection Debugger и IP Core Fault Injection

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

  • Отладчик внедрения ошибок позволяет вам проводить эксперименты по внедрению ошибок в интерактивном режиме или с помощью пакетных команд, а также позволяет указывать логические области в вашем проекте для внедрения ошибок.
  • Интерфейс командной строки удобен для запуска отладчика через сценарий.

Примечание

Отладчик Fault Injection Debugger взаимодействует с IP-ядром Fault Injection через интерфейс J.TAG интерфейс. IP Fault Injection принимает команды от JTAG интерфейс и сообщает о состоянии обратно через JTAG интерфейс. IP-ядро Fault Injection реализовано в программной логике вашего устройства; поэтому вы должны учитывать использование этой логики в своем дизайне. Один метод заключается в том, чтобы охарактеризовать реакцию вашего проекта на SEU в лаборатории, а затем исключить IP-ядро из вашего окончательного развернутого проекта.

Вы используете IP-ядро Fault Injection со следующими IP-ядрами:

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

Отладчик внедрения ошибок завершенview Блок-схемаIntel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-5

Примечания:

  1. IP Fault Injection переворачивает биты целевой логики.
  2. Отладчик внедрения ошибок и IP-адрес расширенного обнаружения SEU используют один и тот же экземпляр EMR Unloader.
  3. IP-ядро Advanced SEU Detection является необязательным.

Сопутствующая информация

  • О СМХ Fileна стр. 13
  • Об IP-ядре EMR Unloader на стр. 10
  • О IP-ядре Advanced SEU Detection на стр. 11

Создание IP-ядра Fault Injection

ПРИМЕЧАНИЕ

IP-ядро Fault Injection не требует установки каких-либо параметров. Чтобы использовать ядро ​​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-ядре EMR Unloader
IP-ядро EMR Unloader обеспечивает интерфейс для EMR, который постоянно обновляется с помощью EDCRC устройства, который проверяет CRC битов CRAM устройства на наличие программных ошибок.

ExampСистема Platform Designer, включающая IP-ядро Fault Injection и IP-ядро EMR UnloaderIntel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-6

Example Блок-схема IP-ядра Fault Injection и IP-ядра EMR Unloader

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

Сопутствующая информация
Сообщение об ошибке Регистрация разгрузчика Intel FPGA IP Core User Guide

О ядре Advanced SEU Detection IP Core

Используйте IP-ядро Advanced SEU Detection (ASD), если устойчивость к SEU является конструктивной проблемой. Вы должны использовать IP-ядро EMR Unloader с IP-ядром ASD. Следовательно, если вы используете IP ASD и IP Fault Injection в одной и той же конструкции, они должны совместно использовать выход EMR Unloader через компонент-разделитель Avalon®-ST. На следующем рисунке показана система Platform Designer, в которой разветвитель Avalon-ST распределяет содержимое EMR по ядрам ASD и Fault Injection IP.

Использование ASD и IP Fault Injection в одной и той же системе Platform DesignerIntel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-8

Сопутствующая информация
Advanced SEU Detection Intel FPGA IP Core Руководство пользователя

Определение областей введения разломов
Вы можете определить определенные области FPGA для внедрения ошибок, используя заголовок карты чувствительности (.smh). file. SMH file хранит координаты битов CRAM устройства, назначенную им область (ASD Region) и критичность. В процессе проектирования вы используете иерархию tagging для создания области. Затем во время компиляции Intel Quartus Prime Assembler генерирует SMH. file. Отладчик Fault Injection Debugger ограничивает внедрение ошибок определенными областями устройства, которые вы определяете в SMH. file.

Исполнительская иерархия Tagджин
Вы определяете области FPGA для тестирования, назначая область ASD для местоположения. Вы можете указать значение региона ASD для любой части вашей иерархии дизайна, используя окно Design Partitions.

  1. Выберите «Назначения» ➤ «Окно разделов дизайна».
  2. Щелкните правой кнопкой мыши в любом месте строки заголовка и включите параметр «Регион ASD», чтобы отобразить столбец «Регион ASD» (если он еще не отображается).
  3. Введите значение от 0 до 16 для любого раздела, чтобы назначить его определенному региону ASD.
    • Область ASD 0 зарезервирована для неиспользуемых частей устройства. Вы можете назначить раздел этому региону, чтобы указать его как некритичный.
    • Регион ASD 1 является регионом по умолчанию. Все используемые части устройства назначаются этому региону, если вы явно не измените назначение региона ASD.

О СМХ Files

SMH file содержит следующую информацию:

  • Если вы не используете иерархию tag(т. е. в проекте нет явных назначений региона ASD в иерархии проекта), SMH file перечисляет каждый бит CRAM и указывает, является ли он чувствительным для проекта.
  • Если вы выполнили иерархию tagизменения и изменения назначений региона ASD по умолчанию, SMH file перечисляет каждый бит CRAM и назначает ему область ASD.

Отладчик Fault Injection Debugger может ограничить внедрение одной или несколькими указанными областями. Указать Ассемблеру сгенерировать SMH file:

  • Выберите «Назначения» ➤ «Устройство» ➤ «Параметры устройств и выводов» ➤ «Обнаружение ошибок CRC».
  • Включите функцию «Создать карту чувствительности SEU». file (.smh) вариант.

Использование отладчика внедрения ошибок

ПРИМЕЧАНИЕ
Чтобы использовать отладчик Fault Injection Debugger, вы подключаетесь к своему устройству через JTAG интерфейс. Затем настройте устройство и выполните внедрение ошибок. Чтобы запустить отладчик внедрения ошибок, выберите «Инструменты» ➤ «Отладчик внедрения ошибок» в программном обеспечении Intel Quartus Prime. Настройка или программирование устройства аналогичны процедуре, используемой для программатора или логического анализатора отводов сигналов.

Отладчик внедрения ошибок

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

Чтобы настроить JTAG цепь:

  1. Нажмите «Настройка оборудования». Инструмент отображает оборудование для программирования, подключенное к вашему компьютеру.
  2. Выберите оборудование для программирования, которое вы хотите использовать.
  3. Нажмите Закрыть.
  4. Нажмите «Автоопределение», чтобы заполнить цепочку устройств программируемыми устройствами, найденными в J.TAG цепь.

Сопутствующая информация
Целевая функция ввода ошибок на стр. 21

Требования к оборудованию и программному обеспечению

Для использования отладчика Fault Injection Debugger требуется следующее аппаратное и программное обеспечение:

  • Строка FEATURE в вашей лицензии Intel FPGA, которая включает IP-ядро Fault Injection. Для получения дополнительной информации обратитесь к местному торговому представителю 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. Выберите ПЛИС, которую вы хотите настроить, в поле цепочки устройств.
  2. Нажмите Выбрать File.
  3. Перейдите к .sof и нажмите OK. Отладчик внедрения ошибок считывает файл .sof.
  4. (Необязательно) Выберите SMH file.
    Если вы не укажете SMH file, отладчик Fault Injection Debugger вводит ошибки случайным образом по всему устройству. Если вы укажете SMH file, вы можете ограничить инъекции используемыми областями вашего устройства.
    • Щелкните правой кнопкой мыши устройство в поле Цепочка устройств и выберите Выбрать SMH. File.
    • Выберите свой SMH file.
    • Нажмите ОК.
  5. Включите Программу/Настроить.
  6. Нажмите «Пуск».

Отладчик Fault Injection Debugger настраивает устройство с помощью файла .sof.

Контекстное меню для выбора SMH File

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

Ограничение областей для внедрения ошибок

После загрузки SMH file, вы можете указать отладчику внедрения ошибок работать только с определенными регионами ASD. Чтобы указать регион(ы) ASD, в которые следует вводить ошибки:

  1. Щелкните правой кнопкой мыши FPGA в поле Цепочка устройств и выберите Показать карту чувствительности устройства.
  2. Выберите регион(ы) ASD для внедрения ошибок.

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

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

Указание типов ошибок

Вы можете указать различные типы ошибок для инъекции.

  • Одиночные ошибки (SE)
  • Двойные смежные ошибки (DAE)
  • Неисправимые многобитовые ошибки (EMBE)

Устройства Intel FPGA могут самостоятельно исправлять одиночные и двойные смежные ошибки, если включена функция очистки. Устройства Intel FPGA не могут исправлять многобитовые ошибки. Дополнительные сведения об отладке этих ошибок см. в главе об устранении SEU. Вы можете указать набор неисправностей для внедрения и временной интервал внедрения. Чтобы указать временной интервал впрыска:

  1. В отладчике внедрения ошибок выберите «Сервис» ➤ «Параметры».
  2. Перетащите красный контроллер на смесь ошибок. Кроме того, вы можете указать смесь в числовом виде.
  3. Укажите время интервала инъекции.
  4. Нажмите ОК.

Рис. 12. Указание сочетания типов неисправностей SEUIntel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-12

Сопутствующая информация Смягчение сбоев при одиночном событии

Внедрение ошибок

Вы можете вводить ошибки в нескольких режимах:

  • Вводить одну ошибку по команде
  • Вводить несколько ошибок по команде
  • Вводить ошибки до тех пор, пока не будет получена команда остановиться

Чтобы внедрить эти ошибки:

  1. Включите параметр Inject Fault.
  2. Выберите, хотите ли вы запускать внедрение ошибок в течение нескольких итераций или до остановки:
    • Если вы выберете запуск до остановки, отладчик внедрения ошибок будет вводить ошибки с интервалом, указанным в диалоговом окне "Сервис" ➤ "Параметры".
    • Если вы хотите запустить внедрение ошибок для определенного количества итераций, введите это число.
  3. Нажмите «Пуск».

Примечание: Отладчик внедрения ошибок выполняется в течение указанного количества итераций или до тех пор, пока не будет остановлен. В окне "Сообщения Intel Quartus Prime" отображаются сообщения об введенных ошибках. Для получения дополнительной информации о внедренных ошибках щелкните Читать EMR. Отладчик Fault Injection Debugger считывает EMR устройства и отображает содержимое в окне Messages.

Внедрение ошибок Intel Quartus Prime и сообщения о содержимом EMR

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

Ошибки записи
Вы можете записать местоположение любой введенной ошибки, отметив параметры, указанные в окне сообщений Intel Quartus Prime. Если, напримерampЕсли внедренная ошибка приводит к поведению, которое вы хотели бы воспроизвести, вы можете выбрать это место для внедрения. Целевое внедрение выполняется с помощью интерфейса командной строки Fault Injection Debugger.

Очистка внедренных ошибок
Чтобы восстановить нормальную работу FPGA, нажмите Scrub. При очистке ошибки функции EDCRC устройства используются для исправления ошибок. Механизм очистки аналогичен тому, который используется во время работы устройства.

Интерфейс командной строки
Вы можете запустить отладчик внедрения ошибок в командной строке с исполняемым файлом quartus_fid, что полезно, если вы хотите выполнить внедрение ошибок из скрипта.

Табл. 5. Аргументы командной строки для внедрения ошибки

Короткий аргумент Длинный аргумент Описание
c кабель Укажите оборудование для программирования или кабель. (Необходимый)
i индекс Укажите активное устройство для ввода ошибки. (Необходимый)
n число Укажите количество ошибок для ввода. Значение по умолчанию

1. (Необязательно)

t время Интервал времени между инъекциями. (По желанию)

Примечание: Используйте quartus_fid –help для view все доступные варианты. Следующий код предоставляет exampфайлы с помощью интерфейса командной строки Fault Injection Debugger.
##########################################

  • # Узнайте, какие USB-кабели доступны для этого экземпляра
  • # Результат показывает, что доступен один кабель с именем «USB-Blaster» #
  • $quartus_fid –список. . .
  • Информация: Команда: quartus_fid –list
    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-бластер на 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 Идентификационный код 0x029030DD
  • Информация (209007): Конфигурация выполнена успешно — настроено 1 устройство (устройства).
  • Информация (209011): успешно выполненные операции.
  • Информация (208551): подпись программы на устройстве 1.
  • Информация: отладчик Intel Quartus Prime 64-Bit Fault Injection Debugger успешно выполнен.
  • 0 ошибок, 0 предупреждений
  • ############################################# #
  • # Ввести неисправность в устройство.
  • # Оператор #i указывает на ввод ошибок
  • # -n 3 указывает ввести 3 ошибки #
  • $ quartus_fid –кабель USB-Blaster –index «@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 –index «@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' для чтения ЭМИ
  • 'S' для удаления ошибок
  • 'Q', чтобы выйти E
  • Информация (208540): Чтение массива ЭМИ
  • Информация (208544): 3 ошибки кадра обнаружены в устройстве 1.
  • Информация (208545): Ошибка № 1: одиночная ошибка в кадре 0x1028 в бите 0x21EA.
  • Информация (10914): Ошибка № 2: неисправимая многобитовая ошибка в кадре 0x1116.
  • Информация (208545): Ошибка № 3: одиночная ошибка в кадре 0x1848 в бите 0x128C.
  • 'F' для ввода ошибки
  • 'E' для чтения ЭМИ
  • '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

Целевая функция ввода ошибок

Примечание

Отладчик внедрения ошибок случайным образом вводит ошибки в ПЛИС. Однако функция Targeted Fault Injection позволяет вводить ошибки в целевые места в CRAM. Эта операция может быть полезна, напримерample, если вы заметили событие SEU и хотите проверить реакцию FPGA или системы на то же событие после изменения стратегии восстановления. Функция Targeted Fault Injection доступна только из интерфейса командной строки. Вы можете указать, что ошибки вводятся из командной строки или в режиме приглашения. Связанная информация

АН 539: Методология тестирования или обнаружение и восстановление ошибок с использованием CRC в устройствах Intel FPGA

Указание списка ошибок из командной строки

Функция 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 указывает, что ПЛИС управляется по первому кабелю на вашем компьютере. 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). Отладчик Fault Injection Debugger представляет команды режима подсказок и их описания.

Команда режима подсказки Описание
F Введите ошибку
E Читать ЭМИ
S Очистить ошибки
Q Покидать

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

  • Ошибка 1 — ошибка одного бита в кадре 0x12, бит 0x34.
  • Ошибка 2 — неисправимая ошибка в кадре 0x56, бит 0x78 (знак * указывает на многобитовую ошибку)
  • Ошибка 3 — ошибка двойного соседства в кадре 0x9A, бит 0xBC (+ указывает на двойную битовую ошибку)

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 в устройствах Intel FPGA

Расширенные параметры командной строки: регионы 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

Этот бывшийampле команда:

  • Программирует устройство и вводит ошибки (строка пи)
  • Вводит 100 % однобитовых ошибок (100.0.0)
  • Внедряет только в ASD_REGION 2 (обозначается #2)
  • Вводит 30 ошибок

Fault Injection IP Core User Guide Архивы

Версия IP-ядра Руководство пользователя
18.0 Инъекция сбоев Руководство пользователя 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.

История изменений документа для Fault Injection IP Core User Guide

Версия документа Версия Intel Quartus Prime Изменения
2019.07.09 18.1 Обновлено IP-вывод сбоя Описание раздел, посвященный сигналам Reset, error_injected и error_scrubbed.
2018.05.16 18.0 • Добавлены следующие разделы из справочника Intel Quartus Prime Pro Edition:

—   Определение областей введения разломов и подтемы.

—   Использование отладчика внедрения ошибок и подтемы.

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

• IP-ядро Intel FPGA Fault Injection переименовано в 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 Внесение ошибок в IP-ядро FPGA, UG-01173, Внесение ошибок в IP-ядро FPGA, Вставка c, Вставка IP-ядра FPGA

Ссылки

Оставьте комментарий

Ваш адрес электронной почты не будет опубликован. Обязательные поля отмечены *