SlideShare une entreprise Scribd logo
1  sur  21
Architecture etArchitecture et
programmation des circuitsprogrammation des circuits
CPLD et des FPGACPLD et des FPGA
Réalisé par : OUAGHLANI Chiheb
Année universitaire
2011/2012
Introduction
 L’évolution des systèmes électroniques dans notre vie quotidienne est due à :
1- Evolution technologique:
La miniaturisation des transistors a permis d’augmenter considérablement la capacité d’intégration
dans ces systèmes.
2- Evolution applicative:
Des applications plus complexes avec un nombre important et varié de fonctionnalités.
 On parle alors d’une grande variété de composants de calculs mais on peut les classer à 3
classes :
Les cibles matérielles, par exemple :
 ASIC -Application Specific Integrate Circuit
 Fonction complète ou coprocesseur (accélérateurs matérielle)
 FPGA -Field Programmable Gate Array
 Reconfigurable
 Accélérateur de calculs (coprocesseur)
Les cibles logicielles, comme :
 ASIP -Application Specific Instruction-set Processor
 Processeur spécialisé pour quelques applications
 Jeu d’instructions et architecture adaptée à l’application
 Meilleurs rapports MIPS/mW et MIPS/mm2 que RISC et DSP
 Mais coût de développement du compilateur
 DSP, VLIW
 Processeurs dédiés au traitement de signal, application multimédia
 Microcontrôleurs
 RISC/CISC: Superscalaires
 ARM, PowerPC, Sparc, …
Les cibles mixtes :
 Les SOCs(système sur puce) : L’intégration de plusieurs unités sur une même puce.
Comment choisir la cible à utiliser ?
Les principales raisons qui nous aident à choisir notre cible se sont :
 L’application à faire (notre projet).
 Les contraintes de conception et de réalisation : performance - cout- fiabilité - surface -
consommation, temps réel, etc.
 Les outils et les ressources disponibles à la réalisation du projet.
Dans ce document on s’intéresse surtout sur des cibles matérielles : les CPLD et Les FPGA.
Les composants HARD (les cibles matérielles)
Intérêt des cibles matérielles
 Performances : utilisation d'architectures optimales :
 Pipeline
 opérations câblées ou en mémoire (FPGA)
 optimisation bits à bits : Taille des opérandes optimale
 Protection industrielle
 Outils de conception puissants:
 Langages HDL
 Bibliothèques de macro-fonctions paramétrables
 compilation (synthèse logique + placement routage)
La figure ci-dessous représente Les différentes cibles matérielles :
Remarque :
La partie encadrée, ce sont les circuits configurables (PLD) et les autres composants matériels se sont
des circuits (ASIC) moins flexibles (que les PLD) et spécifiés pour une tache bien déterminée, même
leur configuration et composition sont plus basiques.
Les circuits configurables sont des composants standards programmables électriquement:
 Une seule fois (fusibles, anti fusibles)
Ou
 Plusieurs fois: reprogrammables
Le terme circuit configurable désigne l’ensemble de ressources logiques (portes, bascules,…etc.) qui
peuvent être interconnectées de différentes façons (cellules logiques librement assemblables). Comme
par exemple : la réalisation de fonctions booléennes sous forme d’une somme de produits (PAL, PLA)
ou un réseau de bloc logiques configurables (FPGA).
Ces ressources sont connectées de manière définitive ou réversible grâce à la reprogrammation, afin
de réaliser la ou les fonctions numériques voulues. L'intérêt est qu'un même circuit peut être utilisé
dans de nombreux systèmes électroniques différents.
Les types de programmation utilisés dans les circuits configurables
Les contraintes de conception des systèmes embarqués : (comment on choisit quelle cible on va
utiliser pour réaliser un système électronique)
 Performance: puissance de calcul MIPS (Méga Instruction par seconde), temps d’exécution
 Fiabilité: probabilité pour que le système fonctionne correctement si c’était satisfait à t =0
 Surface et encombrement: GSM…
 Consommation énergétique: lié à l’autonomie des batteries (PDA, téléphone mobile…)
 Sûreté: aucun dommage (automobile, avionique…)
 Coût et temps de développement: faible coût
 temps réel: Un système temps réel doit réagir à un stimuli dans un intervalle de temps
dépendant de l’environnement
CPLD
 CPLD: Complex Programmable Logic Device
Les CPLDs d’une conception plus ancienne regroupent plusieurs « Macrocellules » logiques
interconnectées par un réseau de connexions combinatoire de portes ET et OU programmables afin
d'implémenter des équations logiques. Des bascules sont disponibles seulement dans les blocs
d'entrée-sortie. Ce composant contient de quelques centaines à quelques milliers de macrocellules.
La technologie de programmation de ces connexions est généralement EEPROM ou Flash EPROM
(Peuvent être effacés et reprogrammés à volonté. Quelques-uns peuvent être programmés in
situ (souvent par une connexion JTAG) Technologie CMOS). Un seul point de connexion relie entre
eux les blocs logiques. Les temps de propagations des signaux sont constants et prédictibles (avant
routage) : ce n’est pas le cas des FPGA (voir plus tard).
On distingue les CPLD des autres PLD car ils contiennent l'équivalent de plusieurs composants PLD,
reliés par une matrice d'interconnexion.
Figure 1.1 Connexions de la famille 374i
Architecture des CPLD
La matrice d'interconnexion programmable (PIM) est constitué d'une matrice
de routage complète globale pour les signaux de broches d'E / S et le feedback des blocs logiques.
Elle offre une interconnexion robuste pour éviter les limitations de montage et de densité. Les
entrées de la PIM se composent de toutes les broches d'entrée I / O et dédié
et toutes les rétroactions des macrocellules à l'intérieur des blocs logiques. Les sorties de la PIM sont
des signaux acheminés vers les blocs logiques appropriés. Chaque bloc logique reçoit 36
entrées de la PIM et leurs compléments. Une caractéristique importante de la MIP est son
timing simple. Le délai de propagation à travers le PIM est représenté dans les spécifications de
temps pour chaque périphérique. Il n'ya pas d'autres délais pour parcourir à travers le PIM.
Le routage des signaux à travers le PIM est totalement invisible pour l’utilisateur. Tout routage
est réalisé par un logiciel de routage. Warp et les tiers paquets de développement
donnent automatiquement tous les parcours pour la famille Ultra37000 dans quelques minutes.
La famille des Ultra37000 ™ (CPLD de type CMOS) offre une gamme de solutions de haute
densité logique programmable avec de grandes performances du système. La famille Ultra37000 est
conçu parce qu’elle apporte la flexibilité, la facilité d'utilisation, et la performance du 22V10 à haute
densité CPLD. L'architecture est basée sur un certain nombre de blocs logiques qui sont reliés par
un programmable Interconnect Matrix (PIM). La PIM distribue les signaux des sorties de
blocs logiques et tous les broches d'entrée aux entrées du bloc logique.
Chaque bloc logique dispose de son propre Product Term Array, Product Term Allocator, et
16 macrocellules.
Chaque bloc logique possède 72 x 87 Product Term Array programmable.
Ces arrays (tableaux) acceptent 36 entrées de la PIM, qui proviennent des pins des rétroactions
des macrocellules et des périphériques. Pour chaque unes des ces entrées il y a 2 versions : activer
LOW et activer HIGH et elles sont générés pour créer le plein-champ de saisie 72. Les 87 product
terms dans le tableau peuvent être créés à partir de l'une des 72 entrées.
Sur les 87 product terms, 80 sont pour usage général pour les 16 macrocellules dans le
bloc logique. Quatre des autres sept product terms dans le bloc logique sont utilisés pour activer les
sorties (OE : Output Enable) des product terms.
La macrocellule dispose d'un registre qui peut être configuré en combinatoire, une bascule D, une
bascule T flip-flop, ou triggered latch. Le registre peut être asynchrone (1) ou asynchrone(0) au niveau
du bloc logique avec l'ensemble des produits séparés. Les sorties de tous ces macrocellules sont
envoyées directement à la PIM indépendamment de leur configuration.
La figure 2 montre un schéma d’un bloc de l’Ultra37000–3 :
Exemple des architectures des CPLD :
Structure d’une macrocellule d’Altera MAX 7000 :
Réseau ET-OU avec 8 products terms (termes produits) + Multiplexeur programmable
L’évolution des CPLD :
Les circuits CPLD basiques ne sont plus utilisés aujourd’hui car ils sont remplacés par les FPGAs, ils
étaient les prémisses des premiers FPGA.
MAX-II CPLD 2210 LE, FBGA256:
2210 LEs, Flash memory 8Kbits, 0 PLLs 44 Kgates 0 Multiplier 18x18, 80 I/O Prix: 32$ 0, 0007
$/gate.
MAX-II CPLD 240 LE, TQFP100 :
240 LEs, total Flash memory 8Kbits, 0 PLLs 4.8 Kgates 0 Multiplier 18x18, 212 I/O Prix: 6$ 0,001
$/gate. * Prix Aout 2009
Ancien CPLD : MAX 7000S
Nouveau CPLD : MAX II
FPGA
Le FPGA est inventée par Xilinx (fait partie des plus grandes entreprises spécialisées dans le
développement et la commercialisation de composants logiques programmables).
Les FPGA sont utilisés dans diverses applications nécessitant de l'électronique numérique
(télécommunications, aéronautique, transports…). Ils sont également utilisés pour le prototypage
d'ASIC.
Architecture du circuit FPGA
Le bloc logique configurable ou CLB
Un bloc logique configurable est de manière générale constitué d'une table de correspondance
(LUT ou Look-Up-Table) et d'une bascule (Flip-Flop en anglais). (il y en a des CLB basés sur des
multiplexeurs).
La LUT sert à implémenter des équations logiques ayant généralement 4 à 6 entrées et une sortie.
Elle peut toutefois être considérée comme une petite mémoire, un multiplexeur ou un registre à
décalage. Le registre permet de mémoriser un état (machine séquentielle) ou de synchroniser un signal
(pipeline).
Les blocs logiques, présents en grand nombre sur la puce (de quelques milliers à quelques millions en
2007) sont connectés entre eux par une matrice de routage configurable.
CLB à base de multiplexeurs
• Utilisée pour la technologie ANTIFUSIBLE équivaut à une LUT câblée
Cellule ACTEL ACT3
CLB à base de LUT
Choix configurable par bitstream
Comme on voit sur le schéma le CLB est constitué d’un LUT à 4 entrées, une bascule D et un
multiplexeur 2 vers 1.
Pour La LUT elle constituée comme on voit dans la figure d’une SRAM et des multiplexeurs.
Pour cet exemple, on va prendre la première ligne de la table :
C =0 > les sorties de tous les premiers multiplexeurs auront la valeur de leur première entrée
c'est-à-dire on a 1-1-1-1.
B = 0 > pareil on a sélectionné la première entrée pour, d’où on reçoit à la sortie 1-1.
Pour A =0 > notre sortie Z est égale à 1 (les 2 entrées sont à 1).
Les LUT sont de petits éléments de mémorisation, qui reflètent la table de vérité d’une fonction
logique. (Mémoriser le comportement des entrées).
Une LUT 4 = RAM 2 Octets
Après la configuration des blocs logiques CLB, on passe à la configuration des interconnexions entre
eux.
Blocs d’interconnexions programmables ou PSM
Types de connexions
 Directes: relient deux CLBs adjacents.
 Simples: relient deux PSMs (Programmable Switch Matrix) adjacentes.
 Doubles: relient deux PSMs séparées par une PSM.
 Quadruples: relient deux PSMs séparées par 3 PSMs.
 Longs: traversent la puce de part en part, soit horizontalement ou verticalement (ils peuvent
toutefois être sépares en deux moities de longueur égale et indépendantes).
Connexions directes:
Relient deux CLB adjacents.
Ne passent pas par une matrice de connexion (PSM)
Connexions Simples:
Relient deux PSM adjacentes.
Offrent une grande flexibilité de parcours.
Le passage d'une connexion simple au travers d'une PSM entraîne un délai.
Ce type de connexion se prête surtout aux liens de nature locale.
Connexions doubles:
Relient deux PSMs séparées par une PSM:
Offrent une plus grande rapidité
Que les connexions simples pour les liens de longueur intermédiaire
Maintiennent une bonne flexibilité de parcours.
De la même manière, les connexions quadruples permettent des liens rapides un peu plus longs mais
entraînent une certaine pénalité dans la flexibilité du parcours.
Les longues lignes :
De longs segments métallisés parcourant toute la longueur et la largeur du composant
Transmettre avec un minimum de retard les signaux entre les différents éléments dans le but d'assurer
un synchronisme aussi parfait que possible.
Éviter la multiplicité des points d'interconnexion.
Le passage d’un bloc logique à un autre se fera par un nombre de point de connexion (responsable des
temps de propagation) fonction de la position relative des deux blocs logique et de l’état
d’encombrement de la matrice.
Ces délais ne sont donc pas prédictibles (contrairement au CPLD) avant le placement routage
De la phase de placement des blocs logiques dépendront donc beaucoup les performances du circuit en
termes de vitesse.
Les blocs Entrées/Sorties ou I/O Blocs
Les blocs d’entrée/sortie (IOBs) contrôlent le flot de données entre les broches du FPGA et la logique
interne utilisateur; les I/O sont:
 Bidirectionnelles (entrée ou sortie)
 3 états (haute impédance)
 A retards programmables
 Multi-standards (niveaux logiques)
Problème de faire communiquer les composants entre eux : il y a plusieurs codages en tension des
niveaux 1 et 0 (tension d'alimentation VDD, type de marges):
Les buffers permettent de résoudre ce problème
Xilinx IOB (Input Output Block):
La technologie actuelle des FPGA
Jusqu’à 200 000 cellules logiques élémentaires
 Cellule = Look-up-Table + registre
Blocs mémoire configurables
 Blocs de 18kbits, au total jusqu’à 1Mo
Structures dédiées pour les traitements arithmétiques
 512 multiplieurs 18x18 bits embarqués
Processeurs embarqués
 Jusqu’à 4 PowerPC en « dur »
 Soft-Core : processeurs utilisant les cellules logiques
Liaisons séries haut débit
 Jusqu’à 10 Gbits
 MAC Ethernet intégrée
FPGA: et encore!!!
Architecture et programmation des circuits CPLD et des FPGA

Contenu connexe

Tendances

Programmation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésProgrammation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésECAM Brussels Engineering School
 
Noyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amineNoyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amineCHERIET Mohammed El Amine
 
Circuits-programmables.pdf
Circuits-programmables.pdfCircuits-programmables.pdf
Circuits-programmables.pdfHouBou3
 
Verilog HDL Training Course
Verilog HDL Training CourseVerilog HDL Training Course
Verilog HDL Training CoursePaul Laskowski
 
VHDL/FPGA
VHDL/FPGA VHDL/FPGA
VHDL/FPGA 04amine
 
Supervision industrielle www.automate pro.blogspot.com
Supervision industrielle www.automate pro.blogspot.comSupervision industrielle www.automate pro.blogspot.com
Supervision industrielle www.automate pro.blogspot.comAdnane Ahmidani
 
Cours Bus de communication et réseaux industriels. Chapitre 1 : introduction.
Cours Bus de communication et réseaux industriels. Chapitre 1 :  introduction.Cours Bus de communication et réseaux industriels. Chapitre 1 :  introduction.
Cours Bus de communication et réseaux industriels. Chapitre 1 : introduction.Tarik Zakaria Benmerar
 
Conception d-un-equipement
Conception d-un-equipementConception d-un-equipement
Conception d-un-equipementbenzid dziri
 
cours_supervision_2018.pptx
cours_supervision_2018.pptxcours_supervision_2018.pptx
cours_supervision_2018.pptxssuser1eaf0b
 
Microprocesseur support de cours
Microprocesseur support de coursMicroprocesseur support de cours
Microprocesseur support de courssarah Benmerzouk
 
Chapitre iii circuits séquentiels
Chapitre iii circuits séquentielsChapitre iii circuits séquentiels
Chapitre iii circuits séquentielsSana Aroussi
 
Automates programmables industriels
Automates programmables industrielsAutomates programmables industriels
Automates programmables industrielsHafsaELMessaoudi
 

Tendances (20)

Programmation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésProgrammation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
 
Noyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amineNoyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amine
 
Circuits-programmables.pdf
Circuits-programmables.pdfCircuits-programmables.pdf
Circuits-programmables.pdf
 
chap4 codes-en-ligne
chap4 codes-en-lignechap4 codes-en-ligne
chap4 codes-en-ligne
 
Verilog HDL Training Course
Verilog HDL Training CourseVerilog HDL Training Course
Verilog HDL Training Course
 
Formation stm32
Formation stm32Formation stm32
Formation stm32
 
Chap1 dsp
Chap1 dspChap1 dsp
Chap1 dsp
 
VHDL/FPGA
VHDL/FPGA VHDL/FPGA
VHDL/FPGA
 
Coding style for good synthesis
Coding style for good synthesisCoding style for good synthesis
Coding style for good synthesis
 
Supervision industrielle www.automate pro.blogspot.com
Supervision industrielle www.automate pro.blogspot.comSupervision industrielle www.automate pro.blogspot.com
Supervision industrielle www.automate pro.blogspot.com
 
Cours Bus de communication et réseaux industriels. Chapitre 1 : introduction.
Cours Bus de communication et réseaux industriels. Chapitre 1 :  introduction.Cours Bus de communication et réseaux industriels. Chapitre 1 :  introduction.
Cours Bus de communication et réseaux industriels. Chapitre 1 : introduction.
 
Présentation FPGA
Présentation FPGAPrésentation FPGA
Présentation FPGA
 
Conception d-un-equipement
Conception d-un-equipementConception d-un-equipement
Conception d-un-equipement
 
cours_supervision_2018.pptx
cours_supervision_2018.pptxcours_supervision_2018.pptx
cours_supervision_2018.pptx
 
Présentation GSM
Présentation GSMPrésentation GSM
Présentation GSM
 
Microprocesseur support de cours
Microprocesseur support de coursMicroprocesseur support de cours
Microprocesseur support de cours
 
Chapitre iii circuits séquentiels
Chapitre iii circuits séquentielsChapitre iii circuits séquentiels
Chapitre iii circuits séquentiels
 
Automates programmables industriels
Automates programmables industrielsAutomates programmables industriels
Automates programmables industriels
 
Traitement de signal 1
Traitement de signal 1Traitement de signal 1
Traitement de signal 1
 
FPGA
FPGAFPGA
FPGA
 

En vedette

programmable_devices_en_02_2014
programmable_devices_en_02_2014programmable_devices_en_02_2014
programmable_devices_en_02_2014Svetozar Jovanovic
 
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
Complex Programmable Logic Device (CPLD) Architecture and Its ApplicationsComplex Programmable Logic Device (CPLD) Architecture and Its Applications
Complex Programmable Logic Device (CPLD) Architecture and Its Applicationselprocus
 
Fundamentals of FPGA
Fundamentals of FPGAFundamentals of FPGA
Fundamentals of FPGAvelamakuri
 
The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)
The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)
The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)Peter Breuer
 
Hybrid LUT/Multiplexer FPGA Logic Architectures
Hybrid LUT/Multiplexer FPGA Logic ArchitecturesHybrid LUT/Multiplexer FPGA Logic Architectures
Hybrid LUT/Multiplexer FPGA Logic ArchitecturesPvrtechnologies Nellore
 
Design of vga based pong game using fpga
Design  of vga based pong game using fpgaDesign  of vga based pong game using fpga
Design of vga based pong game using fpgaRamanan Rajaraman
 
Xilinx Cool Runner Architecture
Xilinx Cool Runner ArchitectureXilinx Cool Runner Architecture
Xilinx Cool Runner Architecturedragonpradeep
 
Danone StratéGie MéDias Sociaux
Danone   StratéGie MéDias SociauxDanone   StratéGie MéDias Sociaux
Danone StratéGie MéDias Sociauxguest2d75ad6d
 
Diktatorerna skriver historia
Diktatorerna skriver historiaDiktatorerna skriver historia
Diktatorerna skriver historiaeva13ham
 
Diktatorerna skriver historia
Diktatorerna skriver historiaDiktatorerna skriver historia
Diktatorerna skriver historiaeva13ham
 

En vedette (20)

CPLDs
CPLDsCPLDs
CPLDs
 
programmable_devices_en_02_2014
programmable_devices_en_02_2014programmable_devices_en_02_2014
programmable_devices_en_02_2014
 
Fpga
FpgaFpga
Fpga
 
FPGA
FPGAFPGA
FPGA
 
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
Complex Programmable Logic Device (CPLD) Architecture and Its ApplicationsComplex Programmable Logic Device (CPLD) Architecture and Its Applications
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
 
Fundamentals of FPGA
Fundamentals of FPGAFundamentals of FPGA
Fundamentals of FPGA
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Présentation Legu'Ya
Présentation Legu'YaPrésentation Legu'Ya
Présentation Legu'Ya
 
Pavel isaev. danone
Pavel isaev. danonePavel isaev. danone
Pavel isaev. danone
 
The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)
The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)
The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)
 
Hybrid LUT/Multiplexer FPGA Logic Architectures
Hybrid LUT/Multiplexer FPGA Logic ArchitecturesHybrid LUT/Multiplexer FPGA Logic Architectures
Hybrid LUT/Multiplexer FPGA Logic Architectures
 
Design of vga based pong game using fpga
Design  of vga based pong game using fpgaDesign  of vga based pong game using fpga
Design of vga based pong game using fpga
 
Xilinx Cool Runner Architecture
Xilinx Cool Runner ArchitectureXilinx Cool Runner Architecture
Xilinx Cool Runner Architecture
 
Batch no.2
Batch no.2Batch no.2
Batch no.2
 
Cpld
CpldCpld
Cpld
 
Danone StratéGie MéDias Sociaux
Danone   StratéGie MéDias SociauxDanone   StratéGie MéDias Sociaux
Danone StratéGie MéDias Sociaux
 
SB
SBSB
SB
 
Milady trabajo 2
Milady  trabajo 2Milady  trabajo 2
Milady trabajo 2
 
Diktatorerna skriver historia
Diktatorerna skriver historiaDiktatorerna skriver historia
Diktatorerna skriver historia
 
Diktatorerna skriver historia
Diktatorerna skriver historiaDiktatorerna skriver historia
Diktatorerna skriver historia
 

Similaire à Architecture et programmation des circuits CPLD et des FPGA

Presentaion fpga µc µp quelles est la solution
Presentaion  fpga µc µp quelles est la solutionPresentaion  fpga µc µp quelles est la solution
Presentaion fpga µc µp quelles est la solutionCynapsys It Hotspot
 
Fpga handout
Fpga handoutFpga handout
Fpga handoutassnad
 
COURS VHDL PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL   PROGRAMMATION ET _ETAPES pour comprendreCOURS VHDL   PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL PROGRAMMATION ET _ETAPES pour comprendreMariamHafsa
 
Architecture des FPGAs.pdf
Architecture des FPGAs.pdfArchitecture des FPGAs.pdf
Architecture des FPGAs.pdfMENNANIZinedine
 
Cours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxCours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxAbdo Brahmi
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).pptAbdo Brahmi
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).pptAbdo Brahmi
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptxSihemNasri3
 
Généralités sur les microcontrôleurs et PicBasic
Généralités sur les microcontrôleurs et PicBasicGénéralités sur les microcontrôleurs et PicBasic
Généralités sur les microcontrôleurs et PicBasicmorin moli
 
Cours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdfCours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdfHouBou3
 
Réseaux logiques programmables.pdf
Réseaux logiques programmables.pdfRéseaux logiques programmables.pdf
Réseaux logiques programmables.pdfwafawafa52
 
Cours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfCours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfWahideArabe
 
Les Microcontrôleurs 68HCXX.ppt
Les Microcontrôleurs 68HCXX.pptLes Microcontrôleurs 68HCXX.ppt
Les Microcontrôleurs 68HCXX.pptwafawafa52
 
Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)Karim Touati
 
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmohamedsaidi212001
 
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...Pôle Systematic Paris-Region
 
Cours de microcontrôleurs
Cours de microcontrôleursCours de microcontrôleurs
Cours de microcontrôleurssarah Benmerzouk
 

Similaire à Architecture et programmation des circuits CPLD et des FPGA (20)

Presentaion fpga µc µp quelles est la solution
Presentaion  fpga µc µp quelles est la solutionPresentaion  fpga µc µp quelles est la solution
Presentaion fpga µc µp quelles est la solution
 
Fpga handout
Fpga handoutFpga handout
Fpga handout
 
COURS VHDL PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL   PROGRAMMATION ET _ETAPES pour comprendreCOURS VHDL   PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL PROGRAMMATION ET _ETAPES pour comprendre
 
Architecture des FPGAs.pdf
Architecture des FPGAs.pdfArchitecture des FPGAs.pdf
Architecture des FPGAs.pdf
 
Cours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxCours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptx
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptx
 
Microcontrôleur
MicrocontrôleurMicrocontrôleur
Microcontrôleur
 
cours2 ARM.pptx
cours2 ARM.pptxcours2 ARM.pptx
cours2 ARM.pptx
 
Généralités sur les microcontrôleurs et PicBasic
Généralités sur les microcontrôleurs et PicBasicGénéralités sur les microcontrôleurs et PicBasic
Généralités sur les microcontrôleurs et PicBasic
 
Cours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdfCours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdf
 
Réseaux logiques programmables.pdf
Réseaux logiques programmables.pdfRéseaux logiques programmables.pdf
Réseaux logiques programmables.pdf
 
Cours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfCours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdf
 
Les Microcontrôleurs 68HCXX.ppt
Les Microcontrôleurs 68HCXX.pptLes Microcontrôleurs 68HCXX.ppt
Les Microcontrôleurs 68HCXX.ppt
 
Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)
 
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
 
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
 
Cours de microcontrôleurs
Cours de microcontrôleursCours de microcontrôleurs
Cours de microcontrôleurs
 
Coursdsp tdi
Coursdsp tdiCoursdsp tdi
Coursdsp tdi
 

Plus de Chiheb Ouaghlani

La documentation du système d'information
La documentation du système d'informationLa documentation du système d'information
La documentation du système d'informationChiheb Ouaghlani
 
CTT La suite Collaborative Zimbra
CTT La suite Collaborative ZimbraCTT La suite Collaborative Zimbra
CTT La suite Collaborative ZimbraChiheb Ouaghlani
 
La technique de transmission OFDM
La technique de transmission OFDMLa technique de transmission OFDM
La technique de transmission OFDMChiheb Ouaghlani
 
La logique propositionnelle
La logique propositionnelleLa logique propositionnelle
La logique propositionnelleChiheb Ouaghlani
 
Etude et mise en place d'une solution d'administration et de supervision Open...
Etude et mise en place d'une solution d'administration et de supervision Open...Etude et mise en place d'une solution d'administration et de supervision Open...
Etude et mise en place d'une solution d'administration et de supervision Open...Chiheb Ouaghlani
 
Pourquoi ne pas simplifier l'orthographe ?
Pourquoi ne pas simplifier l'orthographe ?Pourquoi ne pas simplifier l'orthographe ?
Pourquoi ne pas simplifier l'orthographe ?Chiheb Ouaghlani
 
Automatisation de fonctionnement d’une station de traitement d’eau
Automatisation de fonctionnement d’une station de traitement d’eauAutomatisation de fonctionnement d’une station de traitement d’eau
Automatisation de fonctionnement d’une station de traitement d’eauChiheb Ouaghlani
 

Plus de Chiheb Ouaghlani (12)

Change management policy
Change management policyChange management policy
Change management policy
 
La documentation du système d'information
La documentation du système d'informationLa documentation du système d'information
La documentation du système d'information
 
CTT La suite Collaborative Zimbra
CTT La suite Collaborative ZimbraCTT La suite Collaborative Zimbra
CTT La suite Collaborative Zimbra
 
Etude de la WIFI sur NS2
Etude de la WIFI sur NS2Etude de la WIFI sur NS2
Etude de la WIFI sur NS2
 
La technique de transmission OFDM
La technique de transmission OFDMLa technique de transmission OFDM
La technique de transmission OFDM
 
La logique propositionnelle
La logique propositionnelleLa logique propositionnelle
La logique propositionnelle
 
Etude et mise en place d'une solution d'administration et de supervision Open...
Etude et mise en place d'une solution d'administration et de supervision Open...Etude et mise en place d'une solution d'administration et de supervision Open...
Etude et mise en place d'une solution d'administration et de supervision Open...
 
L'univers Android
L'univers AndroidL'univers Android
L'univers Android
 
Les jeux vidéos
Les jeux vidéosLes jeux vidéos
Les jeux vidéos
 
Pourquoi ne pas simplifier l'orthographe ?
Pourquoi ne pas simplifier l'orthographe ?Pourquoi ne pas simplifier l'orthographe ?
Pourquoi ne pas simplifier l'orthographe ?
 
Etude de la VoIP
Etude de la VoIPEtude de la VoIP
Etude de la VoIP
 
Automatisation de fonctionnement d’une station de traitement d’eau
Automatisation de fonctionnement d’une station de traitement d’eauAutomatisation de fonctionnement d’une station de traitement d’eau
Automatisation de fonctionnement d’une station de traitement d’eau
 

Dernier

BOW 2024 - Le bâtiment multicritère porcin
BOW 2024 - Le bâtiment multicritère porcinBOW 2024 - Le bâtiment multicritère porcin
BOW 2024 - Le bâtiment multicritère porcinidelewebmestre
 
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...idelewebmestre
 
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsBow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsidelewebmestre
 
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitièresBOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitièresidelewebmestre
 
BOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitièresBOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitièresidelewebmestre
 
Chapitre 2 : fondations et analyses de données géotechniques
Chapitre 2 : fondations et analyses de données géotechniquesChapitre 2 : fondations et analyses de données géotechniques
Chapitre 2 : fondations et analyses de données géotechniquesangevaleryn
 
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleurBOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleuridelewebmestre
 
BOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresBOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresidelewebmestre
 
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la NièvreAccompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la Nièvreidelewebmestre
 
Compersseur d'air a vis atlas copco avec huile
Compersseur d'air a vis atlas copco avec huileCompersseur d'air a vis atlas copco avec huile
Compersseur d'air a vis atlas copco avec huileMBouderbala
 
Cadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en FranceCadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en Franceidelewebmestre
 
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...idelewebmestre
 
BOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsBOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsidelewebmestre
 
Support de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptxSupport de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptxdocteurgyneco1
 
BOW 2024 - 3-6 - Adaptation climat chaud Porcs
BOW 2024 - 3-6 - Adaptation climat chaud PorcsBOW 2024 - 3-6 - Adaptation climat chaud Porcs
BOW 2024 - 3-6 - Adaptation climat chaud Porcsidelewebmestre
 
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcinsBOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcinsidelewebmestre
 
Agrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en DordogneAgrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en Dordogneidelewebmestre
 
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasBOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasidelewebmestre
 
Cours polymère presentation powerpoint 46 pages
Cours polymère presentation powerpoint 46 pagesCours polymère presentation powerpoint 46 pages
Cours polymère presentation powerpoint 46 pagesPierreFournier32
 
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatiqueBOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatiqueidelewebmestre
 

Dernier (20)

BOW 2024 - Le bâtiment multicritère porcin
BOW 2024 - Le bâtiment multicritère porcinBOW 2024 - Le bâtiment multicritère porcin
BOW 2024 - Le bâtiment multicritère porcin
 
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
 
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsBow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
 
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitièresBOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
 
BOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitièresBOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitières
 
Chapitre 2 : fondations et analyses de données géotechniques
Chapitre 2 : fondations et analyses de données géotechniquesChapitre 2 : fondations et analyses de données géotechniques
Chapitre 2 : fondations et analyses de données géotechniques
 
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleurBOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
 
BOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresBOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitières
 
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la NièvreAccompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
 
Compersseur d'air a vis atlas copco avec huile
Compersseur d'air a vis atlas copco avec huileCompersseur d'air a vis atlas copco avec huile
Compersseur d'air a vis atlas copco avec huile
 
Cadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en FranceCadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en France
 
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
 
BOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsBOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminants
 
Support de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptxSupport de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptx
 
BOW 2024 - 3-6 - Adaptation climat chaud Porcs
BOW 2024 - 3-6 - Adaptation climat chaud PorcsBOW 2024 - 3-6 - Adaptation climat chaud Porcs
BOW 2024 - 3-6 - Adaptation climat chaud Porcs
 
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcinsBOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
 
Agrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en DordogneAgrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en Dordogne
 
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasBOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
 
Cours polymère presentation powerpoint 46 pages
Cours polymère presentation powerpoint 46 pagesCours polymère presentation powerpoint 46 pages
Cours polymère presentation powerpoint 46 pages
 
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatiqueBOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
 

Architecture et programmation des circuits CPLD et des FPGA

  • 1. Architecture etArchitecture et programmation des circuitsprogrammation des circuits CPLD et des FPGACPLD et des FPGA Réalisé par : OUAGHLANI Chiheb Année universitaire 2011/2012
  • 2. Introduction  L’évolution des systèmes électroniques dans notre vie quotidienne est due à : 1- Evolution technologique: La miniaturisation des transistors a permis d’augmenter considérablement la capacité d’intégration dans ces systèmes. 2- Evolution applicative: Des applications plus complexes avec un nombre important et varié de fonctionnalités.  On parle alors d’une grande variété de composants de calculs mais on peut les classer à 3 classes : Les cibles matérielles, par exemple :  ASIC -Application Specific Integrate Circuit  Fonction complète ou coprocesseur (accélérateurs matérielle)  FPGA -Field Programmable Gate Array  Reconfigurable  Accélérateur de calculs (coprocesseur) Les cibles logicielles, comme :  ASIP -Application Specific Instruction-set Processor  Processeur spécialisé pour quelques applications  Jeu d’instructions et architecture adaptée à l’application  Meilleurs rapports MIPS/mW et MIPS/mm2 que RISC et DSP  Mais coût de développement du compilateur  DSP, VLIW  Processeurs dédiés au traitement de signal, application multimédia  Microcontrôleurs  RISC/CISC: Superscalaires  ARM, PowerPC, Sparc, …
  • 3. Les cibles mixtes :  Les SOCs(système sur puce) : L’intégration de plusieurs unités sur une même puce. Comment choisir la cible à utiliser ? Les principales raisons qui nous aident à choisir notre cible se sont :  L’application à faire (notre projet).  Les contraintes de conception et de réalisation : performance - cout- fiabilité - surface - consommation, temps réel, etc.  Les outils et les ressources disponibles à la réalisation du projet. Dans ce document on s’intéresse surtout sur des cibles matérielles : les CPLD et Les FPGA. Les composants HARD (les cibles matérielles) Intérêt des cibles matérielles  Performances : utilisation d'architectures optimales :  Pipeline  opérations câblées ou en mémoire (FPGA)  optimisation bits à bits : Taille des opérandes optimale  Protection industrielle  Outils de conception puissants:  Langages HDL  Bibliothèques de macro-fonctions paramétrables  compilation (synthèse logique + placement routage)
  • 4. La figure ci-dessous représente Les différentes cibles matérielles : Remarque : La partie encadrée, ce sont les circuits configurables (PLD) et les autres composants matériels se sont des circuits (ASIC) moins flexibles (que les PLD) et spécifiés pour une tache bien déterminée, même leur configuration et composition sont plus basiques. Les circuits configurables sont des composants standards programmables électriquement:  Une seule fois (fusibles, anti fusibles) Ou  Plusieurs fois: reprogrammables Le terme circuit configurable désigne l’ensemble de ressources logiques (portes, bascules,…etc.) qui peuvent être interconnectées de différentes façons (cellules logiques librement assemblables). Comme par exemple : la réalisation de fonctions booléennes sous forme d’une somme de produits (PAL, PLA) ou un réseau de bloc logiques configurables (FPGA).
  • 5. Ces ressources sont connectées de manière définitive ou réversible grâce à la reprogrammation, afin de réaliser la ou les fonctions numériques voulues. L'intérêt est qu'un même circuit peut être utilisé dans de nombreux systèmes électroniques différents. Les types de programmation utilisés dans les circuits configurables Les contraintes de conception des systèmes embarqués : (comment on choisit quelle cible on va utiliser pour réaliser un système électronique)  Performance: puissance de calcul MIPS (Méga Instruction par seconde), temps d’exécution  Fiabilité: probabilité pour que le système fonctionne correctement si c’était satisfait à t =0  Surface et encombrement: GSM…  Consommation énergétique: lié à l’autonomie des batteries (PDA, téléphone mobile…)  Sûreté: aucun dommage (automobile, avionique…)  Coût et temps de développement: faible coût  temps réel: Un système temps réel doit réagir à un stimuli dans un intervalle de temps dépendant de l’environnement
  • 6. CPLD  CPLD: Complex Programmable Logic Device Les CPLDs d’une conception plus ancienne regroupent plusieurs « Macrocellules » logiques interconnectées par un réseau de connexions combinatoire de portes ET et OU programmables afin d'implémenter des équations logiques. Des bascules sont disponibles seulement dans les blocs d'entrée-sortie. Ce composant contient de quelques centaines à quelques milliers de macrocellules. La technologie de programmation de ces connexions est généralement EEPROM ou Flash EPROM (Peuvent être effacés et reprogrammés à volonté. Quelques-uns peuvent être programmés in situ (souvent par une connexion JTAG) Technologie CMOS). Un seul point de connexion relie entre eux les blocs logiques. Les temps de propagations des signaux sont constants et prédictibles (avant routage) : ce n’est pas le cas des FPGA (voir plus tard). On distingue les CPLD des autres PLD car ils contiennent l'équivalent de plusieurs composants PLD, reliés par une matrice d'interconnexion.
  • 7. Figure 1.1 Connexions de la famille 374i Architecture des CPLD La matrice d'interconnexion programmable (PIM) est constitué d'une matrice de routage complète globale pour les signaux de broches d'E / S et le feedback des blocs logiques. Elle offre une interconnexion robuste pour éviter les limitations de montage et de densité. Les entrées de la PIM se composent de toutes les broches d'entrée I / O et dédié et toutes les rétroactions des macrocellules à l'intérieur des blocs logiques. Les sorties de la PIM sont des signaux acheminés vers les blocs logiques appropriés. Chaque bloc logique reçoit 36 entrées de la PIM et leurs compléments. Une caractéristique importante de la MIP est son timing simple. Le délai de propagation à travers le PIM est représenté dans les spécifications de temps pour chaque périphérique. Il n'ya pas d'autres délais pour parcourir à travers le PIM. Le routage des signaux à travers le PIM est totalement invisible pour l’utilisateur. Tout routage est réalisé par un logiciel de routage. Warp et les tiers paquets de développement donnent automatiquement tous les parcours pour la famille Ultra37000 dans quelques minutes. La famille des Ultra37000 ™ (CPLD de type CMOS) offre une gamme de solutions de haute densité logique programmable avec de grandes performances du système. La famille Ultra37000 est conçu parce qu’elle apporte la flexibilité, la facilité d'utilisation, et la performance du 22V10 à haute densité CPLD. L'architecture est basée sur un certain nombre de blocs logiques qui sont reliés par un programmable Interconnect Matrix (PIM). La PIM distribue les signaux des sorties de blocs logiques et tous les broches d'entrée aux entrées du bloc logique.
  • 8. Chaque bloc logique dispose de son propre Product Term Array, Product Term Allocator, et 16 macrocellules. Chaque bloc logique possède 72 x 87 Product Term Array programmable. Ces arrays (tableaux) acceptent 36 entrées de la PIM, qui proviennent des pins des rétroactions des macrocellules et des périphériques. Pour chaque unes des ces entrées il y a 2 versions : activer LOW et activer HIGH et elles sont générés pour créer le plein-champ de saisie 72. Les 87 product terms dans le tableau peuvent être créés à partir de l'une des 72 entrées. Sur les 87 product terms, 80 sont pour usage général pour les 16 macrocellules dans le bloc logique. Quatre des autres sept product terms dans le bloc logique sont utilisés pour activer les sorties (OE : Output Enable) des product terms. La macrocellule dispose d'un registre qui peut être configuré en combinatoire, une bascule D, une bascule T flip-flop, ou triggered latch. Le registre peut être asynchrone (1) ou asynchrone(0) au niveau du bloc logique avec l'ensemble des produits séparés. Les sorties de tous ces macrocellules sont envoyées directement à la PIM indépendamment de leur configuration. La figure 2 montre un schéma d’un bloc de l’Ultra37000–3 :
  • 9. Exemple des architectures des CPLD : Structure d’une macrocellule d’Altera MAX 7000 :
  • 10. Réseau ET-OU avec 8 products terms (termes produits) + Multiplexeur programmable L’évolution des CPLD : Les circuits CPLD basiques ne sont plus utilisés aujourd’hui car ils sont remplacés par les FPGAs, ils étaient les prémisses des premiers FPGA. MAX-II CPLD 2210 LE, FBGA256: 2210 LEs, Flash memory 8Kbits, 0 PLLs 44 Kgates 0 Multiplier 18x18, 80 I/O Prix: 32$ 0, 0007 $/gate. MAX-II CPLD 240 LE, TQFP100 : 240 LEs, total Flash memory 8Kbits, 0 PLLs 4.8 Kgates 0 Multiplier 18x18, 212 I/O Prix: 6$ 0,001 $/gate. * Prix Aout 2009
  • 11. Ancien CPLD : MAX 7000S Nouveau CPLD : MAX II
  • 12. FPGA Le FPGA est inventée par Xilinx (fait partie des plus grandes entreprises spécialisées dans le développement et la commercialisation de composants logiques programmables). Les FPGA sont utilisés dans diverses applications nécessitant de l'électronique numérique (télécommunications, aéronautique, transports…). Ils sont également utilisés pour le prototypage d'ASIC. Architecture du circuit FPGA
  • 13. Le bloc logique configurable ou CLB Un bloc logique configurable est de manière générale constitué d'une table de correspondance (LUT ou Look-Up-Table) et d'une bascule (Flip-Flop en anglais). (il y en a des CLB basés sur des multiplexeurs). La LUT sert à implémenter des équations logiques ayant généralement 4 à 6 entrées et une sortie. Elle peut toutefois être considérée comme une petite mémoire, un multiplexeur ou un registre à décalage. Le registre permet de mémoriser un état (machine séquentielle) ou de synchroniser un signal (pipeline). Les blocs logiques, présents en grand nombre sur la puce (de quelques milliers à quelques millions en 2007) sont connectés entre eux par une matrice de routage configurable. CLB à base de multiplexeurs • Utilisée pour la technologie ANTIFUSIBLE équivaut à une LUT câblée Cellule ACTEL ACT3
  • 14. CLB à base de LUT Choix configurable par bitstream Comme on voit sur le schéma le CLB est constitué d’un LUT à 4 entrées, une bascule D et un multiplexeur 2 vers 1. Pour La LUT elle constituée comme on voit dans la figure d’une SRAM et des multiplexeurs. Pour cet exemple, on va prendre la première ligne de la table : C =0 > les sorties de tous les premiers multiplexeurs auront la valeur de leur première entrée c'est-à-dire on a 1-1-1-1. B = 0 > pareil on a sélectionné la première entrée pour, d’où on reçoit à la sortie 1-1. Pour A =0 > notre sortie Z est égale à 1 (les 2 entrées sont à 1).
  • 15. Les LUT sont de petits éléments de mémorisation, qui reflètent la table de vérité d’une fonction logique. (Mémoriser le comportement des entrées). Une LUT 4 = RAM 2 Octets Après la configuration des blocs logiques CLB, on passe à la configuration des interconnexions entre eux. Blocs d’interconnexions programmables ou PSM Types de connexions  Directes: relient deux CLBs adjacents.  Simples: relient deux PSMs (Programmable Switch Matrix) adjacentes.  Doubles: relient deux PSMs séparées par une PSM.  Quadruples: relient deux PSMs séparées par 3 PSMs.  Longs: traversent la puce de part en part, soit horizontalement ou verticalement (ils peuvent toutefois être sépares en deux moities de longueur égale et indépendantes).
  • 16. Connexions directes: Relient deux CLB adjacents. Ne passent pas par une matrice de connexion (PSM) Connexions Simples: Relient deux PSM adjacentes. Offrent une grande flexibilité de parcours. Le passage d'une connexion simple au travers d'une PSM entraîne un délai. Ce type de connexion se prête surtout aux liens de nature locale.
  • 17. Connexions doubles: Relient deux PSMs séparées par une PSM: Offrent une plus grande rapidité Que les connexions simples pour les liens de longueur intermédiaire Maintiennent une bonne flexibilité de parcours. De la même manière, les connexions quadruples permettent des liens rapides un peu plus longs mais entraînent une certaine pénalité dans la flexibilité du parcours. Les longues lignes : De longs segments métallisés parcourant toute la longueur et la largeur du composant Transmettre avec un minimum de retard les signaux entre les différents éléments dans le but d'assurer un synchronisme aussi parfait que possible.
  • 18. Éviter la multiplicité des points d'interconnexion. Le passage d’un bloc logique à un autre se fera par un nombre de point de connexion (responsable des temps de propagation) fonction de la position relative des deux blocs logique et de l’état d’encombrement de la matrice. Ces délais ne sont donc pas prédictibles (contrairement au CPLD) avant le placement routage De la phase de placement des blocs logiques dépendront donc beaucoup les performances du circuit en termes de vitesse. Les blocs Entrées/Sorties ou I/O Blocs Les blocs d’entrée/sortie (IOBs) contrôlent le flot de données entre les broches du FPGA et la logique interne utilisateur; les I/O sont:  Bidirectionnelles (entrée ou sortie)  3 états (haute impédance)  A retards programmables  Multi-standards (niveaux logiques)
  • 19. Problème de faire communiquer les composants entre eux : il y a plusieurs codages en tension des niveaux 1 et 0 (tension d'alimentation VDD, type de marges): Les buffers permettent de résoudre ce problème Xilinx IOB (Input Output Block):
  • 20. La technologie actuelle des FPGA Jusqu’à 200 000 cellules logiques élémentaires  Cellule = Look-up-Table + registre Blocs mémoire configurables  Blocs de 18kbits, au total jusqu’à 1Mo Structures dédiées pour les traitements arithmétiques  512 multiplieurs 18x18 bits embarqués Processeurs embarqués  Jusqu’à 4 PowerPC en « dur »  Soft-Core : processeurs utilisant les cellules logiques Liaisons séries haut débit  Jusqu’à 10 Gbits  MAC Ethernet intégrée FPGA: et encore!!!