Chapitre 2: Les circuits logiques

publicité
Chapitre 2: Les circuits logiques
Le transistor, un interrupteur commandé par un tension, est le composant de base des circuits
électroniques au cœur de l’ordinateur .A l’aide des transistors, on construit des circuits
logiques élémentaires, des portes logiques, effectuant des opérations simples. Ces circuits sont
analysés grâce à l’algèbre de Boole, outil mathématique puissant qui permet de développer
des circuits plus complexes. Ces mêmes portes logiques sont utilisées pour réaliser des
circuits séquentiels, faisant intervenir une composante temporelle et introduisant ainsi la
notion de mémorisation de valeurs dans les systèmes.
1- Définition
Un circuit logique est un circuit électronique réalisant une ou plusieurs fonctions logiques, il
est composé d'un ensemble de portes logiques interconnectés entre elles; on distingue deux
types de circuits logiques :
 Circuits combinatoires : l'état de ses sorties ne dépend que de l'état de ses entrées.

Circuits séquentiels : l'état de ses sorties dépend de l'état de ses entrées actuelles et aussi
de l'état logique précédent de sa sortie (notion d'état et de mémoire)
2- Rappel des notions préliminaires
Il est nécessaire de rappeler certaines notions étudiées dans le module pré requis telles que les
portes logiques et les notions de base de l’algèbre de Boole qui nous seront utiles par la
suite ; par ailleurs on considère les méthodes de simplification des fonctions logiques
(algébrique et Karnaugh) des notions acquises.
2-1 Les portes logiques
Une porte logique est un circuit combinatoire de base réalisant une opération logique de base
Exemple : OU, ET, NON, correspondant aux opérateurs de l'algèbre de Boole ; elle possède
Une table de vérité et/ou une expression logique définissant son résultat en fonction
de son/ses entrée(s)et un symbole graphique.
La porte OU (inclusif)
A
Y
B
1
A
0
0
1
1
B
0
1
0
1
Y=A+B
0
1
1
1
La porte ET
A
Y
B
A
0
0
1
1
B
0
1
0
1
Y=A•B
0
0
0
1
Inverseur : porte NON
A
Y
A
Y= A
0
1
1
0
Porte OU exclusif
A
Y
B
A
0
0
1
1
B
0
1
0
1
Y  AB
0
1
1
0
A
0
0
1
1
B
0
1
0
1
Y  AB
1
1
1
0
A  B  ( A  B)  ( B  A )
Portes NON ET(NAND)
A
Y
B
Porte NON OU (NOR)
A
Y
B
A
0
0
1
1
B
0
1
0
1
YAB
1
0
0
0
Remarque
les portes NAND et NOR sont très utilisées dans la réalisation des circuits logiques. Grâce aux lois de
De Morgan il est possible de réaliser des systèmes logiques avec uniquement des portes NAND ou
NOR.
Exercice : Réaliser les portes OU ,OR, AND uniquement à l’aide des portes NAND et/ou NOR
2
A
Y=A
A
Y=A.B
A
B
Y=A+B
B
2-2 Principaux théorèmes et axiomes de l’algèbre de Boole
Il existe une relation directe entre les expressions logiques utilisant l'algèbre de Boole et les
circuits électroniques, simplifier les expressions logiques décrivant la tâche à implémenter
permet de réduire le coût du circuit associé. ;nous récapitulons dans le table suivante les
axiomes et les principaux théorèmes qui sont utilisés comme des règles de manipulation et de
simplification des expressions logiques.
OU
ET
Distributivité
NON
(A + B) + C = A + (B + C) = A + B + C
A+B=B+A
A+A=A
A+0=A
A+1=1
(A • B) • C = A • (B • C) = A • B • C
A•B=B•A
A•A=A
A•1=A
A•0=0
A • (B + C) = (A • B) + (A • C)
A + (B • C) = (A + B) • (A + C)
AA
A  A 1
AA  0
A + (A • B) = A
A • (A + B) = A
( A  B)  ( A  B)  A
A  ( A  B)  A  B
De Morgan
A  B  C  ...  A  B  C  ...
OU exclusif
A  B  C  ...  A  B  C  ...
A  B  ( A  B)  ( A  B)
A  B  ( A  B)  ( B  A )
A  B  (A  B)  (A  B)
A  B  ( A  B)  ( A  B)
3
Associativité
Commutativité
Idempotence
Elément neutre
Associativité
Commutativité
Idempotence
Elément neutre
3-Circuits combinatoires
Un circuit combinatoire est défini par une ou plusieurs fonctions logiques ; les sorties Sj sont
fonctions uniquement de la valeur des entrées Ei: Sj= f(Ei), il est représenté par un
logigramme (portes logiques interconnectées) ; l’algèbre de Boole et les fonctions logiques
sont donc le support théorique des circuits combinatoires.
3. 1 synthèse d’un circuit combinatoire
La synthèse d’un circuit combinatoire est la réalisation du circuit à partir de l’énoncé
décrivant les fonctions ou le rôle du circuit en suivant les étapes suivantes :
 Comprendre le fonctionnement du système.
 Définir les variables d’entrée et les variables de sortie.
 Etablir la table de vérité.
 Ecrire les équations algébriques des sorties (à partir de la table de vérité)
 Effectuer des simplifications (algébrique ou Karnaugh).
 Faire le logigramme avec un minimum de portes logiques.
Exercice :
Soit la fonction
f(a,b,c)={1 si le nombre de 1 dans la combinaison de (a,b,c) est un nombre impair
0 sinon
Faire la synthèse du circuit réalisant cette fonction.
3-2 Analyse d’un circuit combinatoire
L’analyse d’un circuit combinatoire consiste à étudier le logigramme pour déterminer le
rôle du circuit, pour cela on doit :
1. Donner pour chaque sortie son expression en fonction des entrées
2. Simplifier la fonction de sortie
3. Construit la table de vérité correspondante
4. Déduire le rôle du circuit
Exercice
Soit le circuit logique suivant Composé uniquement de portes logiques
avec 3 entrées et 1 sortie ;analysez ce circuit.
4
3-3 Circuits combinatoires particuliers
Il est bien sûr impossible d’illustrer tous les circuits classiques que l’on retrouve
systématiquement dans les machines ; C’est pourquoi nous nous contenterons de présenter
dans ce paragraphe le décodeur et l’additionneur quant au multiplexeur, transcodeur,
comparateur ; ils seront étudiés en séance de TD
3-3-1 Demi-additionneur et additionneur complet
Un additionneur est un circuit combinatoire fondamental en toute unité de traitement, son rôle est
d’additionner des bits.
L’addition de deux nombres binaires consiste à additionner les bits de même rang en commençant
par les bits des poids faibles vers ceux des poids forts.
Le circuit qui additionne deux nombres de 1 bit chacun sans tenir compte d’une retenue anticipée est
appelé demi-additionneur
 Les entrées (les deux bits à additionner X,Y )
 Une sortie (somme S)
 Une retenue R
X
0
0
1
1
Y
0
1
0
1
S
0
1
1
0
R
0
0
0
1
Table de vérité et logigramme d’un demiadditionneur 1 bit
5
Si on veut considérer une éventuelle retenue anticipée on construit un additionneur complet 1 bit
Il prend en entrée deux bits A et B ainsi que la retenue précédente C 0 , il calcule la somme S de ces
trois valeurs binaires ainsi que la retenue C1 .
On peut remarquer sur la table de vérité que
S est le ou exclusif des trois entrées A, B et C 0
i.e. S = AB C0 et que la retenue C 1 vaut 1
dès que deux des trois entrées valent 1
c’est-à-dire/
C1 = AB +AC0+ BC0.(utiliser Karnaugh)
.Si on veut utiliser des portes XOR on utilise
la simplification algébrique et on trouve :
C1= C0 (AB) + AB
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C0
0
1
0
1
0
1
0
1
C1
0
0
0
1
0
1
1
1
S
0
1
1
0
1
0
0
1
On peut construire le logigramme à partir de ces formules ou en assemblant deux semiadditionneurs en cascade. Le premier semi-additionneur calcule d’abord la somme de A et B puis le
second calcule la somme du premier résultat et de C 0 . La retenue C1 vaut 1 s’il y a au moins une
retenue à une des deux sommes effectuées.
En mettant en cascade k additionneurs complets 1 bits, on construit un additionneur k bits appelé
additionneur par propagation de retenue car la retenue se propage d’additionneur en additionneur.
Exemple :Additionneur 4 bits
6
3-3-2 Le décodeur
Un décodeur k bits possède k entrées et 2 k sorties. La sortie dont le numéro est donné par les
entrées est active (valeur 1) alors que toutes les autres sorties sont inactives (valeur 0).
Une des principales applications du décodeur est le décodage d’une adresse mémoire ou d’un
Code d’une instruction.
Le décodeur 2 bits a deux entrées A0 et A1 et quatre sorties S 0 , S 1 , S 2 et S 3 . La table de
vérité des quatre sorties en fonction des deux entrées est la suivante :
S0 = ¬A1 ¬A0
S1 = ¬A1 A0
S2 = A1 ¬A0
S3 = A1 A0
A1
0
0
1
1
A0
0
1
0
1
S0
1
0
0
0
S1
0
1
0
0
S2
0
0
1
0
S3
0
0
0
1
4- les circuits séquentiels
Un circuit séquentiel est un circuit logique pour lequel l’état des sorties dépend de l’état des
entrées, mais aussi des sorties antérieures. Ce type de circuit tient donc compte dans le temps
des étapes passées, qu’il est capable de mémoriser. Tous ces circuits, que l’on qualifie de
bascules, comprennent donc un état de mémorisation qui permet de mémoriser
la valeur de 1 bit.
la forme générale d'un circuit séquentiel est la suivante :
4.1 Tableau d’état et équations d’état
Un tableau d’état (aussi appelé tableau de transitions d’état) est similaire à une table de
vérité. Il comporte quatre sections : les états présents, les entrées, les états prochains (futurs)
et les sorties.
Les équations d’état d’un circuit séquentiel déterminent la valeur des variables d’état prochain
Et les sorties du circuit en fonction de leurs valeurs d’états présents ainsi que des entrées du
système. Les équations d’état sont aussi appelées équations de transition.
4.2 Bascules élémentaires
De même que les portes logiques constituent les briques de base des circuits combinatoires,
les circuits séquentiels sont construits à partir de cellules élémentaires servant à mémoriser un
bit, connues sous la dénomination de bascules, car elles possèdent deux états stables.
7
4.2.1 Bascule RS
La bascule RS possède 2 entrées : R et S et 1 sortie Q qui correspond à l'état stocké la valeur
de Q à t+1 dépend de R,S et de la valeur de Q à t
R = reset : remise à 0 de Q
S = set : mise à 1 de Q
S=1 et R=0 : Q mis à 1
S=0 et R=1 : Q mis à 0
S=0 et R=0 : Q garde sa valeur, maintien
S=1 et R=1 : Q indéterminé
4.2.2 Bascule JK
La bascule JK est une variante de la bascule RS
On trouve les mêmes valeurs que pou RS
Sauf pour le cas J=K=1 ; on a Qt+1 =
R
0
0
1
1
S
0
1
0
1
J
0
0
1
1
Qt+1
Qt
1
0
?
K
0
1
0
1
Qt+1
Qt
1
0
4.2.3 Bascule D
Cette bascule enregistre sur sa sortie Q la donnée
présente sur son entrée D,
D
0
1
Qt+1
0
1
4.2.4 Bascule T
obtenue en appliquant les mêmes valeurs
aux deux entrées d'une bascule JK
T
0
1
Qt+1
Qt
4.3 Analyse d’un circuit séquentiel
La procédure pour analyser un circuit séquentiel à partir d’un diagramme donné nécessite
Les étapes suivantes :
1. Identifier les variables d’état;
2. Écrire les équations d’état et les équations de sortie;
3. Dresser le tableau d’états;
4. Déduire le rôle du circuit.
4.4 Synthèse d’un circuit séquentiel
Pour réaliser la synthèse d’un circuit séquentiel ; on suit les étapes suivantes:
1. . Déterminer le nombre de bascules;
2. . Construire la table d’états en identifiant les états par des symboles
3. à partir du tableau d’état complet, obtenir les équations booléennes d’entrée des
bascules ainsi que les équations booléennes des sorties du système, en simplifiant si
possible;
4. .Construire le circuit en réalisant les circuits combinatoires associés aux entrées des
bascules et aux sorties et vérifier.
8
4.5 Circuits séquentiels classiques
Les circuits séquentiels les plus courants sont les registres et les compteurs. Les circuits
séquentiels sont aussi utilisés pour réaliser des fonctions logiques qui nécessiteraient un
circuit combinatoire trop complexe, comme la multiplication.
4.5.1 Les registres
Un registre de stockage est un élément de mémorisation permettant de stocker une
information d’une longueur de n bits. Une bascule ne permettant de mémoriser qu’un seul bit,
un registre de n bits sera donc composé d’un ensemble de n bascules; les bascules employées
sont soit des bascules D, soit des bascules JK ; la figure suivante montre un registre à 5 bits.
La commande RAZ permet de mettre à zéro toutes les cellules du registre en même temps ;
Le mot à charger est présenté sur les entrées E1 à E5 qui sont chargées en parallèle, sur un
signal d’horloge délivré sur la ligne CLK. La lecture du mot s’effectue sur les sorties S1 à S5,
également en parallèle.
Registre 5 bits
4.5.2 Les compteurs
Un compteur est une association de n bascules permettant de décrire, au rythme d’une
horloge, une séquence déterminée qui peut avoir au maximum 2n combinaisons différentes.
Les combinaisons apparaissent toujours dans le même ordre. Une combinaison de sortie d’un
compteur est appelée état. Le nombre d’états différents pour un compteur est appelé le
modulo de ce compteur.
Un compteur modulo N démarrant à 0 et comptant dans l’ordre binaire naturel compte de 0 à
N-1 ; la figure suivante décrit un compteur modulo 8 conçu à base de bistables T.
9
Téléchargement