16. Análisis y diseño de sistemas secuenciales

Anuncio
16. Análisis y diseño de
sistemas secuenciales
Oliverio J. Santana Jaria
Sistemas Digitales
Ingeniería Técnica en Informática de Sistemas
Curso 2006 – 2007
Introducción
No resulta fácil deducir el funcionamiento de un circuito
secuencial a partir de un diagrama de puertas lógicas
De la misma manera, dada la descripción funcional de
un circuito secuencial, no es trivial obtener el diagrama
que represente la implementación del mismo
Los objetivos de este tema son:
Describir el proceso de análisis que permite comprender
el funcionamiento de un circuito secuencial partiendo de
su implementación
Describir el proceso de síntesis que permite implementar
un circuito secuencial a partir de una descripción funcional
Análisis y diseño de sistemas secuenciales
2
1
Estructura del tema
Introducción
Modelo de máquinas de estados finitos
Análisis de sistemas secuenciales
Análisis de sistemas de tipo Moore
Análisis de sistemas de tipo Mealy
Ejemplos
Diseño de sistemas secuenciales
Resumen y bibliografía
Generación del diagrama de estados
Minimización del diagrama de estados
Codificación de estados
Elección de los biestables
Implementación y verificación del sistema
Ejemplos
Análisis y diseño de sistemas secuenciales
3
Estado de un sistema secuencial
Los sistemas secuenciales se caracterizan por el hecho
de que sus salidas dependen no sólo de las entradas
actuales, sino de toda la secuencia de entradas anteriores
Toda esta secuencia de entradas anteriores da lugar
a lo que se denomina el estado del circuito, que está
almacenado en componentes de memorización
x0
x1
xm
conjunto
… de puertas
lógicas
{x0, x1, … xm} ≡ Xt
y0
y1
yn
…
memoria
Análisis y diseño de sistemas secuenciales
{y0, y1, … yn} ≡ Yt
Yt = F(Xt, Xt-1, Xt-2 , …)
4
2
Estado de un sistema secuencial
De acuerdo con esta definición, el estado de un
sistema secuencial depende de la secuencia de
entradas anteriores al sistema
Et = F(Xt-1, Xt-2 , …)
Yt = F(Xt, Xt-1, Xt-2 , …) = F(Xt, Et)
Este planteamiento permite descomponer la ecuación
general de los sistemas secuenciales en otras dos
ecuaciones: una de salida y otra de estado siguiente
Yt = F(Xt, Et)
salida actual
Yt = h(Xt, Et)
estado siguiente
Et+1 = f(Xt, Et)
Análisis y diseño de sistemas secuenciales
5
Caracterizació
Caracterización de sistemas secuenciales
Para caracterizar completamente un sistema secuencial
es necesario plantear:
Las tablas y ecuaciones booleanas que definen el siguiente
estado del sistema a partir de las entradas del circuito y el
estado actual del mismo
Las tablas y ecuaciones booleanas que definen las salidas del
sistema a partir de las entradas del circuito y el estado actual
del mismo
Esta información puede visualizarse usando un
diagrama de estados que muestre todos los estados
posibles del sistema y las transiciones entre ellos
Análisis y diseño de sistemas secuenciales
6
3
Modelo de máquinas de estados finitos
Esta forma de caracterizar un sistema secuencial está
basada en un modelo de máquinas de estados finitos
FSM – Finite-State Machine)
(
Teóricamente, el modelo FSM se define como una
quíntupla < S, I, O, f, h>
S conjunto de estados (states)
I conjunto de entradas (inputs)
O conjunto de salidas (outputs)
f función de estado siguiente
h función de salida
Análisis y diseño de sistemas secuenciales
7
Modelo de máquinas de estados finitos
Este modelo FSM supone que el tiempo se divide en
intervalos uniformes y que las transiciones de un estado
a otro solo ocurren al principio de cada intervalo
La función de salida h define los valores de salida
durante el intervalo de tiempo actual de acuerdo con
el estado y las entradas actuales
Y = h(X , E )
t
t
t
La función de estado siguiente f define cuál será el
estado en el siguiente intervalo de tiempo de acuerdo
con el estado y las entradas en el intervalo actual
Et+1 = f(Xt, Et)
Análisis y diseño de sistemas secuenciales
8
4
Tipos de FSM
En realidad, la función de salida puede definirse de
dos maneras distintas, lo que da lugar a dos modelos
FSM distintos
El modelo de Moore describe sistemas secuenciales
cuyas salidas dependen única y exclusivamente del
estado del circuito
Y = h(E )
t
t
Et+1 = f(Xt, Et)
El modelo de Mealy describe sistemas secuenciales
cuyas salidas dependen del estado del circuito y de
las entradas en el intervalo de tiempo actual
Yt = h(Et, Xt)
Et+1 = f(Xt, Et)
Análisis y diseño de sistemas secuenciales
9
Implementación de FSM
De esta manera, cualquier sistema secuencial se puede
modelar utilizando una máquina de estados finitos y, a
partir de ella, realizar su implementación
El estado del sistema secuencial será almacenado en
circuitos biestables que actuarán como elementos de
memorización
Las funciones de estado siguiente f y de salida
implementarán utilizando lógica combinacional
Análisis y diseño de sistemas secuenciales
h
se
10
5
Estructura del tema
Introducción
Modelo de máquinas de estados finitos
Análisis de sistemas secuenciales
Análisis de sistemas de tipo Moore
Análisis de sistemas de tipo Mealy
Ejemplos
Diseño de sistemas secuenciales
Resumen y bibliografía
Generación del diagrama de estados
Minimización del diagrama de estados
Codificación de estados
Elección de los biestables
Implementación y verificación del sistema
Ejemplos
Análisis y diseño de sistemas secuenciales
11
Análisis de sistemas secuenciales
El proceso de análisis de un sistema secuencial consiste
en la generación de una descripción funcional a partir
del diagrama lógico de un determinado circuito
La descripción funcional contendrá varios elementos
Diagrama de estados del circuito
Ecuaciones y tablas que definan el estado siguiente
Ecuaciones y tablas que definan la salida del circuito
Una vez obtenida la descripción funcional, es posible
desarrollar cronogramas que permitan estudiar el
comportamiento del sistema
Análisis y diseño de sistemas secuenciales
12
6
Estructura del tema
Introducción
Modelo de máquinas de estados finitos
Análisis de sistemas secuenciales
Análisis de sistemas de tipo Moore
Análisis de sistemas de tipo Mealy
Ejemplos
Diseño de sistemas secuenciales
Resumen y bibliografía
Generación del diagrama de estados
Minimización del diagrama de estados
Codificación de estados
Elección de los biestables
Implementación y verificación del sistema
Ejemplos
Análisis y diseño de sistemas secuenciales
13
Análisis de sistemas de tipo Moore
Los circuitos secuenciales de tipo Moore son aquellos
en los que las salidas no dependen del valor actual de
las entradas, sino únicamente del estado actual
Este diagrama muestra un
circuito secuencial de tipo
Moore compuesto de dos
biestables D
Análisis y diseño de sistemas secuenciales
14
7
Análisis de sistemas de tipo Moore
El primer paso en el análisis es obtener las ecuaciones
de entrada a cada biestable del circuito
0y
En este caso hay dos biestables cuyas entradas son D
D1, por lo que plantearemos dos ecuaciones en función
de la entrada Cnt y de las salidas de los biestables
Análisis y diseño de sistemas secuenciales
15
Análisis de sistemas de tipo Moore
Estas ecuaciones se denominan ecuaciones de
excitación, ya que determinan el valor de las entradas
de los biestables del circuito
A continuación hay que transformar estas ecuaciones
en las ecuaciones de estado siguiente características de
cada biestable
Dado que el estado siguiente de un biestable D es igual
al valor de la señal D, tenemos que:
Análisis y diseño de sistemas secuenciales
16
8
Análisis de sistemas de tipo Moore
A continuación debemos calcular la ecuación de salida
Dado que estamos hablando de un circuito de tipo
Moore, la salida dependerá sólo del estado actual del
sistema, es decir, de las salidas de los biestables
Análisis y diseño de sistemas secuenciales
17
Análisis de sistemas de tipo Moore
A partir de las ecuaciones de estado siguiente y de
salida generamos una tabla que refleje esta información
Cada fila de la tabla se corresponde con un estado del circuito
Cada columna de la tabla representa un valor de las entradas
Dado que el circuito tiene dos biestables, el número
total de estados posibles es cuatro
Análisis y diseño de sistemas secuenciales
18
9
Análisis de sistemas de tipo Moore
Para facilitar la visualización del funcionamiento del
circuito podemos representar el contenido de esta tabla
usando un diagrama de estados
Cada estado se representa con un círculo que contiene el
valor de los biestables que representa y el valor de las salidas
Las transiciones entre estados se representan como flechas
entre los círculos, etiquetadas con el valor de las entradas que
causa la transición
En general, en un circuito con m biestables y k
m y el
entradas, el número total de estados será 2
m · 2k
número total de transiciones será 2
Análisis y diseño de sistemas secuenciales
19
Análisis de sistemas de tipo Moore
El diagrama de estados puede obtenerse fácilmente a
partir de la tabla de estado siguiente y de salida
Análisis y diseño de sistemas secuenciales
20
10
Análisis de sistemas de tipo Moore
Con este diagrama podemos comprobar que:
Cuando Cnt = 0 el circuito permanece en el estado actual
Mientras Cnt = 1 el circuito va recorriendo todos los estados
siguiendo esta secuencia: 0, 1, 2, 3, 0, 1, 2, 3, 0, …
Por lo tanto, este circuito es un contador módulo 4 con
una entrada de control que habilita la cuenta
Análisis y diseño de sistemas secuenciales
21
Análisis de sistemas de tipo Moore
Con toda esta información podemos generar un
cronograma que permita ver el comportamiento
del circuito bajo determinadas circunstancias
Análisis y diseño de sistemas secuenciales
22
11
Análisis de sistemas de tipo Moore
Este cronograma muestra cuatro ciclos de reloj con la
0 y t4
señal Cnt activa entre los instantes de tiempo t
Suponemos que el estado inicial del contador es 00
Análisis y diseño de sistemas secuenciales
23
Análisis de sistemas de tipo Moore
El contador pasa al estado 01 tras el flanco de subida de
1
la señal de reloj en t
El contador pasa al estado 10 tras el flanco de subida de
2
la señal de reloj en t
Análisis y diseño de sistemas secuenciales
24
12
Análisis de sistemas de tipo Moore
El contador pasa al estado 11 tras el flanco de subida de
3
la señal de reloj en t , activando la salida Y
3
Dado que la señal Cnt se desconecta en t , el contador
5
permanece en el estado 11 tras el flanco de subida de t
Análisis y diseño de sistemas secuenciales
25
Análisis de sistemas de tipo Moore
Para comprobar el comportamiento del circuito sería
necesario construir cronogramas para todas las posibles
secuencias de valores de entrada
Finalmente, estos cronogramas deben ser verificados
utilizando una herramienta de simulación de circuitos
Las herramientas de simulación a nivel físico permiten
describir el circuito lógico utilizando puertas y biestables
Las herramientas de simulación a nivel funcional permiten
describir el circuito en base a tablas o diagramas de estado
En cualquier caso, estas herramientas no permiten verificar
los retardos reales del circuito, ya que no tienen información
sobre su implementación
Análisis y diseño de sistemas secuenciales
26
13
Estructura del tema
Introducción
Modelo de máquinas de estados finitos
Análisis de sistemas secuenciales
Análisis de sistemas de tipo Moore
Análisis de sistemas de tipo Mealy
Ejemplos
Diseño de sistemas secuenciales
Resumen y bibliografía
Generación del diagrama de estados
Minimización del diagrama de estados
Codificación de estados
Elección de los biestables
Implementación y verificación del sistema
Ejemplos
Análisis y diseño de sistemas secuenciales
27
Análisis de sistemas tipo Mealy
Los circuitos secuenciales de tipo Mealy son aquellos
en los que las salidas dependen del valor actual de las
entradas y del estado actual
Este diagrama muestra un circuito secuencial de tipo
Mealy compuesto de dos biestables D
Análisis y diseño de sistemas secuenciales
28
14
Análisis de sistemas de tipo Mealy
El primer paso en el análisis es obtener las ecuaciones
de excitación que definen la entrada de cada biestable
0y
En este caso hay dos biestables cuyas entradas son D
D1, por lo que plantearemos dos ecuaciones en función
de la entrada Cnt y de las salidas de los biestables
Análisis y diseño de sistemas secuenciales
29
Análisis de sistemas de tipo Mealy
A continuación hay que transformar estas ecuaciones
en las ecuaciones de estado siguiente características de
cada biestable
Dado que el estado siguiente de un biestable D es igual
al valor de la señal D, tenemos que:
Análisis y diseño de sistemas secuenciales
30
15
Análisis de sistemas de tipo Mealy
A continuación calculamos la ecuación de salida
En un circuito de tipo Mealy la salida depende tanto
del estado actual del sistema como de los valores
actuales de las entradas del mismo
Análisis y diseño de sistemas secuenciales
31
Análisis de sistemas de tipo Mealy
A partir de estas ecuaciones generamos la tabla de
estado siguiente y de salida
La principal diferencia de esta tabla con la de un
circuito de tipo Moore es que los valores de salida
también dependen de los valores de entrada
Análisis y diseño de sistemas secuenciales
32
16
Análisis de sistemas de tipo Mealy
El diagrama de estados puede obtenerse a partir de
esta tabla, pero teniendo en cuenta que las salidas no
se asocian con los estados sino con las transiciones
Análisis y diseño de sistemas secuenciales
33
Análisis de sistemas de tipo Mealy
Un arco con la etiqueta X/Y se interpreta así:
Mientras el circuito permanezca en el estado del que sale
el arco y el valor de las entradas sea igual a X, la salida del
circuito será igual a Y
Si el valor de las entradas en el flanco de reloj es igual a X,
el circuito cambiará en el siguiente ciclo al estado apuntado
por el arco
Análisis y diseño de sistemas secuenciales
34
17
Análisis de sistemas de tipo Mealy
A partir del diagrama de estados podemos comprobar
que el circuito es un contador módulo 4 con una entrada
de control que habilita la cuenta
Cuando Cnt = 0 el circuito permanece en el estado actual
Mientras Cnt = 1 el circuito va recorriendo todos los estados
siguiendo esta secuencia: 0, 1, 2, 3, 0, 1, 2, 3, 0, …
Análisis y diseño de sistemas secuenciales
35
Análisis de sistemas de tipo Mealy
Con toda esta información podemos generar un
cronograma que permita ver el comportamiento
del circuito bajo determinadas circunstancias
Análisis y diseño de sistemas secuenciales
36
18
Análisis de sistemas de tipo Mealy
Este cronograma muestra cuatro ciclos de reloj con la
señal Cnt activa entre los instantes de tiempo t0 y t4
Suponemos que el estado inicial del contador es 00
Análisis y diseño de sistemas secuenciales
37
Análisis de sistemas de tipo Mealy
El contador pasa al estado 01 tras el flanco de subida de
la señal de reloj en t1
El contador pasa al estado 10 tras el flanco de subida de
la señal de reloj en t2
Análisis y diseño de sistemas secuenciales
38
19
Análisis de sistemas de tipo Mealy
El contador pasa al estado 11 tras el flanco de subida de
la señal de reloj en t3, activando la salida Y
Dado que la señal Cnt se desconecta en t3, el contador
permanece en el estado 11 tras el flanco de subida de t5
Análisis y diseño de sistemas secuenciales
39
Análisis de sistemas de tipo Mealy
La principal diferencia con respecto al contador
equivalente de tipo Moore es que la salida Y no
permanece a 1 cuando se desactiva Cnt, sino que
también pasa a 0
Análisis y diseño de sistemas secuenciales
40
20
Estructura del tema
Introducción
Modelo de máquinas de estados finitos
Análisis de sistemas secuenciales
Análisis de sistemas de tipo Moore
Análisis de sistemas de tipo Mealy
Ejemplos
Diseño de sistemas secuenciales
Resumen y bibliografía
Generación del diagrama de estados
Minimización del diagrama de estados
Codificación de estados
Elección de los biestables
Implementación y verificación del sistema
Ejemplos
Análisis y diseño de sistemas secuenciales
41
Procedimiento de análisis
En general, el procedimiento
de análisis de lógica secuencial
sigue los pasos que pueden
verse en este diagrama
A continuación vamos a
ver unos ejemplos que nos
permitirán clarificar todos
estos conceptos
Análisis y diseño de sistemas secuenciales
42
21
Ejemplo de análisis 1
Vamos a realizar el análisis de este circuito
En primer lugar podemos determinar que se trata de
un circuito de tipo Moore, ya que las salidas dependen
únicamente del estado del circuito y no de las entradas
Análisis y diseño de sistemas secuenciales
43
Ejemplo de análisis 1
El circuito tiene 3 biestables, es decir, 8 estados posibles
El circuito tiene una única señal de entrada X
El circuito tiene tres señales de salida Y0, Y1, e Y2
Análisis y diseño de sistemas secuenciales
44
22
Ejemplo de análisis 1
A partir del circuito podemos obtener las ecuaciones
correspondientes a las entradas de los biestables
Análisis y diseño de sistemas secuenciales
45
Ejemplo de análisis 1
Conociendo el funcionamiento de un biestable JK es
posible, partiendo de las ecuaciones de las entradas,
generar la tabla de excitación y de estado siguiente
Análisis y diseño de sistemas secuenciales
46
23
Ejemplo de análisis 1
A partir del circuito también podemos obtener las
ecuaciones correspondientes a las señales de salida
Análisis y diseño de sistemas secuenciales
47
Ejemplo de análisis 1
Dadas las ecuaciones de salida, es sencillo obtener la
tabla de salida
Análisis y diseño de sistemas secuenciales
48
24
Ejemplo de análisis 1
Con las tablas anteriores podemos obtener el diagrama
de estados que describe el funcionamiento del circuito
Análisis y diseño de sistemas secuenciales
49
Ejemplo de análisis 1
El circuito es un contador módulo 8
Cuando X = 1 sigue la secuencia 0,1,2,3,4,5,6,7,0,1,2,3,…
Cuando X = 0 el circuito cuenta en orden inverso
Análisis y diseño de sistemas secuenciales
50
25
Estructura del tema
Introducción
Modelo de máquinas de estados finitos
Análisis de sistemas secuenciales
Análisis de sistemas de tipo Moore
Análisis de sistemas de tipo Mealy
Ejemplos
Diseño de sistemas secuenciales
Resumen y bibliografía
Generación del diagrama de estados
Minimización del diagrama de estados
Codificación de estados
Elección de los biestables
Implementación y verificación del sistema
Ejemplos
Análisis y diseño de sistemas secuenciales
51
Ejemplo de análisis 2
A continuación analizaremos el siguiente circuito
Podemos determinar que se trata de un circuito de tipo
Mealy porque las salidas dependen tanto del estado del
circuito como de las entradas del mismo
Análisis y diseño de sistemas secuenciales
52
26
Ejemplo de análisis 2
El circuito tiene 2 biestables, es decir, 4 estados posibles
El circuito tiene una única señal de entrada X
El circuito tiene una única señal de salida Y
Análisis y diseño de sistemas secuenciales
53
Ejemplo de análisis 2
A partir del circuito podemos obtener las ecuaciones
correspondientes a las entradas de los biestables
Análisis y diseño de sistemas secuenciales
54
27
Ejemplo de análisis 2
Conociendo el funcionamiento de los biestables JK y D
es posible, partiendo de las ecuaciones de las entradas,
generar la tabla de excitación y de estado siguiente
Análisis y diseño de sistemas secuenciales
55
Ejemplo de análisis 2
Partiendo del circuito también podemos obtener la
ecuación correspondiente a la señal de salida
Análisis y diseño de sistemas secuenciales
56
28
Ejemplo de análisis 2
A partir de la ecuación de salida podemos generar la
tabla de salida
Análisis y diseño de sistemas secuenciales
57
Ejemplo de análisis 2
Con las tablas anteriores podemos obtener el diagrama
de estados del circuito que describe su funcionamiento
Análisis y diseño de sistemas secuenciales
58
29
Ejemplo de análisis 2
El circuito es un contador módulo 4
La entrada X es una señal de reset síncrono
La salida Y es una indicación de vuelta a cero
Análisis y diseño de sistemas secuenciales
59
Estructura del tema
Introducción
Modelo de máquinas de estados finitos
Análisis de sistemas secuenciales
Análisis de sistemas de tipo Moore
Análisis de sistemas de tipo Mealy
Ejemplos
Diseño de sistemas secuenciales
Resumen y bibliografía
Generación del diagrama de estados
Minimización del diagrama de estados
Codificación de estados
Elección de los biestables
Implementación y verificación del sistema
Ejemplos
Análisis y diseño de sistemas secuenciales
60
30
Diseño de sistemas secuenciales
El objetivo del proceso de diseño es generar la
implementación de un sistema secuencial a partir
de una descripción funcional
El primer paso de este proceso es tomar la descripción
del sistema y convertirla en un diagrama de estados con
las correspondientes tablas de estado siguiente y salida
Una vez obtenido el diagrama de estados hay que
reducir lo más posible el número de estados para
minimizar el número de biestables necesarios
Análisis y diseño de sistemas secuenciales
61
Diseño de sistemas secuenciales
Con el diagrama de estados minimizado debe realizarse
la codificación de estados, es decir, asignar los códigos
binarios que representarán cada estado en los biestables
Tras la codificación es posible generar las ecuaciones
de estado siguiente y de salida
El siguiente paso es determinar el tipo de biestables
más adecuado para la implementación del circuito, ya
que cada biestable necesitará una cantidad de lógica
diferente para representar una determinada función
Análisis y diseño de sistemas secuenciales
62
31
Diseño de sistemas secuenciales
Una vez elegido el tipo de biestable se pueden obtener
las ecuaciones de excitación para las entradas de cada
uno de los biestables
Estas ecuaciones permiten diseñar y optimizar la lógica
necesaria para completar el circuito
El diseño del circuito proporciona la base para la
generación de un cronograma que pueda verificarse
por simulación para comprobar si el comportamiento
del sistema es el que se deseaba obtener
Análisis y diseño de sistemas secuenciales
63
Diseño de sistemas secuenciales
Este diagrama muestra un resumen
de todos los pasos necesarios para
completar el diseño de un sistema
secuencial a partir de una descripción
funcional del mismo
Análisis y diseño de sistemas secuenciales
64
32
Estructura del tema
Introducción
Modelo de máquinas de estados finitos
Análisis de sistemas secuenciales
Análisis de sistemas de tipo Moore
Análisis de sistemas de tipo Mealy
Ejemplos
Diseño de sistemas secuenciales
Resumen y bibliografía
Generación del diagrama de estados
Minimización del diagrama de estados
Codificación de estados
Elección de los biestables
Implementación y verificación del sistema
Ejemplos
Análisis y diseño de sistemas secuenciales
65
Generación de un diagrama de estados
El diseño de un sistema secuencial se inicia con la
generación de un diagrama de estados a partir de
una descripción funcional de su comportamiento
Esta descripción puede estar en lenguaje natural
e incluir cronogramas, aunque es preferible usar
métodos más precisos para evitar ambigüedades
Diagramas de flujo o diagramas ASM
Lenguajes de descripción de hardware (VHDL,…)
Con el diagrama de estados se pueden generar las tablas
de estado siguiente y salida para facilitar el diseño
Análisis y diseño de sistemas secuenciales
66
33
Ejemplo de sistema secuencial
Como ejemplo vamos a generar el diagrama de estados
de un contador ascendente/descendente módulo 3
El circuito tendrá dos entradas
C – habilitación de cuenta: cuando C=1 el circuito contará y
cuando C=0 el circuito permanecerá parado
D – dirección de cuenta: cuando D=0 el circuito contará
ascendentemente y cuando D=1 contará descendentemente
El circuito tendrá una salida Y que se activará cuando
regrese al valor 0 en sentido ascendente o al valor 2 en
sentido descendente
Análisis y diseño de sistemas secuenciales
67
Generación del diagrama de estados
Este contador debe memorizar los códigos de tres
dígitos: 0, 1, y 2
Además, siempre que la entrada C esté activa, debe
permitir dos secuencias de acuerdo con el valor de la
entrada D: una ascendente y otra descendente
Análisis y diseño de sistemas secuenciales
68
34
Generación del diagrama de estados
El contador puede cambiar de dirección durante la
cuenta si cambia el valor de D mientras C está activa
Ya que no se menciona en la descripción, podemos
suponer que el contador seguirá contando en la nueva
dirección a partir del estado actual
Análisis y diseño de sistemas secuenciales
69
Generación del diagrama de estados
Por último, es necesario tener en cuenta el caso en el
que la señal C está desactivada, lo que implicará que el
contador debe permanecer en el estado actual
Análisis y diseño de sistemas secuenciales
70
35
Tabla de estado siguiente y salida
Ahora que el diagrama de estados está completo
podemos generar la tabla de estado siguiente y salida
Análisis y diseño de sistemas secuenciales
71
Estructura del tema
Introducción
Modelo de máquinas de estados finitos
Análisis de sistemas secuenciales
Análisis de sistemas de tipo Moore
Análisis de sistemas de tipo Mealy
Ejemplos
Diseño de sistemas secuenciales
Resumen y bibliografía
Generación del diagrama de estados
Minimización del diagrama de estados
Codificación de estados
Elección de los biestables
Implementación y verificación del sistema
Ejemplos
Análisis y diseño de sistemas secuenciales
72
36
Minimización del diagrama de estados
Resulta sencillo entender el diagrama de estados
generado para el contador ascendente/descendente
módulo 3, ya que los dos modos de operación se
distinguen claramente
Sin embargo, la claridad no es el objetivo prioritario,
ya que una mayor cantidad de estados implica una
mayor cantidad de biestables y un coste mayor
Desde este punto de vista, es importante considerar
la minimización del diagrama de estados como parte
del proceso de diseño
Análisis y diseño de sistemas secuenciales
73
Minimización del diagrama de estados
El objetivo de la minimización de estados es reducir
el número de estados y, por tanto, el de biestables
necesarios para implementarlos
Menor número de biestables implica menor complejidad
Menor número de biestables también implica menos puertas
para implementar la funciones de entrada y salida
Estas puertas también necesitarán un menor número de
entradas, por lo que serán más rápidas
Hay que tener en cuenta que para reducir realmente el
número de biestables es necesario reducir el número de
estados por debajo de una potencia de dos
Análisis y diseño de sistemas secuenciales
74
37
Equivalencia funcional
Dos máquinas de estados finitos son funcionalmente
equivalentes si producen la misma secuencia de salidas
para todas las posibles secuencias de entrada
Dentro de una máquina de estados también puede darse
el caso de que dos estados sean equivalentes, por lo que
se los puede asociar para reducir el número de estados
Dos estados son equivalentes si y sólo si:
Ambos estados producen la misma salida para cada entrada
Ambos estados tienen estados siguientes equivalentes para
cada entrada
Análisis y diseño de sistemas secuenciales
75
Procedimiento de minimizació
minimización de estados
El procedimiento para la minimización de estados
requiere agrupar todos los estados del sistema en
grupos denominados clases de equivalencia
En primer lugar se comparan las salidas de cada estado para
cada entrada y se agrupan todos los estados que coincidan
En segundo lugar se determina el estado siguiente de cada
estado del grupo para cada entrada, creando subgrupos de
estados cuyos estados siguientes estén en un mismo grupo
Este segundo paso puede hacer que estados que tenían los
estados siguiente en un mismo grupo ya no los tengan, por lo
que sería necesaria una nueva partición
Cada grupo estará representado por un único estado
Análisis y diseño de sistemas secuenciales
76
38
Minimización de estados
El contador ascendente/descendente módulo 3 de
nuestro ejemplo tiene seis estados, como puede
comprobarse en la tabla de estado siguiente y salida
A partir de esta tabla se puede aplicar la minimización
Análisis y diseño de sistemas secuenciales
77
Minimización de estados
Se empieza por el conjunto de todos los estados y se
determinan los valores de salida para cada combinación
de valores de entrada, lo que da lugar a tres grupos
Análisis y diseño de sistemas secuenciales
78
39
Minimización de estados
Para cada valor de las entradas los estados siguientes
de cada estado de un grupo siempre están en el mismo
grupo, por lo que no es necesario seguir particionando
Análisis y diseño de sistemas secuenciales
79
Minimización de estados
Cada grupo representa una clase de estados equivalentes
y, por lo tanto, solo es necesario que la máquina de
estados final tenga un estado perteneciente a cada uno
de los grupos
Análisis y diseño de sistemas secuenciales
80
40
Estructura del tema
Introducción
Modelo de máquinas de estados finitos
Análisis de sistemas secuenciales
Análisis de sistemas de tipo Moore
Análisis de sistemas de tipo Mealy
Ejemplos
Diseño de sistemas secuenciales
Resumen y bibliografía
Generación del diagrama de estados
Minimización del diagrama de estados
Codificación de estados
Elección de los biestables
Implementación y verificación del sistema
Ejemplos
Análisis y diseño de sistemas secuenciales
81
Codificación de estados
Cada biestable es capaz de almacenar un valor binario
por lo que un circuito con
total de
n
2
n biestables puede tener un
estados, cada uno con un código binario
Cada código se asignará a un único estado aunque,
en principio, cualquier código puede asignarse a
cualquiera de los estados
Sin embargo, el coste y el retardo de la lógica de
entrada y salida dependerá de a qué estado concreto
se le asigna cada uno de los códigos
Análisis y diseño de sistemas secuenciales
82
41
Codificación de estados
Por ejemplo, una máquina
de estados finitos con cuatro
estados necesitará dos
biestables, los cuales podrán
codificar los estados de (4!)
formas diferentes
Análisis y diseño de sistemas secuenciales
83
Codificación de estados
La comprobación manual de todas las posibles
codificaciones, así como la estimación de su retardo
y complejidad, sería un proceso tedioso en el que un
error podría suceder con facilidad
Para evitar este problema se usan varias estrategias y
heurísticas de asignación, siendo tres de ellas las más
comúnmente usadas:
Mínimo cambio de bits
Prioridad de adyacencia
Codificación del uno caliente
Análisis y diseño de sistemas secuenciales
84
42
Mínimo cambio de bits
Esta estrategia asigna valores booleanos a los estados
de forma que se minimice el número total de cambios
de bits en todas las transiciones
De esta forma se reducirá la cantidad de puertas lógicas
usadas para implementar el circuito
Para cada cambio de bit, un biestable cuya lógica
asociada está diseñada en dos niveles en forma de
suma de productos necesita:
Una puerta AND adicional
Una entrada más en la puerta OR
Análisis y diseño de sistemas secuenciales
85
Mínimo cambio de bits
A cada arco del diagrama de estados le podemos
asignar un peso igual al número de bits distintos
entre los códigos de los estados origen y destino
De acuerdo con esta estrategia, la codificación óptima
será aquella que minimice la suma de los pesos de todas
las transiciones
Análisis y diseño de sistemas secuenciales
86
43
Prioridad en adyacencia
Esta estrategia consiste en asignar codificaciones
adyacentes (que sólo difieran en un bit) a todos los
estados que tengan un destino, fuente o salida común
Se da mayor prioridad a los estados que tienen el
mismo estado siguiente para un valor dado de entrada
El motivo de esta prioridad es que, si minimizamos
por Karnaugh, aparecerá la misma codificación de
estado siguiente en dos celdas adyacentes, permitiendo
simplificar la lógica asociada a los biestables
Análisis y diseño de sistemas secuenciales
87
Prioridad en adyacencia
Un segundo nivel de prioridad se asigna a los estados
siguientes de un mismo estado
Esta prioridad se basa en el hecho de que, si las entradas
difieren en un bit, estos estados aparecen adyacentes en
el mapa de Karnaugh durante la minimización
Finalmente, el tercer nivel de prioridad se da a los
estados que tienen el mismo valor de salida para los
mismos valores de entrada, facilitando también la
minimización por Karnaugh
Análisis y diseño de sistemas secuenciales
88
44
Prioridad en adyacencia
En este diagrama de cuatro estados podemos ver que:
S1 y S2 tienen un mismo estado siguiente S3 para el valor de
entrada 0 (primera prioridad)
S1 y S2 son estados siguientes de S0 (segunda prioridad)
S0 y S1 tienen el mismo valor de salida 0 para el mismo valor
de entrada 0 (tercera prioridad)
S2 y S3 tienen el mismo valor de salida 1 para el mismo valor
de entrada 0 (tercera prioridad)
Análisis y diseño de sistemas secuenciales
89
Codificación del uno caliente
Esta estrategia utiliza codificación redundante, de
manera que, en lugar de usar
n biestables para 2n
estados, a cada estado se le asigna su propio biestable
En cada momento sólo habrá un biestable con valor 1,
que será aquel que se corresponda con el estado actual,
mientras que todos los demás estarán a 0
De esta forma, el 1 va pasando de biestable en biestable
según el circuito cambia de estado en estado, siguiendo
el algoritmo del juego de la “patata caliente”
Análisis y diseño de sistemas secuenciales
90
45
Codificación del uno caliente
La ventaja de esta estrategia está en el hecho de que la
lógica para implementar las funciones de entrada a los
biestables es muy simple
La principal desventaja radica en el hecho de que es
necesario utilizar una cantidad mayor de biestables de
lo que es habitual
En consecuencia, esta estrategia debe usarse para
implementar sistemas secuenciales con pocos estados,
ya que en otro caso el coste adicional sería excesivo
Análisis y diseño de sistemas secuenciales
91
Elección de una estrategia
En general, la estrategia para codificar estados consiste
en determinar las posibles opciones y, después, estimar
el coste y el retardo de la lógica de entrada y salida para
cada tipo de codificación
A modo de ejemplo aplicaremos las tres estrategias al
contador ascendente/descendente módulo 3
Dado que este circuito tiene tres estados necesitaremos
dos biestables para implementarlo, a excepción de la
estrategia del uno caliente, que necesitará tres
Análisis y diseño de sistemas secuenciales
92
46
Codificación del contador módulo 3
Si se utiliza la estrategia del mínimo cambio de bits
se obtiene una codificación sencilla, que llamaremos
codificación A, omitiendo la combinación 11 y
asignando S0 = 00, S1 = 01 y S2 = 10
Usando la estrategia de prioridad en adyacencia no
hay estados que cumplan las dos primeras reglas de
prioridad, pero la tercera la cumplen S0S1 y S1S2
La codificación A cumple estas condiciones, pero
podríamos plantear una alternativa, que llamaremos
codificación B, que asigna 01 a S0 y 10 a S2 para reducir
el número de entradas de la puerta AND de salida
Análisis y diseño de sistemas secuenciales
93
Codificación del contador módulo 3
Finalmente, la estrategia del uno caliente daría lugar a
una codificación que llamaremos codificación C y que
necesitaría tres biestables
Para elegir una de estas tres codificaciones es necesario
estimar el coste y el retardo de la implementación de la
lógica de entrada y salida
Análisis y diseño de sistemas secuenciales
94
47
Codificación del contador módulo 3
En primer lugar es necesario obtener las ecuaciones de
excitación para cada uno de los biestables, así como la
ecuación de salida
A partir de estas ecuaciones puede estimarse el coste y
el retardo de su implementación usando dos niveles de
puertas NAND
Para simplificar la estimación supondremos que el
complemento de cada variable está disponible sin
retardo respecto al propio valor de la variable
Análisis y diseño de sistemas secuenciales
95
Codificación del contador módulo 3
Aquí podemos ver la estimación del coste y retardo de
la codificación A, usando el método de Karnaugh para
obtener las ecuaciones de estado siguiente y salida
Análisis y diseño de sistemas secuenciales
96
48
Codificación del contador módulo 3
Aquí podemos ver la estimación del coste y retardo de
la codificación B, usando el método de Karnaugh para
obtener las ecuaciones de estado siguiente y salida
Análisis y diseño de sistemas secuenciales
97
Codificación del contador módulo 3
Aquí podemos ver la estimación del coste y retardo de
la codificación C, usando el método de Karnaugh para
obtener las ecuaciones de estado siguiente y salida
Análisis y diseño de sistemas secuenciales
98
49
Codificación del contador módulo 3
La codificación C es la más rápida, pero también es la
más costosa, por lo que la elección de la codificación
adecuada dependerá de las prioridades del diseñador
La codificación A tiene un coste 66, un retardo máximo de
entrada de 4,0ns y un retardo de salida de 3,6ns
La codificación B tiene un coste 64, un retardo máximo de
entrada de 4,0ns y un retardo de salida de 3,2ns
La codificación C tiene un coste 82, un retardo máximo de
entrada de 3,6ns y un retardo de salida de 3,2ns
Usaremos la codificación A para seguir desarrollando
este ejemplo, ya que es la más común y fácil de entender
Análisis y diseño de sistemas secuenciales
99
Estructura del tema
Introducción
Modelo de máquinas de estados finitos
Análisis de sistemas secuenciales
Análisis de sistemas de tipo Moore
Análisis de sistemas de tipo Mealy
Ejemplos
Diseño de sistemas secuenciales
Resumen y bibliografía
Generación del diagrama de estados
Minimización del diagrama de estados
Codificación de estados
Elección de los biestables
Implementación y verificación del sistema
Ejemplos
Análisis y diseño de sistemas secuenciales
100
50
Elección de los biestables
Una vez completado el proceso de minimización
y codificación de estados hay que elegir el tipo de
biestable más apropiado para la implementación
Los biestables T suelen ser una buena elección para
circuitos de tipo contador, donde los biestables deben
cambiar de estado con gran frecuencia
Los biestables D son más apropiados cuando la
información de entrada debe almacenarse durante
algún tiempo para su uso posterior
Análisis y diseño de sistemas secuenciales
101
Elección de los biestables
En situaciones en las que el estado de los biestables
cambia en función de varias señales de entrada pueden
usarse biestables SR o JK, ya que tienen dos entradas
El biestable JK es más complejo que el SR, pero no
tiene ninguna combinación de entrada prohibida
Sin embargo, aunque tienden a reducir el coste de la
lógica asociada por tener dos entradas, los biestables
SR y JK también necesitan el doble de conexiones
Dado que necesitan un menor número de conexiones,
los biestables D y T se adaptan mejor al diseño de
circuitos integrados
Análisis y diseño de sistemas secuenciales
102
51
Elección de biestables para el contador
Para elegir el tipo de biestable que minimice el coste
y el retardo de la lógica de entrada del contador
ascendente/descendente módulo 3 hay que partir de:
La tabla de estados siguientes del contador
La tabla de excitación de los cuatro tipos de biestable
Análisis y diseño de sistemas secuenciales
103
Elección de biestables para el contador
Para cada pareja de estados actual y siguiente se
sustituyen los valores de estado siguiente por los
valores de entrada requeridos en la tabla de excitación
De esta forma se obtendrán los mapas de entrada para
los cuatro tipos de biestable, que contendrán dos
submapas en el caso de los biestables D y T, y cuatro
submapas en el caso de los biestables SR y JK
A partir de estos mapas de entrada se pueden obtener
las expresiones mínimas de la lógica de entrada de cada
uno de los biestables
Análisis y diseño de sistemas secuenciales
104
52
Elección de biestables para el contador
Este es el mapa de entrada correspondiente al uso de
biestables SR, junto con la expresión mínima de las
ecuaciones de entrada
Análisis y diseño de sistemas secuenciales
105
Elección de biestables para el contador
Este es el mapa de entrada correspondiente al uso de
biestables JK, junto con la expresión mínima de las
ecuaciones de entrada
Análisis y diseño de sistemas secuenciales
106
53
Elección de biestables para el contador
Este es el mapa de entrada correspondiente al uso de
biestables D, junto con la expresión mínima de las
ecuaciones de entrada
Análisis y diseño de sistemas secuenciales
107
Elección de biestables para el contador
Este es el mapa de entrada correspondiente al uso de
biestables T, junto con la expresión mínima de las
ecuaciones de entrada
Análisis y diseño de sistemas secuenciales
108
54
Elección de biestables para el contador
La estimación de coste y retardo que acompaña a
cada ecuación no incluye los inversores de entrada
ni el coste y retardo de los biestables
De acuerdo con los resultados obtenidos, el biestable
más apropiado es el JK ya que implica un menor coste
y retardo de la lógica de entrada
En la práctica, no sólo habría que tener en cuenta el
coste y retardo de la lógica de entrada, sino el de todo
el circuito en su conjunto antes de tomar una decisión
Análisis y diseño de sistemas secuenciales
109
Estructura del tema
Introducción
Modelo de máquinas de estados finitos
Análisis de sistemas secuenciales
Análisis de sistemas de tipo Moore
Análisis de sistemas de tipo Mealy
Ejemplos
Diseño de sistemas secuenciales
Resumen y bibliografía
Generación del diagrama de estados
Minimización del diagrama de estados
Codificación de estados
Elección de los biestables
Implementación y verificación del sistema
Ejemplos
Análisis y diseño de sistemas secuenciales
110
55
Implementación del sistema
El paso final en el diseño de un sistema secuencial
consiste en realizar su implementación utilizando
componentes lógicos
Análisis y diseño de sistemas secuenciales
111
Implementación del sistema
Se han utilizado inversores dobles en la entrada para
suministrar más corriente al circuito y, por tanto,
reducir el retardo de las puertas
Análisis y diseño de sistemas secuenciales
112
56
Implementación del sistema
Los retardos de cada puerta determinarán el tiempo de
ciclo mínimo que debe tener la señal de reloj para que
el circuito funcione correctamente
Análisis y diseño de sistemas secuenciales
113
Verificación del sistema
Por último, hay que desarrollar cronogramas que
permitan verificar el comportamiento del sistema al
compararlos con los resultados proporcionados por
una herramienta de simulación
Análisis y diseño de sistemas secuenciales
114
57
Verificación del sistema
La señal C habilita el contador en t0 y, a partir de ahí,
dado que la señal D está desactivada, va realizando la
cuenta módulo 3 en sentido ascendente en cada pulso
de la señal de reloj
Análisis y diseño de sistemas secuenciales
115
Verificación del sistema
Más adelante, en el instante t4, se activa la señal D,
por lo que el contador empieza a realizar la cuenta en
sentido descendente en cada pulso de la señal de reloj
Análisis y diseño de sistemas secuenciales
116
58
Verificación del sistema
Para una completa verificación sería necesario
desarrollar cronogramas para todos los casos
posibles, teniendo también en cuenta el retardo
de los componentes lógicos
Análisis y diseño de sistemas secuenciales
117
Estructura del tema
Introducción
Modelo de máquinas de estados finitos
Análisis de sistemas secuenciales
Análisis de sistemas de tipo Moore
Análisis de sistemas de tipo Mealy
Ejemplos
Diseño de sistemas secuenciales
Resumen y bibliografía
Generación del diagrama de estados
Minimización del diagrama de estados
Codificación de estados
Elección de los biestables
Implementación y verificación del sistema
Ejemplos
Análisis y diseño de sistemas secuenciales
118
59
Ejemplo de diseño 1
Vamos a realizar el diseño del circuito secuencial
correspondiente a este diagrama de estados
Las salidas dependen sólo del estado actual (están
indicadas en el estado) así que obtendremos un circuito
de tipo Moore
Análisis y diseño de sistemas secuenciales
119
Ejemplo de diseño 1
A partir del diagrama de estados
puede generarse fácilmente la
tabla de estado siguiente
Análisis y diseño de sistemas secuenciales
120
60
Ejemplo de diseño 1
Dado que los estados del diagrama dado ya están
codificados, no tenemos necesidad de asignar ninguna
codificación a los estados
El diagrama contiene cuatro estados, por lo que
tendremos que utilizar dos biestables
Para simplificar el ejemplo supondremos que el
primer biestable es de tipo JK y el segundo biestable
es de tipo D
Análisis y diseño de sistemas secuenciales
121
Ejemplo de diseño 1
A partir de la tabla de
estado siguiente, y
conociendo el tipo de
biestable, podemos
generar la tabla de
excitación
Análisis y diseño de sistemas secuenciales
122
61
Ejemplo de diseño 1
La lógica de entrada a
los biestables puede
obtenerse simplificando
las funciones
correspondientes
Análisis y diseño de sistemas secuenciales
123
Ejemplo de diseño 1
La lógica de entrada a
los biestables puede
obtenerse simplificando
las funciones
correspondientes
Análisis y diseño de sistemas secuenciales
124
62
Ejemplo de diseño 1
La lógica de entrada a
los biestables puede
obtenerse simplificando
las funciones
correspondientes
Análisis y diseño de sistemas secuenciales
125
Ejemplo de diseño 1
A partir del diagrama de estados también puede
generarse la tabla de salida, teniendo en cuenta que
estamos hablando de un circuito de tipo Moore
Análisis y diseño de sistemas secuenciales
126
63
Ejemplo de diseño 1
La lógica de salida del circuito puede obtenerse
simplificando las funciones correspondientes
Análisis y diseño de sistemas secuenciales
127
Ejemplo de diseño 1
Ahora que tenemos las ecuaciones podemos completar
el proceso de diseño dibujando el diagrama del circuito
Análisis y diseño de sistemas secuenciales
128
64
Estructura del tema
Introducción
Modelo de máquinas de estados finitos
Análisis de sistemas secuenciales
Análisis de sistemas de tipo Moore
Análisis de sistemas de tipo Mealy
Ejemplos
Diseño de sistemas secuenciales
Resumen y bibliografía
Generación del diagrama de estados
Minimización del diagrama de estados
Codificación de estados
Elección de los biestables
Implementación y verificación del sistema
Ejemplos
Análisis y diseño de sistemas secuenciales
129
Ejemplo de diseño 2
Vamos a diseñar un circuito que monitorice una
determinada línea de entrada y que active una señal
de salida cuando detecte que la entrada ha seguido
la secuencia 0110 durante los últimos cuatro ciclos
El circuito diseñado será de tipo Mealy, por lo que
las salidas dependerán tanto del estado actual como
del valor de la entrada
A partir de esta descripción en lenguaje natural
debemos desarrollar el diagrama de estados que
describa el circuito de forma funcional
Análisis y diseño de sistemas secuenciales
130
65
Ejemplo de diseño 2
Dado un estado inicial, debemos permanecer en él hasta
que aparezca un cero
A partir del primer cero debemos avanzar de estado
mientras nos sigan llegando bits de la secuencia 0110
Análisis y diseño de sistemas secuenciales
131
Ejemplo de diseño 2
En el caso de que aparezca un número que no
pertenezca a la secuencia correcta tendremos que
regresar a un estado anterior
Si llega un 0 fuera de secuencia lo consideramos como el
primer 0 de la siguiente secuencia y vamos al segundo estado
Si llega un 1 fuera de secuencia regresamos al estado inicial a
esperar que llegue un 0
Análisis y diseño de sistemas secuenciales
132
66
Ejemplo de diseño 2
Por último regresaremos al estado inicial
Si regresamos porque se completó la secuencia correcta con
un 0 activaremos la señal de salida
Si regresamos porque apareció un 1 fuera de secuencia
mantendremos la señal de salida desactivada
Análisis y diseño de sistemas secuenciales
133
Ejemplo de diseño 2
A continuación debemos asignar códigos a los cuatro
estados del diagrama
Para no entrar en demasiado detalle, asignaremos los
códigos de forma arbitraria
En total necesitaremos dos biestables, que también
elegiremos de forma arbitraria: un JK y un D
Análisis y diseño de sistemas secuenciales
134
67
Ejemplo de diseño 2
A partir del diagrama de estados podemos generar la
tabla de estado siguiente
Análisis y diseño de sistemas secuenciales
135
Ejemplo de diseño 2
Con la tabla de estado siguiente, y conociendo cuáles
son los tipos de biestable utilizados, podemos generar
la tabla de excitación y obtener las ecuaciones
Análisis y diseño de sistemas secuenciales
136
68
Ejemplo de diseño 2
A partir del diagrama de estados también puede
generarse la tabla de salida y la ecuación
correspondiente, siempre teniendo en cuenta que
estamos hablando de un circuito de tipo Mealy
Análisis y diseño de sistemas secuenciales
137
Ejemplo de diseño 2
Ahora que tenemos las ecuaciones podemos completar
el proceso de diseño dibujando el diagrama del circuito
Análisis y diseño de sistemas secuenciales
138
69
Estructura del tema
Introducción
Modelo de máquinas de estados finitos
Análisis de sistemas secuenciales
Análisis de sistemas de tipo Moore
Análisis de sistemas de tipo Mealy
Ejemplos
Generación del diagrama de estados
Minimización del diagrama de estados
Codificación de estados
Elección de los biestables
Implementación y verificación del sistema
Ejemplos
Diseño de sistemas secuenciales
Resumen y bibliografía
Análisis y diseño de sistemas secuenciales
139
Ejemplo de diseño 3
Como último ejemplo diseñaremos un circuito que
implemente el funcionamiento descrito por este
diagrama de estados usando biestables tipo T
La parte combinacional del sistema la vamos a
implementar usando únicamente puertas NAND
Análisis y diseño de sistemas secuenciales
140
70
Ejemplo de diseño 3
A partir del diagrama de estados podemos deducir la
tabla de estado siguiente
Análisis y diseño de sistemas secuenciales
141
Ejemplo de diseño 3
Conociendo el comportamiento de los biestables T
podemos extender la tabla de estado siguiente y formar
la tabla de excitación
Análisis y diseño de sistemas secuenciales
142
71
Ejemplo de diseño 3
La tabla de excitación nos permite obtener las
ecuaciones de excitación de los biestables
Análisis y diseño de sistemas secuenciales
143
Ejemplo de diseño 3
La tabla de excitación nos permite obtener las
ecuaciones de excitación de los biestables
Análisis y diseño de sistemas secuenciales
144
72
Ejemplo de diseño 3
A partir del diagrama de estados también podemos
deducir la tabla y las ecuaciones de salida, teniendo
en cuenta que se trata de un sistema de tipo Moore
Análisis y diseño de sistemas secuenciales
145
Ejemplo de diseño 3
Todo lo que nos queda por hacer es transformar las
ecuaciones usando las leyes de DeMorgan para que
puedan ser implementadas con puertas NAND
Análisis y diseño de sistemas secuenciales
146
73
Ejemplo de diseño 3
Una alternativa para la implementación de este tipo de
sistemas sería utilizar decodificadores o multiplexores
para implementar la parte combinacional del circuito
En este ejemplo utilizaremos un decodificador con dos
entradas de control para generar T0 y un multiplexor
con dos entradas de control para generar T1
A parte del decodificador y el multiplexor hará falta
lógica adicional que implementaremos con el menor
número posible de puertas AND, OR y NOT
Análisis y diseño de sistemas secuenciales
147
Ejemplo de diseño 3
Esta implementación del circuito puede deducirse a
partir de la tabla de excitación, ya que la tabla de
salida es trivial
Análisis y diseño de sistemas secuenciales
148
74
Estructura del tema
Introducción
Modelo de máquinas de estados finitos
Análisis de sistemas secuenciales
Análisis de sistemas de tipo Moore
Análisis de sistemas de tipo Mealy
Ejemplos
Generación del diagrama de estados
Minimización del diagrama de estados
Codificación de estados
Elección de los biestables
Implementación y verificación del sistema
Ejemplos
Diseño de sistemas secuenciales
Resumen y bibliografía
Análisis y diseño de sistemas secuenciales
149
Resumen
Los circuitos secuenciales implementados usando
biestables son vitales para el diseño de sistemas
digitales complejos
Dado un circuito secuencial, no es sencillo comprender
su objetivo, por lo que resulta necesario un detallado
proceso de análisis para estudiarlo
De la misma forma, dada la descripción funcional de
un objetivo, el diseño de un sistema secuencial que lo
implemente debe seguir un conjunto determinado de
pasos para llegar a un resultado óptimo
Análisis y diseño de sistemas secuenciales
150
75
Bibliografía
Principios de Diseño Digital
Capítulo 6
Daniel D. Gajski
Prentice Hall, 1997
Análisis y diseño de sistemas secuenciales
151
76
Descargar