2013-06-18 12 views
6

ho bisogno di dichiarare i valori che il contatore deve prendere in un array 2D. Inoltre, come seleziono gli elementi dall'array e li uso (ad esempio li assegno ad un'altra variabile) come faccio a dichiarare gli elementi di questo array 2D?come dichiarare array bidimensionali e relativi elementi in VHDL

type lutable is array (0 to 4, 0 to 63) of integer range 0 to 4000; 

risposta

12

in una matrice 2D es .:

type lutable is array (0 to 4, 0 to 2) of integer range 0 to 4000; 

signal sample_array: lutable; 

è possibile assegnare elementi ad un altro segnale come segue:

out_signal<=sample_array(in_a, in_b); 

il contenuto della matrice possono essere dichiarati esempio come predefiniti (attenzione, questo non è supportato da tutte le sintesi utensili!):

signal sample_array: lutable:=((1000, 2000, 3000), 
         (4000, 3000, 2000), 
         (100, 200, 300), 
         (1,2,3), 
         (5,6,7)); 

o su una costante di matrice, ad esempio:

signal sample_array: lutable; 
constant sample_array_init: lutable:=( (1000, 2000, 3000), 
         (4000, 3000, 2000), 
         (100, 200, 300), 
         (1,2,3), 
         (5,6,7)); 
... 
sample_array<=sample_array_init; 
... 

o, naturalmente, elemento per elemento:

sample_array(1,1)<=1000; 
... 
+0

grazie mille. Ancora una cosa. Posso accedere a questi elementi dire in termini di righe o di colonne? – user2481101

+0

@ user2481101: No, non è possibile, è possibile accedervi solo singolarmente in base all'indice dei due valori. – EquipDev