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