Vous êtes sur la page 1sur 56

combinatoire

III. Logique

III. Logique combinatoire


Algèbre de Boole et fonctions Booléennes, implémentation

1
M. Denoual
Back to basics

combinatoire
III. Logique
logique d’interrupteur

 Logique d’interrupteur

2
Algèbre de Boole : Opérations de base

combinatoire
III. Logique

 Algèbre de Boole définie sur E2 constitué des éléments {0,1}


 Trois opérations de base :

complémentation union + max OU intersection · min ET


a a a b s a b s
0 1 0 0 0 0 0 0
1 0 0 1 1 0 1 0
1 0 1 1 0 0
1 1 1 1 1 1

 0 : élément neutre de l’union, élément minimum.


 1 : élément neutre de l’intersection, élément maximum.

3
Algèbre de Boole : Propriétés des opérations de base

combinatoire
III. Logique

a, b, c  E2
𝑎. 𝑎 = 0
 complémentation : 𝑎+𝑎 =1

𝑎. 𝑏 = 𝑏. 𝑎
 commutativité : 𝑎+𝑏 =𝑏+𝑎

𝑎. 𝑏 . 𝑐 = 𝑎. (𝑏. 𝑐)
 associativité : 𝑎 + 𝑏 + 𝑐 = 𝑎 + (𝑏 + 𝑐)

𝑎. 𝑏 + 𝑐 = 𝑎. 𝑏 + 𝑎. 𝑐
 distributivité : 𝑎 + 𝑏. 𝑐 = 𝑎 + 𝑏 . (𝑎 + 𝑐)

4
Algèbre de Boole : Théorèmes associés à l’algèbre de Boole

combinatoire
a, b, c  E2 III. Logique
𝑎. 𝑎 = 𝑎
 idempotence 𝑎+𝑎 =𝑎
𝑎 + 𝑎. 𝑏 = 𝑎
 absorption :
𝑎. (𝑎 + 𝑏) = 𝑎

 involution : 𝑎=𝑎

 Théorème de Morgan : 𝑎 + 𝑏 = 𝑎. 𝑏 ; 𝑎. 𝑏 = 𝑎 + 𝑏

 Théorème de Shannon : 𝑎 + 𝑏 = 𝑎. 𝑏 + 𝑎. 𝑏 + 𝑎. 𝑏
𝑎 + 𝑎. 𝑏 = 𝑎 + 𝑏
 Consensus de 1ière espèce : Termes de
𝑎. 𝑎 + 𝑏 = 𝑎. 𝑏
Consensus
 Consensus de 2nd espèce : 𝑎. 𝑏 + 𝑏. 𝑐 = 𝑎. 𝑏 + 𝑏. 𝑐 + 𝑎. 𝑐
b variable biforme 𝑎 + 𝑏 . 𝑏 + 𝑐 = 𝑎 + 𝑏 . 𝑏 + 𝑐 . (𝑎 + 𝑐)
5
Algèbre de Boole : Méthode de réduction des expressions algébriques

combinatoire
III. Logique

 repérer les variables biformes,

 introduire le terme de Consensus de 2nd espèce s'il permet de


réduire l'expression par absorption,

 absorption,

 retirer le terme de consensus.

6
Algèbre de Boole : Fonctions booléennes

combinatoire
III. Logique

entrées sortie(s)
E2xE2x...xE2 dans E2.
a b s
0 0 0
0 1 1
1 0 1
1 1 0
Table de vérité

Deux façons d’exprimer une fonction booléenne :


 la forme somme de produit ou disjonctive normale ΣΠ
 la forme produit de somme ou conjonctive normale ΠΣ

7
Algèbre de Boole : Forme somme de produit ΣΠ

combinatoire
III. Logique

 Première forme canonique


– On associe une variable binaire mi à chaque entrée de la table
• minterm , terme produit
mi a b s
𝑚0 est associé à la ligne 0, actif/vrai (à 1) pour la ligne 0 m0 0 0 s0
m1 0 1 s1
𝑚0 = 1 si 𝑎 = 0 et b=0 c’est-à-dire si 𝑎 = 1 et 𝑏 = 1
m2 1 0 s2
𝑚0 = 𝑎. 𝑏 m3 1 1 s3

𝑚0 = 𝑎. 𝑏 ; 𝑚1 = 𝑎. 𝑏 ; 𝑚2 = 𝑎. 𝑏 ; 𝑚3 = 𝑎. 𝑏

𝑠 = 𝑠0 𝑚0 + 𝑠1 𝑚1 + 𝑠2 𝑚2 + 𝑠3 𝑚3

8
Algèbre de Boole : Forme somme de produit ΣΠ (cont.)

combinatoire
III. Logique

 Simplification de l’expression
– minterm pour lesquels la fonction vaut 1
mi a b s
m0 0 0 0 (s0)
– Dans le cas de la fonction XOR
m1 0 1 1 (s1)
m2 1 0 1 (s2)
𝑠 = 𝑚1 + 𝑚2 m3 1 1 0 (s3)

𝑠 = 𝑎. 𝑏 + 𝑎. 𝑏

Remarque : réalisation simple avec des portes NAND

9
Algèbre de Boole : Forme produit de somme ΠΣ

combinatoire
III. Logique

 Seconde forme canonique


– On associe une variable binaire Mi à chaque entrée de la table
• maxterm, terme somme Mi a b s
M0 0 0 0 (s0)
 Exemple pour la fonction XOR M1 0 1 1 (s1)
a b M0 M1 M2 M3 M2 1 0 1 (s2)
0 0 0 1 1 1 M3 1 1 0 (s3)
0 1 1 0 1 1
1 0 1 1 0 1
1 1 1 1 1 0

𝑀0 = 𝑎 + 𝑏 ; 𝑀1 = 𝑎 + 𝑏 ; 𝑀2 = 𝑎 + 𝑏 ; 𝑀3 = 𝑎 + 𝑏

𝑠 = 𝑠0 + 𝑀0 . 𝑠1 + 𝑀1 . 𝑠2 + 𝑀2 . (𝑠3 + 𝑀3 )
10
Algèbre de Boole : Forme produit de somme ΠΣ (cont.)

combinatoire
III. Logique
.

 Simplification de l’expression
– On conserve les maxterm pour lesquels la fonction vaut 0

a b M0 M1 M2 M3 M0M3 s
0 0 0 1 1 1 0 0
0 1 1 0 1 1 1 1
1 0 1 1 0 1 1 1
1 1 1 1 1 0 0 0

s= 0 si M 0= 0 ou si M 3= 0 c’est-à-dire si 𝑀0 . 𝑀3 = 0
𝑠 = 𝑀0 . 𝑀3 𝑠 = 𝑎 + 𝑏 . (𝑎 + 𝑏)

Remarque : réalisation simple avec des portes NOR

11
Fonctions logiques

combinatoire
fonction symbole (ancien table de vérité

III. Logique
symbole)

a s
NON, NOT,
Portes logiques inversion - 0 1
1 0

a b s
ET, AND, 0 0 0
intersection, . 0 1 0
min 1 0 0
Aux fonctions logiques booléennes 1 1 1
élémentaires sont associées des portes
.

a b s
logiques. 0 0 0
OU, OR,
union, max + 0 1 1
1 0 1
Ces portes logiques ont une existence
1 1 1
matérielle qui permet de réaliser
a b s
concrètement les fonctions logiques.
0 0 1
NAND,
non-ET / 0 1 1
Elles peuvent se présenter sous 1 0 1
différentes formes: 1 1 0

a b s
 discrètes, 0 0 1

 intégrées, NOR, non-OU  0 1 0


1 0 0
 assemblées dans des blocs élémentaires, 1 1 0
 sous forme de matrice connectables ,
a b s
… 0 0 0

XOR,
0 1 1
ou-exclusif
1 0 1
1 1 0
12
Fonctions logiques

combinatoire
III. Logique
Portes logiques

 Remarque 1 : en pratique, les équations de l’algèbre de Boole ne sont pas


toujours vérifiées. différence entre
idéal et pratique

13
Fonctions logiques

combinatoire
III. Logique
Portes logiques

 Remarque 2 : conséquence du théorème de Morgan

a  b  a.b a.b  a  b

14
Fonctions logiques

combinatoire
III. Logique
Synthèse combinatoire

Portes logiques

intégration
Synthèse combinatoire full-custom

fonction logique à réaliser


choix d’une cible
sous forme de table ou
technologique
d’équation
composant
logique
programmable

réalisation matérielle
de la fonction
composant discret
 logique anarchique
 opérateurs élémentaires
 logique structurée (mémoire ROM, PAL, CPLD, FPGA)
15
Fonctions logiques

combinatoire
III. Logique
Synthèse combinatoire

Portes logiques

Synthèse combinatoire

fonction logique à réaliser


choix d’une cible
sous forme de table ou
technologique
d’équation

le choix de la cible technologique dépend


 de la complexité de la fonction à réaliser
réalisation matérielle  du coût
de la fonction  de la vitesse de traitement nécessaire
 du savoir-faire du concepteur
…
 logique anarchique
 opérateurs élémentaires
 logique structurée (mémoire ROM, PAL, CPLD, FPGA)
16
Synthèse combinatoire - Logique anarchique

combinatoire
III. Logique

 à base de porte logique AND, OR, NAND, NOR, XOR, INV.


– méthode historique
– adaptée à de très faibles complexités dans le cas de composants discrets
– utilisation de composants discrets en voie d’obsolescence

– base de pour les circuits intégrés full-custom


• (ASIC: Application Specific Integrated Circuit)
layout de
– création de bloc élémentaire pour des structures plus complexes décodeur
• cas des opérateur arithmétiques

 première étape de la synthèse, simplification des équations


– algèbre de Boole additionneurs
et registres
intégrés
– table de Karnaugh

– logiciel de synthèse
17
Synthèse combinatoire - Logique anarchique - Table de Karnaugh

combinatoire
III. Logique

 outil graphique pour la simplification des équations


 fait apparaître la symétrie sur les variables
ATTENTION !

Si l’on fait un
groupement
autour de cet axe
de symétrie, cela
élimine la
variable c

 Le groupement d’éléments se traduit par la suppression de variables dans


l’expression de la fonction.
Groupe de 2 éléments : suppression d’une variable
Groupe de 4 éléments : suppression de deux variables

18
Synthèse combinatoire - Logique anarchique - Table de Karnaugh

combinatoire
III. Logique

 Règles de simplification
– rechercher les « 1 » isolés,
– faire croître par adjacence les regroupements,
– faire des regroupements de taille maximale,
– ne prendre que les regroupements ou termes produits nécessaires
pour prendre au moins une fois chaque 1 sans redondance.

 quand la valeur de sortie n’est pas définie, on associe à la case de la


table le caractère Ø (don’t care) ou X.

 Limité aux fonctions ayant au plus 4 entrées.

 Permet de créer des sous-structures élémentaires simples ensuite


cascadées. C’est le cas pour les opérateurs arithmétiques

19
Synthèse combinatoire - Logique anarchique - Table de Karnaugh

combinatoire
III. Logique

20
Synthèse combinatoire - Logique anarchique – Logiciel de synthèse logique

combinatoire
III. Logique

 algorithme de réduction algébrique.


et du choix du
à partir de la type de portes
table de vérité logiques
de la fonction

Exemple avec le logiciel gratuit Logisim

21
Synthèse combinatoire - Logique anarchique – Logiciel de synthèse logique

combinatoire
III. Logique

Exemple de l’algorithme de Quine-Mac Cluskey (1956)


utilise la 1ère forme canonique (ΣΠ). Les combinaisons sont rassemblées en groupes en
fonction du nombre de 1 des minterms pour lesquels la fonctions est vraie. Des
simplifications sont faites entre les minterms adjacents de groupes consécutifs.
d c b a f
0 0 0 0 1
Sur un exemple : 0 0 0 1 1
N° minterm
0 0 1 0 0 grp N° d c b a
0 0 1 1 0 0 0 0 0 0 0
0 1 0 0 1 1 0 0 0 1
1
0 1 0 1 1 2 0 1 0 0
0 1 1 0 0 3 0 1 0 1
0 1 1 1 1 2 4 1 0 0 1
1 0 0 0 0 rassemblement 5 1 0 1 0
1 0 0 1 1 6 0 1 1 1
1 0 1 0 1
des minterms 3
7 1 1 0 1
1 0 1 1 0 4 8 1 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 1 22
Synthèse combinatoire - Logique anarchique – Logiciel de synthèse logique

combinatoire
III. Logique
grp N° d c b a
0-1 0 0 0 X
0-1
0-2 0 X 0 0
grp N° d c b a
0 0 0 0 0 0 1-4 X 0 0 1
1-2
1 0 0 0 1 2-3 0 1 0 X
1
2 0 1 0 0
3-6 0 1 X 1
3 0 1 0 1
2 4 1 0 0 1 2-3 3-7 X 1 0 1
5 1 0 1 0 4-7 1 X 0 1
6 0 1 1 1 simplifications
3 6-8 X 1 1 1
7 1 1 0 1 3-4
4 8 1 1 1 1 7-8 1 1 X 1
le N°5 n’est pas représenté
comparaison du minterm du groupe 0 comparaison des minterms du groupe 2
avec les minterms du groupe 1 avec les minterms du groupe 3
0-1 0 0 0 X 3-6 0 1 X 1
0-2 0 X 0 0 3-7 X 1 0 1
4-7 1 X 0 1
comparaison des minterms du groupe 1
avec les minterms du groupe 2 comparaison des minterms du groupe 3
avec le minterm du groupe 4
1-4 X 0 0 1
2-3 0 1 0 X 6-8 X 1 1 1
23
7-8 1 1 0 1
Synthèse combinatoire - Logique anarchique – Logiciel de synthèse logique

combinatoire
grp N° III. Logique
d c b a
0-1 0 0 0 X
0-1 grp N° d c b a
0-2 0 X 0 0
0-1 ; 1-2 0-1 ; 2-3 0 X 0 X
1-4 X 0 0 1
1-2 1-2 ; 2-3 1-4 ; 3-7 X X 0 1
2-3 0 1 0 X
3-6 ; 7-8 X 1 X 1
3-6 0 1 X 1 2-3 ; 3-4
3-7 ; 6-8 X 1 X 1
2-3 3-7 X 1 0 1 simplifications
le N°5 n’est pas représenté
4-7 1 X 0 1
6-8 X 1 1 1
3-4
7-8 1 1 X 1
le N°5 n’est pas représenté

comparaison du minterm du groupe 0-1 comparaison des minterms du groupe 2-3


avec les minterms du groupe 1-2 avec les minterms du groupe 3-4
0-1 ; 2-3 0 X 0 X 3-6 ; 7-8 X 1 X 1

comparaison des minterms du groupe 1-2


3-7 ; 6-8 X 1 X 1
avec les minterms du groupe 2-3

1-4 ; 3-7 X X 0 1 24
Synthèse combinatoire - Logique anarchique – Logiciel de synthèse logique

combinatoire
III. Logique 1er réarrangement
grp N° d c b a
0 0 0 0 0 0
1 0 0 0 1
1
2 0 1 0 0
grp N° d c b a
3 0 1 0 1
0-1 ; 1-2 0-1 ; 2-3 0 X 0 X 2 4 1 0 0 1
1-2 ; 2-3 1-4 ; 3-7 X X 0 1 5 1 0 1 0
6 0 1 1 1
3-6 ; 7-8 X 1 X 1 3
2-3 ; 3-4 7 1 1 0 1
3-7 ; 6-8 X 1 X 1 4 8 1 1 1 1
le N°5 n’est pas représenté

Finalement, la fonction est représentée par : (5), (0-1 ; 2-3), (1-4 ; 3-7), (3-6 ; 7-8)

ou encore : dcba  db  ba  ca

25
Synthèse combinatoire - Logique anarchique – Point sur les portes logiques

combinatoire
III. Logique

Point sur les portes logiques discrètes


2 séries et 2 familles technologiques (principalement)
série 4000 série 74
Nom commençant par 40 _ _ Nom commençant par 74

technologie CMOS TTL (Transistor-Transistor-Logic)


Complementary-Metal-Oxide-Semiconductor ou CMOS ou mixte BiCMOS

Alimentation 3V à 15V Alimentation 5V (toujours)


en intégré
Caractéristiques 3.3V, 1.8V Caractéristiques
vitesse dépend de la tension d’alimentation, plus rapides, mais plus de
fréquence typiquement < 1MHz consommation de puissance
plus faible consommation de puissance que TTL

26
Synthèse combinatoire - Logique anarchique – Point sur les portes logiques

combinatoire
III. Logique

Noms des portes logiques discrètes


fonction logique
série 40 _ _ fonction
H High speed
00 NOT
LV Low voltage
01 NOR2
C CMOS
HC High speed
XX74LS11 11 NAND2
CMOS 23 NAND3
LS Low power 25 NOR3
Schottky spécification technologie, vitesse, 30 XOR2
consommation 71 OR2
73 AND3
81 AND2

CD4030 0,57 €
Farnell 2013

27
fabricants : NXP, Fairchild, Intersil, Texas Instruments, …
Synthèse combinatoire - Logique anarchique – Point sur les portes logiques

combinatoire
III. Logique

Chemin critique
– Le parcours qui va générer le délai de propagation le plus long entre
les entrées et la sortie du circuit. C’est a priori le chemin qui traverse
le plus de portes logiques.
porte Délai (ns)
NOT 30
AND 60
OR 70

Le chemin critique détermine le temps de calcul des


opérateurs arithmétiques pour le calcul.
Le chemin critique limite la fréquence maximum de
fonctionnement des systèmes synchrones.

28
Synthèse combinatoire - Logique anarchique – Point sur les portes logiques

combinatoire
III. Logique

Glitch : variations transitoires des niveaux logiques avant d’atteindre un état

Sortie Y Glitch

29
Synthèse combinatoire - Logique anarchique – Point sur les portes logiques

combinatoire
III. Logique

Glitch : solutions

1. Les éliminer en modifiant le circuit


(par exemple termes redondants de
Consensus)

2. Ne pas s’en préoccuper en utilisant une conception synchrone avec un


cadencement d’horloge adapté (on ne prend en compte le signal que
périodiquement, une fois stabilisé).

30
Synthèse combinatoire - Logique anarchique – Point sur les portes logiques

combinatoire
III. Logique

Sortie d’un circuit logique


Types de sortie (étage de sortie): la sortie d’un circuit logique peut être fournie soit par 2
transistors complémentaires « totem-pole » ou par un seul transistor « collecteur ouvert ».
La sortie totem-pole est pratique pour cascader des circuits de même
technologie, même alimentation.
La sortie collecteur ouvert est pratique pour changer de niveau de
tension ou la réalisation d’un ET câblé (bus i2c).

Sortance : capacité d’une porte logique à servir de source à d’autres


portes logiques. Courant de sortie > somme de courant d’entrée des
portes en aval. En CMOS limite de vitesse de fonctionnement.

Court-circuit (état indéterminé)

31
Synthèse combinatoire - Opérateurs élémentaires

combinatoire
III. Logique
Pédagogique, en
pratique plus utilisé
Opérateurs élémentaires
opérateurs élémentaires
– multiplexeurs, eux-mêmes constitués de
portes logiques ET, NON, OU…

– démultiplexeur,
comme la logique anarchique
avec des portes ET, OU, NON,
– décodeur, … discrètes, ce type
d’implémentation est en voie
d’obsolescence et réservé à
– encodeur des fonctions logiques simples

32
Synthèse combinatoire - Opérateurs élémentaires - Multiplexeur

combinatoire
III. Logique

Multiplexeur
 fonction d’aiguillage

 exemple d’un multiplexeur 4 vers1 c1 c0 s


0 0 e0
0 1 e1
1 0 e2
1 1 e3

0 1

𝑠 = 𝑒0 . 𝑐1 . 𝑐0 + 𝑒1 . 𝑐1 . 𝑐0 + +𝑒2 . 𝑐1 . 𝑐0 + 𝑒3 . 𝑐1 . 𝑐0
33
Synthèse combinatoire - Opérateurs élémentaires – Multiplexeur (cont.)

combinatoire
III. Logique

 entrée de sélection : entrée de la table

 exemple de la fonction XOR

34
Synthèse combinatoire - Opérateurs élémentaires - Démultiplexeur

combinatoire
III. Logique

Démultiplexeur
 opérateur dual
c1 c0 s0 s1 s2 s3
𝑠0 = 𝑐1 . 𝑐0 . 𝑒 0 0 e 0 0 0
𝑠1 = 𝑐1 . 𝑐0 . 𝑒 0 1 0 e 0 0
𝑠2 = 𝑐1 . 𝑐0 . 𝑒 1 0 0 0 e 0
𝑠3 = 𝑐1 . 𝑐0 . 𝑒 1 1 0 0 0 e

35
Synthèse combinatoire - Opérateurs élémentaires - Décodeur

combinatoire
III. Logique

Décodeur
 active une sortie parmi 2N grâce à N signaux de commande.
 utilisé pour « adresser ».
 équivalent du démultiplexeur avec une entrée de donnée à « 1 »

 exemple de décodeur 4 sorties c1 c0 s0 s1 s2 s3


s 0  c1.c 0 0 0 1 0 0 0
0 1 0 1 0 0
s1  c1.c 0 1 0 0 0 1 0
s 2  c1.c 0 1 1 0 0 0 1

s 3  c1.c 0

Dans certains décodeurs discrets, la sortie active peut être au niveau bas
et les inactives au niveau haut.
36
Synthèse combinatoire - Logique structurée

combinatoire
III. Logique

Logique structurée

 structures universelles prédéfinies sous forme de matrice

 forte densité d’intégration  VLSI

 structure dépend du composant :


structure la plus
– ROM, espace mémoire et système d’adressage universelle
– PAL, matrices de ET et de OU pouvant être interconnectées
– CPLD, macrocellules logiques interconnectables
– FPGA
toutes les fonctions logiques ne sont pas
réalisables, mais il y de la marge
37
Synthèse combinatoire - Logique structurée - Structure ROM

combinatoire
III. Logique

 mémoire Mxn : sauvegarde de M mots de n bits.

 Exemple :
MC28C64C : 64 kbit ; 8kx8bits, parallel EEPROM
nombre de bits d’adresse ?

38
Synthèse combinatoire - Logique structurée - Structure ROM (cont.)

combinatoire
III. Logique

Remarque :
 La taille du mot mémorisé permet de définir autant de
plus petites mémoires
fonctions logiques que son nombre de bits. 2kx8 : 16k RAM 6€
 Le nombre de bits d'adresse correspond au nombre de 2kx8 16k : EPROM 6.71 €
variables des fonctions logiques. 2k EEPROM : 1.37 € 24C02

 Exemple : implémentation de 3 fonctions logiques à 2 entrées

a b sf 1
sf 2
sf 3

0 0 0 0 0
0 1 1 1 0
1 0 1 0 1
1 1 0 0 0

39
Synthèse combinatoire - Logique structurée - Structure PAL

combinatoire
III. Logique

Programmable Logic Array


 constituée de deux sous-ensembles :
– une matrice de ET, PAL22V10 17,80 €
– une matrice de OU. Farnell 2013

PAL 16V8
nb sorties
nb variables

fabricants : Lattice
Semiconductor, AMD (Advanced
Micro Devices), Texas Instrument

40
Synthèse combinatoire - Logique structurée - Structure PAL (cont.)

combinatoire
III. Logique

 implémentation de la fonction XOR

S0  A.B  A.B
41
Synthèse combinatoire - Logique structurée – Structures CPLD, FPGA

combinatoire
III. Logique

CPLD : Complex Programmable Logic Device


FPGA : Field Programmable Gate Array
 réseaux logiques programmables
complexes formés de blocs logiques
disposés sous forme matricielle
bloc logique de FPGA
Look-Up Table (LUT)

macrocellule de CPLD 42
Synthèse combinatoire - Logique structurée – Structures CPLD, FPGA (cont.)

combinatoire
III. Logique

structure FPGA
FPGA plus interconnecté  plus flexible
 plus difficile à implémenter
 délais plus difficile à estimer
structure CPLD FPGA plus de ressources intégrés

implémentation avec un logiciel et un langage de programmation


43
Synthèse combinatoire - Logique structurée – Structures CPLD, FPGA (cont.)

combinatoire
III. Logique
Fabricant FPGA : Xilinx, Altera, Lattice

Fabricant CPLD : Altera, Lattice, Atmel


Lattice ICE40 4,84 €
Farnell 2013
1280 blocs logiques,
16kbits RAM mémoire

Altera 5M40ZE64 1,37 €


Farnell 2013
32 macrocellules Virtex 6 Xilinx 354,86 €
Farnell 2013
760000 blocs logiques,
5 Mbits RAM, DSP slices

44
Synthèse combinatoire - Logique structurée – Structures CPLD, FPGA (cont.)

combinatoire
 III. Logique
VHDL, verilog

45
Synthèse combinatoire - Logique structurée – Structures CPLD, FPGA (cont.)

combinatoire
 III. Logique
VHDL pour TP logique

 Décrire une fonction logique combinatoire en VHDL


Instruction with …. select library IEEE;
use IEEE.std_logic_1164.all;
entrees use IEEE.numeric_std.all;
use IEEE.std_logic_unsigned.all;
e2 sortie
e1 Fonction s0 entity fonctionLogique is Décrit le bloc
e0 Logique Port (entrees : in STD_LOGIC_VECTOR(2 downto 0); avec ses
sortie : out STD_LOGIC); entrées et ses
end fonctionLogique;
sorties
Exemple d’une fonction 3 entrées, 1 sortie architecture Behavioral of fonctionLogique is
begin

Table de vérité de la fonction with entrees select


sortie <= '0' when "000", virgule
entrees sortie(s) '1' when "001",
e2 e1 e0 s0 ‘ pour bit seul ‘’ pour vecteur
'1' when "010",
'0' when "011",
Décrit le
0 0 0 0 Valeurs des entrées
'1' when "100", comportement
0 0 1 1 Valeurs de la sortie '0' when "101", de la fonction
0 1 0 1 '0' when "110", Attention, cas par
0 1 1 0 '1' when others; défaut obligatoire
when others;
1 0 0 1 end Behavioral;
1 0 1 0
1 1 0 0 Sortie(s) à gauche / entrées à droite
1 1 1 1

46
Synthèse combinatoire – Circuit intégrée (full custom, ASIC)

combinatoire
III. Logique

ASIC (Application Specific Integrated Circuit)


circuit dédié  plus performant
 coût réduit pour des grandes quantités
 temps de conception plus long
 pas flexible

47
Choix de la cible pour l’implémentation

combinatoire
III. Logique
spécifique versus flexible

spécifique versus flexible


 Permanent, ne peut plus être modifié  peut être modifié (adaptation à un cahier
des charges changeant)
 Temps de conception long (plrs mois à >
d’un an)  Temps de conception plus court
(programmation rapide, test direct, moins
 Non-recurring engineering (NRE) costs de corps de métiers)
(105-106 $)
 Logiciels de développement peu onéreux
 Optimisé pour l’application (meilleures
performances -vitesse, consommation-)

 Coût plus faible pour de grande production

48
Choix de la cible pour l’implémentation

combinatoire
III. Logique
Onde de Makimoto

Spécifique versus flexible

49
Complément : d’un point de vue transistor

combinatoire
III. Logique
D'un point de vue physique, les portes logiques sont réalisées à partir de
transistors. Plusieurs types de transistors peuvent être employés, mais le plus
couramment utilisé est celui des transistors Métal Oxyde Isolant plus connu sous
le sigle transistor MOS. La fabrication des portes logiques s'appuie alors sur
l'utilisation de deux types de transistors : les transistors NMOS et les transistors
PMOS. Ces transistors sont utilisés comme des interrupteurs et chacun de ces
transistors est caractérisé par les niveaux logiques qui le rendent assimilable à un
interrupteur ouvert ou bien fermé.

50
Complément : d’un point de vue transistor (cont.)

combinatoire
III. Logique
Exemples de portes logiques

inverseur

51
Complément : d’un point de vue transistor (cont.)

combinatoire
III. Logique

Exemples de portes logiques

52
Complément : d’un point de vue transistor (cont.)

combinatoire
III. Logique
derrière le transistor le silicium…

Exemples de layout de portes logiques

schéma logique

schéma électrique layout

53
Complément : d’un point de vue transistor (cont.)

combinatoire
III. Logique
derrière le transistor le silicium…

Exemples de layout de portes logiques (cont.)

54
Performances des circuits numériques

combinatoire
III. Logique
Temps de commutation et puissance dissipée

Vdd

 Temps de commutation (delay) Vdd


delay 
(Vdd  Vth ) 2
 Puissance dissipée
Vent Vsort
– Deux aspects différents :
• Puissance dynamique : activité P  C.Vdd2 .F
• Puissance de fuite (leakage power)

Vss
grille
source drain

Isub : courant de fuite sous le seuil (subthreshold off state leakage current )
Ig : courant de fuite par effet tunnel (gate tunnelling leakage current)
Id : courant de fuite de jonction inverse (reverse junction leakage current)
Igidl : courant de fuite induit par la grille (Gate Induced Drain Leakage)
Ipt : courant de fuite transistor à canal court (Drain Source Punch Through) Technologie sub-micron  50/50
A l’issue de cette troisième partie

combinatoire
III. Logique

 Quel outil graphique permet de faciliter la synthèse de petits


circuits logiques combinatoires ? Quelle est sa limitation ?

 Comment fait-on la synthèse de circuit logique combinatoire


sur les composants de type logique structurée ?

 Quels sont les avantages/inconvénients comparés des


solutions programmables de type FPGA et fixe ASIC ?

56

Vous aimerez peut-être aussi