Erro DG0388 SmartFusion2 SoC FPGA
Detección e corrección da memoria de seram
Guía de usuario
©2021 Microsemi, unha subsidiaria totalmente propiedade de Microchip Technology Inc. Todos os dereitos reservados. Microsemi e o logotipo de Microsemi son marcas rexistradas de Microsemi Corporation. Todas as outras marcas comerciais e marcas de servizo son propiedade dos seus respectivos propietarios.
Microsemi non fai ningunha garantía, representación ou garantía sobre a información contida aquí ou a idoneidade dos seus produtos e servizos para ningún propósito particular, nin Microsemi asume ningunha responsabilidade derivada da aplicación ou uso de calquera produto ou circuíto. Os produtos que se venden a continuación e calquera outro produto vendido por Microsemi foron obxecto de probas limitadas e non deben usarse xunto con equipos ou aplicacións de misión crítica. Crese que todas as especificacións de rendemento son fiables, pero non se verifican, e o comprador debe realizar e completar todas as probas de rendemento e outras probas dos produtos, só e xunto con calquera produto final ou instalado en calquera. O comprador non dependerá de ningún dato e especificacións de rendemento ou parámetros proporcionados por Microsemi. É responsabilidade do comprador
determinar de forma independente a idoneidade de calquera produto e probalos e verificalos. A información proporcionada por Microsemi a continuación ofrécese "tal e como está, onde está" e con todas as fallas, e todo o risco asociado a esa información correspóndelle enteiramente ao comprador. Microsemi non concede, de forma explícita ou implícita, a ningunha parte ningún dereito de patente, licenza ou calquera outro dereito de PI, xa sexa con respecto a dita información en si ou a calquera cousa descrita por dita información. A información proporcionada neste documento é propiedade de Microsemi, e Microsemi resérvase o dereito de facer calquera cambio na información deste documento ou en calquera produto e servizo en calquera momento sen previo aviso.
Sobre Microsemi
Microsemi, unha subsidiaria de propiedade total de Microchip Technology Inc. (Nasdaq: MCHP), ofrece unha carteira completa de solucións de sistemas e semicondutores para a industria aeroespacial e de defensa, comunicacións, centros de datos e mercados industriais. Os produtos inclúen circuítos integrados de sinais mixtos analóxicos de alto rendemento e endurecidos pola radiación, FPGA, SoC e ASIC; produtos de xestión de enerxía; dispositivos de temporización e sincronización e solucións horarias precisas, establecendo o estándar mundial para o tempo; dispositivos de procesamento de voz; solucións de RF; compoñentes discretos; solucións de almacenamento e comunicación empresarial, tecnoloxías de seguridade e anti-t escalablesamper produtos; solucións Ethernet; Circuitos integrados de alimentación a través de Ethernet e intervalos medios; así como capacidades e servizos de deseño personalizado. Máis información en www.microsemi.com.
Historial de revisións
O historial de revisións describe os cambios que se implementaron no documento. Os cambios están listados por revisión, comezando pola publicación actual.
1.1 Revisión 11.0
O seguinte é un resumo dos cambios realizados nesta revisión.
- Actualizouse o documento para Libero SoC v12.6.
- Elimináronse as referencias aos números de versión de Libero.
1.2 Revisión 10.0
Actualizouse o documento para a versión do software Libero SoC v11.8 SP1.
1.3 Revisión 9.0
Actualizouse o documento para a versión do software Libero SoC v11.8.
1.4 Revisión 8.0
Actualizouse o documento para a versión de software Libero SoC v11.7 (SAR 77402).
1.5 Revisión 7.0
Actualizouse o documento para a versión de software Libero SoC v11.6 (SAR 72777).
1.6 Revisión 6.0
Actualizouse o documento para a versión de software Libero SoC v11.5 (SAR 64979).
1.7 Revisión 5.0
Actualizouse o documento para a versión de software Libero SoC v11.4 (SAR 60476).
1.8 Revisión 4.0
Actualizouse o documento para a versión de software Libero SoC v11.3 (SAR 56852).
1.9 Revisión 3.0
Actualizouse o documento para a versión de software Libero SoC v11.2 (SAR 52960).
1.10 Revisión 2.0
Actualizouse o documento para a versión de software Libero SoC v11.0 (SAR 47858).
1.11 Revisión 1.0
A primeira publicación deste documento.
SmartFusion2 SoC FPGA - Detección de erros e corrección da memoria de seram
Introdución
Este documento describe as capacidades de detección e corrección de erros (EDAC) dos dispositivos SmartFusion® 2 na memoria de acceso aleatorio estática integrada (Seram). Os controladores EDAC implementados nos dispositivos SmartFusion2 admiten a corrección dun único erro e a detección de dobre erro (SECDED). Todas as memorias do subsistema de microcontroladores (MSS) do SmartFusion2 están protexidas por SECDED. A memoria Seram pode ser eSRAM_0 ou eSRAM_1. O intervalo de enderezos de eSRAM_0 é de 0x20000000 a 0x20007FFF e o intervalo de enderezos de eSRAM_1 é de 0x20008000 a 0x2000FFFF.
Cando SECDED está activado:
- Unha operación de escritura calcula e engade 8 bits de código SECDED a cada 32 bits de datos.
- Unha operación de lectura le e comproba os datos co código SECDED almacenado para admitir a corrección de erros de 1 bit e a detección de erros de 2 bits.
Nesta demostración, o EDAC pódese identificar polo diodo emisor de luz (LED) parpadeante na placa e pola interface gráfica de usuario (GUI).O EDAC de eSRAM admite as seguintes funcións:
- Mecanismo SECDED
- Proporciona interrupcións ao procesador ARM Cortex-M3 e ao tecido FPGA tras a detección dun erro de 1 bit ou erro de 2 bits.
- Almacena o número de erros de 1 e 2 bits nos rexistros do contador de erros.
- Almacena o enderezo da última localización de memoria afectada por erros de 1 ou 2 bits.
- Almacena datos de erro de 1 ou 2 bits nos rexistros SECDED.
- Proporciona sinais de bus de erro ao tecido FPGA.
Consulte o capítulo EDAC do UG0443: SmartFusion2 e IGLOO2 FPGA Security and Reliability User Guide e o capítulo Seram do UG0331: SmartFusion2 Microcontroller Subsystem User Guide.
2.2 Requisitos de demostración
A seguinte táboa enumera os requisitos de hardware e software para executar o deseño de demostración.
Táboa 1 • Requisitos de deseño
Requisito | Versión |
Sistema Operativo | Windows 64 e 7 de 10 bits |
Hardware | |
Kit de avaliación da seguridade SmartFusion2: • Programador FlashPro4 • Cable USB A a Mini – B USB • Adaptador de 12 V |
Rev D ou posterior |
Software | |
FlashPro Express | Consulte o ficheiro readme.txt file previstos no deseño files para as versións de software utilizadas con este deseño de referencia. |
Libero | |
Software System-on-Chip (SoC). | |
SoftConsole | |
Controladores de PC host | Controladores de USB a UART |
Para lanzar a GUI de demostración | Cliente Microsoft.NET Framework 4 |
Nota: As capturas de pantalla de configuración e deseño intelixente de Libero que se mostran nesta guía son só con fins ilustrativos.
Abre o deseño de Libero para ver as últimas actualizacións.
2.3 Requisitos previos
Antes de comezar:
Descargue e instale Libero SoC (como se indica no websitio para este deseño) no PC host desde a seguinte localización.
https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
2.3.1 Deseño Files
O deseño de demostración files están dispoñibles para descargar desde o seguinte camiño no Microsemi websitio: http://soc.microsemi.com/download/rsc/?f=m2s_dg0388_df
Deseño files inclúen:
- GUI executable
- Proxecto Libero
- Traballo de Programación
- Léame file
A seguinte figura mostra a estrutura de nivel superior do deseño files. Para máis detalles, consulte o readme.txt file.2.4 Descrición do deseño de demostración
Cada Seram dentro do MSS está protexido por un controlador EDAC dedicado. EDAC detecta un erro de 1 ou 2 bits cando se len datos da memoria. Se EDAC detecta o erro de 1 bit, o controlador EDAC corrixe o mesmo bit de erro. Se EDAC está habilitado para todos os erros de 1 e 2 bits, increméntanse os contadores de erros correspondentes nos rexistros do sistema e xéranse as interrupcións e os sinais de bus de erro correspondentes ao tecido FPGA.
Nun entorno susceptible de alteración dun evento único (SEU), a memoria de acceso aleatorio (RAM) é propensa a erros transitorios causados por ións pesados. Isto ocorre en tempo real. Para demostralo, introdúcese manualmente un erro e obsérvase a detección e corrección.
Este deseño de demostración implica a implementación das seguintes tarefas:
- Activar EDAC
- Escribir datos en Seram
- Ler datos de Seram
- Desactivar EDAC
- Corrompe un ou dous bits
- Escribir datos en Seram
- Activar EDAC
- Le os datos
- No caso dun erro de 1 bit, o controlador EDAC corrixe o erro, actualiza os rexistros de estado correspondentes e proporciona os datos escritos no paso 2 na operación de lectura realizada no paso 8.
- No caso dun erro de 2 bits, xérase unha interrupción correspondente e a aplicación debe corrixir os datos ou tomar a acción adecuada no manejador de interrupcións. Estes dous métodos móstranse nesta demostración.
Nesta demostración impléntanse dúas probas: proba de bucle e proba manual, e son aplicables a erros de 1 e 2 bits.
2.4.1 Proba de bucle
A proba de bucle execútase cando o SmartFusion2 recibe un comando de proba de bucle da GUI. Inicialmente, todos os contadores de erros e rexistros relacionados con EDAC colócanse no estado RESET.
Para cada iteración execútanse os seguintes pasos:
- Activa o controlador EDAC.
- Escriba os datos na localización específica da memoria de Seram.
- Desactive o controlador EDAC.
- Escriba os datos inducidos por erros de 1 ou 2 bits na mesma localización da memoria Seram.
- Activa o controlador EDAC.
- Lea os datos da mesma localización da memoria Seram.
- Envíe a detección de erros de 1 ou 2 bits e os datos de corrección de erros de 1 bit en caso de erro de 1 bit á GUI.
2.4.2 Proba manual
Este método permite probas manuais para activar ou desactivar EDAC e a operación de escritura ou lectura. Usando este método, pódense introducir erros de 1 ou 2 bits en calquera lugar da costura. Active o EDAC e escriba os datos no enderezo especificado mediante os campos da GUI. Desactive o EDAC e escriba datos corruptos de 1 ou 2 bits na mesma localización de enderezos. Activa o EDAC e le os datos desde a mesma localización de enderezos, entón o LED do taboleiro cambia para notificar a detección e corrección de erros. O contador de erros correspondente móstrase na GUI. A GUI Serial Console rexistra todas as accións realizadas en SmartFusion2.
A seguinte figura mostra as operacións de demostración de Seram EDAC.2.5 Execución da demostración
Esta sección describe a configuración da tarxeta do kit de avaliación de seguridade SmartFusion2, as opcións da GUI e como executar o deseño de demostración.
2.5.1 Configuración de demostración
Os seguintes pasos describen como configurar a demostración:
- Conecte o programador FlashPro4 ao conector J5 da tarxeta SmartFusion2 Security Evaluation Kit.
- Conecte un extremo do cable USB mini-B ao conector J18 proporcionado na tarxeta do kit de avaliación da seguridade SmartFusion2. Conecte o outro extremo do cable USB ao ordenador host. Asegúrese de que os controladores USB to UART Bridge se detecten automaticamente (pódense verificar no Xestor de dispositivos), como se mostra na Figura 4, páxina 7.
Nota: Copie o número de porto COM para a configuración do porto serie. Asegúrese de que a localización do porto COM está especificada como no USB Serial Converter D, como se mostra na seguinte figura. - Se os controladores da ponte de USB a UART non están instalados, descargue e instale os controladores desde www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip
- Conecte os puentes na tarxeta SmartFusion2 Security Evaluation Kit, como se mostra na seguinte figura. O interruptor de alimentación SW7 debe estar desactivado mentres se realizan as conexións de puente.
Táboa 2 • Configuración do puente do kit de avaliación da seguridade SmartFusion2Jumper Pin (De) Fixar (a) Comentarios J22, J23, J24, J8, J3 1 (predeterminado) 2 Estes son os axustes de puentes predeterminados da tarxeta do kit de avaliación da seguridade SmartFusion2. Asegúrese de que estes puentes estean configurados en consecuencia. - Conecte a fonte de alimentación ao conector J18.
A seguinte figura mostra a configuración do taboleiro para executar a demostración no Kit de avaliación SmartFusion2 SecuEvaluation.2.5.2 Interface gráfica de usuario
A seguinte sección describe a GUI de demostración de Seram - EDAC.
A GUI admite as seguintes funcións:
- Selección do porto COM e da taxa de baudios.
- Selección da pestana de corrección de erros de 1 bit ou pestana de detección de erros de 2 bits.
- Selección de eSRAM0 ou eSRAM1.
- Campo de enderezo para escribir ou ler datos desde o enderezo de Seram especificado.
- Campo de datos para escribir ou ler datos desde o enderezo de Seram especificado.
- Sección Consola serie para imprimir a información de estado recibida da aplicación.
- EDAC ON/OFF: activa ou desactiva o EDAC.
- Escribir: Permite escribir datos no enderezo especificado.
- Ler: permite ler datos do enderezo especificado.
- LOOP test ON/OFF: Permite probar o mecanismo EDAC nun método de bucle.
2.5.3 Execución do deseño
Os seguintes pasos describen como executar o deseño:
- Conectar o interruptor de alimentación, SW7.
- Programe a tarxeta do kit de avaliación de seguridade SmartFusion2 co traballo file proporcionado como parte do deseño files (\Programming job\eSRAM_0\eSRAM0.job ou \Programming job\eSRAM_1\eSRAM1.job) utilizando o software FlashPro Express, consulte Apéndice: Programación do dispositivo mediante FlashPro Express, páxina 12.
- Preme o interruptor SW6 para restablecer a placa despois da programación exitosa.
- Inicie o executable EDAC_eSRAM Demo GUI file dispoñible no deseño files (\GUI Executable\EDAC_eSRAM.exe). Móstrase a xanela da GUI, como se mostra na Figura 6, páxina 9.
- Seleccione o porto COM apropiado (ao que apuntan os controladores de USB a UART Bridge) na lista despregable Porto COM.
- Seleccione a taxa de transmisión como 57600 e prema en Conectar. Despois de establecer a conexión, Conectar cambia a Desconectar.
- Seleccione Seram 0 ou Seram 1 dependendo da programación file seleccionado no paso 2.
- Seleccione a pestana Corrección de erros de 1 bit ou Detección de erros de 2 bits, como se mostra na Figura 7, páxina 10. e Figura 8, páxina 11.
- Pódense realizar dous tipos de probas: Manual e Loop.
2.5.3.1 Realización da proba de bucle
Fai clic en Loop Test ON. Funciona en modo de bucle onde se realiza a corrección continua e a detección de erros. O bucle ten 200 iteracións. Todas as accións realizadas en SmartFusion2 rexístranse na sección Consola en serie da GUI. A proba de bucle de detección de erros de 2 bits imprime a compensación do enderezo Seram afectado ao erro na Consola Serial. Fai clic en Proba de bucle OFF despois de completar 200 iteracións.
Táboa 3 • Enderezos de memoria de seram utilizados na proba de bucle
Memoria 1 | Corrección de erros de 1 bit | Detección de erros de 2 bits |
eSRAM0 | 0x20000000 | 0x20002000 |
eSRAM1 | 0x20008000 | 0x2000A000 |
2.5.3.2 Realización da proba manual
Neste método, os erros introdúcense manualmente mediante GUI. Use os seguintes pasos para executar a corrección de erros de 1 bit ou a detección de erros de 2 bits:
- Enderezo de entrada e campos de datos (use valores hexadecimais de 32 bits).
- Fai clic en EDAC ON.
- Fai clic en Escribir.
- Fai clic en EDAC OFF.
- Simplemente cambie 1 bit (en caso de corrección de erros de 1 bit) ou 2 bits (en caso de detección de erros de 2 bits) no campo Datos (introducindo erro).
- Fai clic en Escribir.
- Fai clic en EDAC ON.
- Fai clic en Ler.
- Observe a visualización do reconto de erros e o campo de datos na GUI. O valor da conta de erros aumenta en 1.
Todas as accións realizadas en SmartFusion2 están rexistradas na sección Consola serie da GUI.
Nota: Para cambiar da pestana Corrección de erros de 1 bit á pestana Detección de erros de 2 bits ou viceversa na GUI de demostración EDAC_eSRAM, restablece a placa de hardware.
2.6 Conclusión
Esta demostración mostra as capacidades SmartFusion2 SECDED do Seram.
Apéndice: Programación do dispositivo mediante FlashPro Express
Esta sección describe como programar o dispositivo SmartFusion2 co traballo de programación file usando FlashPro Express.
Para programar o dispositivo, siga os seguintes pasos:
- Asegúrese de que os axustes dos puentes na placa son os mesmos que se indican na Táboa 2, páxina 7.
Nota: O interruptor da fonte de alimentación debe estar desconectado mentres se realizan as conexións de puente. - Conecte o cable de alimentación ao conector J6 da placa.
- Encienda o interruptor de fonte de alimentación SW7.
- No PC host, inicie o software FlashPro Express.
- Fai clic en Novo ou selecciona Novo proxecto de traballo en FlashPro Express Job no menú Proxecto para crear un novo proxecto de traballo, como se mostra na seguinte figura.
- Introduza o seguinte na caixa de diálogo Novo proxecto de traballo desde FlashPro Express:
• Traballo de programación file: Faga clic en Examinar e desprácese ata o lugar onde se atopa o .job file está localizado e selecciona o file. A localización predeterminada é: \m2s_dg0388_df\Traballo de programación
• Nome do proxecto de traballo de FlashPro Express: faga clic en Examinar e navegue ata o lugar onde quere gardar o proxecto. - Fai clic en Aceptar. A programación requirida file está seleccionado e listo para ser programado no dispositivo.
- A xanela de FlashPro Express aparece como se mostra na seguinte figura. Confirme que aparece un número de programador no campo Programador. Se non o fai, confirme as conexións da placa e prema en Actualizar/Volver a buscar programadores.
- Fai clic en EXECUTAR. Cando o dispositivo se programa correctamente, móstrase un estado RUN PASSED como se mostra na seguinte figura.
- Pecha FlashPro Express ou na pestana Proxecto, fai clic en Saír.
Sede Microsemi
One Enterprise, Aliso Viejo,
CA 92656 EUA
Dentro dos EUA: +1 800-713-4113
Fóra dos EUA: +1 949-380-6100
Vendas: +1 949-380-6136
Fax: +1 949-215-4996
Correo electrónico: sales.support@microsemi.com
www.microsemi.com
Microsemi Propietario DG0388 Revisión 11.0
Documentos/Recursos
![]() |
Microsemi DG0388 SmartFusion2 SoC FPGA Detección de erros e corrección da memoria eSRAM [pdfGuía do usuario DG0388, SmartFusion2 SoC FPGA Detección de erros e corrección da memoria eSRAM, DG0388 SmartFusion2 SoC FPGA Detección de erros e corrección da memoria eSRAM |