logotipo de intel

intel UG-01173 Inyección de fallas FPGA IP Core

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

Inyección de fallos Guía del usuario de Intel® FPGA IP Core

El núcleo de IP de FPGA Intel® de inyección de fallas inyecta errores en la RAM de configuración (CRAM) de un dispositivo FPGA. Este procedimiento simula errores leves que pueden ocurrir durante el funcionamiento normal debido a perturbaciones de un solo evento (SEU). Los SEU son eventos raros y, por lo tanto, difíciles de probar. Después de instanciar el núcleo IP de inyección de fallas en su diseño y configurar su dispositivo, puede usar la herramienta Intel Quartus® Prime Fault Injection Debugger para inducir errores intencionales en el FPGA para probar la respuesta del sistema a estos errores.

Información relacionada

  • Trastornos de un solo evento
  • AN 737: Detección y recuperación de SEU en dispositivos Intel Arria 10

Características

  • Le permite evaluar la respuesta del sistema para mitigar las interrupciones funcionales de evento único (SEFI).
  • Le permite realizar la caracterización SEFI internamente, eliminando la necesidad de realizar pruebas de haces en todo el sistema. En su lugar, puede limitar la prueba del haz a la medición de fallas en el tiempo (FIT)/Mb en el nivel del dispositivo.
  • Escale las tasas de FIT de acuerdo con la caracterización SEFI que sea relevante para su arquitectura de diseño. Puede distribuir inyecciones de fallas aleatoriamente en todo el dispositivo o restringirlas a áreas funcionales específicas para acelerar las pruebas.
  • Optimice su diseño para reducir las interrupciones causadas por un solo evento (SEU).

Soporte de dispositivos

El núcleo IP de inyección de errores es compatible con los dispositivos de la familia Intel Arria® 10, Intel Cyclone® 10 GX y Stratix® V. La familia Cyclone V admite Inyección de fallos en dispositivos con el sufijo -SC en el código de pedido. Comuníquese con su representante de ventas local para obtener información sobre pedidos de dispositivos Cyclone V con sufijo -SC.

Utilización y rendimiento de los recursos
El software Intel Quartus Prime genera la siguiente estimación de recursos para el FPGA Stratix V A7. Los resultados para otros dispositivos son similares.

Corporación Intel. Reservados todos los derechos. Intel, el logotipo de Intel y otras marcas de Intel son marcas comerciales de Intel Corporation o sus subsidiarias. Intel garantiza el rendimiento de sus productos semiconductores y FPGA según las especificaciones actuales de acuerdo con la garantía estándar de Intel, pero se reserva el derecho de realizar cambios en cualquier producto y servicio en cualquier momento sin previo aviso. Intel no asume ninguna responsabilidad que surja de la aplicación o el uso de cualquier información, producto o servicio descrito en este documento, excepto que Intel lo acuerde expresamente por escrito. Se recomienda a los clientes de Intel que obtengan la última versión de las especificaciones del dispositivo antes de confiar en cualquier información publicada y antes de realizar pedidos de productos o servicios. *Otros nombres y marcas pueden reclamarse como propiedad de otros.

Inyección de fallas IP Core FPGA Rendimiento y utilización de recursos

Dispositivo Limosna Registros Lógicos M20K
Primario Secundario
Stratix V A7 3,821 5,179 0 0

La instalación del software Intel Quartus Prime incluye la biblioteca Intel FPGA IP. Esta biblioteca proporciona muchos núcleos de IP útiles para su uso en producción sin necesidad de una licencia adicional. Algunos núcleos Intel FPGA IP requieren la compra de una licencia por separado para uso en producción. El modo de evaluación de IP de FPGA de Intel le permite evaluar estos núcleos de IP de FPGA de Intel con licencia en simulación y hardware, antes de decidir comprar una licencia de núcleo de IP de producción completa. Solo necesita comprar una licencia de producción completa para los núcleos Intel IP con licencia después de completar la prueba de hardware y estar listo para usar la IP en producción. El software Intel Quartus Prime instala núcleos IP en las siguientes ubicaciones de manera predeterminada:

Ruta de instalación de IP Core

intel-UG-01173-Inyección-de-fallos-FPGA-IP-Core-fig-1

Ubicaciones de instalación de IP Core

Ubicación Software Plataforma
:\intelFPGA_pro\quartus\ip\altera Edición Intel Quartus Prime Pro Windows *
:\intelFPGA\cuarto\ip\altera Edición estándar Intel Quartus Prime Ventanas
:/intelFPGA_pro/cuarto/ip/altera Edición Intel Quartus Prime Pro Linux *
:/intelFPGA/cuarto/ip/altera Edición estándar Intel Quartus Prime Linux

Nota: El software Intel Quartus Prime no admite espacios en la ruta de instalación.

Personalización y generación de núcleos IP
Puede personalizar los núcleos de IP para admitir una amplia variedad de aplicaciones. El catálogo IP de Intel Quartus Prime y el editor de parámetros le permiten seleccionar y configurar rápidamente los puertos, las características y la salida del núcleo IP. files.

Editor de parámetros y catálogo IP
El catálogo de IP muestra los núcleos de IP disponibles para su proyecto, incluida la IP de Intel FPGA y otras IP que agregue a la ruta de búsqueda del catálogo de IP. Utilice las siguientes características del catálogo de IP para ubicar y personalizar un núcleo de IP:

  • Filtre el catálogo de IP para Mostrar IP para la familia de dispositivos activos o Mostrar IP para todas las familias de dispositivos. Si no tiene ningún proyecto abierto, seleccione la familia de dispositivos en el catálogo de IP.
  • Escriba en el campo de búsqueda para localizar cualquier nombre central de IP completo o parcial en el catálogo de IP.
  • Haga clic con el botón derecho en el nombre de un núcleo de IP en el catálogo de IP para mostrar detalles sobre los dispositivos compatibles, abrir la carpeta de instalación del núcleo de IP y obtener enlaces a la documentación de IP.
  • Hacer clic Buscar Partner IP to access partner IP information on the web.

El editor de parámetros le solicita que especifique un nombre de variación de IP, puertos opcionales y salida file opciones de generación. El editor de parámetros genera una IP Intel Quartus Prime de nivel superior file (.ip) para una variación de IP en proyectos Intel Quartus Prime Pro Edition. El editor de parámetros genera una IP Quartus de nivel superior file (.qip) para una variación de IP en proyectos Intel Quartus Prime Standard Edition. Estas fileLos s representan la variación de IP en el proyecto y almacenan información de parametrización.

Editor de parámetros IP (Intel Quartus Prime Standard Edition)intel-UG-01173-Inyección-de-fallos-FPGA-IP-Core-fig-2

Salida de generación IP Core (Intel Quartus Prime Pro Edition)

El software Intel Quartus Prime genera el siguiente resultado file estructura para núcleos de IP individuales que no forman parte de un sistema de Platform Designer.

Salida de generación de núcleo IP individual (Intel Quartus Prime Pro Edition)intel-UG-01173-Inyección-de-fallos-FPGA-IP-Core-fig-3

  • Si es compatible y está habilitado para su variación de IP core.

Producción Files de Intel FPGA Generación IP

File Nombre Descripción
<tu dirección Ip>.ip Variación de IP de nivel superior file que contiene la parametrización de un IP core en tu proyecto. Si la variación de IP es parte de un sistema de Platform Designer, el editor de parámetros también genera un .qsys file.
<tu dirección Ip>.cmp Declaración de componentes VHDL (.cmp) file es un texto file que contiene definiciones locales genéricas y de puerto que usa en el diseño de VHDL files.
<tu dirección Ip>_generacion.rpt Registro de generación de IP o Platform Designer file. Muestra un resumen de los mensajes durante la generación de IP.
continuado…
File Nombre Descripción
<tu dirección Ip>.qgsimc (solo sistemas de Platform Designer) Almacenamiento en caché de simulación file que compara el .qsys y el .ip files con la parametrización actual del sistema Platform Designer e IP core. Esta comparación determina si Platform Designer puede omitir la regeneración de HDL.
<tu dirección Ip>.qgsynth (solo sistemas Platform Designer) Almacenamiento en caché de síntesis file que compara el .qsys y el .ip files con la parametrización actual del sistema Platform Designer e IP core. Esta comparación determina si Platform Designer puede omitir la regeneración de HDL.
<tu dirección Ip>.qip Contiene toda la información para integrar y compilar el componente IP.
<tu dirección Ip>.csv Contiene información sobre el estado de actualización del componente IP.
.bsf Una representación de símbolo de la variación de IP para usar en el diagrama de bloques Files (.bdf).
<tu dirección Ip>.spd Aporte file que requiere ip-make-simscript para generar scripts de simulación. El .spd file contiene una lista de files que genera para la simulación, junto con información sobre las memorias que inicializa.
<tu dirección Ip>.ppf El planificador de pines File (.ppf) almacena las asignaciones de puertos y nodos para los componentes de IP que crea para usar con Pin Planner.
<tu dirección Ip>_bb.v Utilice la caja negra de Verilog (_bb.v) file como una declaración de módulo vacío para usar como caja negra.
<tu dirección Ip>_inst.v o _inst.vhd Ex HDLampplantilla de creación de instancias. Copia y pega el contenido de este file en tu HDL file para instanciar la variación de IP.
<tu dirección Ip>.regmap Si la IP contiene información de registro, el software Intel Quartus Prime genera el .regmap file. El .regmap file describe la información del mapa de registros de las interfaces maestra y esclava. Este file complementos

el .sopcinfo file proporcionando información de registro más detallada sobre el sistema. Este file habilita la visualización del registro views y estadísticas personalizables por el usuario en la consola del sistema.

<tu dirección Ip>.svd Permite que las herramientas de depuración del sistema HPS view los mapas de registro de los periféricos que se conectan a HPS dentro de un sistema Platform Designer.

Durante la síntesis, el software Intel Quartus Prime almacena el .svd files para la interfaz esclava visible para los maestros de la consola del sistema en el .sof file en la sesión de depuración. La consola del sistema lee esta sección, que Platform Designer consulta para obtener información del mapa de registro. Para los esclavos del sistema, Platform Designer accede a los registros por nombre.

<tu dirección Ip>.v

<tu dirección Ip>.vhd

HDL files que instancian cada submódulo o núcleo IP secundario para síntesis o simulación.
mentor/ Contiene un script msim_setup.tcl para configurar y ejecutar una simulación.
aldec/ Contiene un script rivierapro_setup.tcl para configurar y ejecutar una simulación.
/sinopsis/vcs

/sinopsis/vcsmx

Contiene un script de shell vcs_setup.sh para configurar y ejecutar una simulación.

Contiene un script de shell vcsmx_setup.sh y synopsys_sim.setup file para configurar y ejecutar una simulación.

/cadencia Contiene un script de shell ncsim_setup.sh y otra configuración files para configurar y ejecutar una simulación.
/xcelio Contiene un script de shell de simulador paralelo xcelium_setup.sh y otra configuración files para configurar y ejecutar una simulación.
/submódulos Contiene HDL files para el submódulo IP core.
<submódulo IP>/ Platform Designer genera subdirectorios /synth y /sim para cada directorio de submódulo IP que genera Platform Designer.

Descripción funcional
Con el núcleo IP de inyección de fallas, los diseñadores pueden realizar la caracterización SEFI internamente, escalar las tasas de FIT de acuerdo con la caracterización SEFI y optimizar los diseños para reducir el efecto de las SEU.

Mitigación de malestar de evento único

Los circuitos integrados y los dispositivos lógicos programables, como los FPGA, son susceptibles a los SEU. Los SEU son eventos aleatorios, no destructivos, causados ​​por dos fuentes principales: partículas alfa y neutrones de rayos cósmicos. La radiación puede hacer que el registro lógico, el bit de memoria integrado o un bit de RAM de configuración (CRAM) cambien de estado, lo que provoca un funcionamiento inesperado del dispositivo. Intel Arria 10, Intel Cyclone 10 GX, Arria V, Cyclone V, Stratix V y los dispositivos más nuevos tienen las siguientes capacidades de CRAM:

  • Comprobación de redundancia cíclica de detección de errores (EDCRC)
  • Corrección automática de un CRAM alterado (fregado)
  • Capacidad para crear una condición CRAM alterada (inyección de falla)

Para obtener más información sobre la mitigación de SEU en dispositivos Intel FPGA, consulte el capítulo Mitigación de SEU en el manual del dispositivo respectivo.

Inyección de falla IP Pin Descripción

El núcleo IP de inyección de fallas incluye los siguientes pines de E/S.

Pines de E/S de IP Core de inyección de fallas

Nombre del pin Dirección del pasador Descripción del pin
crerror_pin aporte Entrada del descargador de registro de mensajes de error Intel FPGA IP (EMR Unloader IP). Esta señal se afirma cuando el EDCRC del dispositivo detecta un error de CRC.
emr_datos aporte Contenido del registro de mensajes de error (EMR). Consulte el manual del dispositivo correspondiente para los campos EMR.

Esta entrada cumple con la señal de la interfaz de datos Avalon Streaming.

emr_válido aporte Indica que las entradas de emr_data contienen datos válidos. Esta es una señal de interfaz válida de Avalon Streaming.
Reiniciar aporte Entrada de reinicio del módulo. El restablecimiento está totalmente controlado por el depurador de inyección de fallas.
error_inyectado producción Indica que se inyectó un error en CRAM según lo ordenado a través de JTAG interfaz. El período de tiempo que afirma esta señal depende de la configuración de JTAG TCK y señales de bloque de control. Normalmente, el tiempo es de alrededor de 20 ciclos de reloj de la señal TCK.
error_scrubbed producción Indica que la limpieza del dispositivo está completa según lo ordenado a través de JTAG interfaz. El período de tiempo que afirma esta señal depende de la configuración de JTAG TCK y señales de bloque de control. Normalmente, el tiempo es de alrededor de 20 ciclos de reloj de la señal TCK.
intoc producción Salida opcional. La IP de inyección de fallos utiliza este reloj, por ej.ample, para cronometrar el bloque EMR_unloader.

Diagrama de pines IP de inyección de fallas

intel-UG-01173-Inyección-de-fallos-FPGA-IP-Core-fig-4

Uso de Fault Injection Debugger y Fault Injection IP Core

El depurador de inyección de fallas funciona junto con el núcleo IP de inyección de fallas. Primero, crea una instancia del núcleo IP en su diseño, compila y descarga la configuración resultante file en su dispositivo. Luego, ejecuta el depurador de inyección de errores desde el software Intel Quartus Prime o desde la línea de comandos para simular errores leves.

  • El depurador de inyección de fallas le permite operar experimentos de inyección de fallas de forma interactiva o mediante comandos por lotes, y le permite especificar las áreas lógicas en su diseño para las inyecciones de fallas.
  • La interfaz de línea de comandos es útil para ejecutar el depurador a través de un script.

Nota

El depurador de inyección de fallas se comunica con el núcleo IP de inyección de fallas a través de JTAG interfaz. La IP de Inyección de fallas acepta comandos de la JTAG interfaz e informa el estado a través de JTAG interfaz. El núcleo IP de inyección de fallas se implementa en lógica suave en su dispositivo; por lo tanto, debe tener en cuenta este uso lógico en su diseño. Una metodología consiste en caracterizar la respuesta de su diseño a SEU en el laboratorio y luego omitir el núcleo IP de su diseño implementado final.

El núcleo de IP de inyección de errores se utiliza con los siguientes núcleos de IP:

  • El núcleo IP del descargador de registros de mensajes de error, que lee y almacena datos de los circuitos reforzados de detección de errores en los dispositivos Intel FPGA.
  • (Opcional) El núcleo IP de Intel FPGA de detección avanzada de SEU, que compara las ubicaciones de errores de un solo bit con un mapa de sensibilidad durante el funcionamiento del dispositivo para determinar si un error leve lo afecta.

Depurador de inyección de fallas terminadoview Diagrama de bloquesintel-UG-01173-Inyección-de-fallos-FPGA-IP-Core-fig-5

Notas:

  1. La IP de inyección de fallas cambia los bits de la lógica objetivo.
  2. El depurador de inyección de fallas y la IP de detección avanzada de SEU usan la misma instancia de EMR Unloader.
  3. El núcleo IP de detección SEU avanzada es opcional.

Información relacionada

  • Acerca de SMH Fileen la página 13
  • Acerca de EMR Unloader IP Core en la página 10
  • Acerca de Advanced SEU Detection IP Core en la página 11

Creación de instancias del IP Core de inyección de fallas

NOTA

El núcleo de IP de inyección de fallas no requiere que establezca ningún parámetro. Para usar el núcleo de IP, cree una nueva instancia de IP, inclúyala en su sistema Platform Designer (estándar) y conecte las señales según corresponda. Debe utilizar el núcleo de IP de inyección de fallas con el núcleo de IP de EMR Unloader. Los núcleos IP Fault Injection y EMR Unloader están disponibles en Platform Designer y el catálogo IP. Opcionalmente, puede instanciarlos directamente en su diseño RTL, utilizando Verilog HDL, SystemVerilog o VHDL.

Acerca de EMR Unloader IP Core
El núcleo IP del descargador de EMR proporciona una interfaz para el EMR, que se actualiza continuamente mediante el EDCRC del dispositivo que verifica los bits de CRAM CRC del dispositivo en busca de errores de software.

ExampLe Platform Designer System que incluye Fault Injection IP Core y EMR Unloader IP Coreintel-UG-01173-Inyección-de-fallos-FPGA-IP-Core-fig-6

ExampLe Fault Injection IP Core y EMR Unloader IP Core Diagrama de bloques

intel-UG-01173-Inyección-de-fallos-FPGA-IP-Core-fig-7

Información relacionada
Mensaje de error Register Unloader Guía del usuario de Intel FPGA IP Core

Acerca del IP Core de detección avanzada de SEU

Utilice el núcleo IP de detección SEU avanzada (ASD) cuando la tolerancia SEU sea una preocupación de diseño. Debe utilizar el núcleo de IP de EMR Unloader con el núcleo de IP de ASD. Por lo tanto, si usa ASD IP y Fault Injection IP en el mismo diseño, deben compartir la salida del EMR Unloader a través de un componente divisor Avalon®-ST. La siguiente figura muestra un sistema Platform Designer en el que un divisor Avalon-ST distribuye el contenido de EMR a los núcleos ASD y Fault Injection IP.

Uso de ASD y Fault Injection IP en el mismo sistema Platform Designerintel-UG-01173-Inyección-de-fallos-FPGA-IP-Core-fig-8

Información relacionada
Detección avanzada de SEU Guía del usuario de Intel FPGA IP Core

Definición de áreas de inyección de fallas
Puede definir regiones específicas del FPGA para inyección de fallas utilizando un encabezado de mapa de sensibilidad (.smh) file. El SMH file almacena las coordenadas de los bits CRAM del dispositivo, su región asignada (región ASD) y la criticidad. Durante el proceso de diseño se utiliza jerarquía tagging para crear la región. Luego, durante la compilación, Intel Quartus Prime Assembler genera el SMH file. El depurador de inyección de fallas limita las inyecciones de errores a regiones específicas del dispositivo que defina en el SMH file.

Jerarquía de ejecución TagEnvejecimiento
Las regiones FPGA para la prueba se definen asignando una región ASD a la ubicación. Puede especificar un valor de Región ASD para cualquier parte de su jerarquía de diseño utilizando la Ventana de particiones de diseño.

  1. Elija Asignaciones ➤ Ventana de particiones de diseño.
  2. Haga clic con el botón derecho en cualquier lugar de la fila del encabezado y active Región ASD para mostrar la columna Región ASD (si aún no se muestra).
  3. Ingrese un valor de 0 a 16 para cualquier partición para asignarla a una Región ASD específica.
    • La región ASD 0 está reservada para partes no utilizadas del dispositivo. Puede asignar una partición a esta región para especificarla como no crítica.
    • La región 1 de ASD es la región predeterminada. Todas las partes usadas del dispositivo se asignan a esta región a menos que cambie explícitamente la asignación de la Región ASD.

Acerca de SMH Files

El SMH file Contiene la siguiente información:

  • Si no está utilizando la jerarquía tag(es decir, el diseño no tiene asignaciones de región ASD explícitas en la jerarquía de diseño), el SMH file enumera cada bit CRAM e indica si es sensible para el diseño.
  • Si ha realizado jerarquía tagasignaciones predeterminadas de región ASD, el SMH file enumera cada bit CRAM y se le asigna una región ASD.

El depurador de inyección de fallas puede limitar las inyecciones a una o más regiones específicas. Para indicar al ensamblador que genere un SMH file:

  • Elija Asignaciones ➤ Dispositivo ➤ Opciones de dispositivo y PIN ➤ CRC de detección de errores.
  • Active la opción Generar mapa de sensibilidad de SEU file (.smh) opción.

Uso del depurador de inyección de fallas

NOTA
Para usar el depurador de inyección de fallas, se conecta a su dispositivo a través de JTAG interfaz. Luego, configure el dispositivo y realice la inyección de fallas. Para iniciar el Depurador de inyección de fallas, seleccione Herramientas ➤ Depurador de inyección de fallas en el software Intel Quartus Prime. La configuración o programación del dispositivo es similar al procedimiento utilizado para el programador o el analizador lógico de tomas de señal.

Depurador de inyección de fallas

intel-UG-01173-Inyección-de-fallos-FPGA-IP-Core-fig-9

Para configurar tu JTAG cadena:

  1. Haga clic en Configuración de hardware. La herramienta muestra el hardware de programación conectado a su computadora.
  2. Seleccione el hardware de programación que desea utilizar.
  3. Haga clic en Cerrar.
  4. Haga clic en Detección automática, que completa la cadena de dispositivos con los dispositivos programables que se encuentran en la JTAG cadena.

Información relacionada
Función de inyección de fallas dirigida en la página 21

Requisitos de hardware y software

Se requiere el siguiente hardware y software para usar el depurador de inyección de fallas:

  • Línea FEATURE en su licencia Intel FPGA que habilita el núcleo de IP de inyección de fallos. Para obtener más información, comuníquese con su representante de ventas local de Intel FPGA.
  • Cable de descarga (cable de descarga Intel FPGA, cable de descarga Intel FPGA II, o II).
  • Kit de desarrollo Intel FPGA o placa diseñada por el usuario con una JTAG conexión con el dispositivo bajo prueba.
  • (Opcional) línea FEATURE en su licencia Intel FPGA que habilita el núcleo IP de detección SEU avanzada.

Configuración de su dispositivo y el depurador de inyección de fallas

El depurador de inyección de fallas usa un archivo .sof y (opcionalmente) un encabezado de mapa de sensibilidad (.smh) file. El objeto de software File (.sof) configura la FPGA. El .smh file define la sensibilidad de los bits CRAM en el dispositivo. Si no proporciona un .smh file, el depurador de inyección de fallas inyecta fallas aleatoriamente en los bits de CRAM. Para especificar un .sof:

  1. Seleccione la FPGA que desea configurar en el cuadro Cadena de dispositivos.
  2. Haga clic en Seleccionar File.
  3. Navegue hasta el .sof y haga clic en Aceptar. El depurador de inyección de errores lee el archivo .sof.
  4. (Opcional) Seleccione el SMH file.
    Si no especifica un SMH file, el depurador de inyección de fallas inyecta fallas aleatoriamente en todo el dispositivo. Si especifica un SMH file, puede restringir las inyecciones a las áreas utilizadas de su dispositivo.
    • Haga clic con el botón derecho en el dispositivo en el cuadro Cadena de dispositivos y luego haga clic en Seleccionar SMH File.
    • Seleccione su SMH file.
    • Haga clic en Aceptar.
  5. Encienda Programar/Configurar.
  6. Haga clic en Iniciar.

El Depurador de Inyección de Fallas configura el dispositivo usando el .sof.

Menú contextual para seleccionar el SMH File

intel-UG-01173-Inyección-de-fallos-FPGA-IP-Core-fig-10

Regiones restringidas para inyección de fallas

Después de cargar un SMH file, puede indicarle al depurador de inyección de fallas que opere solo en regiones ASD específicas. Para especificar las regiones ASD en las que inyectar fallas:

  1. Haga clic con el botón derecho en el FPGA en el cuadro Cadena de dispositivos y haga clic en Mostrar mapa de sensibilidad del dispositivo.
  2. Seleccione la(s) región(es) ASD para inyección de fallas.

Mapa de sensibilidad del dispositivo Viewer

intel-UG-01173-Inyección-de-fallos-FPGA-IP-Core-fig-11

Especificación de tipos de error

Puede especificar varios tipos de errores para la inyección.

  • Errores únicos (SE)
  • Errores doblemente adyacentes (DAE)
  • Errores multibit no corregibles (EMBE)

Los dispositivos Intel FPGA pueden autocorregir errores adyacentes simples y dobles si la función de limpieza está habilitada. Los dispositivos Intel FPGA no pueden corregir errores de varios bits. Consulte el capítulo sobre mitigación de SEU para obtener más información sobre la depuración de estos errores. Puede especificar la combinación de fallas a inyectar y el intervalo de tiempo de inyección. Para especificar el intervalo de tiempo de inyección:

  1. En el Depurador de inyección de fallas, elija Herramientas ➤ Opciones.
  2. Arrastra el controlador rojo a la mezcla de errores. Alternativamente, puede especificar la mezcla numéricamente.
  3. Especifique el tiempo de intervalo de inyección.
  4. Haga clic en Aceptar.

Figura 12. Especificación de la combinación de tipos de fallas SEUintel-UG-01173-Inyección-de-fallos-FPGA-IP-Core-fig-12

Información relacionada Mitigación del malestar por evento único

Errores de inyección

Puede inyectar errores en varios modos:

  • Inyectar un error en el comando
  • Inyectar múltiples errores en el comando
  • Inyectar errores hasta que se ordene detener

Para inyectar estas fallas:

  1. Active la opción Inyectar falla.
  2. Elija si desea ejecutar la inyección de errores para varias iteraciones o hasta que se detenga:
    • Si elige ejecutar hasta que se detenga, el depurador de inyección de errores inyecta errores en el intervalo especificado en el cuadro de diálogo Herramientas ➤ Opciones.
    • Si desea ejecutar la inyección de errores para un número específico de iteraciones, ingrese el número.
  3. Haga clic en Iniciar.

Nota: El depurador de inyección de fallas se ejecuta durante el número especificado de iteraciones o hasta que se detiene. La ventana Mensajes de Intel Quartus Prime muestra mensajes sobre los errores que se inyectan. Para obtener información adicional sobre las fallas inyectadas, haga clic en Leer EMR. El depurador de inyección de errores lee el EMR del dispositivo y muestra el contenido en la ventana Mensajes.

Inyección de error de Intel Quartus Prime y mensajes de contenido de EMR

intel-UG-01173-Inyección-de-fallos-FPGA-IP-Core-fig-13

Errores de grabación
Puede registrar la ubicación de cualquier falla inyectada observando los parámetros informados en la ventana Mensajes de Intel Quartus Prime. Si, por ej.ample, una falla inyectada da como resultado un comportamiento que le gustaría reproducir, puede apuntar a esa ubicación para la inyección. La inyección dirigida se realiza mediante la interfaz de línea de comandos del depurador de inyección de errores.

Borrado de errores inyectados
Para restaurar la función normal de la FPGA, haga clic en Scrub. Cuando elimina un error, las funciones EDCRC del dispositivo se utilizan para corregir los errores. El mecanismo de fregado es similar al que se usa durante el funcionamiento del dispositivo.

Interfaz de línea de comandos
Puede ejecutar el depurador de inyección de fallas en la línea de comando con el ejecutable quartus_fid, que es útil si desea realizar una inyección de fallas desde un script.

Tabla 5. Argumentos de la línea de comandos para la inyección de errores

Argumento corto argumento largo Descripción
c cable Especifique el hardware o cable de programación. (Requerido)
i índice Especifique el dispositivo activo para inyectar la falla. (Requerido)
n número Especifique el número de errores a inyectar. El valor predeterminado es

1. (Opcional)

t tiempo Intervalo de tiempo entre inyecciones. (Opcional)

Nota: Utilice quartus_fid –ayuda para view todas las opciones disponibles. El siguiente código proporciona exampusando la interfaz de línea de comandos del depurador de inyección de fallas.
#############################################

  • # Averigüe qué cables USB están disponibles para esta instancia
  • # El resultado muestra que hay un cable disponible, llamado "USB-Blaster" #
  • $ quartus_fid –lista. . .
  • Información: Comando: quartus_fid –list
    1. USB-Blaster en sj-sng-z4 [USB-0] Información: Intel Quartus Prime 64-Bit Fault Injection Debugger fue exitoso. 0 errores, 0 advertencia
  • ######################################### #
  • # Encuentre qué dispositivos están disponibles en el cable USB-Blaster
  • # El resultado muestra dos dispositivos: un Stratix V A7 y un MAX V CPLD. #
  • $ quartus_fid –cable USB-Blaster-a
  • Información: Comando: quartus_fid –cable=USB-Blaster -a
  • Información (208809): Uso del cable de programación “USB-Blaster en sj-sng-z4 [USB-0]”
    1. USB-Blaster en sj-sng-z4 [USB-0]
  • 029030DD 5SGXEA7H(1|2|3)/5SGXEA7K1/..
  • 020A40DD 5M2210Z/EPM2210
  • Información: El depurador de inyección de fallas Intel Quartus Prime de 64 bits fue exitoso.
  • 0 errores, 0 advertencias
  • ######################################### #
  • # Programar el dispositivo Stratix V
  • # La opción –index especifica las operaciones realizadas en un dispositivo conectado.
  • # “=svgx.sof” asocia un .sof file con el dispositivo
  • # “#p” significa programar el dispositivo #
  • $ quartus_fid –cable USB-Blaster –índice “@1=svgx.sof#p” . . .
  • Información (209016): Configuración del índice de dispositivo 1
  • Información (209017): El dispositivo 1 contiene JTAG código de identificación 0x029030DD
  • Información (209007): Configuración exitosa: 1 dispositivo(s) configurado(s)
  • Información (209011): operación(es) realizada(s) con éxito
  • Información (208551): Firma del programa en el dispositivo 1.
  • Información: El depurador de inyección de fallas Intel Quartus Prime de 64 bits fue exitoso.
  • 0 errores, 0 advertencias
  • ######################################### #
  • # Inyectar una falla en el dispositivo.
  • # El operador #i indica inyectar fallas
  • # -n 3 indica inyectar 3 fallas #
  • $ quartus_fid –cable USB-Blaster –índice “@1=svgx.sof#i” -n 3
  • Información: Comando: quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 3
  • Información (208809): Uso del cable de programación “USB-Blaster en sj-sng-z4 [USB-0]”
  • Información (208521): inyecta 3 errores en los dispositivos
  • Información: El depurador de inyección de fallas Intel Quartus Prime de 64 bits fue exitoso.
  • 0 errores, 0 advertencias
  • ######################################### #
  • # Modo interactivo.
  • # Usar la operación #i con -n 0 pone al depurador en modo interactivo.
  • # Tenga en cuenta que se inyectaron 3 fallas en la sesión anterior;
  • # “E” lee las fallas actualmente en el núcleo IP del EMR Unloader. #
  • $ quartus_fid –cable USB-Blaster –índice “@1=svgx.sof#i” -n 0
  • Información: Comando: quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 0
  • Información (208809): Uso del cable de programación “USB-Blaster en sj-sng-z4 [USB-0]”
  • Ingresar :
  • 'F' para inyectar fallo
  • 'E' para leer EMR
  • 'S' para borrar errores
  • 'Q' para salir E
  • Información (208540): lectura de matriz EMR
  • Información (208544): 3 errores de marco detectados en el dispositivo 1.
  • Información (208545): Error n.º 1: error único en el marco 0x1028 en el bit 0x21EA.
  • Información (10914): Error n.º 2: error de varios bits no corregible en el marco 0x1116.
  • Información (208545): Error n.º 3: error único en el marco 0x1848 en el bit 0x128C.
  • 'F' para inyectar fallo
  • 'E' para leer EMR
  • 'S' para borrar errores
  • 'Q' para salir Q
  • Información: El depurador de inyección de fallas Intel Quartus Prime de 64 bits fue exitoso. 0 errores, 0 advertencias
  • Información: Pico de memoria virtual: 1522 megabytes
  • Información: Procesamiento finalizado: lun 3 de noviembre 18:50:00 2014
  • Información: Tiempo transcurrido: 00: 00: 29
  • Información: Tiempo total de CPU (en todos los procesadores): 00:00:13

Característica de inyección de falla dirigida

Nota

El depurador de inyección de fallas inyecta fallas en la FPGA aleatoriamente. Sin embargo, la función de Inyección de fallas específicas le permite inyectar fallas en ubicaciones específicas en la CRAM. Esta operación puede ser útil, por ej.ample, si anotó un evento SEU y desea probar la respuesta del sistema o FPGA al mismo evento después de modificar una estrategia de recuperación. La función de Inyección de fallos dirigidos solo está disponible desde la interfaz de línea de comandos. Puede especificar que los errores se inyecten desde la línea de comandos o en modo de aviso. Información relacionada

UN 539: Metodología de prueba o detección y recuperación de errores mediante CRC en dispositivos Intel FPGA

Especificación de una lista de errores desde la línea de comandos

La función de Inyección de fallas específicas le permite especificar una lista de errores desde la línea de comando, como se muestra en el siguiente ejemplo.ample: c:\Users\sng> quartus_fid -c 1 – i “@1= svgx.sof#i ” -n 2 -user=”@1= 0x2274 0x05EF 0x2264 0x0500″ Donde: c 1 indica que el FPGA está controlado por el primer cable en su computadora. i “@1= six.sof#i ” indica que el primer dispositivo de la cadena está cargado con el objeto file svgx.sof y se inyectará con fallas. n 2 indica que se inyectarán dos faltas. user=”@1= 0x2274 0x05EF 0x2264 0x0500” es una lista de fallas especificada por el usuario que se inyectará. en este example, el dispositivo 1 tiene dos fallas: en el marco 0x2274, bit 0x05EF y en el marco 0x2264, bit 0x0500.

Especificación de una lista de errores desde el modo de solicitud

Puede operar la función de Inyección de fallas dirigida de forma interactiva especificando que el número de fallas sea 0 (-n 0). El depurador de inyección de fallas presenta comandos de modo de solicitud y sus descripciones.

Comando de modo rápido Descripción
F inyectar una falla
E Leer el EMR
S Errores de limpieza
Q Abandonar

En el modo de solicitud, puede emitir el comando F solo para inyectar una sola falla en una ubicación aleatoria en el dispositivo. En el siguiente ejemploamparchivos usando el comando F en modo indicador, se inyectan tres errores. F#3 0x12 0x34 0x56 0x78 * 0x9A 0xBC +

  • Error 1: error de bit único en el marco 0x12, bit 0x34
  • Error 2: error incorregible en el marco 0x56, bit 0x78 (un * indica un error de varios bits)
  • Error 3: error de doble adyacente en la trama 0x9A, bit 0xBC (un + indica un error de doble bit)

F 0x12 0x34 0x56 0x78 * Se inyecta un error (predeterminado): Error 1: error de bit único en la trama 0x12, bit 0x34. Las ubicaciones posteriores a la ubicación del primer cuadro/bit se ignoran. F#3 0x12 0x34 0x56 0x78 * 0x9A 0xBC + 0xDE 0x00

Se inyectan tres errores:

  • Error 1: error de bit único en el marco 0x12, bit 0x34
  • Error 2: error incorregible en el marco 0x56, bit 0x78
  • Error 3: error de doble adyacente en la trama 0x9A, bit 0xBC
  • Se ignoran las ubicaciones después de los primeros 3 pares de cuadros/bits

Determinación de ubicaciones de bits CRAM

Nota: 

Cuando el depurador de inyección de fallas detecta un error EDCRC de CRAM, el registro de mensajes de error (EMR) contiene el síndrome, el número de trama, la ubicación del bit y el tipo de error (simple, doble o multibit) del error de CRAM detectado. Durante la prueba del sistema, guarde el contenido de EMR informado por el depurador de inyección de fallas cuando detecte una falla de EDCRC. Con el contenido de EMR registrado, puede proporcionar los números de trama y bit al depurador de inyección de fallas para reproducir los errores observados durante las pruebas del sistema, para diseñar más y caracterizar una respuesta de recuperación del sistema a ese error.

Información relacionada
AN 539: Metodología de prueba o detección y recuperación de errores mediante CRC en dispositivos Intel FPGA

Opciones avanzadas de línea de comandos: regiones ASD y ponderación de tipos de error

Puede usar la interfaz de línea de comandos del depurador de inyección de fallas para inyectar errores en regiones ASD y ponderar los tipos de error. Primero, especifica la combinación de tipos de error (bit simple, doble adyacente y multibit incorregible) usando el peso . . opción. por ejemploampes decir, para una combinación de 50 % de errores simples, 30 % de errores adyacentes dobles y 20 % de errores incorregibles de varios bits, utilice la opción –weight=50.30.20. Luego, para apuntar a una región ASD, use la opción -smh para incluir el SMH file e indicar la región ASD para apuntar. por ejemploamparchivo: $ quartus_fid –cable=USB-BlasterII –index “@1=svgx.sof#pi” –weight=100.0.0 –smh=”@1=svgx.smh#2″ –number=30

Este example comando:

  • Programa el dispositivo e inyecta fallas (pi string)
  • Inyecta el 100% de fallas de un solo bit (100.0.0)
  • Inyecta solo en ASD_REGION 2 (indicado por el #2)
  • Inyecta 30 fallas

Archivos de la guía del usuario de Fault Injection IP Core

Versión principal de IP Guía del usuario
18.0 Inyección de fallas Guía del usuario de Intel FPGA IP Core
17.1 Guía de usuario de Intel FPGA Fault Injection IP Core
16.1 Guía del usuario de IP Core de inyección de fallas de Altera
15.1 Guía del usuario de IP Core de inyección de fallas de Altera

Si no se incluye una versión principal de IP, se aplica la guía del usuario para la versión principal de IP anterior.

Historial de revisión de documentos para la inyección de fallas Guía del usuario de IP Core

Versión del documento Versión Intel Quartus Prime Cambios
2019.07.09 18.1 Se actualizó el Inyección de falla IP Pin Descripción tema para aclarar las señales Reset, error_injected y error_scrubbed.
2018.05.16 18.0 • Se agregaron los siguientes temas del manual Intel Quartus Prime Pro Edition:

—   Definición de áreas de inyección de fallas y subtemas.

—   Uso del depurador de inyección de fallas y subtemas.

—   Interfaz de línea de comandos y subtemas.

• Cambió el nombre del núcleo de IP de inyección de fallos de FPGA de Intel a IP de FPGA de Intel de inyección de fallos.

Fecha Versión Cambios
2017.11.06 17.1 • Renombrado como Intel.

• Compatibilidad con dispositivos Intel Cyclone 10 GX agregados.

2016.10.31 16.1 Compatibilidad con dispositivos actualizados.
2015.12.15 15.1 • Se cambió el software de Quartus II a Quartus Prime.

• Vínculo relacionado autoreferenciado fijo.

2015.05.04 15.0 Lanzamiento inicial.

 

Documentos / Recursos

intel UG-01173 Inyección de fallas FPGA IP Core [pdf] Guía del usuario
UG-01173 Inyección de fallos FPGA IP Core, UG-01173, Inyección de fallos FPGA IP Core, Inyección c, Inyección de FPGA IP Core

Referencias

Deja un comentario

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados *