En raison d’un problème dans l’algorithme d’étalonnage du contrôleur HPS SDRAM généré par la suite Altera SoC Embedded Design pour les appareils SoC Cyclone® V et SoC Arria® V, le rapport DQS enable center peut être supérieur aux rapports de début et de fin.
L’algorithme d’étalonnage trouve les paramètres maximum et minimum pour un certain nombre de délais et choisit la valeur centrale. Pour activer DQS, les rapports de début et de fin ont été normalisés sur VFIFO_SIZE, mais le rapport central n’est pas normalisé, de sorte qu’il peut sembler être en dehors de la plage start: end.
VFIFO_SIZE est défini sur 16 pour les périphériques Cyclone® V et Arria® V.
Remarque : Pour activer ce rapport, il faut définir la RUNTIME_CAL_REPORT de macro qui rapporte les résultats du processus d’étalonnage au stdout (généralement un UART).
Le rapport VFIFO central doit être divisé par 16, ce qui est VFIFO_SIZE et le reste est le délai VFIFO.
Par exemple :
SUIV. C : DQS Activer ; Groupe 0 ; Rang 0 ; Démarrer VFIFO 6 ; Phase 1 ; Retard 4
SUIV. C : DQS Activer ; Groupe 0 ; Rang 0 ; Fin VFIFO 7 ; Phase 0 ; Retard 18
SUIV. C : DQS Activer ; Groupe 0 ; Rang 0 ; Centre VFIFO 22 ; Phase 5 ; Retard 3
La valeur VFIFO du centre réel est de 22 % 16 = 6, ce qui est compris entre 6 et 7 comme prévu.
Le code du préchargeur généré peut être modifié pour effectuer ce changement comme suit :
1. Ouvrez <preloader>\uboot-socfpga\board\altera\socfpga\sdram\sequencer.c
2. Recherchez la ligne suivante :
RPRINT(« DQS Activer ; Groupe %lu ; Rang %lu ; Centre VFIFO %2li ; Phase %li ; Retard %2li », grp, sr, v, p-1, d);
3. En remplaçant par cette ligne :
RPRINT(« DQS Activer ; Groupe %lu ; Rang %lu ; Centre VFIFO %2li ; Phase %li ; Retard %2li », grp, sr, (v % VFIFO_SIZE), p-1, d);
4. Régénérez votre préchargeur en exécutant :
nettoyer; Faire.
Ce problème est résolu à partir du Altera SoC Embedded Design Suite 15.1.