View
13
Download
0
Category
Preview:
Citation preview
1
Tema 2: Análisis y diseño de
circuitos digitales
Análisis y diseño de circuitos secuenciales
Electrónica Digital
2
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
3
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
4
5
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
6
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
7
Máquinas de estados: definiciones
Diagrama de estados:
Muestra la forma y la función de la máquina de estados
Normalmente un diagrama de círculos y flechas
Estado
Identifica de forma única una situación del sistema digital
Próximo estado
El estado al que irá la máquina de estados en la siguiente transición
La transición se produce son la señal de reloj
Depende de los valores de las entradas y del estado presente
Rama
Indica un cambio del estado presente al próximo estado
Máquina de Mealy
Una máquina de estados que determina sus salidas en base al estado presente y a las entradas
Máquina de Moore
Una máquina que determina sus salidas sólo en base a su estado presente
8
Esquema general de una máquina de
estados finito
CIRCUITO
COMBINACIONAL
Eltos. De
MEMORIA
X
y Y
Zn m
pp
Entradas Salidas
Variables de
próximo estadoVariables de
estado presente
Almacena el estado interno del sistema
9
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)
10
Diagramas de estados
Estado 6 Estado 7
Estado 5
Estado 4
Para cualquier estado, hay un
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
estados se convierte en el nuevo
estado presente
Depende del estado presente
y de las entradas
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
11
Diagramas de estado de máquinas de
Moore
Estado 2
x,y
Estado 1
q,r
a,b
i,j
Las salidas de las máquinas de
Moore se muestran dentro del
círculo del estado
La salida está asociada al
estado y sólo cambia cuando
cambia el estado
Valores de las salidas cuando
se está en ese estado
Condiciones en
las entradas para
producir la
transición
marcada
12
Diagramas de estado de máquinas de
Mealy
Estado 2
Estado 1
a,b / q,r
Las máquinas de Mealy
generan sus salidas en base a:
• El estado presente
• Los valores de las entradas
Es capaz de generar salidas
diferentes en un mismo estado
Los valores de las salidas se
muestran en las transiciones,
porque se calculan de la
misma forma que los próximos
estados
i,j / x,y
Condición de
entrada que debe
existir para que
se produzca la
transiciónValores de las salidas para ese
estado y esas entradas
13
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
14
Pasos del proceso de análisisCircuito
Ecuaciones de
Excitación / salida
Tabla de
Excitación / salida
Tabla de
Transición / salida
Tabla de
Estados / salida
Diagrama de estados
Diagrama temporal
Entradas biestables = f(x,q)
Salidas: z = f(x,q) (Mealy)
z = f(q) (Moore)
Entradas biestables,
salidas
xq
Proximas salidas biest.,
salidas
xqMapa de
transición
Próximo estado,
salidas
xS
Se asocia un símbolo (letra) a cada
Combinación de salidas de biestables
B
E/S
A
15
Ejemplo de análisis
Analizar el comportamiento del siguiente circuito:
16
Paso 1:
Ecuaciones de excitación / salida
B1: S0= x q1’
R0= x’ q1
B2: S1= x’ q0
R1= x q0’
Salida: z = x q0’ q1
Se ponen las entradas de los
biestables en función de las
entradas y de las propias salidas
de los biestables
17
Paso 2:
Tabla de excitación / salida
Xq1q0
0 1
00 00,00;0 10,01;0
01 01,00;0 00,01;0
10 01,10;0 00,00;0
11 00,10;0 10,00;1
R1S1, R0S0, z
Las ecuaciones se convierten en
una tabla
Es importante mantener el
mismo orden en los subíndices
Tanto las entradas como las “q”
se ponen en codificación gray
(obligatorio para hacer diseño)
18
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
Xq1q0
0 1
00 00;0 01;0
01 11;0 01;0
10 10;0 11;0
11 10;0 00;1
Q1Q0, z
RSq 00 01 11 10
0 0 1 - 0
1 1 1 - 0
Q
19
Paso 4:
Tabla de estados / salida
A cada combinación de las salidas
de los biestables se le asigna un
nombre (normalmente una letra)
XS 0 1
a a;0 b;0
b c;0 b;0
d d;0 c;0
c d;0 a;1
q1q0
00 a
01 b
10 d
11 cNS, z
Asignación
de estados
20
Paso 5:
Diagrama de estados / salida
A partir de la tabla de estados se
puede dibujar el diagrama de
estados
21
Evolución temporalX
S 0 1
a a;0 b;0
b c;0 b;0
d d;0 c;0
c d;0 a;1
NS, z
A partir de la tabla de estados se
puede conocer la evolución del
circuito para unas entradas dadas
Los estados sólo pueden cambiar en los flancos
activos de reloj
La salida en una máquina de Mealy cambia al
cambiar la entrada
22
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
23
Pasos del proceso de diseño
Circuito
Ecuaciones de
Excitación / salida
Tabla de
Excitación / salida
Tabla de
Transición / salida
Tabla de
Estados / salida
Diagrama de estados
Descripción no formal
Entradas biestables = f(x,q)
Salidas: z = f(x,q) (Mealy)
z = f(q) (Moore)
Entradas biestables,
salidas
xq
Proximas salidas biest.,
salidas
xq
Próximo estado,
salidas
xS
Se asocia una combinación de salidas
de biestables a cada estado
B
E/S
A
A partir de las ecuaciones se dibuja el circuito
Se elije el biestable a utilizar
24
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.
25
Ejemplo de diseño de una máquina de MealyPaso 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
26
Ejemplo de diseño de una máquina de MealyPaso 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
S0 S1 S20/0
1/0
0/0
1/0
0/0
0/0
27
Ejemplo de diseño de una máquina de MealyPaso 2: Tabla de estados y salidas
Lo expresado en el diagrama anterior hay que expresarlo en
forma de tabla
xS 0 1
S0 S0,0 S1,0
S1 S0,0 S2,0
S2 S0,0 S2,1
NS, z
28
Ejemplo de diseño de una máquina de MealyPaso 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
S0 00
S1 01
S2 10
Asignación
de estados
xq1q00 1
00 00,0 01,0
01 00,0 10,0
11 --,- --,-
10 00,0 10,1
Q1Q0, z
29
Ejemplo de diseño de una máquina de MealyPaso 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
q → Q D
0 → 0 0
0 → 1 1
1 → 0 0
1 → 1 1
xq1q00 1
00 00,0 01,0
01 00,0 10,0
11 --,- --,-
10 00,0 10,1
D1D0, z
Tabla de
excitación
30
Ejemplo de diseño de una máquina de MealyPaso 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
xq1q00 1
00 0 0
01 0 1
11 - -
10 0 1
D1
xq1q00 1
00 0 1
01 0 0
11 - -
10 0 0
D0
xq1q00 1
00 0 0
01 0 0
11 - -
10 0 1
z
D1= xq1 + xq0 D0= xq1’q0’ z= xq1
31
Ejemplo de diseño de una máquina de MealyPaso 6: Dibujar el circuito
32
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
33
Ejemplo de diseño de una máquina de MoorePaso 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
0
S1
0
S2
0
S3
1
34
Ejemplo de diseño de una máquina de MoorePaso 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
0
1
0
1
0
1
S0
0
S1
0
S2
0
S3
1
1
0
35
Ejemplo de diseño de una máquina de MoorePaso 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
xS 0 1 z
S0 S0 S1 0
S1 S0 S2 0
S2 S0 S3 0
S3 S0 S3 1
NS
36
Ejemplo de diseño de una máquina de MoorePaso 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
S0 00
S1 01
S2 10
S3 11
Asignación
de estados
Q1Q0
xS 0 1 z
00 00 01 0
01 00 10 0
11 00 11 1
10 00 11 0
37
Ejemplo de diseño de una máquina de MoorePaso 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
q → Q JK
0 → 0 0-
0 → 1 1-
1 → 0 -1
1 → 1 -0
xq1q00 1 z
00 0-,0- 0-,1- 0
01 0-,-1 1-,-1 0
11 -1,-1 -0,-0 1
10 -1,0- -0,1- 0
J1K1, J0K0
Tabla de
excitación
38
Ejemplo de diseño de una máquina de MoorePaso 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
xq1q00 1
00 0 0
01 0 1
11 - -
10 - -
J1 = xq0 z = q1q0
xq1q00 1
00 - -
01 - -
11 1 0
10 1 0
xq1q00 1
00 0 1
01 - -
11 - -
10 0 1
xq1q00 1
00 - -
01 1 1
11 1 0
10 - -
xq1q0z
00 0
01 0
11 1
10 0
K1 = x’ J0 = x K0 = x’ + q1’
39
Ejemplo de diseño de una máquina de MoorePaso 6: Dibujar el circuito
40
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
41
Evolución temporal (II)
xS 0 1
S0 S0,0 S1,0
S1 S0,0 S2,0
S2 S0,0 S2,1
NS, z
Tabla de estados
(Mealy)
Diagrama temporal
xS 0 1 z
S0 S0 S1 0
S1 S0 S2 0
S2 S0 S3 0
S3 S0 S3 1
NS
La máquina de Moore funciona correctamente
¡¡ La máquina de Mealy pone la salida a ‘1’ sin
haber llegado tres unos ¡¡
42
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
43
Evolución temporal (IV)Entradas sincronizadas
xS 0 1
S0 S0,0 S1,0
S1 S0,0 S2,0
S2 S0,0 S2,1
NS, z
Tabla de estados
(Mealy)
Diagrama temporal
xS 0 1 z
S0 S0 S1 0
S1 S0 S2 0
S2 S0 S3 0
S3 S0 S3 1
NS
Ambas funcionan correctamente:
• La M. de Moore se pone a ‘1’ después del tercer uno
• La M. de Meale se pone a ‘1’ justo al iniciar el tercer uno
44
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
Recommended