INF1500 : Logique des systèmes...

36
Sylvain Martel - INF1500 1 INF1500 : Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes (MSI)

Transcript of INF1500 : Logique des systèmes...

Page 1: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 1

INF1500 : Logique des systèmes numériques

Cours 6: Circuits séquentiels plus complexes (MSI)

Page 2: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 2

Registres

Un registre est un ensemble de bascules et de quelques portes logiques pour garder en mémoire un code binaire de façon temporaire. Dans ce chapitre, on considère principalement les registres construits avec des bascules D.

En plus d’une horloge, un registre a besoin d’un signal de contrôle pour indiquer quand les données placées àl’entrée doivent être chargées en mémoire. Une façon robuste de réaliser ce circuit consiste à placer un multiplexeur à l’entrée de chaque bascule. Le signal de contrôle est appliqué à la ligne de sélection du multiplexeur. Le diagramme suivant représente un registre à 1 bit.

Page 3: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 3

Registres - Suite

Le registre est chargé de la valeur D0 sur une transition d’horloge quand le signal ‘charge’ a la valeur 1. Tant que ‘charge’ vaut 0, le registre garde en mémoire la valeur qu’il contient.

Page 4: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 4

Registre à chargement parallèle

En plaçant plusieurs registres à 1 bit en parallèle, on peut garder en mémoire des codes à plusieurs bits. On obtient ainsi un registre à chargement parallèle. Le diagramme suivant représente un registre à chargement parallèle à 4 bits.

Page 5: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 5

Pentium

Page 6: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 6

Processeur: Temps par étage du pipeline (UCT – CPU)

T1 T2 T3

Horloge

FREQ = 1 / MAX (T1, T2, T3)

Registre

Page 7: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 7

Registre à décalage(Shift Register)

Un registre à décalage permet d’effectuer un décalage sériel de son contenu. Il y a plusieurs applications pour ce genre de registre. On pense entre autres aux communications sérielles RS-232 et à la multiplication et la division binaires.

Le décalage peut s’effectuer vers la droite, la gauche ou les deux.

Page 8: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 8

Shift-Register (SR)

74x175

CLR

CLK

1D1Q

9

2

1Q3

1

4

2D5

3D12

4D13

2Q7

6

3Q10

11

4Q

2Q

3Q

4Q

15

14

(b)

(a)

D Q

QCLK

CLR

(2)

(3)

(4)1Q

1Q_L

1D

D Q

QCLK

CLR

(7)

(6)

(5)2Q

2Q_L

2D

D Q

QCLK

CLR

(10)

(11)

(12)3Q

3Q_L

3D

D Q

QCLK

CLR

(15)

(14)

(13)

(9)

(1)

4Q

4Q_L

4D

CLK

CLR_L

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

Page 9: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 9

Multiplication et Division (SR)

0 0 1 0 = 2

0 1 0 0 = 2 x 2 = 4

0 0 1 0 = 4 ÷ 2 = 2

Page 10: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 10

Pentium

MultiplicationDivision

Page 11: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 11

Compteurs

Un compteur est un registre dont le contenu change (en général) avec chaque coup d’horloge. Le compteur passe à travers une séquence prédéfinie d’états indépendamment de tout signal d’entrée (àpart l’horloge). La sortie du compteur est donnée directement par ses variables d’état, c’est à dire par la valeur de chaque bascule.

Par exemple, un compteur binaire à trois bits aurait la séquence {000, 001, 010, 011, 100, 101, 110, 111, 000, 001, 010, etc.}.

Il y a plusieurs sortes de compteurs et plusieurs façons de les réaliser.

Page 12: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 12

Types de compteurs

Compteurs à déferlement (en cascade)

Dans un compteur à déferlement (ripple counter), les différentes bascules n’ont pas d’horloge commune. La sortie d’une bascule sert plutôt de signal d’horloge à la bascule suivante.

Ce genre de circuit n’est pas très fiable, surtout si le nombre de bascules est grand, parce qu’il est de nature asynchrone (pas d’horloge commune). Cependant, il est très simple.

L’utilisation de bascules JK connectées en configuration T (Toggle) simplifie grandement le circuit par rapport àl’utilisation de bascules D.

Page 13: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 13

Types de compteurs - Suite

Compteurs synchrones

Dans un compteur synchrone, les bascules partagent une horloge commune.

Autres compteurs

Compteurs vers le haut, vers le bas, vers le haut ou le bas, avec ou sans chargement parallèle, avec ou sans signal de remise à zéro ou à un, avec ou sans possibilité de décalage vers la droite ou la gauche, BCD, avec une séquence arbitraire, alouette, etc.

Page 14: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 14

Compteurs en cascade (asynchrones)

Q

QTCLK

T

T

T

Q0

Q1

Q2

Q3

Q

Q

Q

Q

Q

Q

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

Page 15: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 15

Compteurs synchrones 2 bits

EN

CLK

D0 Q0

D1 Q1

MAX

D Q

QCLK

D Q

QCLK

current state

excitation

output

input

clock signal

Next-state Logic F State Memory Output Logic G

EN′

EN

Q0′

Q0

Q1′

Q1

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

Page 16: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 16

Compteurs synchrones 4 bits

Q

T

EN

CLK

CNTEN

Q

T

Q

T

Q

T

Q0

Q1

Q2

Q3

EN

EN

EN

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

Page 17: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 17

Compteur 74LS163

74x163

CLR

CLK

LD

QA

QB

2

14

11

1

9

ENP

ENT

7

10

A

B

3

4

C

D

5

6QC

QD15

RCO

13

12

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

74x163

CLR

CLK

LD

QA

QB

2

14

11

1

9

ENP

ENT

7

10

A QA

QB

QC

QD

RCO

B

3

4

C

D

5

6QC

QD15

RCO

U1

13

12

CLOCK

RPU+5 V

R

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

Page 18: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 18

Compteur 74LS163 (gate level)

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 19: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 19

Compteurs 74LS161 et 74LS163(timing diagram)

CLK

QA

QB

QC

QD

COUNT 0 1 2 8 9 10 11 12 13 14 15 03 4 5 6 7

RCO

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

Page 20: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 20

Montage avec le 74LS163

74x163

74x00

CLR

CLK

LD

QA

QB

2

14

11

1

1

2

9

ENP

ENT

7

10

A Q0

Q1

Q2

Q3

B

C

D

QC

QD15

3

RCO

13

12

S11XX_L

U1

U2

+5 V

CLOCK

RPUR

3

4

5

6

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

Démarre toujoursà la valeur binaire DCBA = 0011

À Q3Q2Q1Q0=1100, on recharge DCBA à 0011 via LD

Page 21: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 21

Montage avec le 74LS163 - Suite

Un compteur modulo-9 avec la séquence 3,4,…,9,3,4,…

CLOCK

Q0

Q1

Q2

Q3

COUNT 11 12 38 9 103 4 5 6 7

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

Page 22: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 22

Montage en cascade synchrone avec deux 74LS163

74x163

CLR

CLK

LD

QA

QB

2

14

11

1

9

ENP

ENT

7

10

A Q0

Q1

Q2

Q3

B

3

4

C

D

5

6

Q4

Q5

Q6

Q7

RCO8

QC

QD15

RCO

13

12

U1

74x163

CLR

CLK

LD

QA

QB

2

1

9

14

11

ENP

ENT

7

10

A

B

3

4

C

D

5

6QC

QD15

RCO

13

12

U2

CLOCK

RESET_L

D0

D1

D2

D3

D4

D5

D6

D7

LOAD_L

CNTEN

RCO4

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

Page 23: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 23

Montage avec le 74LS163

74x163

CLR

CLK

LD

QA

QB

2

14

11

1

9

1

9

ENP

ENT

7

10

A Q0

Q1

Q2

Q3

B

3

4

6

C

D

5

4

5

31

2

6

Q4

Q5

Q6

Q7

MAXCNT

QC

QD15

RCO

13

12

U2

U1

U1

74x163

CLR

CLK

LD

QA

QB

2

14

11

ENP

ENT

7

10

A

B

3

4

C

D

5

6QC

QD15

RCO

13

12

U3

CLOCK

RESET_L

GO_L

RELOAD_L

CNTEN

RPU

74x00

74x00

+5 V

R

RCO4

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

Compteur modulo-193 avec la séquence 63,64,…,266,63,64,…

Page 24: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 24

Symboles

CNT

RST (CLR)

4

COUNTER

Q[3:0]

RST

DFF

D

RST (CLR)

4

SPC

Q[3:0]

D÷ ?

RST (CLR)

PSC

D4D[3:0]

Q

RST (CLR)

REG

D4D[3:0]

Q4

Q[3:0]

LD

Page 25: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 25

Simple Ordinateur

Horloge (oscillateur)

Pipeline (UCT (CPU))

Mémoire

Instructions

Résultats

Mémoire

RESET

Mémoire

Mémoire

D1 D2

Page 26: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 26

Structure d’un RAM statique (SRAM)

OUTIN

SEL_LD Q

CWR_L

IN

SEL

WR

OUT

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

Page 27: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 27

RAM statique (SRAM)

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

DOUT3 DOUT2 DOUT1 DOUT0

3-to-8decoder

DIN3 DIN2 DIN1 DIN0bitline word line

0

1

2

32

1

0 4

5

6

7

A2

A1

A0

WE_L

CS_L

OE_L

WR_L

IOE_L

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

Page 28: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 28

Structure d’une RAM statique

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

IN OUT

SEL

WR

DIO3 DIO2 DIO1 DIO0

7

WE_L

CS_L

OE_L

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

Page 29: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 29

Diagramme temporel d’une RAM statique, en lecture

ADDR

CS_L

OE_L

DOUT

tAA tOZ tOZ tOE

tOH

tOE

tACS

stable stable stable

≥ tAA max(tAA,tACS)

valid validvalid

Note: WE_L = HIGH

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

Page 30: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 30

Diagramme temporel d’une RAM statique, en écriture

ADDR

CS_L

WE_L

DIN

tAS tWP tAH

stable stable

tCSW

tDS tDH

tAS

tWP tAH

tCSW

tDS tDH

validvalid

(WE-controlled write) (CS-controlled write)

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

Page 31: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 31

Pentium

SRAM (Cache)

Page 32: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 32

Simple UCT

0101

0001

SRAMAdresse

00

01

Compteur

Décodeur EXEC 0

EXEC 15Data 0Data 1

Oscillateur

Décodeur

Page 33: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 33

Simple UCT (Codes pour les instructions)

0101

0001

SRAM

Page 34: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 34

D

CLK

PR_L

CLR_L Q

QN

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

74x175

CLR

CLK

1D1Q

9

2

1Q3

1

4

2D5

3D12

4D13

2Q7

6

3Q10

11

4Q

2Q

3Q

4Q

15

14

(b)

(a)

D Q

QCLK

CLR

(2)

(3)

(4)1Q

1Q_L

1D

D Q

QCLK

CLR

(7)

(6)

(5)2Q

2Q_L

2D

D Q

QCLK

CLR

(10)

(11)

(12)3Q

3Q_L

3D

D Q

QCLK

CLR

(15)

(14)

(13)

(9)

(1)

4Q

4Q_L

4D

CLK

CLR_L

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

Hiérarchie: Registre

Page 35: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 35

Exercices

0101

0001

SRAMAdresse

00

01

Compteur

Décodeur EXEC 0

EXEC 15Data 0Data 1

Oscillateur

Décodeur

Page 36: INF1500 : Logique des systèmes numériqueswiki.polymtl.ca/nano/fr/images/a/ab/INF1500H10Cours6.pdf · Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes

Sylvain Martel - INF1500 36