Tema 6. Circuitos secuenciales - Departamento de Tecnología

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