"Kann ich wirklich mit jedem Takt an CLK eingang des RAMs einen
Speicherzylus abarbeiten?"
Jein. Es gibt Latenzen und gewisse Totzeiten durch die eingebauten
Register. zB. S18: Der Read wird mit der zweiten steigenden Flanke
erkannt, das Ergebnis kannst du erst mit der vierten einlesen. Beim
Schreiben (S.19) kommen die Schreibdaten nicht zB. wie bei den
Xilinx-RAMs im selben Takt wie WE und A, sondern einen Takt später. Wenn
man sich das Blockdiagramm auf S.2 anschaut, sollten die Verzögerungen
klar werden.
Ein Read-Modify-Write-Zyklus wird damit natürlich langsam. Solange du
aber mit Bursts grössere Mengen Reads oder Write machen kannst, kann man
die volle Geschwindigkeit ausnutzen. Du musst übrigens auch nicht das
beschränkte Burst-Feature des RAMs dazu nehmen. Wenn du selbst schnell
genug zählen kannst (und das vom Signal her auch sauber rauskommt), kann
man auch einen vollständigen Zugriff mit beliebiger Adresse jeden Takt
machen.
BZTW: Bei 200MHz wird die Taktverteilung schon recht kritisch. Da muss
man mit DCM/PLL und Feedback arbeiten, damit RAM und FPGA wirklich
synchron sind. Xilinx hat da zB. ein paar Appnotes dazu.