Está en la página 1de 45

Tema 2: Análisis y diseño de

circuitos digitales

Análisis y diseño de circuitos secuenciales

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
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
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
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
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
Máquinas de estados: definiciones
 Diagrama de estados:  Rama
Muestra la forma y la función Indica un cambio del estado
de 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
El estado al que irá la máquina sus salidas sólo en base a su
de estados en la siguiente estado 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
Esquema general de una máquina de
estados finito

Entradas X n m Salidas
CIRCUITO COMBINACIONAL Z

y Y
Variables de
Variables de próximo estado
estado presente p Eltos. De p
MEMORIA

Almacena el estado interno del sistema


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)
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 y de las entradas
7

 En un diagrama de estados bien dibujado, todas las posibles transiciones


están visibles, incluyendo los bucles sobre el mismo estado
 En este diagrama se puede deducir que si el estado presente es el 5, el estado
previo era el 4 o el 5 y el próximo estado será el 5, el 6 ó el 7
Diagramas de estado de máquinas de
Moore
as máquinas de Moore se muestran dentro del círculo del estado

sociada al estado y sólo cambia cuando cambia el estado


a,b
Estado 1 q,r

Condiciones en las entradas para producir la tra


i,j

alores de las salidas cuando se está en ese estado Estado 2 x,y

11
Mealy
Las máquinas de Mealy
generan sus salidas en base
a:
• El estado presente
• Los valores de las entradas a,b / q,r
Estado 1
Es capaz de generar salidas
diferentes en un mismo
estado i,j / x,y

Los valores de las salidas se Condición de entrada que debe existir para que se
muestran en las transiciones,
porque se calculan de la
misma forma que los
Estado 2
Valores de las salidas para ese
estado y esas entradas
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

Tabla de x Se asocia un símbolo (letra) a cada


Transición / salida S Combinación de salidas de biestables
Próximo estado,
salidas
Tabla de
Estados / salida E/S

Diagrama de estados A
B
Diagrama temporal
Ejemplo de análisis
 Analizar el comportamiento del siguiente circuito:
Paso 1:
Ecuaciones de excitación / salida

Se ponen las entradas de los


biestables en función de las
entradas y de las propias salidas
de los biestables

B1: S0 = x
q1’ R0=
x’ q1
B2: S1= x’ q0
R1 = x
q0’

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 R1 S 1 , R 0 S 0 , 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

20
Evolución temporal
XA partir de la tabla de estados se puede conocer la evolución del circuito par
S 0 1
a a;0 b;0
b c;0 b;0
d d;0 Los estados sólo pueden cambiar en los flancos
c;0
c d;0 activos de reloj
a;1
NS, z La salida en una máquina de Mealy cambia al cambiar la ent

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

Ecuaciones de Entradas biestables = f(x,q) Salidas:z = f(x,q)(Mealy)


z = f(q)(Moore)
Excitación / salida

Circuito A partir de las ecuaciones se dibuja el circuito

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

 El circuito tiene una entrada (X) y una salida (Z)


 Iniciamos el planteamiento de los estados:
Planteamos un primer estado (S0) en el que ha llegado un ‘0’
Planteamos un segundo estado (S1) en el que ha llegado un ‘1’
Planteamos un tercer estado en el que han llegado dos ‘1’ consecutivos
¿Haría falta un estado S3 para cuando hubieran llegado tres ‘1’
consecutivos?: podermos hacer que S2 signifique que han llegado dos o más
‘1’ consecutivos. Cuando han llegado más de dos ‘1’ la salida estará a ‘1’

S0 S1 S2

25
Paso 1: Plantamiento de las transiciones

 Vamos planteando las transiciones entre estados:


Cuando estamos en S0 y recibimos un ‘0’, seguimos en S0. La salida será ‘0’
Cuando estamos en S0 y recibimos un ‘1’ pasamos a S1. La salida será un
‘0’
Cuando estamos en S1 y la entrada es ‘0’ pasamos a S0. La salida está a ‘0’
Cuando estamos en S1 y la entrada es ‘1’ pasamos a S2. La salida está a ‘0’
Cuando estamos en S2 y la entrada es ’0’ pasamos a S0. La salida está a ‘0’
Cuando estamos en S2 y la entrada es ‘1’ podemos permanecer en S2 con
la salida a ‘1’, indicando que han llegado tres o más ‘1’ consecutivos

1/0 1/0
0/0
S0 S1 S2 0/0

0/0
0/0
Paso 2: Tabla de estados y salidas

 Lo expresado en el diagrama anterior hay que expresarlo


en forma de tabla

S x 0 1
S0 S0,0 S1,0
S1 S0,0 S2,0
S2 S0,0 S2,1
NS, z
Paso 3: Tabla de transición y salidas

 Se asigna a cada estado una combinación de salidas de


los biestables
Como tenemos 3 estados, necesitamos dos biestables

S q1q0 q1q0 x 0 1
Asignación
de estados 00 00,0 01,0
S0 00
S1 01 01 00,0 10,0
S2 10 11 --,- --,-
10 00,0 10,1

Q1Q0, z
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 D q1q0 x 0 1


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
Paso 5: Ecuaciones de excitación y salidas

 Utilizando la tabla de excitación como un mapa de Karnaugh,


se obtienen las expresiones de las entradas del biestable y
de la salida

q1q0 x 0 1 q1q0 x 0 1 q1q0 x 0 1


00 0 0 00 0 1 00 0 0
01 0 1 01 0 0 01 0 0
11 - - 11 - - 11 - -
10 0 1 10 0 0 10 0 1

D1 D0 z
D1= xq1 + xq0 D0= xq1’q0’ z= xq1
Paso 6: Dibujar el circuito
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

Recordar que las salidas van asociadas al estado


Ahora las salidas se pondrán dentro del círculo del
estado

32
Ejemplo de diseño de una máquina de Moore
Paso 1: Plantamiento de estados

 El circuito tiene una entrada (X) y una salida (Z)


 Iniciamos el planteamiento de los estados:
Planteamos un primer estado (S0) en el que ha llegado un ‘0’. La salida
estará a ‘0’
Planteamos un segundo estado (S1) en el que ha llegado un ‘1’. La salida
estará a ‘0’
Planteamos un tercer estado (S2) en el que han llegado dos ‘1’
consecutivos. La salida estará a ‘0’
Ahora necesitamos introducir un estado S3 que indique que se han recibido
tres o más ‘1’. La salida estará a ‘1’

S0 S1 S2 S3
0 0 0 1

33
Paso 1: Plantamiento de las transiciones

 Vamos planteando las transiciones entre estados:


Cuando estamos en S0 y recibimos un ‘0’, seguimos en S0
Cuando estamos en S0 y recibimos un ‘1’ pasamos a S1
Cuando estamos en S1 y la entrada es ‘0’ pasamos a S0
Cuando estamos en S1 y la entrada es ‘1’ pasamos a S2
Cuando estamos en S2 y la entrada es ’0’ pasamos a S0
Cuando estamos en S2 y la entrada es ‘1’ pasamos a S3
Cuando estamos en S3 y la entrada es ‘0’ pasamos a S0
Cuando estamos en S3 y la entrada es ‘1’ seguimos en S3

1 1 1
0 1
S0 S1 S2 S3
0 0 0 1
0
0
0
Paso 2: Tabla de estados y salidas

 Lo expresado en el diagrama anterior hay que expresarlo


en forma de tabla
 Ahora la salida va en una columna aparte, porque está
asociada al estado

S x 0 1 z
S0 S0 S1 0
S1 S0 S2 0
S2 S0 S3 0
S3 S0 S3 1
NS
Paso 3: Tabla de transición y salidas

 Se asigna a cada estado una combinación de salidas de


los biestables
Como tenemos 4 estados, necesitamos dos biestables
La combinación de estados hay que ponerla en código gray

S q1q0 S x 0 1 z
Asignación
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
Q1Q0
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 JK q1q0 x 0 1 z


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
Paso 5: Ecuaciones de excitación y salidas

 Utilizando la tabla de excitación como un mapa de Karnaugh,


se obtienen las expresiones de las entradas del biestable y
de la salida

q1qx 0 1 q1qx 0 1 q1qx0 0 1 q1qx0 0 1 q1qx z


0 0 0
00 0 0 00 - - 00 0 1 00 - - 00 0
01 0 1 01 - - 01 - - 01 1 1 01 0
11 - - 11 1 0 11 - - 11 1 0 11 1
10 - - 10 1 0 10 0 1 10 - - 10 0
J1 = xq0 K1 = x’ J0 = x K0 = x’ + q1’ z = q1 q0
Paso 6: Dibujar el circuito
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 ¡¡
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

Solución: sincronizar las entradas con el flanco activo de reloj


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

También podría gustarte