En raison d’un problème avec la variante AVMM-DMA de l’IP dure pour PCI® Express core, il est possible que vous voyiez la corruption des données ou des descripteurs qui ne s’accomplissent jamais (le bit done n’est jamais défini). Cela affecte uniquement les conceptions à l’aide d’un contrôleur de descripteur DMA externe, la conception du contrôleur instantané en interne est entièrement fonctionnelle.
Il est possible que ce problème ne se produise que lorsqu’un grand nombre de descripteurs sont programmés dos à dos.
Remarque de l’auteur : cela peut être contouré, mais il nécessite l’édition d’un fichier dans l’installation de Quartus, ce que je ne pense pas que nous recommandons.
Ce comportement est causé par un paramètre incorrect des latences prêtes du dma_rd_master et des interfaces de programmation du descripteur dma_wr_master.
Elles sont présentées comme les interfaces rd_ast_rx et rd_ast_tx du diagramme de blocs DMA Avalon-MM avec contoller de descripteur DMA externe dans le guide de l’utilisateur, et plus précisément en tant que RdAstRxReady_o, WrAstTxReady_o dans les tableaux « Descriptor Instruction Interface from Descriptor Controller to Read (Write) DMA Engine ».
La latence de ces signaux est incorrectement définie sur 0, alors que la valeur correcte doit être de 3.
Ce problème devrait être résolu dans une prochaine version du logiciel Quartus® Prime.