Vous êtes sur la page 1sur 28

Introduction aux circuits logiques

programmables
Master 2ème année.
Réseaux & communications

Chargé du cours :H.MAYACHE

Année universitaire 2013-2014


02
Contenu du chapitre

Introduction
Les circuits logiques programmables

Circuitslogiques programmables
Principes de connexion
Mode de codage
Les CPLDs
Les FPGAs

h.mayache@live.fr Master II : R&C


03
Introduction

Le développement des mémoires utilisées en


Les circuits logiques programmables

informatique fut à l’origine des premiers circuits logiques


programmables (PLD = Programmable Logic Device).
Ce type de produit peut intégrer dans un seul circuit
plusieurs fonctions logiques programmables par
l’utilisateur.
Sa mise en œuvre se fait très facilement à l’aide d’un
programmateur, d’un micro-ordinateur et d’un logiciel
adapté.

h.mayache@live.fr Master II : R&C


04
Historique
Année 70 : Apparition des composants programmables par
l’utilisateur. Entièrement configurables par programmations.
Les circuits logiques programmables

Ce sont des composants entièrement configurables par


programmation.
Les premiers composants programmables furent introduits sur
marché début des 70s : les PALs (Programmable Array Logic).
La première génération de ces composants permettait uniquement
la réalisation de fonctions combinatoires.
Très rapidement, l’apparition de composants intégrant des
bascules a permis la réalisation de systèmes synchrones.
Ce type de composants de faible densité est aujourd’hui
communément désigné PLD (Programmable Logic Device).
h.mayache@live.fr Master II : R&C
05
Historique

Parallèlement à cette évolution, s’est développée une


Les circuits logiques programmables

architecture de composants spécifiques de très haute densité


d’intégration : les ASICs Application Specific Integrated
Circuits.
Des composants à applications spécifiques limitées à des
domaines de grande diffusion ou exigeant une grande
confidentialité.
La conception du composant est réalisée par le client.
La réalisation final du composant est confiée au
fabriquant : on parle de fondeurs.

h.mayache@live.fr Master II : R&C


06
Historique

Milieudes années 80 : apparition des composants de type


Les circuits logiques programmables

FPGA (composants à architecture programmable).


Ces composants permettent un degré d’intégration très
élevé (jusqu’à 100.000 portes).
Ces circuits ont amené toute la souplesse de la logique
programmable par l’utilisateur et une densité d’intégration
jusqu’alors réservée aux ASICs.
Reprenant en partie les méthodologies de développement
des ASICs, les FPGAs font de plus en plus l’objet d’un métier
de spécialiste.

h.mayache@live.fr Master II : R&C


07
Exemple de classification

h.mayache@live.fr Master II : R&C


07
Exemple de classification

h.mayache@live.fr Master II : R&C


07
Exemple de classification

h.mayache@live.fr Master II : R&C


07
Exemple de classification

ASIC : Application specific Integrated Circuit


CPLD : Complex Programmable Logic Device
FPGA : Field Programmable Gate array

h.mayache@live.fr Master II : R&C


08
Principe de connexions

Toute fonction combinatoire peut être exprimée sous


Les circuits logiques programmables

forme d’une somme (OU logique) de termes produit (ET


logique).
Les composants de type PLD (Programmable Logic
Device) exploitent ce principe.
On dit que leur mode de codage d’une fonction est de
type PLA (Programmable Logic Array) : on réalise des
termes produits dans un réseau d’interconnexions.

h.mayache@live.fr Master II : R&C


09
Principe de connexions

La structure présente deux entrées A et B et une sortie S.


Les circuits logiques programmables

Huit fusibles permettent de réaliser de nombreuses


fonctions logiques.

Lors de la livraison du
PAL, tous les fusibles sont
intacts.
La programmation
consiste à faire fondre les
fusibles nécessaires à la
réalisation de la fonction
logique de son choix.
h.mayache@live.fr Master II : R&C
10
Principe de connexions

Les PALs les plus courants contiennent plusieurs centaines


Les circuits logiques programmables

de fusibles.
D’où une représentation quasi-illisible.

Il existe une autre


représentation qui
consiste à représenter les
fusibles intacts réalisant
les connexions par des « x
».

h.mayache@live.fr Master II : R&C


11
Les circuits logiques programmables Les cellules plusieurs fois programmables

Dans l’exemple précédent, les connexions des matrices sont


réalisées à l’aide de fusibles.
La programmation est donc définitive.
On trouve différentes technologies de connexions. Lorsque
le fusible est remplacé par un transistor (interrupteur
électronique).
Le composant peut être alors programmé plusieurs fois.

h.mayache@live.fr Master II : R&C


12
Les circuits logiques programmables Les cellules plusieurs fois programmables

Interrupteur (un simple transistor MOS à effet de champ à canal N) : Ce sont des cellules de type RAM
statique. Les ASICs utilisent cette technologie qui permet une très forte densité d’intégration et grande
rapidité. Inconvénient : il est nécessaire de charger la configuration du circuit à chaque mise sous tension.
C’est pourquoi des éléments de mémorisation externes sont nécessaires pour sauvegarder les configurations.

h.mayache@live.fr Master II : R&C


13
Les différents modes de codage des fonctions

Complexité croissante des systèmes & miniaturisation  les


Les circuits logiques programmables

cartes électroniques ont vu la multiplication des boîtiers de type PAL.


L’idée a donc été d’intégrer plusieurs architectures de type PAL
dans un même boîtier : les CPLDs (Complex PLD).
On peut résumer leur architecture à une multiplication de modules
élémentaires de type PAL associée à une matrice d’interconnexion elle
aussi programmable.
Puis ont suivi les FPGA (de type SRAM ou antifuse).
Les FPGA sont plutôt considérés comme des solutions de
substitution aux ASICs ; les CPLDs sont souvent envisagés pour le
remplacement de plusieurs PLDs.
h.mayache@live.fr Master II : R&C
14
Les différents modes de codage des fonctions

Les circuits à architecture programmable utilisent différents


Les circuits logiques programmables

modes de codage des fonctions.


On distingue trois principes de mode de codage :

Programmable Logic Array


PLA
On réalise des termes produits dans un réseau d’interconnexion.
Look Up Table
LUT Des mémoires contiennent l’équivalent d’une table de
transposition. Ces mémoires sont en pratique des SRAM.
Des multiplexeurs câblés constituent l’essentiel des ressources
MUX de codage. La façon dont sont connectées les entrées des
multiplexeurs permet de réaliser plusieurs fonctions.

h.mayache@live.fr Master II : R&C


15
Les CPLDs

L’architecture typique d’un CPLD se présente comme un ensemble


de fonctions de type PAL pouvant être interconnectées à l’aide d’une
Les circuits logiques programmables

matrice.
Un certains nombre de
macro-cellules de base sont
regroupées pour former des
blocs logiques.
Les CPLDs sont des ISP
(In-System programmable) et
supportent la norme JTAG
(Joint Test Action Group).

h.mayache@live.fr Master II : R&C


16
Les circuits logiques programmables Les FPGAs

Les FPGAs utilisent des


modules logiques plus
réduits (par rapport aux
CPLDs) mais beaucoup plus
nombreux.
Les interconnexions
entre ces modules ne sont
pas centralisées comme
dans les CPLDs.

h.mayache@live.fr Master II : R&C


17
Les FPGAs

Nous allons décrire l’architecture de FPGA à cellules SRAM du


fabriquant XILINX .
Les circuits logiques programmables

L’architecture interne est composée de :


Matrice de blocs logiques programmables (CLB = Configurable
Logic Bloc). Les CLB permettent la réalisation des fonctions
logiques de l’utilisateur (combinatoire et séquentielle).
Blocs logiques d’entrées/sorties (IOB = Input Output bloc)
programmables disposés sur la périphérie. Ils réalisent
l’interface entre les broches du composant et la logique interne.
On trouve aussi parfois des buffers trois états internes et des
systèmes de codage étendus (style PLA) ainsi qu’un circuit d’horloge.

h.mayache@live.fr Master II : R&C


18
Les FPGAs

Pour la série SPARTAN


Les circuits logiques programmables

(XC2S….) : On trouve, en plus,


des bloc RAM (4096 bits par
bloc RAM).
Suivant le boîtier, on
dispose de 8 blocs RAM (32 K)
jusqu’à 72 blocs RAM (288 K).
On dispose également de
structures propres à la gestion
de signaux d’horloge (DLL =
Delay - Locked Loop).

h.mayache@live.fr Master II : R&C


19
Les FPGAs

La programmation du circuit FPGA appelé aussi LCA (logic


Les circuits logiques programmables

cells arrays) consistera à interconnecter les éléments des CLB


et des IOB afin de réaliser les fonctions souhaitées et
d'assurer la propagation des signaux.
Les connexions internes dans les circuits FPGA
(Programmable interconnect) sont composées de segments
métallisés.
Leur structure se répète d’un CLB à l’autre de manière à
obtenir une structure globale régulière bien adaptée aux
algorithmes des outils de routage.

h.mayache@live.fr Master II : R&C


20
Les FPGAs

Les ressources de routage associées à chaque CLB sont


schématisées sur la figure ci-dessous :
Les circuits logiques programmables

h.mayache@live.fr Master II : R&C


21
Les lignes simples & doubles

La ressource principale est


constituée de lignes simples et doubles.
Les circuits logiques programmables

Les lignes simples sont des segments


métalliques dont la longueur correspond
à une zone CLB.
Les lignes doubles, moins
nombreuses, ont une longueur qui
correspond à deux zones CLB .
Chacun de ses deux types de
segment peut être connecté à son
homologue par l’intermédiaire d’une
matrice programmable (PSM =
Programmable Switch Matrices).

h.mayache@live.fr Master II : R&C


22
Les lignes quadruples
On dispose également d’une autre
ressource de routage qui est constituée de
Les circuits logiques programmables

lignes dites quadruples.


Ces lignes sont constituées de segments
métalliques dont la longueur correspond à 4
zones CLB.
Le même principe que pour les lignes
doubles est appliqué.

Prenons, par exemple, le cas d’une ligne horizontale quadruple :


toutes les 4 zones CLB, le segment va pouvoir soit être isolé, soit
connecté au segment horizontal suivant, soit connecté au segment
vertical supérieur, soit connecté au segment vertical inférieur.
h.mayache@live.fr Master II : R&C
22
Les lignes dites longues

Elles forment une grille de segments métalliques traversant


Les circuits logiques programmables

de part en part la matrice de CLB.


Ces lignes seront particulièrement utilisées pour router les
signaux critiques ou à fort taux de charge entre des CLB
éloignés les uns des autres.
Ces différentes possibilités d’interconnexion sont adaptées
à la distance à parcourir (un peu comme un réseau routier).
On trouve aussi des connexions directes entre deux CLB
adjacents permettant d’économiser les ressources globales et
les délais d’interconnexion.

h.mayache@live.fr Master II : R&C


22
Diagramme simplifié d’un CLB
Les deux générateurs de
fonctions à 4 entrées placés
Les circuits logiques programmables

en entrée permettent toute


fonction booléenne
arbitraire des 4 entrées.
Ces générateurs sont
réalisés à l’aide de cellules
SRAM appelées LUT (Look
Up Table) réalisant la table
de vérité de la fonction.
Chaque CLB contient des
bascules qui peuvent être
programmées en bascule D
ou en latch.

h.mayache@live.fr Master II : R&C


Les circuits logiques programmables

h.mayache@live.fr
Master II : R&C

Vous aimerez peut-être aussi