• Aucun résultat trouvé

1/19 MC-ENSL1-ProjetAJ.Villemejane-julien.villemejane@u-pec.fr Microcontroleur-VHDL

N/A
N/A
Protected

Academic year: 2022

Partager "1/19 MC-ENSL1-ProjetAJ.Villemejane-julien.villemejane@u-pec.fr Microcontroleur-VHDL"

Copied!
23
0
0

Texte intégral

(1)

Microcontroleur - VHDL

MC-ENSL1 - Projet A

J. Villemejane - julien.villemejane@u-pec.fr

IUT Cr´eteil-Vitry epartement GEII Universit´e Paris-Est Cr´eteil

Ann´ee universitaire 2012-2013

(2)

Plan du cours

1 Architecture d’un microprocesseur Architecture externe

Architecture interne Traitement d’une instruction

2 S´equenceur microprogramm´e Cahier des charges Le jeu d’instruction

3 R´ealisation

4 Application autour du microprocesseur

Les p´eriph´eriques Le d´ecodage d’adresse Premier essai

M´emoire programme Second essai

(3)

Objectifs

Microcontroleur

R´ealiser l’architecture d’un microcontroleur simple en VHDL, `a l’aide d’un composant programmable de typeFPGA.

Traitement de donn´ees de 4 bits Mot m´emoire de 8 bits

8 instructions Architecture Harvard

(4)

Architecture d’un microprocesseur

Syst`eme `a microprocesseur Processeur

M´emoires

I Programme (ROM)

I Donn´ees (RAM) Entr´ee-Sorties Bus de donn´ees Bus d’adresses D´ecodeurs d’adresse

Microprocesseur

Unit´e Arithm´etique et Logique (UAL / ALU) Registres

Contrˆoleur

I Registre d’instruction

I D´ecodeur d’instruction

I S´equenceur Compteur programme

(5)

Architecture d’un microprocesseur

Syst`eme `a microprocesseur Processeur

M´emoires

I Programme (ROM)

I Donn´ees (RAM) Entr´ee-Sorties Bus de donn´ees Bus d’adresses D´ecodeurs d’adresse

Microprocesseur

Unit´e Arithm´etique et Logique (UAL / ALU) Registres

Contrˆoleur

I Registre d’instruction

I D´ecodeur d’instruction

I S´equenceur Compteur programme

(6)

Architecture d’un microprocesseur

Syst`eme `a microprocesseur Processeur

M´emoires

I Programme (ROM)

I Donn´ees (RAM) Entr´ee-Sorties Bus de donn´ees Bus d’adresses D´ecodeurs d’adresse

Microprocesseur

Unit´e Arithm´etique et Logique (UAL / ALU) Registres

Contrˆoleur

I Registre d’instruction

I D´ecodeur d’instruction

I S´equenceur Compteur programme

(7)

Architecture d’un microprocesseur

Syst`eme `a microprocesseur Processeur

M´emoires

I Programme (ROM)

I Donn´ees (RAM) Entr´ee-Sorties Bus de donn´ees Bus d’adresses D´ecodeurs d’adresse

Microprocesseur

Unit´e Arithm´etique et Logique (UAL / ALU) Registres

Contrˆoleur

I Registre d’instruction

I D´ecodeur d’instruction

I S´equenceur Compteur programme

(8)

Architecture d’un microprocesseur

Architecture externe

(9)

Architecture d’un microprocesseur

Architecture interne

ALU : Unit´e Arithm´etique et Logique (Arithmetic and Logical Unit) FPU : Unit´e de Virgule Flottante (Floating Point Unit)

(10)

S´ equenceur microprogramm´ e

Cahier des charges

On souhaite `a pr´esent r´ealiser unmicroprocesseur`a jeu d’instruction tr`es r´eduit (8 instructions) mais relativement complet dans sa structure et pouvant traiter des donn´ees de4 bits.

Le microprocesseur sera compos´e :

d’une unit´e arithm´etique et logique (addition, soustraction, logique bool´eenne)

d’un registre interne A d’un controleur/s´equenceur d’un compteur programme

Afin de pouvoir tester ce syst`eme sur la carte d’´etude, nous rajouterons : une ROM programme

des gestionnaires d’entr´ees/sorties

Le tout s’apparentera donc plutˆot `a un microcontrˆoleur.

(11)

S´ equenceur microprogramm´ e

Cahier des charges

On souhaite `a pr´esent r´ealiser unmicroprocesseur`a jeu d’instruction tr`es r´eduit (8 instructions) mais relativement complet dans sa structure et pouvant traiter des donn´ees de4 bits.

Le microprocesseur sera compos´e :

d’une unit´e arithm´etique et logique (addition, soustraction, logique bool´eenne)

d’un registre interne A d’un controleur/s´equenceur d’un compteur programme

Afin de pouvoir tester ce syst`eme sur la carte d’´etude, nous rajouterons : une ROM programme

des gestionnaires d’entr´ees/sorties

Le tout s’apparentera donc plutˆot `a un microcontrˆoleur.

(12)

S´ equenceur microprogramm´ e

Le jeu d’instruction - 1/2

instruction adr Op´erande

oc2 oc1 oc0 ad op3 op2 op1 op0

3 bits 1 bit 4 bits

Deuxmodes d’adressageseront possibles : direct op´erande fourni (cste)

bitad= 0

´etendu adresse de l’op´erande fourni (adr) bitad= 1

(13)

S´ equenceur microprogramm´ e

Le jeu d’instruction - 2/2

Le jeu d’instruction sera le suivant :

Chargement LDA#cste 0000 XXXX LDA$adr 0001 XXXX Sauvegarde STA$adr 0011 XXXX Addition ADDA#cste 0100 XXXX ADDA$adr 0101 XXXX Soustraction SUBA#cste 0110 XXXX SUBA$adr 0111 XXXX ET logique ANDA#cste 1000 XXXX ANDA$adr 1001 XXXX D´ecalage gauche ROLA#cste 1010 XXXX D´ecalage droite RORA#cste 1100 XXXX Remise `a z´ero RST#cste 1110 XXXX

(14)

S´ equenceur microprogramm´ e

Traitement d’une instruction - 1/2

Cas d’une architecture MIPS32 (microprocessor without interlocked pipeline stages)

Sur 32 bits

Dans l’application que nous allons d´evelopper, nous nous limiterons `a8 instructionset `a desop´erandes de 4 bits.

instruction adr Op´erande

oc2 oc1 oc0 ad op3 op2 op1 op0

3 bits 1 bit 4 bits

(15)

S´ equenceur microprogramm´ e

Traitement d’une instruction - 1/2

Cas d’une architecture MIPS32 (microprocessor without interlocked pipeline stages)

Sur 32 bits

Dans l’application que nous allons d´evelopper, nous nous limiterons `a8 instructionset `a desop´erandes de 4 bits.

instruction adr Op´erande

oc2 oc1 oc0 ad op3 op2 op1 op0

3 bits 1 bit 4 bits

(16)

S´ equenceur microprogramm´ e

Traitement d’une instruction - 2/2

1 FETCH:recherche l’instruction suivante dans la m´emoire, emplacement d´etermin´e par lecompteur programme;

2 DECODE:d´ecoupe l’instructionen plusieurs parties telles qu’elles puissent ˆ

etre trait´ees par d’autres ´el´ements du processeurs ;

3 EXECUTE:ex´ecute l’instructionen mettant en relation les diff´erents ´el´ements du processeur : pour une addition par exemple, les entr´ees de l’ALU seront connect´ees aux donn´ees ;

4 WRITEBACK:´ecrit le r´esultat dans des registres internes.

Certaines instructions manipulent directement le compteur de programme. Elles sont appel´ees sauts(non abord´ees ici).

(17)

S´ equenceur microprogramm´ e

Traitement d’une instruction - 2/2

1 FETCH:recherche l’instruction suivante dans la m´emoire, emplacement d´etermin´e par lecompteur programme;

2 DECODE:d´ecoupe l’instructionen plusieurs parties telles qu’elles puissent ˆ

etre trait´ees par d’autres ´el´ements du processeurs ;

3 EXECUTE:ex´ecute l’instructionen mettant en relation les diff´erents ´el´ements du processeur : pour une addition par exemple, les entr´ees de l’ALU seront connect´ees aux donn´ees ;

4 WRITEBACK:´ecrit le r´esultat dans des registres internes.

Certaines instructions manipulent directement le compteur de programme. Elles sont appel´ees sauts(non abord´ees ici).

(18)

S´ equenceur microprogramm´ e

Traitement d’une instruction - 2/2

1 FETCH:recherche l’instruction suivante dans la m´emoire, emplacement d´etermin´e par lecompteur programme;

2 DECODE:d´ecoupe l’instructionen plusieurs parties telles qu’elles puissent ˆ

etre trait´ees par d’autres ´el´ements du processeurs ;

3 EXECUTE:ex´ecute l’instructionen mettant en relation les diff´erents ´el´ements du processeur : pour une addition par exemple, les entr´ees de l’ALU seront connect´ees aux donn´ees ;

4 WRITEBACK:´ecrit le r´esultat dans des registres internes.

Certaines instructions manipulent directement le compteur de programme. Elles sont appel´ees sauts(non abord´ees ici).

(19)

S´ equenceur microprogramm´ e

Traitement d’une instruction - 2/2

1 FETCH:recherche l’instruction suivante dans la m´emoire, emplacement d´etermin´e par lecompteur programme;

2 DECODE:d´ecoupe l’instructionen plusieurs parties telles qu’elles puissent ˆ

etre trait´ees par d’autres ´el´ements du processeurs ;

3 EXECUTE:ex´ecute l’instructionen mettant en relation les diff´erents ´el´ements du processeur : pour une addition par exemple, les entr´ees de l’ALU seront connect´ees aux donn´ees ;

4 WRITEBACK:´ecrit le r´esultat dans des registres internes.

Certaines instructions manipulent directement le compteur de programme. Elles sont appel´ees sauts(non abord´ees ici).

(20)

S´ equenceur microprogramm´ e

Traitement d’une instruction - 2/2

1 FETCH:recherche l’instruction suivante dans la m´emoire, emplacement d´etermin´e par lecompteur programme;

2 DECODE:d´ecoupe l’instructionen plusieurs parties telles qu’elles puissent ˆ

etre trait´ees par d’autres ´el´ements du processeurs ;

3 EXECUTE:ex´ecute l’instructionen mettant en relation les diff´erents ´el´ements du processeur : pour une addition par exemple, les entr´ees de l’ALU seront connect´ees aux donn´ees ;

4 WRITEBACK:´ecrit le r´esultat dans des registres internes.

Certaines instructions manipulent directement le compteur de programme. Elles sont appel´ees sauts(non abord´ees ici).

(21)

S´ equenceur microprogramm´ e

Traitement d’une instruction - 2/2

1 FETCH:recherche l’instruction suivante dans la m´emoire, emplacement d´etermin´e par lecompteur programme;

2 DECODE:d´ecoupe l’instructionen plusieurs parties telles qu’elles puissent ˆ

etre trait´ees par d’autres ´el´ements du processeurs ;

3 EXECUTE:ex´ecute l’instructionen mettant en relation les diff´erents ´el´ements du processeur : pour une addition par exemple, les entr´ees de l’ALU seront connect´ees aux donn´ees ;

4 WRITEBACK:´ecrit le r´esultat dans des registres internes.

Certaines instructions manipulent directement le compteur de programme. Elles sont appel´ees sauts(non abord´ees ici).

(22)

R´ ealisation

(23)

R´ ealisation

Ce processeur sera ensuite utiliser dans le cadre d’une application simple mettant en jeu :

une ROM (pour le programme) ; deux p´eriph´eriques distincts.

Références

Documents relatifs

• Réaliser et tester chaque fonctionnalité d’un systeme complexe.. • Laisser plus de libertés dans le choix des méthodes

Bonne alternative aux circuits sp´ ecifiques, les ASIC (Application Specific Integrated Circuit), pour des petites ou moyennes s´ eries.. CPLD Complex Programmable Logic Device

- Complex Instruction Set Computering - 2000 instructions différentes... JULIEN VILLEMEJANE / IOGS /

Que vaut la p´ eriode de sortie T M LI par rapport ` a la fr´ equence d’entr´ ee F OSC en fonction du nombre de bits de sortie du compteur et la valeur de pr´ edivision P REDIV

Ce bloc devra renvoyer les signaux de couleurs (outRed, outGreen, outBlue) en fonction de la position du pixel s´ electionn´ e (Hcnt,Vcnt) selon la couleur voulue (sur 8 bits)....

Connaître un langage de haut niveau de description matérielle Savoir interpréter des résultats simples d’implémentation logique sur une architecture cible choisie.. Savoir

La description d’un système numérique par le biais du langage VHDL passe par 3 étapes différentes :. la déclaration des ressources externes

3 EXECUTE : ex´ ecute l’instruction en mettant en relation les diff´ erents ´ el´ ements du processeur : pour une addition par exemple, les entr´ ees de l’ALU seront connect´