Mathematics">
[go: up one dir, main page]

0% ont trouvé ce document utile (0 vote)
36 vues16 pages

Cours 3 Circuits Logiques Par6

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1/ 16

Circuit logique

 Circuit électronique réalisant une ou plusieurs


Circuits logiques fonctions logiques
 Un circuit logique est composé
 D'un ensemble de portes logiques
 De sous-circuits logiques
Eric Cariou  Le tout interconnectés entre eux
Université de Pau et des Pays de l'Adour  Deux types de circuits logiques
UFR Sciences Pau - Département Informatique  Circuits combinatoires : S = f(E)
Eric.Cariou@univ-pau.fr  Circuits séquentiels : notion d'état et de mémoire

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

Portes logiques Porte NON


 Une porte logique
 Circuit combinatoire de base  Porte NON (NOT)
 Réalisant une opération logique de base
 1 entrée, 1 sortie
 Exemple : OU, ET, NON, correspondant aux opérateurs
de l'algèbre de Boole
 NON a est noté a
 Une porte est définie par _
 Une table de vérité et/ou une expression logique a | a
---+---
définissant son résultat en fonction de son/ses entrée(s) 0 | 1
 Un symbole graphique 1 | 0

5 6
Porte ET Porte OU

 Porte ET (AND)  Porte OU (OR)


 2 entrées, 1 sortie  2 entrées, 1 sortie
 a ET b est noté a.b ou ab ou a^b  a OU b est noté a+b ou avb

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

Porte OU exclusif Porte NON ET


 Porte OU-exclusif (XOR)
 2 entrées, 1 sortie  Porte NON ET (NAND)
 a OU-exclusif b est noté ab  2 entrées, 1 sortie
 Variante du OU avec seulement une des deux  a NAND b est noté a . b
variables qui doit être à 1
a b | a  b a b | a.b
------+------- ------+-------
0 0 | 0 0 0 | 1
0 1 | 1 0 1 | 1
1 0 | 1 1 0 | 1
1 1 | 0 1 1 | 0

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

Exemple d'analyse de circuit Exemple d'analyse de circuit


 Exemple de circuit logique
 Quelle est la fonction logique de ce circuit ?
 A partir de son logigramme
 3 entrées, 1 sortie
 f (a , b , c )=(a +b ). (b . c )
 Composé uniquement de portes logiques
 Après simplification
 f (a , b , c )=a +b +c
 En nombre de portes minimales
f (a , b , c )=(a c )+b

15 16

Exemple d'analyse de circuit Exemple d'analyse de circuit


 Table de vérité de la fonction simplifiée
 Table de vérité de l'exemple a b c | a | c | a+b+c
-------+---+---+-------
0 0 0 | 1 | 1 | 1
a b c |a+b=x | b | b.c=y | x.y | x.y
0 0 1 | 1 | 0 | 1
-------+------+---+-------+-----+----- 0 1 0 | 1 | 1 | 1
0 0 0 | 0 | 1 | 0 | 0 | 1 0 1 1 | 1 | 0 | 1
0 0 1 | 0 | 1 | 1 | 0 | 1 1 0 0 | 0 | 1 | 1
0 1 0 | 1 | 0 | 0 | 0 | 1 1 0 1 | 0 | 0 | 0
0 1 1 | 1 | 0 | 0 | 0 | 1 1 1 0 | 0 | 1 | 1
1 0 0 | 1 | 1 | 0 | 0 | 1 1 1 1 | 0 | 0 | 1
1 0 1 | 1 | 1 | 1 | 1 | 0
1 1 0 | 1 | 0 | 0 | 0 | 1  On trouve les mêmes valeurs dans les 2 tables
1 1 1 | 1 | 0 | 0 | 0 | 1
 Les fonctions sont bien égales
17 18
Manipulation de nombres
Exemple de synthèse de circuit  En 1938, Claude Shannon fait le lien entre
l'algèbre de Boole et des composants électriques
 Soit la fonction  Début de l'ère de l'électronique numérique
f (a , b , c )=a b c +a b c +a b c +a b c  Unification des « 0 » et des « 1 »
 0 logique/booléen = 0 binaire (nombre) = absence de
 Après simplification, on obtient courant électrique (ou une tension -V)
f (a , b , c )=a c +b c  1 logique/booléen = 1 binaire (nombre) = tension +V
 Cela permet
 De construire les portes électriques/électroniques de base
correspondant aux opérateurs de l'algèbre de Boole
 De réaliser des circuits effectuant des calculs avec des
nombres codés en binaire
19  Un calcul = une fonction logique de l'algèbre de Boole 20

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

Additionneur n bits Additionneur n bits


 Additionneur n bits
 Additionneur demi-bit  Si on veut le construire à partir de n additionneurs 1 bit
 Fait une somme de 2 bits  Doit prendre en compte les retenues intermédiaires générées
et leur propagation
 Additionneur n bits 1 --> retenue générée par l'addition des chiffres
 Fait l'addition de 2 nombres de n bits 010 précédents à additionner en plus aux 2 chiffres
+111
 Deux réalisations possibles -----
 Concevoir entièrement l'additionneur à partir de rien 1001
 Concevoir l'additionneur en réutilisant d'autres composants :  Additionneur demi-bit précédent
des additionneurs 1 bit  Insuffisant : prend seulement 2 bits en entrée, pas la retenue
 On parlait donc de demi-additionneur
 Additionneur qui prend en compte une retenue en entrée :
additionneur 1 bit complet

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

Ensembles complets de fonctions Ensembles complets de fonctions


logiques de base logiques de base
 Dans les exemples précédents  3 ensembles complets de fonctions
 On a construit des circuits avec n'importe quelles  {ET, OU, NON}
portes : ET, OU, NON, NAND, NOR, XOR ...
 {NOR}
 Il existe des ensembles complets de portes
 {NAND}
(fonctions logiques de base)
 Pour prouver que ces ensembles sont complets
 Les portes d'un ensemble complet permettent de
réaliser n'importe quel circuit (fonction logique)  Montrer qu'on peut spécifier toutes les fonctions de
 Peut être utile pour limiter le coût d'un circuit base à partir des fonctions d'un ensemble
 Le nombre de transistors utilisés pour réaliser une porte
varie selon les portes
 Porte NON : 2 transistors, portes NAND et NOR : 4
transistors, portes OU, AND et XOR : 6 transistors 29 30
Ensembles complets de fonctions Ensembles complets de fonctions
logiques de base logiques de base
 Ensembles complets minimaux : contenant le  2 ensembles complets minimaux à 1 élément
moins d'éléments  {NAND} et {NOR}
 {ET, OU, NON} : pas minimal car  Preuve pour NAND
 a +b =a . b : OU se définit avec ET et NON  On doit pouvoir définir à partir d'un NAND :
 a . b =a +b : ET se définit avec OU et NON  NON : NON(a) = NAND(a,a) a =a . a
 {ET, NON} et {OU, NON} sont 2 ensembles  OU : OU(a,b) = NAND(NAND(a,a),NAND(b,b))
complets mais on ne peut pas les simplifier plus a +b =a . a . b . b
 ET : ET(a,b) = NAND(NAND(a,b),NAND(a,b))
a . b =a . b . a . b
 NOR, XOR : combinaisons de NON, ET et OU donc peut
s'exprimer avec des NAND
31 32

Simplification des fonctions/circuits Simplification des fonctions/circuits


 Pour une fonction logique, pour une question de  Pour un circuit logique, on cherchera donc à
lisibilité, on préfère la version le réaliser avec des portes NAND ou NOR
 Avec les termes les plus simples  Permet de diminuer le nombre total de transistors
 Reliés par le moins d'opérateurs  Permet de ne pas multiplier le nombre de portes
 En pratique, lors de la réalisation du circuit différentes à utiliser
 Ça ne sera pas forcément la version la moins coûteuse  Exemple : demi-additionneur 1 bit
en terme d'éléments électroniques (transistors)  S (x , y )=x y +x y et R =x y
 Une porte NAND ou NOR est moins coûteuse en  On va exprimer R et S avec des NAND
transistors qu'une porte OU ou ET  On utilise également des NON car moins coûteux en
transistors

33 34

Table de vérité → circuit


Demi-additionneur avec NAND
en portes NAND
 Pour transformer R et S, on passe par  Méthode pour passer de la table de vérité au
l'involution circuit réalisé avec des NAND (et des ET)
 S (x , y )=x y +x y  2 couches de portes NAND
S ( x , y ) =x y +x y =x y x y
 Première couche :
 R =x y =x y =(x y )
 Pour chaque valeur de f(Xi) égale à 1
 On fait un NAND de tous les Xi en prenant Xi si Xi =1 ou
Xi si Xi =0
 Deuxième couche : on fait un NAND de toutes les
sorties des NAND de la première couche
 Nécessite des portes NAND a plus de 2 entrées

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

Logique à 3 états Logique à 3 états


 Une porte, un élément de circuit de logique à 3  Exemples de portes/composants de logique à 3 états
états possède une entrée supplémentaire
 E : enable (permettre)
 Si E=1, alors les sorties de cette porte/élément sont actives et
ont une valeur de 0 ou 1
 Si E=0, alors les sorties ne sont pas activées et n'ont pas de (1) (2) (3)
signification, comme si les sorties étaient « déconnectées »  Portes (1) et (2)
 E : variante complémentée  Éléments les plus simples : active ou désactive la sortie o
 Activé à 0 et désactivé à 1 selon la valeur de E
 On peut connecter deux sorties ensemble, seule celle  Pour (1) : si E=1 alors o=i, si E=0, alors o=? (rien)
qui est activée positionnera la valeur (0 ou 1) du  Pour (2) : si E=0 alors o=i, si E=1, alors o=? (rien)
conducteur connectant ces deux sorties  Porte (3) : active les 4 sorties en fonction de E
 Multiplexage (voir suite)  Si E=1, alors chaque ox=ix pour tous les x, sinon tous les
39 ox sont indéfinis 40

Logique à 3 états Composants logiques utilitaires


 Exemple de circuit
 Dans beaucoup de circuits, on aura besoin de
certains composants logiques facilitant
 La gestion du flux de données
 Multiplexeur : une des X entrées vers 1 sortie
 Démultiplexeur : 1 entrée vers une des X sorties
 Selon la valeur de x, S correspond à la sortie d'une des 2  L'activation/adressage de certains composants
portes  Décodeur : active une et une seule de ses X sorties selon un
 Si x=0 alors S =a b code en entrée
 Codeur : pour 1 entrée active parmi toutes, fournit un code en
 Si x=1 alors S =a +b =a b
sortir
 Transcodeur : pour un code A fournit un code B

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

Multiplexeur 4 entrées Multiplexeur 4 entrées


 Logigramme et symbole pour le multiplexeur  Variante avec logique à 3 états
à 4 entrées
Selon la valeur de a et b,
on ne redirige un des
quatre kx vers K

45 46

Démultiplexeur Démultiplexeur à 4 sorties


 4 sorties, adresse/code sur 2 bits : a et b
 1 entrée, X sorties
 Valeurs des kx sorties selon a et b
 Selon une adresse, une des X sorties prend | a | b | k0 | k1 | k2 | k3 |
la valeur de l'entrée +---+---+----+----+----+----+
 Les autres sorties sont à 0 | 0 | 0 | K | 0 | 0 | 0 |
 Circuit combinatoire avec | 0 | 1 | 0 | K | 0 | 0 |
| 1 | 0 | 0 | 0 | K | 0 |
 2n sorties kx | 1 | 1 | 0 | 0 | 0 | K |
 1 entrée K  k 0 =a b K k 1 =a b K
 Une adresse codée sur n bits k 2 =a b K k 3 =a b K

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

Codeur sur 3 bits Décodeur


 3 bits Sx en sortie et 8 entrées Ey  Active une des X sorties selon un code
E0 E1 E2 E3 E4 E5 E6 E7 | S2 S1 S0  Code : sur n bits
-------------------------+---------  Nombre de sorties : 2n (en général)
1 0 0 0 0 0 0 0 | 0 0 0
0 1 0 0 0 0 0 0 | 0 0 1  Exemple classique de décodeur
0 0 1 0 0 0 0 0 | 0 1 0
0 0 0 1 0 0 0 0 | 0 1 1
 Numérotation de 0 à 2n -1 des sorties
0 0 0 0 1 0 0 0 | 1 0 0  Le code représente le numéro codé en binaire de
0 0 0 0 0 1 0 0 | 1 0 1 la sortie à activer
0 0 0 0 0 0 1 0 | 1 1 0  Les autres sorties sont toutes à 0
0 0 0 0 0 0 0 1 | 1 1 1

51 52

Décodeur sur 3 bits Transcodeur


 Fait correspondre un code A en entrée sur n
lignes à un code B en sortie sur m lignes
 3 bits Ex : 8 sorties Sy
 Exemple avec n = 3 et m = 5
E2 E1 E0 | S0 S1 S2 S3 S4 S5 S6 S7
---------+------------------------- a2 a1 a0 | b4 b3 b2 b1 b0
0 0 0 | 1 0 0 0 0 0 0 0 ---------+---------------
0 0 1 | 0 1 0 0 0 0 0 0 0 0 0 | 1 0 0 1 0
0 1 0 | 0 0 1 0 0 0 0 0 0 0 1 | 0 1 0 0 1
0 1 1 | 0 0 0 1 0 0 0 0 0 1 0 | 1 0 1 0 0
1 0 0 | 0 0 0 0 1 0 0 0 0 1 1 | 0 1 0 1 0
1 0 1 | 0 0 0 0 0 1 0 0 1 0 0 | 0 0 1 0 1
1 1 0 | 0 0 0 0 0 0 1 0 1 0 1 | 1 0 0 1 0
1 1 1 | 0 0 0 0 0 0 0 1 1 1 0 | 0 1 0 0 1
1 1 1 | 1 0 1 0 0
53 54
Circuits séquentiels
 Circuits combinatoires
 Les sorties ne dépendent que des valeurs des entrées
 Circuits séquentiels
Circuits Logiques  Ajout des notions d'état et de mémoire
(2) Circuits Séquentiels  Ajout de la notion de temps (horloge)

55 56

Circuits séquentiels Automate fini


 Les valeurs de sorties du circuit dépendent  Un automate fini possède un nombre fini d'états
 Des valeurs en entrée  Il est caractérisé, pour un couple d'instants
 De valeurs calculées précédemment (t, t+1), par
 De l'état dans lequel on se trouve  Sa réponse S
 Théories utilisées pour étudier/spécifier les  Son entrée E
différents types de circuits  Son état Q
 Circuits combinatoires : algèbre de Boole
 Circuits séquentiels : théorie des automates finis

57 58

Automate fini Exemple d'automate fini


 Mémoire binaire : stocke 1 bit
 3 façons de déterminer un automate
 1 entrée
 Fonctions de transfert
 S(t+1)=f(Q(t),E(t)) : sortie à t+1 dépend des
 Si 0, on mémorise la valeur 0
entrées et états à t  Si 1, on mémorise la valeur 1
 Q(t+1)=g(Q(t),E(t)) : état à t+1 dépend des
entrées et états à t
 2 états : valeur 0 ou valeur 1
 Tables de transition : tables des fonctions f et g  Principe
 Valeurs de Q(t+1) et S(t+1) pour chaque  A t on est dans un état X, à t+1, on passe dans
combinaison de valeurs de E(t) et Q(t) un état Y selon la valeur de l'entrée à t
 Diagrammes d'états ou de transitions  La sortie S à t+1 prend la valeur de l'état à t

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

Caractéristiques électriques et Caractéristiques électriques et


temporelles temporelles
 D'un point de vue électrique et idéal
 Un 0 correspond à 0 volt (parfois à -Vm volts)
 Changement de valeur (0 → 1 ou 1 → 0)
 Idéalement : instantané
 Un 1 correspond à +Vm volts
 En pratique : prend un certain temps, délai de
 En pratique montée (0 → 1) et de descente (1 → 0)
 2 niveaux : niveau haut Vh et niveau bas Vb  Passage d'un signal au travers d'une porte
0 < Vb < Vh < Vm  Idéalement : instantané
 Pour un voltage v  En pratique : prend un certain temps
 0 < v < Vb : représente un 0  Délai de propagation
 Vh < v < Vm : représente un 1
 Vb < v < Vh : indéfini
63 64

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

3 types de bascules Bascule D latch


 Détermination du temps suivant (passage  D = delay
de t à t + 1) selon le type de bascule
 2 entrées
 Asynchrone
 Quand les entrées changent et la sortie est recalculée
 D : la valeur en entrée
 Synchrone sur niveau  C : entrée de contrôle, généralement un signal d'horloge
 Quand le niveau haut (ou bas) est atteint  1 sortie Q
 Synchrone sur front  Q+=D si C = 1
 Au moment du passage de 0 à 1 ou de 1 à 0 selon le type de
front utilisé par la bascule  Q+=Q si C = 0
 Dans tous les cas  Si C est un signal d'horloge
 Quand on recalcule, les valeurs prises pour l'état et les entrées  Retarde le signal en entrée D d'une période d'horloge
sont celles juste avant de passer à t + 1, quand on est encore à t

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

Représentation des différents


Bascule JK asynchrone
types de bascule
 JK = « rien de particulier », variante de RS  Bascule asynchrone
 Comme pour RS mais ajoute le cas de R=S=1  Pas d'entrée CLK ou de contrôle
+
 Si J = K = 1 alors Q =Q  Bascule synchrone
J K Q | Q+ Q+=J Q+K Q  Entrée CLK
------+---  Synchrone sur front : rajoute un triangle sur l'entrée
0 0 0 | 0 \ JK
0 0 1 | 1 Q \ 00 | 01 | 11 | 10 | J K | Q+ de contrôle
0 1 0 | 0 +----+----+----+----+ -----+---  Si « rond inverseur »
0 1 1 | 0 0 | 0 | 0 | 1 | 1 | 0 0 | Q
1 0 0 | 1 ---+----+----+----+----+ 0 1 | 0  Bascule latch
1 0 1 | 1 1 | 1 | 0 | 0 | 1 | 1 0 | 1  Modifie la sortie quand valeur d'horloge à 0 (1 par défaut)
1 1 0 | 1 ---+----+----+----+----+ 1 1 | Q  Bascule flip-flop
1 1 1 | 0  Actif sur front descendant (montant par défaut)

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

Compteur 3 bits Compteur 3 bits


 Utilisation de 3 bascules D  Chronogramme du compteur 3 bits
 Principe  Version idéale, ne prend pas en compte les temps de
 Chaque bascule prend en entrée D un signal d'horloge propagation à travers les bascules
 Fournit en sortie un signal d'horloge de fréquence divisée par 2
 En mettant en série les 3 bascules
 3 signaux d'horloge à 3 fréquences différentes
 Représente les combinaisons de bits pour les valeurs de 0 à 7

87 88

Registre Registre 4 bits


 Registre : mot mémoire de X bits  Selon la valeur de L, à chaque front montant de l'horloge, les
sorties des multiplexeurs prennent les valeurs ix ou
 Composant utilisé en interne dans un processeur
reprennent les valeurs déjà stockées par les bascules
pour stocker des valeurs lors de l'exécution d'un
programme par ce processeur
 Exemple : registre 4 bits
 4 bascules D stockent les 4 bits
 4 bits Ix en entrée pour écrire le mot
 4 bits Ox en sortie pour récupérer la valeur du mot
 Une entrée L (pour « load ») précise si on conserve
la valeur du mot stocké (valeur 0) ou écrit le mot
avec les 4 bits en entrée (valeur 1)

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

Vous aimerez peut-être aussi