Hallo VHDL Spezl,
ich baue gerade die Instantiierung eines RAMs auf 'simple VHDL' um (da
Plattformunabhaengig und schneller in der Simulation mit GHDL). Nur, wie
initialisiere ich dieses RAM am einfachsten? Die 'zu Fuss Methode' folgt
hier:
Also ich will nur ein paar Eintraege initialisieren, der Rest ist Null
(bzw. sogar don't care). Ich denke, das muss doch mit irgendeinem
Konstrukt ala
1
(others=>(others=>'0'))
zu loesen sein, oder?
Das RAM wird teilweise (bei mir so ca. 40 Eintraege) als
ROM/Codespeicher verwendet und muss deshalb richtig initialisiert
werden, der Rest des RAMs ist wirklich zum Datenaustausch gedacht
(dual-ported RAM halt)...
Hat da jemand den Zauberspruch fuer mich? Ich stehe gerade voll auf dem
Schlauch...
Rufus schrieb:> signal ram : t_ram;> ram <= (others => (others => '0'));> ram(0 to 39) <= (...);
hmm, in der 'architecture' die Deklaration und nach dem 'begin'
Zuweisungen? Na, ich bin da skeptisch (aber wenn kein anderer Vorschlag
kommt probier ich das mal aus!)
berndl schrieb:> hmm, in der 'architecture' die Deklaration und nach dem 'begin'> Zuweisungen?
Ja, so ist das gemeint.
berndl schrieb:> Na, ich bin da skeptisch (aber wenn kein anderer Vorschlag> kommt probier ich das mal aus!)
So in der Art habe ich das gemacht und es funktioniert.
Bei dem Vorschlag von Bastler stört mich, dass man für jedes Wort die
Adresse mit angeben muss. Das soll der Compiler doch selber machen...
;-)
Rufus schrieb:> So in der Art habe ich das gemacht und es funktioniert.>> Bei dem Vorschlag von Bastler stört mich, dass man für jedes Wort die> Adresse mit angeben muss. Das soll der Compiler doch selber machen...> ;-)
ahhhh ja, aber ich habe gerne Deklaration und Implementierung
'eindeutig', da gefaellt mir der 'Bastler' Vorschlag ganz gut. Aber
merci fuer den Tipp! Muss ich mir merken!
Rufus schrieb:> Bei dem Vorschlag von Bastler stört mich, dass man für jedes Wort die> Adresse mit angeben muss. Das soll der Compiler doch selber machen...> ;-)
Macht ein Konverterscript, welches aus dem binary die init-strings
erzeugt.
Wird doch kaum einer die Daten von Hand eingeben, oder?