Sunteți pe pagina 1din 30

UNIVERSITÉ DE BOUMERDES

FACULTÉ DES SCIENCES


DÉPARTEMENT DE PHYSIQUE
LABORATOIRE D’INFOTRONIQUE

« PROGRAMMATION » VHDL
« S’initier pour bien maîtriser »

Mme H.BOUMERIDJA

Année Universitaire 2010 – 2011 1


PLAN DU COURS

1. INTRODUCTION À LA CONCEPTION AVEC VHDL.


2. UNITÉS DE CONCEPTION EN VHDL.
3. SPÉCIFICATION DE L’INTERFACE A A .
OBJETIFS SPÉCIFIQUES
 CONNAÎTRE LES PRINCIPAUX AVANTAGES
QU’APPORTE VHDL AU CONCEPTEUR DE
SYSTÈMES DIGITAUX.
 SAVOIR UTILISER LES ÉLÉMENTS DE BASE DU
LANGAGE.
 CONNAÎTRE LES SÉMANTIQUES PRINCIPALES
DU LANGAGE.
 APPRENDRE LES DIFFÉRENTES
MÉTHODOLOGIES DE CONCEPTION QU’OFFRE
VHDL.
Année Universitaire 2010 – 2011 3
I. INTRODUCTION À LA CONCEPTION AVEC VHDL
AVANT VHDL

DOMAINE D'APPLICATION : UTILISATION DU LANGAGE


VHDL

C’EST QUOI VHDL?

FLOT DE CONCEPTION BASÉ SUR VHDL

LES CHAÎNES DE DÉVELOPPEMENT VHDL

Année Universitaire 2010 – 2011 4


AVANT VHDL
VHDL EST UN LANGAGE DÉDIÉ À LA DESCRIPTION DU HARDWARE. IL
S’AVÈRE NÉCESSAIRE VU QUE LES MÉTHODES CLASSIQUES BASÉES
PRINCIPALEMENT SUR LA SAISIE DU SCHÉMA SONT INEFFICACES LORS
DE LA CONCEPTION À GRANDE ÉCHELLE D’INTÉGRATION.

AVANT VHDL, LES MÉTHODES DE CONCEPTION UTILISÉES SE BASAIENT


SUR LES ÉQUATIONS BOOLÉENNES ET SCHÉMATIQUES.

UNE CONCEPTION UTILISANT LES ÉQUATIONS BOOLÉENNES EXIGE


L’ÉCRITURE D’UNE ÉQUATION POUR CHAQUE FLIP-FLOP.

CE N’EST PAS PRATIQUE POUR DES CIRCUITS CONTENANT PLUSIEURS


CENTAINES DE FLIP-FLOPS.
Année Universitaire 2010 – 2011 5
AVANT VHDL…

PLUSIEURS CONCEPTEURS PRÉFÈRENT LES


REPRÉSENTATIONS GRAPHIQUES MONTRANT
CLAIREMENT LES RELATIONS ENTRE LES
DIFFÉRENTS BLOCS D’UNE CONCEPTION.

C’ÉTAIT UNE MÉTHODE OPTIMALE POUR LA


CONCEPTION DES SYSTÈMES DIGITAUX…

Année Universitaire 2010 – 2011 6


MAIS LES INCONVÉNIENTS DES MÉTHODES
TRADITIONNELLES…

AVEC LES MÉTHODES TRADITIONNELLES, LA VÉRIFICATION DU


RÉSULTAT FINAL DEVIENT TRÈS COMPLIQUÉ.

TRAITER DES CENTAINES D’ÉQUATIONS EST DIFFICILE;


CEPENDANT POUR DES MILLIERS D’ÉQUATIONS CELA DEVIENT
IMPOSSIBLE.

LES SCHÉMATIQUES CONTENANT PLUSIEURS CENTAINES DE


PORTES PEUVENT ÊTRE TRAITER MAIS POUR DES CIRCUITS
INTÉGRÉS AYANT PLUSIEURS MILLIONS DE PORTES ET LEUR
DENSITÉ CONTINUE D’ACCROITRE , CELA SE COMPLIQUE.

Année Universitaire 2010 – 2011 7


SI ON COMPARE ENTRE LES DEUX MÉTHODES…

Année Universitaire 2010 – 2011 8


CEPENDANT LES LANGAGES POUR LA DESCRIPTION DU HARDWARE

LES LANGAGES DE DESCRIPTION DU HARDWARE ÉLIMINENT LA


MAJORITÉ DES INCONVÉNIENTS.

LEUR APPLICATION EST DIRECTE DANS DIFFÉRENTS DISPOSITIFS


PROGRAMMABLES:
PLDs DE DIFFÉRENTES COMPLÉXITÉS, DEPUIS LES SIMPLES
PALs JUSQU’AUX PLUS COMPLEXES CPLDs.
FPGAS : “FIELD PROGRAMABLES GATE ARRAYS”.

ACTUALLEMENT IL EXISTE DIFFÉRENTS LANGAGES HDL, LES


PLUS POPULAIRES SONT: VHDL, VERILOG ET ABEL.
Année Universitaire 2010 – 2011 9
LE DESIGN DIGITAL OU « LA CONCEPTION DIGITALE »
Langages de Description du Hardware HDL

Permettent des descriptions de haut niveau

L’édition est simple et rapide

Supportés par les outils EDA

Année Universitaire 2010 – 2011 10


PLUSIEURS HDL?
De bas niveau: permettent de définir un circuit avec un
niveau architecturel (flipflops, portes, équations logiques)
ABEL, PALASM,CUPL
D’un niveau intermédiaire: en plus permettent de définir en
mode hérarchique; certains permettent l’utilisation de
descriptions de comportement( fonctions arithmétiques,
machine d’états finis)
AHDL ( ALTERA Hardware Description Language)
D’un haut niveau: en plus donnent la possiblité d’un niveau
meilleur d’abstraction, sinon qu’en plus utilisés pour la
simulation, pour la synthèse
VHDL, VERILOG
Année Universitaire 2010 – 2011 11
HDLs STANDARD HAUT NIVEAU: VHDL

LE VHDL EST UN STANDARD IEEE(1) DEPUIS 1987 SOUS LA


DÉNOMINATION IEEE STD. 1076-1987 (VHDL-87).

IL EST SUJET À UNE NOUVELLE VERSION TOUS LES CINQ ANS.

UNE PREMIÈRE RÉVISION QUI CORRIGE CERTAINES INCOHÉRENCES DE


LA VERSION INITIALE ET QUI AJOUTE DE NOUVELLES
FONCTIONNALITÉS, A EU LIEU EN 1994 (IEEE STD. 1076-1993, VHDL-
93).

LA DERNIÈRE VERSION EST CELLE DE 2002 (IEEE STD. 1076-2002, VHDL-


2002).

(1) L’IEEE (Institute of Electrical and Electronics Engineers) est un organisme international qui définit entre
autres des normes pour la conception et l’usage de systèmes électriques et électroniques.
Année Universitaire 2010 – 2011 12
NIVEAUX DE DESCRIPTION DES SYSTÈMES

* Note: En orange, les niveaux que peuvent être décrits par VHDL.
13
Année Universitaire 2010 – 2011
QUELQUES GÉNÉRALITÉS
VHDL est fortement typé: les objets doivent être
définis(nom et type) avant d’être utilisés et les
opérations doivent respecter de façon stricte le type
d’opérande et résultats.
VHDL ne différencie pas entre les majuscules et les
minuscules.

VHDL permet d’utiliser du texte en mode commentaire


dans le programme dont le compilateur l’ignorera
après…

Année Universitaire 2010 – 2011 14


« C’EST QUOI VHDL ? »

C’EST UN ACRONYME:
“V” EST POUR VERY HIGH SPEED INTEGRATED CIRCUIT ( CIRCUIT
INTEGRÉ À TRÈS GRANDE VITESSE),
ET

HDL SIGNIFIE LANGAGE POUR LA DESCRIPTION DU HARDWARE.

PREMIER PIONNER EST LA DOD ( USA).

LES PREMIÈRES UTILISATIONS: DOCUMENTATION, MODÉLISATION ET


SIMULATION DES DISPOSITIFS ÉLECTRONIQUES.

LES SIMULATEUR DE VHDL ONT SURGI DANS LES ANNÉES 90.

VHDL N’A PAS ÉTÉ CRÉE POUR LA SYNTHÈSE.


Année Universitaire 2010 – 2011 15
POURQUOI UN LANGAGE DE DESCRIPTION ?

• Portabilité des descriptions VHDL => possibilité de cibler une


description VHDL dans le composant ou la structure que l'on
souhaite en utilisant l'outil que l'on veut (la description
s'intègre dans le composant choisi et l'outil utilisé possède
une entrée VHDL).

• Conception de haut niveau, qui se “limite” à une description


comportementale directement issue des spécifications
techniques du produit que l'on souhaite obtenir.

Année Universitaire 2010 – 2011 16


EN PLUS…CARACTERISTIQUES
LANGAGE STRUCTURÉ.

LANGAGE UNIQUE TOUT AU LONG DU PROCESSUS DE CONCEPTION:

MODÉLISATION, SIMULATION, SYNTHÈSE, VÉRIFICATION

STANDARD IEEE STABILITÉ ET SUPPORT

INDÉPENDANCE DE LA TECHNOLOGIE, IMPLÉMENTATION ET CAO

RÉUTILISATION DU CODE HDL

SUPPORTE DIFFÉRENTS NIVEAUX D’ABSTRACTION


• FONCTIONNEL ( NIVEAU ALGORITHMIQUE)
 ARCHITECTUREL ( TRANSFERT DE REGISTRES)

 LOGIQUE ( NIVEAU PORTES LOGIQUES )


Année Universitaire 2010 – 2011 17
CONCEPTION DESCENDANTE

Année Universitaire 2010 – 2011 18


VHDL ET SES NIVEAUX D’ABSTRACTION

Fonctionnelle ou
Comportementale

Synthèse
Comportementale

Architecturelle ou
RTL

Synthèse
Logique

Logique ou de
portes
Année Universitaire 2010 – 2011 19
CEPENDANT…IL Y A DES LIMITATIONS

Évolution lente: chaque 5-6 années

Permet la description du hardware digital:

Portes logiques,
Systèmes complexes.

Année Universitaire 2010 – 2011 20


LES CHAÎNES DE DÉVELOPPEMENT VHDL

UNE CHAÎNE DE DÉVELOPPEMENT VHDL INCLUS DIFFÉRENTS ÉLÉMENTS, UN


ÉDITEUR DE CODE (SOUVENT UN ÉDITEUR DE TEXTE), UN COMPILATEUR
(VÉRIFICATIONS SYNTAXIQUES), UN SYNTHÉTISEUR (DÉCOMPOSITION EN
FONCTIONS LOGIQUES COMPATIBLE AVEC LA CIBLE), UN "FITTER" (OUTIL DE
PROGRAMMATION DES COMPOSANTS).

A CELA S'AJOUTE EN GÉNÉRAL DES SIMULATEURS.

ON DÉFINIT DEUX TYPES DE SIMULATION, D'UNE PART LA SIMULATION


FONCTIONNELLE (LE CODE RÉPOND-IL AUX ATTENTES DU CAHIER DES CHARGES
AU NIVEAU DE LA FONCTIONNALITÉ),

D'AUTRE PART ,

LA SIMULATION TEMPORELLE (LA RÉALISATION RESPECTERA T-ELLE LES TEMPS


DE RÉACTION, PROPAGATION ET MAINTIEN IMPOSÉS PAR LE COMPOSANT).

Année Universitaire 2010 – 2011 21


EN GÉNÉRAL…

Année Universitaire 2010 – 2011 22


DOMAINES D'APPLICATION :
UTILISATION DU LANGAGE VHDL

 CONCEVOIR DES ASIC,

 PROGRAMMER DES COMPOSANTS


PROGRAMMABLES DU TYPE PLD, CPLD ET FPGA,

 CONCEVOIR DES MODÈLES DE SIMULATIONS


NUMÉRIQUES OU DES BANCS DE TESTS.

Année Universitaire 2010 – 2011 23


EN RÉSUMÉ

VHDL DÉCRIT DES CIRCUITS,

IL LES MODÉLISE À UN NIVEAU PUREMENT


FONCTIONNEL,

IL LES SYNTHÉTISE, C’EST-À-DIRE À LES


TRADUIRE EN UN SCHÉMA LOGIQUE.

Année Universitaire 2010 – 2011 24


LES QUATRE COMMANDEMENTS EN VHDL*
J.O. KLEIN, IUT de CACHAN
1ER COMMANDEMENT : AU CIRCUIT TOUJOURS TU PENSERAS.

VHDL EST UN LANGAGE DE DESCRIPTION ET NON DE


PROGRAMMATION.
LE CONCEPTEUR DOIT TOUJOURS AVOIR EN TÊTE
LʼARCHITECTURE DU CIRCUIT QU'IL VEUT RÉALISER.
EN PARTICULIER, IL FAUT SAVOIR SI LA DESCRIPTION
CORRESPOND À DES ÉLÉMENTS COMBINATOIRES,
SÉQUENTIELS SYNCHRONES OU SÉQUENTIELS ASYNCHRONES.
ENFIN, DEUX DESCRIPTIONS APPAREMMENT ÉQUIVALENTES
PEUVENT MENER À DES CIRCUITS DE COMPLEXITÉS TRÈS
DIFFÉRENTES.
PAR EXEMPLE, REMETTRE À ZÉRO UN COMPTEUR LORSQU’IL
ATTEINT EXACTEMENT UNE VALEUR OU LORSQU’IL DÉPASSE
UNE VALEUR VA CONDUIRE À DEUX CIRCUITS DE COMPLEXITÉ
FORT DIFFÉRENTES.
Année Universitaire 2010 – 2011 25
LES QUATRE COMMANDEMENTS EN VHDL*
J.O. KLEIN, IUT de CACHAN
4ÈME COMMANDEMENT :
POUR DU COMBINATOIRE, DANS UN PROCESSUS AUCUN CAS TU N OUBLIERAS.

DANS UN PROCESSUS, PAR DÉFAUT UN SIGNAL CONSERVE SON ÉTAT, CE


QUI CORRESPOND À UN COMPORTEMENT DE LOGIQUE SÉQUENTIELLE
ASYNCHRONE.
SI ON VEUT QUʼUN SIGNAL SOIT UNE FONCTION COMBINATOIRE DE SES
ENTRÉES, IL FAUT QUʼIL LUI SOIT SYSTÉMATIQUEMENT AFFECTÉ UNE
VALEUR (À CHAQUE CYCLE DE SIMULATION).
SI, DANS UNE BRANCHE DʼUN TEST (UN «IF» PAR EXEMPLE), UN SIGNAL
EST AFFECTÉ, IL FAUT QUʼIL LE SOIT AUSSI DANS LES AUTRES (LE «ELSE»
DANS NOTRE EXEMPLE).
A DÉFAUT, LORSQUE LE TEST NʼEST PAS VÉRIFIÉ, RIEN NE SE PASSE POUR CE
SIGNAL ; IL CONSERVE DONC SA VALEUR ET CORRESPOND AINSI À UN
COMPORTEMENT SÉQUENTIEL, IMPLIQUANT LA PRÉSENCE D'UNE BASCULE
POUR MÉMORISER CET ÉTAT.

Année Universitaire 2010 – 2011 28


VHDL EST UN LANGAGE FORTEMENT TYPÉ

LORS DʼUNE AFFECTATION LA PARTIE GAUCHE ET


LA PARTE DROITE DE LʼAFFECTATION DOIVENT
ÊTRE STRICTEMENT DE MÊME TYPE.
LE TYPE LE PLUS SIMPLE EST LʼENTIER 32 BITS
(INTEGER), À PARTIR DUQUEL EST DÉFINI
LʼENTIER NATUREL (NATURAL) COMME ÉTANT SA
RESTRICTION AUX ENTIERS POSITIFS OU NULS :
SUBTYPE NATURAL IS INTEGER RANGE 0 TO
INTEGERʼHIGH;

Année Universitaire 2010 – 2011 29


ANNEXE: CASE SENSITIVE
“case sensitive” : il n’y a pas d’importance entre les majuscules
et les minuscules
Les identifications doivent débuter par une lettre (et non un
chiffre).
Les instructions se terminent par : ;
Les commentaires sont précédés par : ‐‐
Les assignations pour les signaux : <=
Les assignations de variables : :=
Assignations de bus : “…”
Assignation de bit : ‘…’
Signal: assignation de type time value (en tout temps)
Variable : similaire au C (int, real, char,etc)

Année Universitaire 2010 – 2011 30

S-ar putea să vă placă și