Você está na página 1de 47

Ampliacin de Tecnologa de Computadores

Tema 3: Diseo de sistemas


secuenciales sncronos
1. Concepto de sistema secuencial
2. Optimizacin de sistemas secuenciales
3. Sistemas secuenciales incompletamente
especificados
4. Latches y biestables
5. Diseo de circuitos secuenciales con diferentes
clases de biestables
Ampliacin de Tecnologa de Computadores
1. Latches y biestables
Biestables: definicin y tipos.
Biestables sensibles a nivel (latches).
Problemas de sincronizacin.
Biestables disparados por flanco.
Biestables maestro-esclavo.
Caractersticas temporales de los biestables.
Ampliacin de Tecnologa de Computadores
1.1. Biestables: definicin
Biestable es todo elemento que tiene dos estados
estables (0 y 1). Sirve para almacenar un bit de
informacin.
La hiptesis de funcionamiento sncrono de los
sistemas secuenciales supone que:
El estado slo cambia una vez por ciclo de reloj y el
cambio es simultneo en todos los biestables.
Tras un cambio de estado las entradas de los
biestables tienen tiempo de alcanzar un valor estable
antes del siguiente cambio de estado.
Ampliacin de Tecnologa de Computadores
Tipos de biestables
Segn su comportamiento lgico:
S-R
D
J-K
T
Segn su comportamiento
temporal:
Latch
Latch sncrono (sensible a
nivel)
Flip-flop disparado por flanco
Flip-flop maestro-esclavo
Ecuaciones Caractersticas
R-S:
D:
J-K:
T:
Q+ = S + R Q
Q+ = D
Q+ = J Q + K Q
Q+ = T Q + T Q
S R Q+
0 0 Q
0 1 0
1 0 1
1 1 proh.
J K Q+
0 0 Q
0 1 0
1 0 1
1 1 Q
D Q+
0 0
1 1
T Q+
0 Q
1 Q
Deducidas a partir de diagramas de K
para Q(t+1) = Q+ = (Entradas, Q)
Ampliacin de Tecnologa de Computadores
La salida cambia cuando cambian las entradas.
Ejemplo 1: S-R (con entradas activas a nivel alto).
Ejemplo 2: S-R (con entradas activas a nivel bajo).
1.2. Biestable asncrono (latch)
S R Q+
0 0 Q
0 1 0
1 0 1
1 1 proh.
S R Q+
0 0 proh.
0 1 1
1 0 0
1 1 Q
Q
S
R
Q
R
S
Q
Q
Ampliacin de Tecnologa de Computadores
Biestables sensibles a nivel (latch sncrono)
La salida cambia cuando est activa la seal de capacitacin
(reloj).
Ejemplo 1: S-R con entrada de capacitacin
Ejemplo 2: J-K con entrada de capacitacin
S
R
Q
Enable
Q
Q K Q J Q + = +
J
K
Q
Enable
Q
Ampliacin de Tecnologa de Computadores
1.3. Problemas de sincronizacin en latches
El latch J-K oscila si el tiempo que la seal de
capacitacin est activa es mayor que el retardo del
biestable.
Si la salida de un latch alimenta a la entrada de otro
puede producirse un doble cambio de estado.
X(t) D
1
Q
1
D
2
Q
2
Ck
X
Q
1
Q
2
Ampliacin de Tecnologa de Computadores
Soluciones a los problemas
Si usamos latches debemos garantizar que
El pulso de reloj es ms corto que el retardo del latch
La entradas se mantienen constantes durante el pulso
de reloj
Una alternativa es usar FLIP-FLOPs, ms fiables
Disparados por flanco: la salida slo vara durante la
transicin del reloj (que es la entrada dinmica).
Maestro-esclavo
Ampliacin de Tecnologa de Computadores
1.4. Biestables disparados por flanco
La salida cambia en el flanco
de disparo de la entrada
dinmica.
Ejemplo: biestable D
disparado por flanco de
bajada
Q
Q
D
Clk
R
S
Ampliacin de Tecnologa de Computadores
1.5. Biestables maestro-esclavo
Se lee la entrada en un flanco y se modifica la salida en
el contrario.
Ejemplo: J-K maestro-esclavo.
J
K
Enable
Q
Q
Ampliacin de Tecnologa de Computadores
1.6. Caractersticas temporales de los
biestables
Retardo de propagacin
Desde el cambio en la entrada hasta el cambio en la salida
Para un biestable hay varios retardos (tantos como
distintos cambios en las diferentes entradas)
Tiempo de set-up (establecimiento)
Tiempo mnimo que la entrada debe permanecer estable
ANTES del suceso del reloj
Tiempo de hold (mantenimiento)
Tiempo mnimo que la entrada debe permanecer estable
DESPUES del suceso del reloj
Frecuencia mxima de reloj
Ampliacin de Tecnologa de Computadores
Comparacin del comportamiento temporal
de los biestables
retardo de propagacin desde
flanco de bajada del reloj
transicin de reloj de alta a baja
(T
setup
y T
hold
a cada lado del eje de
bajada)
Flipflop
Maestro-esclavo
retardo de propagacin desde
flanco de bajada del reloj
transicin de reloj de alta a baja
(T
setup
y T
hold
a cada lado del eje de
bajada)
Flipflop flanco
de bajada
retardo de propagacin desde
flanco de subida del reloj
transicin de reloj de baja a alta
(T
setup
y T
hold
a cada lado del eje de
subida)
Flipflop flanco
de subida
retardo de propagacin desde el
cambio en la entrada
reloj en alta (T
setup
y T
hold
a cada
lado del eje de bajada)
Latch sensible
a nivel
retardo de propagacin desde el
cambio en la entrada
siempre Latch sin reloj
Cundo son vlidas las salidas? Cundo se muestrean las entradas? TIPO
Ampliacin de Tecnologa de Computadores
2. Concepto de sistema secuencial
Sistema secuencial sncrono.
Modelo de sistema secuencial sncrono.
Diseo y anlisis de la implementacin cannica
Implementacin cannica.
Proceso de anlisis.
Proceso de diseo.
Ampliacin de Tecnologa de Computadores
Mquinas de Mealy y de Moore
Mealy: Z(t) = H ( X(t), S(t) )
S(t+1) = G (X(t), S(t) )
Un cambio en la entrada en cualquier instante del ciclo de reloj influye
inmediatamente en la salida
La conducta anterior puede ser que no sea interesante en muchos casos
Moore: Z(t) = H (S(t) )
S(t+1) = G (X(t), S(t) )
Estado1 Estado2
a / b
S1 / Z1 S2 / Z2
X1
Ampliacin de Tecnologa de Computadores
Implementacin cannica (Huffman)
C
i
r
c
u
i
t
o

c
o
m
b
i
n
a
c
i
o
n
a
l
R
e
g
i
s
t
r
o

d
e
e
s
t
a
d
o
Reloj
X(t)
Z(t)
Inicializar
Ampliacin de Tecnologa de Computadores
Anlisis de la implementacin cannica
Obtener ecuaciones de excitacin y salida
Obtener ecuaciones de estado siguiente
Generar tablas de estado siguiente y salida
Generar diagrama de estados
Simular circuito lgico
Desarrollar diagrama de tiempo
Esquema lgico
Especificacin
Ampliacin de Tecnologa de Computadores
Anlisis de la implementacin cannica:
ejemplo
Ampliacin de Tecnologa de Computadores
Diseo de la implementacin cannica
Desarrollar diagrama
de estados
Generar tabla de estado
siguiente y salida
Minimizar estados
Codificar entradas,
estados y salidas
Elegir elementos
de memoria
Obtener ecuaciones de
estado siguiente y salida
Esquema lgico
Descripcin
del diseo
Obtener ecuaciones de excitacin
Optimizar implementacin de la lgica
Verificar funcionamiento
y temporizacin
Simular esquema lgico
Obtener esquema lgico y
diagrama de tiempo
Ampliacin de Tecnologa de Computadores
3. Optimizacin de sistemas secuenciales
En el diseo de la implementacin cannica hay 3 pasos de
optimizacin:
Minimizar estados
Codificar estados
Elegir elementos de memoria
Codificacin de estados
Introduccin.
Ejemplo.
Minimizacin de estados
Introduccin.
Mtodo de la tabla de implicacin.
Eleccin del tipo de elementos de memoria (final del tema)
Ampliacin de Tecnologa de Computadores
3.1. Codificacin de estados
La eleccin del cdigo binario que se asigna a cada
estado influye en la ecuaciones de excitacin y salida.
Estrategias de codificacin intentan averiguar qu
asignacin produce ecuaciones ms sencillas:
Estrategia del mnimo cambio de bits
Estrategia de prioridad de adyacencia.
Pero:
No es posible garantizar que se obtiene el resultado
ptimo.
Las ecuaciones de excitacin dependen del tipo de
biestables.
Ampliacin de Tecnologa de Computadores
Diseo de la implementacin cannica:
ejemplo de codificacin de estados
Disear un sistema secuencial sncrono con una
entrada X y una salida z, ambas de un bit. La salida
vale 1 cuando x(t-3,t) = 0110 o 1010.
Reset
S1
S3'
S7'
S2
S4'
S10'
0,1/0
0,1/0
0/0
0/0
1/0
1/0
1/0
1/0
1/0
0/1
S0
0/0
0/0
Secuencia X(t)
Reset
0
1
00 o 11
01 o 10
no (011 o 101)
011 o 101
Estado
S0
S1
S2
S3'
S4'
S7'
S10'
Ampliacin de Tecnologa de Computadores
Diseo de la I.C.: ejemplo de codificacin (II)
Secuencia X(t)
Reset
0
1
00 or 11
01 or 10
not (011 or 101)
011 or 101
Estado actual
S0
S1
S2
S3'
S4'
S7'
S10'
X=0
S1
S3'
S4'
S7'
S7'
S0
S0
X=1
S2
S4'
S3'
S7'
S10'
S0
S0
Estado sig. Salida
X=0
0
0
0
0
0
0
1
X=1
0
0
0
0
0
0
0
Primera implementacin: Codificar estados en binario, usar biestables D.
Segunda implementacin: Usar codificacin segn prioridad de
adyacencia (abajo) y biestables D.
Estado S0 S1 S2 S3 S4 S7 S10
Cdigo 000 001 101 011 111 010 110
Ampliacin de Tecnologa de Computadores
3.2. Minimizacin del nmero de estados
De qu se trata?
Obtener una especificacin equivalente con el menor
nmero posible de estados.
Para qu?
Para eliminar biestables del diseo (no siempre es posible
eliminar tantos estados).
Para simplificar las ecuaciones de excitacin: cada estado
eliminado se traduce en trminos sin especificar.
Cmo?
A partir de la definicin de estados equivalentes: los que
producen la misma salida para todas las secuencias de
valores de entrada.
Ampliacin de Tecnologa de Computadores
Minimizacin del nmero de estados (II)
La definicin de equivalencia de estados se traduce en
2 condiciones:
Misma salida para todos los valores de la entrada.
Transiciones a estados equivalentes para todos los valores
de la entrada.
Dos mtodos para encontrar estados equivalentes:
Mtodo de Huffman-Mealy (clases de equivalencia).
Agrupar los estados en el mnimo nmero de clases de
equivalencia segn la condicin 1.
Aplicar la condicin 2 para dividir las clases de
equivalencia.
Mtodo de la tabla de implicacin.
Ampliacin de Tecnologa de Computadores
Minimizacin de estados: ejemplo 1
Dada la tabla de estados de un sistema reconocedor de
las secuencias 010 o 110 obtener una especificacin
equivalente con mnimo nmero de estados.
Estado actual
S
0
S
1
S
2
S
3
S
4
S
5
S
6
Secuencia X(t)
Reset
0
1
00
01
10
1 1
X =1
0
0
0
0
0
0
0
Estado sig. Salida
X =0
S
1
S
3
S
5
S
0
S
0
S
0
S
0
X =1
S
2
S
4
S
6
S
0
S
0
S
0
S
0
X =0
0
0
0
0
1
0
1
Ampliacin de Tecnologa de Computadores
Mtodo del diagrama de implicacin
a. Construir el diagrama de implicacin con una celda para cada
combinacin de dos estados.
b. El relleno inicial de la celda S
i
, S
j
es
X si las salidas de los dos estados son distintas.
Las parejas de estados implicadas (=que deben ser
equivalentes) para todas las combinaciones de entrada.
c. Recorrer el diagrama de arriba abajo y de izquierda a derecha:
Si la celda S
i
, S
j
contiene un par de estados siguientes S
m
, S
n
y la celda S
m
, S
n
tiene una X, se marca la celda S
i
, S
j
con X.
El paso c se repite hasta que no se aadan marcas.
Las celdas S
i
, S
j
sin marcar indican que S
i
, S
j
son equivalentes.
Ampliacin de Tecnologa de Computadores
a. Generacin del diagrama de implicacin
Xij = Xji
Adems eliminamos la diagonal
Diagrama de
implicacin
Estados siguientes
para todas las
combinaciones
de las entradas.
S0
S1
S2
S3
S4
S5
S6
S0 S1 S2 S3 S4 S5 S6
S1
S2
S3
S4
S5
S6
S0 S1 S2 S3 S4 S5
Ampliacin de Tecnologa de Computadores
b. Relleno inicial del diagrama
Entrada X
ij
Fila S
i
, Columna S
j
S
i
es equivalente a S
j
si tienen las mismas salidas y
los estados siguiente son equivalentes.
Para las parejas (S
i
, S
j
) con las mismas salidas X
ij
contiene
los estados siguientes de (S
i
, S
j
) que deben ser
equivalentes si Si y Sj lo son.
Para los (S
i
, S
j
) con diferente salida X
ij
se tacha.
Ejemplo:
S0 va a S1 si 0, a S2 si 1;
S1 va a S3 si 0, a S4 si 1;
La celda X<0,1> contiene S1-S3 (transicin si cero)
S2-S4 (transicin si uno)
S1-S3
S2-S4
S0
S1
Ampliacin de Tecnologa de Computadores
Relleno inicial: ejemplo 1
S2 y S4
tienen distinto
comportamiento E/S
Esto implica que
no se pueden combinar
S1 y S0
S1

S2

S3

S4

S5

S6
S0 S1 S2 S3 S4 S5
S1-S3
S2-S4
S1-S5
S2-S6
S3-S5
S4-S6
S1-S0
S2-S0
S3-S0
S4-S0
S5-S0
S6-S0
S1-S0
S2-S0
S3-S0
S4-S0
S5-S0
S6-S0
S0-S0
S0-S0
S0-S0
S0-S0
Ampliacin de Tecnologa de Computadores
c. Modificaciones sucesivas: ejemplo 1
Realizamos una pasada aadiendo
cruces a las celdas que no puedan
ser estados equivalentes.
En la segunda pasada no se aade
ninguna celda.
S3 y S5 son equivalentes
S4y S6 son equivalentes
Esto implica que S1 y S2 tambin.
S0-S0
S0-S0
S3-S5
S4-S6
S0-S0
S0-S0
S1
S2
S3
S4
S5
S6
S0 S1 S2 S3 S4 S5
Ampliacin de Tecnologa de Computadores
Resultado del ejemplo 1
Quedan 4 estados:
S0
S1, S2 (S
1
)
S3, S5 (S
3
)
S4, S6 (S
4
)
Tabla de transicin
de estados reducida
Tabla de transicin
de estados reducida
Secuencia X(t)
Reset
0 or 1
00 or 10
01 or 1 1
Estado actual
S
0
S
1
'
S
3
'
S
4
'
X =0
S
1
'
S
3
'
S
0
S
0
X =1
S
1
'
S
4
'
S
0
S
0
X =0
0
0
0
1
X =1
0
0
0
0
Estado sig. Salida
Ampliacin de Tecnologa de Computadores
Minimizacin de estados: ejemplo 2
S(t+1), Z(t)
S(t) X = a X = b X = c X = d
A E,1 C,0 B,1 E,1
B C,0 F,1 E,1 B,0
C B,1 A,0 D,1 F,1
D G,0 F,1 E,1 B,0
E C,0 F,1 D,1 E,0
F C,1 F,1 D,0 H,0
G D,1 A,0 B,1 F,1
H B,1 C,0 E,1 F,1
Ampliacin de Tecnologa de Computadores
4. Sistemas secuenciales incompletamente
especificados
Qu son?
El estado siguiente y/o la salida no estn especificados para
algn valor de estado actual y entrada.
Por qu?
Por la codificacin de estados: si el nmero no es potencia de 2
tanto estado siguiente como salida sin espec.
Porque la salida se observe slo en algunos ciclos de reloj: el
resto de los ciclos salida sin espec.
Porque tras un valor de la entrada se aplique siempre seal de
Reset: estado siguiente sin espec.
Para qu usar los -?
Para minimizar el nmero de estados.
Ampliacin de Tecnologa de Computadores
Asignacin de - para minimizar de
estados
Procedimiento intuitivo:
Damos valor 0 y buscamos estados equivalentes.
Damos valor 1 y buscamos estados equivalentes.
No siempre funciona:
Estados equivalentes siempre pueden combinarse.
Estados no equivalentes pueden combinarse si son
compatibles.
Mtodo de asignacin:
a. Buscar todos los estados compatibles
b. Elegir los estados compatibles a combinar para que el nmero
de estados sea mnimo
c. Asignar valores a los - para cumplir b.
Ampliacin de Tecnologa de Computadores
a.1. Definir los compatibles mximos
Def 1: secuencia de entradas APLICABLE
la que no atraviesa ningn estado siguiente no
especificado.
Def. 2: estados COMPATIBLES
si y slo si producen la misma secuencia de salidas
(cuando ambas estn especificadas) para toda secuencia de
entradas aplicable a ambos.
Def. 3: clase de compatibilidad
conjunto de estados que son todos compatibles entre s.
Def. 4: compatible mximo
clase de compatibilidad que deja de serlo si se le aade un
estado cualquiera.
Ampliacin de Tecnologa de Computadores
a.2. Buscar los compatibles mximos
Si dos estados son compatibles:
Tienen la misma salida cuando ambas estn especificadas
Los estados siguientes son compatibles cuando ambos espec.
Mtodo:
Crear tabla de implicacin inicial
Recorrerla eliminando estados incompatibles.
Compatibilidad NO transitiva (un estado puede aparecer en
varios compatibles mximos).
Ampliacin de Tecnologa de Computadores
Ejemplo: buscar compatibles mximos
3
4
5
6
7
8
1 3 4 5 6 7
9
8


S(t)
S(t+1), YZ
A B C K
1 1,- 1,- 1,- 3,00
3 4,- 5,- 6,- -,-
4 -,- 7,- 9,- -,-
5 9,- -,- 9,- -,-
6 9,- 8,- -,- -,-
7 -,- -,- 7,- 1,01
8 8,- -,- -,- 1,10
9 9,- 9,- 9,- 1,00

Sistema con 4 entradas (A, B, C, K) y 2 salidas (Y,Z).
Si ninguna entrada est activa conserva el estado. No puede haber varias
entradas activas a la vez (sin especificar).
Ampliacin de Tecnologa de Computadores
b. Hallar coleccin de cobertura mnima
Def. 5: estado p de tabla T CUBRE a estado q de tabla S
si y slo si producen la misma secuencia de salidas (cuando la
salida de S est especificada) para toda secuencia de entradas
aplicable a q.
Es ms restrictivo cobertura que compatibilidad.
Todos los estados cubiertos por un mismo estado son
compatibles entre s (son clase de compatibilidad).
Def. 6: una tabla T cubre a otra tabla S
si todo estados de S es cubierto por uno de T.
Def. 7: clase de compatibilidad CERRADA
para todo estado de la clase y toda entrada todos los estados
siguientes especificados pertenecen a una nica clase.
Ampliacin de Tecnologa de Computadores
Coleccin de cobertura mnima (cont.)
Teorema:
Coleccin de cobertura: coleccin de clases de compatibilidad
cerrada tal que cada estado del circuito est en al menos una
clase.
Si un circuito S tiene n estados agrupados en m clases (que son
coleccin de cobertura), el circuito puede ser cubierto por un
circuito T de m estados.
Buscar una coleccin de cobertura mnima
Empezamos usando todos los compatibles mximos.
Se elige el mnimo nmero de clases que sea coleccin de
cobertura
cubra todos los estados
cumpla la propiedad de cierre.
Ampliacin de Tecnologa de Computadores
Ejemplo: coleccin de cobertura mnima
Compatibles mximos:
3-7 si 6-7
3-8 si 4-8
4-5
4-8
5-6
5-9
6-7
1
Coleccin de cobertura:
1 (a), 3 (b), 4-8 (c), 5-9 (d), 6-7 (e)


S(t)
S(t+1), YZ
A B C K
a a,- a,- a,- b,00
b c,- d,- e,- -,-
c c,- e,- d,- a,10
d d,- d,- d,- a,00
e d,- c,- e,- a,01

Ampliacin de Tecnologa de Computadores
c. Asignar - del sistema mnimo
Asignamos valores a las salidas -cuando sea necesario-
para que cada estado de T cubra a la clase de S (deben
tener la misma salida para toda entrada que est
especificada para algn estado de la clase).
Lo mismo para el estado siguiente.
Podemos eliminar estados de una clase para reducir los
requisitos de cierre.
Las clases solapadas pueden producir estados
siguientes parcialmente no especificados.
Ampliacin de Tecnologa de Computadores
Ejemplo 2: asignacin de -
S(t) X=00 X=01 X=11 X=10
A B,- E,0 E,0 B,-
B C,0 D,- -,- -,-
C -,- E,- A,0 B,0
D A,- B,1 -,- -,-
E B,1 -,- -,- D,1
B
C
D
E
A B C D
Ampliacin de Tecnologa de Computadores
5. Diseo de circuitos secuenciales con
diferentes clases de biestables
El tipo de biestable elegido
determina las ecuaciones de
excitacin.
Las funciones sern ms
sencillas si elegimos el
mejor.
Proceso de diseo:
Elegir el biestable ms
adecuado.
Obtener las funciones de
excitacin usando la tabla
de excitacin del biestable.
Simplificar las funciones.
Elegir elementos
de memoria
(S-R, D, J-K o T)
Ecuaciones de estado
siguiente Q+ = f(X,Q)
Ecuaciones de excitacin
{S-R, D, J-K, T} = f(X,Q)
Ampliacin de Tecnologa de Computadores
Eleccin del biestable
Latch R-S sensible a nivel:
usado como elemento de almacenamiento en sistemas con reloj
de pequea anchura
no se recomienda su uso!
sin embargo bloque bsico para construir otros biestables
Biestable J-K:
componente verstil
puede ser usado para construir biestables D y T
normalmente necesita menos cantidad de lgica para
implementar (X,Q,Q+)
pero tiene dos entradas lo que incrementa la complejidad del
conexionado
Ampliacin de Tecnologa de Computadores
Eleccin del biestable (II)
Biestable D:
minimiza interconexionado
la ms popular en tecnologas VLSI
la tcnica de diseo ms sencilla
la mejor eleccin para los registros de estado
Biestable T:
no existen realmente, construidos a partir de J-K
normalmente la mejor eleccin para implementar contadores
Ampliacin de Tecnologa de Computadores
Obtencin de la tabla y las ecuaciones de
excitacin
Tablas de Excitacin: Cules son las entradas necesarias para forzar
un determinado cambio de estado?
D
0
1
0
1
T
0
1
1
0
Q
+

0
1
0
1
Q
0
0
1
1
S
0
1
0
X
R
X
0
1
0
K
X
X
1
0
J
0
1
X
X
S R Q+
0 0 Q
0 1 0
1 0 1
1 1 proh.
J K Q+
0 0 Q
0 1 0
1 0 1
1 1 Q
D Q+
0 0
1 1
T Q+
0 Q
1 Q
Aplicando la tabla de
excitacin del biestable
seleccionado se
obtienen las ecuaciones
de excitacin
Ampliacin de Tecnologa de Computadores
Implementacin de un biestable en funcin
de otro
D implementado con J-K J-K implementado con D
D
J
K
J
K
C
Q
Q
C
D Q
Q
Q

Você também pode gostar