ID de l'article: 000080017 Type de contenu: Dépannage Dernière révision: 11/09/2012

Pourquoi la sortie d’une mégafunction SCFIFO basée sur MLAB change-t-elle lorsque le signal complet est signalé ?

Environnement

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Descriptif

Ce comportement est causé par les caractéristiques matérielles du MLAB. La sortie d’un MLAB est toujours mise à jour lorsqu’une opération d’écriture se produit et que l’adresse d’écriture est égale à l’adresse de lecture. Lorsque vous écrivez au dernier emplacement disponible dans une mégafunction SCFIFO basée sur MLAB, l’indicateur complet est indiqué et les nouvelles données sont stockées et se propagent à la sortie. Le débit SCFIFO affiche les données correctes le cycle après une demande de lecture. Ce comportement (comme le montre la Figure 1 ci-dessous) se produit pendant les tests de la carte ou lors d’une simulation avec la netlist de conception SCFIFO. Ce comportement ne se produit pas lors d’une simulation de modèle fonctionnel SCFIFO.

Ce comportement ne se produit pas pour les mégafunctions SCFIFO implémentées dans d’autres types de blocs mémoire (M512, M4K, M9K, M144K, M20K et M-RAM). Pour une mégafunction SCFIFO implémentée dans l’un de ces types de blocs mémoire, lorsque vous écrivez au dernier emplacement disponible dans la mégafunction SCFIFO, l’indicateur complet est indiqué et les nouvelles données sont stockées, mais la sortie ne changera pas. Les mises à jour de sortie ne sont effectuées que lorsque la demande en lecture est revendiquée.

Les mégafunctions SCFIFO générées avec les versions 7.0 et ultérieures du logiciel Quartus® II avec les paramètres suivants dans le plug-in MegaWizard™ sont affectées :

  • Le mode FIFO synchrone normal est sélectionné pour l’option d’accès en lecture
  • MLAB est sélectionné pour le type de bloc mémoire
  • Aucune (plus petite zone) n’est sélectionnée pour l’option des registres de sortie

Pour éviter ce comportement, effectuez l’une des modifications suivantes à votre mégafunction SCFIFO :

  • Changez l’option du registre de sortie du non (plus petite zone) à Oui (meilleure vitesse). Notez que la latence de sortie de la mégafunction SCFIFO est la même dans les deux modes
  • Sélectionnez un type de bloc mémoire différent

Dans les prochaines versions du logiciel Quartus® II, le plug-in MEGAWizard SCFIFO est prévu pour désactiver l’option de type de bloc mémoire MLAB lors de la sélection des options FIFO synchrones normales et non (plus petite zone).

La Figure 1 montre la forme d’ondes d’une mégafunction SCFIFO basée sur MLAB. La demande de lecture dans le cycle 9 produit des données valides à la sortie du cycle 10. Même sans une demande de lecture supplémentaire, la demande d’écriture dans le cycle 12 entraîne la mise à jour de la sortie vers de nouvelles données dans le cycle 14. La prochaine demande de lecture dans le cycle 15 produit à nouveau des données valides à la sortie du cycle 16.

Figure 1. Forme d’ondes SCFIFO basée sur MLAB

Figure 1

Produits associés

Cet article concerne 11 produits

FPGA Stratix® II GX
FPGA Stratix® IV E
FPGA Arria® II GX
FPGA Stratix® III
FPGA Stratix® V GS
Périphériques ASIC HardCopy™ IV GX
Périphériques ASIC HardCopy™ IV E
Périphériques ASIC HardCopy™ III
FPGA Arria® II GZ
FPGA Stratix® V GX
FPGA Stratix® V GT

Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.