wiki:ToolsCourseTp4

TP4 VLSI : Ecriture du modèle VHDL de l'AMD2901

Architecture interne du circuit Am2901

La description générale du processeur AM2901est donnée par

ftp://asim.lip6.fr/pub/amd2901/amd2901.pdf

Objectifs

  • En partant d'une spécification "papier" décrire le modèle VHDL d'un circuit.

Il est nécessaire que tous les groupes utilisent les mêmes noms de connecteurs et de signaux internes afin de pouvoir échanger les vecteurs de test.

ENTITY am2901 IS
PORT (
       cke       : IN BIT;
       i         : IN BIT_VECTOR (8 DOWNTO 0);
       a         : IN BIT_VECTOR (3 DOWNTO 0);
       b         : IN BIT_VECTOR (3 DOWNTO 0);
       d         : IN BIT_VECTOR (3 DOWNTO 0);
       noe       : IN BIT;
       r0        : INOUT MUX_BIT BUS;
       r3        : INOUT MUX_BIT BUS;
       q0        : INOUT MUX_BIT BUS;
       q3        : INOUT MUX_BIT BUS;
       ovr       : OUT BIT;
       zero      : OUT BIT;
       signe     : OUT BIT;
       np        : OUT BIT;
       ng        : OUT BIT;
       cin       : IN BIT;
       cout      : OUT BIT;
       y         : OUT MUX_VECTOR (3 DOWNTO 0) BUS;
       vddi      : IN BIT;
       vssi      : IN BIT
       vdde      : IN BIT;
       vsse      : IN BIT
     );
END am2901;

Tout d'abord vous recopierez dans votre répertoire le squelette du modèle de l`AM2901 qui se trouve dans le répertoire

~jeanlou/VLSI2006-2007/TD-TME/S4/

Exercices

Exercice 1-VHDL

Question 1

Quelle est la différence entre l'assignation simple et l'assignation avec condition ?

Question 2

Dans l` AM2901 décrit en cours, quels sont les signaux qui ne sont pas affectés systématiquement lorsque les valeurs d'entrée sont modifiées? pourquoi?

Question 3

Comment décrit on ces signaux en VHDL? quel est le type correspondant?

Exercice 2-AM2901

Question 1

Evaluer le nombre de bascules D que vous allez utiliser pour décrire votre AM290.

Question 2

Quelles sont les différentes opérations possibles avec l`AM2901?

Question 3

Le résultat de l'ALU peut être récupéré dans quelle partie de lAM2901? Quelle est l'entrée qui permet de choisir la destination du résultat de l'ALU?

Question 4

Ecrit-on dans tous les registres de l'AM2901 à chaque cycle ?

Question 5

Quelle est l'utilité des bits r0, r3, q0, q3 ? quel est le mode de ces connecteurs ?

Question 6

Déterminer les entrées qui peuvent modifier les différents drapeaux.

Question 7

Quelle est l'utilité de l'entrée noe ?

Question 8

Est il possible de venir lire une case mémoire et de la modifier au cours du même cycle ? donner un exemple .

Exercice 3-Vecteurs de test.

Dans le cas de votre AM2901 dont l'interface est donné plus haut, déterminer le (les) vecteur(s) de test permettant de :

Question 1

Remplir les registresd'adresse 0 avec la valeur 0 et le registre 1 avec la valeur 1.

Combien de cycles sont nécessaires ? combien de vecteurs ?

Question 2

On suppose que l'accumulateur contient la valeur 8 en début de cycle, donner le vecteur qui permet d'avoir 16 en fin de cycle dans l'accumulatur. Les sorties seront toutes prévues.

Last modified 16 years ago Last modified on Dec 12, 2007, 11:24:33 AM