ID do artigo: 000083851 Tipo de conteúdo: Solução de problemas Última revisão: 04/04/2014

Por que vejo dados de leitura incorretos ao usar um controlador de memória rígido com várias portas MPFE?

Ambiente

    Intel® Quartus® II Subscription Edition
    Controlador SDRAM DDR3 com UniPHY Intel® FPGA IP
BUILT IN - ARTICLE INTRO SECOND COMPONENT
Descrição

Ao executar transações de gravação e leitura nas portas MPFE do controlador de memória rígido (HMC), você pode observar que as transações de leitura são realizadas antes das transações de gravação, mesmo quando a prioridade de gravação é maior. Como resultado, os dados de leitura podem estar incorretos.

Por exemplo, se suas portas HMC MPFE forem configuradas da seguinte forma:

A porta0 é configurada como somente para gravação, prioridade definida como 7 e peso definida como 0
A porta 1 está configurada como somente leitura, prioridade definida como 1, e peso definido para 0

Se você realizar uma solicitação de gravação na Porta0 para abordar "addr0" com dados "data0" e uma solicitação de leitura na Porta 1 para abordar "addr0" simultaneamente, a leitura de dados será sempre "data0". Há um problema no HMC onde os dados de leitura não são como esperado.

Resolução

A solução alternativa é atrasar a execução de solicitações de leitura para um intervalo de endereços até que todas as solicitações de gravação para a mesma faixa de endereço sejam concluídas. Uma abordagem alternativa é ler a partir de uma região de memória diferente da que está sendo escrita.

Produtos relacionados

Este artigo aplica-se a 11 produtos

FPGA SoC Cyclone® V ST
FPGA Arria® V ST SoC
FPGA Arria® V GX
FPGA Arria® V GT
FPGA SoC Cyclone® V SX
FPGA Cyclone® V GT
FPGA Cyclone® V GX
FPGA Arria® V GZ
FPGA Arria® V SX SoC
FPGA Cyclone® V E
FPGA SoC Cyclone® V SE

1

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 governará e será a controle. Exibir a versão em inglês desta página.