0 calificaciones0% encontró este documento útil (0 votos)
43 vistas47 páginas
El documento trata sobre el diseño de sistemas secuenciales síncronos. Explica conceptos como biestables, latches y flip-flops, y describe sus características y tipos. También cubre temas como la implementación canónica de sistemas secuenciales, el análisis y diseño de dicha implementación, y métodos para optimizar sistemas secuenciales como la minimización de estados y la codificación de estados.
El documento trata sobre el diseño de sistemas secuenciales síncronos. Explica conceptos como biestables, latches y flip-flops, y describe sus características y tipos. También cubre temas como la implementación canónica de sistemas secuenciales, el análisis y diseño de dicha implementación, y métodos para optimizar sistemas secuenciales como la minimización de estados y la codificación de estados.
El documento trata sobre el diseño de sistemas secuenciales síncronos. Explica conceptos como biestables, latches y flip-flops, y describe sus características y tipos. También cubre temas como la implementación canónica de sistemas secuenciales, el análisis y diseño de dicha implementación, y métodos para optimizar sistemas secuenciales como la minimización de estados y la codificación de estados.
secuenciales sncronos 1. Concepto de sistema secuencial 2. Optimizacin de sistemas secuenciales 3. Sistemas secuenciales incompletamente especificados 4. Latches y biestables 5. Diseo de circuitos secuenciales con diferentes clases de biestables Ampliacin de Tecnologa de Computadores 1. Latches y biestables Biestables: definicin y tipos. Biestables sensibles a nivel (latches). Problemas de sincronizacin. Biestables disparados por flanco. Biestables maestro-esclavo. Caractersticas temporales de los biestables. Ampliacin de Tecnologa de Computadores 1.1. Biestables: definicin Biestable es todo elemento que tiene dos estados estables (0 y 1). Sirve para almacenar un bit de informacin. 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 Segn su comportamiento lgico: S-R D J-K T Segn su comportamiento temporal: Latch Latch sncrono (sensible a nivel) Flip-flop disparado por flanco Flip-flop maestro-esclavo Ecuaciones Caractersticas R-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 Q 0 1 0 1 0 1 1 1 proh. J K Q+ 0 0 Q 0 1 0 1 0 1 1 1 Q D Q+ 0 0 1 1 T Q+ 0 Q 1 Q Deducidas a partir de diagramas de K para Q(t+1) = Q+ = (Entradas, Q) Ampliacin de Tecnologa de Computadores 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). 1.2. Biestable asncrono (latch) S R Q+ 0 0 Q 0 1 0 1 0 1 1 1 proh. S R Q+ 0 0 proh. 0 1 1 1 0 0 1 1 Q Q S R Q R S Q Q Ampliacin de Tecnologa de Computadores Biestables sensibles a nivel (latch sncrono) La salida cambia cuando est activa la seal de capacitacin (reloj). Ejemplo 1: S-R con entrada de capacitacin Ejemplo 2: J-K con entrada de capacitacin S R Q Enable Q Q K Q J Q + = + J K Q Enable Q Ampliacin de Tecnologa de Computadores 1.3. Problemas de sincronizacin en latches El latch J-K oscila si el tiempo que la seal de capacitacin est activa es mayor que el retardo del biestable. Si la salida de un latch alimenta a la entrada de otro puede producirse un doble cambio de estado. X(t) D 1 Q 1 D 2 Q 2 Ck X Q 1 Q 2 Ampliacin de Tecnologa de Computadores Soluciones a los problemas 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 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 disparados por flanco La salida cambia en el flanco de disparo de la entrada dinmica. Ejemplo: biestable D disparado por flanco de bajada Q Q D Clk R S Ampliacin de Tecnologa de Computadores 1.5. Biestables maestro-esclavo Se lee la entrada en un flanco y se modifica la salida en el contrario. Ejemplo: J-K maestro-esclavo. J K Enable Q Q Ampliacin de Tecnologa de Computadores 1.6. Caractersticas temporales de los biestables 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) Tiempo de set-up (establecimiento) Tiempo mnimo que la entrada debe permanecer estable ANTES del suceso del reloj Tiempo de hold (mantenimiento) Tiempo mnimo que la entrada debe permanecer estable DESPUES del suceso del reloj 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 (T setup y T hold a cada lado del eje de bajada) Flipflop Maestro-esclavo retardo de propagacin desde flanco de bajada del reloj transicin de reloj de alta a baja (T setup y T hold 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 (T setup y T hold a cada lado del eje de subida) Flipflop flanco de subida retardo de propagacin desde el cambio en la entrada reloj en alta (T setup y T hold a cada lado del eje de bajada) Latch sensible a nivel retardo de propagacin desde el cambio en la entrada siempre Latch sin reloj Cundo son vlidas las salidas? Cundo se muestrean las entradas? TIPO Ampliacin de Tecnologa de Computadores 2. Concepto de sistema secuencial Sistema secuencial sncrono. Modelo de sistema secuencial sncrono. Diseo y anlisis de la implementacin cannica Implementacin cannica. Proceso de anlisis. Proceso de diseo. Ampliacin de Tecnologa de Computadores Mquinas de Mealy y de Moore Mealy: 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 cannica 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 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 En el diseo de la implementacin cannica hay 3 pasos de optimizacin: Minimizar estados Codificar estados Elegir elementos de memoria Codificacin de estados Introduccin. Ejemplo. Minimizacin de estados Introduccin. Mtodo de la tabla de implicacin. Eleccin del tipo de elementos de memoria (final del tema) Ampliacin de Tecnologa de Computadores 3.1. Codificacin de estados La eleccin del cdigo binario que se asigna a cada estado influye en la ecuaciones de excitacin y salida. Estrategias de codificacin intentan averiguar qu asignacin produce ecuaciones ms sencillas: Estrategia del mnimo cambio de bits Estrategia de prioridad de adyacencia. 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 Diseo de la implementacin cannica: ejemplo de codificacin de estados 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. 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/0 0/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. Salida X=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 De qu se trata? Obtener una especificacin equivalente con el menor nmero posible de estados. 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. 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 Minimizacin del nmero de estados (II) 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. 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 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 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 S i , S j 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 S i , S j contiene un par de estados siguientes S m , S n y la celda S m , S n tiene una X, se marca la celda S i , S j con X. El paso c se repite hasta que no se aadan marcas. Las celdas S i , S j sin marcar indican que S i , S j son equivalentes. Ampliacin de Tecnologa de Computadores a. Generacin del diagrama de implicacin Xij = Xji Adems eliminamos la diagonal Diagrama de implicacin Estados siguientes para todas las combinaciones de 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 X ij Fila S i , Columna S j S i es equivalente a S j si tienen las mismas salidas y los estados siguiente son equivalentes. Para las parejas (S i , S j ) con las mismas salidas X ij contiene los estados siguientes de (S i , S j ) que deben ser equivalentes si Si y Sj lo son. Para los (S i , S j ) con diferente salida X ij 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 (transicin si cero) S2-S4 (transicin si uno) S1-S3 S2-S4 S0 S1 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 S1
S2
S3
S4
S5
S6 S0 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 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. 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 Quedan 4 estados: S0 S1, S2 (S 1 ) S3, S5 (S 3 ) S4, S6 (S 4 ) Tabla de transicin de estados reducida Tabla de transicin de 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 Qu son? El estado siguiente y/o la salida no estn especificados para algn valor de estado actual y entrada. 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. Para qu usar los -? Para minimizar el nmero de estados. Ampliacin de Tecnologa de Computadores Asignacin 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. Mtodo de asignacin: a. Buscar todos los estados compatibles b. Elegir los estados compatibles a combinar para que el nmero de estados sea mnimo c. Asignar valores a los - para cumplir b. Ampliacin de Tecnologa de Computadores a.1. Definir los compatibles mximos Def 1: secuencia de entradas APLICABLE la que no atraviesa ningn estado siguiente no especificado. 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. Def. 3: clase de compatibilidad conjunto de estados que son todos compatibles entre s. 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 Si dos estados son compatibles: Tienen la misma salida cuando ambas estn especificadas Los estados siguientes son compatibles cuando ambos espec. Mtodo: Crear tabla de implicacin inicial Recorrerla eliminando estados incompatibles. 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 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). Def. 6: una tabla T cubre a otra tabla S si 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. Ampliacin de Tecnologa de Computadores Coleccin de cobertura mnima (cont.) 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. 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 Compatibles mximos: 3-7 si 6-7 3-8 si 4-8 4-5 4-8 5-6 5-9 6-7 1 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 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). 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. 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 C D E A B C D Ampliacin de Tecnologa de Computadores 5. Diseo de circuitos secuenciales con diferentes clases de biestables El tipo de biestable elegido determina las ecuaciones de excitacin. Las funciones sern ms sencillas si elegimos el mejor. 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 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 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) Biestable D: minimiza interconexionado la ms popular en tecnologas VLSI la tcnica de diseo ms sencilla la mejor eleccin para los registros de estado 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 Q 0 1 0 1 0 1 1 1 proh. J K Q+ 0 0 Q 0 1 0 1 0 1 1 1 Q D Q+ 0 0 1 1 T Q+ 0 Q 1 Q Aplicando la tabla de excitacin del biestable seleccionado 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