Está en la página 1de 48

Tema 3: Diseo de sistemas secuenciales

sncronos

1. Latches y biestables.
2. Implementacin cannica de sistemas secuenciales.
3. Minimizacin de estados
4. Codificacin de estados.
5. Diseo de circuitos secuenciales con diferentes clases de
biestables.
Gajski, tema 6.

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 maestro-esclavo.
X Biestables disparados por flanco.
X Caractersticas temporales de los biestables.
X Entradas de inicializacin asncrona

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 Q+ D Q+ J K Q+ T Q+
S-R
0 0 Q 0 0 0 0 Q 0 Q
D 0 1 0 1 1 0 1 0 1 Q
J-K 1 0 1 1 0 1
1 1 proh. 1 1 Q
T
Ecuaciones Caractersticas
X Segn su comportamiento temporal: R-S: Q+ = S + R Q
Latch
D: Q+ = D
Latch sncrono (sensible a nivel)
Flip-flop disparado por flanco J-K: Q+ = J Q + K Q
Flip-flop maestro-esclavo
T: Q+ = T Q + T Q
Deducidas a partir de diagramas de K
para Q(t+1) = Q+ = (Entradas, Q)
Ampliacin de Tecnologa de Computadores
1.2. Biestable asncrono (latch)

X La salida cambia cuando cambian las entradas.


X Ejemplo 1: S-R (con entradas activas a nivel alto).
R
S R Q+ Q
0 0 Q
0 1 0
1 0 1 S Q
1 1 proh.

X Ejemplo 2: S-R (con entradas activas a nivel bajo).


S Q
S R Q+
0 0 proh.
0 1 1
1 0 0
1 1 Q R 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

J
S Q

Q
K
R
Q Enable
Enable
Q + = J Q + KQ
X Ejemplo 2: J-K con entrada de capacitacin

Ampliacin de Tecnologa de Computadores


1.3. Problemas de sincronizacin en latches

X El latch J-K oscila cuando las entradas valen 11 si el tiempo que la seal
de capacitacin est activa es mayor que el retardo del biestable.
X Cuando la entrada vara dos veces en un ciclo de reloj:
Puede darse la captura de 1s para JK
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

X
Q1

Q2

Ampliacin de Tecnologa de Computadores


Soluciones a los problemas

X 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

X 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 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
Q

Q
K
Enable

Ampliacin de Tecnologa de Computadores


1.5. Biestables disparados por flanco

X La salida cambia en el flanco


de disparo de la entrada A
dinmica.
X Ejemplo: biestable D
disparado por flanco de
S
bajada Clk
Q

D
B

Ampliacin de Tecnologa de Computadores


1.5. Biestables disparados por flanco

X La salida cambia en el flanco


de disparo de la entrada D
dinmica.
X Ejemplo: biestable D 0
disparado por flanco de R
bajada 0
Clk
Q

1 Q
S

D
D

Ampliacin de Tecnologa de Computadores


1.6. Caractersticas temporales de los biestables

X 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)
X Tiempo de set-up (establecimiento) Tsu Th
Tiempo mnimo que la entrada debe Entrada
permanecer estable ANTES del
suceso del reloj
X Tiempo de hold (mantenimiento)
Tiempo mnimo que la entrada debe Clock
permanecer estable DESPUES del
suceso del reloj
X Frecuencia mxima de reloj

Ampliacin de Tecnologa de Computadores


Comparacin del comportamiento temporal de los
biestables
TIPO Cundo se muestrean las entradas? Cundo son vlidas las salidas?
Latch sin reloj siempre retardo de propagacin desde el
cambio en la entrada
Latch sensible reloj en alta (Tsetup y Thold a cada retardo de propagacin desde el
a nivel lado del eje de bajada) cambio en la entrada

Flipflop flanco transicin de reloj de baja a alta retardo de propagacin desde


de subida (Tsetup y Thold a cada lado del eje de flanco de subida del reloj
subida)

Flipflop flanco transicin de reloj de alta a baja retardo de propagacin desde


de bajada (Tsetup y Thold a cada lado del eje de flanco de bajada del reloj
bajada)

Flipflop reloj en alta (Tsetup y Thold a cada retardo de propagacin desde


Maestro-esclavo lado del eje de bajada) flanco de bajada del reloj

Ampliacin de Tecnologa de Computadores


2. Implementacin cannica de sistemas secuenciales

X Diseo y anlisis de la implementacin cannica


Implementacin cannica (Huffman).
Z(t)
Proceso de anlisis.
Proceso de diseo. Inicializar

X(t)

combinacional

Registro de
estado
Circuito

Reloj
Ampliacin de Tecnologa de Computadores
Anlisis de la implementacin cannica

Esquema lgico
Obtener ecuaciones de excitacin y salida

Obtener ecuaciones de estado siguiente

Generar tablas de estado siguiente y salida

Generar diagrama de estados

Desarrollar diagrama de tiempo

Simular circuito lgico

Especificacin
Ampliacin de Tecnologa de Computadores
Anlisis de la implementacin cannica: ejemplo

Ampliacin de Tecnologa de Computadores


Diseo de la implementacin cannica

Descripcin Desarrollar diagrama Generar tabla de estado


del diseo de estados siguiente y salida

Minimizar estados

Codificar entradas,
Esquema lgico estados y salidas

Obtener ecuaciones de
Verificar funcionamiento estado siguiente y salida
y temporizacin
Elegir elementos
Simular esquema lgico de memoria

Obtener ecuaciones de excitacin


Obtener esquema lgico y
diagrama de tiempo Optimizar implementacin de la lgica
Ampliacin de Tecnologa de Computadores
Optimizacin de sistemas secuenciales

X En el diseo de la implementacin cannica hay 3 pasos de


optimizacin:
Minimizar estados
Codificar estados
Elegir elementos de memoria
X Minimizacin de estados
Introduccin.
Minimizacin de estados para sistemas completamente
especificados.
Minimizacin de estados para sistemas incompletamente
especificados.
X Codificacin de estados
Introduccin.
Estrategias.
Ejemplo.
X Eleccin del tipo de elementos de memoria

Ampliacin de Tecnologa de Computadores


3. Minimizacin del nmero de estados

X De qu se trata?
Obtener una especificacin equivalente con el menor
nmero posible de estados.
X 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.
X 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


3.1. Minimizacin del nmero de estados para sistemas
completamente especificados

X 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.
X 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

X 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 sig. Salida


Secuencia X(t) Estado actual X=0 X =1 X =0 X=1
Reset S0 S1 S2 0 0
0 S1 S3 S4 0 0
1 S2 S5 S6 0 0
00 S3 S0 S0 0 0
01 S4 S0 S0 1 0
10 S5 S0 S0 0 0
11 S6 S0 S0 1 0

Ampliacin de Tecnologa de Computadores


Mtodo del diagrama de implicacin

X Construir el diagrama de implicacin con una celda para cada


combinacin de dos estados.
X 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.
X 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

Estados siguientes
para todas las
combinaciones
de las entradas.

Xij = Xji Diagrama de


Adems eliminamos la diagonal implicacin

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 y


los 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; S0 S1-S3
S1 va a S3 si 0, a S4 si 1; S2-S4
S1
La celda X<0,1> contiene S1-S3 (transicin si cero)
S2-S4 (transicin si uno)
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

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.

Ampliacin de Tecnologa de Computadores


Resultado del ejemplo 1

X Quedan 4 estados:
S0
S1, S2 (S1)
S3, S5 (S3)
S4, S6 (S4)
Estado sig. Salida
Secuencia X(t) Estado actual X =0 X =1 X =0 X =1
Reset S0 S1' S'1 0 0
Tabla de transicin 0 or 1 S1' S3' S'4 0 0
de estados reducida 00 or 10 S3' S0 S0 0 0
01 or 11 S4' S0 S0 1 0

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


3.2. Sistemas secuenciales incompletamente
especificados

X Qu son sistemas incompletamente especificados?


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.
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:
Buscar todos los estados compatibles
Elegir los estados compatibles a combinar para que el
nmero de estados sea mnimo
Asignar valores a los - para cumplir b.

Ampliacin de Tecnologa de Computadores


a.1. Definir los compatibles mximos

X Def 1: secuencia de entradas APLICABLE


la que no atraviesa ningn estado siguiente no
especificado.
X 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.
X Def. 3: clase de compatibilidad
conjunto de estados que son todos compatibles entre s.
X 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

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

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).

S(t+1), YZ 3

S(t) A B C K 4
1 1,- 1,- 1,- 3,00 5
3 4,- 5,- 6,- -,-
6
4 -,- 7,- 9,- -,-
5 9,- -,- 9,- -,- 7

6 9,- 8,- -,- -,- 8

7 -,- -,- 7,- 1,01 9


8 8,- -,- -,- 1,10
1 3 4 5 6 7 8
9 9,- 9,- 9,- 1,00
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


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).
X Def. 6: una tabla T cubre a otra tabla S
si todo estados de S es cubierto por uno de T.
X 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.)

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
cubra todos los estados
cumpla la propiedad de cierre.

Ampliacin de Tecnologa de Computadores


Ejemplo: coleccin de cobertura mnima

X Compatibles mximos:
S(t+1), YZ
3-7 si 6-7
S(t) A B C K
3-8 si 4-8
a a,- a,- a,- b,00
4-5
b c,- d,- e,- -,-
4-8
c c,- e,- d,- a,10
5-6 d d,- d,- d,- a,00
5-9 e d,- c,- e,- a,01
6-7
1
X Coleccin de cobertura:
1 (a), 3 (b), 4-8 (c), 5-9 (d), 6-7 (e)

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=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

A B C D

Ampliacin de Tecnologa de Computadores


4. 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:
Estrategia del mnimo cambio de bits
Estrategia de prioridad de adyacencia
Codificacin del 1 caliente
X 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


Estrategia del mnimo cambio de bits

Codificacin 1 Codificacin 2
S0 Estado Q2 Q 1 Q0 Q2 Q1 Q0
0 1 S0 0 0 0 0 0 0
S1 1 0 1 0 0 1
S2 1 1 1 0 1 0
S1 S2 0 1 0 0 1 1
S3
S4 0 1 1 1 1 1

S3 Transicin Cambios de bit Cambios de bit


S0 a S1: 2 1
S0 a S2: 3 1
S1 a S3: 3 1
S4 S2 a S3: 2 1
S3 a S4: 1 1
S4 a S1: 2 2

13 7

Ampliacin de Tecnologa de Computadores


Estrategia de prioridad de adyacencia

X Cdigos adyacentes a estados con fuente, destino o


salida comunes.
X Prioridades en la asignacin:
Prioridad 1: DESTINO COMUN
Estados con el mismo estado siguiente para las
entradas. Estados con estados siguientes iguales i/j i/k
(y adyacentes) para distintas entradas.
Prioridad 2: FUENTE COMUN
Estados siguientes del mismo estado para
entradas adyacentes.
Prioridad 3: SALIDA COMUN
Estados con la misma salida para las mismas
entradas.
i/j i/j

Ampliacin de Tecnologa de Computadores


Codificacin de estados: ejemplo

X 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.

Secuencia X(t) Estado


Reset S0
0 S1
1 S2
00 o 11 S3'
01 o 10 S4'
no (011 o 101) S7'
011 o 101 S10'

Ampliacin de Tecnologa de Computadores


Codificacin de estados: ejemplo (II)

Estado sig. Salida


Secuencia X(t) Estado actual X=0 X=1 X=0 X=1
Reset S0 S1 S2 0 0
0 S1 S3' S4' 0 0
1 S2 S4' S3' 0 0
00 or 11 S3' S7' S7' 0 0
01 or 10 S4' S7' S10' 0 0
not (011 or 101) S7' S0 S0 0 0
011 or 101 S10' S0 S0 1 0

Prioridad 1: (S7', S10'), (S3', S4'), (S1,S2)

Prioridad 2:
(S1, S2), 2x(S3', S4'), (S7', S10')

Prioridad 3:
0/0: (S0, S1, S2, S3', S4', S7')
1/0: (S0, S1, S2, S3', S4', S7')

Ampliacin de Tecnologa de Computadores


Codificacin de estados: ejemplo (II)

Posiblemente sean ptimas las codificaciones con:


00 = Reset = S0

(S1, S2), (S3', S4'), (S7', S10') adyacentes

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


5. Diseo de circuitos secuenciales con diferentes
clases de biestables

X El tipo de biestable elegido


Ecuaciones de estado determina las ecuaciones de
siguiente Q+ = f(X,Q) excitacin.
Las funciones sern ms
sencillas si elegimos el
Elegir elementos mejor.
de memoria X Proceso de diseo:
(S-R, D, J-K o T) Elegir el biestable ms
adecuado.
Obtener las funciones de
excitacin usando la tabla
Ecuaciones de excitacin
de excitacin del biestable.
{S-R, D, J-K, T} = f(X,Q)
Simplificar las funciones.

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?

S R Q+ J K Q+
0 0 Q 0 0 Q
0 1 0 0 1 0 T Q+ D Q+
1 0 1 1 0 1 0 Q 0 0
1 1 proh. 1 1 Q 1 Q 1 1

Aplicando la tabla de
excitacin del biestable
seleccionado se
obtienen las ecuaciones
de excitacin

Ampliacin de Tecnologa de Computadores

También podría gustarte