Documentos de Académico
Documentos de Profesional
Documentos de Cultura
circuitos digitales
Electrónica Digital
1
Esquema de la presentación
1. Introducción
2. Análisis de circuitos secuenciales
3. Metodología de diseño de máquinas de estado
• Ejemplo: Máquina de Mealy
• Ejemplo: Máquina de Moore
4. Observaciones al proceso de diseño
2
1. Introducción
Los circuitos secuenciales se pueden clasificar en:
Circuitos secuenciales asíncronos:
Las entradas actúan en todo instante sobre el estado
del circuito
Circuitos secuenciales síncronos:
Las entradas actúan sobre el estado del circuito sólo en
determinados instantes, que vienen determinados por
la señal de reloj
El diseño de circuitos secuenciales lo vamos a hacer
en base a diseño de máquinas de estados finitos ó
máquinas de estado
3
Concepto de estado
Estado: Se puede definir como el conjunto de
valores almacenado en los biestables durante un
determinado ciclo de reloj
En general, un circuito con n biestables podrá tener 2n
estados posibles
Los estados contienen la información relevante que
debe almacenar el circuito
4
Definición de máquina de estados finitos
(FSM)
Una máquina de estados representa un sistema
como un conjunto de estados, de transiciones entre
ellos junto con las entradas y salidas asociadas
Una máquina de estados es una conceptualización
de un circuito secuencial particular
Las máquinas de estado pueden usarse para muchas
otras cosas, más allá del diseño lógico y la
arquitectura de computadores
5
Máquina de estados finitos (FSM)
Cualquier circuito con memoria puede verse como
una máquina de estados
El diseño de FSMs involucra:
Definir estados
Definir transiciones entre estados
Optimizar / minimizar (fuera de esta asignatura)
Definir los valores de las salidas en cada momento
Este enfoque es práctico sólo para FSMs pequeñas
6
Máquinas de estados: definiciones
Diagrama de estados: Rama
Muestra la forma y la función de Indica un cambio del estado
la máquina de estados presente al próximo estado
Normalmente un diagrama de Máquina de Mealy
círculos y flechas Una máquina de estados que
Estado determina sus salidas en base al
Identifica de forma única una estado presente y a las entradas
situación del sistema digital Máquina de Moore
Próximo estado Una máquina que determina sus
El estado al que irá la máquina salidas sólo en base a su estado
de estados en la siguiente presente
transición
La transición se produce son la
señal de reloj
Depende de los valores de las
entradas y del estado presente
7
Esquema general de una máquina de
estados finito
Entradas X n m
Z Salidas
CIRCUITO
COMBINACIONAL
y Y
Variables de
Variables de próximo estado
estado presente p p
Eltos. De
MEMORIA
8
Máquinas de Moore y de Mealy
Su diferencia está únicamente en la dependencia
de las salidas
Máquina de Moore:
Las salidas dependen sólo del estado presente
Las entradas intervienen en la decisión del próximo
estado
Z = f(y)
Máquina de Mealy:
Las salidas dependen del estado presente y del valor de
las entradas
Z = f(y,X)
9
Diagramas de estados
Para cualquier estado, hay un
Estado 4 número finito de posibles próximos
estados
En cada ciclo de reloj la máquina
cambia al siguiente estado
Uno de los posibles próximos
Estado 5 estados se convierte en el nuevo
estado presente
Depende del estado presente
Estado 6 Estado 7 y de las entradas
10
Diagramas de estado de máquinas de
Moore
Las salidas de las máquinas de
Moore se muestran dentro del
círculo del estado a,b
Estado 1
La salida está asociada al q,r
estado y sólo cambia cuando
cambia el estado Condiciones en
i,j las entradas para
producir la
transición
marcada
11
Diagramas de estado de máquinas de
Mealy
Las máquinas de Mealy
generan sus salidas en base a:
• El estado presente
• Los valores de las entradas
a,b / q,r
Es capaz de generar salidas Estado 1
diferentes en un mismo estado
12
2. Análisis de circuitos secuenciales
El proceso de análisis consiste en obtener el
comportamiento de un circuito a partir de su
esquemático
13
Pasos del proceso de análisis
Circuito
Entradas biestables = f(x,q)
Salidas: z = f(x,q) (Mealy)
Ecuaciones de z = f(q) (Moore)
Excitación / salida x x
q Mapa de q
Entradas biestables, transición Proximas salidas biest.,
Tabla de
salidas salidas
Excitación / salida
Diagrama de estados A
B
Diagrama temporal
14
Ejemplo de análisis
Analizar el comportamiento del siguiente circuito:
15
Paso 1:
Ecuaciones de excitación / salida
16
Paso 2:
Tabla de excitación / salida
Las ecuaciones se convierten en
una tabla
X
q1q0 0 1
00 00,00;0 10,01;0
Tanto las entradas como las “q”
se ponen en codificación gray 01 01,00;0 00,01;0
(obligatorio para hacer diseño) 10 01,10;0 00,00;0
11 00,10;0 10,00;1
Es importante mantener el
mismo orden en los subíndices R1S1, R0S0, z
17
Paso 3:
Tabla de transición / salida
Haciendo uso de la tabla de
transición del biestable se
sustituyen las entradas de los
biestables por los próximos estados
X
q1q0 0 1
RS 00 01 11 10
q 00 00;0 01;0
0 0 1 - 0
01 11;0 01;0
1 1 1 - 0
10 10;0 11;0
Q
11 10;0 00;1
Q1 Q0 , z
18
Paso 4:
Tabla de estados / salida
A cada combinación de las salidas
de los biestables se le asigna un
nombre (normalmente una letra)
X
S 0 1
q1q0
Asignación a a;0 b;0
de estados 00 a
b c;0 b;0
01 b
d d;0 c;0
10 d
c d;0 a;1
11 c
NS, z
19
Paso 5:
Diagrama de estados / salida
A partir de la tabla de estados se
puede dibujar el diagrama de
estados
20
Evolución temporal
X
S 0 1 A partir de la tabla de estados se
puede conocer la evolución del
a a;0 b;0
circuito para unas entradas dadas
b c;0 b;0
d d;0 c;0 Los estados sólo pueden cambiar en los flancos
c d;0 a;1 activos de reloj
NS, z La salida en una máquina de Mealy cambia al
cambiar la entrada
21
3. Metodología de diseño de máquinas de
estado
El proceso de diseño sigue los mismos pasos
seguidos en el análisis pero en el sentido inverso
El diseño de FSMs involucra:
Definir estados
Definir transiciones entre estados
Optimizar / minimizar (fuera de esta asignatura)
Definir los valores de las salidas en cada momento
22
Pasos del proceso de diseño
E/S
Descripción no formal x
S
Próximo estado,
Diagrama de estados A
B salidas
Tabla de
Estados / salida x
q Se asocia una combinación de salidas
Proximas salidas biest., de biestables a cada estado
Tabla de salidas
Transición / salida
Se elije el biestable a utilizar
x
Tabla de q
Excitación / salida Entradas biestables,
salidas
23
Ejemplo de diseño de una máquina de
Mealy
Descripción del problema:
Diseñar un circuito con una entrada y una salida que
tenga el siguiente comportamiento:
• La salida se pone a 1 cuando por su entrada se reciben
tres o más unos consecutivos.
24
Ejemplo de diseño de una máquina de Mealy
Paso 1: Plantamiento de estados
S0 S1 S2
25
Ejemplo de diseño de una máquina de Mealy
Paso 1: Plantamiento de las transiciones
1/0 1/0
0/0
S0 S1 S2 0/0
0/0
0/0
26
Ejemplo de diseño de una máquina de Mealy
Paso 2: Tabla de estados y salidas
S x 0 1
S0 S0,0 S1,0
S1 S0,0 S2,0
S2 S0,0 S2,1
NS, z
27
Ejemplo de diseño de una máquina de Mealy
Paso 3: Tabla de transición y salidas
q1q0 x 0 1
Asignación S q1q0
00 00,0 01,0
de estados S0 00
S1 01 01 00,0 10,0
S2 10 11 --,- --,-
10 00,0 10,1
Q1 Q0 , z
28
Ejemplo de diseño de una máquina de Mealy
Paso 4: Tabla de excitación y salidas
Se elige el biestable
En el ejemplo un biestable D
En cada casilla se Introduce el valor de próximo estado del
biestable
Tabla de q →Q q1q0 x 0 1
D
excitación
00 00,0 01,0
0 →0 0
0 →1 1 01 00,0 10,0
1 →0 0 11 --,- --,-
1 →1 1 10 00,0 10,1
D1D0, z
29
Ejemplo de diseño de una máquina de Mealy
Paso 5: Ecuaciones de excitación y salidas
D1 D0 z
D1= xq1 + xq0 D0= xq1’q0’ z= xq1
30
Ejemplo de diseño de una máquina de Mealy
Paso 6: Dibujar el circuito
31
Ejemplo de diseño de una máquina de
Moore
Descripción del problema (idéntico al anterior):
Diseñar un circuito con una entrada y una salida que
tenga el siguiente comportamiento:
• La salida se pone a 1 cuando por su entrada se reciben
tres o más unos consecutivos
32
Ejemplo de diseño de una máquina de Moore
Paso 1: Plantamiento de estados
S0 S1 S2 S3
0 0 0 1
33
Ejemplo de diseño de una máquina de Moore
Paso 1: Plantamiento de las transiciones
1 1 1
1
0
S0 S1 S2 S3
0 0 0 1
0
0
0
34
Ejemplo de diseño de una máquina de Moore
Paso 2: Tabla de estados y salidas
S x 0 1 z
S0 S0 S1 0
S1 S0 S2 0
S2 S0 S3 0
S3 S0 S3 1
NS
35
Ejemplo de diseño de una máquina de Moore
Paso 3: Tabla de transición y salidas
Asignación S q1q0 S x 0 1 z
de estados S0 00 00 00 01 0
S1 01 01 00 10 0
S2 10 11 00 11 1
S3 11
10 00 11 0
Q1 Q0
36
Ejemplo de diseño de una máquina de Moore
Paso 4: Tabla de excitación y salidas
Se elige el biestable
En este ejemplo un biestable JK
En cada casilla se Introduce el valor de próximo estado del
biestable
Tabla de q →Q q1q0 x 0 1 z
JK
excitación
00 0-,0- 0-,1- 0
0 →0 0-
0 →1 1- 01 0-,-1 1-,-1 0
1 →0 -1 11 -1,-1 -0,-0 1
1 →1 -0 10 -1,0- -0,1- 0
J1K1, J0K0
37
Ejemplo de diseño de una máquina de Moore
Paso 5: Ecuaciones de excitación y salidas
38
Ejemplo de diseño de una máquina de Moore
Paso 6: Dibujar el circuito
39
Evolución temporal
Vamos a comprobar el funcionamiento de los dos
diseños realizados
Vamos a ver el comportamiento a partir de la tabla
de estados
Para ello introduciremos un pulso de un ciclo de
duración, otro de dos y otro de tres
La salida sólo se tiene que poner a ‘1’ con el pulso de
tres ciclos de duración
40
Evolución temporal (II)
S x 0 1 Tabla de estados
(Mealy)
S0 S0,0 S1,0
Diagrama temporal
S1 S0,0 S2,0
S2 S0,0 S2,1
NS, z
Sx 0 1 z
S0 S0 S1 0
S1 S0 S2 0
S2 S0 S3 0 La máquina de Moore funciona correctamente
S3 S0 S3 1 ¡¡ La máquina de Mealy pone la salida a ‘1’ sin
NS haber llegado tres unos ¡¡
41
Evolución temporal (III)
El problema está en que las entradas no están sincronizadas
con el reloj:
Cambian con el flanco de subida
El circuito se dispara con el flanco de bajada
42
Evolución temporal (IV)
Entradas sincronizadas
S x 0 1 Tabla de estados
(Mealy)
S0 S0,0 S1,0
Diagrama temporal
S1 S0,0 S2,0
S2 S0,0 S2,1
NS, z
Sx 0 1 z
S0 S0 S1 0
S1 S0 S2 0
S2 S0 S3 0 Ambas funcionan correctamente:
• La M. de Moore se pone a ‘1’ después del tercer uno
S3 S0 S3 1 • La M. de Meale se pone a ‘1’ justo al iniciar el tercer uno
NS
43
4. Observaciones al proceso de diseño
En general, para un sistema dado, los estados del autómata
de Mealy no coinciden con los del autómata de Moore
Normalmente, el número de estados del autómata de Moore
es mayor que el número de estados del autómata de Mealy
La asignación de estados determina la complejidad de la
parte combinacional del circuito
Nosotros haremos una asignación secuencial o gray
La elección del tipo de biestable es arbitraria, pero vendrá
determinada por aspectos tecnológicos (velocidad, consumo,
disponibilidad, etc.)
El número de estados determina la complejidad de la parte
secuencial del circuito
44