Hm, was meinst Du mit mehreren Hundert MHz? Schauen wir mal nach:
Für einen Spartan3-1000 mit langsamsten Speegrad verrät mir
speedprint -s 4 3s1000
folgende Zeiten:
RAMB16
Tback 350.00 / 350.00
Tbcka 0.00 / 0.00
Tbckd 0.00 / 0.00
Tbcke 105.20 / 105.20
Tbcko 1905.60 / 2382.00 1915.20 /
2394.00
Tbckr 117.20 / 117.20
Tbckw -0.80 / -0.80
Tbdck 484.00 / 484.00
Tbeck 485.00 / 485.00
Tbrck 497.00 / 497.00
Tbwck 485.00 / 485.00
(speedprint ist ein Tool aus der ISE das die zeiten aus der datenbank
ausdruckt,
am besten in einer DOS-shell aufrufen)
OK, die Kürzel sagen nicht viel ich schau dann bei www.xilinx.com im
Interactive datasheet nach (zwar für VirtexII aber die Kürzel sind
gleich/ähnlich)
also
http://www.xilinx.com/applications/web_ds_v2/
Irgendwas auswählen und in der erzeugten tabelle die zeiten anklicken
und sie werden mit Bild erklärt.
Zum abschätzen der Zykluszeit brauchen wir also die längste Setupzeit,
und die Clock to outputzeit also
tbdck + tbcko = ca. 2.9 ns
-> Hm das ist flott schliesst aber nicht die Laufzeiten von
letzten FF das die Adresse erzeugt ein.Und nicht die Zeiten vom
Datenausgang BRAM zum ersten FF. Pi mal daumen für jede Teilstrecke ca
1 ns macht 5 ns.
Also 200 Mhz für den BRAM im langsamsten Spartan3-1000.
Das deckt sich auch mit meinen Erfahrungen, schneller als mit 100 MHz
habe ich noch kein design mit BRAM gesehen. (Wobei der längste Pfad
wohl nicht der BRAM ist). Also für schneller als 200 MHz wirdt Du schon
ein optimales design entwerfen müssen.
Schneller speedgrade bringt nicht viel ca 10%) bei Virtex 4 hast du
bestimmt mehr luft, aber > 350 MHz wuerde ich nicht erwarten.
Geschwindigkeitsmäßig ist ein einzelner BRAM schon schnell aber klein
(18Kbit). schaltest du mehrere Zusammen, kommen mehr Laufzeiten hinzu.
Nimmst du mehr als die Hälfte der vorhanden BRAM#s Müssen die Signale
über den ganzen chip laufen (BRAMS liegen an der rechten und linken
Kante).
Ob single oder dual spielt IMHO keine Kontrolle.
Kurz ein ein einzelne BRAM ist schnell aber klein, alle BRAM's
zusammen sind immer noch ausreichend schnell (ca 100 Mhz) aber meist
immer noch winzig.