ID do artigo: 000090295 Tipo de conteúdo: Solução de problemas Última revisão: 28/02/2023

Como configurar o modo FPGA-para-HPS de interface SDRAM quando o ECC® estiver ligado no Intel Agilex soC 7?

Ambiente

  • Software de projeto Intel® Quartus® Prime
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Descrição

    Quando o ECC é ativado na INTERFACE de memória externa HPS (EMIF) no dispositivo soC Intel Agilex 7, o® endereço de memória gera dados ECC para modo direto de SDRAM F2H e modo ccU F2H. Por isso, é necessário que FPGA-para-HPS use o mesmo endereço de memória com MPU, mesmo no modo direto FPGA-para-HPS SDRAM. 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 o modo direto F2H SDRAM e o modo CCU F2H.

    Aqui está o exemplo de EMIF HPS de 4 GB em um dispositivo Intel Agilex® 7 SoC:

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

    memória {

    reg = ,

    ;

    };

    Para habilitar o acesso ao espaço completo de memória de 4 GB com o endereço de alias acima, os seguintes registros também devem ser definidos de acordo. Você pode definir esses registros no arquivo uboot uboot-socfpga\arch\arm\mach-socfpga\spl_agilex.c

    writel (0x100000, 0xF8020110); region0addr_base
    writel (0x0, 0xF8020114); region0addr_baseext
    writel (0xFFFFFFFF, 0xF8020118); region0addr_limit (32bits mais baixos)
    writel (0x10, 0xF802011C); region0addr_limitext (32 bits superiores)
    writel (0x1, 0xF8020104); enable_set para regiões

    Produtos relacionados

    Este artigo aplica-se a 1 produtos

    FPGAs e FPGAs SoC Intel® Agilex™ 7

    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.