Forum: FPGA, VHDL & Co. Xilins Namensproblem mit Blockram


von Tom N. (tom-nachdenk)


Lesenswert?

Hallo,
ich habe eine Verilog Registerarray das als Bootrom (genauer vorbelegtes 
RAM) für einen Softcore fungieren soll:
1
reg [15:0] rom [0:2047];

das von xst wie wie gewünscht als Blockram synthetisiert wird. Nun 
möchte ich natürlich hier den passenden Inhalt einfügen und habe auch 
schon die Notwendigkeit einer bmm Datei erkannt.

Allerdings ist mir nicht so ganz klar wie ich auf die Zuordnung komme, 
zwar hab ich rausgefunden das par hier etwas a'la
1
ADDRESS_BLOCK rom RAMB16 [0x0000:0x7FF]
2
    BUS_BLOCK
3
        inst_Mram_mem1 [15:0];
4
    END_BUS_BLOCK;
5
END_ADDRESS_BLOCK;

erwartet, aber bis ich hier bei inst_Mram_mem war hat es etwas 
gedauert. (Mit Hilfe von ngc2edif hab ich es dann irgendwann 
geschafft) Schön wäre es auch wenn sich das ganze per Skript erledigen 
liesse. Evtl. bekommt mein System ja auch noch eine Videoausgabe mit 
Zeichengenerator und dann hab ich noch ein paar RAMblöcke mehr.

Hat da jemand eine Idee? Eine eventuell mögliche Angabe im Quelltext 
möchte ich vermeiden da ich über sfl2vl zum Verilog Quelltext komme.

von Rick Dangerus (Gast)


Lesenswert?

In Verilog kannst du doch $readmemh verwenden. Ansonsten kann man sich 
auch über ein Skript den synthesefähigen Quelltext erstellen lassen.
btdt (aber in VHDL).

Rick

von Tom N. (tom-nachdenk)


Lesenswert?

Ja, jein. sfl2vl ist ein Programm das es nur als Binary gibt. Das 
skriptgesteuert bezieht sich darauf das ich nicht die ISE nehme sondern 
den Makefile-Designflow für Xilinx. Und hier fehlt mir halt etwas das 
die Zuordnung zwischen den Verilog-Datenstrukturen zu den Instanznamen 
ermöglicht, und das wenns geht noch per Skript. Bzw. die passende 
bmm-Datei dann erzeugt. Mittlerwewiele hab ich auch das Registerfile und 
die MMU auf mem umgestellt und jede Menge 16x1 RAM-Instanzen in der EDIF 
Netzliste.

von Rick Dangerus (Gast)


Lesenswert?

Ich fürchte fast, dass Du die Zuordnung per Hand machen musst. Ggf. 
kannst Du .xcf und/oder .ucf-Dateien verwenden um Deine Speicher (und 
damit die Instanznamen) zu locken.

Rick

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.