You are on page 1of 48

Tema 3: Diseño de sistemas secuenciales

síncronos

1. Latches y biestables.
2. Implementación canónica de sistemas secuenciales.
3. Minimización de estados
4. Codificación de estados.
5. Diseño de circuitos secuenciales con diferentes clases de
biestables.
Gajski, tema 6.

Ampliación de Tecnología de Computadores


1. Latches y biestables

X Biestables: definición y tipos.


X Biestables sensibles a nivel (latches).
X Problemas de sincronización.
X Biestables maestro-esclavo.
X Biestables disparados por flanco.
X Características temporales de los biestables.
X Entradas de inicialización asíncrona

Ampliación de Tecnología de Computadores


1.1. Biestables: definición

X Biestable es todo elemento que tiene dos estados


estables (0 y 1). Sirve para almacenar un bit de
información.
X La hipótesis de funcionamiento síncrono de los
sistemas secuenciales supone que:
¾ El estado sólo cambia una vez por ciclo de reloj y el
cambio es simultáneo 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.

Ampliación de Tecnología de Computadores


Tipos de biestables

X Según su comportamiento lógico:


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 Características
X Según su comportamiento temporal: R-S: Q+ = S + R Q
¾ Latch
D: Q+ = D
¾ Latch síncrono (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)
Ampliación de Tecnología de Computadores
1.2. Biestable asíncrono (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

Ampliación de Tecnología de Computadores


Biestables sensibles a nivel (latch síncrono)

X La salida cambia cuando está activa la señal de capacitación


(reloj).
X Ejemplo 1: S-R con entrada de capacitación

J
S Q

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

Ampliación de Tecnología de Computadores


1.3. Problemas de sincronización en latches

X El latch J-K oscila cuando las entradas valen 11 si el tiempo que la señal
de capacitación está activa es mayor que el retardo del biestable.
X Cuando la entrada varía 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

Ampliación de Tecnología de Computadores


Soluciones a los problemas

X Si usamos latches debemos garantizar que


¾ El pulso de reloj es más corto que el retardo del latch
¾ La entradas se mantienen constantes durante el pulso
de reloj

X Una alternativa es usar FLIP-FLOPs, más fiables


Disparados por flanco: la salida sólo varía durante la
transición del reloj (que es la entrada dinámica).
Maestro-esclavo

Ampliación de Tecnología 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

Ampliación de Tecnología de Computadores


1.5. Biestables disparados por flanco

X La salida cambia en el flanco


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

D
B

Ampliación de Tecnología de Computadores


1.5. Biestables disparados por flanco

X La salida cambia en el flanco


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

1 Q
S

D
D

Ampliación de Tecnología de Computadores


1.6. Características temporales de los biestables

X Retardo de propagación
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 mínimo que la entrada debe Entrada
permanecer estable ANTES del
suceso del reloj
X Tiempo de hold (mantenimiento)
Tiempo mínimo que la entrada debe Clock
permanecer estable DESPUES del
suceso del reloj
X Frecuencia máxima de reloj

Ampliación de Tecnología de Computadores


Comparación del comportamiento temporal de los
biestables
TIPO ¿Cuándo se muestrean las entradas? ¿Cuándo son válidas las salidas?
Latch sin reloj siempre retardo de propagación desde el
cambio en la entrada
Latch sensible reloj en alta (Tsetup y Thold a cada retardo de propagación desde el
a nivel lado del eje de bajada) cambio en la entrada

Flipflop flanco transición de reloj de baja a alta retardo de propagación desde


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

Flipflop flanco transición de reloj de alta a baja retardo de propagación 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 propagación desde


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

Ampliación de Tecnología de Computadores


2. Implementación canónica de sistemas secuenciales

X Diseño y análisis de la implementación canónica


¾ Implementación canónica (Huffman).
Z(t)
¾ Proceso de análisis.
¾ Proceso de diseño. Inicializar

X(t)

combinacional

Registro de
estado
Circuito

Reloj
Ampliación de Tecnología de Computadores
Análisis de la implementación canónica

Esquema lógico
Obtener ecuaciones de excitación y salida

Obtener ecuaciones de estado siguiente

Generar tablas de estado siguiente y salida

Generar diagrama de estados

Desarrollar diagrama de tiempo

Simular circuito lógico

Especificación
Ampliación de Tecnología de Computadores
Análisis de la implementación canónica: ejemplo

Ampliación de Tecnología de Computadores


Diseño de la implementación canónica

Descripción Desarrollar diagrama Generar tabla de estado


del diseño de estados siguiente y salida

Minimizar estados

Codificar entradas,
Esquema lógico estados y salidas

Obtener ecuaciones de
Verificar funcionamiento estado siguiente y salida
y temporización
Elegir elementos
Simular esquema lógico de memoria

Obtener ecuaciones de excitación


Obtener esquema lógico y
diagrama de tiempo Optimizar implementación de la lógica
Ampliación de Tecnología de Computadores
Optimización de sistemas secuenciales

X En el diseño de la implementación canónica hay 3 pasos de


optimización:
Minimizar estados
Codificar estados
Elegir elementos de memoria
X Minimización de estados
¾ Introducción.
¾ Minimización de estados para sistemas completamente
especificados.
¾ Minimización de estados para sistemas incompletamente
especificados.
X Codificación de estados
¾ Introducción.
¾ Estrategias.
¾ Ejemplo.
X Elección del tipo de elementos de memoria

Ampliación de Tecnología de Computadores


3. Minimización del número de estados

X ¿De qué se trata?


Obtener una especificación equivalente con el menor
número posible de estados.
X ¿Para qué?
Para eliminar biestables del diseño (no siempre es posible
eliminar tantos estados).
Para simplificar las ecuaciones de excitación: cada estado
eliminado se traduce en términos sin especificar.
X ¿Cómo?
A partir de la definición de estados equivalentes: los que
producen la misma salida para todas las secuencias de
valores de entrada.

Ampliación de Tecnología de Computadores


3.1. Minimización del número de estados para sistemas
completamente especificados

X La definición 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 métodos para encontrar estados equivalentes:
¾ Método de Huffman-Mealy (clases de equivalencia).
Agrupar los estados en el mínimo número de clases de
equivalencia según la condición 1.
Aplicar la condición 2 para dividir las clases de
equivalencia.
¾ Método de la tabla de implicación.

Ampliación de Tecnología de Computadores


Minimización de estados: ejemplo 1

X Dada la tabla de estados de un sistema reconocedor de


las secuencias 010 o 110 obtener una especificación
equivalente con mínimo número 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

Ampliación de Tecnología de Computadores


Método del diagrama de implicación

X Construir el diagrama de implicación con una celda para cada


combinación 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 añadan marcas.


X Las celdas Si, Sj sin marcar indican que Si, Sj son equivalentes.

Ampliación de Tecnología de Computadores


a. Generación del diagrama de implicación

Estados siguientes
para todas las
combinaciones
de las entradas.

Xij = Xji Diagrama de


Además eliminamos la diagonal implicación

Ampliación de Tecnología 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 (transición si cero)
S2-S4 (transición si uno)
Ampliación de Tecnología de Computadores
Relleno inicial: ejemplo 1

S2 y S4
tienen distinto
comportamiento E/S

Esto implica que


no se pueden combinar
S1 y S0

Ampliación de Tecnología de Computadores


c. Modificaciones sucesivas: ejemplo 1

Realizamos una pasada añadiendo


cruces a las celdas que no puedan
ser estados equivalentes.

En la segunda pasada no se añade


ninguna celda.

S3 y S5 son equivalentes
S4y S6 son equivalentes
Esto implica que S1 y S2 también.

Ampliación de Tecnología de Computadores


Resultado del ejemplo 1

X Quedan 4 estados:
S0
S1, S2 (S’1)
S3, S5 (S’3)
S4, S6 (S’4)
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 transición 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

Ampliación de Tecnología de Computadores


Minimización 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

Ampliación de Tecnología de Computadores


3.2. Sistemas secuenciales incompletamente
especificados

X ¿Qué son sistemas incompletamente especificados?


¾ El estado siguiente y/o la salida no están
especificados para algún valor de estado actual y
entrada.
X ¿Por qué?
¾ Por la codificación de estados: si el número no es
potencia de 2 tanto estado siguiente como salida sin
espec.
¾ Porque la salida se observe sólo en algunos ciclos de
reloj: el resto de los ciclos salida sin espec.
X ¿Para qué usar los “-”?
¾ Para minimizar el número de estados.

Ampliación de Tecnología de Computadores


Asignación 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 Método de asignación:
¾ Buscar todos los estados compatibles
¾ Elegir los estados compatibles a combinar para que el
número de estados sea mínimo
¾ Asignar valores a los “-” para cumplir b.

Ampliación de Tecnología de Computadores


a.1. Definir los “compatibles máximos”

X Def 1: secuencia de entradas APLICABLE


la que no atraviesa ningún estado siguiente no
especificado.
X Def. 2: estados COMPATIBLES
si y sólo si producen la misma secuencia de salidas
(cuando ambas están 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 máximo
clase de compatibilidad que deja de serlo si se le añade un
estado cualquiera.

Ampliación de Tecnología de Computadores


a.2. Buscar los “compatibles máximos”

X Si dos estados son compatibles:


¾ Tienen la misma salida cuando ambas están
especificadas
¾ Los estados siguientes son compatibles cuando
ambos espec.

X Método:
¾ Crear tabla de implicación inicial
¾ Recorrerla eliminando estados incompatibles.

X Compatibilidad NO transitiva (un estado puede


aparecer en varios compatibles máximos).

Ampliación de Tecnología de Computadores


Ejemplo: buscar compatibles máximos

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
Ampliación de Tecnología de Computadores
b. Hallar “colección de cobertura mínima”

X Def. 5: estado p de tabla T CUBRE a estado q de tabla


S
si y sólo si producen la misma secuencia de salidas
(cuando la salida de S está especificada) para toda
secuencia de entradas aplicable a q.
¾ Es más 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.

Ampliación de Tecnología de Computadores


Colección de cobertura mínima (cont.)

X Teorema:
¾ Colección de cobertura: colección 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 colección de cobertura), el circuito puede ser
cubierto por un circuito T de m estados.
X Buscar una colección de cobertura mínima
¾ Empezamos usando todos los compatibles máximos.
¾ Se elige el mínimo número de clases que sea
colección de cobertura
cubra todos los estados
cumpla la propiedad de cierre.

Ampliación de Tecnología de Computadores


Ejemplo: colección de cobertura mínima

X Compatibles máximos:
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 Colección de cobertura:
1 (a), 3 (b), 4-8 (c), 5-9 (d), 6-7 (e)

Ampliación de Tecnología de Computadores


c. Asignar “-” del sistema mínimo

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 algún 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.

Ampliación de Tecnología de Computadores


Ejemplo 2: asignación 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

Ampliación de Tecnología de Computadores


4. Codificación de estados

X La elección del código binario que se asigna a cada


estado influye en la ecuaciones de excitación y salida.
X Estrategias de codificación intentan averiguar qué
asignación produce ecuaciones más sencillas:
Estrategia del mínimo cambio de bits
Estrategia de prioridad de adyacencia
Codificación del “1 caliente”
X Pero:
No es posible garantizar que se obtiene el resultado
óptimo.
Las ecuaciones de excitación dependen del tipo de
biestables.

Ampliación de Tecnología de Computadores


Estrategia del mínimo cambio de bits

Codificación 1 Codificación 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 Transición 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

Ampliación de Tecnología de Computadores


Estrategia de prioridad de adyacencia

X Códigos adyacentes a estados con fuente, destino o


salida comunes.
X Prioridades en la asignación:
¾ 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

Ampliación de Tecnología de Computadores


Codificación de estados: ejemplo

X Diseñar un sistema secuencial síncrono 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'

Ampliación de Tecnología de Computadores


Codificación 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')

Ampliación de Tecnología de Computadores


Codificación de estados: ejemplo (II)

Posiblemente sean óptimas las codificaciones con:


00 = Reset = S0

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

Primera implementación: Codificar estados en binario, usar biestables D.


Segunda implementación: Usar codificación según prioridad de
adyacencia (abajo) y biestables D.
Estado S0 S1 S2 S3’ S4’ S7’ S10’
Código 000 001 101 011 111 010 110

Ampliación de Tecnología de Computadores


5. Diseño 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) excitación.
¾ Las funciones serán más
sencillas si elegimos el
Elegir elementos mejor.
de memoria X Proceso de diseño:
(S-R, D, J-K o T) ¾ Elegir el biestable más
adecuado.
¾ Obtener las funciones de
excitación usando la tabla
Ecuaciones de excitación
de excitación del biestable.
{S-R, D, J-K, T} = f(X,Q)
¾ Simplificar las funciones.

Ampliación de Tecnología de Computadores


Elección del biestable

X Latch R-S sensible a nivel:


¾ usado como elemento de almacenamiento en sistemas con reloj
de pequeña anchura
¾ no se recomienda su uso!
¾ sin embargo bloque básico para construir otros biestables
X Biestable J-K:
¾ componente versátil
¾ puede ser usado para construir biestables D y T
¾ normalmente necesita menos cantidad de lógica para
implementar ƒ(X,Q,Q+)
¾ pero tiene dos entradas lo que incrementa la complejidad del
conexionado

Ampliación de Tecnología de Computadores


Elección del biestable (II)

X Biestable D:
¾ minimiza interconexionado
¾ la más popular en tecnologías VLSI
¾ la técnica de diseño más sencilla
¾ la mejor elección para los registros de estado

X Biestable T:
¾ no existen realmente, construidos a partir de J-K
¾ normalmente la mejor elección para implementar contadores

Ampliación de Tecnología de Computadores


Obtención de la tabla y las ecuaciones de excitación

Tablas de Excitación: ¿Cuáles 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
excitación del biestable
seleccionado se
obtienen las ecuaciones
de excitación

Ampliación de Tecnología de Computadores

You might also like