# Autres langages > Autres langages > VHDL >  Tableau en vhdl

## ahmednaess

Bonjour  tous,
j'ai plusieurs registres de type std_logic_vector de taille variable que je voudrais mettre dans un tableau,

par exemple "0001010000100010", "0010" et "001101" que je voudrais mettre sous forme de     0001010000100010
                        0010
                        001101
et rajouter une concatnation de 0 pour qu'ils soient tous de mme taille.

0001010000100010
0010000000000000
0011010000000000

Pour la concatnation je sais que je peux utilis par exemple 
vec<= (reg_i, others => '0');
Mais je ne sais pas du tout comment crire le contenu de mes registres dans un tableau.
Si quelqu'un  une ide je suis preneur.
Merci d'avance de votre aide les amis.

----------


## mith06

Bonjour,


```

```

J'espre aider

----------


## ahmednaess

Bonjour,
Je voudrais d'abord te remercier de ta rponse,
mais dans ton code on rentre le contenu du tableau  la main et moi ce que je voudrais faire c'est crire le contenu de plusieurs registres qui sont de taille variable dans une matrice carr.
c'est  dire que je vais mettre le contenu de ces registres dans une matrice puis comparer la taille des registres avec le nombre de registres et concatn le tout avec des zero pour obtenir une matrice carr.

----------


## ahmednaess

je pensais plus  un code de ce genre


```

```

----------


## mith06

Oui a doit marcher.
Mais attention gnralement on utilise les tableau pour forcer le synthtiseur  instancier un mmoire de type BRAM, cad accs a un lment (ou 2<=> dual port memory) du tableau par cycle horloge.
Ici tu accde  tous les lments du tableau sur le mme cycle horloge. Ce ne n'est pas une mmoire mais un banc de registres.

Utiliser un tableau ne sert  rien. Dclare directement 15 signaux avec des noms indics de  0  15.

----------


## ahmednaess

En fait ce que je veux faire c'est diffrent contrle de parit sur le contenu de ces registres,
un contrle de parit horizontale donc chaque registre seul, un contrle de parit verticale et un contrle de parit diagonale donc tout les registres ensembles.
Donc mettre le contenu de tout les registres dans un tableau et les concatn avec des '0' pour obtenir une matrice carr me sembl tre la meilleure ide.

----------


## mith06

Fait comme tu veux.
Mais tu risque d'embrouiller le synthtiseur avec un tableau.

----------


## ahmednaess

tu pense que je peux parcourir des signaux en verticale ou en diagonal????

----------


## mith06

"parcourir" n'a de sens en VHDL.
Les boucles sont droules  la synthse.
Mais oui je pense que tu peux faire ca.

----------

