ID do artigo: 000090809 Tipo de conteúdo: Solução de problemas Última revisão: 21/06/2022

Como configurar a interface FPGA-para-SDRAM quando o ECC é ligado em dispositivos Intel® Stratix® 10 SX?

Ambiente

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Descrição

Quando o código de correção de erro (ECC) é ativado na Interface de memória externa do HPS (EMIF) no dispositivo Intel® Stratix® 10 SX, o endereço de memória gera dados ECC para interfaces F2H e F2SDRAM0/1/2. FPGA para HPS são obrigados a usar o mesmo endereço de memória com MPU mesmo usando interfaces F2SDRAM0/1/2. Caso contrário, um erro de ECC pode ser acionado. Esta restrição não se aplica quando o ECC é desligado.

Resolução

Quando o mestre FPGA-para-HPS e o mestre MPU têm acesso ao espaço de memória inferior a 2 GB, o endereço de memória é usado de 0x0000 0000 a 0x7FFF FFFF.

Quando o mestre FPGA-para-HPS e o mestre MPU têm acesso ao espaço de memória maior que 2 GB, o MPU usa o endereço de alias definido no arquivo DTS para acessar esses endereços de memória. O FPGA para HPS deve usar o mesmo endereço de alias em vez do endereço físico para todas as interfaces F2SDRAM0/1/2.

Aqui está o exemplo de EMIF HPS de 4 GB em um dispositivo Intel® Stratix® 10 SX:

No DTS, a memória é definida em duas regiões, conforme mostrado abaixo. Em seguida, FPGA-para-HPS mestre e MPU deve usar o endereço de 0x1080000000 até 0x10FFFFFFFF para acessar o espaço de memória de 2 GB ~ 4 GB.

memória {

reg = <0 0x00000000 0 0x80000000>,

<0x10 0x80000000 0 0x80000000>;

};

Para habilitar o acesso ao espaço completo de memória de 4 GB com o endereço de alias mostrado acima, os seguintes registros de firewall F2SDRAM também devem ser definidos de acordo:

#Example, f2SDRAM0 region0 config, y oupode configurá-los na fonte U-Boot, ou seja, uboot-socfpga\arch\arm\mach-socfpga\spl_s10.c

writel (0x1000000, 0xF8020210); region0addr_base
writel (0x0, 0xF8020214); region0addr_baseext
writel (0xFFFFFFFF, 0xF8020218); region0addr_limit (32bits mais baixos)
writel (0x10, 0xF802021C); region0addr_limitext (32 bits superiores)
writel (0x1, 0xF8020204); enable_set para regiões

 

 

Produtos relacionados

Este artigo aplica-se a 1 produtos

FPGAs Intel® Stratix® 10 e FPGAs SoC

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.