Hallo Dirk,
dein Problem ist in der Tat ein anderes. Lies mal in der xapp463 nach.
Es ist eigentlich ganz einfach:
Du legst eine Adresse (und ggf. Daten) an das BRAM an. Am Ausgang tut
sich jetzt erstmal nichts, unabhängig vom Modus!
Beim nächsten Takt geht der Datenausgang auf den Wert entsprechend der
Adresse, die VOR dem Takt an das BRAM angelegt wurde. Beim Schreiben
ist dieser Wert vom Modus abhängig: Bei Write First ist es bereits der
neue Wert, bei Read First ist es noch der alte Wert der Speicherstelle.
Bei No Change ändert sich der Ausgang zunächst nicht!
Dieses Verhalten nennt man "synchrones Lesen/Schreiben" oder
"registered". Mag sein, dass es dir in deinem Fall nicht entgegen
kommt, ein echtes Hindernis sollte es aber nicht sein. Das "verteilte
RAM" verhält sich übrigens so, wie du es vielleicht vermutest: Der
Ausgang folgt direkt der Adresse - der Takt gilt nur für das Schreiben.
Also "asynchron Lesen/synchron Schreiben".
Gruß,
Thomas