Mathematics">
Cours 3 Circuits Logiques Par6
Cours 3 Circuits Logiques Par6
Cours 3 Circuits Logiques Par6
1 2
Circuit combinatoire
Sj= f(Ei)
Les sorties Sj sont fonctions uniquement de la valeur
des entrées Ei
Circuits Logiques Un circuit combinatoire est défini par une ou
plusieurs fonctions logiques
(1) Circuits Combinatoires
Définition de la valeur des sorties en fonction des
entrées du circuit
Algèbre de Boole et les fonctions logiques sont donc
le support théorique des circuits combinatoires
Un circuit se représente par un logigramme
3 4
5 6
Porte ET Porte OU
a b | a.b a b | a + b
------+----- ------+-------
0 0 | 0 0 0 | 0
0 1 | 0 0 1 | 1
1 0 | 0 1 0 | 1
1 1 | 1 1 1 | 1
7 8
9 10
Autres portes
Porte NON OU Pour chaque porte à 2 entrées
Variantes à 3, 4, ... entrées (mais toujours une seule
sortie)
Porte NON OU (NOR)
Généralisation de la fonction logique de base à plus
2 entrées, 1 sortie de 2 variables en entrée
a NOR b est noté a + b Le symbole graphique utilisé est identique mais avec
plus de 2 entrées
a b |a + b
------+-------
Exemples
0 0 | 1 Porte ET à 3 entrées a, b et c a pour expression
0 1 | 0
logique : abc
1 0 | 0
1 1 | 0 Porte NOR à 4 entrées a, b, c et d a pour expression
logique : a + b + c + d
11 12
Synthèse d'un circuit logique Analyse de circuit logique
A partir du logigramme d'un circuit
A partir d'une fonction logique
Trouver sa fonction logique
Trouver le logigramme correspondant à cette fonction
Principe
Principe
Donner l'expression des sorties de chaque
Simplifier la fonction logique avec 2 méthodes porte/composant en fonction des valeurs de ses entrées
La méthode algébrique (algèbre de Boole) En déduire au final la (ou les) fonction(s) logique(s) du
La méthode des tableaux de Karnaugh circuit
En déduire le logigramme correspondant On peut ensuite
Déterminer la table de vérité du circuit
Simplifier la fonction logique à l'aide des propriétés de
l'algèbre de Boole ou les tableaux de Karnaugh
13 14
15 16
Additionneur demi-bit
Additionneur demi-bit
Exemple de circuit : un additionneur demi-bit
Réalise l'addition de 2 nombres codés chacun sur 1 bit Fonctions logiques de S et R
Doit pouvoir gérer l'éventuel débordement S =x y +x y =x y
Table de vérité du circuit avec : R =x y
S : la somme des 2 bits x et y
R : la retenue
| x | y | S | R |
+---+---+---+---+
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
Note : on parle de « demi-bit » car ne prend pas en
compte une retenue en entrée (voir suite)
21 22
23 24
Additionneur 1 bit complet Additionneur 1 bit complet
En réutilisant le demi-additionneur
Additionneur 1 bit complet Le calcul de S se fait via 2 additions
Entrées : bits x, y et retenue R0 z=x+y et S=z+R0
Sorties : résultat S et retenue R1 Chaque addition est effectuée par un demi-additionneur
La retenue finale R1 est le OU des 2 retenues
2 idées pour définir l'additionneur 1 bit complet
générées par les 2 additions
Déterminer la table de vérité de {S,R1}=f(x,y,R0) Si la première addition génère une retenue : on aura
On obtient un nouveau circuit, plus complexe forcément une retenue au final
Utiliser le demi-additionneur vu précédemment Si la seconde addition génère une retenue : on aura aussi
une retenue au final
On réutilise le circuit déjà défini Donc on fait le OU des 2 retenues
25 26
Additionneur n bits
Additionneur 1 bit complet Exemple pour additionneur 4 bits
On enchaîne en série 4 additionneurs 1 bit complet
Retenue en sortie d'un étage est mise en entrée du suivant
Additionneur 1 bit complet
Le résultat est connu après propagation des valeurs calculées
S : résultat de l'addition des bits a et b et de la le long de tout le circuit
retenue R0 C = A + B, en précision 4 bits. R : retenue globale
R1 : retenue générée
27 28
33 34
35 36
Table de vérité → circuit Logique à 3 états
en portes NAND Algèbre de Boole et circuits logiques : logique à 2
Exemple : avec additionneur complet 1 bit états
R0 x y | S | R1 | État 0 (état « faux » ou état physique « courant
-------+---+----+
0 0 0 | 0 | 0 | électrique nul »)
0 0 1 | 1 | 0 | État 1 (état « vrai » ou état physique « courant
0 1 0 | 1 | 0 | électrique non nul »)
0 1 1 | 0 | 1 |
1 0 0 | 1 | 0 |
Logique à 3 états
1 0 1 | 0 | 1 | Extension de la logique à 2 états avec un troisième état :
1 1 0 | 0 | 1 | « état indéfini » ou « rien »
1 1 1 | 1 | 1 | Utilité principale : activer ou désactiver des parties d'un
Avantage de la méthode : construction systématique circuit liées aux mêmes sorties ou éléments
Inconvénient : pas optimal en nombre de portes
37 38
41 42
Multiplexeur Multiplexeur à 4 entrées
4 entrées, adresse/code sur 2 bits : a et b
X entrées et 1 sortie Table de vérité
Selon une adresse/un code, la sortie prend la | a | b | K |
valeur d'une des X entrées +---+---+----+
Les autres sorties sont à 0 | 0 | 0 | k0 |
Circuit combinatoire avec | 0 | 1 | k1 |
| 1 | 0 | k2 |
Une sortie K
| 1 | 1 | K3 |
Une adresse codée sur n bits
K(a,b)=k0a b+k1ab+k2ab+k3ab
2n entrées kx
D'autres choix de multiplexage sont possibles
43 mais c'est le plus classique 44
45 46
47 48
Démultiplexeur à 4 sorties Codeur
Logigramme et symbole pour le démultiplexeur Active un code selon l'une des X entrées actives
à 4 sorties n
2 (en général) entrées
1 entrée active (valeur 1)
Les autres sont toutes désactivées (valeur 0)
Code en sortie : sur n bits
Exemple classique de codeur
Numérotation de 0 à 2n -1 des entrées
Le code représente le numéro de l'entrée codé en
binaire
49 50
51 52
55 56
57 58
59 60
Exemple d'automate fini
Exemple d'automate fini
Fonctions de transfert
S(t+1)=Q(t) : la sortie à t +1 est égale à l'état à t Diagramme d'états/transitions
Q(t+1)=E(t) : l'état à t +1 est égal à l'entrée
passée à l'état t
Tables de transitions : valeurs de Q(t+1)
et S(t+1) en fonction de E(t) et Q(t)
\ E(T)| 0 1 \ E(t)| 0 1
Q(t) +----- Q(t) +-----
0 | 0 0 0 | 0 1
1 | 1 1 1 | 0 1
S(t+1) Q(t+1)
61 62
Délais Délais
Voltages
Exemple : traversée d'une porte NON
Vm : voltage correspondant au 1 idéal
E = 1 puis passe à 0, S = E
Vh : voltage haut, minimum pour avoir un 1
Vb : voltage bas, maximum pour avoir un 0
Délais
td : temps de descente, passage de 1 à 0 (voltage de Vh à Vb)
tm : temps de montée, passage de 0 à 1 (voltage de Vb à Vh)
tp : temps de propagation dans la porte (pris à la moyenne de
Vh et Vb)
65 66
Délais Contraintes temporelles des circuits
Si temps de montée ou de descente trop long Un circuit est formé de plusieurs portes
On reste relativement longtemps entre Vb et Vh : Chemin critique : chemin le « plus long » pour la
état indéfini propagation des signaux à travers le circuit
La sortie peut osciller alors entre 0 et 1
Détermine le temps total de propagation des signaux
à travers tout le circuit
Temps minimal à attendre pour avoir une sortie valide quand
on change les entrées
Intuitivement : chemin passant par le plus grand
nombre de portes
Mais dépend aussi du temps de propagation de chaque type
de porte
67 68
Horloge Horloge
A cause de tous les délais (montée, descente, Horloge
propagation) Signal périodique
Un signal n'est pas dans un état valide en permanence 1 demi-période à 0, l'autre à 1
Idée : on ne lit ses valeurs qu'à des instants précis Début d'une nouvelle période : instant ti
et à des intervalles réguliers Pour exemple
Instants donnés par une horloge précédent du NON
Horloge Instant t1 : E = 1, S = 0
Indispensable aussi dans le cas des circuits Instant t2 : E = 0, S = 1
séquentiels synchrones pour savoir quand on passe CLK = Clock =
de t à t +1 signal d'horloge
69 70
Bistable et bascule
Mémoire sur 1 bit Bistable : 2 états stables dans le temps
Principe général d'une bistable : 2 portes non
Circuit séquentiel basique : mémoire sur 1 bit (inverseurs) en opposition
Possède une variable binaire codée sur 1 bit
Sa valeur est conservée ou modifiable dans le
temps
Mémoires 1 bit peuvent être réalisées avec
des bascules
Bascule : composant qui met en œuvre une bistable
Possibilité de passer d'un état à l'autre, de changer
l'état mémorisé
Plusieurs façons de gérer et changer l'état
Plusieurs types de bascules : RS, D, JK ...
71 72
Bascule RS Bascule RS
Entrée/sorties Table de vérité/transition du circuit et son tableau de
Karnaugh
2 entrées : R et S Q R S | Q+
-------+---
1 sortie Q qui correspond à l'état stocké 0 0 0 | 0 \ RS
Principe : la valeur de Q à t+1 dépend de R, 0 0 1 | 1 Q \ 00 | 01 | 11 | 10 |
0 1 0 | 0 +----+----+----+----+
S et de la valeur de Q à t 0 1 1 | X 0 | 0 | 1 | X | 0 |
1 0 0 | 1 ---+----+----+----+----+
R = reset : remise à 0 de Q 1 0 1 | 1 1 | 1 | 1 | X | 0 |
S = set : mise à 1 de Q 1 1 0 | 0 ---+----+----+----+----+
S=1 et R=0 : Q mis à 1 1 1 1 | X Q + =S +Q R
S=0 et R=1 : Q mis à 0 Q+ : valeur de Q à l'instant suivant
S=0 et R=0 : Q garde sa valeur, maintien
S=1 et R=1 : Q indéterminé Dans le tableau : X = valeur non connue mais sans
influence car non utilisée, on peut regrouper dans les
73 blocs à 1 74
3 types de bascules
Bascule asynchrone
Bascule RS Sorties recalculées à chaque changement des valeurs en entrée
Tables de vérité/transition dérivées Plus précisément : recalculées « en permanence »
R S | Q+ Q -> Q+ | R | S Exemple : la bascule RS précédente
-----+--- ---------+---+---
0 0 | Q 0 0 | X | 0 Bascule synchrone
0 1 | 1 1 1 | 0 | X Sorties recalculées en fonction d'un signal d'horloge en entrée
1 0 | 0 0 1 | 0 | 1 Nécessite une entrée de contrôle pour ce signal d'horloge
1 1 | X 1 0 | 1 | 0
2 modes
Logigramme de la bascule RS, avec des Sur niveau (dit « latch »)
portes NOR Recalcule les sorties et l'état quand le signal d'horloge est à 1 (niveau
haut) ou à 0 (niveau bas)
Sur front (dit « flip-flop »)
Recalcule au moment où le signal d'horloge change de valeur
Front montant : passage de 0 à 1
Front descendant : passage de 1 à 0
Note : on utilise en général un signal d'horloge sur l'entrée de
contrôle, mais n'importe quel signal peut être utilisé en pratique
75 76
77 78
Bascule D latch Bascule D latch
Réalisation d'une bascule D à partir d'une bascule RS
S=CD et R=CD
Table de vérité de la bascule D
Pour S
D C Q | Q+ Q + =D C +Q C Pour bascule D, Q+=1 si C = 1 et D = 1
-------+---
0 0 0 | 0 Pour bascule RS, Q+=1 si S = 1 et R = 0
0 0 1 | 1 Pour R
0 1 0 | 0 Versions condensées : +
0 1 1 | 0 Pour bascule D, Q =0 si C = 1 et D = 0
1 0 0 | 0 (C=1) D | Q+ C | Q+ Pour bascule RS, Q+=0 si S = 0 et R = 1
1 0 1 | 1 ---+--- ---+---
1 1 0 | 1 0 | 0 0 | Q Avec S=CD et R=CD, tout est cohérent
1 1 1 | 1 1 | 1 1 | D
Et le maintien Q+=Q de la bascule D lorsque C=0 est
cohérent avec le maintien de la RS : R=S=0
79 80
Bascule D flip-flop
Bascule D latch Bascule D flip-flop
Variante de la D latch
Logigramme de la bascule D latch Passage à t + 1 quand front montant de l'horloge
En pratique, la D latch fonctionne de la même façon
Exemple de chronogramme avec D = 0110100 et Q(0) = 0
81 82
83 84
Représentation des différents Utilisation des bascules
types de bascule Utilisation des bascules pour créer des circuits
De gauche à droite ayant un état
Bascule RS asynchrone Compteurs
Bascule D latch sur niveau 1 Registres
Bascule D flip-flop sur front montant Mémorisation d'un mot mémoire, décalage vers la
Bascule D latch sur niveau 0 droite/gauche du mot ...
Mémoires (voir le cours sur les mémoires)
Bascule D flip-flop sur front descendant
Exemple : compteur cyclique sur 3 bits
Nombre binaire sur 3 bits
Incrémentation de +1 à chaque période d'horloge
Repasse à 0 après 7
85 86
87 88
89 90
Circuits synchrone et asynchrone Circuits synchrone et asynchrone
Exemple du compteur 3 bits
Circuit synchrone
Circuit asynchrone car plusieurs signaux d'horloges
Tous les éléments/composants du circuit devant être différents utilisés par les bascules
synchronisés le sont avec le même signal d'horloge
Chaque bascule calcule donc sa sortie à des
Circuit asynchrone moments différents
Tous les éléments/composants du circuit devant être Même si certains sont communs à plusieurs bascules
synchronisés ne le sont pas avec le même signal Les bascules D utilisées sont des bascules synchrones
d'horloge flip-flop mais le circuit lui est bien asynchrone
Exemple du registre 4 bits
Synchrone car les 4 bascules D flip-flop utilisent
toutes les 4 le même signal d'horloge
91 92