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

caracteristicas biestables

Embed Size (px)

Citation preview

Page 1: caracteristicas biestables

Ampliación de Tecnología de Computadores

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 estados4. Codificación de estados.5. Diseño de circuitos secuenciales con diferentes clases de

biestables.Gajski, tema 6.

Page 2: caracteristicas biestables

Ampliación de Tecnología de Computadores

1. Latches y biestables

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

Page 3: caracteristicas biestables

Ampliación de Tecnología de Computadores

1.1. Biestables: definición

Biestable es todo elemento que tiene dos estados estables (0 y 1). Sirve para almacenar un bit de información.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.

Page 4: caracteristicas biestables

Ampliación de Tecnología de Computadores

Tipos de biestables

Según su comportamiento lógico:S-RDJ-KT

Según su comportamiento temporal:Latch Latch síncrono (sensible a nivel)Flip-flop disparado por flanco Flip-flop maestro-esclavo

Ecuaciones CaracterísticasR-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)

Page 5: caracteristicas biestables

Ampliación de Tecnología de Computadores

1.2. Biestable asíncrono (latch)

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

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

Page 6: caracteristicas biestables

Ampliación de Tecnología de Computadores

Biestables sensibles a nivel (latch síncrono)

La salida cambia cuando está activa la señal de capacitación (reloj).Ejemplo 1: S-R con entrada de capacitación

Ejemplo 2: J-K con entrada de capacitación

S

R

Q

Enable

Q

QKQJQ +=+

J

K

Q

Enable

Q

Page 7: caracteristicas biestables

Ampliación de Tecnología de Computadores

1.3. Problemas de sincronización en latches

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.Cuando la entrada varía dos veces en un ciclo de reloj:

Puede darse la “captura de 1s” para JKSi la salida de un latch alimenta a la entrada de otro puede producirse un doble cambio de estado.

X(t) D1 Q1 D2 Q2Ck

XQ1

Q2

Page 8: caracteristicas biestables

Ampliación de Tecnología de Computadores

Soluciones a los problemas

Si usamos latches debemos garantizar queEl pulso de reloj es más corto que el retardo del latchLa entradas se mantienen constantes durante el pulso de reloj

Una alternativa es usar FLIP-FLOPs, más fiablesDisparados por flanco: la salida sólo varía durante la transición del reloj (que es la entrada dinámica).Maestro-esclavo

Page 9: caracteristicas biestables

Ampliación de Tecnología de Computadores

1.4. Biestables maestro-esclavo

Se lee la entrada en un flanco y se modifica la salida en el contrario.Ejemplo: J-K maestro-esclavo.

J

KEnable

Q

Q

Page 10: caracteristicas biestables

Ampliación de Tecnología de Computadores

1.5. Biestables disparados por flanco

La salida cambia en el flanco de disparo de la entrada dinámica.Ejemplo: biestable D disparado por flanco de bajada Q

Q

D

Clk

S

R

A

B

Page 11: caracteristicas biestables

Ampliación de Tecnología de Computadores

1.5. Biestables disparados por flanco

La salida cambia en el flanco de disparo de la entrada dinámica.Ejemplo: biestable D disparado por flanco de bajada Q

Q

D

Clk

R

S

1

0

0

D

D

0

Page 12: caracteristicas biestables

Ampliación de Tecnología de Computadores

1.6. Características temporales de los biestables

Retardo de propagaciónDesde el cambio en la entrada hasta el cambio en la salidaPara un biestable hay varios retardos (tantos como distintos cambios en las diferentes entradas)

Tiempo de set-up (establecimiento)Tiempo mínimo que la entrada debe permanecer estable ANTES del suceso del reloj

Tiempo de hold (mantenimiento)Tiempo mínimo que la entrada debe permanecer estable DESPUES del suceso del reloj

Frecuencia máxima de reloj

Entrada

Clock

T su T h

Page 13: caracteristicas biestables

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 sensiblea nivel

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

retardo de propagación desde el cambio en la entrada

Flipflop flanco de subida

transición de reloj de baja a alta (Tsetup y Thold a cada lado del eje de

subida)

retardo de propagación desde flanco de subida del reloj

Flipflop flanco de bajada

transición de reloj de alta a baja (Tsetup y Thold a cada lado del eje de

bajada)

retardo de propagación desde flanco de bajada del reloj

Flipflop Maestro-esclavo

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

retardo de propagación desde flanco de bajada del reloj

Page 14: caracteristicas biestables

Ampliación de Tecnología de Computadores

2. Implementación canónica de sistemas secuenciales

Diseño y análisis de la implementación canónicaImplementación canónica (Huffman).Proceso de análisis.Proceso de diseño.

Circ

uito

co

mbi

naci

onal

Reg

istr

o de

esta

do

Reloj

X(t)

Z(t)

Inicializar

Page 15: caracteristicas biestables

Ampliación de Tecnología de Computadores

Análisis de la implementación canónica

Obtener ecuaciones de excitación y salida

Obtener ecuaciones de estado siguiente

Generar tablas de estado siguiente y salida

Generar diagrama de estados

Simular circuito lógico

Desarrollar diagrama de tiempo

Esquema lógico

Especificación

Page 16: caracteristicas biestables

Ampliación de Tecnología de Computadores

Análisis de la implementación canónica: ejemplo

Page 17: caracteristicas biestables

Ampliación de Tecnología de Computadores

Diseño de la implementación canónica

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 lógico

Descripción del diseño

Obtener ecuaciones de excitación

Optimizar implementación de la lógica

Verificar funcionamiento y temporización

Simular esquema lógico

Obtener esquema lógico y diagrama de tiempo

Page 18: caracteristicas biestables

Ampliación de Tecnología de Computadores

Optimización de sistemas secuenciales

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

Minimizar estadosCodificar estadosElegir elementos de memoria

Minimización de estadosIntroducción.Minimización de estados para sistemas completamente especificados.Minimización de estados para sistemas incompletamente especificados.

Codificación de estadosIntroducción.Estrategias.Ejemplo.

Elección del tipo de elementos de memoria

Page 19: caracteristicas biestables

Ampliación de Tecnología de Computadores

3. Minimización del número de estados

¿De qué se trata?Obtener una especificación equivalente con el menor número posible de estados.

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

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

Page 20: caracteristicas biestables

Ampliación de Tecnología de Computadores

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

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.

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.

Page 21: caracteristicas biestables

Ampliación de Tecnología de Computadores

Minimización de estados: ejemplo 1

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

Page 22: caracteristicas biestables

Ampliación de Tecnología de Computadores

Método del diagrama de implicación

Construir el diagrama de implicación con una celda para cada combinación de dos estados.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.

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.

El paso c se repite hasta que no se añadan marcas.Las celdas Si, Sj sin marcar indican que Si, Sj son equivalentes.

Page 23: caracteristicas biestables

Ampliación de Tecnología de Computadores

a. Generación del diagrama de implicación

Xij = XjiAdemás eliminamos la diagonal Diagrama de

implicación

Estados siguientespara todas lascombinacionesde las entradas.

Page 24: caracteristicas biestables

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 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<0,1> contiene S1-S3 (transición si cero)S2-S4 (transición si uno)

S1-S3S2-S4

S0

S1

Page 25: caracteristicas biestables

Ampliación de Tecnología de Computadores

Relleno inicial: ejemplo 1

S2 y S4 tienen distinto

comportamiento E/S

Esto implica queno se pueden combinar

S1 y S0

Page 26: caracteristicas biestables

Ampliación de Tecnología de Computadores

c. Modificaciones sucesivas: ejemplo 1

Realizamos una pasada añadiendocruces a las celdas que no puedan ser estados equivalentes.

En la segunda pasada no se añadeninguna celda.

S3 y S5 son equivalentesS4y S6 son equivalentesEsto implica que S1 y S2 también.

Page 27: caracteristicas biestables

Ampliación de Tecnología de Computadores

Resultado del ejemplo 1

Quedan 4 estados:S0S1, S2 (S’1)S3, S5 (S’3)S4, S6 (S’4)

Tabla de transiciónde 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

Page 28: caracteristicas biestables

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

Page 29: caracteristicas biestables

Ampliación de Tecnología de Computadores

3.2. Sistemas secuenciales incompletamente especificados

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

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

¿Para qué usar los “-”?Para minimizar el número de estados.

Page 30: caracteristicas biestables

Ampliación de Tecnología de Computadores

Asignación 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.

Método de asignación:Buscar todos los estados compatiblesElegir los estados compatibles a combinar para que el número de estados sea mínimoAsignar valores a los “-” para cumplir b.

Page 31: caracteristicas biestables

Ampliación de Tecnología de Computadores

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

Def 1: secuencia de entradas APLICABLE la que no atraviesa ningún estado siguiente no especificado.

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.

Def. 3: clase de compatibilidadconjunto de estados que son todos compatibles entre sí.

Def. 4: compatible máximoclase de compatibilidad que deja de serlo si se le añade un estado cualquiera.

Page 32: caracteristicas biestables

Ampliación de Tecnología de Computadores

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

Si dos estados son compatibles:Tienen la misma salida cuando ambas están especificadasLos estados siguientes son compatibles cuando ambos espec.

Método:Crear tabla de implicación inicialRecorrerla eliminando estados incompatibles.

Compatibilidad NO transitiva (un estado puede aparecer en varios compatibles máximos).

Page 33: caracteristicas biestables

Ampliación de Tecnología de Computadores

Ejemplo: buscar compatibles máximos

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

Page 34: caracteristicas biestables

Ampliación de Tecnología de Computadores

b. Hallar “colección de cobertura mínima”

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

Def. 6: una tabla T cubre a otra tabla Ssi 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.

Page 35: caracteristicas biestables

Ampliación de Tecnología de Computadores

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

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.

Buscar una colección de cobertura mínimaEmpezamos 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.

Page 36: caracteristicas biestables

Ampliación de Tecnología de Computadores

Ejemplo: colección de cobertura mínima

Compatibles máximos:3-7 si 6-73-8 si 4-84-54-85-65-96-71

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

Page 37: caracteristicas biestables

Ampliación de Tecnología de Computadores

c. Asignar “-” del sistema mínimo

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

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.

Page 38: caracteristicas biestables

Ampliación de Tecnología de Computadores

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

Page 39: caracteristicas biestables

Ampliación de Tecnología de Computadores

4. Codificación de estados

La elección del código binario que se asigna a cada estado influye en la ecuaciones de excitación y salida.Estrategias de codificación intentan averiguar qué asignación produce ecuaciones más sencillas:

Estrategia del mínimo cambio de bitsEstrategia de prioridad de adyacenciaCodificación del “1 caliente”

Pero:No es posible garantizar que se obtiene el resultado óptimo.Las ecuaciones de excitación dependen del tipo de biestables.

Page 40: caracteristicas biestables

Ampliación de Tecnología de Computadores

Estrategia del mínimo cambio de bits

13

TransiciónS0 a S1:S0 a S2:S1 a S3:S2 a S3:S3 a S4:S4 a S1:

Cambios de bit233212

7

Cambios de bit111112

Estado S 0 S 1 S 2 S 3 S 4

Codificación 1Q 2 0 1 1 0 0

Q 1 0 0 1 1 1

Q 0 0 1 1 0 1

Q 2 0 0 0 0 1

Q 1 0 0 1 1 1

Q 0 0 1 0 1 1

Codificación 2S 0

S 1 S 2

S 3

S 4

0 1

Page 41: caracteristicas biestables

Ampliación de Tecnología de Computadores

Estrategia de prioridad de adyacencia

Códigos adyacentes a estados con fuente, destino o salida comunes.Prioridades en la asignación:

Prioridad 1: DESTINO COMUNEstados con el mismo estado siguiente para las entradas. Estados con estados siguientes iguales (y adyacentes) para distintas entradas.

Prioridad 2: FUENTE COMUNEstados siguientes del mismo estado para entradas adyacentes.

Prioridad 3: SALIDA COMUNEstados con la misma salida para las mismas entradas.

i/j i/k

α β

i/j i/jα β

α β

Page 42: caracteristicas biestables

Ampliación de Tecnología de Computadores

Codificación de estados: ejemplo

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

0 1

00 o 11 01 o 10

no (011 o 101) 011 o 101

Estado S0 S1 S2 S3' S4' S7' S10'

Page 43: caracteristicas biestables

Ampliación de Tecnología de Computadores

Codificación de estados: ejemplo (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

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

Page 44: caracteristicas biestables

Ampliación de Tecnología de Computadores

Codificación de estados: ejemplo (II)

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

Posiblemente sean óptimas las codificaciones con:00 = Reset = S0

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

Page 45: caracteristicas biestables

Ampliación de Tecnología de Computadores

5. Diseño de circuitos secuenciales con diferentes clases de biestables

El tipo de biestable elegido determina las ecuaciones de excitación.

Las funciones serán más sencillas si elegimos el mejor.

Proceso de diseño:Elegir el biestable más adecuado.Obtener las funciones de excitación usando la tabla de excitación 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 excitación {S-R, D, J-K, T} = f(X,Q)

Page 46: caracteristicas biestables

Ampliación de Tecnología de Computadores

Elección del biestable

Latch R-S sensible a nivel:usado como elemento de almacenamiento en sistemas con reloj de pequeña anchurano se recomienda su uso!sin embargo bloque básico para construir otros biestables

Biestable J-K:componente versátilpuede 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

Page 47: caracteristicas biestables

Ampliación de Tecnología de Computadores

Elección del biestable (II)

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

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

Page 48: caracteristicas biestables

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+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 excitación del biestable seleccionado se obtienen las ecuaciones de excitación