Detección y corrección de errores de MICROCHIP en memoria RTG4 LSRAM
Historial de revisiones
El historial de revisiones describe los cambios que se implementaron en el documento. Los cambios se enumeran por revisión, comenzando con la publicación más reciente.
Revisión 4.0
El siguiente es un resumen de los cambios realizados en esta revisión.
- Se actualizó el documento para Libero SoC v2021.2.
- Se agregó el Apéndice 1: Programación del dispositivo mediante FlashPro Express, página 14.
- Se agregó el Apéndice 2: Ejecución del script TCL, página 16.
- Se eliminaron las referencias a los números de versión de Libero.
Revisión 3.0
Se actualizó el documento para la versión del software Libero v11.9 SP1.
Revisión 2.0
Se actualizó el documento para la versión del software Libero v11.8 SP2.
Revisión 1.0
La primera publicación de este documento.
Detección y corrección de errores en la memoria RTG4 LSRAM
Este diseño de referencia describe las capacidades de detección y corrección de errores (EDAC) de las LSRAM RTG4™ FPGA. En un entorno susceptible de alteración de un solo evento (SEU), la RAM es propensa a errores transitorios causados por iones pesados. Estos errores se pueden detectar y corregir empleando códigos de corrección de errores (ECC). Los bloques RTG4 FPGA RAM tienen controladores EDAC incorporados para generar los códigos de corrección de errores para corregir un error de 1 bit o detectar un error de 2 bits.
Si se detecta un error de 1 bit, el controlador EDAC corrige el bit de error y establece el indicador de corrección de errores (SB_CORRECT) en activo alto. Si se detecta un error de 2 bits, el controlador EDAC establece el indicador de detección de errores (DB_DETECT) en activo alto.
Para obtener más información sobre la funcionalidad RTG4 LSRAM EDAC, consulte UG0574: RTG4 FPGA Fabric
Guía del usuario.
En este diseño de referencia, el error de 1 bit o el error de 2 bits se introduce a través de la GUI de SmartDebug. EDAC se observa usando una interfaz gráfica de usuario (GUI), utilizando la interfaz UART para acceder a la LSRAM para lecturas/escrituras de datos, Libero® System-on-Chip (SoC) SmartDebug (JTAG) se utiliza para inyectar los errores en la memoria LSRAM.
Requisitos de diseño
La Tabla 1 enumera los requisitos de diseño de referencia para ejecutar la demostración RTG4 LSRAM EDAC.
Tabla 1 • Requisitos de diseño
Software
- SoC Libero
- Flash Pro Express
- Depuración inteligente
- Controladores de PC host Controladores USB a UART
Nota: Libero SmartDesign y las capturas de pantalla de configuración que se muestran en esta guía son solo para fines ilustrativos.
Abre el diseño de Libero para ver las últimas actualizaciones.
Prerrequisitos
Antes de empezar:
Descargue e instale Libero SoC (como se indica en el websitio para este diseño) en la PC host desde la siguiente ubicación: https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
Diseño de demostración
Descargar el diseño de demostración files de la Microsemi websitio en: http://soc.microsemi.com/download/rsc/?f=rtg4_dg0703_df
El diseño de demostración files incluye:
- Proyecto Libero SoC
- Instalador de GUI
- Programación files
- Léame.txt file
- TCL_Scripts
La aplicación GUI en la PC host emite comandos al dispositivo RTG4 a través de la interfaz USB-UART. Esta interfaz UART está diseñada con CoreUART, que es una IP lógica del catálogo de IP SoC de Libero. La IP de CoreUART en la estructura RTG4 recibe comandos y los transmite a la lógica del decodificador de comandos. La lógica del decodificador de comandos decodifica el comando de lectura o escritura, que se ejecuta utilizando la lógica de la interfaz de memoria.
El bloque de interfaz de memoria se usa para leer/escribir y monitorear los indicadores de error de LSRAM. El EDAC integrado corrige el error de 1 bit al leer de LSRAM y proporciona datos corregidos a la interfaz de usuario, pero no vuelve a escribir los datos corregidos en LSRAM. El LSRAM EDAC incorporado no implementa una función de limpieza. El diseño de demostración implementa la lógica de limpieza, que supervisa el indicador de corrección de 1 bit y actualiza la LSRAM con los datos corregidos si se produce un error de un solo bit.
La GUI de SmartDebug se usa para inyectar errores de 1 o 2 bits en los datos de LSRAM.
La Figura 1 muestra el diagrama de bloques de nivel superior del diseño de demostración RTG4 LSRAM EDAC.
Figura 1 • Diagrama de bloques de nivel superior
Las siguientes son las configuraciones de diseño de demostración:
- La LSRAM está configurada para el modo ×18 y EDAC se habilita conectando la señal ECC_EN de la LSRAM a nivel alto.
Nota: La LSRAM EDAC solo es compatible con los modos ×18 y ×36. - El CoreUART IP está configurado para comunicarse con la aplicación de la PC host a una velocidad de 115200 baudios.
- El RTG4FCCCECALIB_C0 está configurado para sincronizar el CoreUART y otra lógica de estructura a 80 MHz.
Características
Las siguientes son las características de diseño de demostración:
- Leer y escribir en LSRAM
- Inyectar errores de 1 y 2 bits usando SmartDebug
- Mostrar valores de conteo de errores de 1 y 2 bits
- Disposición para borrar los valores de conteo de errores
- Habilitar o deshabilitar la lógica de limpieza de memoria
Descripción
Este diseño de demostración implica la implementación de las siguientes tareas:
- Inicialización y acceso a LSRAM
La lógica de interfaz de memoria implementada en la lógica de estructura recibe el comando de inicialización de la GUI e inicializa las primeras 256 ubicaciones de memoria de LSRAM con los datos incrementales. También realiza las operaciones de lectura y escritura en las 256 ubicaciones de memoria de LSRAM al recibir la dirección y los datos de la GUI. Para una operación de lectura, el diseño obtiene los datos de LSRAM y los proporciona a la GUI para su visualización. La expectativa es que el diseño no induzca errores antes de usar SmartDebug.
Nota: Las ubicaciones de memoria no inicializadas pueden tener valores aleatorios y SmartDebug puede mostrar errores de un solo bit o de doble bit en esas ubicaciones.
- Inyectar errores de 1 o 2 bits
La GUI de SmartDebug se usa para inyectar errores de 1 o 2 bits en la ubicación de memoria especificada de LSRAM. Las siguientes operaciones se realizan utilizando SmartDebug para inyectar errores de 1 y 2 bits en LSRAM:- Abra la GUI de SmartDebug, haga clic en Depurar matriz FPGA.
- Vaya a la pestaña Bloques de memoria, seleccione la instancia de memoria y haga clic con el botón derecho en Agregar.
- Para leer el bloque de memoria, haga clic en Leer bloque.
- Inyecte un error de bit único o bit doble en cualquier ubicación de la LSRAM de cierta profundidad.
- Para escribir en la ubicación modificada, haga clic en Escribir bloque.
Durante la operación de lectura y escritura de LSRAM a través de SmartDebug (JTAG), el controlador EDAC se omite y no calcula los bits ECC para la operación de escritura en el paso e.
- Conteo de errores
Los contadores de 8 bits se utilizan para proporcionar un recuento de errores y están diseñados en la lógica de estructura para contar errores de 1 o 2 bits. La lógica del decodificador de comandos proporciona los valores de conteo a la GUI cuando recibe comandos de la GUI.
Estructura de reloj
En este diseño de demostración, hay un dominio de reloj. El oscilador interno de 50 MHz impulsa el RTG4FCCC, que además impulsa RTG4FCCCECALIB_C0. El RTG4FCCCECALIB_C0 genera un reloj de 80 MHz que proporciona una fuente de reloj a los módulos COREUART, cmd_decoder, TPSRAM_ECC y RAM_RW.
La siguiente figura muestra la estructura de sincronización del diseño de demostración.
Figura 2 • Estructura de reloj
Restablecer estructura
En este diseño de demostración, la señal de reinicio a los módulos COREUART, cmd_decoder y RAM_RW se proporciona a través del puerto LOCK de RTG4FCCCECALIB_C0. La siguiente figura muestra la estructura de reinicio del diseño de demostración.
Figura 3 • Estructura de reinicio
Configuración del diseño de demostración
Las siguientes secciones describen cómo configurar el kit de desarrollo RTG4 y la GUI para ejecutar el diseño de demostración.
Configuración de puentes
- Conecte los puentes en el kit de desarrollo RTG4, como se muestra en la Tabla 2.
Tabla 2 • Configuración de puentesSaltador Alfiler (De) Alfiler (Para) Comentarios J11, J17, J19, J21, J23, J26, J27, J28 1 2 Por defecto J16 2 3 Por defecto J32 1 2 Por defecto J33 1 3 Por defecto 2 4 Nota: Apague el interruptor de la fuente de alimentación, SW6, mientras conecta los puentes.
- Conecte el cable USB (mini USB a cable USB tipo A) al J47 del kit de desarrollo RTG4 y el otro extremo del cable al puerto USB de la PC anfitriona.
- Asegúrese de que los controladores del puente USB a UART se detecten automáticamente. Esto se puede verificar en el administrador de dispositivos de la PC anfitriona.
La figura 4 muestra las propiedades del puerto serial USB 2.0 y el convertidor serial USB y COM31 conectado C.
Figura 4 • Controladores de puente USB a UART
Nota: Si los controladores del puente USB a UART no están instalados, descargue e instale los controladores desde www.microsemi.com//documents/CDM_2.08.24_WHQL_Certified.zip
La figura 5 muestra la configuración de la placa para ejecutar la demostración de EDAC en el kit de desarrollo RTG4.
Programación del diseño de demostración
- Inicie el software Libero SOC.
- Para programar el kit de desarrollo RTG4 con el trabajo file proporcionada como parte del diseño fileSi utiliza el software FlashPro Express, consulte el Apéndice 1: Programación del dispositivo mediante FlashPro Express, página 14.
Nota: Una vez realizada la programación con el trabajo file a través del software FlashPro Express, continúe con la GUI de demostración de EDAC, página 9. De lo contrario, continúe con el siguiente paso. - En el flujo de diseño de Libero, haga clic en la acción Ejecutar programa.
- Una vez que se completa la programación, aparece una marca verde frente a 'Acción Ejecutar programa', lo que indica que la programación del diseño de demostración se realizó correctamente.
GUI de demostración de EDAC
La demostración de EDAC se proporciona con una GUI fácil de usar, como se muestra en la Figura 7, que se ejecuta en la PC host, que se comunica con el kit de desarrollo RTG4. El UART se utiliza como protocolo de comunicación subyacente entre la PC host y el kit de desarrollo RTG4.
La GUI contiene las siguientes secciones:
- Selección de puerto COM para establecer la conexión UART a RTG4 FPGA con la tasa de baudios 115200.
- Escritura de memoria LSRAM: para escribir los datos de 8 bits en la dirección de memoria LSRAM especificada.
- Limpieza de memoria: para habilitar o deshabilitar la lógica de limpieza.
- Lectura de memoria LSRAM: para leer los datos de 8 bits de la dirección de memoria LSRAM especificada.
- Recuento de errores: muestra el recuento de errores y proporciona una opción para borrar el valor del contador a cero.
- Recuento de errores de 1 bit: muestra el recuento de errores de 1 bit y proporciona una opción para borrar el valor del contador a cero.
- Recuento de errores de 2 bits: muestra el recuento de errores de 2 bits y proporciona una opción para borrar el valor del contador a cero.
- Datos de registro: proporciona la información de estado de cada operación realizada mediante la GUI.
Ejecutando la demostración
Los siguientes pasos describen cómo ejecutar la demostración:
- Ir a \v1.2.2\v1.2.2\Exe y haga doble clic en EDAC_GUI.exe como se muestra en la Figura 8.
- Seleccione el puerto COM31 de la lista y haga clic en Conectar.
Inyección y corrección de errores de bit único
- En el diseño Libero proporcionado, haga doble clic en el diseño SmartDebug en el flujo de diseño.
- En la GUI de SmartDebug, haga clic en Depurar matriz FPGA.
- En la ventana Depurar matriz FPGA, vaya a la pestaña Bloques de memoria. Mostrará el bloque LSRAM en el diseño con una lógica y física view. Los bloques lógicos se muestran con un ícono L y los bloques físicos se muestran con un ícono P.
- Seleccione la instancia de bloque físico y haga clic con el botón derecho en Agregar.
- Para leer el bloque de memoria, haga clic en Leer bloque.
- Inyecte un error de 1 bit en los datos de 8 bits en cualquier ubicación de LSRAM hasta la profundidad 256, como se muestra en la siguiente figura, donde se inyecta un error de 1 bit en la ubicación 0 de LSRAM.
- Haga clic en Escribir bloque para escribir los datos modificados en la ubicación deseada.
- Vaya a la GUI de EDAC e ingrese el campo Dirección en la sección Lectura de memoria LSRAM y haga clic en Leer, como se muestra en la siguiente figura.
- Observe los campos Recuento de errores de 1 bit y Lectura de datos en la GUI. El valor del recuento de errores aumenta en 1.
El campo Leer datos muestra los datos correctos a medida que el EDAC corrige el bit de error.
Nota: Si la limpieza de memoria no está habilitada, el conteo de errores se incrementa por cada lectura de la misma dirección LSRAM que causa el error de 1 bit.
Inyección y detección de errores de doble bit
- Realice los pasos del 1 al 5 como se indica en Inyección y corrección de errores de bit único, página 10.
- Inyecte un error de 2 bits en los datos de 8 bits en cualquier ubicación de LSRAM hasta la profundidad 256, como se muestra en la siguiente figura, donde el error de 2 bits se inyecta en la ubicación 'A' de LSRAM.
- Haga clic en Escribir bloque para escribir los datos modificados en la ubicación deseada.
- Vaya a la GUI de EDAC e ingrese el campo Dirección en la sección Lectura de memoria LSRAM y haga clic en Leer, como se muestra en la siguiente figura.
- Observe los campos Recuento de errores de 2 bits y Lectura de datos en la GUI. El valor del recuento de errores aumenta en 1.
El campo Leer datos muestra los datos corruptos.
Todas las acciones realizadas en RTG4 se registran en la sección Consola serie de la GUI.
Conclusión
Esta demostración destaca las capacidades EDAC de las memorias RTG4 LSRAM. El error de 1 bit o el error de 2 bits se introducen a través de la GUI de SmartDebug. La corrección de errores de 1 bit y la detección de errores de 2 bits se observan mediante una GUI de EDAC.
Programación del dispositivo mediante FlashPro Express
Esta sección describe cómo programar el dispositivo RTG4 con el trabajo de programación file utilizando FlashPro Express.
Para programar el dispositivo, realice los siguientes pasos:
- Asegúrese de que la configuración de los puentes en la placa sea la misma que la listada en la Tabla 3 de UG0617:
Guía del usuario del kit de desarrollo RTG4. - Opcionalmente, el puente J32 se puede configurar para conectar los pines 2-3 cuando se usa un programador externo FlashPro4, FlashPro5 o FlashPro6 en lugar de la configuración de puente predeterminada para usar el FlashPro5 integrado.
Nota: El interruptor de la fuente de alimentación, SW6, debe estar APAGADO mientras se realizan las conexiones de los puentes. - Conecte el cable de alimentación al conector J9 de la placa.
- Encienda el interruptor de fuente de alimentación SW6.
- Si usa el FlashPro5 incorporado, conecte el cable USB al conector J47 y la PC anfitriona.
Alternativamente, si usa un programador externo, conecte el cable plano al JTAG encabezado J22 y conecte el programador a la PC host. - En la PC host, inicie el software FlashPro Express.
- Haga clic en Nuevo o seleccione Nuevo proyecto de trabajo de FlashPro Express Trabajo en el menú Proyecto para crear un nuevo proyecto de trabajo, como se muestra en la siguiente figura.
- Ingrese lo siguiente en el cuadro de diálogo Nuevo proyecto de trabajo de FlashPro Express Job:
- trabajo de programacion file: Haga clic en Examinar y navegue hasta la ubicación donde se encuentra el .job. file se encuentra y seleccione el file. La ubicación predeterminada es: \rtg4_dg0703_df\Programación_Trabajo
- Ubicación del proyecto de trabajo de FlashPro Express: haga clic en Examinar y navegue hasta la ubicación deseada del proyecto de FlashPro Express.
- Haga clic en Aceptar. La programación requerida file está seleccionado y listo para ser programado en el dispositivo.
- Aparecerá la ventana FlashPro Express, confirme que aparece un número de programador en el campo Programador. Si no es así, confirme las conexiones de la placa y haga clic en Actualizar/Reexaminar programadores.
- Haga clic en EJECUTAR. Cuando el dispositivo se programa correctamente, se muestra el estado EJECUCIÓN APROBADA como se muestra en la siguiente figura.
- Cierre FlashPro Express o haga clic en Salir en la pestaña Proyecto.
Ejecutar el script TCL
Los scripts TCL se proporcionan en el diseño. files carpeta en el directorio TCL_Scripts. Si es necesario, el diseño
el flujo se puede reproducir desde la implementación del diseño hasta la generación del trabajo file.
Para ejecutar el TCL, siga los pasos a continuación:
- Inicie el software Libero
- Seleccione Proyecto > Ejecutar script….
- Haga clic en Examinar y seleccione script.tcl del directorio TCL_Scripts descargado.
- Haga clic en Ejecutar.
Después de la ejecución exitosa del script TCL, el proyecto Libero se crea dentro del directorio TCL_Scripts.
Para obtener más información sobre los scripts TCL, consulte rtg4_dg0703_df/TCL_Scripts/readme.txt.
Consulte la Guía de referencia de comandos TCL de Libero® SoC para obtener más detalles sobre los comandos TCL. Póngase en contacto con el soporte técnico para cualquier consulta que surja al ejecutar el script TCL.
Microsemi no ofrece ninguna garantía con respecto a la información contenida en este documento o la idoneidad de sus productos y servicios para un propósito particular, ni Microsemi asume responsabilidad alguna que surja de la aplicación o el uso de cualquier producto o circuito. Los productos vendidos a continuación y cualquier otro producto vendido por Microsemi han sido sujetos a pruebas limitadas y no deben usarse junto con equipos o aplicaciones de misión crítica. Las especificaciones de rendimiento se consideran confiables, pero no se verifican, y el Comprador debe realizar y completar todas las pruebas de rendimiento y de otro tipo de los productos, solos y junto con, o instalados en, cualquier producto final. El Comprador no se basará en los datos y especificaciones o parámetros de rendimiento proporcionados por Microsemi. Es responsabilidad del Comprador determinar de forma independiente la idoneidad de cualquier producto y probarlo y verificarlo. La información proporcionada por Microsemi a continuación se proporciona "tal cual, dónde está" y con todas las fallas, y todo el riesgo asociado con dicha información es totalmente del Comprador. Microsemi no otorga, explícita o implícitamente, a ninguna de las partes ningún derecho de patente, licencia o cualquier otro derecho de propiedad intelectual, ya sea con respecto a dicha información en sí misma o cualquier cosa descrita en dicha información. La información proporcionada en este documento es propiedad de Microsemi, y Microsemi se reserva el derecho de realizar cambios en la información de este documento o en cualquier producto y servicio en cualquier momento sin previo aviso.
Acerca de Microsemi Microsemi, una subsidiaria de propiedad absoluta de Microchip Technology Inc. (Nasdaq: MCHP), ofrece una cartera integral de soluciones de sistemas y semiconductores para los mercados aeroespacial y de defensa, comunicaciones, centro de datos e industrial. Los productos incluyen circuitos integrados analógicos de señal mixta de alto rendimiento y resistentes a la radiación, FPGA, SoC y ASIC; productos de administración de energía; dispositivos de temporización y sincronización y soluciones de tiempo preciso, estableciendo el estándar mundial para el tiempo; dispositivos de procesamiento de voz; soluciones de radiofrecuencia; componentes discretos; soluciones empresariales de almacenamiento y comunicación, tecnologías de seguridad y anti-t escalablesamper productos; soluciones de Ethernet; Midspans e IC de alimentación a través de Ethernet; así como capacidades y servicios de diseño personalizados. Obtenga más información en www.microsemi.com.
Sede Microsemi
Una Empresa, Aliso Viejo,
CA 92656 EE. UU.
Dentro de EE. UU.: +1 800-713-4113
Fuera de EE. UU.: +1 949-380-6100
Ventas: +1 949-380-6136
Teléfono: +1 949-215-4996
Correo electrónico: ventas.soporte@microsemi.com
www.microsemi.com
©2021 Microsemi, una subsidiaria de propiedad total de Microchip Technology Inc. Todos los derechos reservados. Microsemi y el logotipo de Microsemi son marcas comerciales registradas de Microsemi Corporation. Todas las demás marcas comerciales y marcas de servicio son propiedad de sus respectivos dueños.
Microsemi Patentado DG0703 Revisión 4.0
Documentos / Recursos
![]() |
Detección y corrección de errores de MICROCHIP en memoria RTG4 LSRAM [pdf] Guía del usuario Demostración DG0703, detección y corrección de errores en memoria RTG4 LSRAM, detección y corrección en memoria RTG4 LSRAM, memoria RTG4 LSRAM, memoria LSRAM |