Upload
jose-javier-tercero-campos
View
1.195
Download
5
Embed Size (px)
Citation preview
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.
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
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.
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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.
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
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.
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.
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
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
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.
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
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
¿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.
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.
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.
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).
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).
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.
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.
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
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.
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
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.
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
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α β
α β
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'
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')
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
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)
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
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
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