Presentation VHDL Intro

34
F.CAIGNET Les circuits logiques programmables - FPGA 1 Introduction aux outils et langages de conception des systèmes numériques Fabrice CAIGNET LAAS - CNRS [email protected] http://www.laas.fr/~fcaignet/

Transcript of Presentation VHDL Intro

F.CAIGNET

Les circuits logiques programmables - FPGA

1

Introduction aux outils et langages

de conception des systèmes

numériques

Fabrice CAIGNETLAAS - [email protected]://www.laas.fr/~fcaignet/

F.CAIGNET

Les circuits logiques programmables - FPGA

2

Contenu :

I. Le VHDL : introductionII. Le VHDL : sémantiqueIII. Introduction à la conception de systèmes

numériquesIV. Introduction aux FPGAsV. Présentation des convertisseurs numériquesVI. Présentation d’un bus de communication

dédié : le bus CAN

F.CAIGNET

Les circuits logiques programmables - FPGA

3

Introduction au langage VHDL

VHSIC ( Very High Speed Integrated Circuit)

HardwareDescription

Language

But : Langage de description matérielle

• Augmentation de la vitesse de conception des circuits

• Simulation rapide

• Langage de programmation tel ADA, C, Pascal

F.CAIGNET

Les circuits logiques programmables - FPGA

4

Contenu :

I. Le VHDL?

II. Organisation d’un modèle VHDL

III. La conception en VHDL

F.CAIGNET

Les circuits logiques programmables - FPGA

5

I. Le VHDL?Conception de systèmes complexes

Permet la modélisation de grands ensembles électroniques oulogiques en conservant un certain niveau d’abstraction

Systèmecomplexe

Porte élémentaire

Composant

Com

plexité

• Composant élémentaire(Porte)

• Circuit intégré(Microprocesseur)

• Carte - système(calculateur)

• Processus(système de navigation)

F.CAIGNET

Les circuits logiques programmables - FPGA

6

I. Le VHDL?

Pourquoi le VHDL ?

Standard IEEE (ref. IEEE Std 1164 en 93)

Demande des USA en 1980

Normalisation IEEE du VHDL en 1987

Depuis 1987, c’est un standard de descriptionet de modélisation des circuits et systèmeslogiques

Nécessité d’un langage de descriptionnon ambiguë des systèmes matérielsUnicité de la description

Pérennité du modèle

Nombreux outils 100% VHDL (synopsys)

Entrées possibles en VHDL (cadence)

F.CAIGNET

Les circuits logiques programmables - FPGA

7

I. Le VHDL?

Caractéristiques du VHDL• Avantages

• Simulation de systèmes complexes : - Macroscopiques ou microscopiques- Modélisation d’ensembles de circuits

• Description structurée :- Travail en équipe, séparation des taches- Rapidité de conception

• Adaptation aux projets Multi-entreprise : - Indépendance vis à vis de la technologie- Sécurité grâce à des modèles compilés

• Inconvénients

• Description complexe• Tout n’est pas synthétisable (analogique)

Prise en compte avec le VHDL-AMS (1997)

Un langagede

Spécification

Simulation

Conception

F.CAIGNET

Les circuits logiques programmables - FPGA

8

II. Organisation d’un modèle VHDL

Structure d’un modèle VHDL

Nom_du_modèle (signaux d’entrée, signaux de sortie)

Architecture du modèle- définition des signaux- Blocs de description

Trois niveaux de description peuvent être utilisés : Structurelle Comportementale Flot de données

F.CAIGNET

Les circuits logiques programmables - FPGA

9

Modèle VHDLEntité

Structurelle

II. Organisation d’un modèle VHDL

Le modèle peut avoir plusieurs descriptions adaptables à chaque projet

Déclaration d’entité

Architecture 1

Architecture 2

Architecture …

Comportemental

Structure d’un modèle VHDL

Begin If clk =‘1’ then

Sortie<= a or b; End if;End;

F.CAIGNET

Les circuits logiques programmables - FPGA

10

II. Organisation d’un modèle VHDL

Le modèle peut avoir plusieurs descriptions adaptables à chaque projet

Hiérarchisation du VHDL

Modèle VHDLEntité

Structurelle

Déclaration d’entité

Architecture 1

Architecture 2

Architecture …

Comportementale

BeginIf clk =‘1’ thenSortie<= a or b;End if;End;

Structurelle

Entité 1

Entité 2

ModéleModéle

F.CAIGNET

Les circuits logiques programmables - FPGA

11

II. Organisation d’un modèle VHDL

Le système électronique (Entity) est décrit comme un module avec desentrées et des sorties (Port).Ce module est composé de sous modules ou instances connectés entre euxpar des fils (signal)

Description structurelle (Structural description)

Entity Instances(GHI)

G

H

I

Port

A

A

B

B

S S

signal

Entity

La description repose sur une bibliothèque ‘’physique’’ d’instances

F

F.CAIGNET

Les circuits logiques programmables - FPGA

12

II. Organisation d’un modèle VHDL

Description comportementale(Behavioural description or functional description)

Entity

BSF

A

Le système électronique (entity) est décrit comme un ensemble de foncionsou d’algorithmes séquentiels

• Booléennes(bits, bit_vector), entiers (integer)…• Descriptions complexes de fonctions (If… then…..else)• Description temporelle (s<=b after 5ns)

Le VHDL autorise :

Begin If clk =‘1’ then

S<= a or b; End if;End;

Structure de boucles (loop… endloop, While)

Branchement (if… then….else, case… end case)

Appel aux procédures et fonctions

Pas de lien avec une bibliothèque physique

F.CAIGNET

Les circuits logiques programmables - FPGA

13

II. Organisation d’un modèle VHDL

Description de type flot de données(discret event time model description)

• C’est une description qui définit l'évolution des signaux. C’est unedéfinition temporelle des signaux et des évènements.• Cette description permet essentiellement de simuler desstructures qui ont été spécifiées• Elle est définie généralement par l’utilisation d’équationsconcourantes

Déclaration de l’entité

Déclaration del’architecture

Flot de données

F.CAIGNET

Les circuits logiques programmables - FPGA

14

II. Organisation d’un modèle VHDL

Un petit exemple : bascule D - description comportementale

D

H

Q0

0

0

Définition d’une sensibilité de déclenchement

Déclaration de l’entité

Définition des entrées et sorties

Corps d’architecture

Affectation des signaux

F.CAIGNET

Les circuits logiques programmables - FPGA

15

II. Organisation d’un modèle VHDL

Un petit exemple : Oscillateur en anneau - description structurelle

H

D

H

Q0

0

0 D

H

Q1

1

1 D

H

Q2

2

2

Q 2

Déclaration de l’entité

Corps d’architecture

Définition des entrées et sorties

Déclaration d’un composant(Rappel des ports obligatoire)

Instanciation des composants

F.CAIGNET

Les circuits logiques programmables - FPGA

16

II. Organisation d’un modèle VHDL

Un petit exemple : Oscillateur en anneau - description structurelle

H

D

H

Q0

0

0 D

H

Q1

1

1 D

H

Q2

2

2

Q 2

F.CAIGNET

Les circuits logiques programmables - FPGA

17

II. Organisation d’un modèle VHDL

Un petit exemple : Oscillateur en anneau (32 bits)- description structurelle

H

D

H

Q0

0

0 D

H

Q1

1

1 D

H

Q31

31

31

Q 31

Instanciation des composantsDe 1 à 30

grâce à une boucle generate

Instanciation du composant0

Instanciation du composant31

F.CAIGNET

Les circuits logiques programmables - FPGA

18

III. La conception en VHDL

Vue d’ensemble Source VHDLModèle

Compilation

Simulation

Synthèse

Placement routage

Fabricationprogrammation

Bibliothèque fondeurFonctionnelle

Bibliothèque fondeurStructurelle

Détecte les erreurs se syntaxeIncompatibilités des signaux

Tests fonctionnels et temporels

Equations booléennes, mise à plat dela structure, calcul des redondances,schéma équivalent

Optimisation place, temps

Source VHDL

Rétro annotation

F.CAIGNET

Les circuits logiques programmables - FPGA

19

III. La conception en VHDL

Démarche dans maxplusII pour la programmation de FPGA

F.CAIGNET

Les circuits logiques programmables - FPGA

20

III. La conception en VHDL

Démarche dans maxplusII pour la programmation de FPGA

F.CAIGNET

Les circuits logiques programmables - FPGA

21

III. La conception en VHDL

Environnement desaisie dans MaxplusII

F.CAIGNET

Les circuits logiques programmables - FPGA

22

III. La conception en VHDLEnvironnement de saisie dans Quartus

F.CAIGNET

Les circuits logiques programmables - FPGA

23

III. La conception en VHDLEnvironnement de saisie dans Quartus

F.CAIGNET

Les circuits logiques programmables - FPGA

24

III. La conception en VHDL

La simulation dans les environnements VHDL

Description VHDL

Compilation de tous lesmodules VHDL

SimulationPassage dans le domaine temporel

Recherche du premierévénement et desentités activées

Définition de nouveauxsignaux

Simulation des modulesvalides

Résultat Final

Pas de

F.CAIGNET

Les circuits logiques programmables - FPGA

25

III. La conception en VHDLLa simulation dans les environnements VHDL : exempleCombinatoire pure

Compilation de tousles modules VHDL

SimulationPassage dans le domaine temporel

Définition de nouveauxsignaux

Simulation desmodules valides

Recherche du premierévénement et desentités activées

S(t)

A

B

W1

S(t)

A

B

W1

Description VHDL

S(t)

AB

W1

Entity AND

Entity OR

t0

F.CAIGNET

Les circuits logiques programmables - FPGA

26

III. La conception en VHDLLa simulation dans les environnements VHDL : exempleCombinatoire pure

Compilation de tousles modules VHDL

Définition de nouveauxsignaux

Simulation desmodules valides

Recherche du premierévénement et desentités activées

S(t)

A

B

W1

S(t)

A

B

W1

Description VHDL

S(t)

AB

W1

Entity AND

Entity OR

t0

t1

SimulationPassage dans le domaine temporel

Définition de nouveauxsignaux

Simulation desmodules valides

Recherche du premierévénement et desentités activées

F.CAIGNET

Les circuits logiques programmables - FPGA

27

III. La conception en VHDLLa simulation dans les environnements VHDL : exempleCombinatoire pure

Compilation de tousles modules VHDL

Définition de nouveauxsignaux

Simulation desmodules valides

Recherche du premierévénement et desentités activées

S(t)

A

B

W1

S(t)

A

B

W1

Description VHDL

S(t)

AB

W1

Entity AND

Entity OR

t0 t2

t1

SimulationPassage dans le domaine temporel

Définition de nouveauxsignaux

Simulation desmodules valides

Recherche du premierévénement et desentités activées

F.CAIGNET

Les circuits logiques programmables - FPGA

28

La simulation dans les environnements VHDL : exempleCombinatoire pure

Compilation de tousles modules VHDL

Définition de nouveauxsignaux

Simulation desmodules valides

Recherche du premierévénement et desentités activées

S(t)

A

B

W1

S(t)

A

B

W1

Description VHDL

S(t)

AB

W1

Entity AND

Entity OR

t0

t3

t1

SimulationPassage dans le domaine temporel

Définition de nouveauxsignaux

Simulation desmodules valides

Recherche du premierévénement et desentités activées

t2

F.CAIGNET

Les circuits logiques programmables - FPGA

29

III. La conception en VHDLLa simulation dans les environnements VHDL : exempleCombinatoire pure

Compilation de tousles modules VHDL

Définition de nouveauxsignaux

Simulation desmodules valides

Recherche du premierévénement et desentités activées

S(t)

A

B

W1

S(t)

A

B

W1

Description VHDL

S(t)

AB

W1

Entity AND

Entity OR

t0

t4t1

SimulationPassage dans le domaine temporel

Définition de nouveauxsignaux

Simulation desmodules valides

Recherche du premierévénement et desentités activées

t2

t3

F.CAIGNET

Les circuits logiques programmables - FPGA

30

La simulation dans les environnements VHDL : exempleCombinatoire pure

Compilation de tousles modules VHDL

Définition de nouveauxsignaux

Simulation desmodules valides

Recherche du premierévénement et desentités activées

S(t)

A

B

W1

S(t)

A

B

W1

Description VHDL

S(t)

AB

W1

Entity AND

Entity OR

t0 t5

t1

SimulationPassage dans le domaine temporel

Définition de nouveauxsignaux

Simulation desmodules valides

Recherche du premierévénement et desentités activées

t2

t3

t4

F.CAIGNET

Les circuits logiques programmables - FPGA

31

III. La conception en VHDLLa simulation dans les environnements VHDL : exempleCombinatoire pure

Compilation de tousles modules VHDL

Définition de nouveauxsignaux

Simulation desmodules validesRésultat Final

Recherche du premierévénement et desentités activées

S(t)

A

B

W1

S(t)

A

B

W1

Description VHDL

S(t)

AB

W1

Entity AND

Entity OR

t0

t6

t1

SimulationPassage dans le domaine temporel

Définition de nouveauxsignaux

Simulation desmodules valides

Recherche du premierévénement et desentités activées

t2

t3

t4

t5

F.CAIGNET

Les circuits logiques programmables - FPGA

32

III. La conception en VHDL

La simulation dans les environnements VHDL : exemplecompteur synchrone (en anneau)

D

H

Q D

H

Q D

H

Q

H

0

0

0 1

1

1 2

2

2

Q 2

Process (clk)……. If clk’event and clk=‘1’:On calcul toutes les entités en même temps

t0 t1 t2

F.CAIGNET

Les circuits logiques programmables - FPGA

33

III. La conception en VHDL

La simulation dans les environnements VHDL : exemplecompteur asynchrone

Qt11

101

O10

Qt00

Qt+1KJ

H

t

t

t

Q0

Q1

Q2

t

J

H

K

Q J

H

K

Q J

H

K

Q

H

0

0

0

0 1

1

1

1 2

2

2

2

1

1

1

1

1

1

t0 t1 t3 t4 t7

t2 t5

t6

Process (clk)……. If clk’event and clk=‘0’;t8

t9

t10 t11

t12

t13

F.CAIGNET

Les circuits logiques programmables - FPGA

34

III. La conception en VHDL

La simulation dans les environnements VHDL : résumé

Le VHDL permet une simulation évènementiel

Rapidité de simulationSimulation de systèmes numériques très complexes« Intelligence » de la méthode de simulation: seul lesentités activés sont actionnées

Utilisable uniquement pour les systèmes numériques