Detecção e Correção de Erros MICROCHIP na Memória RTG4 LSRAM
Histórico de revisão
O histórico de revisão descreve as alterações que foram implementadas no documento. As alterações são listadas por revisão, começando com a publicação mais atual.
Revisão 4.0
A seguir, um resumo das alterações feitas nesta revisão.
- Atualizado o documento para Libero SoC v2021.2.
- Apêndice 1 adicionado: Programando o dispositivo usando o FlashPro Express, página 14.
- Apêndice 2 adicionado: Executando o script TCL, página 16.
- Removidas as referências aos números de versão do Libero.
Revisão 3.0
Atualizado o documento para o lançamento do software Libero v11.9 SP1.
Revisão 2.0
Atualizado o documento para o lançamento do software Libero v11.8 SP2.
Revisão 1.0
A primeira publicação deste documento.
Detecção e correção de erros na memória RTG4 LSRAM
Este projeto de referência descreve os recursos de detecção e correção de erros (EDAC) das LSRAMs RTG4™ FPGA. Em um ambiente suscetível a perturbações por evento único (SEU), a RAM é propensa a erros transitórios causados por íons pesados. Esses erros podem ser detectados e corrigidos empregando códigos de correção de erros (ECCs). Os blocos RTG4 FPGA RAM possuem controladores EDAC integrados para gerar os códigos de correção de erro para corrigir um erro de 1 bit ou detectar um erro de 2 bits.
Se for detectado um erro de 1 bit, o controlador EDAC corrige o bit de erro e define o sinalizador de correção de erro (SB_CORRECT) para ativo alto. Se um erro de 2 bits for detectado, o controlador EDAC define o sinalizador de detecção de erro (DB_DETECT) como ativo alto.
Para obter mais informações sobre a funcionalidade RTG4 LSRAM EDAC, consulte UG0574: RTG4 FPGA Fabric
Guia do usuário.
Neste design de referência, o erro de 1 bit ou erro de 2 bits é introduzido por meio da GUI do SmartDebug. O EDAC é observado usando uma interface gráfica do usuário (GUI), utilizando a interface UART para acessar a LSRAM para leituras/gravações de dados, Libero® System-on-Chip (SoC) SmartDebug (JTAG) é usado para injetar os erros na memória LSRAM.
Requisitos de projeto
A Tabela 1 lista os requisitos de design de referência para executar a demonstração RTG4 LSRAM EDAC.
Tabela 1 • Requisitos de Projeto
Programas
- Líbero SoC
- Flash Pro Express
- SmartDebug
- Drivers do PC host Drivers USB para UART
Observação: As capturas de tela do Libero SmartDesign e de configuração mostradas neste guia são apenas para fins ilustrativos.
Abra o design Libero para ver as atualizações mais recentes.
Pré-requisitos
Antes de começar:
Baixe e instale o Libero SoC (conforme indicado no website para este projeto) no PC host a partir do seguinte local: https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
Projeto de Demonstração
Baixe o projeto de demonstração files do Microsemi website em: http://soc.microsemi.com/download/rsc/?f=rtg4_dg0703_df
O projeto de demonstração files incluem:
- Projeto Libero SoC
- Instalador GUI
- Programação files
- Leia-me.txt file
- TCL_Scripts
O aplicativo GUI no PC host emite comandos para o dispositivo RTG4 por meio da interface USB-UART. Esta interface UART é projetada com CoreUART, que é um IP lógico do catálogo Libero SoC IP. O CoreUART IP na malha RTG4 recebe comandos e os transmite para a lógica do decodificador de comandos. A lógica do decodificador de comando decodifica o comando de leitura ou gravação, que é executado usando a lógica da interface de memória.
O bloco de interface de memória é usado para ler/gravar e monitorar os sinalizadores de erro LSRAM. O EDAC integrado corrige o erro de 1 bit durante a leitura da LSRAM e fornece dados corrigidos para a interface do usuário, mas não grava os dados corrigidos de volta na LSRAM. O LSRAM EDAC integrado não implementa um recurso de depuração. O projeto de demonstração implementa a lógica de limpeza, que monitora o sinalizador de correção de 1 bit e atualiza a LSRAM com os dados corrigidos se ocorrer um único erro de bit.
A GUI do SmartDebug é usada para injetar erros de 1 ou 2 bits nos dados da LSRAM.
A Figura 1 mostra o diagrama de blocos de nível superior do projeto de demonstração RTG4 LSRAM EDAC.
Figura 1 • Diagrama de blocos de nível superior
A seguir estão as configurações de design de demonstração:
- A LSRAM é configurada para o modo ×18 e o EDAC é ativado conectando o sinal ECC_EN da LSRAM ao alto.
Observação: O LSRAM EDAC é compatível apenas com os modos ×18 e ×36. - O CoreUART IP está configurado para se comunicar com o aplicativo do PC host a uma taxa de transmissão de 115200.
- O RTG4FCCCECALIB_C0 está configurado para cronometrar o CoreUART e outras lógicas de malha em 80 MHz.
Características
A seguir estão os recursos de design de demonstração:
- Ler e gravar na LSRAM
- Injetar erro de 1 bit e 2 bits usando SmartDebug
- Exibir valores de contagem de erro de 1 bit e 2 bits
- Provisão para limpar os valores de contagem de erros
- Ativar ou desativar a lógica de limpeza de memória
Descrição
Este design de demonstração envolve a implementação das seguintes tarefas:
- Inicializando e acessando a LSRAM
A lógica de interface de memória implementada na lógica de malha recebe o comando de inicialização da GUI e inicializa os primeiros 256 locais de memória da LSRAM com os dados incrementais. Ele também executa as operações de leitura e gravação nos 256 locais de memória da LSRAM, recebendo o endereço e os dados da GUI. Para uma operação de leitura, o design busca os dados da LSRAM e os fornece à GUI para exibição. A expectativa é que o projeto não induza erros antes de usar o SmartDebug.
Observação: Locais de memória não inicializados podem ter valores aleatórios e o SmartDebug pode mostrar erros de bit único ou bit duplo nesses locais.
- Injetando erros de 1 ou 2 bits
A GUI do SmartDebug é usada para injetar os erros de 1 ou 2 bits no local de memória especificado da LSRAM. As seguintes operações são executadas usando o SmartDebug para injetar erros de 1 bit e 2 bits na LSRAM:- Abra SmartDebug GUI, clique em Debug FPGA Array.
- Vá para a guia Memory Blocks, selecione a instância de memória e clique com o botão direito do mouse em Add.
- Para ler o bloco de memória, clique em Read Block.
- Injeta erro de bit único ou bit duplo em qualquer local da LSRAM de uma certa profundidade.
- Para gravar no local modificado, clique em Bloco de gravação.
Durante a operação de leitura e escrita da LSRAM através do SmartDebug (JTAG), o controlador EDAC é ignorado e não calcula os bits ECC para a operação de gravação na etapa e.
- Contagem de erros
Os contadores de 8 bits são usados para fornecer uma contagem de erros e são projetados na lógica da malha para contar erros de 1 ou 2 bits. A lógica do decodificador de comando fornece os valores de contagem para a GUI ao receber comandos da GUI.
Estrutura de Cronometragem
Neste projeto de demonstração, há um domínio de relógio. O oscilador interno de 50 MHz aciona o RTG4FCCC, que aciona ainda mais o RTG4FCCCECALIB_C0. O RTG4FCCCECALIB_C0 gera um clock de 80 MHz que fornece uma fonte de clock para os módulos COREUART, cmd_decoder, TPSRAM_ECC e RAM_RW.
A figura a seguir mostra a estrutura de clock do design de demonstração.
Figura 2 • Estrutura de Relógio
Redefinir estrutura
Neste projeto de demonstração, o sinal de reinicialização para os módulos COREUART, cmd_decoder e RAM_RW é fornecido por meio da porta LOCK de RTG4FCCCECALIB_C0. A figura a seguir mostra a estrutura de redefinição do design de demonstração.
Figura 3 • Estrutura de redefinição
Configurando o Design de Demonstração
As seções a seguir descrevem como configurar o RTG4 Development Kit e a GUI para executar o design de demonstração.
Configurações do Jumper
- Conecte os jumpers no RTG4 Development Kit, conforme mostrado na Tabela 2.
Tabela 2 • Configurações de jumperPulôver Alfinete (de) Fixar (Para) Comentários J11, J17, J19, J21, J23, J26, J27, J28 1 2 Padrão J16 2 3 Padrão J32 1 2 Padrão J33 1 3 Padrão 2 4 Observação: Desligue o interruptor de alimentação, SW6, enquanto conecta os jumpers.
- Conecte o cabo USB (mini USB para cabo USB tipo A) ao J47 do RTG4 Development Kit e a outra extremidade do cabo à porta USB do PC host.
- Certifique-se de que os drivers da ponte USB para UART sejam detectados automaticamente. Isso pode ser verificado no gerenciador de dispositivos do PC host.
A Figura 4 mostra as propriedades da porta serial USB 2.0 e o COM31 conectado e o conversor serial USB C.
Figura 4 • Drivers de ponte USB para UART
Observação: Se os drivers da ponte USB para UART não estiverem instalados, baixe e instale os drivers de www.microsemi.com//documents/CDM_2.08.24_WHQL_Certified.zip
A Figura 5 mostra a configuração da placa para executar a demonstração EDAC no RTG4 Development Kit.
Programando o Design de Demonstração
- Inicie o software Libero SOC.
- Para programar o RTG4 Development Kit com o trabalho file fornecido como parte do projeto fileSe estiver usando o software FlashPro Express, consulte o Apêndice 1: Programando o dispositivo usando o FlashPro Express,página 14.
Observação: Uma vez que a programação é feita com o trabalho file através do software FlashPro Express, prossiga para EDAC Demo GUI, página 9. Caso contrário, prossiga para a próxima etapa. - No fluxo de design do Libero, clique na ação Executar programa.
- Assim que a programação estiver concluída, uma marca verde aparecerá na frente de 'Executar ação do programa', indicando uma programação bem-sucedida do projeto de demonstração.
GUI de demonstração do EDAC
A demonstração do EDAC é fornecida com uma GUI amigável, conforme mostrado na Figura 7, que é executada no PC host, que se comunica com o RTG4 Development Kit. O UART é usado como o protocolo de comunicação subjacente entre o PC host e o RTG4 Development Kit.
A GUI contém as seguintes seções:
- Seleção de porta COM para estabelecer a conexão UART com RTG4 FPGA com taxa de transmissão de 115200.
- LSRAM Memory Write: Para gravar os dados de 8 bits no endereço de memória LSRAM especificado.
- Depuração de Memória: Para ativar ou desativar a lógica de depuração.
- LSRAM Memory Read: Para ler os dados de 8 bits do endereço de memória LSRAM especificado.
- Contagem de erros: exibe a contagem de erros e oferece uma opção para zerar o valor do contador.
- Contagem de erros de 1 bit: Exibe a contagem de erros de 1 bit e oferece uma opção para zerar o valor do contador.
- Contagem de erros de 2 bits: exibe a contagem de erros de 2 bits e oferece uma opção para zerar o valor do contador.
- Log Data: Fornece as informações de status para cada operação executada usando a GUI.
Executando a demonstração
As etapas a seguir descrevem como executar a demonstração:
- Vá para \v1.2.2\v1.2.2\Exe e clique duas vezes em EDAC_GUI.exe conforme mostrado na Figura 8.
- Selecione a porta COM31 na lista e clique em Conectar.
Injeção e correção de erro de bit único
- No design do Libero fornecido, clique duas vezes no Design SmartDebug no fluxo de design.
- Na GUI SmartDebug, clique em Debug FPGA Array.
- Na janela Debug FPGA Array, vá para a guia Memory Blocks. Ele mostrará o bloco LSRAM no projeto com lógica e física view. Os blocos lógicos são mostrados com um ícone L e os blocos físicos são mostrados com um ícone P.
- Selecione a instância do bloco físico e clique com o botão direito do mouse em Adicionar.
- Para ler o bloco de memória, clique em Read Block.
- Injete um erro de 1 bit nos dados de 8 bits em qualquer local da LSRAM até a profundidade 256, conforme mostrado na figura a seguir, onde o erro de 1 bit é injetado no local 0 da LSRAM.
- Clique em Write Block para gravar os dados modificados no local pretendido.
- Vá para a GUI do EDAC e insira o campo Endereço na seção LSRAM Memory Read e clique em Read, conforme mostrado na figura a seguir.
- Observe os campos 1 Bit Error Count e Read Data na GUI. O valor da contagem de erros aumenta em 1.
O campo Read Data exibe os dados corretos conforme o EDAC corrige o bit de erro.
Observação: Se a depuração de memória não estiver habilitada, a contagem de erros será incrementada para cada leitura do mesmo endereço LSRAM, pois causa o erro de 1 bit.
Injeção e detecção de erro de bit duplo
- Execute o passo 1 ao passo 5 conforme indicado em Injeção e correção de erro de bit único, página 10.
- Injete um erro de 2 bits nos dados de 8 bits em qualquer local da LSRAM até a profundidade 256, conforme mostrado na figura a seguir, onde o erro de 2 bits é injetado no local 'A' da LSRAM.
- Clique em Write Block para gravar os dados modificados no local pretendido.
- Vá para a GUI do EDAC e insira o campo Endereço na seção LSRAM Memory Read e clique em Read, conforme mostrado na figura a seguir.
- Observe os campos Error Count e Read Data de 2 bits na GUI. O valor da contagem de erros aumenta em 1.
O campo Read Data exibe os dados corrompidos.
Todas as ações executadas no RTG4 são registradas na seção Serial Console da GUI.
Conclusão
Esta demonstração destaca os recursos EDAC das memórias RTG4 LSRAM. O erro de 1 bit ou o erro de 2 bits são introduzidos por meio da GUI do SmartDebug. A correção de erro de 1 bit e a detecção de erro de 2 bits são observadas usando uma GUI EDAC.
Programando o dispositivo usando o FlashPro Express
Esta seção descreve como programar o dispositivo RTG4 com o trabalho de programação file usando o FlashPro Express.
Para programar o dispositivo, siga os seguintes passos:
- Certifique-se de que as configurações dos jumpers na placa sejam as mesmas listadas na Tabela 3 do UG0617:
Guia do usuário do kit de desenvolvimento RTG4. - Opcionalmente, o jumper J32 pode ser configurado para conectar os pinos 2-3 ao usar um programador FlashPro4, FlashPro5 ou FlashPro6 externo em vez da configuração padrão do jumper para usar o FlashPro5 incorporado.
Observação: O interruptor da fonte de alimentação, SW6, deve ser DESLIGADO ao fazer as conexões de jumper. - Conecte o cabo da fonte de alimentação ao conector J9 da placa.
- Ligue o interruptor de alimentação SW6.
- Se estiver usando o FlashPro5 integrado, conecte o cabo USB ao conector J47 e ao PC host.
Como alternativa, se estiver usando um programador externo, conecte o cabo plano ao JTAG cabeçalho J22 e conecte o programador ao PC host. - No PC host, inicie o software FlashPro Express.
- Clique em New ou selecione New Job Project em FlashPro Express Job no menu Project para criar um novo projeto de job, conforme mostrado na figura a seguir.
- Digite o seguinte na caixa de diálogo New Job Project from FlashPro Express Job:
- Trabalho de programação file: clique em Procurar e navegue até o local onde o .job file está localizado e selecione o file. A localização padrão é: \rtg4_dg0703_df\Programming_Job
- Local do projeto de trabalho FlashPro Express: Clique em Procurar e navegue até o local do projeto FlashPro Express desejado.
- Clique OK. A programação necessária file está selecionado e pronto para ser programado no dispositivo.
- A janela FlashPro Express aparecerá, confirme se um número de programador aparece no campo Programador. Caso contrário, confirme as conexões da placa e clique em Refresh/Rescan Programmers.
- Clique em EXECUTAR. Quando o dispositivo é programado com sucesso, um status RUN PASSED é exibido conforme mostrado na figura a seguir.
- Feche o FlashPro Express ou clique em Sair na guia Projeto.
Executando o script TCL
Os scripts TCL são fornecidos no design files dentro do diretório TCL_Scripts. Se necessário, o projeto
o fluxo pode ser reproduzido desde a implementação do projeto até a geração do trabalho file.
Para executar o TCL, siga os passos abaixo:
- Inicie o software Libero
- Selecione Projeto > Executar Script….
- Clique em Procurar e selecione script.tcl no diretório TCL_Scripts baixado.
- Clique em Executar.
Após a execução bem-sucedida do script TCL, o projeto Libero é criado no diretório TCL_Scripts.
Para obter mais informações sobre scripts TCL, consulte rtg4_dg0703_df/TCL_Scripts/readme.txt.
Consulte o Guia de referência de comandos Libero® SoC TCL para obter mais detalhes sobre os comandos TCL. Entre em contato com o suporte técnico para quaisquer dúvidas encontradas ao executar o script TCL.
A Microsemi não oferece nenhuma garantia, representação ou garantia em relação às informações aqui contidas ou a adequação de seus produtos e serviços para qualquer finalidade específica, nem assume qualquer responsabilidade decorrente da aplicação ou uso de qualquer produto ou circuito. Os produtos vendidos abaixo e quaisquer outros produtos vendidos pela Microsemi foram sujeitos a testes limitados e não devem ser usados em conjunto com equipamentos ou aplicativos de missão crítica. Todas as especificações de desempenho são consideradas confiáveis, mas não são verificadas, e o Comprador deve conduzir e concluir todos os testes de desempenho e outros dos produtos, sozinhos e em conjunto com ou instalados em quaisquer produtos finais. O Comprador não deve confiar em quaisquer dados e especificações de desempenho ou parâmetros fornecidos pela Microsemi. É responsabilidade do Comprador determinar independentemente a adequação de quaisquer produtos e testar e verificar os mesmos. As informações fornecidas pela Microsemi neste instrumento são fornecidas “como estão, onde estão” e com todas as falhas, e todo o risco associado a tais informações é inteiramente do Comprador. A Microsemi não concede, explícita ou implicitamente, a qualquer parte quaisquer direitos de patente, licenças ou quaisquer outros direitos de PI, seja com relação a tais informações em si ou qualquer coisa descrita por tais informações. As informações fornecidas neste documento são de propriedade da Microsemi, e a Microsemi se reserva o direito de fazer quaisquer alterações nas informações contidas neste documento ou em quaisquer produtos e serviços a qualquer momento, sem aviso prévio.
Sobre a Microsemi A Microsemi, uma subsidiária integral da Microchip Technology Inc. (Nasdaq: MCHP), oferece um portfólio abrangente de soluções de semicondutores e sistemas para os mercados aeroespacial e de defesa, comunicações, data center e industrial. Os produtos incluem circuitos integrados analógicos de sinal misto de alto desempenho e resistentes à radiação, FPGAs, SoCs e ASICs; produtos de gerenciamento de energia; dispositivos de cronometragem e sincronização e soluções precisas de tempo, definindo o padrão mundial de tempo; dispositivos de processamento de voz; soluções de RF; componentes discretos; soluções corporativas de armazenamento e comunicação, tecnologias de segurança e anti-t escalonávelamper produtos; soluções Ethernet; CIs e midspans Power-over-Ethernet; bem como recursos e serviços de design personalizado. Saiba mais em www.microsemi.com.
Sede da Microsemi
Uma Empresa, Aliso Velho,
CA 92656 EUA
Nos EUA: +1 800-713-4113
Fora dos EUA: +1 949-380-6100
Vendas: +1 949-380-6136
Fax: +1 949-215-4996
E-mail: vendas.suporte@microsemi.com
www.microsemi.com
©2021 Microsemi, uma subsidiária integral da Microchip Technology Inc. Todos os direitos reservados. Microsemi e o logotipo da Microsemi são marcas registradas da Microsemi Corporation. Todas as outras marcas comerciais e marcas de serviço são de propriedade de seus respectivos proprietários.
Microsemi Proprietário DG0703 Revisão 4.0
Documentos / Recursos
![]() |
Detecção e Correção de Erros MICROCHIP na Memória RTG4 LSRAM [pdf] Guia do Usuário Demo DG0703, Detecção e Correção de Erros na Memória RTG4 LSRAM, Detecção e Correção na Memória RTG4 LSRAM, Memória RTG4 LSRAM, Memória LSRAM |