Vous êtes sur la page 1sur 61

Circuits squentiels lmentaires

Ecole Polytechnique Universitaire de Montpellier


Universit Montpellier II
Place Eugne Bataillon, 34095 Montpellier cedex 05, FRANCE

Laboratoire d'Informatique, de Robotique et de Microlectronique de Montpellier


p
UMR 5506 Universit Montpellier II / CNRS
161 rue Ada, 34392 Montpellier cedex 05, FRANCE

1 Copyright Epum/Lirmm
Combinatoire / Squentiel

A0
A1
A2 Additionneur S0
A3
S1

B0 S2
B1
B2 S3
B3

a
E1
DECODEUR 7 b
E2 SEGMENTS
c
E3
d
E4 e
f
g

2 Copyright Epum/Lirmm
Combinatoire / Squentiel

Q0
H Compteur A[3..0]
[ ] Additionneur S[3..0]
[ ]
Q1
B[3..0]
Q2
Q3 H

voie B
VA
INI OA
COMMANDE
voie A DE
OC RA
FEUX
URG DE
VB
H CARREFOUR
OB
RB

3 Copyright Epum/Lirmm
Combinatoire / Squentiel

Entres commandes Entres data

Commandes
CONTROLEUR

Statuts

Sorties

4 Copyright Epum/Lirmm
Combinatoire / Squentiel

C S S = C.a + C.b

e
C e S

C S 0 0 S
0 1 S
1 0 0
1 1 1

5 Copyright Epum/Lirmm
Combinatoire / Squentiel

Combinatoire :
- Lorsque les donnes dentre sont disponibles au mme instant (mots en //)
- Les
L sorties
ti dpendent
d d t uniquement
i t de
d lla fonction
f ti ett des
d donnes
d dentres
d t

Ei Si => f(Ei)

Squentiel :
- Lorsque les donnes dentre sont rparties dans le temps (mots en srie ou squences)
- Mmorisation de donnes
- Les sorties dpendent de la fonction, des donnes dentres et des donnes mmorises

Ei Si =>
> f(Ei,Qi)
f(Ei Qi)

Qi
Q

6 Copyright Epum/Lirmm
Synchrone / Asynchrone

Ei Si Ei Si
H
Qi Qi

Dfinition: Un systme squentiel est asynchrone si partir de l'instant


ou on applique un vecteur d'entre, son volution est incontrlable de
l' t i
l'extrieur.

Dfinition: Un systme squentiel est synchrone si son volution est


contrlable de l'extrieur par un signal d'horloge

7 Copyright Epum/Lirmm
Bascule RS

La bascule RS est un dispositif deux entres R et S et une sortie Q


prsentant la proprit suivante:
- une apparition
iti (mme
( ffugitive)
iti ) dde S entrane
t d durablement
bl tQQ=1
1
- une apparition (mme fugitive de R) entrane durablement Q=0.

Qn S R Qn+1 SR
0 0 0 0 Qn 00 01 11 10
R Q 0 0 1 0
0 1 0 1 0 0 0 X 1
0 1 1 X
S 1 0 0 1 1 1 0 1
1 0 1 0 X
1 1 0 1
1 1 1 X Qn+1

L'nonc du problme est incomplet: les combinaisons (3) et (7) ne sont pas
dfinies. Elles correspondent des ordres d'enclenchement (SET) et de
dclenchement (RESET) simultans.
simultans En laissant le problme incompltement
spcifi, on peut obtenir plusieurs quations de la bascule
8 Copyright Epum/Lirmm
Bascule RS
SR
Qn 00 01 11 10

Qn+1
+1 = S.R
S R' + Qn.R
R' = (S + Qn) R
R'= ((S + Qn))' + R)
R)' (1) 0 0 0 X 1
Qn+1 = S + Qn.R' = (S' . (Qn.R)')' (2) 1 1 0 X 1

S Qn+1
S S'
(Q')
Q
S R Qn+1

R 0 0 Qn
Q
R (Q') 0 1 0
R'
(1) 1 0 1
(2) 1 1 Interdit

(R
(R,S)=(1,1)
S) (1 1) iintroduit
t d it une iindtermination.
dt i ti
En effet, le passage de la combinaison (R,S)=(1,1) (R,S)=(0,0) entrane
deux valeurs possibles sur Q selon que R ou S commute en premier.
Si l'on interdit la combinaison (R,S)=(1,1) on remarque que sur les deux
structures, la connexion symtrique de la sortie Q porte la valeur Q.
9 Copyright Epum/Lirmm
Bascule RS

Avantages:
Simplicit

Inconvnients
Dispositif asynchrone
Etat
Et t interdit
i t dit
Sensibilit aux parasites (transitoires)

10 Copyright Epum/Lirmm
Phnomnes de rebonds

+5V Bp
R
s t
s
Bp
t

11 Copyright Epum/Lirmm
Dispositif anti-rebonds

+5V
Bp
p
R R
Q s t
S'
R

R' t
S

Bp t
Q
Reset ou
Etat mmoire t
s
Set ou
Etat mmoire t

12 Copyright Epum/Lirmm
Bascule RSH

La bascule RSH est une bascule RS synchronise par un signal


d'horloge H. Lorsque H=0, la bascule est dans l'tat mmoire. Lorsque
H 1 lla b
H=1, bascule
l ffonctionne
ti comme une b basculel RS
RS. C
Cette
tt b
bascule
l a
toujours un tat interdit et fonctionne sur les niveaux d'horloge.

S R Qn+1
R Q
H 0 0 Qn H=1
S 0 1 0
1 0 1
1 1 Interdit

S Q

R (Q')
13 Copyright Epum/Lirmm
Bascule RSH

Fonctionnement sur niveau de lhorloge (H=1)

Avantages:
g
Insensibilit aux parasites (H=0)

Inconvnients
Etat interdit
Sensibilit aux parasites (H=1)

14 Copyright Epum/Lirmm
Bascule D-latch

La bascule D-Latch est une bascule conue sur le mme principe que
la RSH. Elle est obtenue p
partir d'une bascule RSH en ne considrant
que les deux combinaisons (R,S) = (0,1) et (1,0).

D Q(n+1)
D Q
0 0 Qn+1 = Dn
H
Q 1 1 H=1

((S))
D Q
D
D Q
H Q
H

H
(Q')
(R)

15 Copyright Epum/Lirmm
Bascule D-latch

Fonctionnement sur niveau de lhorloge (H=1)

Avantages:
g
Pas dtat interdit
Insensibilit aux parasites (H=0)

Inconvnients
Sensibilit aux parasites (H=1)

16 Copyright Epum/Lirmm
Bascule D_Latch Ralisation en CMOS

D Q
H

17 Copyright Epum/Lirmm
Bascule D (Matre-Esclave)

Les bascules matre-esclaves permettent de diminuer la sensibilit aux


parasites en minimisant la priode de transparence. Elles fonctionnent sur
le front d'horloge
d horloge.
La bascule D matre-esclave est constitue de 2 D-Latch en cascade.

D Q D Q(n+1)
H
Qn+1 = Dn
0 0
Q H=
1 1

Matre E l
Esclave
Q0 Q
D D_Latch D_Latch
H
Q0
Q

18 Copyright Epum/Lirmm
Bascule D Ralisation en CMOS

Matre Esclave

D Q
H

19 Copyright Epum/Lirmm
Bascule D (Matre-Esclave)

Fonctionnement sur fronts dhorloge

Mmorisation ((transfert)) de donnes

Avantages:
Dispositif synchrone
Pas dtat interdit
Insensibilit aux parasites

20 Copyright Epum/Lirmm
Bascule T (Toggle)

Comme la bascule D, la bascule T fonctionne sur front dhorloge. Elle


permet de conserver la valeur de sortie prcdente ou de linverser. Ce
type de bascule est particulirement intressant pour la ralisation de
compteurs. La bascule T peut tre ralise partir dune bascule D.

T Q T Q(n+1)
H 0 Q(n)
Q H=
1 Q(n)
Q (n)

D Q
T

21 Copyright Epum/Lirmm
Bascule JK

Comme la bascule D, la bascule JK est une bascule fonctionnant


sur front. Elle dispose par contre de 2 entres J et K. La bascule JK
peut tre ralise partir dune
d une bascule D
D.

JK Q(n+1)
J Q
00 Qn H=
H 01 0
K Q 10 1
11 Qn

J D Q
Avec D = JKQ + JK + JKQ
K = J.Qn + K.Qn
H

22 Copyright Epum/Lirmm
Bascule JK (autre ralisation)

La bascule JK peut galement tre ralise partir de de 2 RSH en


cascade et d un rebouclage permettant dliminer ltat interdit de
la RSH
RSH.
JK Q(n+1)
J Q
00 Qn Q 1 = JJ.Qn
Qn+1 Q + K
K.Qn
Q
H 01 0
K Q 10 1
11 Qn H=

Matre Esclave
Q0 Q
J RSH RSH
H
K Q0
Q

23 Copyright Epum/Lirmm
Initialisation des bascules

Initialisation asynchrone par signaux de Preset (RAU) et Clear (RAZ).

Preset

D Cl
Clear
P
Preset
t
Q
D

H H Q

Clear Structure reporter sur les 2


tages (Matre et Esclave) de
la bascule D.
D

24 Copyright Epum/Lirmm
Initialisation des bascules

Initialisation synchrone par signaux de Preset (RAU) et Clear (RAZ).

D0 = Clear.Preset.D + Clear.0 + Preset.1 (Preset Prioritaire)


= Clear.D
Clear D + Preset

Clear
D0 Q
D
Preset Bascule D
H

25 Copyright Epum/Lirmm
Inhibition des bascules

D Q D Q D Q D Q

H H H H

D Q D Q D Q

H H H

D0 Q D Q
Inib
Bascule D Inib
D H
H

D0 = Inib.D + Inib.Q
26 Copyright Epum/Lirmm
Paramtres temporels des bascules

H H

Q
D ou JK

Temps de Setup Temps de Hold TpHL,TpLH

TpHL(RAZ)
T LH(RAU)
TpLH(RAU)

27 Copyright Epum/Lirmm
Registres

Les registres sont des associations de bascules permettant de


mmoriser et de raliser certaines oprations sur des mots logiques

E3 E2 E1 E0

D Q D Q D Q D Q
H H H H
Q Q Q Q
H=
S3 S2 S1 S0

E S
D Q D Q D Q D Q
H H H H
Q Q Q Q
H=
S3 S2 S1 S0
28 Copyright Epum/Lirmm
Registres

Chargement // (C=1) et Inhibition (C=0)

E3 E2 E1 E0
C
D Q D Q D Q D Q
H H H H
Q Q Q Q
H
S3 S2 S1 S0

Di = C .Ei + C.Si

29 Copyright Epum/Lirmm
Registre universel

C1C2 = 00 Chargement parallle


C1C2 = 01 Dcalage droite
C1C2 = 10 Dcalage gauche
C1C2 = 11 Inhibition de l'horloge.
Di = C1.C2 .ei + C1.C2.Si-1 + C1.C2.Si+1 + C1.C2.Si
E3 E2 E1 E0
S3 S2 S1 S0
EG S3 S2 S1
S2 S1 S0 ED

0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
C1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

C2

D Q D Q D Q D Q
H H H H
Q Q Q Q
Ecrit
S3 S2 S1 S0
30 Copyright Epum/Lirmm
Mmoires

Data In

Adr

R/W

CS

Data Out

31 Copyright Epum/Lirmm
Mmoires

ITRS roadmap: International Technology Roadmap for Semiconductors

New logic

Reused logic
g

Memory

1999 2002 2005 2008 2011 2014

32 Copyright Epum/Lirmm
Mmoires - Principe

d R/W
e
c CS
o Data In
d H
e
u
r

d
e

l
i
g
Data Out
n
e
AL
AC
Dcodeur de colonne
Adr

=> Inhibition = f(Cs . R/W . AL. AC)

33 Copyright Epum/Lirmm
Cellule Mmoire SRAM

WORD

BIT BIT
WORD

BIT BIT

34 Copyright Epum/Lirmm
Plan Mmoire SRAM

MUX MUX MUX MUX

Sense Amp Sense Amp Sense Amp Sense Amp

35 Copyright Epum/Lirmm
Modle fonctionnel dune mmoire SRAM

ecode

lines
code

vers
Memory

WL-prede

WL driv
WLdec
cell array

Word
Bit lines

Bit line precharge


Address Address latch
Bit lines

Bit line muxs


BL-predecode
BL-decode
Sense Write Write
amps drivers enable
Timing
Chip select generation Data out Data in
latches latches

Clock Dout Din

36 Copyright Epum/Lirmm
Exemple de Floorplan (RAM)

37 Copyright Epum/Lirmm
Cellule Mmoire DRAM

WORD

C 25 F
C~25nF

BIT

38 Copyright Epum/Lirmm
Compteur

Un compteur est une association de n bascules permettant de


dcrire, au rythme d'une horloge, une squence dtermine qui
peut avoir au maximum 2n combinaisons diffrentes
diffrentes.

001 010
Q2 Q1 Q0

0 0 0
0 0 1 000 011
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0 111 100
1 1 1

0 0 0 110 101

Dfinition: Une combinaison de sortie d'un compteur


p est appele
pp tat. Le nombre
d'tats diffrents pour un compteur est appel le modulo ~ de ce compteur.

39 Copyright Epum/Lirmm
Compteur

Un compteur est une association de n bascules permettant de


dcrire, au rythme d'une horloge, une squence dtermine qui
peut avoir au maximum 2n combinaisons diffrentes
diffrentes.

Q2 Q1 Q0
H
0 0 0
0 0 1
0 1 0 Q0
0 1 1
1 0 0
1 0 1 Q1
1 1 0
1 1 1
Q2

40 Copyright Epum/Lirmm
Compteur asynchrone

Q0 Q1 Q2

1 T Q 1 T0 1 T1 1 T2

Q'
Q

H H
Q0'
Q0 Q1'
Q1 Q2'
Q2

H Q2 Q1 Q0

H 0 0 0
0 0 1
Q0 0 1 0
Q 0 1 1
Q1 1 0 0
1 0 1
1 1 0
Q2 1 1 1

41 Copyright Epum/Lirmm
Dcompteur asynchrone

Pour raliser un dcompteur il suffit de considrer sur les sorties Q des


bascules ou de raliser le mme montage avec des bascules fonctionnant
sur front montant
Q0 Q1 Q2

1 T0 1 T1 1 T2

H
Q0' Q1' Q2'

H Q2'Q1'Q0 H Q2 Q1 Q0
1 1 1 1 1 1
Q0' 1 1 0 Q0 1 1 0
1 0 1 1 0 1
1 0 0 1 0 0
Q1' 0 1 1 Q1 0 1 1
0 1 0 0 1 0
Q2' 0 0 1 0 0 1
0 0 0 Q2 0 0 0

42 Copyright Epum/Lirmm
Compteur asynchrone par 6

Pour raliser un compteur ou un dcompteur dont le cycle n'est pas une


puissance de 2, la seule solution est d'agir sur l'entre "Clear" lorsque la
combinaison correspondant au modulo du compteur ce produit sur les
sorties de celui ci.
Q0 Q1 Q2

Clear

1 T0 1 T1 1 T2

H Q2 Q1 Q0 Clear
0 0 0 0
Q0 0 0 1 0
0 1 0 0
0 1 1 0
Q1 1 0 0 0
1 0 1 0
1 1 0 1
Q2

43 Copyright Epum/Lirmm
Compteur asynchrone (D)

1 T Q J Q
D Q
1
Q' K Q'
Q'

H H
H

Q0 Q1 Q2

D0 D1 D2

H
Q0' Q1' Q2'

44 Copyright Epum/Lirmm
Inconvnients des compteurs asynchrones

DpDpDp
H

Q0
Q1

Q
Q2
7 76 4 0

Tm = Dp * n Dlai de propagation du compteur


TH t Tm Priode de l'horloge
FH d 1/(Tm) = 1 / (n*Dp) Frquence de l'horloge

45 Copyright Epum/Lirmm
Inconvnients des compteurs asynchrones

Compteurs / Dcompteur

Modification de ltat

Q0 Q1 Q2

1 T0 1 T1 1 T2

H
Q0' Q1' Q2'

46 Copyright Epum/Lirmm
Inconvnients des compteurs asynchrones

Logique sur des signaux asynchrones (H, Clear)

Risque
q de transitoires

Q0 Q1 Q2

Clear

1 T0 1 T1 1 T2

47 Copyright Epum/Lirmm
Rgles lmentaires de conception

Pas de logique sur les signaux


- d horloge
horloge (H)
- de forage (Clear, Preset)

AND2
INPUT
6 a VCC
1
OR2
INPUT OUTPUT
5 com VCC 8 s
3
NOT AND2

48 Copyright Epum/Lirmm
Compteur synchrone

Clear
Q0 Q1 Q2
? T0
0
? T1 ? T2

H
Clear
Q0 Q1 Q2
? D0
? D1 ? D2

Clear
Q0 Q1 Q2
? ? J1 ? J2
J0

? K0 ? K1 ? K2

49 Copyright Epum/Lirmm
Compteur synchrone

Clear
Q0 Q1 Q2
? T0
? T1 ? T2

Q2 Q1 Q0
0 0 0 T0 = 1
0 0 1 T1 = Q0
0 1 0 T2 = Q0.Q1
0 1 1
1 0 0
1 0 1 Tn = Q0.Q1....Qn-1
1 1 0
1 1 1
0 0 0
50 Copyright Epum/Lirmm
Compteur synchrone

Q0 Q1 Q2

1 T0 T1 T2

Q0' Q1' Q2'


Q2

Tm = Dp Dlai de propagation du compteur


TH t Tm Priode de l'horloge
FH d 1/(Tm) = 1 / Dp Frquence de l'horloge

51 Copyright Epum/Lirmm
Dcompteur synchrone

Un dcompteur peut tre obtenu en sortant sur les sortie Q du


compteur. On peut galement raliser un dcompteur en remarquant sur
l ttable
la bl de
d vrit
it que lle bit d
de poids
id ffaible
ibl change
h ttous lles coups
d'horloge et qu'un bit quelconque change lorsque tous les bits de droite
sont gaux 0.
T0 = 1
T1 = Q0
T2 = Q0.Q1
Q2 Q1 Q0
0 0 0 Tn = Q0.Q1....Qn-1
0 0 1
0 1 0
Q0 Q1 Q2
0 1 1
1 0 0
T0 T1 T2
1 0 1 1

1 1 0 Q1' Q2'
Q0'
1 1 1
H
0 0 0

52 Copyright Epum/Lirmm
Compteur / dcompteur synchrone

Par le mme raisonnement, on peut dterminer la structure d'un compteur


/ dcompteur synchrone dont le mode comptage ou dcomptage est
command par une commande C (C=0 => Comptage
Comptage, C=1 =>
Dcomptage).
T0 = 1
T1 = C.Q0
C Q0 + C Q0 = C Q0
C.Q0
T2 = C.Q0.Q1 + C.Q0.Q1

Tn = C
C.Q0.Q1...Qn-1
Q0 Q1 Qn 1 + C
C.Q0
Q0.Q1
Q1....Qn-1
Qn 1

C T2 Q2

T1 Q1

Q0
T0=1

53 Copyright Epum/Lirmm
Compteur synchrone par 6

Pour raliser un compteur, un dcompteur ou un compteur / dcompteur


dont le cycle n'est pas une puissance de 2, il faut recalculer les fonctions
d'entre des bascules.
Q2 Q1 Q0
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1

Soit C5 un flag prvenant qu'on est sur la combinaison 5. C5 = Q2.Q1.Q0


T0 = 1 (Mme fonctionnement que C5 vaille 0 ou 1)

T1 = C5.Q0 + C5.0 = C5.Q0 (Conservation de la valeur de sortie lorsque C5=1)

T2 = C5
C5.Q0.Q1
Q0 Q1 + C5
C5.1
1 = C5
C5.Q0.Q1
Q0 Q1 + C5 (Inv de la valeur de sortie lorsque
(Inv. C5=1)

54 Copyright Epum/Lirmm
Compteur / Dcompteur par 6 avec Inhibition

Inib : Signal d inhibition du compteur (actif sur niveau 1)


Q2 Q1 Q0
Compt : Signal de comptage (1) / Dcomptage (0)
0 0 0
C0 : Dtection de la combinaison 0
0 0 1
0 1 0 C5 : Dtection de la combinaison 5
0 1 1
1 0 0
T0 = Inib
1 0 1
T1 = Inib[Compt{C5.Q0)} + Compt{C0.Q0} ]
Clear
T2 = Inib
Inib[Compt{C5.Q0.Q1
[Compt{C5 .Q0.Q1 + C5} + Compt
Compt{C0.Q0.Q1
{C0 .Q0 .Q1 + C0]
Inib
Compt
Qi

H=

55 Copyright Epum/Lirmm
Bascules T, D et JK

Q Q Q
E T D J
E
E
K

H H H

56 Copyright Epum/Lirmm
Compteur synchrone (D)

Clear
Q0 Q1 Q2
? D0
? D1 ? D2

Q2 Q1 Q0 D Q(n+1)
0 0 0 0 0
0 0 1 1 1
0 1 0
0 1 1
1 0 0 D0 = Q0
1 0 1 D1 = Q0.Q1 + Q0.Q1 = Q0 Q1
1 1 0 D2 = Q0.Q1. Q2
Q2 + (Q0.Q1)
(Q0.Q1).Q2
.Q2 = Q0.Q1 Q2
1 1 1

57 Dn = ... Copyright Epum/Lirmm


Dcompteur synchrone (D)

Clear
Q0 Q1 Q2
? D0
? D1 ? D2

Q2 Q1 Q0 D Q(n+1)
0 0 0 0 0
0 0 1 1 1
0 1 0
0 1 1
1 0 0 D0 = Q0
1 0 1 D1 = Q0.Q1 + Q0.Q1 = (Q0 Q1)
1 1 0 D2 = (Q
(Q0+Q1).
Q ) Q2
Q + (Q0+Q1).Q2
(Q Q ) Q = (Q0+Q1)
(Q Q ) Q
Q2
1 1 1

58 Dn = ... Copyright Epum/Lirmm


Compteur / Dcompteur par 6 avec Inhibition

Inib : Signal d inhibition du compteur (actif sur niveau 1)


Q2 Q1 Q0
Compt : Signal de comptage (1) / Dcomptage (0)
0 0 0
C0 : Dtection de la combinaison 0
0 0 1
0 1 0 C5 : Dtection de la combinaison 5
0 1 1
1 0 0 D0 = [Inib[Compt{C5.Q0 + C5.Q0} +
1 0 1
Compt{C0
Compt {C0 .Q0
Q0 + C0.Q0
C0 Q0}} ] + Inib
Inib. Q0]
= [Inib[Q0' ] + Inib. Q0]
Clear
= Inib Q0

Inib D1 = [Inib[Compt{C5.(Q0.Q1+Q0.Q1)+C5.0} +
Compt
Qi Compt{C0.(Q0.Q1+Q0.Q1) + C0.0} ] + Inib. Q0]
= [Inib
[Inib[Compt{C5 (Q0 Q1)} +
[Compt{C5 .(Q0
Compt{C0.(Q0 Q1) } ] + Inib. Q0]

D2 = [[Inib[Compt{C5.(Q0.Q1
[ p{ ( Q2)}
)} +
H= Compt{C0.(Q0+Q1 Q2) } ] + Inib. Q0]

59 Copyright Epum/Lirmm
Rgles de conception (Registres, Compteurs, )

Pas de logique sur les signaux


- d horloge (H)
- de forage (Clear, Preset)

Clear
C t l
Contrle e0 e1 e2

Contrle
Clear

eii Qi ? D0
? D1 ? D2

H= Q0 Q1 Q2

60 Copyright Epum/Lirmm
Rgles de conception (Circuit)

Pas de logique sur les signaux


- d horloge (H)
- de forage (Clear, Preset)

Clear

Control
Bloc1 Bloc2 Bloc3 Bloc4
Data out
Data_out
Data_in

61 Copyright Epum/Lirmm