Forum: FPGA, VHDL & Co. Spartan 2 Blockram Problem


von cpt (Gast)


Lesenswert?

Hallo zusammen!

Ich versuche gerade das komplette Dual-Port-Blockram eines Spartan 2
mit 100k Gattern (XC2S100) zu nutzen. Laut Datenblatt verfügt der FPGA
über 10 einzelen Blockrammodule mit je 4096 Bit Kapazität. Macht
insgesamt 40960 Bit. Bei einer Wortbreite von 8 Bit beträgt somit der
Adressraum
0 bis 5119. Wenn ich den Ram in dieser Form implementiere meldet das
WebPack allerdings einen mapping Error. Angeblich sind 16 Blockrams von
Nöten um dieses Design zu realisieren. Ich kann mir nicht erklären
warum. Hoffe hier weiß jemand weiter.

Danke
Cpt

von FPGA-User (Gast)


Lesenswert?

hmm.. da versteht die Synthese wohl die Adressierung falsch,
für 0 ... 5119 benötigt man 13 Adressbits, mit 13
Adressen lassen sich aber theoretisch max. 64k adressieren,
also 16 x 4k = 16 BlockRAMs.

Irgendwie hat das Synthesetool nicht geschnallt, dass Du nur
einen Teil des Adressraumes nutzen möchtest - kann das sein?

von cpt (Gast)


Lesenswert?

Danke Fpga-User

Das ist auf jedenfall mal ein ansatz. Kann gut sein, daß das
Synthesetool es nicht schnallt. Aber wie bringe ich ihm das bei :-)
Ich versuch es mal aber hoffentlich weiß irgendwer, wie man das
umgeht.
Danke

Cpt

von FPGA-User (Gast)


Lesenswert?

wie hast Du denn das RAM beschrieben ?

Schlimmstenfalls musst Du das RAM selbst "zusammenbauen",
also einzelne Block-RAMs nehmen, vielleicht 512x8 und
den Adress- und DatenMUX selbst dranbauen :-(

von cpt (Gast)


Lesenswert?

Ja genau so ist es jetzt gelöst.

Danke

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.