Detección e corrección de erros de MICROCHIP na memoria RTG4 LSRAM
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 máis recente.
Revisión 4.0
O seguinte é un resumo dos cambios realizados nesta revisión.
- Actualizouse o documento para Libero SoC v2021.2.
- Apéndice 1 engadido: Programación do dispositivo mediante FlashPro Express, páxina 14.
- Apéndice 2 engadido: Execución do script TCL, páxina 16.
- Elimináronse as referencias aos números de versión de Libero.
Revisión 3.0
Actualizouse o documento para a versión do software Libero v11.9 SP1.
Revisión 2.0
Actualizouse o documento para a versión do software Libero v11.8 SP2.
Revisión 1.0
A primeira publicación deste documento.
Detección e corrección de erros na memoria RTG4 LSRAM
Este deseño de referencia describe as capacidades de detección e corrección de erros (EDAC) das RTG4™ FPGA LSRAM. Nun entorno susceptible de alteración dun único evento (SEU), a memoria RAM é propensa a erros transitorios causados por ións pesados. Estes erros pódense detectar e corrixir empregando códigos de corrección de erros (ECC). Os bloques de RAM RTG4 FPGA teñen controladores EDAC integrados para xerar os códigos de corrección de erros para corrixir un erro de 1 bit ou detectar un erro de 2 bits.
Se se detecta un erro de 1 bit, o controlador EDAC corrixe o bit de erro e establece o indicador de corrección de erros (SB_CORRECT) como activo alto. Se se detecta un erro de 2 bits, o controlador EDAC establece o indicador de detección de erros (DB_DETECT) como activo alto.
Para obter máis información sobre a funcionalidade RTG4 LSRAM EDAC, consulte UG0574: RTG4 FPGA Fabric
Guía de usuario.
Neste deseño de referencia, o erro de 1 bit ou o erro de 2 bits introdúcese a través da GUI de SmartDebug. EDAC obsérvase mediante unha interface gráfica de usuario (GUI), utilizando a interface UART para acceder á LSRAM para lecturas/escrituras de datos, Libero® System-on-Chip (SoC) SmartDebug (JTAG) úsase para inxectar os erros na memoria LSRAM.
Requisitos de deseño
A táboa 1 enumera os requisitos de deseño de referencia para executar a demostración RTG4 LSRAM EDAC.
Táboa 1 • Requisitos de deseño
Software
- Libero SoC
- FlashPro Express
- SmartDebug
- Controladores de PC host Controladores de USB a UART
Nota: Libero SmartDesign e as capturas de pantalla de configuración que se mostran nesta guía son só con fins ilustrativos.
Abre o deseño de Libero para ver as últimas actualizacións.
Requisitos previos
Antes de comezar:
Descargue e instale Libero SoC (como se indica no websitio para este deseño) no PC host dende a seguinte localización: https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
Deseño de demostración
Descarga o deseño de demostración files do Microsemi websitio en: http://soc.microsemi.com/download/rsc/?f=rtg4_dg0703_df
O deseño de demostración files inclúen:
- Proxecto Libero SoC
- Instalador de GUI
- Programación files
- Léame.txt file
- TCL_Scripts
A aplicación GUI do PC host envía comandos ao dispositivo RTG4 a través da interface USB-UART. Esta interface UART está deseñada con CoreUART, que é unha IP lóxica do catálogo de IP SoC de Libero. O CoreUART IP no tecido RTG4 recibe comandos e transmíteos á lóxica do decodificador de comandos. A lóxica do decodificador de comandos descodifica o comando de lectura ou escritura, que se executa mediante a lóxica da interface de memoria.
O bloque de interface de memoria úsase para ler/escribir e supervisar os indicadores de erro LSRAM. O EDAC integrado corrixe o erro de 1 bit ao ler desde LSRAM e proporciona datos corrixidos á interface de usuario, pero non escribe os datos corrixidos de volta a LSRAM. O LSRAM EDAC integrado non implementa unha función de fregado. O deseño de demostración implementa a lóxica de fregado, que supervisa a bandeira de corrección de 1 bit e actualiza a LSRAM cos datos corrixidos se se produce un erro dun só bit.
SmartDebug GUI úsase para inxectar erros de 1 ou 2 bits nos datos LSRAM.
A Figura 1 mostra o diagrama de bloques de nivel superior do deseño de demostración RTG4 LSRAM EDAC.
Figura 1 • Diagrama de bloques de nivel superior
As seguintes son as configuracións de deseño de demostración:
- A LSRAM está configurada para o modo ×18 e o EDAC está habilitado conectando o sinal ECC_EN de LSRAM a alto.
Nota: O LSRAM EDAC só admite os modos ×18 e ×36. - O CoreUART IP está configurado para comunicarse coa aplicación do PC host a unha velocidade de 115200 baudios.
- O RTG4FCCCECALIB_C0 está configurado para sincronizar o CoreUART e outra lóxica de tecido a 80 MHz.
Características
As seguintes son as características do deseño de demostración:
- Le e escribe a LSRAM
- Inxectar erros de 1 e 2 bits usando SmartDebug
- Mostra os valores de conta de erros de 1 e 2 bits
- Disposición para borrar os valores de conta de erros
- Activa ou desactiva a lóxica de limpeza da memoria
Descrición
Este deseño de demostración implica a implementación das seguintes tarefas:
- Inicialización e acceso a LSRAM
A lóxica de interface de memoria implementada na lóxica de tecido recibe o comando de inicialización da GUI e inicializa as primeiras 256 localizacións de memoria de LSRAM cos datos incrementais. Tamén realiza as operacións de lectura e escritura nas 256 localizacións de memoria de LSRAM ao recibir o enderezo e os datos da GUI. Para unha operación de lectura, o deseño obtén os datos de LSRAM e ofréceos á GUI para a súa visualización. A expectativa é que o deseño non inducirá erros antes de usar SmartDebug.
Nota: As localizacións de memoria non inicializadas poden ter valores aleatorios e SmartDebug pode mostrar erros de un ou dous bits nesas localizacións.
- Inxección de erros de 1 ou 2 bits
SmartDebug GUI úsase para inxectar os erros de 1 ou 2 bits na localización de memoria especificada da LSRAM. As seguintes operacións realízanse usando SmartDebug para inxectar erros de 1 e 2 bits na LSRAM:- Abre a GUI de SmartDebug, fai clic en Depurar matriz FPGA.
- Vaia á pestana Bloques de memoria, seleccione a instancia de memoria e faga clic co botón dereito en Engadir.
- Para ler o bloque de memoria, faga clic en Ler bloque.
- Inxecta un erro de bit simple ou dobre en calquera localización da LSRAM dunha determinada profundidade.
- Para escribir na localización modificada, faga clic en Escribir bloque.
Durante a operación de lectura e escritura de LSRAM a través do SmartDebug (JTAG), o controlador EDAC é omitido e non calcula os bits ECC para a operación de escritura no paso e.
- Conta de erros
Os contadores de 8 bits úsanse para proporcionar un reconto de erros e están deseñados na lóxica de tecido para contar os erros de 1 ou 2 bits. A lóxica do decodificador de comandos proporciona os valores de conta á GUI cando recibe ordes da GUI.
Estrutura de reloxo
Neste deseño de demostración, hai un dominio de reloxo. O oscilador interno de 50 MHz impulsa o RTG4FCCC, que impulsa ademais RTG4FCCCECALIB_C0. O RTG4FCCCECALIB_C0 xera un reloxo de 80 MHz que proporciona unha fonte de reloxo aos módulos COREUART, cmd_decoder, TPSRAM_ECC e RAM_RW.
A seguinte figura mostra a estrutura de reloxo do deseño de demostración.
Figura 2 • Estrutura do reloxo
Restablecer estrutura
Neste deseño de demostración, o sinal de reinicio aos módulos COREUART, cmd_decoder e RAM_RW fornécese a través do porto LOCK de RTG4FCCCECALIB_C0. A seguinte figura mostra a estrutura de restablecemento do deseño de demostración.
Figura 3 • Restablecer estrutura
Configuración do deseño de demostración
As seguintes seccións describen como configurar o kit de desenvolvemento RTG4 e a GUI para executar o deseño de demostración.
Configuración do puente
- Conecte os puentes no kit de desenvolvemento RTG4, como se mostra na táboa 2.
Táboa 2 • Configuración de puentesJumper Pin (De) Fixar (a) 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 o interruptor da fonte de alimentación, SW6, mentres conecta os puentes.
- Conecte o cable USB (mini USB a cable USB tipo A) a J47 do kit de desenvolvemento RTG4 e o outro extremo do cable ao porto USB do PC host.
- Asegúrese de que os controladores da ponte de USB a UART se detecten automaticamente. Isto pódese verificar no xestor de dispositivos do PC host.
A Figura 4 mostra as propiedades do porto serie USB 2.0 e o COM31 e o conversor serie USB C conectados.
Figura 4 • Controladores de ponte USB a UART
Nota: Se os controladores da ponte de USB a UART non están instalados, descargue e instale os controladores desde www.microsemi.com//documents/CDM_2.08.24_WHQL_Certified.zip
A figura 5 mostra a configuración da placa para executar a demostración EDAC no kit de desenvolvemento RTG4.
Programación do deseño de demostración
- Inicie o software Libero SOC.
- Para programar o kit de desenvolvemento RTG4 co traballo file proporcionado como parte do deseño files utilizando o software FlashPro Express, consulte o Apéndice 1: Programación do dispositivo mediante FlashPro Express, páxina 14.
Nota: Unha vez feita a programación co traballo file mediante o software FlashPro Express, vaia á GUI de demostración de EDAC, páxina 9. En caso contrario, continúe co seguinte paso. - No fluxo de deseño de Libero, faga clic en Executar acción do programa.
- Unha vez completada a programación, aparece unha marca verde diante de "Executar acción do programa" que indica a programación exitosa do deseño de demostración.
GUI de demostración de EDAC
A demostración de EDAC inclúe unha GUI fácil de usar, como se mostra na Figura 7, que se executa no PC host, que se comunica co kit de desenvolvemento RTG4. O UART utilízase como protocolo de comunicación subxacente entre o PC host e o kit de desenvolvemento RTG4.
A GUI contén as seguintes seccións:
- Selección de porto COM para establecer a conexión UART a RTG4 FPGA coa velocidade de transmisión de 115200 baudios.
- Escritura de memoria LSRAM: para escribir os datos de 8 bits no enderezo de memoria LSRAM especificado.
- Depuración de memoria: para activar ou desactivar a lóxica de fregado.
- Lectura da memoria LSRAM: para ler os datos de 8 bits do enderezo de memoria LSRAM especificado.
- Conta de erros: mostra o reconto de erros e ofrece unha opción para borrar o valor do contador a cero.
- Conta de erros de 1 bit: mostra o reconto de erros de 1 bit e ofrece unha opción para borrar o valor do contador a cero.
- Conta de erros de 2 bits: mostra o reconto de erros de 2 bits e ofrece unha opción para borrar o valor do contador a cero.
- Datos de rexistro: proporciona información de estado para cada operación realizada mediante a GUI.
Executando a demostración
Os seguintes pasos describen como executar a demostración:
- Ir a \v1.2.2\v1.2.2\Exe e prema dúas veces en EDAC_GUI.exe como se mostra na Figura 8.
- Seleccione o porto COM31 da lista e prema en Conectar.
Inxección e corrección de erros dun só bit
- No deseño de Libero proporcionado, fai dobre clic no Deseño SmartDebug no fluxo de deseño.
- Na GUI de SmartDebug, faga clic en Depurar matriz FPGA.
- Na xanela Depurar matriz FPGA, vai á pestana Bloques de memoria. Mostrará o bloque LSRAM no deseño cun lóxico e físico view. Os bloques lóxicos móstranse cunha icona L e os bloques físicos cunha icona P.
- Seleccione a instancia de bloque físico e prema co botón dereito en Engadir.
- Para ler o bloque de memoria, faga clic en Ler bloque.
- Inxecta un erro de 1 bit nos datos de 8 bits en calquera lugar da LSRAM ata a profundidade 256, como se mostra na seguinte figura, onde se inxecta un erro de 1 bit na posición 0 da LSRAM.
- Fai clic en Escribir bloque para escribir os datos modificados na localización desexada.
- Vaia á GUI de EDAC e introduza o campo Enderezo na sección Lectura da memoria LSRAM e prema en Ler, como se mostra na seguinte figura.
- Observe os campos Conta de erros de 1 bit e Ler datos na GUI. O valor da conta de erros aumenta en 1.
O campo Ler datos mostra os datos correctos mentres o EDAC corrixe o bit de erro.
Nota: Se a eliminación de memoria non está activada, o reconto de erros increméntase por cada lectura do mesmo enderezo LSRAM xa que provoca o erro de 1 bit.
Inxección e detección de erros de dobre bit
- Realice o paso 1 ao paso 5 como se indica en Inxección e corrección de erros dun só bit, páxina 10.
- Inxecta un erro de 2 bits nos datos de 8 bits en calquera localización da LSRAM ata a profundidade 256, como se mostra na seguinte figura onde o erro de 2 bits se inxecta na localización "A" da LSRAM.
- Fai clic en Escribir bloque para escribir os datos modificados na localización prevista.
- Vaia á GUI de EDAC e introduza o campo Enderezo na sección Lectura da memoria LSRAM e prema en Ler, como se mostra na seguinte figura.
- Observe os campos Conta de erros de 2 bits e Ler datos na GUI. O valor da conta de erros aumenta en 1.
O campo Ler datos mostra os datos danados.
Todas as accións realizadas en RTG4 rexístranse na sección Consola serie da GUI.
Conclusión
Esta demostración destaca as capacidades EDAC das memorias RTG4 LSRAM. O erro de 1 bit ou o erro de 2 bits introdúcense a través da GUI de SmartDebug. A corrección de erros de 1 bit e a detección de erros de 2 bits obsérvase mediante unha GUI EDAC.
Programación do dispositivo mediante FlashPro Express
Esta sección describe como programar o dispositivo RTG4 co traballo de programación file usando FlashPro Express.
Para programar o dispositivo, siga os seguintes pasos:
- Asegúrese de que os axustes de puentes na placa son os mesmos que se indican na Táboa 3 de UG0617:
Guía do usuario do kit de desenvolvemento RTG4. - Opcionalmente, o puente J32 pódese configurar para conectar os pinos 2-3 cando se utiliza un programador FlashPro4, FlashPro5 ou FlashPro6 externo en lugar da configuración de puente predeterminada para usar o FlashPro5 incorporado.
Nota: O interruptor da fonte de alimentación, SW6, debe estar apagado mentres se realizan as conexións de puente. - Conecte o cable de alimentación ao conector J9 da placa.
- Encienda o interruptor de fonte de alimentación SW6.
- Se utiliza o FlashPro5 integrado, conecte o cable USB ao conector J47 e ao PC host.
Alternativamente, se usa un programador externo, conecte o cable plano ao conector JTAG cabeceira J22 e conecte o programador ao PC host. - 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 é: \rtg4_dg0703_df\Programming_Job
- Localización do proxecto de traballo FlashPro Express: fai clic en Examinar e desprázate ata a localización do proxecto FlashPro Express desexada.
- Fai clic en Aceptar. A programación requirida file está seleccionado e listo para ser programado no dispositivo.
- Aparecerá a xanela de FlashPro Express, 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 fai clic en Saír na pestana Proxecto.
Execución do script TCL
Os scripts TCL preséntanse no deseño files no directorio TCL_Scripts. Se é necesario, o deseño
O fluxo pódese reproducir desde a implementación do deseño ata a xeración do traballo file.
Para executar o TCL, siga os seguintes pasos:
- Inicie o software Libero
- Seleccione Proxecto > Executar script....
- Fai clic en Examinar e selecciona script.tcl no directorio TCL_Scripts descargado.
- Fai clic en Executar.
Despois da execución exitosa do script TCL, o proxecto Libero créase dentro do directorio TCL_Scripts.
Para obter máis información sobre os scripts TCL, consulte rtg4_dg0703_df/TCL_Scripts/readme.txt.
Consulte Libero® SoC TCL Command Reference Guide para obter máis detalles sobre os comandos TCL. Póñase en contacto co soporte técnico para calquera consulta que atope ao executar o script TCL.
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 sometidos a 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 probalo e verificalo. A información proporcionada por Microsemi a continuación ofrécese "tal e como está, onde está" e con todos os fallos, e todo o risco asociado a dita 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.
Acerca de 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.
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: vendas.support@microsemi.com
www.microsemi.com
©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 Propietario DG0703 Revisión 4.0
Documentos/Recursos
![]() |
Detección e corrección de erros de MICROCHIP na memoria RTG4 LSRAM [pdfGuía do usuario Demostración DG0703, detección e corrección de erros na memoria LSRAM RTG4, detección e corrección na memoria LSRAM RTG4, memoria LSRAM RTG4, memoria LSRAM |