Sie sind auf Seite 1von 5

Rapport Projet VHDL

Unité de Traitement d’un Microprocesseur

Réalisé par :
- Zarrouk Azaddien
I. Introduction
Le projet consiste à réaliser l’unité de traitement d’un microprocesseur simple on utilisant le
langage VHDL.
Pour faciliter le travail on l’a devisé on trois parties
1. Réalisation d’une architecteur se constitue de deux registres et d’un opérateur.
2. Addition d’un registre instruction et d’un décodeur qui permet de décoder cette
instruction puis modifier les signaux pour réaliser l’opération voulu.
3. Compléter l’architecture on l’ajoutant l’accès mémoire.

II. Etape 1 : simple architecteur avec deux registres et un operateur


Dans cette étape j’ai réalisé le code d’un registre, d’un bus et de l’operateur, après on peut
utiliser le code du registre ou du bus à chaque fois on l’a besoin.

Figure 1: simple architecture avec 2 registres et un operateur

Je vais expliquer brièvement le fonctionnement de chaque bloque.

A. Les circuits réalisés


1. Le registre
On a travaillé avec un registre à 16 bit.
Le registre copie la valeur de son entrée à son sortie quand le signal eA=1.
Il est synchronisé par le signal d’horloge.

Figure 2: registre

2
2. Bus
Permet de connecté les registres entre eux.
On décide quelle sortie de registre on va transmettre à l’aide des signaux par exemple dans la
figure AB1, AB2, BB et BB2. Si on veut copier la valeur de sortie du registre A dans le Bus
1, et la valeur de la sortie du registre B dans le Bus 2 il faut que AB1 = 1, BB1=0, AB2=0 et
BB2=1. Car on doit vérifier qu’il y a un registre connecté.
Les bus ne sont pas synchronisés avec signal d’horloge.

3. Operateur
Un circuit avec un ou deux entrées et une sortie avec une commande de l’opération effectué.
B. Réalisation de l’architecture
Après la création des circuits nécessaires c’est le moment de faire rassembler les différentes
parties dans un fichier TOP pour réaliser notre première architecture simple.
On a besoin de deux registres, deux bus et un opérateur Alors on faire appeler les fichiers
registre et bus deux fois on donnant des différents labels et on faire passer les différents
entrées/sorties on utilisant des signaux intermédiaires.

III. Etape 2: Registre d’instructions et Décodeur.

Figure 3: architecture avec registre d'instruction et décodeur

3
Dans cette étape on va plus simuler l’instruction mais on va la réaliser automatiquement à
l’aide de registre d’instructions qui contient les instructions codés. On décode ces instructions
avec le décodeur qui va après commander les signaux d’isolation pour effectuer l’opération
voulu.

Le registre d’instruction est en 16 bits par contre le décodeur fonction en 8 bits c’est pour ça
on va réaliser aussi un formateur pour prends les 8 bits contiennent l’instruction et les faire
passer au décodeur.

Figure 4: registre d'instruction et formateur

Au niveau de code: on ajoute à notre fichier TOP un autre registre (registre d’instruction) et
on créer autres modèles, un pour le formateur et l’autre pour le décodeur.
J’ai réussi à faire le décodeur génère les signaux de commande en fonction de l’instruction
d’entrée.

III. Etape 3: Architecture complète.


Tableau d’instruction que j’ai réussi à réaliser avec mon décodeur.

Type Instructions Code instruction


Addition A=A+B 21
Soustraction A=A-B 22
Incrémentation A=A+1 23
ET A = A AND B 24
OU A = A OR B 25

Pour les autres je n’ai pas pu les faire parce que j’ai pas bien compris comment ça se passe
Et aussi je n’ai pas pu ajouter l’accès au mémoire.

4
IV. Conclusion
Ce projet ma permet de prendre une idée comment on peut réaliser une unité de traitement
d’un microprocesseur.
On peut résumer le fonctionnement de l’unité de traitement dans le diagramme suivant

Figure 5: diagramme de cycle de " fetch execute"

Pendant mon travail sur le projet j’ai appris comment réaliser des projets compliqués en les
faire diviser en parties et les réaliser étape par étape.

Das könnte Ihnen auch gefallen