circuits logiques programmables : fpgapyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf ·...

57
Circuits logiques programmables : FPGA Enseignes et afficheurs à LED Dr. Mamadou Lamine NDIAYE

Upload: truongnhi

Post on 12-Sep-2018

238 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Circuits logiques programmables : FPGA

Enseignes et afficheurs à LED

Dr. Mamadou Lamine NDIAYE

Page 2: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Circuits logiques programmables : FPGA

Mamadou Lamine NDIAYE

Page 3: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

●Les circuits logiques programmables

●Les circuits FPGA

●Méthodologie de conception des circuits FPGA

●Environnement de développement

Circuits logiques programmables

Page 4: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Classification des circuits logiques

Page 5: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Ensemble de portes logiques reconfigurableso ET, OU

o Bascules, RAM, Multiplexeurs, registres

Circuits logiques programmables

Page 6: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Ensemble de portes logiques reconfigurableso ET, OU

o Bascules, RAM, Multiplexeurs, registres

oTechnologies fusible,

oTechnologies Flash, EEPROM, SRAM

Circuits logiques programmables

Page 7: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

●Circuit PAL(Programmable Array Logic) où seules les fonctions ET sont programmables

●Circuit FPLA (Field Programmable Logic Array) est un circuit PAL dans lequel les fonctions ET et OU sont programmables

●Circuit CPLD (Complex Progrmmable Logic Device) est un circuit logique programmable complexe

●Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable et effeçable

●Circuit FPGA (Field Progrmmable Gate Array) est un réseau de ciruits programmables à la demande

Circuits logiques programmables

Page 8: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Les circuits FPGA

Page 9: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

●Les circuits logiques programmables de type FPGA sont de plus en plus utilisés dans la conception des circuits numériques.

o Matrices de fonctions logiques (cellules logiques SRAM)o Programmation des interconnexions (reconfiguration de l’architecture) in situo Reprogrammables à volonté o Temps de développement très court. o Grande souplesse pour des évolutions rapides à moindre coût

Les circuits FPGA

Page 10: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

●Les circuits logiques programmables de type FPGA sont de plus en plus utilisés dans la conception des circuits numériques.

o Densités d’intégration pouvant atteindre plus de 10 millions de portes logiques.o Possibilités de traitement parallèle des données (augmentation de la vitesse de

calcul).o Blocs logiques configurables constitués d’arbres de multiplexeurs connectés à des

points mémoires. o Capacité limitée par le nombre de blocs logiques configurables (non la

complexité).

Les circuits FPGA

Page 11: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Niveaux de description●Comportemental ou fonctionnelo Le modèle est décrit par, sa fonction, son algorithme. Il s’agit de décrire comment cela fonctionne.

●RTL ( Register Transfert Logic )o Le modèle est décrit sous forme d'éléments séquentielso Prend en compte la notion d’horloge, de cycle;

●Structurel (Porte logique)o Le modèle est décrit par sa topologie (netlist) de portes logiques, de registres, de composants

●Décomposition du cahier des charges en fonctions simpleso Fonctions combinatoires (instructions concurrentes)o Fonctions séquentielles (process)

Méthodologie de conception des FPGA (CPLD)

Page 12: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Méthodologie de conception des FPGA (CPLD)

Page 13: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Méthodologie de conception des FPGA (CPLD)

Page 14: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Méthodologie de conception des FPGA (CPLD)

Page 15: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Méthodologie de conception des FPGA (CPLD)

Page 16: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Environnement de développement

●Synthèse avec les deux principaux plateformes de développement

o Altera Quartus II o Xilinx ISE

●Simulation.

o ModelSim

Page 17: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Specifications FPGA• Altera MAX II EPM2210F324 FPGA device

I/O Devices• Built-in USB Blaster for FPGA configuration

Switches, LEDs, and Clocks• 1 DIP switche• 4 pushbutton switches• 2 red user LEDs, • 2 yellow user LEDs, • 2 blue user LEDs, • 2 green user LEDs• 50-MHz oscillator for clock sources• Powered by USB

Prototyping Areas •A 40-pin expansion port area compatible with Altera DE2/DE1 expansion ports. •Prototyping Area A with 68 GPIO, 6 3.3V, 2 5V and 8 GND pins •Prototyping Area B with 20 GPIO, 2 3.3V, and 2 GND pins

CARTE DE0 (NANO) (ALTERA)

Page 18: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Specifications FPGA• Altera CYCLONE IV EP4CE22F17C6N FPGA device - 256 pins, 47 cellules

I/O Devices• Built-in USB Blaster for FPGA configuration

Switches, LEDs, Displays, and Clocks• 4 DIP switch• 2 pushbutton switches• 2 red user LEDs, • 2 yellow user LEDs, • 2 blue user LEDs, • 2 green user LEDs• 50-MHz oscillator for clock sources• Powered by USB. A/D Converter, 8 channel – 12 bit A/D Converter

Prototyping Areas •Two 40-pin Headers GPIO compatible provide 72 I/O pin, 5V Power pin, Two 3,3V and four ground pins . •32MB SDRAM, 2Kb I2C EEPROM

CARTE DE0 (NANO) (ALTERA)

Page 19: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Specifications FPGA• Cyclone II EP2C35F672C6 FPGA• 672 pins, 4276 cellules

I/O Devices• Built-in USB Blaster for FPGA configuration• 10/100 Ethernet, RS-232, Infrared port• Video Out (VGA 10-bit DAC)• Video In (NTSC/PAL/Multi-format)• USB 2.0 (type A and type B)• PS/2 mouse or keyboard port• Line-in, Line-out, microphone-in(24-bit audio CODEC)• Expansion headers (76 signal pins)

Memory• 8-MB SDRAM, 512-KB SRAM, 4-MB Flash• SD memory card slot

Switches, LEDs, Displays, and Clocks• 18 toggle switches• 4 debounced pushbutton switches• 18 red LEDs, 8 green LEDs• Eight 7-segment displays• 16 x 2 LCD display• 27-MHz and 50-MHz oscillators, external SMA clock input

CARTE DE2 (ALTERA)

Page 20: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA20

CARTE DE2 (ALTERA)

Page 21: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Exemple d’ALTERA : Le cyclone II

o Jusqu’à 68416 éléments logiques regroupés par blocs de 16

o Configuration rapide en moins de 100mso Mode de configuration série USB BLASTER ou

JTAG

o https://www.altera.com

Page 22: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Cyclone II (architecture d’un élément logique)

o 4 entréeso 1 registre de sortie programmableo 1 entrée de retenueo 1 sortie de retenueo Interconnexion local

o https://www.altera.com

Page 23: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Cyclone II (interconnextions des blocs logiques)

o Jusqu’à 68416 éléments logiqueso Réseau local d’interconnexiono Liaisons directes avec BL adjacento 1 bloc mémoire, Ck, I/O entre BL adjacent

o https://www.altera.com

Page 24: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Environnement de Travail

●QUARTUS II Web Edition

o Logiciel permettant le développement jusqu’à l’implémentation sur la carte FPGAo Téléchargement gratuit sur www.altera.com

●Simulateur ModelSim-Altera Web Edition.●Carte de développement DE0 et DE2

Page 25: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 26: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 27: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 28: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 29: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 30: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 31: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 32: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 33: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 34: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 35: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 36: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 37: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 38: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

●Validation du circuit

Page 39: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 40: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 41: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 42: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 43: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 44: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 45: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 46: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 47: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 48: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 49: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Signaux Nom PinCk KEY[0] PIN_G26R SW[0] PIN_N25Q(0) LER[0] PIN_AE23Q(1) LER[1] PIN_AF23Q(2) LER[2] PIN_AB21Q(3) LER[3] PIN_AC22

●Implémentation sur FPGA DEII● Assignation des PINs

Page 50: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Signaux Nom PinCk KEY[0] PIN_J15R KEY[1] PIN_E1Q(0) LER[0] PIN_A15Q(1) LER[1] PIN_A13Q(2) LER[2] PIN_B13Q(3) LER[3] PIN_A11

●Implémentation sur FPGA DE0● Assignation des PINs

Page 51: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 52: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 53: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 54: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 55: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 56: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Prise en main de Quartus II

Page 57: Circuits logiques programmables : FPGApyrochat.github.io/mooc-led/cours/505/fpga-dia-compact.pdf · Circuit EPLD (Erasabe Progrmmable Logic Device) est un circuit logique programmable

Enseignes et afficheurs à LED FPGA

Circuits logiques programmable : FPGA

●Les circuits logiques programmables

●Les circuits FPGA

●Méthodologie de conception des circuits FPGA

●Environnement de développement