INF1500 : Logique des systèmes numériques

35
Sylvain Martel - INF1500 1 INF1500 : Logique des systèmes numériques Cours 5: Loquets (latches) et bascules (flip-flops)

Transcript of INF1500 : Logique des systèmes numériques

Page 1: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 1

INF1500 : Logique des systèmes numériques

Cours 5: Loquets (latches) et bascules (flip-flops)

Page 2: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 2

Introduction aux circuits séquentiels

À date on n’a considéré que les circuits combinatoires. Ceux-ci nous permettent de réaliser une foule de fonctions utiles telles que la génération de signaux de contrôle d’un système d’alarme en fonction de l’état de différents senseurs ou l’addition et la soustraction de nombres binaires. Cependant, il serait impossible de réaliser des circuits dont la sortie dépend du temps ou des circuits qui doivent « se souvenir » d’un état particulier en utilisant uniquement des composantes combinatoires. Un exemple simple est la mémoire d’une calculatrice pour conserver un résultat qui doit être réutilisé.

Page 3: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 3

Définitions

• Bascules: élément de mémoire, constitué d’un ensemble de portes logiques à deux états stables.

Bascules (multivibrateurs* bistables)

Synchrones (flip flop) Asynchrones (loquet ou latch)

* Multivibrateur bistable => 2 états stablesMultivibrateur monostable => 1 état stableMultivibrateur astable => aucun état stable

Page 4: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 4

Latch R’-S’

S_L

R_L

Q0 0

0 1

1 01 1 last Q

1

0

1

Q

0

1

1

(a) (b) (c)

S Q

QR

last QN

QNor S

or R

QN

S_L R_L

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

Page 5: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 5

01

1

1

11

01

0

0

1

Deux états stables (mémoire) quand /S=/R=1:

1

Page 6: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 6

10

0

1

1

Mise à 1 de l’élément de mémoire:

0

Page 7: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 7

01

1

0

0

Mise à 0 de l’élément de mémoire:

1

Page 8: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 8

10

1

0

1

Lorsque S’=R ’=0:

1

Page 9: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 9

Latch R’-S’ - Suite

R’=0 et S’=0 représente un état indésirable car:

On a Q et /Q = 1L’état de sortie de la bascule est conditionné par l’entrée qui revient à 1 en premier => résultats imprévisibles

Page 10: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 10

10

1

0

11

→1

→1

Si /R et /S passe à 1 en même temps, le résultat de Q et /Qest fonction de la porte qui aura le plus petit délai => non prévisible

Lorsque S’=R ’=0:

Page 11: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 11

10

1

0

1

1

→1

→1

Si la porte du haut possède le plus petit délai alors Q=0 et /Q=1

→ 0

→ 0

Page 12: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 12

10

1

0

1

1

→1

→1

Si la porte du bas possède le plus petit délai alors Q=1 et /Q=0

→ 0

→ 0

Page 13: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 13

Règle d’or

Afin d’éviter les résultats non prévisibles (non déterministe), les entrées doivent changer une à la fois, laissant suffisamment de temps entre deux entrées successives pour permettre des états stables (c’est de la que proviennent le temps de stabilisation et de maintien).

Page 14: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 14

Latch R-S (Reset-Set)

Latch R-S: élément de mémoire construit à partir de deux portes NON-ET:

R

S

Q0 0

0 1

1 0

1 1

S R

0

0

1

last Q

Q

1

0

0

(a) (b)

QN

last QN

QN

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

Page 15: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 15

Latch R-S - Suite

Q

QNR

(b) (c)(a)

S Q

QNR

S SQ

QR

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

Page 16: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 16

Latch R-S: Diagramme temporel(Timing Diagram)

S

R

Q

tpHL(RQ)tpLH(SQ)

(2)

(1)

tpw(min)

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

Page 17: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 17

Latch R-S avec signal enable

1 1

0 1

1 0

S

1

1

1

CR

0

1

1

Q

0 0 1 last Q

xx 0 last Q

1

0

1

(b) (c)(a)

Q

S

C

R

S Q

QR

C

QN

last QN

last QNQN

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

Page 18: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 18

Latch R-S avec signal enable

S

R

C

Q

Ignored since C is 0. Ignored until C is 1.

QN

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

Page 19: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 19

Latch D avec signal enable (74LS75)

(b) (c)(a)

Q

D

C 0

1

D

1

1

C

0

1

Q

x0 last Q

1

0

D Q

QC

QN

QN

last QN

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

But: enlever l’entrée R=S=1 de la table de vérité du latch R-S

En réalité on enlève les lignes1 et 4

Page 20: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 20

Latch D avec signal enable

D

C

Q

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

Page 21: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 21

Latch D avec signal enable - Suite

D

C

Q

tholdtsetuptpLH(DQ)tpLH(DQ)

tpHL(DQ)tpLH(CQ)

tpHL(CQ)

(1) (2) (3) (5)(4)

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

Page 22: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 22

Bascule D (D Flip-flop – DFF)

Positive-edge triggered D flip-flop

(b) (c)(a)

QD

CLK

CLK

0

1

D

0

1

Q

0x last Q

1

0

1x last Q

D Q

C

D Q

QCD Q

QCLK

QM

QN

QN

last QN

last QN

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

Page 23: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 23

Bascule D

D

CLK

Q

tholdtsetuptpHL(CQ)tpLH(CQ)

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

Page 24: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 24

Bascule D (D Flip-flop – DFF)

Negative-edge triggered D flip-flop

(b) (c)(a)

QD

CLK_L

CLK_L

0

1

D

0

1

Q

0x last Q

1

0

1x last Q

D Q

C

D Q

QC

D Q

QCLK

QN

QN

last QN

last QN

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

1 1 1

1 0→ 0 → 1

Page 25: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 25

Bascule D (signaux de contrôle asynchrones)

(a)

DPR

CLR

Q

QCLK

D

PR_L

CLK

CLR_L

Q

(b)

QN

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

Page 26: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 26

Bascule D 74LS74

D

CLK

PR_L

CLR_L Q

QN

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

Page 27: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 27

Bascule J-K

On a tout d’abord construit un latch J-K à partir d’un latch R-S, pour la même raison qu’on a construit un latch D à partir d’un latch R-S (i.e. éliminer la ligne 1 de la table de vérité).Ensuite, on a rendu synchrone le latch J-K => bascule J-K.La bascule J-K est plus ancienne que la bascule D, et comparativement à cette dernière, aujourd’hui on l’utilise de moins en moins.

Page 28: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 28

Latch J-K à partir d’un latch R’-S’

Si à l’initialisation on a Q≠/Q alors impossible d’avoir en même temps 0 sur les deux fils, donc Q=/Q=1.

J

K

C

Q

/Q

Page 29: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 29

Bascule J-K à partir d’une bascule D

(b)(a) (c)CLK

0

K Q

last Q last QN

QN

0

J

x 1 last Q last QNx

x 0 last Q last QNx

1 0 10

0 1 01

1 last QN last Q1

Q

QN

J

CLK

KD Q

QCLK

J Q

QK

CLK

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

Page 30: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 30

Bascule J-K - Suite

K

J

CLK

Q

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

Page 31: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 31

Bascule J-K (74LS109)

J

CLK

PR_L

CLR_L Q

QN

K_L

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

Page 32: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 32

T (Toggle) Flip-flop

Q

QT

EN

(a) (b)

T

EN

Q

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

Q

Q QN

QT

J

K

CLKQN

Q

(a)

D Q

QCLKT

(b)

1

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

Circuits équivalents

XOREN EN

Page 33: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 33

Équations caractéristiques

S-R latchQ(t+1) = S(t) + R’(t) . Q(t)

D latchQ(t+1) = D(t)

Edge-triggered D flip-flopQ(t+1) = D(t)

Master/slave S-R flip-flopQ(t+1) = S(t) + R’(t) . Q(t)

Master-slave J-K flip-flopQ(t+1) = J(t) . Q’(t) + K’(t) . Q(t)

Edge-triggered J-K flip-flopQ(t+1) = J(t) . Q’(t) + K’(t) . Q(t)

T flip-flopQ(t+1) = Q’(t)

Page 34: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 34

Exercices

Q

Q

CLK

CK

D QA(14)

Q

QCK

D QB(13)

Q

QCK

D QC(12)

Q

QCK

D QD(11)

RCO(15)

(6)D

(7)ENP

(10)ENT

(5)C

(4)B

(3)A

(1)CLR_L

(9)

(2)

LD_L

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

Page 35: INF1500 : Logique des systèmes numériques

Sylvain Martel - INF1500 35