Sistemas secuenciales básicos

Anuncio
Sistemas secuenciales básicos
ƒ
Registros de Desplazamiento
R i
d D l
i
ƒ Registro básico
ƒ Modificaciones
M difi i
ƒ Aplicaciones
ƒ
Contadores
ƒ
ƒ
ƒ
ƒ
Contador creciente y decreciente
Contador reversible
Contadores de módulo cualquiera
Contadores asíncronos
ƒ
ƒ
Elemento central: el biestable D (Delay)
A cada flanco de reloj, el biestable Qi toma como valor el del biestable
l
ld lb
bl anterior, Qi‐1 :
ƒ
Di=Qi‐1
U1
D
U2
Q
CLK
D
CLK
Q
DTFF
Q
Q
DTFF
ƒ
Encadenando n celdas como la anterior:
U1
IN
D
U2
Q
CLK
D
CLK
Q
DTFF
ƒ
U3
Q
D
CLK
Q
DTFF
U4
Q
D
CLK
Q
DTFF
U5
Q
D
CLK
Q
DTFF
Q
Q
DTFF
La salida copiará a la entrada n ciclos de reloj más tarde
á
d
OUT
ƒ
Con marcha / paro:
ƒ
Reversible
bl
ƒ
Con precarga paralela:
ƒ
Con todas las modificaciones:
ƒ
Multiplicación por 2:
ó
ƒ
División entre 2:
ó
an-1 an-2 an-3
a0
an-1 an-1 an-2
a1
ƒ
Conversión Serie‐Paralelo
ó
ƒ Precarga serie (desplazamiento)
ƒ Lectura paralelo (Q)
ƒ
n-1
Conversión Paralelo‐Serie
ƒ Precarga paralelo ƒ Desplazamiento serie
p
n-2
n-3
0
ƒ
Generador de Secuencia:
ƒ Se repite cada n pasos
ƒ
Generador de números pseudo‐aleatorios:
ƒ Se repite cada 2n‐1
Contador: sistema secuencial que recorre de forma lineal sus estados
ƒ Elemento central: el biestable
l
l lb
bl T
ƒ
ƒ Es muy fácil saber cuándo debe cambiar un bit, pero muy complicado saber cuál debe ser su valor
ƒ
El bit i de un contador cambia cuando todos los menos significativos valen 1:
ƒ Ti=Q0∙Q1∙…∙Qi‐1
ƒ
Para hacerlo de forma iterativa:
ƒ
Si conecto n celdas como la anterior:
ƒ Problema: el retraso se acumula.
ƒ
Sustituyo las puertas AND por puertas de i
entradas para cada bit:
ƒ Problema: crece el tamaño de las puertas.
ƒ
Para que cambie un bit, los de menor rango deben estar a cero (haber decrecido):
ƒ
Ti=/Q0∙/Q1∙…/Qi‐1
ƒ
De forma análoga a lo anterior:
f
á
ƒ
Basta tomar las salidas negadas en vez de las l
ld
d
d l
naturales.
ƒ
Usar las dos posibilidades, y elegir con un Multiplexor:
Un contador de n bits tiene 2n estados:
Módulo: número de estados diferentes
Contador de módulo M: aquél que tras el d d
ód l
él
l
estado M‐1 va al estado inicial
ƒ Se puede hacer:
d h
ƒ
ƒ
ƒ
ƒ Usando un Reset (Síncrono)
ƒ Usando un Clear (asíncrono)
ƒ
ƒ
Ejemplo: contador de 4 bits y módulo 12:
ó
Síncronamente: generar reset en el estado 11 para que se active y vaya al 0:
l
Q3
ƒ
Q2
Q1
Q0
/RES
Asíncronamente: generar un Clear en el estado 12, para que inmediatamente pase a 0
d
d
ƒ Peligro: glitch.
Q3
Q2
Q1
Q0
/CLR
ƒ
Recordando el cronograma:
ƒ
Podría usar los flancos de bajada de cada bit dí
l fl
d b d d
d b
como reloj del siguiente
ƒ
Usando biestables activos por flanco de bajada:
f
ƒ
Para contador descendente, usar flanco contrario.
ƒ
Usando biestables activos por flanco de bajada:
f
ƒ
No se deben usar, salvo que se pida expresamente.
Descargar