CIRCUITOS SECUENCIALES 3
Tema 6: ANÁLISIS Y DISEÑO DE CIRCUITOS SECUENCIALES SÍNCRONOS Contenido: J
Elementos de memoria: biestables asíncronos y síncronos. Biestables JK, T, D. Entradas asíncronas.
J
Modelo general de máquina secuencial: máquinas de Mealy y de Moore. Representación mediante diagramas y tablas. Estructura general de un circuito secuencial síncrono.
J
Procedimiento de análisis de circuitos secuenciales síncronos.
J
Pasos en el proceso de diseño. Ejemplo de diseño. Optimización del diseño: * reducción de estados * asignación de estados * elección de biestables
Bibliografía
FC
* * * * *
M. Morris Mano y Charles R. Kime: Cap 6 V. P. Nelson et al: Cap 6 y 8 C.H. Roth: Caps 11, 13, 14, 15, 16 J. Wakerly: Cap 7 C. Baena et al: Cap 7 y 8
Dpto. Tecnología Electrónica, U. Sevilla.
Fundamentos de Computadores
Circuitos Secuenciales 1
CIRCUITOS SECUENCIALES Circuitos digitales: Combinacionales y Secuenciales
Combinacionales x1
Secuenciales S1
S1 Suma
x0
x
Suma S0
S0
x1
FC
x0
x
S1
S1
S0
S0
S(t0) = F( x(t0) )
Dpto. Tecnología Electrónica, U. Sevilla.
S(t0) = F( x(t0), x(t < t0))
Fundamentos de Computadores
Circuitos Secuenciales 2
CIRCUITOS SECUENCIALES Elementos de memoria: biestables D Biestables (latches, flip-flops): son los circuitos que almacenan 1 bit de información D
entradas de excitación
q
* *
q
En todo momento, el biestable tiene almacenado un bit, q = 0 o q = 1, que es su estado presente El valor del bit se cambia con las entradas de excitación. Estas, pues, indican lo que almacenará como siguiente valor o próximo estado (Q o q+)
D Los biestables son los componentes básicos secuenciales. Hay múltiples tipos: H A nivel lógico, según sean las entradas de excitación (SR, JK, ...)
FC
H A nivel temporal, según sea la forma de disparo, esto es, cuándo/cómo cambia ‘q’ H A nivel de realización, según el almacenamiento del bit haya que refrescarlo o no
Dpto. Tecnología Electrónica, U. Sevilla.
Fundamentos de Computadores
Circuitos Secuenciales 3
CIRCUITOS SECUENCIALES BIESTABLES A NIVEL LÓGICO D Las entradas de excitación suelen ser sólo 1 o 2 D Los biestables más típicos son: SR (Set Reset), JK, D (Data o Delay) y T (Toggle). Se describen por sus tablas y ecuaciones de cambio de estado SR q 00 01 11 10 0 0 0 - 1 1 1 0 - 1 Q Q = S + R·q
FC
q
JK 00 01 11 10 0 0 0 1 1 1 1 0 0 1 Q
q
Q = J·q + K·q
D
0 0 0 1 0
Fundamentos de Computadores
q
T
0 0 0 1 1
1 1 0 Q
Q=T⊕q
Q=D
y por sus tablas de excitación para cambios de estado q J Q SR q J Q JK qJQ 0J0 00J0 00J0 0 J 1 10 0J1 10J1 1 J 0 01 1J0 -1 1J0 1J1 -0 1J1 -0 1J1
Dpto. Tecnología Electrónica, U. Sevilla.
1 1 1 Q
D 0 1 0 1
qJQ 0J0 0J1 1J0 1J1
T 0 1 1 0
Circuitos Secuenciales 4
CIRCUITOS SECUENCIALES BIESTABLES A NIVEL TEMPORAL D Biestable con transparencia: Cuando el biestable sigue a las entradas durante un intervalo temporal (en el cual el biestable es transparente a los cambios de entrada): H Latch: Los biestables con transparencia H Flip-Flop (FF): Los biestables sin transparencia D Asíncronos o sin reloj: Al cambio de entrada le sigue inmediatamente el del bit almacenado (latches) D Síncronos o con reloj: Poseen una señal de entrada especial, la de reloj (Clock, φ), que controla cuándo puede haber cambio en el bit almacenado H Disparados por nivel, alto (H) o bajo (L). Son latches. H Disparados por flanco, positivo/subida ( ) o negativo/bajada ("). Son flip-flops: * Master - Slave (MS) * Edge Triggered (ET)
FC
D Suelen incluir entradas asíncronas de puesta a 0 (R) y a 1 (S) las cuales dominan a las síncronas
Dpto. Tecnología Electrónica, U. Sevilla.
Fundamentos de Computadores
Circuitos Secuenciales 5
CIRCUITOS SECUENCIALES REPRESENTACIONES Latches
Flip-Flops S
Asíncrono
q
Master-Slave
R q S S
Nivel H
Edge-Triggered
q
R q
q
R q
S Flanco
Clk
q
R q Clk
Clk S Nivel L
FC
q
R q
S
q
R q
S Flanco
Clk
q
R q Clk
Clk
Dpto. Tecnología Electrónica, U. Sevilla.
Fundamentos de Computadores
Circuitos Secuenciales 6
CIRCUITOS SECUENCIALES CRONOGRAMAS PARA BIESTABLES SÍNCRONOS Latch disparado por nivel H Clock
Q=q
Captura entrada Cambia estado
Entradas (p. ej. SR) Salida q
Master-Slave disparado por flanco de subida Master captura entrada
Clock Cambia estado
Cambia estado
Q=q Puede capturar glitches
Edge-Triggered disparado por flanco de subida Clock Captura entrada y cambia estado
Q=q
Entradas
FC
Salida q
Dpto. Tecnología Electrónica
Fundamentos de ComputadoresCircuitos Secuenciales 7
CIRCUITOS SECUENCIALES CLASIFICACIÓN POR REALIZACIÓN
D Estáticos: El bit almacenado se mantiene estable hasta que hay un nuevo cambio de entrada o deja de haber alimentación. * El almacenamiento básico ocurre en dos inversores realimentados. q
≡
q
q
D
q
⎨
q=0
q=1
q=1
q=0
D Dinámicos: El bit se almacena como una carga en un condensador; como estos tienen pérdidas, si no se refresca el bit almacenado, acaba perdiéndose con el tiempo
FC
D Cuasiestáticos: El bit se introduce de forma dinámica, pero se almacena de forma estática.
Dpto. Tecnología Electrónica, U. Sevilla.
Fundamentos de Computadores
Circuitos Secuenciales 8
CIRCUITOS SECUENCIALES LATCHES ESTÁTICOS Asíncronos
S
Síncronos &
S >1
&
q
q
&
q
&
R
>1
q R CK
S
&
D
&
&
q
q
&
&
&
q
q
FC
R CK
Dpto. Tecnología Electrónica, U. Sevilla.
Fundamentos de Computadores
Circuitos Secuenciales 9
CIRCUITOS SECUENCIALES FLIP-FLOPS ESTRUCTURA GENERAL MASTER-SLAVE (flanco negativo)
D D
D
q
qint
D
CK
q
qint CK
q OTRAS ESTRUCTURAS D
FC
D
q
qint
D
CK
q
D
D
q
qint
D
CK CK
Dpto. Tecnología Electrónica, U. Sevilla.
CK
Fundamentos de Computadores
q
D
D
q
qint
D
q
φ1 φ2 φ1, φ2 no solapadas
Circuitos Secuenciales 10
CIRCUITOS SECUENCIALES LATCHES CUASIESTÁTICOS: Con llave en la realimentación
Transistor débil en realimentación
φ φ φ φ
D
FUERTE (W/L >>)
D Q
Q φ
φ
débil (W/L <<)
Operación D
φ=0 Q=q D FUERTE D
φ=1
φ=1
FC
Q=D
Dpto. Tecnología Electrónica, U. Sevilla.
Q=D
Fundamentos de Computadores
q débil
Circuitos Secuenciales 11
CIRCUITOS SECUENCIALES LATCHES DINÁMICOS: Con llave de paso CMOS
CCMOS (Inv Clocked-CMOS)
Operación CCMOS
Con llave
φ M1
M2
M1 M3
x
In φ
φ=1
φ
Out Cg
M4
Cg
CL
M2
Out
In CL
Out = In
In
φ
M3
CL
M4
M1
φ=0 Out = In
In
In
Out = In
Cg
CL M4
PROBLEMAS DE CARÁCTER ELÉCTRICO-TEMPORAL:Ajuste de reloj (φ φ = 00 o φ φ = 11) Carreras, Redistribución de carga, Anchura mínima de pulso de f, Frecuencia mínima de operación (por fugas, depende de tecnología y obliga al refresco del valor almacenado)
FC
Dpto. Tecnología Electrónica, U. Sevilla.
Fundamentos de Computadores
Circuitos Secuenciales 12
CIRCUITOS SECUENCIALES D Cronograma de un flip-flop tipo D disparado por flanco de subida (positivo) y entradas asíncronas de puesta a 0 y a 1 Ck S R
D=1
1
0
0
1
0 0
0 0
0 set
1
Q reset
R
0
D=0
1
D
D=0
Ck
D=0
Q
D=1
S
D=0
D
D Temporización/Restricciones de operación Ck
FC
D
fmax tsetup thold
Fija
Fija tprop
Q Dpto. Tecnología Electrónica, U. Sevilla.
Fundamentos de Computadores
Circuitos Secuenciales 13
CIRCUITOS SECUENCIALES D Otras características: F Disparo por flanco negativo o de bajada Ck D
S
Q
Ck
D Q
R
D1
D0
D2
D0
?
D1
F Entrada de habilitación (E, enable) de la operación síncrona
D
S
Q
E=0
D
Q+ = Q
Inhibición
E=1
D
Q+ = D
Habilitación (tipo D)
Ck
FC
E R
Dpto. Tecnología Electrónica, U. Sevilla.
Fundamentos de Computadores
Circuitos Secuenciales 14
CIRCUITOS SECUENCIALES MODELO GENERAL DE MÁQUINA SECUENCIAL: MÁQUINAS DE
MEALY Y DE MOORE
D Una Máquina Secuencial posee unos conjuntos de entrada (I) y de salida (O); además, posee un conjunto de estados internos (S, States) que recogen todas las situaciones por las que puede pasar la Máquina. D Los estados internos recogen la historia de la Máquina.
I
Máquina Secuencial
O
Estados internos S
D En cada momento hay unos valores presente (en I y en S) que marcan el estado total. De ese estado presente se deriva la salida presente (O) y el estado próximo (NS: Next State) de acuerdo con las siguientes funciones:
FC
*
Cambio de estado, que depende del estado total: NS = NS(I, S)
** Salida: · Modelo de Mealy, depende del estado total: O = O(I, S) · Modelo de Moore, depende sólo del estado interno: O = O(S) Dpto. Tecnología Electrónica, U. Sevilla.
Fundamentos de Computadores
Circuitos Secuenciales 15
CIRCUITOS SECUENCIALES REPRESENTACIONES POR GRAFOS Y POR TABLAS Moore
Mealy Ij/O(Ij, Si)
Si
I
S Si
Ij ... ... . . . NS, O ... ...
NS
Si O(Si)
I
... ... ...
S Si
Ij
Ij
NS O(NS)
O
... ... ... . . . NS . . . O(Si) ... ... ...
FC
Dpto. Tecnología Electrónica, U. Sevilla.
Fundamentos de Computadores
Circuitos Secuenciales 16
CIRCUITOS SECUENCIALES CIRCUITOS SECUENCIALES SÍNCRONOS DE MEALY Y DE MOORE ...
Banco de Biestables
entradas
D=Q
salidas tipo Mealy q estado presente
CC Q+ salidas de excitación para el próximo estado
Clk salidas tipo Moore CC
FC
Las salidas Moore no cambian con las entradas, sino sólo con el flanco activo de reloj
D Cualquier biestable sirve para almacenar el estado presente D Los biestables se conectan a una misma señal de reloj, Clk Dpto. Tecnología Electrónica, U. Sevilla.
Fundamentos de Computadores
Circuitos Secuenciales 17
CIRCUITOS SECUENCIALES UN EJEMPLO CON ESTRUCTURA MUY GENERAL: A0 A1 A2 A3
X
ROM
d0 d1 d2 d3
Z
q3q2q1 (2 J N(10
q3 D3
S
0 1 2 3 4 5 6 7
q2 D2 q1 D1
FC
$
[$]
$
[$]
0 1 2 3 4 5 6 7
A B 6 8 6 C 7 6
8 9 A B C D E F
4 7 D 1 8 4 A 9
Dpto. Tecnología Electrónica, U. Sevilla.
X 0 5, 0 3, 0 3, 0 3, 1 2, 0 6, 1 4, 0 5, 0
1 5, 1 4, 0 6, 0 3, 0 3, 1 0, 1 2, 0 4, 1
Z(X) J Mealy NS, Z
Fundamentos de Computadores
Circuitos Secuenciales 18
CIRCUITOS SECUENCIALES Procedimiento de análisis de circuitos secuenciales síncronos ∗
Objetivo: Conocido el circuito, determinar su operación Según el caso, el resultado final será: • La tabla o grafo de estado/salida • Un cronograma o secuencia entrada-salida • Una descripción en lenguaje normal de su operación con significado funcional
∗
∗
FC
Procedimientos: Hay dos formas principales ∗
Para CSS con reloj común y único, se sigue el procedimiento sistemático indicado en la página siguiente
∗
Para cualquier circuito secuencial, se analiza en el tiempo cómo se propagan los estímulos de entrada hasta la salida
Orden aconsejado para el análisis temporal y la obtención de secuencias: En relación al tipo de entrada o excitación en los biestables: 1º Excitaciones asíncronas 2º Excitaciones síncronas En relación a las salidas: 1º Determinar los estados
Dpto. Tecnología Electrónica, U. Sevilla.
2º Obtener las salidas
Fundamentos de Computadores
Circuitos Secuenciales 19
CIRCUITOS SECUENCIALES Procedimiento de análisis de CSS con reloj único 1º Obtener las ecuaciones de excitación de los biestables y de salida del CSS. Se analiza el circuito combinacional que proporciona las entradas de los biestables y las salidas del CSS
2º Obtener las tablas de excitación/salida. Se pasan a mapas de Karnaugh las ecuaciones obtenidas en el punto 1
3º Obtener las tablas de transición (de estado)/salida. En cada celda de la tabla de excitación se aplica la correspondiente transición de estado del biestable
4º Obtener las tablas de estado/salida. En su caso, obtener el grafo de estado/salida A cada código binario de estado se le asigna un símbolo; con estos símbolos se reescribe la tabla de transición
1º
2º
3º
x J = Fj(x, q)
x
q
FC
Dpto. Tecnología Electrónica, U. Sevilla.
x
q
K = Fk(x, q) z = Fz(x, q)
4º S
Q, z
JK, z
Fundamentos de Computadores
NS, z
Circuitos Secuenciales 20
CIRCUITOS SECUENCIALES Procedimiento de diseño ∗
Objetivo: Conocida la función, determinar el circuito
∗
Procedimiento: Seguir los pasos de diseño siguientes: Descripción inicial No sistemático Grafo estado/salida
Sin cambio de información
Reducción número de estados
Tabla estado/salida
Tabla de estado mínima
Asignación: Se asignan códigos binarios a los estados Tabla de transición Elección de biestable (JK o D o ...). Si es tipo D, estas tablas son iguales Tabla de excitación
FC
Diseño combinacional de funciones de excitación y salidas Ecuaciones excitación/salida
Dpto. Tecnología Electrónica, U. Sevilla.
Fundamentos de Computadores
Circuitos Secuenciales 21
CIRCUITOS SECUENCIALES De la descripción inicial al grafo/tabla de estados-salida ∗
PRIMERAS DECISIONES: Modelo de Mealy o de Moore; secuencias solapadas o no-solapadas, agrupadas o no en grupos de bits
∗
GUÍAS PARA OBTENER EL PRIMER GRAFO [o tabla]: 1. 2.
3.
4.
FC
5.
Construir una secuencia de entrada y, desde el enunciado, obtener la secuencia de salida. Previamente se habrán establecido las entradas y las salidas del CSS. Comenzar con un ‘estado’ conocido; típicamente puede ser: • Aquél en que se acaba de detectar la secuencia deseada • Aquél en que aún no se ha comenzado a detectar la secuencia • Un estado inicial (RESET) en el que ‘aún no se ha recibido nada’ A partir de ese estado, para todas las entradas del CSS, determinar: • el próximo estado: crear tantos como sea necesario • la salida que corresponde Los CSS son máquina de estados finitos. Por tanto, el grafo debe ser cerrado, esto es, hay que volver a estados ya puestos (no pueden ponerse nuevos estados indefinidamente). En caso de duda, incluir estados nuevos. Comprobar el grafo obtenido: 5.1. Que de todos los estados salen ramas correspondientes a todas las entradas 5.2. Que las secuencias del punto 1 se cumplen también en el grafo obtenido
Dpto. Tecnología Electrónica, U. Sevilla.
Fundamentos de Computadores
Circuitos Secuenciales 22
CIRCUITOS SECUENCIALES OPTIMIZACIÓN ∗
Objetivo: Reducir el coste final del circuito
∗
Mecanismos: Se pueden utilizar las siguientes técnicas de reducción de coste: • Reducir el número de estados: •• Puede reducir el número de biestables a utilizar •• Puede reducir el coste de la parte combinacional • Realizar una buena asignación (en su caso, óptima). Reduce la parte combinacional • Elegir adecuadamente el tipo lógico de los biestables. Reduce la parte combinacional
FC
• Aplicar las técnicas de diseño óptimo para funciones combinacionales
Dpto. Tecnología Electrónica, U. Sevilla.
Fundamentos de Computadores
Circuitos Secuenciales 23
CIRCUITOS SECUENCIALES REDUCCIÓN DE TABLAS COMPLETAMENTE ESPECIFICADAS DEFINICIONES (para todo tipo de tablas de estados/salidas): *
Tabla completamente especificada: Es aquélla que tiene especificados el próximo estado y la salida en todas las celdas (cada celda corresponde a un estado total del CSS) En otro caso se trata de una tabla incompletamente especificada.
*
Tablas compatibles: Son aquéllas que producen la misma secuencia de salida, siempre que esté especificada, ante la misma secuencia de entrada.
*
Estados de salida compatible (o estados compatibles): S1 y S2 son de salida compatible si, para cualquier entrada, las salidas de S1 y de S2 son las mismas o están inespecificadas.
*
Estados de salida incompatible (o estados incompatibles): S1 y S2 son de incompatibles si, para alguna entrada, las salidas de S1 y de S2 son distintas y ambas están especificadas.
FC
TABLAS COMPLETAMENTE ESPECIFICADAS: La relación de compatibilidad es una relación de equivalencia: en su caso, se llaman estados equivalentes y tablas equivalentes o indistinguibles.
Dpto. Tecnología Electrónica, U. Sevilla.
Fundamentos de Computadores
Circuitos Secuenciales 24
CIRCUITOS SECUENCIALES Fundamentos de la reducción (tablas completamente especificadas) ∗
Objetivo: A partir de la tabla inicial encontrar una equivalente con ella con el menor número de estados (tabla mínima)
( Reducción inicial: Se eliminan los estados inalcanzables ( La tabla mínima está compuesta por estados que son las clases de equivalencia del conjunto de estados de la tabla inicial respecto a la relación de compatibilidad ( TEOREMA: Dos estados S1 y S2 son equivalentes si sólo si se cumplen: 1. S1 y S2 son de salida compatible 2. La pareja de sucesores (próximos estados) de S1 y de S2 también son equivalentes ( PROCEDIMIENTO: Seguir los 3 pasos siguientes: 1. Construir la tabla de pares compatibles
FC
2. Determinar los incompatibles 3. Obtener los compatibles máximos (clases de equivalencia) y formar la tabla mínima.
Dpto. Tecnología Electrónica, U. Sevilla.
Fundamentos de Computadores
Circuitos Secuenciales 25
CIRCUITOS SECUENCIALES ( Ejemplo, Problema 34.a: Redúzcanse las máquinas cuyas tablas son las de la Figura. ¿Se trata de máquina de Mealy o de Moore?
a) x S A B C D E F G
0 D D G A E A C
1 F E E 1 F E 1 B G 1
FC
Dpto. Tecnología Electrónica, U. Sevilla.
Fundamentos de Computadores
Circuitos Secuenciales 26
CIRCUITOS SECUENCIALES ASIGNACIÓN ∗
Objetivo: Codificar los estados mediante un código binario válido
∗
Asignaciones tipo: Son las dos de longitudes de código extremas. Para M estados: ** Longitud grande: 1 bit (biestable) por estado con código 1-entre-M, total M bits ** Longitud mínima: n bits (biestables), n = ⎡Log2M⎤
∗
Asignaciones de longitud mínima: Varía el coste de la parte combinacional del circuito según la asignación ** Hay muchas asignaciones posibles ( V( 2 , M ) = 2n • ( 2n – 1 ) • ( 2n – 1 ) • … ( 2n – M + 1 ) ) P.ej. 24 para 3 estados; 40320 para 8 estados ** El coste del circuito no cambia si: a/ Se permutan dos columnas (yi ↔ yj) b/ Se complementa una columna (yi ↔ yi) n V ( 2 – 1 )! 2 ,M ----------------------------------------------Así, el número de asignaciones de coste distinto es: = n n n
n
FC
n! • 2
n! • ( 2 – M )!
Sigue habiendo muchas: 3 para M=3 o 4; 140 para M=5; 840 para M=8; casi 11 millones para M=9; 54 mil millones para M=16; ... Dpto. Tecnología Electrónica, U. Sevilla.
Fundamentos de Computadores
Circuitos Secuenciales 27
CIRCUITOS SECUENCIALES ∗ Técnicas de asignaciones para bajo coste: 1. Estudio exhaustivo: Consiste en diseñar el CSS para todas las asignaciones y quedarse con la del menor coste A mano, es útil sólo para 3 y 4 estados Con ayuda de ordenador es útil hasta 8 estados 2. Método de adyacencias: Es una técnica útil para hacer a mano buenas asignaciones (hasta unos 10 estados aproximadamente)
FC
I S
II
III
q1q0 q1q0 q1q0
A
00
00
00
B
01
01
11
C
10
11
01
D
11
10
10
3. Método aleatorio/cuasiexhaustivo: Consiste en elegir aleatoriamente un cierto número de asignaciones y estudiar exhaustivamente esos casos 4. Otros métodos: * Método SHR (Story, Harrison & Reinhold): Óptimo, trabajoso, computable * Método de la particiones: Dan estructura al CSS
Dpto. Tecnología Electrónica, U. Sevilla.
Fundamentos de Computadores
Circuitos Secuenciales 28