Dieses Problem wurde in der Quartus II SoftwareVersion 2.2 behoben.
Das ROM funktioniert in der Simulation korrekt, da die Simulations-Netzliste von seinem Problem nicht betroffen ist. Zur Optimierung der Geräteressourcen kann der Quartus II Speicherspeicher ROM und RAM in ESB-Speicherblöcke packen, und in den meisten Fällen sind alle Signale für beide Speicherblöcke verkabelt. In der Quartus II Softwareversion 2.1 SP1 und darunter verdrahtet die Programmierdatei die Adresszeilen für das ROM jedoch nicht korrekt, wenn ein ROM mit einem anderen ROM oder einem Ein-Port-RAM gepackt ist. Aus diesem Grund funktioniert das APEX II Gerät auf Ihrem Mainboard nicht korrekt. Beispielsweise können Sie Nullen von allen ROM-Adressen lesen, wenn der APEX II programmiert oder konfiguriert ist.
Als Problemumgehung können Sie einen der folgenden Schritte ausführen:
- Implementierung des ROM in Logikelementen (LEs) anstelle von eingebetteten Systemspeicher (ESB) blocks) – Sie müssen möglicherweise die RAM-Inferenz in Ihrem Synthese-Tool deaktivieren.
- Erstellen Sie individuelle ESB-Standortzuweisungen für jede Ihrer ROMs und Ein-Port-RAMs um sicherzustellen, dass sie vom Quartus II Verteiler nicht im gleichen ESB platziert werden.
- Wandeln Sie alle ROMs in Single-Port-RAMs um, wobei write enable set to ground (GND) aktiviert ist.