Oui, il y a un problème avec le code de correction d’erreur (ECC) avec la fonctionnalité de correction automatique des erreurs dans la DDR3 SDRAM et le contrôleur UniPHY SDRAM DDR2 dans la version 11.0. Si vous avez une erreur un bit dans les données écrites à la mémoire, le contrôleur mémoire rédigera les données avec l’erreur bit unique dans la mémoire, lisez-les avec l’erreur un bit, corrigez-les à la section locale afin que les données lues par la logique de l’utilisateur soient correctes. Bien qu’elle corrige les données dans la logique de l’utilisateur ou locale, elle n’écrit pas les données corrigées sur le périphérique mémoire comme il est sensé.
Le problème est que le paramètre « CTL_ECC_RMW_ENABLED » n’est pas transmis à l’instance du contrôleur et que le contrôleur n’effectue pas d’écriture modifiée en lecture, car la fonctionnalité de correction automatique n’est pas activée.
La solution de contournement est de -
- Ouvrir .v
- Ajoutez la ligne suivante à l’instanction « alt_mem_if_ddr3_controller_top » :
- ". CTL_ECC_RMW_ENABLED (1) »
Cela entraîne l’activation de la fonctionnalité de correction automatique.
Le problème sera résolu dans la version future du logiciel et de l’IP Quartus® II.