Forum: FPGA, VHDL & Co. Probleme bei ROM Simulation


von sergej (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe ein ROM welcher aus einer Datei intialisiert wird, dieser lässt 
sich auch synthetisieren, allerdings kann ich diesen nicht mit Isim 
simulieren.

Es kommt zwar keine Fehlermeldung,aber an meinem Ausgang liegt nur 
"UUUUUU" an und der CLK ändert sich auch nicht.

im Anhang befinden sich die nötigen Dateien.

von Valko Z. (hydravliska)


Lesenswert?

Hi

Modelsim sagt mir:

Fatal: (vsim-3734) Index value 0 is out of range 1 to 32768.

0 to 32767 läüft

Gruss

von Sergej (Gast)


Lesenswert?

Tatsächlich,

Danke ich hatte das mal zu testzwekcen geändert und seit dem nicht mehr 
rückgängig gemacht

von Sanchez Santiago (Gast)


Lesenswert?

sergej schrieb:
> Ich habe ein ROM welcher aus einer Datei intialisiert wird, dieser lässt
> sich auch synthetisieren,

Bist du dir sicher, dass du das synthetisieren kannst? Mit Quartus hat 
es damals bei mir leider nicht funktioniert (ROM war nur mit Nullen 
gefüllt).

Siehe auch dieser Thread hier:
Beitrag "RAM mit Filedaten intialisieren (VHDL)"

von sergej (Gast)


Angehängte Dateien:

Lesenswert?

Sanchez Santiago schrieb:
> sergej schrieb:
>> Ich habe ein ROM welcher aus einer Datei intialisiert wird, dieser lässt
>> sich auch synthetisieren,
>
> Bist du dir sicher, dass du das synthetisieren kannst? Mit Quartus hat
> es damals bei mir leider nicht funktioniert (ROM war nur mit Nullen
> gefüllt).
>
> Siehe auch dieser Thread hier:
> Beitrag "RAM mit Filedaten intialisieren (VHDL)"

ja, der lässt sich synthetisieren und jetzt auch simulieren.

jetzt habe ich allerdings versucht mein modul so abzuändern, dass er mir 
daraus ein Dual Port Ram synthetisiert und das macht er leider nicht. er 
macht mir 2 single Port Rams und leider komme ich deswegen auf beinahe 
200% der verfügbaeren resourcen.

Kennt einer eine Lösung für das dual port problem?

auf diversen seiten habe ich gelesen, dass ich pro ausgang ein Prozess 
benötige und die memory variable "shared" sein muss. Beides habe ich 
probiert aber nichts hilft. Im Xst user guide haben die ebenfalls das 
selbe.


im anhang sind noch einmal meine derzeitigen dateien

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

sergej schrieb:
> jetzt habe ich allerdings versucht mein modul so abzuändern, dass er mir
> daraus ein Dual Port Ram synthetisiert und das macht er leider nicht.
Hast du die Synthese-Guidelines angeschaut? Darin steht, wie du ein RAM 
zu beschreiben hast, damit der Synthesizer ein DPRAM erkennt. Für Xilinx 
wäre das der "XST Users Guide", bei Altera gibts sicher auch so was...

von Sanchez Santiago (Gast)


Lesenswert?

sergej schrieb:
> ja, der lässt sich synthetisieren

Benutzt du Quartus oder ISE?
Hast du die Funktion auch auf dem Board ausprobiert oder nur geschaut ob 
die Synthese durchgelaufen ist?

von sergej (Gast)


Lesenswert?

Sanchez Santiago schrieb:
> sergej schrieb:
>> ja, der lässt sich synthetisieren
>
> Benutzt du Quartus oder ISE?
> Hast du die Funktion auch auf dem Board ausprobiert oder nur geschaut ob
> die Synthese durchgelaufen ist?

benutze ISE und habe nur geschaut ob die synthese durchgelaufen ist. 
Habe noch nicht die Möglichkeit es auf einem Board zu testen.


@Lothar

Ja habe im XST User guide geguckt und daher auch meiner implementierung.
im Vergleich zum single Port Rom muss jeder ausgang einen eigenen 
Prozess haben.

von Sergej (Gast)


Lesenswert?

Habe das Problem soeben selbst gelöst. Durch ändern von

Const: mem: Rom32768x16

In

Signal : mem: Rom32768x16

Hat es funktioniert.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Eigentlich logisch: eine Konstante lässt sich nicht beschreiben...

von Sergej (Gast)


Lesenswert?

Lothar Miller schrieb:
> Eigentlich logisch: eine Konstante lässt sich nicht beschreiben...

Ja aber schreiben hatte ich ja nicht vor.

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.