Você está na página 1de 11

Contadores

Circuitos secuenciales que contabilizan eventos. Diagrama de estados bsico de un contador mdulo-k:

k-2

k-1

Cronograma (contador de 3 bits, mdulo 8):


clk O0 O1 O2 O2-0 0 1 2 3 4 5 6 7 0
1

Contadores sncronos
Partiendo del ejemplo anterior:
clk O0 O1 O2 O2-0 0 1 2 3 4 5 6 7 0

llegamos a la conclusin de que: O0: cambia de valor en cada flanco activo O1: cambia de valor en un flanco activo si O 0 = 1 O2: cambia de valor en un flanco activo si O 0 = O1 = 1 En general, Ok cambia de valor en un flanco activo si O0 = O 1 = ... = Ok-1 = 1

Contadores sncronos (2)


Hacemos Ok = qk Usando biestables tipo T: T 0 = 1; T1 = q0; T2 = q0 q1; ...; T n = q0 q 1 ... qn-1

&

q0 q1 qn-1 T2 q2

& Tn qn

T0

q0

T1

q1

clk O0 O1 O2 On

Contadores sncronos (3)


Teniendo en cuenta que T k = q 0 q1 ... qk-1 podemos transformar: T0 = 1; T1 = q0; T 2 = q0 q 1; T 3 = q 0 q1 q2; ...; Tn = q0 q1 ... qn-1 de modo que queden: T0 = 1; T1 = q0; T 2 = q0 q 1; T 3 = T2 q2; ...; T n = Tn-1 q n-1 Esto nos lleva al siguiente circuito:
Tn-1 qn-1

&

& Tn qn

1 clk

T0

q0

T1

q1

T2

q2

O0

O1

O2

On

Entradas y salidas de control


Entradas de control Pueden ser sncronas o asncronas

Clear: puesta a 0 de los biestables del contador (estado 00...0) Preset: puesta a 1 de los biestables del contador (estado 11...1) Inhibicin: detiene la cuenta Load: carga un valor de cuenta inicial Up/Down (sncrona): cuenta ascendente o descendente (contadores reversibles)

Salidas de control
Carry: en contadores ascendentes, indica que se ha alcanzado el ltimo estado de cuenta (k-1, en un contador mdulo-k) Borrow: en contadores descendentes, indica que se ha alcanzado el ltimo estado de cuenta (0, normalmente)

Clear asncrono
Cronograma:
clk Clear Salida j-1 j 0 1 2 3 4 5

Cambio en la estructura de la etapa i-sima:


Clear
CLi Ti qi

Oi

Preset asncrono
Cronograma (mdulo k = 2n):
clk Preset Salida j-1 j k-1 0 1 2 3 4

Cambio en la estructura de la etapa i-sima:


Preset
PRi Ti qi

k-1 = 1 1 ... 1 n

Oi

Clear sncrono
Cronograma:
clk Clear Salida j-1 j 0 1 2 3 4 5

Cambio en la estructura de la etapa i-sima:


Para Clear = 0: Ti = qi Qi 0 1
Oi

0 Ti-1 qi-1 & 1 Ti qi

Clear

0 0

Preset sncrono
Cronograma (mdulo k = 2n):
clk Preset Salida j-1 j k-1 0 1 2 3 4

Cambio en la estructura de la etapa i-sima:


Para Preset = 0: Ti = qi Qi 0 1
Oi

0 Ti-1 qi-1 Preset & 1 Ti qi qi

1 1

Inhibicin asncrona
Cronograma:
clk Inh clk2 Salida j-1 j j+1 j+2 ... ... ...

Cambio en la estructura de la etapa i-sima:


Ti qi

Inh clk

clk2
Oi

10

Inhibicin sncrona
Cronograma:
clk Inh Salida j-1 j j+1 j+2 ... ... ...

Cambio en la estructura de la etapa i-sima:


0 0 1 Ti qi

Inh

Oi

11

Load asncrono
Cronograma:
clk Load Dn-0 Salida j-1 j k k k+1 k+2 ... ... ...

Cambio en la estructura de la etapa i-sima:


Di Load

CC
CLi PRi Ti qi

Di Load 1 0 0 Di x 0 1 CL i PRi 1 0 1 1 1 0 Load


Oi

CL i PRi

12

Load sncrono
Cronograma:
clk Load Dn-0 Salida j-1 j k k k+1 k+2 ... ... ...

Cambio en la estructura de la etapa i-sima:


Load
=1

Di x 0 0 1 1

qi ... 0 1 0 1

Ti ... 0 1 1 0
13

Di

0 1 Ti qi

Load Oi

1 0 0 0 0

Contadores descendentes
Cronograma de un contador descendente mdulo-8:
clk O0 O1 O2 O2-0 7 6 5 4 3 2 1 0 7

llegamos a la conclusin de que:


O0: cambia de valor en cada flanco activo O1: cambia de valor en un flanco activo si O0 = 0 O2: cambia de valor en un flanco activo si O0 = O1 = 0

En general, Ok cambia de valor en un flanco activo si O0 = O 1 = ... = Ok-1 = 0 T 0 = 1; T1 = q0; T2 = q0 q1; T 3 = q0 q 1 q 2; ...; T n = q0 q1 ... q n- 1 T 0 = 1; T1 = q0; T 2 = q 0 q 1; T3 = T2 q 2; ...; T n = T n-1 qn-1

14

Up/Down: contadores reversibles


Cronograma
clk U/D Salida j-1 j j-1 j-2 j-1 j j+1 j+2 ...

Cambio en la estructura de la etapa i-sima:


Ti-1 qi-1 Ti-1 qi-1 U/D & 0 1 & Ti qi

Oi

15

Carry (CY), Borrow (BW)


Carry: contadores ascendentes. Cronograma (mdulo-k):
clk Salida CY k-6 k-5 k-4 k-3 k-2 k-1 0 1 2

Borrow: contadores descendentes. Cronograma (mdulo-k):


clk Salida BW 5 4 3 2 1 0 k-1 k-2 k-3

16

Contadores asncronos
Circuito: basado en el principio de que un flanco descendente en Oi debe implicar una transicin en Oi+1
1 T0 q0 1 T1 q1 1 T2 q2

clk O0 O1 O2 3tP

Cronograma:
clk O0 O1 O2

clk O0 O1 O2 O2-0
3 20 4

Valores incorrectos

17

Contadores mdulo 2n
Se pueden disear con el mtodo clsico de sntesis de CSS Empleando Clear sncrono (mdulo-10, contador decimal): O3 O 2 O1 O 0 Mdulo-16 Cl 00 01 CC 11 10 O3 O2 O1 O0 clk 00 1 1 1 1 01 1 1 1 1 11 x x x x 10 1 0 x x

Cl = O 3 O 0
clk Cl Salida 4 5 6 7 8 9 0 1 2
18

Contadores mdulo 2n
Empleando Clear asncrono (mdulo-10, contador decimal): O3 O 2 O1 O 0 Mdulo-16 Cl 00 01 CC 11 10 O3 O2 O1 O0 clk 00 1 1 1 1 01 1 1 1 1 11 x x x x 10 1 1 x 0

Cl = O 3 O 1
clk Cl Salida 5 6 7 8 9 10 0 1 2 3
19

Contador en anillo
Circuito:
Init 1 CL0 PR0 D0 q0 1 CL1 PR1 D1 q1 1 CL2 PR2 D2 q2 1 CL3 PR3 D3 q3

clk

O0

O1

O2

O3

clk Init O0 O1 O2 O3
n estados=n biestables 20

Contador Johnson (conmutado en cola)


Circuito:
Init 1 CL0 PR0 D0 q0 1 CL1 PR1 D1 q1 1 CL2 PR2 D2 q2 1 CL3 PR3 D3 q3 q3

clk

O0

O1

O2

O3

clk Init O0 O1 O2 O3
n estados=2 x n biestables 21

Você também pode gostar