Vous êtes sur la page 1sur 21

TP : PROGRAMMATION

VHDL ET
IMPLEMENTATION SUR
CIRCUIT FPGA

DATE \@ "d MMMM" \* MERGEFORMAT 8


janvier

Encadrée par: Monsieur AZZEDIN KHETTAB


Créé par :
YOUSSEF ZOUITEN _ AYMANE AIT ARAB

1
 TABLE DES FIGURES :

FIGURE 1 KIT CYCLONE D2..................................................................................................................5


FIGURE 2 CREATION DU FILE..................................................................................................................6
FIGURE 3 CRÉATION DU PROJET................................................................................................................7
FIGURE 4 CODE VHDL DE ADD.............................................................................................................7
FIGURE 5 COMPILATION CORRECT DU PROGRAM....................................................................................8
FIGURE 6 LES PATTES DU FPGA RELIÉES AUX SWITCHS.........................................................................8
FIGURE 7 ASSIGNEMENTS DU QUARTUS II...............................................................................................9
FIGURE 8 SIMULATION MODEL SIM ALTERA...............................................................................9
FIGURE 9 PROGRAMMATION DU FPGA.................................................................................................10
FIGURE 10 CODE VHDL DU BCD 7 SEG..............................................................................................10
FIGURE 11 LES PATTES DU FPGA RELIÉES AUX SWITCHS.....................................................................10
FIGURE 12 LES PATTES RELIÉES AUX AFFICHEURS SONT.......................................................................11
FIGURE 13 ASSIGNEMENTS DU QUARTUS II...........................................................................................11
FIGURE 14 PROGRAMMATION DU FPGA...............................................................................................12
FIGURE 15 SCHÉMA DE DEC 7 SEG.......................................................................................................12
FIGURE 16 CODE VHDL DE ADDITIONNEUR 8BITS...............................................................................13
FIGURE 17 ASSIGNEMENT DE FPGA......................................................................................................13
FIGURE 18 PROGRAMMATION DU FPGA...............................................................................................14
FIGURE 19 SCHÉMA DE ADDITIONNEUR 8BIT.........................................................................................14
FIGURE 20 CODE VHDL BASCULE JK....................................................................................................15
FIGURE 21 ASSIGNEMENT DE BASCULE JK.............................................................................................15
FIGURE 22 PROGRAMMATION DU FPGA..............................................................................................16
FIGURE 23 SCHÉMA DE BASCULE JK.......................................................................................................16
FIGURE 24 CODE VHDL DE COMPTEUR 4BIT.........................................................................................17
FIGURE 25 ASSIGNEMENT DE COMPTEUR 4BIT.......................................................................................17
FIGURE 26 PROGRAMMATION DU FPGA...............................................................................................18
FIGURE 27 SCHÉMA DE COMPTEUR 4BIT................................................................................................18
FIGURE 28 CODE VHDL DE DIVISEUR....................................................................................................19
FIGURE 29 ASSIGNEMENT DE DIVISEUR..................................................................................................19
FIGURE 30 PROGRAMMATION DU FPGA...............................................................................................20
FIGURE 31 SCHÉMA DE DIVISEUR............................................................................................................20
FIGURE 32 SCHÉMA DU SYNTHÉS...........................................................................................................21
FIGURE 33 CODE VHDL DU SYNTHÈSE..................................................................................................21
FIGURE 34 ASSIGNEMENT DU SYNTHÈSE................................................................................................22
FIGURE 35 PROGRAMMATION DU FPGA...............................................................................................23
FIGURE 36 SCHÉMA DU SYNTHÈSE..........................................................................................................23

2
I. PROGRAMMATION VHDL ET IMPLEMENTATION SUR CIRCUIT FPGA DES
CIRCUITS LOGIOUES COMBINATOIRES

1. BUT DE LA MANIPULATION
Le but de Cette manipulation est de Programmer en VHDL des fonctions électroniques de
base: multiplexeur, additionneur, compteur, . et d'implanter ces programme sur les circuits
FPGA en utilisant les kits VHDL de type Cyclone DE2.

2. CARACTERISTIQUES DU KIT CYCLONE 11

Figure 1 KIT CYCLONE D2

La carte utilise un gros FPGA comme cœur et dispose de mémoires (SRAM, SDRAM et
Flash), de convertisseurs CAN et CNA audio, vidéo et TV , ainsi que des interfaces IrDA,
Ethernet et IISB. Pour I T IHM (Interface Homme Machine), elle est aussi munie
d'afficheurs LED et LCD et d'un grand nombre de boutons poussoirs. Voici la
description de ces éléments :
Cœur :
FPGA : (Cyclone 11 EP2C35F672C6) : 33216 cellules (LE) utilisables dans un boitier de 672
broches (PGA) ; il s'agit du centre nerveux de la carte,
Flash de configuration : EPCS16 : cette mémoire permet de stocker de maniére non-volatile
la configuration du FPGA,
Horloges : Oscillateurs DE2 interne 27 et 50 MHz ou externe sur l'entrée BNC (SMA).
Mémoire .
FLASH (S29AL032D) : 4 Mo
SDRAM (1S42S16400-8) : 8 Mo
SRAM (61LV25616) : 512 ko
Lecteur de carte SD

Périphériques :
Codec Audio (WM8731) : 24 bits mono (8 - 96 kHz),

3
Décodeur Vidéo[TV (ADV7181B) : NTSC[PAL 50[60 Hz,
Convertisseur VGA (ADV7123) : jusqu'_a une résolution de 1600x1200 à 100 Hz.
Entrées[Sorties :
Port USB BLASTER pour la programmation du FPGA.
2 Connecteurs LISB 2.0 de types A (host) et B (device).
Connecteur RS232 (type DB9) : pour la communication série,
Connecteur Ethernet 10/100 Mbits : type RJ45, contrôleur : DMA9000A, full duplex,
Connecteur Clavier[Souris : type PS/2,
Connecteurs d'extension : 2 connecteurs HEIO-40b (72 signaux utilisables),
Module IrDA : Emission/Réception infra-rouge (jusqu'a 115,2 kbauds).
Interface IHM:
Boutons : 18 interrupteurs à 2 positions et 4 boutons poussoirs,
Voyants LED : 18 LED rouges et 9 LED vertes,
Afficheurs : 8 digits 7-Segments et 1 module LCD (2 lignes de 16 caractères).

3. MANIPULATION DU LOGICIEL QUARTUS


a. Création du projet
Démarrer Quartus II. Puis cliquer sur File -> New Project Wizard, et une succession de
fenêtre apparaissent
La première fenêtre permet :
le nom du projet : ADD le nom de l'entité de plus haut niveau : ADD et cliquer sur Next.

Figure 2 Creation du file

Ensuite nous donnons la référence du circuit. Dans Family, sélectionner Cyclone II puis
nous avons choisi le EP2C35F672C6. Puis nous cliquons sur Next.
Puis dans la fenêtre suivante, nous avons choisi Model-sim altera et à nouveau cliquer sur
Next. Enfin cliquer surFinish.

4
Figure 3 création du projet

4. Synthèse du circuit par le langage VHDL


a. lere étape : Saisie du code VHDL
Ecrire le code VHDL du circuit et Enregistrer notre fichier (sous le nom ADD).

Figure 4 code VHDL de ADD

b. 2ème étape : Compilation

Cliquer sur Processing -s Start Compilation.

5
Figure 5 compilation correct du program

c. 3eme étape : Assignation des entrées/sorties (Pin Assignement)


Cette étape consiste à indiquer quelles pattes du FPGA correspondront aux entrées/sorties.
Certaines de ces pattes sont reliées à un interrupteur, un bouton poussoir ou une Led : leurs
références sont indiqués sur les tableaux et schéma du kit CYCLONE DE2.

Figure 6 Les pattes du FPGA reliées aux switchs

Pour cela cliquer sur Assignements->Pin Planner

6
Figure 7 assignements du Quartus II

d. 4eme étape : Simulation avec Model-Sim Altera ]


Ou bien Cliquer QTools -> EDA Simulation Tools -> Run EDA Gate Level Simulation choisir
"slow model" Ce qui va lancer le simulateur en mode "gate level"

Figure 8 SIMULATION MODEL SIM ALTERA

e. 5ème étape : programmation du FPGA


Il s'agit maintenant de programmer notre composant.
Cliquer sur Tool -> Programmer on cliquer sur Hardware Setup.
Cocher la case : Program Configure

7
Figure 9 programmation du FPGA

f. 6eme étape : test


On réalise le test dans la classe avec la carte FPGA

II. REALISATION DES CIRCUITS LOGIQUES COMBINATOIRES

1. a- Décodeur BCD/7segment.

a. lere étape : Saisie du code VHDL


Ecrire le code VHDL du circuit et Enregistrer notre fichier

Figure 10 code VHDL du BCD 7 SEG

b. 2eme étape : Assignation des entrées/sorties (Pin Assignement)


Les pattes du FPGA reliées aux switches sont

8
Figure 11 Les pattes du FPGA reliées aux switchs

Les pattes reliées aux afficheurs sont

Figure 12 Les pattes reliées aux afficheurs sont

L’assignement du logiciel Quartus est le suivant

Figure 13 assignements du Quartus II

c. 3ème étape : programmation du FPGA


Il s'agit maintenant de programmer notre composant.
Cliquer sur Tool -> Programmer on cliquer sur Hardware Setup.
Cocher la case : Program Configure

9
Figure 14 programmation du FPGA

d. 4ème étape : vérification de schéma

Figure 15 schéma de DEC 7 SEG

2. b- Additionneur de nombres A et B de 8bits


a. l étape : Saisie du code VHDL
ere

Ecrire le code VHDL du circuit et Enregistrer notre fichier

10
Figure 16 code VHDL de additionneur 8bits

b. 2eme étape : Assignation des entrées/sorties (Pin Assignement)

L’assignement du logiciel Quartus est le suivant

Figure 17 assignement de FPGA

c. 3ème étape : programmation du FPGA


Il s'agit maintenant de programmer notre composant.
Cliquer sur Tool -> Programmer on cliquer sur Hardware Setup.
Cocher la case : Program Configure

11
Figure 18 programmation du FPGA

d. 4ème étape : vérification de schéma

Figure 19 schéma de additionneur 8bit

III. PROGRAMMATION VHDL ET IMPLEMENTATION SUR CIRCUITFPGA DES


CUIRCUITS LOGIQUES SEQUENTIELS

1. BUT DE LA MANIPULATION
Le but de Cette manipulation est de Programmer en VHDL des circuits logiques séquentiels
de base: bascule, registre, compteur, .. et d'implanter ces programme sur les circuits FPGA en
utilisant les kits VHDL de type Cyclone
DE2.

2. REALISATION DES CIRCUITS LOGIQUES SEQUENTIELS :


a. Bascule JK
lere étape : Saisie du code VHDL

12
Figure 20 code VHDL bascule JK

2eme étape : Assignation des entrées/sorties (Pin Assignement)

L’assignement du logiciel Quartus est le suivant

Figure 21 assignement de bascule JK

3ème étape : programmation du FPGA


Il s'agit maintenant de programmer notre composant.
Cliquer sur Tool -> Programmer on cliquer sur Hardware Setup.
Cocher la case : Program Configure

13
Figure 22 programmation du FPGA

4ème étape : vérification de schéma

Figure 23 schéma de bascule Jk

b. Compteur décimal de 4bits


lere étape : Saisie du code VHDL

14
Figure 24 code VHDL de compteur 4bit

2eme étape : Assignation des entrées/sorties (Pin Assignement)

L’assignement du logiciel Quartus est le suivant

Figure 25 assignement de compteur 4bit

3ème étape : programmation du FPGA


Il s'agit maintenant de programmer notre composant.
Cliquer sur Tool -> Programmer on cliquer sur Hardware Setup.
Cocher la case : Program Configure

15
Figure 26 programmation du FPGA

4ème étape : vérification de schéma

Figure 27 schéma de compteur 4bit

c. Diviseur / 27000000
lere étape : Saisie du code VHDL

Figure 28 code VHDL de diviseur

2eme étape : Assignation des entrées/sorties (Pin Assignement)

L’assignement du logiciel Quartus est le suivant


16
Figure 29 assignement de diviseur

3ème étape : programmation du FPGA


Il s'agit maintenant de programmer notre composant.
Cliquer sur Tool -> Programmer on cliquer sur Hardware Setup.
Cocher la case : Program Configure

17
Figure 30 programmation du FPGA

4ème étape : vérification de schéma

Figure 31 schéma de diviseur

IV. SYNTHESE

Nous voulons réaliser ce schéma

Figure 32 schéma du synthés

lere étape : Saisie du code VHDL

18
Figure 33 code VHDL du synthèse

Nous avons écrire ce code VHDL avec la fonction component PORT MAP
Nous avons utiliser les codes de diviseur et de compteur 4 bits et aussi décodeur BCD
Puis on déplace les fichiers des de ces programmes on fichier de synthèse

2eme étape : Assignation des entrées/sorties (Pin Assignement)

L’assignement du logiciel Quartus est le suivant

19
Figure 34 assignement du synthèse

3ème étape : programmation du FPGA


Il s'agit maintenant de programmer notre composant.
Cliquer sur Tool -> Programmer on cliquer sur Hardware Setup.
Cocher la case : Program Configure

Figure 35 programmation du FPGA

4ème étape : vérification de schéma

20
Figure 36 schéma du synthèse

Nous avons bien réaliser le schéma du synthèse , après la suivie des étapes du manipulation .

21

Vous aimerez peut-être aussi