cours vhdl fpga 1

24
1 ETRS 511 « FPGA et VHDL » Emilie HERAULT [email protected] Bâtiment Chablais, bureau 212 04 79 75 94 68

Upload: bassoumahhmdi

Post on 28-Dec-2015

49 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Cours Vhdl Fpga 1

1

ETRS 511 « FPGA et VHDL »

Emilie [email protected]âtiment Chablais, bureau 21204 79 75 94 68

Page 2: Cours Vhdl Fpga 1

2

I. INTRODUCTION

Page 3: Cours Vhdl Fpga 1

3

Présentation du cours

Organisation :CM : 15h en 10 séances

10 TDs (M. Montagny)

3 TPs (M. Montagny)

Evaluation :1 exam théorique (75% )

1 exam de TP (25%)

Page 4: Cours Vhdl Fpga 1

4

Présentation du cours

Objectifs du cours :Savoir utiliser les outils de synthèse logique afin de concevoir un système matériel numérique sur FPGAMaitriser les bases du langage VHDL

Prérequis : Cours d’électronique et de logique (logique booléenne, portes logiques, fonctions combinatoires et séquentielles, machine à états, représentation des nombres en binaire,…)

Page 5: Cours Vhdl Fpga 1

5

Bibliographie

VHDL, du langage au circuit, du circuit au langage,

J. Weber, M. Meaudre, Dunod

Initiation au VHDL, M. Aumiaux, Dunod (plus

disponible neuf)

Circuits numériques et synthèse logique, un outil :

VHDL, J. Weber, M. Meaudrehttp://www.iutenligne.net/ressources/electronique/weber/vdhl/index.html

VHDL made easy ! D. Pellerin, D. Taylor

Page 6: Cours Vhdl Fpga 1

6

Matériel

Logiciel QUARTUS IIPossibilité de télécharger sur le site d’Altera

Quartus II Web Editionhttps://www.altera.com/download/software/quartus-ii-we

Attention : téléchargement volumineux!

Carte DE1 d’Altera

Page 7: Cours Vhdl Fpga 1

7

Plan gobal du cours

I. IntroductionPourquoi un cours FPGA et VHDL?

Pourquoi utiliser un circuit logique programmable?

II. FPGA

III. VHDL

Page 8: Cours Vhdl Fpga 1

8

I. IntroductionPourquoi un cours « FPGA et VHDL »?

FPGA présents dans de plus en plus d’applicationsTraitement et contrôle du signal

Télécommunications (Téléphones portables, GPS)

Jeux vidéos (GameCube, XBOX, PS2..)

Médical

Besoin croissant des entreprises d’avoir du personnel qualifié

Page 9: Cours Vhdl Fpga 1

9

I. IntroductionPourquoi utiliser un circuit logique programmable?

Objectif : Réaliser une fonction numérique

Page 10: Cours Vhdl Fpga 1

10

I. IntroductionPourquoi utiliser un circuit logique programmable?

Vocabulaire :

ASIC : Application Specific Integrated Circuit

PLD : Programmable Logic Device

EPLD : Erasable Programmable Logic Device

CPLD : Complex Programmable Logic Device

FPGA : Field Programmable Gate Array

Page 11: Cours Vhdl Fpga 1

11

I. IntroductionPourquoi utiliser un circuit logique programmable?

Critères de choix :

Couts

Temps de conception

Performances

Flexibilité / Conversion

Page 12: Cours Vhdl Fpga 1

12

I. IntroductionPourquoi utiliser un circuit logique programmable?

Couts :

Nombre de pièces

Page 13: Cours Vhdl Fpga 1

13

I. IntroductionPourquoi utiliser un circuit logique programmable?

Temps de conception :

Temps

Spec.

Spec.

Spec. Code

Code + synthèse

Code + synthèse

P. R.

Placement Routage Fabrication

Time To Market

Page 14: Cours Vhdl Fpga 1

14

I. IntroductionPourquoi utiliser un circuit logique programmable?

Conception et fabrication d’un ASIC :Idée

Spécifications

Circuit logique - RTL

Portes logiques

Transistors

Masques

Fonderie

Développement

Validation

Page 15: Cours Vhdl Fpga 1

15

I. IntroductionPourquoi utiliser un circuit logique programmable?

Conception et fabrication d’un ASIC :

Page 16: Cours Vhdl Fpga 1

16

I. IntroductionPourquoi utiliser un circuit logique programmable?

Conception et fabrication d’un ASIC :Idée

Spécifications

Circuit logique - RTL

Portes logiques

Transistors

Masques

Fonderie

Développement

ValidationNombreuses étapesNécessite des spécialistes dans des domaines variésEquipement lourd

Page 17: Cours Vhdl Fpga 1

17

I. IntroductionPourquoi utiliser un circuit logique programmable?

Performances :

Page 18: Cours Vhdl Fpga 1

18

I. IntroductionPourquoi utiliser un circuit logique programmable?

Performances :

Microprocesseur à 1 GHz

1 000 000 000 opérations par seconde

FPGA à 300 MHz avec 1000 multiplicateurs

300 000 000 000 opérations par seconde

Page 19: Cours Vhdl Fpga 1

19

I. IntroductionPourquoi utiliser un circuit logique programmable?

Flexibilité / Conversion

EmbeddedFPGA

EE : Efficiency : MIPS / Watt

ReconfigurableProcessor

EmbeddedProcessor

SA1100.4 MIPS/mW

Alpha0.007 MIPS/mW

DSP

2 V DSP3 MOPS/mW

Pleiades10-50 MOPS/mW

ASIC

100-1000 MOPS/mW

Flex

ibili

ty

Page 20: Cours Vhdl Fpga 1

20

I. IntroductionPourquoi utiliser un circuit logique programmable?

Flexibilité / Conversion

Page 21: Cours Vhdl Fpga 1

21

I. IntroductionPourquoi utiliser un circuit logique programmable?

Bilan pour les PLD :Moins chers que des ASICs pour de faibles volumesUn temps de développement moins élevéDe meilleures performances qu’un logicielDes circuits flexibles permettant des évolutions

Mais :Plus chers que des circuits standardsGourmands en énergie (sauf les « low power »)VolatileLeur sûreté de fonctionnement est parfois considérée comme faible (à juste titre?)

Page 22: Cours Vhdl Fpga 1

22

I. IntroductionPourquoi utiliser un circuit logique programmable?

Utilisations classiques :

Prototypage

Production de faibles volumes

Production de circuits nécessitant des mises à jour

Page 23: Cours Vhdl Fpga 1

23

I. IntroductionPourquoi utiliser un circuit logique programmable?

Fabricants

Points de différentiation :Le process (65 nm, 40 nm)Le mode de configuration (antifusible, EEPROM, SRAM)L’architecture interne

Page 24: Cours Vhdl Fpga 1

24

I. IntroductionPourquoi utiliser un circuit logique programmable?

ProgrammationPar schématique

Par langage de programmation HDL : Hardware Description Langage (AHDL, ABEL,…)

VHDL : Very High Speed Integrated Circuit Hardware Description Langage

Verilog : conception et simulation de circuits numérique

SystemC : modélisation de systèmes numériques matériels et logiciels à l'aide de C++ (systèmes matériels, mais aussi des systèmes logiciels, mixtes ou non-partitionnés)