VHDL Vektor mit "variablem" Index

Gast #2689960
Lesenswert?
• ▲
▼
Hallo liebe Gemeinschaft,

ich suche nun schon eine ganze Weile nach einer Moeglichkeit mir einen 
Vektor mittels "type ... is array ..." zu bauen und dann die einzelnen 
Elemente zu adressieren.

Hier mal ein Beispiel was ich vor habe:
1
vector(index) = Zu_speichernder_Wert;

Ich habe mir also folgendes gebastelt:
1
type vector is array (0 to 9) of std_logic_vector(11 downto 0);
2
.
3
.
4
.
5
variable sample_vector : vector;
6
.
7
.
8
.
9
sample_vector(sample_index) := audio_sample_signal;

Wobei sample_index ein signal ist ... dass das nicht der richtige Typ 
ist hat mir ISE bereits klar gemacht, jetzt frag ich mich nur wie ich 
das sonst machen kann. Der Plan war immer an einem bestimmten Moment die 
naechste Zelle im Vektor zu beschreiben und ab einem bestimmte 
sample_index Wert wieder von vorne zu beginnen.
Wuerde mich um jede Hilfe freuen!

Besten Dank und schoene Gruesse,

Lennart
Gast #2689972
Lesenswert?
• ▲
▼
Da sucht man einen ganzen Abend und findets direkt nach dem Poast.
Hab sample_index jetzt einfach mal vom Typ natural gemacht und nun 
scheint es zu funktionieren.

Besten Dank trotzdem und verzeiht den unnoetigen Thread ...
Moderator (Firma: Titel) Persönliche Seite #2690110
Lesenswert?
• ▲
▼
Lenni schrieb:
> Wobei sample_index ein signal ist ... dass das nicht der richtige Typ
> ist hat mir ISE bereits klar gemacht, jetzt frag ich mich nur wie ich
> das sonst machen kann.
Ein Signal oder Variable ist noch kein Typ. Erst bei der Deklaration 
wird ein Typ zugewiesen. Und zur Indizierung eines Arrays muss das ein 
Integer sein. Und wenn sample_index kein Integer ist, dann muss er 
passend konvertiert/gecastet werden.
http://www.lothar-miller.de/s9y/archives/14-Numeric_Std.html
Dann geht das problemlos...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren