Upload
csrmtl20
View
6
Download
0
Embed Size (px)
Citation preview
Ampliacin de Tecnologa de Computadores
Tema 3: Diseo de sistemas secuenciales sncronos
1. Concepto de sistema secuencial2. Optimizacin de sistemas secuenciales3. Sistemas secuenciales incompletamente
especificados4. Latches y biestables5. Diseo de circuitos secuenciales con diferentes
clases de biestables
Ampliacin de Tecnologa de Computadores
1. Latches y biestables
X Biestables: definicin y tipos.X Biestables sensibles a nivel (latches).X Problemas de sincronizacin. X Biestables disparados por flanco.X Biestables maestro-esclavo.X Caractersticas temporales de los biestables.
Ampliacin de Tecnologa de Computadores
1.1. Biestables: definicin
X Biestable es todo elemento que tiene dos estados estables (0 y 1). Sirve para almacenar un bit de informacin.
X 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
X Segn su comportamiento lgico: S-R D J-K T
X Segn su comportamiento temporal: Latch Latch sncrono (sensible a
nivel) Flip-flop disparado por flanco Flip-flop maestro-esclavo
Ecuaciones CaractersticasR-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 Q0 1 01 0 11 1 proh.
J K Q+0 0 Q0 1 01 0 11 1 Q
D Q+0 01 1
T Q+0 Q1 Q
Deducidas a partir de diagramas de Kpara Q(t+1) = Q+ = (Entradas, Q)
Ampliacin de Tecnologa de Computadores
X La salida cambia cuando cambian las entradas.X Ejemplo 1: S-R (con entradas activas a nivel alto).
X Ejemplo 2: S-R (con entradas activas a nivel bajo).
1.2. Biestable asncrono (latch)
S R Q+0 0 Q0 1 01 0 11 1 proh.
S R Q+0 0 proh. 0 1 11 0 01 1 Q
Q S
R Q
R
S
Q
Q
Ampliacin de Tecnologa de Computadores
Biestables sensibles a nivel (latch sncrono)
X La salida cambia cuando est activa la seal de capacitacin (reloj).
X Ejemplo 1: S-R con entrada de capacitacin
X Ejemplo 2: J-K con entrada de capacitacin
S
R
Q
Enable
Q
QKQJQ +=+
J
K
Q
Enable
Q
Ampliacin de Tecnologa de Computadores
1.3. Problemas de sincronizacin en latches
X El latch J-K oscila si el tiempo que la seal de capacitacin est activa es mayor que el retardo del biestable.
X Si la salida de un latch alimenta a la entrada de otro puede producirse un doble cambio de estado.
X(t) D1 Q1 D2 Q2 Ck
XQ1
Q2
Ampliacin de Tecnologa de Computadores
Soluciones a los problemas
X Si usamos latches debemos garantizar queEl pulso de reloj es ms corto que el retardo del latchLa entradas se mantienen constantes durante el pulso
de reloj
X Una alternativa es usar FLIP-FLOPs, ms fiablesy Disparados por flanco: la salida slo vara durante la
transicin del reloj (que es la entrada dinmica).y Maestro-esclavo
Ampliacin de Tecnologa de Computadores
1.4. Biestables disparados por flanco
X La salida cambia en el flanco de disparo de la entrada dinmica.
X Ejemplo: biestable D disparado por flanco de bajada
Q
Q
D
Clk
R
S
Ampliacin de Tecnologa de Computadores
1.5. Biestables maestro-esclavo
X Se lee la entrada en un flanco y se modifica la salida en el contrario.
X Ejemplo: J-K maestro-esclavo.J
KEnable
Q
Q
Ampliacin de Tecnologa de Computadores
1.6. Caractersticas temporales de los biestables
X Retardo de propagaciny Desde el cambio en la entrada hasta el cambio en la saliday Para un biestable hay varios retardos (tantos como
distintos cambios en las diferentes entradas)X Tiempo de set-up (establecimiento)
y Tiempo mnimo que la entrada debe permanecer estable ANTES del suceso del reloj
X Tiempo de hold (mantenimiento)y Tiempo mnimo que la entrada debe permanecer estable
DESPUES del suceso del relojX 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 (Tsetup y Thold a cada lado del eje de
bajada)
FlipflopMaestro-esclavo
retardo de propagacin desde flanco de bajada del reloj
transicin de reloj de alta a baja (Tsetup y Thold 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 (Tsetup y Thold a cada lado del eje de
subida)
Flipflop flanco de subida
retardo de propagacin desde el cambio en la entrada
reloj en alta (Tsetup y Thold a cada lado del eje de bajada)
Latch sensiblea nivel
retardo de propagacin desde el cambio en la entrada
siempreLatch sin relojCundo son vlidas las salidas?Cundo se muestrean las entradas?TIPO
Ampliacin de Tecnologa de Computadores
2. Concepto de sistema secuencial
X Sistema secuencial sncrono.XModelo de sistema secuencial sncrono.XDiseo y anlisis de la implementacin cannica Implementacin cannica.Proceso de anlisis.Proceso de diseo.
Ampliacin de Tecnologa de Computadores
Mquinas de Mealy y de MooreMealy: 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 cannicaDesarrollar diagrama
de estadosGenerar 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
X En el diseo de la implementacin cannica hay 3 pasos de optimizacin:
y Minimizar estadosy Codificar estadosy Elegir elementos de memoria
X Codificacin de estados Introduccin. Ejemplo.
X Minimizacin de estados Introduccin. Mtodo de la tabla de implicacin.
X Eleccin del tipo de elementos de memoria (final del tema)
Ampliacin de Tecnologa de Computadores
3.1. Codificacin de estados
X La eleccin del cdigo binario que se asigna a cada estado influye en la ecuaciones de excitacin y salida.
X Estrategias de codificacin intentan averiguar qu asignacin produce ecuaciones ms sencillas:
y Estrategia del mnimo cambio de bitsy Estrategia de prioridad de adyacencia.
X Pero:y No es posible garantizar que se obtiene el resultado
ptimo.y Las ecuaciones de excitacin dependen del tipo de
biestables.
Ampliacin de Tecnologa de Computadores
Diseo de la implementacin cannica: ejemplo de codificacin de estados
XDisear 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/00/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. SalidaX=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
X De qu se trata?y Obtener una especificacin equivalente con el menor
nmero posible de estados.X Para qu?
y Para eliminar biestables del diseo (no siempre es posible eliminar tantos estados).y Para simplificar las ecuaciones de excitacin: cada estado
eliminado se traduce en trminos sin especificar.X Cmo?
y 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)
X La definicin de equivalencia de estados se traduce en 2 condiciones:
y Misma salida para todos los valores de la entrada.y Transiciones a estados equivalentes para todos los valores
de la entrada.XDos mtodos para encontrar estados equivalentes:Mtodo de Huffman-Mealy (clases de equivalencia).y Agrupar los estados en el mnimo nmero de clases de
equivalencia segn la condicin 1.y 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
XDada 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 Si, Sj 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 Si, Sj contiene un par de estados siguientes Sm, Sn
y la celda Sm, Sn tiene una X, se marca la celda Si, Sj con X.
X El paso c se repite hasta que no se aadan marcas.X Las celdas Si, Sj sin marcar indican que Si, Sj son equivalentes.
Ampliacin de Tecnologa de Computadores
a. Generacin del diagrama de implicacin
Xij = XjiAdems eliminamos la diagonal Diagrama de implicacin
Estados siguientespara todas lascombinacionesde 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 Xij Fila Si, Columna Sj
Si es equivalente a Sj si tienen las mismas salidas ylos estados siguiente son equivalentes.
Para las parejas (Si, Sj) con las mismas salidas Xij contiene los estados siguientes de (Si, Sj) que deben ser equivalentes si Si y Sj lo son.
Para los (Si, Sj) con diferente salida Xij 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 contiene S1-S3 (transicin si cero)S2-S4 (transicin si uno)
S1-S3S2-S4
S0
S1
Ampliacin de Tecnologa de Computadores
Relleno inicial: ejemplo 1
S2 y S4 tienen distinto
comportamiento E/S
Esto implica queno se pueden combinar
S1 y S0
S1
S2
S3
S4
S5
S6S0 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 aadiendocruces a las celdas que no puedan ser estados equivalentes.
En la segunda pasada no se aadeninguna celda.
S3 y S5 son equivalentesS4y S6 son equivalentesEsto 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
XQuedan 4 estados:y S0y S1, S2 (S1)y S3, S5 (S3)y S4, S6 (S4)
Tabla de transicinde estados reducidaTabla de transicinde 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
X Qu son? El estado siguiente y/o la salida no estn especificados para
algn valor de estado actual y entrada.X 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.X Para qu usar los -? Para minimizar el nmero de estados.
Ampliacin de Tecnologa de Computadores
Asignacin de - para minimizar de estados
X Procedimiento intuitivo: Damos valor 0 y buscamos estados equivalentes. Damos valor 1 y buscamos estados equivalentes.
X No siempre funciona: Estados equivalentes siempre pueden combinarse. Estados no equivalentes pueden combinarse si son
compatibles.X Mtodo de asignacin:
a. Buscar todos los estados compatiblesb. Elegir los estados compatibles a combinar para que el nmero
de estados sea mnimoc. Asignar valores a los - para cumplir b.
Ampliacin de Tecnologa de Computadores
a.1. Definir los compatibles mximos
XDef 1: secuencia de entradas APLICABLE y la que no atraviesa ningn estado siguiente no
especificado.XDef. 2: estados COMPATIBLES
y si y slo si producen la misma secuencia de salidas (cuando ambas estn especificadas) para toda secuencia de entradas aplicable a ambos.
XDef. 3: clase de compatibilidady conjunto de estados que son todos compatibles entre s.
XDef. 4: compatible mximoy 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
X Si dos estados son compatibles: Tienen la misma salida cuando ambas estn especificadas Los estados siguientes son compatibles cuando ambos espec.
X Mtodo: Crear tabla de implicacin inicial Recorrerla eliminando estados incompatibles.
X 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
X Def. 5: estado p de tabla T CUBRE a estado q de tabla Sy 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).X Def. 6: una tabla T cubre a otra tabla S
y si todo estados de S es cubierto por uno de T.X Def. 7: clase de compatibilidad CERRADA
y 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.)
X 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.
X Buscar una coleccin de cobertura mnima Empezamos usando todos los compatibles mximos. Se elige el mnimo nmero de clases que sea coleccin de
cobertura y cubra todos los estados y cumpla la propiedad de cierre.
Ampliacin de Tecnologa de Computadores
Ejemplo: coleccin de cobertura mnima
X Compatibles mximos: 3-7 si 6-7 3-8 si 4-8 4-5 4-8 5-6 5-9 6-7 1
X 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
X 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).
X Lo mismo para el estado siguiente.
X Podemos eliminar estados de una clase para reducir los requisitos de cierre.
X 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=10A B,- E,0 E,0 B,-B C,0 D,- -,- -,-C -,- E,- A,0 B,0D 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
X El tipo de biestable elegido determina las ecuaciones de excitacin. Las funciones sern ms
sencillas si elegimos el mejor.
X 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
X 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
X 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)
X Biestable D: minimiza interconexionado la ms popular en tecnologas VLSI la tcnica de diseo ms sencilla la mejor eleccin para los registros de estado
X 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 Q0 1 01 0 11 1 proh.
J K Q+0 0 Q0 1 01 0 11 1 Q
D Q+0 01 1
T Q+0 Q1 Q
Aplicando la tabla de excitacin del biestableseleccionado 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