SlideShare une entreprise Scribd logo
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

Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdlyassinesmz
 
présentation STM32
présentation STM32présentation STM32
présentation STM32
hatem ben tayeb
 
Présentation FPGA
Présentation FPGAPrésentation FPGA
Présentation FPGA
Yann Sionneau
 
Automates programmables industriels
Automates programmables industrielsAutomates programmables industriels
Automates programmables industriels
HafsaELMessaoudi
 
Tp n6 les compteurs
Tp n6 les compteursTp n6 les compteurs
Tp n6 les compteurs
Hatem Jebali
 
Microcontrôleur
MicrocontrôleurMicrocontrôleur
Microcontrôleur
Peronnin Eric
 
37248247 cours-hyperfrequences-parametres-s-antennes (1)
37248247 cours-hyperfrequences-parametres-s-antennes (1)37248247 cours-hyperfrequences-parametres-s-antennes (1)
37248247 cours-hyperfrequences-parametres-s-antennes (1)
khaalidkk
 
Systèmes de logiques séquentielles-Bascules
Systèmes de logiques séquentielles-BasculesSystèmes de logiques séquentielles-Bascules
Systèmes de logiques séquentielles-Bascules
Hatem Jebali
 
Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32
Hajer Dahech
 
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
Adnane Ahmidani
 
تمارين وحلول خاصة ببرمجة Ladder et instructions automates
تمارين وحلول خاصة ببرمجة Ladder et instructions automatesتمارين وحلول خاصة ببرمجة Ladder et instructions automates
تمارين وحلول خاصة ببرمجة Ladder et instructions automates
electrolouhla
 
Conception et réalisation d’un MINI SMART HOME
Conception et réalisation  d’un MINI SMART HOMEConception et réalisation  d’un MINI SMART HOME
Conception et réalisation d’un MINI SMART HOME
Soukainawarach
 
213 les capteurs tor
213 les capteurs tor213 les capteurs tor
213 les capteurs tor
AFAF ELFANIDI
 
STM32 F4 (PWM,SPI And ADC Test Examples)
STM32 F4 (PWM,SPI And ADC Test Examples)STM32 F4 (PWM,SPI And ADC Test Examples)
STM32 F4 (PWM,SPI And ADC Test Examples)
Aymen Lachkhem
 
chap3 numerisation_des_signaux
chap3 numerisation_des_signauxchap3 numerisation_des_signaux
chap3 numerisation_des_signaux
BAKKOURY Jamila
 
Les systèmes embarqués arduino
Les systèmes embarqués arduinoLes systèmes embarqués arduino
Les systèmes embarqués arduino
CHERIET Mohammed El Amine
 
Conversion numérique analogique
Conversion numérique analogiqueConversion numérique analogique
Conversion numérique analogiqueN NASRI
 
Cours capteur final
Cours capteur finalCours capteur final
Cours capteur final
Abdellah Zahidi
 

Tendances (20)

Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdl
 
présentation STM32
présentation STM32présentation STM32
présentation STM32
 
Soc
SocSoc
Soc
 
Microcontroleurs
MicrocontroleursMicrocontroleurs
Microcontroleurs
 
Présentation FPGA
Présentation FPGAPrésentation FPGA
Présentation FPGA
 
Automates programmables industriels
Automates programmables industrielsAutomates programmables industriels
Automates programmables industriels
 
Tp n6 les compteurs
Tp n6 les compteursTp n6 les compteurs
Tp n6 les compteurs
 
Microcontrôleur
MicrocontrôleurMicrocontrôleur
Microcontrôleur
 
37248247 cours-hyperfrequences-parametres-s-antennes (1)
37248247 cours-hyperfrequences-parametres-s-antennes (1)37248247 cours-hyperfrequences-parametres-s-antennes (1)
37248247 cours-hyperfrequences-parametres-s-antennes (1)
 
Systèmes de logiques séquentielles-Bascules
Systèmes de logiques séquentielles-BasculesSystèmes de logiques séquentielles-Bascules
Systèmes de logiques séquentielles-Bascules
 
Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32
 
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
 
تمارين وحلول خاصة ببرمجة Ladder et instructions automates
تمارين وحلول خاصة ببرمجة Ladder et instructions automatesتمارين وحلول خاصة ببرمجة Ladder et instructions automates
تمارين وحلول خاصة ببرمجة Ladder et instructions automates
 
Conception et réalisation d’un MINI SMART HOME
Conception et réalisation  d’un MINI SMART HOMEConception et réalisation  d’un MINI SMART HOME
Conception et réalisation d’un MINI SMART HOME
 
213 les capteurs tor
213 les capteurs tor213 les capteurs tor
213 les capteurs tor
 
STM32 F4 (PWM,SPI And ADC Test Examples)
STM32 F4 (PWM,SPI And ADC Test Examples)STM32 F4 (PWM,SPI And ADC Test Examples)
STM32 F4 (PWM,SPI And ADC Test Examples)
 
chap3 numerisation_des_signaux
chap3 numerisation_des_signauxchap3 numerisation_des_signaux
chap3 numerisation_des_signaux
 
Les systèmes embarqués arduino
Les systèmes embarqués arduinoLes systèmes embarqués arduino
Les systèmes embarqués arduino
 
Conversion numérique analogique
Conversion numérique analogiqueConversion numérique analogique
Conversion numérique analogique
 
Cours capteur final
Cours capteur finalCours capteur final
Cours capteur final
 

En vedette

CPLDs
CPLDsCPLDs
programmable_devices_en_02_2014
programmable_devices_en_02_2014programmable_devices_en_02_2014
programmable_devices_en_02_2014
Svetozar Jovanovic
 
Fpga
FpgaFpga
FPGA
FPGAFPGA
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
elprocus
 
Fundamentals of FPGA
Fundamentals of FPGAFundamentals of FPGA
Fundamentals of FPGA
velamakuri
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
Chiheb Ouaghlani
 
Présentation Legu'Ya
Présentation Legu'YaPrésentation Legu'Ya
Présentation Legu'Ya
Chiheb Ouaghlani
 
Pavel isaev. danone
Pavel isaev. danonePavel isaev. danone
Pavel isaev. danone
ECR Community
 
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 Architectures
Pvrtechnologies 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 fpga
Ramanan Rajaraman
 
Xilinx Cool Runner Architecture
Xilinx Cool Runner ArchitectureXilinx Cool Runner Architecture
Xilinx Cool Runner Architecture
dragonpradeep
 
Batch no.2
Batch no.2Batch no.2
Batch no.2
lodingthepage440
 
Cpld
CpldCpld
Danone StratéGie MéDias Sociaux
Danone   StratéGie MéDias SociauxDanone   StratéGie MéDias Sociaux
Danone StratéGie MéDias Sociauxguest2d75ad6d
 
SB
SBSB
Milady trabajo 2
Milady  trabajo 2Milady  trabajo 2
Milady trabajo 2
miladyrosero
 
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

Composants reconfigurables
Composants reconfigurablesComposants reconfigurables
Composants reconfigurables
Peronnin Eric
 
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
Cynapsys It Hotspot
 
Fpga handout
Fpga handoutFpga handout
Fpga handout
assnad
 
Circuits-programmables.pdf
Circuits-programmables.pdfCircuits-programmables.pdf
Circuits-programmables.pdf
HouBou3
 
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
MariamHafsa
 
Architecture des FPGAs.pdf
Architecture des FPGAs.pdfArchitecture des FPGAs.pdf
Architecture des FPGAs.pdf
MENNANIZinedine
 
Cours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxCours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptx
Abdo Brahmi
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
Abdo Brahmi
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
Abdo Brahmi
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptx
SihemNasri3
 
cours2 ARM.pptx
cours2 ARM.pptxcours2 ARM.pptx
cours2 ARM.pptx
BesmaOthmaniKrifa
 
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
morin moli
 
Cours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdfCours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdf
HouBou3
 
Réseaux logiques programmables.pdf
Réseaux logiques programmables.pdfRéseaux logiques programmables.pdf
Réseaux logiques programmables.pdf
wafawafa52
 
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
WahideArabe
 
Les Microcontrôleurs 68HCXX.ppt
Les Microcontrôleurs 68HCXX.pptLes Microcontrôleurs 68HCXX.ppt
Les Microcontrôleurs 68HCXX.ppt
wafawafa52
 
Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)
Karim Touati
 
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
mohamedsaidi212001
 
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ôleurs
sarah Benmerzouk
 

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

Composants reconfigurables
Composants reconfigurablesComposants reconfigurables
Composants reconfigurables
 
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
 
Circuits-programmables.pdf
Circuits-programmables.pdfCircuits-programmables.pdf
Circuits-programmables.pdf
 
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
 
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
 

Plus de Chiheb Ouaghlani

Change management policy
Change management policyChange management policy
Change management policy
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'information
Chiheb Ouaghlani
 
CTT La suite Collaborative Zimbra
CTT La suite Collaborative ZimbraCTT La suite Collaborative Zimbra
CTT La suite Collaborative Zimbra
Chiheb Ouaghlani
 
Etude de la WIFI sur NS2
Etude de la WIFI sur NS2Etude de la WIFI sur NS2
Etude de la WIFI sur NS2
Chiheb Ouaghlani
 
La technique de transmission OFDM
La technique de transmission OFDMLa technique de transmission OFDM
La technique de transmission OFDM
Chiheb Ouaghlani
 
La logique propositionnelle
La logique propositionnelleLa logique propositionnelle
La logique propositionnelle
Chiheb 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
 
L'univers Android
L'univers AndroidL'univers Android
L'univers Android
Chiheb Ouaghlani
 
Les jeux vidéos
Les jeux vidéosLes jeux vidéos
Les jeux vidéos
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
 
Etude de la VoIP
Etude de la VoIPEtude de la VoIP
Etude de la VoIP
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’eau
Chiheb 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

1er webinaire INOSYS Réseaux d’élevage Ovins Viande
1er webinaire INOSYS Réseaux d’élevage Ovins Viande1er webinaire INOSYS Réseaux d’élevage Ovins Viande
1er webinaire INOSYS Réseaux d’élevage Ovins Viande
Institut de l'Elevage - Idele
 
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdfCOURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
sieousse95
 
Leviers d’adaptation au changement climatique, qualité du lait et des produit...
Leviers d’adaptation au changement climatique, qualité du lait et des produit...Leviers d’adaptation au changement climatique, qualité du lait et des produit...
Leviers d’adaptation au changement climatique, qualité du lait et des produit...
Institut de l'Elevage - Idele
 
Comment aborder le changement climatique dans son métier, volet adaptation
Comment aborder le changement climatique dans son métier, volet adaptationComment aborder le changement climatique dans son métier, volet adaptation
Comment aborder le changement climatique dans son métier, volet adaptation
Institut de l'Elevage - Idele
 
Reconquête de l’engraissement du chevreau à la ferme
Reconquête de l’engraissement du chevreau à la fermeReconquête de l’engraissement du chevreau à la ferme
Reconquête de l’engraissement du chevreau à la ferme
Institut de l'Elevage - Idele
 
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Institut de l'Elevage - Idele
 
Accompagner les porteurs de projets en transformation fermière
Accompagner les porteurs de projets en transformation fermièreAccompagner les porteurs de projets en transformation fermière
Accompagner les porteurs de projets en transformation fermière
Institut de l'Elevage - Idele
 
Accompagner les éleveurs dans l'analyse de leurs coûts de production
Accompagner les éleveurs dans l'analyse de leurs coûts de productionAccompagner les éleveurs dans l'analyse de leurs coûts de production
Accompagner les éleveurs dans l'analyse de leurs coûts de production
Institut de l'Elevage - Idele
 
COUPROD Une méthode nationale commune à l’ensemble des filières herbivores
COUPROD Une méthode nationale commune à l’ensemble des filières herbivoresCOUPROD Une méthode nationale commune à l’ensemble des filières herbivores
COUPROD Une méthode nationale commune à l’ensemble des filières herbivores
Institut de l'Elevage - Idele
 
Presentation d'esquisse route juin 2023.pptx
Presentation d'esquisse route juin 2023.pptxPresentation d'esquisse route juin 2023.pptx
Presentation d'esquisse route juin 2023.pptx
imed53
 
pdfcoffee.com_polycopie-de-cours-ppt-lge604-20012-bf-pdf-free.pdf
pdfcoffee.com_polycopie-de-cours-ppt-lge604-20012-bf-pdf-free.pdfpdfcoffee.com_polycopie-de-cours-ppt-lge604-20012-bf-pdf-free.pdf
pdfcoffee.com_polycopie-de-cours-ppt-lge604-20012-bf-pdf-free.pdf
Elisée Ndjabu
 

Dernier (11)

1er webinaire INOSYS Réseaux d’élevage Ovins Viande
1er webinaire INOSYS Réseaux d’élevage Ovins Viande1er webinaire INOSYS Réseaux d’élevage Ovins Viande
1er webinaire INOSYS Réseaux d’élevage Ovins Viande
 
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdfCOURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
 
Leviers d’adaptation au changement climatique, qualité du lait et des produit...
Leviers d’adaptation au changement climatique, qualité du lait et des produit...Leviers d’adaptation au changement climatique, qualité du lait et des produit...
Leviers d’adaptation au changement climatique, qualité du lait et des produit...
 
Comment aborder le changement climatique dans son métier, volet adaptation
Comment aborder le changement climatique dans son métier, volet adaptationComment aborder le changement climatique dans son métier, volet adaptation
Comment aborder le changement climatique dans son métier, volet adaptation
 
Reconquête de l’engraissement du chevreau à la ferme
Reconquête de l’engraissement du chevreau à la fermeReconquête de l’engraissement du chevreau à la ferme
Reconquête de l’engraissement du chevreau à la ferme
 
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
 
Accompagner les porteurs de projets en transformation fermière
Accompagner les porteurs de projets en transformation fermièreAccompagner les porteurs de projets en transformation fermière
Accompagner les porteurs de projets en transformation fermière
 
Accompagner les éleveurs dans l'analyse de leurs coûts de production
Accompagner les éleveurs dans l'analyse de leurs coûts de productionAccompagner les éleveurs dans l'analyse de leurs coûts de production
Accompagner les éleveurs dans l'analyse de leurs coûts de production
 
COUPROD Une méthode nationale commune à l’ensemble des filières herbivores
COUPROD Une méthode nationale commune à l’ensemble des filières herbivoresCOUPROD Une méthode nationale commune à l’ensemble des filières herbivores
COUPROD Une méthode nationale commune à l’ensemble des filières herbivores
 
Presentation d'esquisse route juin 2023.pptx
Presentation d'esquisse route juin 2023.pptxPresentation d'esquisse route juin 2023.pptx
Presentation d'esquisse route juin 2023.pptx
 
pdfcoffee.com_polycopie-de-cours-ppt-lge604-20012-bf-pdf-free.pdf
pdfcoffee.com_polycopie-de-cours-ppt-lge604-20012-bf-pdf-free.pdfpdfcoffee.com_polycopie-de-cours-ppt-lge604-20012-bf-pdf-free.pdf
pdfcoffee.com_polycopie-de-cours-ppt-lge604-20012-bf-pdf-free.pdf
 

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!!!