secuencia les

10
LÓGICA SECUENCIAL 0. Introducción 1. Secuenciales asíncronos y síncronos 2. Latches y Flip-Flops: tipos 3. Frecuencia de reloj: tiempos de set-up y hold 4. Registros 5. Contadores Secuencial input output=F(input,state) n m Circuito Secuencial: •Es un circuito con memoria (estado) •Para una determinada entrada, la salida depende del estado (depende de entradas anteriores) state INTRODUCCIÓN Combinacional input output=F(input,state) n m Memoria S(input,state) state •Un circuito combinacional determina la salida y el próximo estado •El estado está contenido de una memoria, que se construye con Latches o Flip-flops (FFs)

Upload: silvetpyre

Post on 06-Feb-2016

213 views

Category:

Documents


0 download

DESCRIPTION

secuenciales

TRANSCRIPT

Page 1: Secuencia Les

LÓGICA SECUENCIAL

0. In

troducción

1. S

ecuenciales asíncronos y síncronos

2. Latchesy Flip-Flops: tip

os

3. F

recuencia de re

loj: tie

mpos de set-u

p y hold

4. R

egistro

s

5. C

ontadores

Secuencial

input

output=F(input,state)

nm

Circuito Secuencial:

•Es un circuito con memoria (e

stado)

•Para una determ

inada entra

da, la

salida depende del estado

(depende de entra

das anteriores)

state

INTRODUCCIÓN

Combinacional

input

output=F(input,state)

nm

Memoria

S(input,state)

state

•Un circuito combinacionaldeterm

ina la salida y el próximo estado

•El estado estácontenido de una memoria, que se constru

ye con

Latcheso Flip-flo

ps(FFs)

Page 2: Secuencia Les

ASÍNCRONOS / SÍNCRONOS

•Las memorias re

quieren una inicialización (re

set), p

ara que el

circuito comience en un estado predeterm

inado

•Dos tip

os de circuitos secuenciales:

•Circuito secuencial asíncrono:

•Memoria im

plementada con latches(activo por n

ivel)

•El estado cambia con las entra

das

•Más difíc

il de diseñar (g

litchespueden afectar a

l estado)

•Circuito secuencial síncrono:

•Memoria im

plementada con FFs(activo por fla

nco de re

loj)

•El estado cambia (síncronamente) con el re

loj

•Más sencillo

de diseñar (g

litchesno afectan al estado)

Combinacional

input

output

nm

Latches

state

rst

Combinacional

input

output

nm

FFs

state

rst

clk

i0input

Combinacional

input

output

nm

Latches

state

rst

ASÍNCRONOS / SÍNCRONOS

output

S0

S1

i1i2

i0

i0

S2

i0

i1

i2i2

i2i1

i1

i2i0

state

rst

S0

S1

S2

F(i0 ,S

0 )F(i2 ,S

0 )F(i1 ,S

1 )F(i2 ,S

2 )F(i0 ,S

2 )

Page 3: Secuencia Les

ASÍNCRONOS / SÍNCRONOS

Combinacional

input

output

nm

FFs

Sstate

rst

clk

S0

S1

i1i2

i0

i0

S2

i0

i1

i2i2

i1

i0input

output

i1i2

i0

state

rst

(asynch)

S0

S1

S0

F(i0 ,S

0 )F(i1 ,S

0 )F(i1 ,S

1 )F(i1 ,S

0 )F(i0 ,S

0 )

i1

F(i2 ,S

1 )

clk

LATCH / FLIP-FLOP

D-Latch

DQ

E

SR-Latch

SQ

R

S R Q+

0 0 Q

0 1 0

1 0 1

1 1 X

Latch: B

áscula biestableactiva por n

ivel

D-Latchactiva por señal habilita

ción (e

nable) (E

)

SR-Latchactiva por señal re

set (R

) o set(S)

EDQRSQ

01

0x

11

0x

10

11

10

01

00

10

00

01

10

01

E D Q+

0 X Q

1 0 0

1 1 1

E Q+

0 Q

1 D

Page 4: Secuencia Les

LATCH / FLIP-FLOP

D-Latch

DQ

E

C E Q+

1 X 0

0 0 Q

0 1 D

C

D-Latch

DQ

E

P E Q+

1 X 1

0 0 Q

0 1 D

P

SR-Latch

SQ

R

E S R Q+ Q

+

0 X X Q

Q

1 1 1 Q

Q

1 1 0 0

1

1 0 1 1

0

1 0 0 X

X

E

Se pueden definir v

ariantes, in

virtie

ndo entra

das/salidas e

incorporando nuevas entra

das:

•Clear(C), P

reset(P)

•Enable(E)

Ejemplos:

SR-Latchcon Enable(E)

Q

D-Latchcon Clear(C)

D-Latchcon Preset(P)

LATCH / FLIP-FLOP

D-FF

DQ

clk

Q+

X Q

↑D

JK-FF

JQ

KJ K Q+

X X X Q

↑0 0 Q

↑0 1 0

↑1 0 1

↑1 1 Q

Flip-Flop: B

áscula biestableactiva por fla

nco (↑

o ↓)de re

loj (c

lk)

D-FF activa por fla

nco ↑

(ascendente o positiv

o) d

e clk

JK-FF activa por fla

nco ↑

de clk, donde J (set), K

(reset)

clk

01

00

10

00

01

10

1101

11

01

10

10

clk

DQclk

JQ K

clk

clk

D Q+

X X Q

↑0 0

↑1 1

clk

Page 5: Secuencia Les

T-FF activa por fla

nco ↑

de clk, donde T (to

ggle)

T-FF

TQ

clk

T Q+

X X Q

↑0 Q

↑1 Q

01

00

11

clk

TQ*

LATCH / FLIP-FLOP

(*)Suponiendo Q=0 al principio)

clk

Variantes de FFsinvirtie

ndo entra

das/salidas, e incorporando:

•Clear(C) y Preset(P), p

ara re

set/setasíncronos

•Reset (R

) y Set(S), p

ara re

set/setsíncronos

•Enable(E)

LATCH / FLIP-FLOP

T-FF

TQ

clk

C

C T Q+

1 X X 0

0 X X Q

0 ↓0 Q

0 ↓1 Q

D-FF

DQ

clk

PP E Q+

1 X X 1

0 X 0 Q

0 ↑1 D

E

T-FF con Clear(C)

D-FF con Preset(P) y

Enable(E)

D-FF

DQ

clk

SS E Q+

X X X Q

↑1 X 1

↑0 0 Q

↑0 1 D

E D-FF con Set(S) y

Enable(E)

JK-FF

JQ

Kclk

JK-FF con Clear(C) y

Preset(S)

S C J K Q+Q

+

1 0 X X X 0 1

0 1 X X X 1 0

0 0 X X X X X

1 1

↓0 0 Q Q

1 1 ↓0 1 0 1

1 1 ↓1 0 1 0

1 1 ↓1 1 Q Q

C S

Q

clk

clk

clk

clk

Page 6: Secuencia Les

LATCH / FLIP-FLOP

Los latchespueden im

plementarse con puerta

s lógicas, o usando

otro

s latches

RS

QQ

SR

QQ

10

01

01

10

00

0/1

1/0

11

00

a a

+b

1 0

0 b

1b0b

0b

SR-Latch

SQ

RQ

SR-Latch

SQ

RQ

SR-Latch

SQ

REQ

SR E

QQ

SR

QQ

DE

QQ

SR

QQ

D-Latch

DQ

EQ

LATCH / FLIP-FLOP

Los FFspueden im

plementarse con dos latches(m

aster/s

lave), o

usando otro

s FFs

QDE

QQ

DE

QQ

Dclk

Qmaster

Master

Latch

Slave

Latch

clk

D

Qmaster

QMaster E

=1

SlaveE=0

Master E

=0

SlaveE=1

Master E

=1

SlaveE=0

Master E

=0

SlaveE=1

D-FF

DQ

clk

D-FF

DQ

clk

P

DE

QQ

DE

QQ

Dclk

Master

Latch

Slave

Latch

Q

P

D-FF

DQ

clk

S

D

clk

QQ

S

DE

01

clk

Q

ET-FF

TQ

clk

S

D

clk

QQ

S

T

clk

QE

S

Page 7: Secuencia Les

FRECUENCIA DE RELOJ

Parámetro

s temporales de los FFs:

•Tiempo de setup(ts

FF ). E

l tiempo mínimo en que las entra

das

síncronasdeben perm

anecer e

stables antes del fla

nco de clk

•Tiempo de hold(th

FF ): T

iempo mínimo en que las entra

das

síncronasdeben perm

anecer e

stables después del fla

nco de clk

•Retardo (td

FF ): T

iempo máximo en que la salida cambia

D-FF

DQ

clk

clk

DQ

Violación del ts

FF

Violación del th

FF

tsFFthFF

tdFF

Frecuencia de clkmáxima (fc

lk(m

ax) ) e

n circuitos síncronosdepende

del m

áximo re

tardo en S (td

S(m

ax) ) (fu

nción del lo

gic-depth)

input

output

nm

FFs

Sstate

clk

rst FS

tdFFtdS(m

ax)

tsFFthFF

tdS(m

in)

Tclk -ts

FF >tdFF +tdS(m

ax)

Tclk

fclk(m

ax) =1/T

clk(m

in) =1/(td

FF +tdS(m

ax) +tsFF )

thFF <tdFF +tdS(m

in)

clk

stateFS

S1

S2

F(input,S

1 )

S(input,S

1 )Para evitar violación ts :

Para evitar violación th :

FRECUENCIA DE RELOJ

Page 8: Secuencia Les

REGISTROS

Register4-bit

Register

DQ

clk L

L Q[j]+

X X Q[j]

↑0 Q[j]

↑1 D[j]

44

Serial Load Register

S Q[j]+ Q[3]+

X X Q[j] Q[3]

↑0 Q[j] Q[3]

↑1 Q[j+1] D j=0,1,2,3j=

0,1,2

4-bit

Register

DQ

clk S

4

DQ

E DQ

E

DQ

E DQ

E

DQ

E DQ

E

DQ

E DQ

E

D[3:0]

Q[3:0]

4

4

32

10

32

10

Lclk

DQ

E

DQ

E

DQ

E

DQ

E

D

Q[3:0]

43

21

0

Sclk

clk c

lk

REGISTROSj=0,1,2

RightShiftRegister: D

esplaza un bitpor fla

nco de clk

4-bit

Register

DQ

clk L

4

L S Q[j]+ Q[3]+

X X X Q[j] Q[3]

↑0 0 Q[j] Q[3]

↑1 X D[j] D[3]

↑0 1 Q[j+1] 0(1)

S

(1) C

uando se produce desplazamiento, el nuevo Q[3] +puede ser:

Q[3] += 0 es un desplazamiento lógico (L

SR)

Q[3] += Q[3] es un desplazamiento aritm

ético (A

SR)

Q[3] += Q[0] es una ro

tación (R

OR)

De form

a análoga puede constru

irse un LeftShiftRegister

Q[0] += 0 para LSL/ASL, Q

[0] += Q[3] para ROL

DQ

E

DQ

E

DQ

E

DQ

E

D[3:0]

Q[3:0]

4

32

10

Sclk 0L

40

12

3

4

10

clk

Page 9: Secuencia Les

REGISTROS

ASR: N

o cambia el M

SB

LSR: M

SB cambia a ‘0’

ASL: LSB cambia a ‘0’

LSL: LSB cambia a ‘0’

1000

0100

0

1000

1100

ROR: M

SB cambia con el LSB

1001

1100

0101

1010

0

0101

1010

0

ROL: LSB cambia con el M

SB

1100

1001

REGISTROS

Barre

lShiftRegister:

4-bit

Register

DQ

E

4

4

•Desplazamientos (A

SR/LSR/ROR/ASL/LSL/ROL) d

e un

número arbitra

rio de bits

•El circuito (combinacional) b

arre

l-shifte

rocupa un elevado

número de puerta

s lógicas

4-bit

Barre

l

Shifte

r

4Q

D4

LS

clk

D QO

O(0)

Q(0)

Q(1)

Q(2)

Q(3)0

D(0)

1

LS 3

000

001

010

011

10X

11X

L S[3:0] M[2:0]

1 XXXX 11X

0 0000 000

0 0001 001

0 0010 010

0 0011 011

0 01XX 011

0 1XXX 10X

4

Ejemplo del barre

l-shifte

rpara el bit

O(0) p

ara desplazamientos ASR/ASL

en función de S>0/S<0

(S codific

a número con signo)

M

clk↑

Page 10: Secuencia Les

CONTADORES

Contador síncrono: La entra

da clkde todos los FF es la misma

R E Q[3:0] Q+[3:0]

1 X XXXX 0000

0 0 XXXX Q[3:0]

0 1 0000 0001

0 1 0001 0010

0 1 0010 0011

0 1 0011 0100

0 1 0100 0101

0 1 0101 0110

0 1 0110 0111

0 1 0111 1000

...

0 1 1110 1111

0 1 1111 0000

R E Q+[3:0]

1 X 0000

0 0 Q[3:0]

0 1 Q[3:0]+1

4-bit

Counter

Q

clk E

R

4clk↑

4-bit

Register

DQ

E

4

4

4-bit

Adder

4Q

0001

4

Rclk

B AO

E

clk↑

DQ

EE

Q

DQ

E

Q

DQ

E

Q

DQ

E

Q

Q[3:0]

21

04

3clkR

RR

RR

Q+[0

]=Q[0] (s

i E=1)

Q+[1

]=Q[1] (s

i Q[0]*E

=1)

Q+[2

]=Q[2] (s

i Q[1]*Q

[0]*E

=1)

Q+[3

]=Q[3] (s

i Q[2]*Q

[1]*Q

[0]*E

=1)

Ejemplo: C

ontador a

scendente binario

CONTADORES

Ejemplo: C

ontador síncronoascendente BCD (M

ódulo 10)

4-bit

Counter

Q

clk ER

4

R

EQ

01

23

4-bit

BCD

Counter

Q

clk E

R

4

R E Q[3:0] Q+[3:0]

1 X XXXX 0000

0 0 XXXX Q[3:0]

0 1 0000 0001

0 1 0001 0010

0 1 0010 0011

0 1 0011 0100

0 1 0100 0101

0 1 0101 0110

0 1 0110 0111

0 1 0111 1000

0 1 1000 1001

0 1 1001 0000

0000

0001

0010

1001

0000

1000

0011

clk

RQa

a

tda(m

ax)

tdFF +tda(m

ax)

clk↑