Conception des systèmes numériques VHDL – TP1
L. Bossuet, S. Renaud, B. Le Gal, Y. Bornat -ENSEIRB TP 2 : Mémoire
ROM, RAM simple et double port
Objectifs du TP : Comprendre le fonction des circuits de mémorisation ROM et RAM via la description VHDL et la simulation fonctionnelle.
Aide n°1 : Parmi les types utilisables dans le langage VHDL, une type est bien utile pour décrire les mémoires : les ARRAY (ou tableaux en français), dont l’utilisation est la suivante :
TYPE un_tableau IS ARRAY (0 TO borne_max) OF type_données_tableaux;
Type_données_tableaux peut être un type énuméré (BIT, STD_LOGIC, STD_LOGIC_VECTOR etc…) ou une autre type comme des entiers par exemple.
Le nouveau TYPE un_tableau peut être utilisé pour la description d’un signal, d’une constante ou d’une variable, par exemple de la façon suivante :
SIGNAL mon_tableau : tableau ;
Puis l’utilisation dans la description architecturale de la déclaration mon_tableau(X) correspond à l’élément (du type type_données_tableaux) placé à la position X dans le tableau mon_tableau.
Aide n°2 : Il est nécessaire dans ce TP de pouvoir correctement transformer un signal de type STD_LOGIC_VECTOR A_std_logic_vector en signal de type INTEGER A_integer.
Pour cela il faut ajouter la librairie suivante en début de description : IEEE.NUMERIC_STD.ALL
Puis utiliser la conversion suivante :
A_integer <= TO_INTEGER(UNSIGNED(A_std_logic_vector));
Remarque : les types et conversions de types, utilisés en particulier pour les calculs arithmétiques, seront vu plus amplement dans les TP suivants.
Sujet du TP : décrivez et simulez des mémoire ROM, RAM simple port et RAM double port
1.1) Décrivez et simulez une mémoire ROM de 128 mots de 8 bits ROM_128_8 dont le schéma est le suivant (pour la simulation, il n’est pas nécessaire de remplir la ROM avec 128 mots différents).
Conception des systèmes numériques VHDL – TP1
L. Bossuet, S. Renaud, B. Le Gal, Y. Bornat -ENSEIRB
1.2) Décrivez et simulez une mémoire RAM simple port de 32 mots de 8 bits dont le schéma est le suivant :
1.3) Décrivez et simulez une mémoire RAM double port de 32 mots de 8 bits dont le schéma est le suivant.
8 bits WRITE_ADD
DATA_OUT
H
RAM_DP_32_8 5 bits
8 bits DATA_IN
Write_Enable
5 bits READ_ADD
1.4) Synthétisez avec ISE les trois circuits précédemment étudiés, comment l’outil réalise matériellement ces mémoires ???