22
ELP 304 : ÉLECTRONIQUE NUMÉRIQUE ELP 304 : ÉLECTRONIQUE NUMÉRIQUE Cours 6 Cours 6 Logique séquentielle (2) Logique séquentielle (2)

Cours 6 Logique séquentielle (2)

  • Upload
    others

  • View
    8

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

Cours 6Cours 6Logique séquentielle (2)Logique séquentielle (2)

Page 2: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

R

Q*

Q

S

Bascule RS

asynchrone

D

Q*

Q

E

Bascule D latch ou à verrouillage

synchronisation sur niveau

D

Q*

Q

CK

Bascule D flip-flop ou à déclenchement

sur fronts

synchronisation sur fronts

Bascules étudiées au cours 5

Page 3: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

Qu'est-ce qu'un registre ?

§ Ensemble de bascules permettantu de stocker une information sous forme de mots binaires

de n bitsu et, pour certains types de registres, d'effectuer des

translations ou décalages sur ces mots,

§ Les registres de mémorisationu stockage

§ Les registres à décalageu stockage et décalage

Page 4: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

Le registre de mémorisation ou registre tampon

En-1

H

EnE2E1

Qn-1 QnQ2Q1

D

CK

Q

bascule1

D

CK

Q

bascule2

D

CK

Q

bascule n-1

D

CK

Q

basculen

Réalisation avec des bascules D latches ou D flip-flops

Page 5: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

Les registres à décalage (I)

§ Les bascules sont interconnectées=> Utilisation exclusive de flip-flops (cf. PC 6-7)

§ Fonction décalage à droite

D

CK

Q D

CK

Q D

CK

QE

H

D

CK

Q

bascul e1

basculei-1

basculei

bascule i+1

D

CK

Q

basculen

QnE

H

D Qi i= −1

=> E sur Qn après n fronts actifs de H

Page 6: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

D

CK

Q

basculei-1

D

CK

Q

bascul ei

D

CK

Q

bascule i+1

E

H

D

CK

Q

basculen

D

CK

Q

bascule1

Les registres à décalage (II)

§ Fonction décalage à gauche

Q1

E

H

D Qi i= +1

=> E sur Q1 après n fronts actifs de H

Page 7: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

Les registres à décalage (III)

§ Fonction de chargement parallèle

EP3

H

EP4EP2EP1

D

CK

Q

bascule4

D

CK

Q

bascule 3

LOAD LOAD LOADLOAD

ES D

CK

Q

bascule1

D

CK

Q

bascule2

10

10

10

10

u LOAD = 1 , (EP1, ... , EPn) est chargé dans le registreu LOAD = 0, mode décalage

Page 8: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

Les registres à décalage (IV)

§ Initialisation du registre

E

H

D

CK

Q

bascule1

bascule2

D

CK

Q D

CK

Q

bascule3

D

CK

Q

bascule4

1 1

11

INIT

CL*

PR* PR* PR* PR*

CL* CL* CL*

registreinitialisé à

0101si INIT = 0

u Rappel : entrées prioritaires asynchrones des bascules§ CLEAR ou RESET : Q est forcé à 0§ SET ou PRESET : Q est forcé à 1

u La commande d'initialisation ne doit pas être activée pendant le fonctionnement normal (synchrone) du circuit

Page 9: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

Le registre "universel"

§ Dans les catalogues de circuits standard : registres multi-fonctions

H

En-1 EnE2E1

Qn-1 QnQ2Q1

SSGsortie série gauche

SSDsortie série droi te

ESGentrée série gauche

ESDentrée série droite

REGISTRE UNIVERSEL

INIT

MODESENS

} entrées parallèles

} sorties parallèles

u chargement série ou parallèle (MODE, ESD, ESG, Ei)u décalage à droite et à gauche (SENS)u lecture série ou parallèle (SSD, SSG, ou Qi)u initialisation (INIT)

Page 10: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

Le registre "universel" : structure

§ Exemple de réalisation de la cellule de base d'un registre universel

D

CK

Q

basculei

11

00Qi+1

Q i -1

Q i

(Q ESG)n+1 =

(Q ESD)0 =

INIT

MODESENS

H

E i

u MODE = 0, chargement parallèleu MODE = 1, décalage§ SENS = 1, décalage droite§ SENS = 0, décalage gauche

Page 11: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

Les registres : applications (I)

§ Mémorisation temporaire d'une information

§ Conversion parallèle-série de mots binairesu chargement parallèle puis décalage

En-1 EnE2E1

H S

n = 4

YiXi ZiEi(i =1, 2, 3, 4)

S X2 Y4 Y3 Y2X1 Z4Y1

H

MODE

f

f / 4

f

Page 12: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

Les registres : applications (II)

§ Conversion série-parallèle d'un train binaireu mode décalage et récupération des mots binaires sur Q1 ... Qn

H

E

Qn-1 QnQ2Q1n = 4

E Y4Y3Y2 Z1Y1

H

Q1 X2 Y4Y3Y2

Y1Q2 Y3Y2

Q3

X3

W3

Y2

X1

Q4

X2

X4

X3 X4 Y1

X3 X4

Y1

Y1

X4

X4

X3

X3X2

X2

X1

X1W4

W4

f

f / 4

X Y

f

Page 13: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

Les registres : applications (III)

§ Ligne à retard numériqueu permet de retarder un train binaire de n périodes d'horloge

HE S

§ Division et multiplication par 2n

u décalage à droite de n bits : division par 2n

0 1 0 1 1 0 → 22 : état initial

æ æ æ æ æ

0 → 0 0 1 0 1 1 → 11 : après 1 front actif de H

æ æ æ æ æ

0 → 0 0 0 1 0 1 → 5 : après 2 fronts actifs de H

Page 14: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

Les registres : applications (IV)

u décalage à gauche de n bits : multiplication par 2n

0 0 0 1 1 1 → 7 : état initial

å å å å å å

0 0 1 1 1 0 ← 0 → 14 : après 1 front actif de H

å å å å å å

0 1 1 1 0 0 ← 0 → 28 : après 2 fronts actifs de H

Page 15: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

Les registres : applications (V)

§ Réalisation de générateurs de séquences pseudo-aléatoiresu registre à décalage + OU exclusifs

D D D D D

CK CK CK CK CK

Q Q Q Q Q

h2 h3 hn-1 hnh1

ck

Polynôme générateur

{ }P X h X h X h X h X hnn

nn

i( ) , ;= + + + + + ∈−−1 011 2

21

1L

Page 16: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

Les registres : applications (VI)

u Exemple de générateur pseudo-aléatoire

D D D D

CK CK CK CK

Q Q Q Q

ck

Q1 Q2 Q3 Q4

P X X X( ) = + +1 4

1111 1010 1001 10000111 1101 0100 11001011 0110 0010 11100101 0011 0001 1111 ...

Page 17: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

Les compteurs § Définition

u Un compteur est un circuit dont la valeur des sorties est directement liée au nombre d'impulsions appliquées sur son entrée d'horloge

u Le plus souvent, énumération du code binaire naturel

§ Deux catégories de compteursu compteurs asynchronesu compteurs synchrones

§ Un système séquentiel est synchrone (sur fronts) <=> les changements d'état du système (hors initialisation) sont conditionnés par les fronts actifs du signal d'horlogeu Exemple : les registres sont des circuits synchrones

§ Sinon, il est asynchrone

Page 18: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

Le diviseur (de fréquence) par 2

§ C'est le compteur le plus simple : comptage binaire modulo 2

H

D

CK

Q

H

Q

D = Q

Q*

Q

ff / 2

f / 2

contrainte : t CK Q tp hold( )→ >∗ (toujours vérifié)

Page 19: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

Compteurs asynchrones modulo 2n

§ Compteur asynchrone modulo 8

H

Q1 Q2

D

CK

Q D

CK

Q D

CK

Q

Q3

H

Q1

Q2

Q3

001000 010 011 101100 110 111(Q3 Q2 Q1) 000 001

Q* Q* Q*

MSB

LSB

Page 20: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

Décompteurs asynchrones modulo 2n

§ Décompteur asynchrone modulo 8

H

Q1 Q2

D

CK

Q D

CK

Q D

CK

Q

Q3

H

Q1

Q2

Q3

001000 010011101 100110111(Q3 Q2 Q1) 000 111

Q* Q* Q*

MSB

LSB

Page 21: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

Analyse temporelle des sorties d'un compteur / décompteur asynchrone

§ Cumul des temps de propagation des bascules

011 010 100000

H

Q1

Q3

Q2

Passage de l'état 011 à 100du compteur modulo 8t CK Qp basc( )→ 1

t CK Q t CK Qp basc p basc( ) ( )→ + →∗1 2

t CK Q t CK Q

t CK Qp basc p basc

p basc

( ) ( )

( )

→ + →

+ →

∗ ∗1 2

3

t nptotalαu les compteurs de grande taille sont lentsu états transitoires parasites

Page 22: Cours 6 Logique séquentielle (2)

ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE

Bilan sur l'utilisation des compteurs asynchrones

§ Intérêt principalu leur simplicité

§ Leurs (nombreux) inconvénients u vitesse de fonctionnement limitée pour les compteurs de grande

tailleu présence d'états transitoires indésirables sur les sorties après

chaque front de l'horlogeu pas de méthode fiable pour réaliser des cycles incomplets ( )

ou d’autres énumérations que le code binaire naturel≠ 2n