CIRCUITS LOGIQUES PROGRAMMABLES

Slides:



Advertisements
Présentations similaires
Du Software au Hardware
Advertisements

Yassine Lakhnech Prof. UJF Verimag
Machines séquentielles
Introduction aux réseaux informatiques
UML - Présentation.
Le Concept du programme enregistré
Flow de conception (4h)-demo
Les Compteurs A. Objectifs de la séquence:
Présentation d’un design de carte vidéo
ISAT IS FORMATION EN AUTOMATION 1 / 13 SECTION AUTOMATIQUE 1 / 6.
Système d’exploitation : Assembleur
Cours Systèmes logiques
Circuits Logiques Programmables
Ing Mohamed MASMOUDI Cours VHDL Ing Mohamed MASMOUDI
INTERVENTION SUR UN SYSTEME TECHNIQUE
Cours #3 Technologies de logique programmable
Cours #6 Conception d’unités de contrôle
Électronique numérique Intervenants : Boitier V. / Perisse T.
LES SYSTEMES AUTOMATISES
Introduction Objectifs du cours Évaluation Références
Formation en alternance
Présentation du mémoire
COMPOSANTS PROGRAMMABLES
Caractéristiques Architecture Programmation n 32 Entrées / sorties configurables n Fréquence maxi : 110 MHz n Alimentation unique 5V n Programmable sur.
Patrons de conceptions de créations
Logique programmable Réseaux et circuits PLA, PAL, GAL et CPLD
Evaluation au baccalauréat
Le VHDL : SOMMAIRE I Introduction II Éléments généraux du langage
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Options d’implémentation.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Synthèse d’un circuit.
Modélisation VHDL du chemin des données d’un processeur à usage général Sujets de ce thème
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Analyse de machines.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Implémentation d’un.
Synthèse et implémentation de circuits arithmétiques sur FPGA
Advanced Boolean Equation Language
Composants logiques programmables
Supports de formation au SQ Unifié
Les réseaux logiques programmables
Méthodologie de conception Outils de conception
INF8505: processeurs embarqués configurables
Les systèmes mono-puce
Master IT - Génie Informatique
Application à la Radio Logicielle Restreinte
ADC Microcontrôleur MSC1210.
Implantation de processeurs dans les FPGA et ASIC
Introduction au VHDL - R.WEBER - Polytech'Orleans
Réseaux pré-diffusés programmables par l’utilisateur: FPGA
1 Université Henri Poincaré, Nancy 1 La préemption appliquée aux FPGAs Soutenance de rapport bibliographique de DEA Faculté des Sciences Vandoeuvre-lès-Nancy.
Les composants programmables
Les FPGA « Field Programmable Gate Array »
INTRODUCTION.
Les circuits logiques programmables
Architecture des ordinateurs
à la logique programmable
Electronique Numérique 2
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Flot de conception de.
ELE6306 : Test de systèmes électroniques Adaptation d’une interface de communication pour implants en vue du test Laurent Aubray, Dominique Pâquet-Ferron.
Composants à réseaux logiques programmables
Circuits Logiques Programmables
Simulateur de microcontrôleur Intel 80C51
Le VHDL Programmation des CPLD et FPGA avec Quartus II ENSET d'Oran / IUFM Aix Marseille - mai
Analyse structurelle d’un système
QU’EST-CE QU’UN SYSTÈME EMBARQUE ?
Année universitaire: 2015 – COUR D’ELECTRONIQUE NUMERIQUE.
Encadrer par Mr Chelly Nizar
LES COMPOSANTS LOGIQUES
Architecture d'un automate programmable
Circuits Logiques Programmables
Les réseaux logiques programmables
Introduction aux Circuits Reconfigurables et FPGA.
Transcription de la présentation:

CIRCUITS LOGIQUES PROGRAMMABLES CPLD FPGA CIRCUITS LOGIQUES PROGRAMMABLES PAL EPLD FPGA 28/09/2000

Les familles de circuits logiques programmables CPLD FPGA Les familles de circuits logiques programmables PLD Circuits logiques programmables PAL Bipolaires non effaçables EPLD Circuits logiques effaçables FPGA Réseaux de portes programmables De type RAM EPLD Complexes ou CPLD PAL CMOS et GAL UVPROM E²CMOS Isp PAL ICE GAL AMD VATTICE EP XXX MAX 5000 } ALTERA TPC TEXAS XC XILINX FLEX ALTERA FPGA A Anti-fusibles MACH 3 et 4 pLSI MAX 7000 MAX 9000 MAX 9000 ispLSI MACH 3 et 4 ALTERA VATTICE AMD 28/09/2000

CPLD FPGA Les PAL INVENTE IL Y A PLUS DE 20 ANS PAR LA SOCIETE MMI PIONNIERS DE LA TECHNOLOGIE DES MEMOIRE PROM IDEE : Utiliser la technologie des fusibles que l’on fait fondre de l’extérieur du composant pour réaliser des circuits logiques => pas de câblage fastidieux de circuits logiques sur circuits imprimés STRUCTURE INTERNE : Fusibles permettant de rompre le contact électrique et de générer une fonction logique 28/09/2000

EXEMPLE DE PROGRAMMATION : CPLD FPGA EXEMPLE DE PROGRAMMATION : LA FONCTION OU EXCLUSIF : Suivant les fusibles « grillés » une fonction logique est définie sans câblage spécifique 28/09/2000

CPLD FPGA LA LOGIQUE : COMPOSANT PROGRAMMABLE POSSEDANT UNE STRUCTURE DE BASE PROGRAMMATEUR SPECIFIQUE (OU système à µP) GENERATION DE FONCTIONS LOGIQUES COMPLEXES BESOIN DEFINITION D’UNE STRUCTURE LOGIQUE SYSTEME ELECTRONIQUE (COMPLEXE) FONCTIONNEL EST UTILISEE POUR PERMETTRE DE GENERER DES SYSTEMES ELECTRONIQUES COMPLEXES 28/09/2000

Différentes structures possibles CPLD FPGA Différentes structures possibles TROIS TYPES DE STRUCTURES ONT ETE ELABOREES AU SEIN DES PALS (et FPLA) 28/09/2000

ORGANISATION INTERNE : CPLD FPGA L’aspect séquentiel CELLULE DE BASE : BASCULE D ORGANISATION INTERNE : REGISTRE 28/09/2000

CPLD FPGA Exemple Cet exemple permet de comprendre comment l’on peut réaliser un décodeur par programmation de fonctions logiques au sein d’un PAL DECODEUR BCD HEXADECIMAL POUR AFFICHEUR 7 SEGMENTS : 28/09/2000

La programmation CPLD FPGA 28/09/2000 PALASM VERION 1.5 PAL16L8 PAT07 HEX /RBI D0 D1 D2 D3 IC LT NC NC GND NC G /RB0 F E D C B A VCC IF (/IC)/A =/RB0*/D0/D2+RB0*/D0*D3+/RB0*D2+/RB0*D1*D2*/D3+/RB0*D0*D2*/D3+/RBO*/D1*/D2*D3+LT IF (/IC)/B =/RB0*/D2*/D3+/RB0*/D0*/D2+/RB0*/D0*/D1*/D3+/RB0*D0*D1*/D3+/RB0*D0*/D1*/D3+LT IF (/IC)/C =/RB0*D0*/D1+/RB0*D0*/D2+/RB0*/D1*/D2+/RB0*D2*D3+/RB0*/D2*D3+LT IF (/IC)/D =/RB0*/D1*D3+/RB0*/D0*/D2*/D3+/RB0*D0*D1*/D2+/RB0*/D0*D1*D2+/RBO*D0*/D1*D2+LT IF (/IC)/E =/RB0*/D0*/D2+/RB0*D2*D3+/RB0*/D0*D1+/RB0*D1*/D3+LT IF (/IC)/F =/RB0*/D0*/D1+/RB0*/D2*D3+/RB0*D1*D3+/RB0*/D0*/D2+/RB0*/D1*D2*/D3+LT IF (/IC)/RB0 =/D0*/D1*/D2*/D3*/RBI IF(/IC)/G = /RB0*D1*D2+RB0*D0*D3+/RB0*/D2*D3+/RB0*/D0*D1+/RB0*/D1*D2*/D3+LT DESCRIPTION 28/09/2000

Câblage effectué en grillant les fusibles par programmation CPLD FPGA Résultat Câblage effectué en grillant les fusibles par programmation Sortie Décodée Entrée codée 28/09/2000

CPLD FPGA Exemple de paquetages LES PAL bipolaires : PAL, PAL bipolaires, PAL versatiles, VPAL AFFECTATION DES PINS : APPARENCE DES PAQUETAGES : 28/09/2000

CPLD FPGA Les GAL (~ PAL CMOS) DIFFERENCE AVEC LES PAL : PLUS GRANDE SOUPLESSE DE CONFIGURATION DES ENTREES SORTIES QUE LES PALS CONSOMMATION BEAUCOUP PLUS FAIBLE QUE LES PAL DE MEME COMPLEXITE EFFACABLES ELECTRIQUEMENT (permet des reprogrammations en phase de développement) LA STRUCTURE DE BASE EST UNE MACROCELLULE PLUS COMPLEXE EN FAIT CES COMPOSANTS PREFIGURENT LES CIRCUITS LOGIQUES PLUS EVOLUES UTILISES DE NOS JOURS POUR LA CONCEPTION D ’ASICS (circuits électroniques dédiés) 28/09/2000

Architecture des GAL CPLD FPGA ARCHITECTURE D ’UN GAL MACROCELLULE DU GAL 28/09/2000

Configuration des Macro cellules CPLD FPGA Configuration des Macro cellules 28/09/2000

Une Macro cellule Synchrone Multiplexée CPLD FPGA Une Macro cellule Synchrone Multiplexée VERS UNE COMPLEXITE CROISSANTE DE LA MACROCELLULE Adjonction d ’un multiplexeur 4 vers 1 Adjonction d ’un multiplexeur 2 vers 1 VERS UNE POLYVALENCE CROISSANTE DES FONCTIONS LOGIQUES ELABOREES 28/09/2000

L ’interface homme-composant (le LOGICIEL) CPLD FPGA L ’interface homme-composant (le LOGICIEL) PRINCIPE DE PROGRAMMATION D’UN GAL 28/09/2000

CPLD FPGA Les EPLD SIGNAUX GROUPES EN TROIS BLOCS DISTINCTS (entrées, entrées/sorties, macro cellules) POSSIBILITES D’INTERCONNECTIONS + NOMBREUSES BASCULES CONFIGURABLES LA STRUCTURE D’UN EPLD RESTE SIMILAIRE A UN GAL : 28/09/2000

CPLD FPGA La cellule de base 28/09/2000

CABLAGE DU RESEAU D’INTERCONNECTION ET DES MACROCELLULES D’UN EPLD CPLD FPGA Les EPLD CABLAGE DU RESEAU D’INTERCONNECTION ET DES MACROCELLULES D’UN EPLD 28/09/2000

Les FPGA (ce qu’apporte la RAM) CPLD FPGA Les FPGA (ce qu’apporte la RAM) 28/09/2000

Structure d ’un FLEX 10 K (altera) CPLD FPGA Structure d ’un FLEX 10 K (altera) 28/09/2000

Structure d ’un FLEX 10 K (altera) CPLD FPGA Structure d ’un FLEX 10 K (altera) ZOOMONS SUR UN BLOC LOGIQUE 28/09/2000

La Macro cellule d ’un FLEX 10 K CPLD FPGA La Macro cellule d ’un FLEX 10 K ZOOMONS SUR UN ELEMENT LOGIQUE DE BASE 28/09/2000

Un exemple de carte de développement CPLD FPGA Un exemple de carte de développement 28/09/2000

Quelques questions légitimes CPLD FPGA Quelques questions légitimes QUEL EST L’INTERET DE CES COMPOSANTS PROGRAMMABLES EN ELECTRONIQUE ? QU ’APPORTENT-ILS DE PLUS QUE LES SYSTEMES DE PORTES LOGIQUES CÂBLES SUR CIRCUITS IMPRIMES? QU ’EST CE QUE LA SIMULATION LOGIQUE ET EN QUOI A-T-ELLLE UN RAPPORT AVEC CES COMPOSANTS? QU ’EST CE QUE LA SYNTHESE LOGIQUE ET EN QUOI CES COMPOSANTS NOUS PERMETTENT-ILS DE DEFINIR DE NOUVEAUX COMPOSANTS DEDIES? AVEZ-VOUS ENTENDU PARLER DE LANGUAGES DE MODELISATION (VHDL, VERILOG, TNSS) ? NOUS ALLONS ESSAYER DE REPONDRE A CES QUESTIONS AU TRAVERS D ’UN EXEMPLE CONCRET ET LIBERATEUR …… LA MACHINE A LAVER ! 28/09/2000

Un exemple concret CPLD FPGA VOYONS COMMENT L’ ON PEUT DEFINIR UN PROGRAMMATEUR DE MACHINE A LAVER ET L’ INTEGRER DANS UN ASIC EN PASSANT PAR LA PROGRAMMATION DE FPGA DEFINISSONS TOUT D ’ABORD LA NOTION DE MACHINE A ETAT ET SON IMPLANTATION ELECTRONIQUE Machine à état d ’une machine à laver : Arrêt Lavage Rinçage Essorage Prélavage 28/09/2000

Le codage des états CPLD FPGA 28/09/2000 Prélavage : 10 minutes Rinçage : 10 minutes Essorage : 5minutes Arrêt XYZ=000 Lavage XYZ=111 Rinçage XYZ=100 Essorage XYZ=101 Prélavage XYZ=110 C<10 C>=10 C<30 C>=30 C<5 C>=5 M M.P M : variable booléenne de Marche P: Variable booléenne indiquant si choix de prélavage C : Valeur en minute du chronomètre 28/09/2000

La machine à état synchrone CPLD FPGA La machine à état synchrone P1,P2 : RESEAU COMBINATOIRES RE : REGISTRES ETAT FUTUR SORTIES P1 P2 RE HORLOGE MOORE MEALY ENTREES ETAT COURANT 28/09/2000

Mise en œuvre en électronique CPLD FPGA Mise en œuvre en électronique Arrêt XYZ=000 Lavage XYZ=111 Rinçage XYZ=100 Essorage XYZ=101 Prélavage XYZ=110 C10 C30 C5 M M.P Codage « one hot » 28/09/2000

La définition des combinaisons logiques CPLD FPGA La définition des combinaisons logiques DEFINITION DES TABLEAUX DE KARNAUGH SIMPLIFICATION DE L’EXPRESSION LOGIQUE DEFINITION DU CABLAGE DES PORTES LOGIQUES RECHERCHE D’UNE SOLUTION ADAPTEE EN ELECTRONIQUE AU COURS DE CETTE DEMARCHE NOUS VERRONS COMMENT L’ON PEUT UTILISER LES PAL, GAL, EPLD, ET FPGA POUR MODELISER CETTE MACHINE A ETAT 28/09/2000

Les parties combinatoires P1 et P2 CPLD FPGA Les parties combinatoires P1 et P2 28/09/2000

DEUX CHOIX S’IMPOSENT ALORS : CPLD FPGA DEUX CHOIX S’IMPOSENT ALORS : REALISER UN CIRCUIT IMPRIME SUR LEQUEL SERAIENT CABLES DES CIRCUITS CONTENANT DES FONCTIONS ELEMENTAIRES 74LSXX (UN PEU DE SERIEUX) UTILISER DES RESSOURCES DE L’ELECTRONIQUE NUMERIQUE MODERNE POUR ABOUTIR A UN COMPOSANT DE PETITE TAILLE GERANT PARFAITEMENT LE CYCLE DE LAVAGE D’UNE MACHINE A LAVER PROGRAMMATION D’EPLD et d’FPGA SYNTHETISER COMMERCIALISER UN ASIC DEDIE A CETTE APPLICATION 28/09/2000

CPLD FPGA La « Programmation » 28/09/2000

PROGRAMMATION A L’AIDE DES FONCTIONS PREDEFINIES CPLD FPGA UTILISATION D ’UN PAL : PAL + REGISTRE ENTREES SORTIES PROGRAMMATION A L’AIDE DES FONCTIONS PREDEFINIES SI UNE PHASE DE DEVELOPPEMENT EST NECESSAIRE POUR UN SYSTEME ELETRONIQUE PLUS COMPLEXE, LE GAL NE PEUT PAS ETRE REPROGRAMME : L ’ERREUR N ’EST PAS AUTORISEE 28/09/2000

PROGRAMMATION A L ’AIDE DES FONCTIONS PREDEFINIES CPLD FPGA UTILISATION D ’UN GAL : GAL + REGISTRE ENTREES SORTIES PROGRAMMATION A L ’AIDE DES FONCTIONS PREDEFINIES SI UNE PHASE DE DEVELOPPEMENT EST NECESSAIRE POUR UN SYSTEME ELETRONIQUE PLUS COMPLEXE, LE GAL EST REPROGRAMMABLE ET PLUS INTERESSANT QU ’UN PAL 28/09/2000

Le VHDL (dédié aux FPGA) CPLD FPGA Le VHDL (dédié aux FPGA) 28/09/2000

CPLD FPGA La simulation VHDL NOUS NOUS ARRETERONS A CE NIVEAU DE LA CONCEPTION D’UN ASIC UN VHDL SIMULABLE (AU NIVEAU RTL) PEUT DANS CERTAINES CONDITIONS ETRE IMPLANTE DANS UN FPGA POUR OBTENIR LA FONCTION VOULU DES OUTILS DE PROGRAMMATION DE HAUT NIVEAU PERMETTENT DE SIMULER AVANT D’IMPLANTER UN VHDL RTL DANS UN FPGA LE FPGA PERMET DE CONNAÎTRE LA COMPLEXITE DU COMPOSANT OBTENU APRES CODAGE VHDL (ou VERILOG) DES OUTILS D’OPTIMISATION ET DE SYNTHESE PERMETTENT ALORS D’OBTENIR UNE NETLIST CETTE NETLIST ENVOYEE CHEZ UN FONDEUR POURRA ETRE A L’ORIGINE D’UN ASIC (Microprocesseur, codeurs divers …) 28/09/2000

CPLD FPGA Conclusion REGARDEZ BIEN CET ECRAN C’EST UN FLOT DE CONCEPTION SIMILLAIRE QUI A PERMIS DE CRÉER TOUS LES COMPOSANTS (ou presque) QUI VOUS PERMETTENT DE SUIVRE CET EXPOSE. ET CECI GRACE A UNE MACHINE NUMERIQUE SI COMPLEXE QU’IL EST IMPOSSIBLE DE CONNAÎTRE SON NOMBRE D’ETAT POSSIBLE ET LE NOMBRE EXACTE DE TRANSISTORS QUI SE COMMUTTENT ACTUELLEMENT POUR VOUS AFFICHER DE BEAUX PIXELS. 28/09/2000

CPLD FPGA Bibliographie CIRCUITS LOGIQUES PROGRAMMABLES aux éditions DUNOD par CHRISTIAN TAVERNIER ELECTRONIQUE NUMERIQUE INTEGREE dominante COMELEC ENST TECHNOLOGIES ET PERFORMANCE DES SYSTEMES INTEGRES dominante COMELEC ENST VHDL INTRODUCTION A LA SYNTHESE LOGIQUE aux éditions EYROLLES par PHILIPPE LARCHER SYNTHESE, du VHDL au CIRCUIT option EST ENST 28/09/2000

CPLD FPGA QUESTIONS 28/09/2000