Download - Cours Vhdl Fpga 1
2
I. INTRODUCTION
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%)
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,…)
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
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
7
Plan gobal du cours
I. IntroductionPourquoi un cours FPGA et VHDL?
Pourquoi utiliser un circuit logique programmable?
II. FPGA
III. VHDL
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é
9
I. IntroductionPourquoi utiliser un circuit logique programmable?
Objectif : Réaliser une fonction numérique
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
11
I. IntroductionPourquoi utiliser un circuit logique programmable?
Critères de choix :
Couts
Temps de conception
Performances
Flexibilité / Conversion
12
I. IntroductionPourquoi utiliser un circuit logique programmable?
Couts :
Nombre de pièces
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
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
15
I. IntroductionPourquoi utiliser un circuit logique programmable?
Conception et fabrication d’un ASIC :
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
17
I. IntroductionPourquoi utiliser un circuit logique programmable?
Performances :
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
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
20
I. IntroductionPourquoi utiliser un circuit logique programmable?
Flexibilité / Conversion
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?)
22
I. IntroductionPourquoi utiliser un circuit logique programmable?
Utilisations classiques :
Prototypage
Production de faibles volumes
Production de circuits nécessitant des mises à jour
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
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)