Hallo. Ich habe zwei Integer Array (2D) ich möchte nun, alle Daten in das andere Array, natürlich gleicher Typ und Größe kopieren. type LU_table is array (1 to 6, 1 to 10) of integer; variable Look:LU_table; variable Puffer:LU_table; Wie kann ich nun alle Elemente kopieren? Look:= Puffer??? Vielen Dank für eure Hilfe
Verrat mal, was du machen willst... Aber im Prinzip kann man das schon so machen - das kann allerdings schnell in die Hose gehen wenn man dadurch z.B. verhindert, dass eine groessere Menge Daten in einen RAM-Block gelegt werden koennen.
Ich möchte Werte in einem Puffer abspeichern. Zu einem bestimmten Zeitpunkt sollen die Werte in den Ausgabepuffer umkopiert werden, bzw der Ausgabepuffer soll aktualisiert werden. Solange bis der Zeitpunkt zum umkopieren gekommen ist, werden die "alten" Werte ausgegeben. Das aktualisieren darf nur zu einen Zeitpunkt geschehen, da sonst Probleme aufreten können.
Julia wrote: > Ich möchte Werte in einem Puffer abspeichern. > Zu einem bestimmten Zeitpunkt sollen die Werte in den Ausgabepuffer > umkopiert werden, bzw der Ausgabepuffer soll aktualisiert werden. > Solange bis der Zeitpunkt zum umkopieren gekommen ist, werden die > "alten" Werte ausgegeben. Das aktualisieren darf nur zu einen Zeitpunkt > geschehen, da sonst Probleme aufreten können. Gut, das verstehe ich so, dass du eh alle Daten parallel brauchst. Dann stellt das einfache zuweisen - ich nehme an, du machst das in einem getakteten Prozess - kein Problem dar. Ich wuerde mich aber gedanklich nicht an das Wort "umkopieren" halten - In Hardware heisst das einfach nur, dass die Flipflops am Ausgang neue Daten uebernehmen.
Ok, super. Wie weise ich nun die Arrays zu? Geht das einfach so: Look:= Puffer oder so: Look(1 to 6,1 to 10):= Puffer(1 to 6,1 to 10) Gruß Julia
Hallo, hier ein kleines (funktionierendes) Beispiel. Zuerst wird der Puffer gefüllt und dann kopiert. Ich habe mal Signale anstatt Variablen verwendet. Sollte aber auch mit Variablen funktionieren. Grüße Der Besucher ENTITY arraycopy IS END arraycopy; ARCHITECTURE behav OF arraycopy IS type LU_table is array (1 to 6, 1 to 10) of integer; signal Look, Puffer : LU_table; BEGIN demo : process begin -- Puffer mit Daten fuellen for i in 1 to 6 loop for j in 1 to 10 loop Puffer(i, j) <= i+j; wait for 1 us; end loop; end loop; -- Und nun kopieren Look <= Puffer; wait; end process; END behav;
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.