Académique Documents
Professionnel Documents
Culture Documents
Eric Cariou
Universit de Pau et des Pays de l'Adour Dpartement Informatique
Eric.Cariou@univ-pau.fr
1
Circuit logique
Circuit lectronique ralisant une ou plusieurs fonctions logiques Un circuit logique est compos
D'un ensemble de portes logiques De circuits logiques Le tout interconnects entre eux
Circuit combinatoire
Sj= f(Ei)
Les sorties Sj sont fonctions uniquement de la valeur des entres Ei
Portes logiques
Porte NON
_ a | a ---+--0 | 1 1 | 0
Porte ET
Porte ET (AND)
2 entres, 1 sortie a ET b est not a.b ou ab ou a^b
a b | a.b ------+----0 0 | 0 0 1 | 0 1 0 | 0 1 1 | 1
7
Porte OU
Porte OU (OR)
2 entres, 1 sortie a OU b est not a + b ou avb
a b | a + b ------+------0 0 | 0 0 1 | 1 1 0 | 1 1 1 | 1
8
Porte OU exclusif
a b | a b ------+------0 0 | 0 0 1 | 1 1 0 | 1 1 1 | 0
9
Porte NON ET
a b | a.b ------+------0 0 | 1 0 1 | 1 1 0 | 1 1 1 | 0
10
Porte NON OU
a b |a + b ------+------0 0 | 1 0 1 | 0 1 0 | 0 1 1 | 0
11
Autres portes
Exemples
Porte ET 3 entres a, b et c a pour expression logique : abc Porte NOR 4 entres a, b, c et d a pour expression logique : a + b + c + d 12
Principe
Simplifier la fonction logique avec 2 mthodes
13
Principe
Donner l'expression des sorties de chaque porte/composant en fonction des valeurs de ses entres En dduire au final la (ou les) fonction(s) logique(s) du circuit
On peut ensuite
Dterminer la table de vrit du circuit Simplifier la fonction logique l'aide des proprits de 14 l'algbre de Boole ou les tableaux de Karnaugh
15
f a , b, c = a b . b.c
f a , b,c =a bc
En nombre de portes minimales
Aprs simplification
f a , b , c = ac b
16
19
Additionneur demi-bit
Note : on parle de demi-bit car ne prend pas en compte une retenue en entre (voir suite) 20
Additionneur demi-bit
Fonctions logiques de S et R S= x y x y = x y
R = xy
21
Additionneur n bits
Additionneur demi-bit
Fait une somme de 2 bits
Additionneur n bits
Fait l'addition de 2 nombres de n bits Deux ralisations possibles
Concevoir entirement l'additionneur partir de rien Concevoir l'additionneur en rutilisant d'autres composants : des additionneurs 1 bit
22
Additionneur n bits
Additionneur n bits
Si on veut le construire partir de n additionneurs 1 bit
Doit prendre en compte les retenues intermdiaires gnres et leur propagation 1 --> retenue gnre par l'addition des chiffres 010 prcdents additionner en plus aux 2 chiffres +111 ----1001
Insuffisant : prend seulement 2 bits en entre, pas la retenue On parlait donc de demi-additionneur Additionneur qui prend en compte une retenue en entre : additionneur 1 bit complet 23
En rutilisant le demi-additionneur
Le calcul de S se fait via 2 additions
Si la premire addition gnre une retenue : on aura forcment une retenue au final Si la seconde addition gnre une retenue : on aura aussi une retenue au final Donc on fait le OU des 2 retenues 25
26
Additionneur n bits
On enchane en srie 4 additionneurs 1 bit complet Le rsultat est connu aprs propagation des valeurs calcules le long de tout le circuit C = A + B, en prcision 4 bits. R : retenue globale
27
Le nombre de transistors utiliss pour raliser une porte peut varier du simple au double selon les portes 28
29
Ensembles complets minimaux : contenant le moins d'lments {ET, OU, NON} : pas minimal car a b=a . b : OU se dfinit avec ET et NON a . b=a b : ET se dfinit avec OU et NON
{ET, NON} et {OU, NON} sont 2 ensembles complets mais on ne peut pas les simplifier plus
30
a=a.a
OU : OU(a,b) = NAND(NAND(a,a),NAND(b,b))
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
Pour une fonction logique, pour une question de lisibilit, on prfre la version
Avec les termes les plus simples Relis par le moins d'oprateurs
Pour un circuit logique, on cherchera donc le raliser avec des portes NAND ou NOR
Permet de diminuer le nombre total de transistors Permet de ne pas multiplier le nombre de portes diffrentes utiliser
S x , y = x y x y S(x,y)= x y x y = x y x y R = xy = xy = xy
34
Mthode pour passer de la table de vrit au circuit ralis avec des NAND (et des ET) 2 couches de portes NAND
Premire couche :
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
Deuxime couche : on fait un NAND de toutes les sorties des NAND de la premire couche Ncessite des portes NAND a plus de 2 entres
35
Logique 3 tats
Logique 3 tats
Extension de la logique 2 tats avec un troisime tat : tat indfini Utilit principale : activer ou dsactiver des parties d'un circuit lies aux mmes sorties ou lments
37
Logique 3 tats
Une porte, un lment de circuit de logique 3 tats possde une entre supplmentaire
E : Enable
Si E = 1, alors les sorties de cette porte/lment sont actives et ont une valeur de 0 ou 1 Si E = 0, alors les sorties ne sont pas actives et n'ont pas de signification, comme si les sorties taient dconnectes
E : variante complmente
Activ 0 et dsactiv 1
On peut connecter deux sorties ensemble, seule celle qui est active positionnera la valeur (0 ou 1) du conducteur connectant ces deux sorties
38
Logique 3 tats
(1)
(2)
(3)
Pour (1) : si E = 1 alors o = i, si E = 0, alors o = ? (indfini) Pour (2) : si E = 0 alors o = i, si E = 1, alors o = ? (indfini)
Si E = 1, alors chaque ox = ix pour tous les x, sinon tous les 39 ox sont indfinis
Logique 3 tats
Exemple de circuit
Si x = 0 alors Si x = 1 alors
S=a b S= a b=a b
40
Multiplexeur
X entres et 1 sortie Selon une adresse, la sortie prend la valeur d'une des X entres Circuit combinatoire avec
Une sortie K Une adresse code sur n bits 2n entres kx
42
Multiplexeur 4 entres
4 entres, adresse sur 2 bits : a et b Table de vrit | a | b | K | +---+---+----+ | 0 | 0 | k0 | | 0 | 1 | k1 | | 1 | 0 | k2 | | 1 | 1 | K3 | K a , b = k a b k a b k a b k a b 0 1 2 3 D'autres choix de multiplexage sont possibles
43
Multiplexeur 4 entres
44
Multiplexeur 4 entres
45
Dmultiplexeur
1 entre, X sorties Selon une adresse, une des X sorties prend la valeur de l'entre Circuit combinatoire avec
2n sorties kx 1 entre K Une adresse code sur n bits
46
Dmultiplexeur 4 sorties
4 sorties, adresse sur 2 bits : a et b Valeurs des kx sorties selon a et b | a | b | k0 | k1 | k2 | k3 | +---+---+----+----+----+----+ | 0 | 0 | K | 0 | 0 | 0 | | 0 | 1 | 0 | K | 0 | 0 | | 1 | 0 | 0 | 0 | K | 0 | | 1 | 1 | 0 | 0 | 0 | K | k0=a b K k2=a bK
k1=a b K k3=a bK
47
Dmultiplexeur 4 sorties
48
Codeur
Dcodeur
51
3 bits Sx : 8 sorties Ey
S2 S1 S0 | E0 E1 E2 E3 E4 E5 E6 E7 ---------+------------------------0 0 0 | 1 0 0 1 | 1 0 1 0 | 1 0 1 1 | 1 1 0 0 | 1 1 0 1 | 1 1 1 0 | 1 1 1 1 | 1
52
Transcodeur
Fait correspondre un code A en entre sur n lignes un code B en sortie sur m lignes Exemple avec n = 3 et m = 5
a2 a1 a0 | b4 b3 b2 b1 b0 ---------+--------------0 0 0 | 1 0 0 1 0 0 0 1 | 0 1 0 0 1 0 1 0 | 1 0 1 0 0 0 1 1 | 0 1 0 1 0 1 0 0 | 0 0 1 0 1 1 0 1 | 1 0 0 1 0 1 1 0 | 0 1 0 0 1 1 1 1 | 1 0 1 0 0
53
54
Circuits squentiels
Circuits combinatoires
Les sorties ne dpendent que des valeurs des entres
Circuits squentiels
Ajout des notions d'tat et de mmoire Ajout de la notion de temps (horloge)
55
Circuits squentiels
56
Automate fini
Un automate fini possde un nombre fini d'tats Il est caractris, pour un couple d'instants (t, t+1), par
Sa rponse S Son entre E Son tat Q
57
Automate fini
S(t+1) = f( Q(t), E(t) ) : sortie t+1 dpend des entres et tats t Q(t+1) = g ( Q(t), E(t) ) : tat t+1 dpend des entres et tats t
Fonctions de transfert
S(t+1) = Q(t) : la sortie t +1 est gale l'tat t Q(t+1) = E(t) : l'tat t +1 est gal l'entre passe 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 Q(t) +----0 | 0 0 1 | 1 1 S(t+1) \ E(t)| 0 1 Q(t) +----0 | 0 1 1 | 0 1 Q(t+1)
60
Diagramme d'tats/transitions
61
Un 0 correspond 0 volt (parfois -Vm volts) Un 1 correspond +Vm volts 2 niveaux : niveau haut Vh et niveau bas Vb 0 < Vb < Vh < Vm Pour un voltage v
En pratique
Dlai de propagation
63
Dlais
64
Dlais
Voltages
Vm : voltage correspondant au 1 idal Vh : voltage haut, minimum pour avoir un 1 Vb : voltage bas, maximum pour avoir un 0
Dlais
td : temps de descente, passage de 0 1 (voltage de Vh Vb) tm : temps de monte, passage de 0 1 (voltage de Vb Vh) tp : temps de propagation dans la porte (pris la moyenne de Vh et Vb)
65
Dlais
66
Un circuit est form de plusieurs portes Chemin critique : chemin le plus long pour la propagation des signaux travers le circuit
Dtermine le temps total de propagation des signaux travers tout le circuit
Horloge
Ide : on ne lit ses valeurs qu' des instants prcis et des intervalles rguliers
Instants donns par une horloge
Horloge
Indispensable aussi dans le cas des circuits squentiels synchrones pour savoir quand on passe de t t +1
68
Horloge
Horloge
70
Bistable et bascule
Possibilit de passer d'un tat l'autre, de changer l'tat mmoris Plusieurs faons de grer et changer l'tat
71
Bascule RS
Entre/sorties
2 entres : R et S 1 sortie Q qui correspond l'tat stock
Bascule RS
Q+=S Q R
Q+ : valeur de Q l'instant suivant Dans tableau : X = valeur non connue mais sans influence, on peut regrouper dans les blocs 1 73
Bascule RS
74
3 types de bascules
Bascule asynchrone
Bascule synchrone
2 modes
Recalcule les sorties et l'tat quand le signal d'horloge est 1 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 gnral un signal d'horloge sur l'entre de 75 contrle, mais n'importe quel signal peut tre utilis en pratique
3 types de bascules
Bascule D latch
D = delay 2 entres
D : la valeur en entre C : entre de contrle, gnralement un signal d'horloge
1 sortie Q
Q = D si C = 1 Q = Q si C = 0
+ +
Bascule D latch
Q+= DC Q C
Versions condenses :
(C=1) D | Q+ ---+--0 | 0 1 | 1 C | Q+ ---+--0 | Q 1 | D 78
Bascule D latch
S = CD et R = CD
Pour S
Pour R
Avec S = CD et R = CD, tout est cohrent Et le maintien Q += Q de la bascule D lorsque C=0 est cohrent avec le maintien de la RS : R=S=0
79
Bascule D latch
80
Bascule D flip-flop
Bascule D flip-flop
Variante de la D latch Passage t + 1 quand front montant de l'horloge
81
Bascule JK asynchrone
Q+=J QK Q
\ JK Q \ 00 | 01 | 11 | 10 | +----+----+----+----+ 0 | 0 | 0 | 1 | 1 | ---+----+----+----+----+ 1 | 1 | 0 | 0 | 1 | ---+----+----+----+----+ J K | Q+ -----+--0 0 | Q 0 1 | 0 1 0 | 1 1 1 | Q 82
Bascule asynchrone
Pas d'entre CLK ou de contrle
Bascule synchrone
Entre CLK Synchrone sur front : rajoute un triangle sur l'entre de contrle Si rond inverseur
Bascule latch
Bascule flip-flop
83
De gauche droite
Bascule RS asynchrone Bascule D latch sur niveau 1 Bascule D flip-flop sur front montant Bascule D latch sur niveau 0 Bascule D flip-flop sur front descendant
84
Compteur 3 bits
Utilisation de 3 bascules D
Principe
Chaque bascule prend en entre D un signal d'horloge Fournit en sortie un signal d'horloge de frquence divise par 2
3 signaux d'horloge 3 frquences diffrentes Reprsente les combinaisons de bits pour les valeurs de 0 7
86
Compteur 3 bits
87
Registre
Registre 4 bits
Selon la valeur de L, chaque front montant de l'horloge, les sorties des multiplexeurs prennent les valeurs ix ou reprennent les valeurs dj stockes par les bascules
89
Circuit synchrone
Tous les lments/composants du circuit devant tre synchroniss le sont avec le mme signal d'horloge
Circuit asynchrone
Tous les lments/composants du circuit devant tre synchroniss ne le sont pas avec le mme signal d'horloge
90
Mme si certains sont communs plusieurs bascules Les bascules D utilises sont des bascules synchrones flipflop mais le circuit lui est bien asynchrone