Cours 8 - Polytechnique Montréal

Transcription

Cours 8 - Polytechnique Montréal
Cours (1000)2
On pourrait appeler ce cours :
«Bistables et bascules»
Aujourd'hui on apprendra :
c'est quoi un bistable
c'est quoi une bascule
différentes sortes de bistables
différentes sortes de bascules
Bascule
ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005
Pourquoi on apprend ça ?
Bon, la matière de ce cours est important parce-que :
les circuits combinatoires sont limités – les circuits séquentiels
nous permettent de faire des choses plus intéressantes
les circuit séquentiels nécéssitent des mémoires – c'est pour ça
qu'on présente en premier les bistables et bascules (mémoires à
un bit)
ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005
Mémoire numérique à un bit
C'est quoi une mémoire numérique à un bit ?
C'est un circuit capable de mémoriser un valeur
de soit logique-1 ou logique-0.
Peut-être ça c'est évident, mais c'est moins évident comment indiquer
à cette mémoire quel valeur elle doit stocker. Par exemple on peut
explicitement setter et reseter la mémoire (bistable) ou on peut
échantillonner une entrée selon une horloge (bascule).
On commence avec le bistable (simple) et après on examine la
bascule (plus complèxe)...
ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005
Bistable = «teeter totter»
Si on pèse sur le lapin à gauche, il reste en bas. Si on pèse sur le
lapin à droite, il reste en bas :
RESET
SET
Logique-0
Logique-1
Si on ne pèse sur aucun lapin, rien ne change. On a mémorisé un bit
en fonction de quel lapin est en bas !
Si on pèse sur les deux en même temps, on casse le «teeter totter».
ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005
Bistable SR (Set / Reset)
Voilà le circuit d'un bistable SR qui fait justement ça :
S
0
0
1
1
R Q Q'
0 0/1 1/0
1
0 1
0
1 0
1
0 0
État
Stable
Reset
Set
Aaah!
Quand R = 1 on fait un reset et la sortie Q devient 0.
Quand S = 1 on fait un set et la sortie Q devient 1.
En l'absence d'un reset ou set (RS = 00), la sortie ne change pas.
Si on essai de setter et reseter en même temps ça va mal !
ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005
Bistable SR avec «enable»
On peut ajouter un contrôle d'activation à notre bistable :
En S
0 x
1 0
1 0
1 1
1 1
R
x
0
1
0
1
Q(t+1)
Q(t)
Q(t)
0
1
x
Transition
Stable
Stable
Reset
Set
Aaah!
Regardez le deuxième circuit. C'est possible de construire un bistable
SR à partir de portes NET, mais les entrées deviennent inversées.
ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005
Bistable «D»
Après une modification légère, notre bistable SR avec contrôle devient
un bistable «D». Ceci élimine la transition «Aaah!» :
En
0
1
1
EN = 0
D Q(t+1) Transition
x
Q(t) Stable
0
0
Reset
1
1
Set
EN = 1
ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005
Bistable «D» = trappe
On peut penser au bistable «D» comme étant une trappe. Quand on
l'ouvre (Enable = 1), l'entrée tombe à la sortie :
Entrée :
Sortie :
Ici on voit que quand on ouvre la trappe avec Monsieur T. à l'entrée,
ce dernier tombe et écrase la tête de David Hasselhoff qui
représentait la sortie précédente.
ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005
Deux trappes = bascule
À quoi sert cette analogie imbécile ? Regardez qu'est-ce-que se
passe quand on met deux trappes ensemble :
Entrée :
Étage
intermédiare :
Sortie :
Maintenant Monsieur T ne sort qu'avec l'ouverture de la 2ième trappe.
ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005
Bascule maître-esclave
En mettant ensemble deux bistables, on obtient une bascule maîtreesclave. L'entrée «Clk» n'ouvre qu'une trappe à la fois comme était le
cas avec Monsieur T dans l'acétate précédente :
CLK = 1
Maître
CLK = 0
Esclave
Ça fait que l'entrée ne passe par la sortie qu'après un front
descendant de l'horloge «Clk». Un front descendant est une transition
de 1 vers 0.
ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005
Bascule D
En modifiant un peu le circuit, on obtient la bascule «D» qui transition
sur le front montant de l'horloge.
Clk Q(t+1)
x
Q(t)
D
(Front montant)
Symbole
Q(t+1) est la valeur de la sortie après un front montant, tandis que Q
(t) est la valeur avant le front montant.
ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005
Bascule D «de luxe»
Et, si on veut toujours la capacité de setter et reseter la bascule hors
du contrôle de l'horloge (c'est à dire asynchronement) :
Symbole
ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005
Bascule T (Toggle)
Et, si on modifit légèrement la bascule «D» on obtient la bascule
préférée de Monsieur T :
Symbole
Clk T Q(t+1)
x x Q(t)
0 Q(t)
1 Q(t) (toggle)
La sortie est inversée sur un front montant de l'horloge avec T = 1.
Sinon ça ne change pas.
ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005
Bascule JK (Jolt / Kill)
Encore quelques modifs et on obtient une bascule omnipotente :
Symbole
Clk J K Q(t+1)
x x x Q(t)
0 0 Q(t)
(Kill)
0 1
0
(Jolt)
1 0
1
1 1 Q(t) (toggle)
ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005
Sommaire (par Monsieur T)
Knight Rider is an inferior show to the
'A' Team – that's why I crushed you like a
bug David Hasselhoff!
ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005
Lecture et devoirs
Lecture recommandé :
6.1 – 6.1
Et, si vous n'avez rien d'autre à faire :
Revisez votre intra
Problèmes pertinents :
6.1, 6.3, 6.4, 6.8, 6.12
I pity the fool who don't do his devoirs!
ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005