Artikel-ID: 000080017 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 11.09.2012

Warum ändert sich die Ausgabe einer MLAB-basierten SCFIFO-Megafunktion, wenn das volle Signal bestätigt wird?

Umgebung

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Beschreibung

Dieses Verhalten wird durch die Hardwareeigenschaften von MLAB verursacht. Die Ausgabe eines MLAB wird immer aktualisiert, wenn ein Schreibvorgang auftritt und die Schreibadresse der Leseadresse entspricht. Beim Schreiben an den letzten verfügbaren Speicherort in einer MLAB-basierten SCFIFO-Megafunktion wird die vollständige Kennzeichnung bestätigt und die neuen Daten werden gespeichert und werden zur Ausgabe übertragen. Die SCFIFO-Ausgabe zeigt die richtigen Daten an, die im Zyklus nach einer Leseanforderung angezeigt werden. Dieses Verhalten (wie in Abbildung 1 unten gezeigt) tritt während der Mainboard-Tests oder bei der Simulierung mit der SCFIFO-Design-Netzliste auf. Dieses Verhalten tritt nicht auf, wenn das SCFIFO-Funktionsmodell simuliert wird.

Dieses Verhalten tritt nicht bei SCFIFO-Megafunktionen auf, die in anderen Speicherblocktypen (M512, M4K, M9K, M144K, M20K und M-RAM) implementiert sind. Bei einer SCFIFO-Megafunktion, die in einem dieser Speicherblocktypen implementiert ist, wird beim Schreiben an den letzten verfügbaren Ort in der SCFIFO-Megafunktion die volle Flag bestätigt und die neuen Daten gespeichert, aber die Ausgabe ändert sich nicht. Die Ausgabe wird nur aktualisiert, wenn die Leseanforderung bestätigt wird.

Betroffen sind SCFIFO-Megafunktionen, die mit den Quartus® II Softwareversionen 7.0 und neuer mit den folgenden Einstellungen im MegaWistelligen™ Plug-in generiert wurden:

  • Für die Lesezugriffsoption ist der normale synchrone FIFO-Modus ausgewählt
  • MLAB ist für Speicherblocktyp ausgewählt
  • Nein (kleinster Bereich) ist für die Ausgaberegister-Option ausgewählt

Um dieses Verhalten zu vermeiden, stellen Sie eine der folgenden Änderungen an Ihrer SCFIFO-Megafunktion vor:

  • Ändern Sie die Ausgaberegisteroption von No (kleinster Bereich) auf Ja (beste Geschwindigkeit). Beachten Sie, dass die Ausgabelatenz der SCFIFO-Megafunktion in beiden Modi gleich ist.
  • Wählen Sie einen anderen Speicherblocktyp aus

In zukünftigen Versionen der Quartus® II Software ist das SCFIFO MegaWiiged Plug-In geplant, um die Option für den MLAB Speicherblocktyp zu deaktivieren, wenn der normale synchrone FIFO-Modus und die Optionen No (kleinster Bereich) ausgewählt werden.

Abbildung 1 zeigt die Wellenform einer MLAB-basierten SCFIFO-Megafunktion. Die Leseanforderung im Zyklus 9 generiert gültige Daten bei der Ausgabe im Zyklus 10. Selbst ohne eine zusätzliche Leseanforderung führt die Schreibanforderung in Zyklus 12 dazu, dass die Ausgabe auf neue Daten in Zyklus 14 aktualisiert wird. Die nächste Leseanforderung im Zyklus 15 generiert wieder gültige Daten bei der Ausgabe in Zyklus 16.

Abbildung 1. MLAB-basierte SCFIFO-Wellenform

Figure 1

Zugehörige Produkte

Dieser Artikel bezieht sich auf 11 Produkte

เอฟพีจีเอ Stratix® IV GX
เอฟพีจีเอ Stratix® IV E
เอฟพีจีเอ Arria® II GX
Stratix® III FPGAs
เอฟพีจีเอ Stratix® V GS
HardCopy™ IV GX ASIC-Geräte
HardCopy™ IV E ASIC-Geräte
HardCopy™ III ASIC-Geräte
เอฟพีจีเอ Arria® II GZ
เอฟพีจีเอ Stratix® V GX
เอฟพีจีเอ Stratix® V GT

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.