wiki:ToolsCourseTp4

Version 5 (modified by anne, 17 years ago) (diff)

--

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

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 amd 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 amd;

Tout d'abord vous recopierez dans votre répertoire le squelette du modèle de l`AMD2901 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` AMD2901 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-AMD2901

Question 1

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

Question 2

Quelles szont les différentes opérations possibles avec l`AMD2901?

Question 3

Le résultat de l'ALU peut être récupéré dans quelle partie de lAMD2901? 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'AMD2901 à 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 AMD2901 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.