Professional Documents
Culture Documents
Sesion13 Máquinas Secuenciales Sincrónicas
Sesion13 Máquinas Secuenciales Sincrónicas
2
Revisar cómo está constituida una máquina
secuencial sincrónica y sus aplicaciones
3
Una máquina secuencial sincrónica (MSS), llamada también
máquina de estados finita (MEF).
Por su comportamiento funcional, representado por un número finito
de estados.
Una señal de reloj (clock) controla la operación del circuito secuencial
4
Pueden ser del tipo Mealy o Moore
5
6
7
Bajo el control (sincronismo) de la señal de reloj, las salidas de
los flip-flops cambian de estado; estas salidas se realimentan
al decodificador de estado siguiente.
12
Según el esquema tradicional como Según el esquema algorítmico (diagrama ASM)
diagrama de estados
13
1. Detectores de secuencia de códigos
14
Se requiere diseñar una máquina secuencial sincrónica que genere una
secuencia de códigos en las variables A y B (esto es, 00-01-10-11-00) cuando la
entrada x cambia de 0 a 1 reiteradas veces. Si en algún estado, la entrada x
cambia de 1 a 0, se mantendrá mostrando en las salidas A y B, el último código
que estaba generando en dicho estado. La secuencia de códigos debe
generarse sincronizadamente en cada pulso (flanco positivo) de la señal de
reloj (CLK). El gráfico a continuación ilustra esta máquina como una caja negra.
X A
Máquina
secuencial B
CLK sincrónica
15
Formato de entrada/salida: X/AB
16
Se requiere diseñar una máquina secuencial sincrónica que detecte la
secuencia 111 de una entrada de datos serial In.H. La salida Sec.H se activará
“1” solo si se detecta la secuencia correcta; ésta es, 111 por cada tres datos en
serie en la entrada In.H. Caso contrario Sec.h permanecerá desactivada “0”. La
secuencia de códigos debe detectarse sincrónicamente en cada pulso (flanco
positivo) de la señal de reloj (CLK). El gráfico a continuación ilustra esta
máquina como una caja negra.
17
Formato de entrada/salida: In/Sec
18
En un diagrama de estados, es posible reducir la cantidad de estados.
• Dos estados son equivalentes si para los mismos valores de las entradas, se
tiene iguales valores de salida y los mismos próximos estados.
19
Estados Presentes Variables de
Variables de Entrada(s) Salida(s) Estados Siguientes entrada a los F-Fs
estado In.H Sec.H Variables de estado que determinan el
An Bn siguiente estado siguiente
An+1 Bn+1 JA KA JB KB
a 0 0 0 0 a 0 0 0 Φ 0 Φ
1 0 b 0 1 0 Φ 1 Φ
b 0 1 0 0 a 0 0 0 Φ Φ 1
1 0 c 1 0 1 Φ Φ 1
c 1 0 0 0 a 0 0 Φ 1 0 Φ
1 1 a 0 0 Φ 1 0 Φ
20
• # Estados ≤ 2n
• n es el número de variables de estado.
• Ejemplo
3 ≤ 2n
n= 2 variables de estado: A y B
1. Si se asignan arbitrariamente los códigos a los estados, esto
puede resultar en una pobre optimización en el tamaño del
circuito de la máquina secuencial sincrónica.
21
Todos los estados que tienen el mismo estado siguiente, para una
condición de entrada determinada, se les debe asignar un código
de distancia unitaria entre ellos.
22
Todos los estados que son estados siguientes de un único estado,
se les debe asignar un código de distancia unitaria entre ellos.
23
Todos los estados que tengan salidas iguales, para las mismas
condiciones de entrada, se les debe asignar códigos de distancia
unitaria. Esta regla se aplica independiente y adicionalmente,
mientras que las reglas 1 y 2 se aplican una a la vez (solo una).
24
c a
a
b a a y c tendrían distancia unitaria
c
a a a y b tendrían distancia unitaria
b
25
• Se usará Flip-Flops J-K. Se parte de la tabla de excitación:
26
• Las variables exteriores del mapa son las variables de
estado presente y las entradas a la MSS.
27
3ro.: Sabiendo qué transición ocurre del estado
presente al estado siguiente, se usa los valores de la
tabla de excitación del flip-flop; en este caso del J-K
An An
0 0 Φ Φ Φ Φ Φ 1
In 0 1 Φ Φ JA = Bn.In In Φ Φ Φ 1 KA = 1
Bn Bn
An An
0 Φ Φ 0 Φ 1 Φ Φ
In 1 Φ Φ 0 JB = An.In In Φ 1 Φ Φ KB = 1
Bn Bn
Bn 1 0 0 0 0 0 Φ 1 0 Φ
1 0 1 1 0 0 Φ 1 0 Φ
28
29
30
Diseñe una máquina secuencial sincrónica que realice el muestreo de una
señal digital Dato.H, 3 muestras consecutivas. Esta máquina debe contabilizar
cuantos unos (“1”) se obtuvieron en las tres muestras. Si el número de unos
(“1”) en la entrada Dato es impar, la máquina debe generar un pulso en la
salida “IMPAR”; por el contrario, si el número de unos es par, no se genera el
pulso.
31
Formato de entrada/salida: Dato/IMPAR
32
Estados Presentes Entrada(s) Salida(s) Próximos Estados
Nombre An Bn Dato.H IMPAR.H Nombre An+1 Bn+1
a 0 0 b
1 0 c
b 0 0 d
1 0 e
c 0 0 f
1 0 g
d 0 0 a Equivalentes
1 1 a
e 0 1 a
1 0 a
f 0 1 a
1 0 a
g 0 0 a
1 1 a
33
Formato de entrada/salida: Dato/IMPAR
34
En el flanco positivo del reloj
35
Estados Presentes Entrada Salida(s) Próximos Estados DA DB DC
An Bn Cn Dato.H IMPAR.H An+1 Bn+1 Cn+1
a 000 0 0 b 001 001
1 0 c 011 011
b 001 0 0 d 110 110
1 0 e 111 111
c 011 0 0 e 111 111
1 0 d 110 110
d 110 0 0 a 000 000
1 1 a 000 000
e 111 0 1 a 000 000
1 0 a 000 000
Asignación de códigos: 5 Estados ≤ 23
n = 3 Variables de estado: A, B y C
Con la regla 2 a b b d c d b,c
c e e d,e
Con la regla 3: iguales valores de salida para las mismas condiciones de la
entrada. Por lo tanto a, b y c deberán tener distancia unitaria. Del Mapa de
36
Estados finalmente obtenemos los códigos.
Co la ayuda del mapa de estados, se obtiene finalmente los códigos de cada
estado.
An
a Φ d Φ
Cn b c e Φ
Bn
Códigos
ABC
000 a
001 b
011 c
110 d
111 e
37
• Se usará Flip-Flops tipo D. Se parte de la tabla de
excitación del F-F tipo D:
38
39
40
• “Fundamentals of Digital Logic with VHDL Design”, Brown S. &
Vranesic Z., Mc Graw Hill, 2009.
• Embedded SoPC design with NIOS II processor and VHDL examples,
2011, Wiley.
• “An Engineering Approach To Digital Design” (“Una Técnica de
Ingeniería para Diseño Digital”), William Fletcher, Prentice Hall.
41