Kritisches Problem
Dieses Problem betrifft mehrere ausgewählte DDR3-DIMMs mit mehreren Chips, die erforderlich sind Gespiegelte Adressbits; dieses Problem kann einen Designausfall verursachen in Simulation.
Das Standard-Speichersimulationsmodell unterstützt die Adresse nicht Spiegelung. Wenn Sie Ihr Design im Beispiel testbench generieren Wenn der Parameter für die Adressspiegelung aktiviert ist, schlägt Ihre Simulation fehl. Um erfolgreich zu simulieren, müssen Sie die aktuelle Speichersimulation ersetzen. Modell mit einem Speichermodell des Anbieters und Spiegeln der Adressbits in die <variation_name>_example_top_tb.v oder .vhd-Datei.
Verwenden Sie das Speichermodell des Anbieters und spiegeln Sie die Adressbits in das Beispiel oben für den Zielchip wählt, indem Sie Folgendes ausführen:
- Regenerieren Sie den DDR3 Testbench. Nach der Regenerierung testbench in der top-Variantendatei <variation_name>.v oder .vhd, Suchen Sie nach dem folgenden Code:
- Laden Sie das Speichermodell des Anbieters herunter.
- Für die Chip-Auswahlen, die Adressenüberwachung erfordern, Bearbeiten Sie die Datei <variation_name>_example_top_tb.v oder .vhd durch Ausführen der folgenden Schritte:
Retrieval-Info:
und ändern Sie den Code in Folgendes:
Retrieval-Info:
Fügen Sie die folgenden Zeilen hinzu:
wire[gMEM_ADDR_BITS - 1:0] a_reversed;
wire[gMEM_BANK_BITS - 1:0] ba_reversed;
assign a_reversed[2:0] = a_delayed[2:0];
assign a_reversed[3] = a_delayed[4];
assign a_reversed[4] = a_delayed[3];
assign a_reversed[5] = a_delayed[6];
assign a_reversed[6] = a_delayed[5];
assign a_reversed[7] = a_delayed[8];
assign a_reversed[8] = a_delayed[7];
assign a_reversed[gMEM_ADDR_BITS - 1:9] = a_delayed[gMEM_ADDR_BITS
-
1:9];
assign ba_reversed[0] = ba_delayed[1];
assign ba_reversed[1] = ba_delayed[0];
assign ba_reversed[gMEM_BANK_BITS - 1:2] = ba_delayed[gMEM_BANK_BITS
- 1:2];
Suchen Sie die folgenden Zeilen:
.ba (ba_delayed),
.addr (a_delayed[14-1: 0]),
und ändern Sie zu:
.ba (ba_reversed),
.addr (a_reversed),