Microsemi - logotipoErro DG0388 SmartFusion2 SoC FPGA
Detecção e correção de memória Seram

Guia do usuário

©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.
A Microsemi não oferece nenhuma garantia, representação ou garantia em relação às informações aqui contidas ou à 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 aqui 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 realizar e concluir todo o desempenho e outros testes 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 o mesmo. As informações fornecidas pela Microsemi neste documento 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 nenhuma parte quaisquer direitos de patente, licenças ou quaisquer outros direitos de propriedade intelectual, seja com relação a tais informações em si ou a 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 alterações nas informações deste 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 de sinais mistos analógicos de alto desempenho e endurecidos contra radiação, FPGAs, SoCs e ASICs; produtos de gestão de energia; dispositivos de temporização e sincronização e soluções de tempo preciso, 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 escalá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.

Histórico de revisão

O histórico de revisões descreve as mudanças que foram implementadas no documento. As alterações são listadas por revisão, começando com a publicação atual.
1.1 Revisão 11.0
A seguir, um resumo das alterações feitas nesta revisão.

  • Atualizado o documento para Libero SoC v12.6.
  • Removidas as referências aos números de versão do Libero.

1.2 Revisão 10.0
Atualizado o documento para a versão do software Libero SoC v11.8 SP1.
1.3 Revisão 9.0
Atualizado o documento para a versão do software Libero SoC v11.8.
1.4 Revisão 8.0
Atualizado o documento para a versão do software Libero SoC v11.7 (SAR 77402).
1.5 Revisão 7.0
Atualizado o documento para a versão do software Libero SoC v11.6 (SAR 72777).
1.6 Revisão 6.0
Atualizado o documento para a versão do software Libero SoC v11.5 (SAR 64979).
1.7 Revisão 5.0
Atualizado o documento para a versão do software Libero SoC v11.4 (SAR 60476).
1.8 Revisão 4.0
Atualizado o documento para a versão do software Libero SoC v11.3 (SAR 56852).
1.9 Revisão 3.0
Atualizado o documento para a versão do software Libero SoC v11.2 (SAR 52960).
1.10 Revisão 2.0
Atualizado o documento para a versão do software Libero SoC v11.0 (SAR 47858).
1.11 Revisão 1.0
A primeira publicação deste documento.
SmartFusion2 SoC FPGA – Detecção de erros e correção de memória Seram

Introdução

Este documento descreve os recursos de detecção e correção de erros (EDAC) dos dispositivos SmartFusion® 2 na memória de acesso aleatório estática incorporada (Seram). Os controladores EDAC implementados nos dispositivos SmartFusion2 suportam correção de erro único e detecção de erro duplo (SECDED). Todas as memórias do Subsistema Microcontrolador (MSS) do SmartFusion2 são protegidas por SECDED. A memória Seram pode ser eSRAM_0 ou eSRAM_1. O intervalo de endereços de eSRAM_0 é 0x20000000 a 0x20007FFF e o intervalo de endereços de eSRAM_1 é 0x20008000 a 0x2000FFFF.
Quando SECDED está ativado:

  • Uma operação de gravação calcula e adiciona 8 bits de código SECDED a cada 32 bits de dados.
  • Uma operação de leitura lê e verifica os dados em relação ao código SECDED armazenado para suportar correção de erros de 1 bit e detecção de erros de 2 bits.

Nesta demonstração, o EDAC pode ser identificado pelo diodo emissor de luz (LED) piscando na placa e pela interface gráfica do usuário (GUI).Microsemi DG0388 SmartFusion2 SoC FPGA Detecção de erros e correção de memória eSRAM - Diagrama de blocos de nívelO EDAC do eSRAM suporta os seguintes recursos:

  1. Mecanismo SECDED
  2. Fornece interrupções para o processador ARM Cortex-M3 e estrutura FPGA após a detecção de um erro de 1 ou 2 bits.
  3. Armazena o número de erros de 1 e 2 bits nos registros do contador de erros.
  4. Armazena o endereço do último local de memória afetado por erro de 1 ou 2 bits.
  5. Armazena dados de erro de 1 ou 2 bits nos registradores SECDED.
  6. Fornece sinais de barramento de erro para a estrutura FPGA.

Consulte o capítulo EDAC do UG0443: Guia do usuário de segurança e confiabilidade do FPGA SmartFusion2 e IGLOO2 e o capítulo Seram do UG0331: Guia do usuário do subsistema de microcontrolador SmartFusion2.
2.2 Requisitos de demonstração
A tabela a seguir lista os requisitos de hardware e software para executar o design de demonstração.
Tabela 1 • Requisitos de Projeto

Exigência Versão
Sistema operacional Windows 64 e 7 de 10 bits
Hardware
Kit de avaliação de segurança SmartFusion2:
• Programador FlashPro4
• Cabo USB USB A para Mini – B
• Adaptador de 12 V
Rev D ou posterior
Programas
Flash Pro Express Consulte o readme.txt file fornecido no projeto files
para as versões de software usadas com este projeto de referência.
Líbero
 Software System-on-Chip (SoC)
SoftConsole
Drivers do PC host Drivers USB para UART
Para iniciar a GUI de demonstração Cliente Microsoft.NET Framework 4

Observação: Libero Smart Design e capturas de tela de configuração mostradas neste guia são apenas para fins ilustrativos.
Abra o design Libero para ver as atualizações mais recentes.
2.3 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
2.3.1 design Files
O projeto de demonstração files estão disponíveis para download no seguinte caminho no Microsemi website: http://soc.microsemi.com/download/rsc/?f=m2s_dg0388_df
Projeto files incluem:

  • Executável GUI
  • Projeto Líbero
  • Trabalho de Programação
  • Leia-me file

A figura a seguir mostra a estrutura de nível superior do design files. Para mais detalhes, consulte o readme.txt file.Microsemi DG0388 SmartFusion2 SoC FPGA Detecção de erros e correção de memória eSRAM - Design de demonstração2.4 Descrição do Projeto de Demonstração
Cada Seram dentro do MSS é protegido por um controlador EDAC dedicado. O EDAC detecta um erro de 1 ou 2 bits quando os dados são lidos da memória. Se o EDAC detectar o erro de 1 bit, o controlador EDAC corrige o mesmo bit de erro. Se o EDAC estiver habilitado para todos os erros de 1 e 2 bits, os contadores de erros correspondentes nos registros do sistema serão incrementados e as interrupções correspondentes e os sinais de barramento de erro para a estrutura FPGA serão gerados.
Em um ambiente suscetível a Single Event Upset (SEU), a memória de acesso aleatório (RAM) está sujeita a erros transitórios causados ​​por íons pesados. Isso acontece em tempo real. Para demonstrar isso, um erro é introduzido manualmente e a detecção e correção são observadas.
Este design de demonstração envolve a implementação das seguintes tarefas:

  • Ativar EDAC
  • Gravar dados no Seram
  • Ler dados do Seram
  • Desativar EDAC
  • Corrompe um ou dois bits
  • Gravar dados no Seram
  • Ativar EDAC
  • Leia os dados
  • No caso de um erro de 1 bit, o controlador EDAC corrige o erro, atualiza os registradores de status correspondentes e fornece os dados escritos no passo 2 na operação de leitura realizada no passo 8.
  • No caso de um erro de 2 bits, uma interrupção correspondente é gerada e a aplicação deve corrigir os dados ou tomar a ação apropriada no manipulador de interrupções. Esses dois métodos são demonstrados nesta demonstração.
    Dois testes são implementados nesta demonstração: teste de loop e teste manual, e são aplicáveis ​​a erros de 1 e 2 bits.

2.4.1 Teste de Loop
O Loop Test é executado quando o SmartFusion2 recebe um comando de teste de loop da GUI. Inicialmente, todos os contadores de erros e registros relacionados ao EDAC são colocados no estado RESET.
As seguintes etapas são executadas para cada iteração:

  1. Habilite o controlador EDAC.
  2. Grave os dados no local específico da memória Seram.
  3. Desative o controlador EDAC.
  4. Grave os dados induzidos por erro de 1 ou 2 bits no mesmo local de memória Seram.
  5. Habilite o controlador EDAC.
  6. Leia os dados do mesmo local de memória Seram.
  7. Envie os dados de detecção de erros de 1 ou 2 bits e de correção de erros de 1 bit em caso de erro de 1 bit para a GUI.

2.4.2 Teste Manual
Este método permite testes manuais para ativar ou desativar o EDAC e a operação de gravação ou leitura. Usando este método, erros de 1 ou 2 bits podem ser introduzidos em qualquer local da junção. Habilite o EDAC e grave dados no endereço especificado usando os campos da GUI. Desative o EDAC e grave dados corrompidos de 1 ou 2 bits no mesmo local de endereço. Habilite o EDAC e leia os dados do mesmo local de endereço, então o LED na placa alterna para notificar a detecção e correção de erros. O contador de erros correspondente é exibido na GUI. O GUI Serial Console registra todas as ações executadas no SmartFusion2.
A figura a seguir mostra as operações de demonstração do Seram EDAC.Microsemi DG0388 SmartFusion2 SoC FPGA Detecção de erros e correção de memória eSRAM - Fluxo de projeto2.5 Executando a Demonstração
Esta seção descreve a configuração da placa do kit de avaliação de segurança SmartFusion2, as opções da GUI e como executar o design de demonstração.
2.5.1 Configuração de demonstração
As etapas a seguir descrevem como configurar a demonstração:

  1. Conecte o programador FlashPro4 ao conector J5 da placa do kit de avaliação de segurança SmartFusion2.
  2. Conecte uma extremidade do cabo USB mini-B ao conector J18 fornecido na placa do kit de avaliação de segurança SmartFusion2. Conecte a outra extremidade do cabo USB ao PC host. Certifique-se de que os drivers USB para UART Bridge sejam detectados automaticamente (podem ser verificados no Gerenciador de Dispositivos), conforme mostrado na Figura 4, página 7.
    Observação: Copie o número da porta COM para configuração da porta serial. Certifique-se de que o local da porta COM esteja especificado como no USB Serial Converter D, conforme mostrado na figura a seguir.Microsemi DG0388 SmartFusion2 SoC FPGA Detecção de erros e correção de memória eSRAM - Drivers de ponte USB para UART
  3. Se os drivers da ponte USB para UART não estiverem instalados, baixe e instale os drivers em www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip
  4. Conecte os jumpers na placa do kit de avaliação de segurança SmartFusion2, conforme mostrado na figura a seguir. O interruptor da fonte de alimentação SW7 deve estar desligado durante as conexões dos jumpers.
    Tabela 2 • Configurações de jumper do kit de avaliação de segurança SmartFusion2
    Pulôver Alfinete (de) Fixar (Para)  Comentários
    J22, J23, J24, J8, J3 1 (padrão) 2 Estas são as configurações de jumper padrão da placa do kit de avaliação de segurança SmartFusion2. Certifique-se de que esses jumpers estejam configurados adequadamente.
  5.  Conecte a fonte de alimentação ao conector J18.

A figura a seguir mostra a configuração da placa para executar a demonstração no kit SmartFusion2 SecuEvaluation.Microsemi DG0388 SmartFusion2 SoC FPGA Detecção de erros e correção de memória eSRAM - Configuração da placa do kit2.5.2 Interface Gráfica do Usuário
A seção a seguir descreve a GUI de demonstração do Seram – EDAC.Microsemi DG0388 SmartFusion2 SoC FPGA Detecção de erros e correção de memória eSRAM - GUI de demonstração

A GUI suporta os seguintes recursos:

  1. Seleção de porta COM e taxa de transmissão.
  2.  Seleção da guia de correção de erros de 1 bit ou guia de detecção de erros de 2 bits.
  3. Seleção de eSRAM0 ou eSRAM1.
  4. Campo de endereço para escrever ou ler dados de ou para o endereço Seram especificado.
  5. Campo de dados para escrever ou ler dados de ou para o endereço Seram especificado.
  6.  Seção Console serial para imprimir as informações de status recebidas do aplicativo.
  7. EDAC ON/OFF: Habilita ou desabilita o EDAC.
  8. Write: Permite gravar dados no endereço especificado.
  9. Ler: Permite a leitura de dados do endereço especificado.
  10. Teste LOOP ON/OFF: Permite testar o mecanismo EDAC em um método de loop.

2.5.3 Executando o Projeto
As etapas a seguir descrevem como executar o design:

  1. Ligue o interruptor de alimentação, SW7.
  2. Programe a placa do kit de avaliação de segurança SmartFusion2 com o trabalho file fornecido como parte do projeto files (\Programming job\eSRAM_0\eSRAM0.job ou \Programming job\eSRAM_1\eSRAM1.job) usando o software FlashPro Express, consulte Apêndice: Programando o dispositivo usando FlashPro Express, página 12.
  3. Pressione o interruptor SW6 para redefinir a placa após a programação bem-sucedida.
  4. Inicie o executável EDAC_eSRAM Demo GUI file disponível no projeto files (\GUI Executável\ EDAC_eSRAM.exe). A janela GUI é exibida, conforme mostrado na Figura 6, página 9.
  5. Selecione a porta COM apropriada (para a qual os drivers USB para UART Bridge estão apontados) na lista suspensa Porta COM.
  6. Selecione a taxa de transmissão como 57600 e clique em Conectar. Após estabelecer a conexão, Conectar muda para Desconectar.
  7. Selecione Seram 0 ou Seram 1 dependendo da programação file selecionado na etapa 2.
  8. Selecione a guia Correção de erros de 1 bit ou guia Detecção de erros de 2 bits, conforme mostrado na Figura 7, página 10. e Figura 8, página 11.
  9. Dois tipos de testes podem ser realizados: Manual e Loop.

2.5.3.1 Executando Teste de Loop
Clique em Teste de Loop LIGADO. Ele funciona em modo loop onde é feita correção contínua e detecção de erros. O loop é executado por 200 iterações. Todas as ações executadas no SmartFusion2 são registradas na seção Serial Console da GUI. O teste de loop de detecção de erro de 2 bits imprime o deslocamento do endereço Seram afetado pelo erro no console serial. Clique em Loop Test OFF após a conclusão de 200 iterações.
Tabela 3 • Endereços de memória Seram usados ​​no teste de loop

Memória 1 Correção de erro de 1 bit  Detecção de erro de 2 bits
eSRAM0 0x20000000 0x20002000
eSRAM1 0x20008000 0x2000A000

2.5.3.2 Realizando Teste Manual
Neste método, os erros são introduzidos manualmente usando a GUI. Use as etapas a seguir para executar a correção de erros de 1 bit ou a detecção de erros de 2 bits:

  1. Endereço de entrada e campos de dados (use valores hexadecimais de 32 bits).
  2. Clique em EDAC LIGADO.
  3. Clique em Escrever.
  4. Clique em EDAC DESLIGADO.
  5. Basta alterar 1 bit (no caso de correção de erro de 1 bit) ou 2 bits (no caso de detecção de erro de 2 bits) no campo Dados (introduzindo erro).
  6. Clique em Escrever.
  7. Clique em EDAC LIGADO.
  8. Clique em Ler.
  9. Observe a exibição da contagem de erros e o campo Dados na GUI. O valor da contagem de erros aumenta em 1.

Todas as ações executadas no SmartFusion2 são registradas na seção Serial Console da GUI.
Observação: Para alternar da guia Correção de erros de 1 bit para a guia Detecção de erros de 2 bits ou vice-versa na GUI de demonstração EDAC_eSRAM, reinicie a placa de hardware.Microsemi DG0388 SmartFusion2 SoC FPGA Detecção de erros e correção de memória eSRAM - guia Correção de erros de bitsMicrosemi DG0388 SmartFusion2 SoC FPGA Detecção de erros e correção de memória eSRAM - Guia de detecção de erros de bits

2.6 Conclusão
Esta demonstração mostra os recursos SECDED do SmartFusion2 do Seram.

Apêndice: Programando o dispositivo usando FlashPro Express

Esta seção descreve como programar o dispositivo SmartFusion2 com o trabalho de programação file usando o FlashPro Express.
Para programar o dispositivo, siga os seguintes passos:

  1. Certifique-se de que as configurações de jumper na placa sejam as mesmas listadas na Tabela 2, página 7.
    Observação: O interruptor da fonte de alimentação deve ser desligado durante as conexões dos jumpers.
  2. Conecte o cabo da fonte de alimentação ao conector J6 da placa.
  3. Ligue o interruptor de alimentação SW7.
  4. No PC host, inicie o software FlashPro Express.
  5. 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.Microsemi DG0388 SmartFusion2 SoC FPGA Detecção de erros e correção de memória eSRAM - Projeto de trabalho
  6. 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. O local padrão é: \m2s_dg0388_df\Trabalho de programação
    • Nome do projeto do trabalho do FlashPro Express: clique em Procurar e navegue até o local onde deseja salvar o projeto.Microsemi DG0388 SmartFusion2 SoC FPGA Detecção de erros e correção de memória eSRAM - Novo projeto de trabalho
  7. Clique OK. A programação necessária file está selecionado e pronto para ser programado no dispositivo.
  8. A janela do FlashPro Express aparece conforme mostrado na figura a seguir. 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.Microsemi DG0388 SmartFusion2 SoC FPGA Detecção de erros e correção de memória eSRAM - Programação
  9. Clique em EXECUTAR. Quando o dispositivo é programado com sucesso, um status RUN PASSED é exibido conforme mostrado na figura a seguir.Microsemi DG0388 SmartFusion2 SoC FPGA Detecção de erros e correção de memória eSRAM - RUN PASSED
  10. Feche o FlashPro Express ou na guia Projeto, clique em Sair.

Microsemi - logotipoSede 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: sales.support@microsemi.com
www.microsemi.com
Microsemi Proprietário DG0388 Revisão 11.0

Documentos / Recursos

Microsemi DG0388 SmartFusion2 SoC FPGA Detecção de erros e correção de memória eSRAM [pdf] Guia do Usuário
DG0388, SmartFusion2 SoC FPGA Detecção de erros e correção de memória eSRAM, DG0388 SmartFusion2 SoC FPGA Detecção de erros e correção de memória eSRAM

Referências

Deixe um comentário

Seu endereço de e-mail não será publicado. Os campos obrigatórios estão marcados *