2016-03-27 9 views
-1

Ich habe das schon ein wenig gelesen und kann nicht herausfinden warum ich Red X's (Collisions?) Mit einem einfachen Dual-Port BRAM hätte. Port BRAM IP-Kern.Unerklärte Red X's (Kollisionen?) Mit Dual-Port BRAM in Xilinx ISim

enter image description here

Ich denke, es gibt nur wenige Szenarien, die diese verursachen können:

Mehrere Quellen: Ich habe und ich habe nicht mehrere Quellen Tauchen current_row_data_out. Ich lese nur davon.

Gleichzeitiges Lesen + Schreiben an die gleiche Adresse: Nein. Wie Sie im Bild sehen können, sind read_addr und write_addr immer unterschiedlich.

Was kann es sonst noch sein?

+0

Eine ungültige/außerhalb des Bereichs liegende Adresse kann dies ebenfalls verursachen. – Paebbels

+0

So können nicht initialisierte Daten gelesen werden, wenn der vorherige Schreibvorgang nicht wirklich stattgefunden hat –

+0

Ich habe überprüft, dass ich gültige Adressen habe. Gibt es eine Möglichkeit, tatsächlich zu überprüfen, ob der vorherige Schreibvorgang stattgefunden hat? – John

Antwort

0

Die Probleme wurden durch ein oder zwei Schreibvorgänge von nicht initialisierten Daten am Anfang der Simulation verursacht. Es entstand eine Kettenreaktion, die erst später auftauchte, weil die anfangs gelesenen Werte zufällig korrekt waren.