Вы находитесь на странице: 1из 76

16.

Anlisis y diseo de
sistemas secuenciales
Oliverio J. Santana Jaria
Sistemas Digitales
Ingeniera Tcnica en Informtica de Sistemas
Curso 2006 2007

Introduccin

 No resulta fcil deducir el funcionamiento de un circuito

secuencial a partir de un diagrama de puertas lgicas


 De la misma manera, dada la descripcin funcional de
un circuito secuencial, no es trivial obtener el diagrama
que represente la implementacin del mismo
 Los objetivos de este tema son:


Describir el proceso de anlisis que permite comprender


el funcionamiento de un circuito secuencial partiendo de
su implementacin
Describir el proceso de sntesis que permite implementar
un circuito secuencial a partir de una descripcin funcional

Anlisis y diseo de sistemas secuenciales

Estructura del tema

 Introduccin
 Modelo de mquinas de estados finitos
 Anlisis de sistemas secuenciales




Anlisis de sistemas de tipo Moore


Anlisis de sistemas de tipo Mealy
Ejemplos

Diseo de sistemas secuenciales

Resumen y bibliografa








Generacin del diagrama de estados


Minimizacin del diagrama de estados
Codificacin de estados
Eleccin de los biestables
Implementacin y verificacin del sistema
Ejemplos

Anlisis y diseo de sistemas secuenciales

Estado de un sistema secuencial

Los sistemas secuenciales se caracterizan por el hecho


de que sus salidas dependen no slo 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 memorizacin
x0
x1
xm

conjunto
de puertas
lgicas

{x0, x1, xm} Xt

y0
y1
yn

memoria
Anlisis y diseo de sistemas secuenciales

{y0, y1, yn} Yt


Yt = F(Xt, Xt-1, Xt-2 , )
4

Estado de un sistema secuencial

De acuerdo con esta definicin, 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 ecuacin


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)

Anlisis y diseo de sistemas secuenciales

Caracterizaci
Caracterizacin 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 informacin puede visualizarse usando un


diagrama de estados que muestre todos los estados
posibles del sistema y las transiciones entre ellos

Anlisis y diseo de sistemas secuenciales

Modelo de mquinas de estados finitos

Esta forma de caracterizar un sistema secuencial est


basada en un modelo de mquinas de estados finitos

FSM Finite-State Machine)

 Tericamente, el modelo FSM se define como una

quntupla < S, I, O, f, h>

 S  conjunto de estados (states)


 I  conjunto de entradas (inputs)
 O  conjunto de salidas (outputs)
 f  funcin de estado siguiente
 h  funcin de salida
Anlisis y diseo de sistemas secuenciales

Modelo de mquinas 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 funcin 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

 La funcin de estado siguiente f define cul 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)

Anlisis y diseo de sistemas secuenciales

Tipos de FSM

 En realidad, la funcin 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

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)
Anlisis y diseo de sistemas secuenciales

Implementacin de FSM

 De esta manera, cualquier sistema secuencial se puede

modelar utilizando una mquina de estados finitos y, a


partir de ella, realizar su implementacin

 El estado del sistema secuencial ser almacenado en

circuitos biestables que actuarn como elementos de


memorizacin

 Las funciones de estado siguiente f y de salida

implementarn utilizando lgica combinacional

Anlisis y diseo de sistemas secuenciales

se

10

Estructura del tema

 Introduccin
 Modelo de mquinas de estados finitos
 Anlisis de sistemas secuenciales




Anlisis de sistemas de tipo Moore


Anlisis de sistemas de tipo Mealy
Ejemplos

Diseo de sistemas secuenciales

Resumen y bibliografa








Generacin del diagrama de estados


Minimizacin del diagrama de estados
Codificacin de estados
Eleccin de los biestables
Implementacin y verificacin del sistema
Ejemplos

Anlisis y diseo de sistemas secuenciales

11

Anlisis de sistemas secuenciales

El proceso de anlisis de un sistema secuencial consiste


en la generacin de una descripcin funcional a partir
del diagrama lgico de un determinado circuito

La descripcin 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 descripcin funcional, es posible


desarrollar cronogramas que permitan estudiar el
comportamiento del sistema

Anlisis y diseo de sistemas secuenciales

12

Estructura del tema





Introduccin
Modelo de mquinas de estados finitos
Anlisis de sistemas secuenciales





Anlisis de sistemas de tipo Moore


Anlisis de sistemas de tipo Mealy
Ejemplos

Diseo de sistemas secuenciales

Resumen y bibliografa








Generacin del diagrama de estados


Minimizacin del diagrama de estados
Codificacin de estados
Eleccin de los biestables
Implementacin y verificacin del sistema
Ejemplos

Anlisis y diseo de sistemas secuenciales

13

Anlisis 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

Anlisis y diseo de sistemas secuenciales

14

Anlisis de sistemas de tipo Moore




El primer paso en el anlisis 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 funcin


de la entrada Cnt y de las salidas de los biestables

Anlisis y diseo de sistemas secuenciales

15

Anlisis de sistemas de tipo Moore

Estas ecuaciones se denominan ecuaciones de


excitacin, ya que determinan el valor de las entradas
de los biestables del circuito

A continuacin hay que transformar estas ecuaciones


en las ecuaciones de estado siguiente caractersticas de

cada biestable
Dado que el estado siguiente de un biestable D es igual
al valor de la seal D, tenemos que:

Anlisis y diseo de sistemas secuenciales

16

Anlisis de sistemas de tipo Moore




A continuacin debemos calcular la ecuacin de salida


Dado que estamos hablando de un circuito de tipo
Moore, la salida depender slo del estado actual del
sistema, es decir, de las salidas de los biestables

Anlisis y diseo de sistemas secuenciales

17

Anlisis de sistemas de tipo Moore

A partir de las ecuaciones de estado siguiente y de


salida generamos una tabla que refleje esta informacin

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 nmero


total de estados posibles es cuatro

Anlisis y diseo de sistemas secuenciales

18

Anlisis de sistemas de tipo Moore

Para facilitar la visualizacin del funcionamiento del


circuito podemos representar el contenido de esta tabla
usando un diagrama de estados




Cada estado se representa con un crculo 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 crculos, etiquetadas con el valor de las entradas que
causa la transicin

En general, en un circuito con m biestables y k

m y el

entradas, el nmero total de estados ser 2

m 2k

nmero total de transiciones ser 2

Anlisis y diseo de sistemas secuenciales

19

Anlisis de sistemas de tipo Moore

El diagrama de estados puede obtenerse fcilmente a


partir de la tabla de estado siguiente y de salida

Anlisis y diseo de sistemas secuenciales

20

10

Anlisis 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 mdulo 4 con


una entrada de control que habilita la cuenta

Anlisis y diseo de sistemas secuenciales

21

Anlisis de sistemas de tipo Moore

Con toda esta informacin podemos generar un


cronograma que permita ver el comportamiento
del circuito bajo determinadas circunstancias

Anlisis y diseo de sistemas secuenciales

22

11

Anlisis de sistemas de tipo Moore




Este cronograma muestra cuatro ciclos de reloj con la

0 y t4

seal Cnt activa entre los instantes de tiempo t

Suponemos que el estado inicial del contador es 00

Anlisis y diseo de sistemas secuenciales

23

Anlisis de sistemas de tipo Moore




El contador pasa al estado 01 tras el flanco de subida de

la seal de reloj en t

El contador pasa al estado 10 tras el flanco de subida de

la seal de reloj en t

Anlisis y diseo de sistemas secuenciales

24

12

Anlisis de sistemas de tipo Moore




El contador pasa al estado 11 tras el flanco de subida de

la seal de reloj en t , activando la salida Y

Dado que la seal Cnt se desconecta en t , el contador

permanece en el estado 11 tras el flanco de subida de t

Anlisis y diseo de sistemas secuenciales

25

Anlisis de sistemas de tipo Moore

Para comprobar el comportamiento del circuito sera


necesario construir cronogramas para todas las posibles
secuencias de valores de entrada

Finalmente, estos cronogramas deben ser verificados


utilizando una herramienta de simulacin de circuitos





Las herramientas de simulacin a nivel fsico permiten


describir el circuito lgico utilizando puertas y biestables
Las herramientas de simulacin 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 informacin
sobre su implementacin

Anlisis y diseo de sistemas secuenciales

26

13

Estructura del tema





Introduccin
Modelo de mquinas de estados finitos
Anlisis de sistemas secuenciales





Anlisis de sistemas de tipo Moore


Anlisis de sistemas de tipo Mealy
Ejemplos

Diseo de sistemas secuenciales

Resumen y bibliografa








Generacin del diagrama de estados


Minimizacin del diagrama de estados
Codificacin de estados
Eleccin de los biestables
Implementacin y verificacin del sistema
Ejemplos

Anlisis y diseo de sistemas secuenciales

27

Anlisis 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

Anlisis y diseo de sistemas secuenciales

28

14

Anlisis de sistemas de tipo Mealy




El primer paso en el anlisis es obtener las ecuaciones


de excitacin 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 funcin


de la entrada Cnt y de las salidas de los biestables

Anlisis y diseo de sistemas secuenciales

29

Anlisis de sistemas de tipo Mealy

A continuacin hay que transformar estas ecuaciones


en las ecuaciones de estado siguiente caractersticas de

cada biestable
Dado que el estado siguiente de un biestable D es igual
al valor de la seal D, tenemos que:

Anlisis y diseo de sistemas secuenciales

30

15

Anlisis de sistemas de tipo Mealy




A continuacin calculamos la ecuacin 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

Anlisis y diseo de sistemas secuenciales

31

Anlisis 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
tambin dependen de los valores de entrada

Anlisis y diseo de sistemas secuenciales

32

16

Anlisis 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

Anlisis y diseo de sistemas secuenciales

33

Anlisis 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

Anlisis y diseo de sistemas secuenciales

34

17

Anlisis de sistemas de tipo Mealy

A partir del diagrama de estados podemos comprobar


que el circuito es un contador mdulo 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,

Anlisis y diseo de sistemas secuenciales

35

Anlisis de sistemas de tipo Mealy

Con toda esta informacin podemos generar un


cronograma que permita ver el comportamiento
del circuito bajo determinadas circunstancias

Anlisis y diseo de sistemas secuenciales

36

18

Anlisis de sistemas de tipo Mealy




Este cronograma muestra cuatro ciclos de reloj con la


seal Cnt activa entre los instantes de tiempo t0 y t4
Suponemos que el estado inicial del contador es 00

Anlisis y diseo de sistemas secuenciales

37

Anlisis de sistemas de tipo Mealy




El contador pasa al estado 01 tras el flanco de subida de


la seal de reloj en t1
El contador pasa al estado 10 tras el flanco de subida de
la seal de reloj en t2

Anlisis y diseo de sistemas secuenciales

38

19

Anlisis de sistemas de tipo Mealy




El contador pasa al estado 11 tras el flanco de subida de


la seal de reloj en t3, activando la salida Y
Dado que la seal Cnt se desconecta en t3, el contador
permanece en el estado 11 tras el flanco de subida de t5

Anlisis y diseo de sistemas secuenciales

39

Anlisis 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
tambin pasa a 0

Anlisis y diseo de sistemas secuenciales

40

20

Estructura del tema





Introduccin
Modelo de mquinas de estados finitos
Anlisis de sistemas secuenciales





Anlisis de sistemas de tipo Moore


Anlisis de sistemas de tipo Mealy
Ejemplos

Diseo de sistemas secuenciales

Resumen y bibliografa








Generacin del diagrama de estados


Minimizacin del diagrama de estados
Codificacin de estados
Eleccin de los biestables
Implementacin y verificacin del sistema
Ejemplos

Anlisis y diseo de sistemas secuenciales

41

Procedimiento de anlisis

En general, el procedimiento
de anlisis de lgica secuencial
sigue los pasos que pueden
verse en este diagrama

A continuacin vamos a
ver unos ejemplos que nos
permitirn clarificar todos
estos conceptos

Anlisis y diseo de sistemas secuenciales

42

21

Ejemplo de anlisis 1




Vamos a realizar el anlisis 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

Anlisis y diseo de sistemas secuenciales

43

Ejemplo de anlisis 1





El circuito tiene 3 biestables, es decir, 8 estados posibles


El circuito tiene una nica seal de entrada X
El circuito tiene tres seales de salida Y0, Y1, e Y2

Anlisis y diseo de sistemas secuenciales

44

22

Ejemplo de anlisis 1

A partir del circuito podemos obtener las ecuaciones


correspondientes a las entradas de los biestables

Anlisis y diseo de sistemas secuenciales

45

Ejemplo de anlisis 1

Conociendo el funcionamiento de un biestable JK es


posible, partiendo de las ecuaciones de las entradas,
generar la tabla de excitacin y de estado siguiente

Anlisis y diseo de sistemas secuenciales

46

23

Ejemplo de anlisis 1

A partir del circuito tambin podemos obtener las


ecuaciones correspondientes a las seales de salida

Anlisis y diseo de sistemas secuenciales

47

Ejemplo de anlisis 1

Dadas las ecuaciones de salida, es sencillo obtener la


tabla de salida

Anlisis y diseo de sistemas secuenciales

48

24

Ejemplo de anlisis 1

Con las tablas anteriores podemos obtener el diagrama


de estados que describe el funcionamiento del circuito

Anlisis y diseo de sistemas secuenciales

49

Ejemplo de anlisis 1

El circuito es un contador mdulo 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

Anlisis y diseo de sistemas secuenciales

50

25

Estructura del tema





Introduccin
Modelo de mquinas de estados finitos
Anlisis de sistemas secuenciales





Anlisis de sistemas de tipo Moore


Anlisis de sistemas de tipo Mealy
Ejemplos

Diseo de sistemas secuenciales

Resumen y bibliografa








Generacin del diagrama de estados


Minimizacin del diagrama de estados
Codificacin de estados
Eleccin de los biestables
Implementacin y verificacin del sistema
Ejemplos

Anlisis y diseo de sistemas secuenciales

51

Ejemplo de anlisis 2




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

Anlisis y diseo de sistemas secuenciales

52

26

Ejemplo de anlisis 2





El circuito tiene 2 biestables, es decir, 4 estados posibles


El circuito tiene una nica seal de entrada X
El circuito tiene una nica seal de salida Y

Anlisis y diseo de sistemas secuenciales

53

Ejemplo de anlisis 2

A partir del circuito podemos obtener las ecuaciones


correspondientes a las entradas de los biestables

Anlisis y diseo de sistemas secuenciales

54

27

Ejemplo de anlisis 2

Conociendo el funcionamiento de los biestables JK y D


es posible, partiendo de las ecuaciones de las entradas,
generar la tabla de excitacin y de estado siguiente

Anlisis y diseo de sistemas secuenciales

55

Ejemplo de anlisis 2

Partiendo del circuito tambin podemos obtener la


ecuacin correspondiente a la seal de salida

Anlisis y diseo de sistemas secuenciales

56

28

Ejemplo de anlisis 2

A partir de la ecuacin de salida podemos generar la


tabla de salida

Anlisis y diseo de sistemas secuenciales

57

Ejemplo de anlisis 2

Con las tablas anteriores podemos obtener el diagrama


de estados del circuito que describe su funcionamiento

Anlisis y diseo de sistemas secuenciales

58

29

Ejemplo de anlisis 2

El circuito es un contador mdulo 4




La entrada X es una seal de reset sncrono


La salida Y es una indicacin de vuelta a cero

Anlisis y diseo de sistemas secuenciales

59

Estructura del tema





Introduccin
Modelo de mquinas de estados finitos
Anlisis de sistemas secuenciales





Anlisis de sistemas de tipo Moore


Anlisis de sistemas de tipo Mealy
Ejemplos

Diseo de sistemas secuenciales

Resumen y bibliografa








Generacin del diagrama de estados


Minimizacin del diagrama de estados
Codificacin de estados
Eleccin de los biestables
Implementacin y verificacin del sistema
Ejemplos

Anlisis y diseo de sistemas secuenciales

60

30

Diseo de sistemas secuenciales

El objetivo del proceso de diseo es generar la


implementacin de un sistema secuencial a partir
de una descripcin funcional

El primer paso de este proceso es tomar la descripcin


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 ms posible el nmero de estados para
minimizar el nmero de biestables necesarios

Anlisis y diseo de sistemas secuenciales

61

Diseo de sistemas secuenciales

Con el diagrama de estados minimizado debe realizarse


la codificacin de estados, es decir, asignar los cdigos
binarios que representarn cada estado en los biestables

Tras la codificacin es posible generar las ecuaciones


de estado siguiente y de salida

El siguiente paso es determinar el tipo de biestables


ms adecuado para la implementacin del circuito, ya
que cada biestable necesitar una cantidad de lgica
diferente para representar una determinada funcin

Anlisis y diseo de sistemas secuenciales

62

31

Diseo de sistemas secuenciales

Una vez elegido el tipo de biestable se pueden obtener


las ecuaciones de excitacin para las entradas de cada
uno de los biestables

Estas ecuaciones permiten disear y optimizar la lgica


necesaria para completar el circuito

El diseo del circuito proporciona la base para la


generacin de un cronograma que pueda verificarse
por simulacin para comprobar si el comportamiento
del sistema es el que se deseaba obtener

Anlisis y diseo de sistemas secuenciales

63

Diseo de sistemas secuenciales

Este diagrama muestra un resumen


de todos los pasos necesarios para
completar el diseo de un sistema
secuencial a partir de una descripcin
funcional del mismo

Anlisis y diseo de sistemas secuenciales

64

32

Estructura del tema





Introduccin
Modelo de mquinas de estados finitos
Anlisis de sistemas secuenciales





Anlisis de sistemas de tipo Moore


Anlisis de sistemas de tipo Mealy
Ejemplos

Diseo de sistemas secuenciales

Resumen y bibliografa








Generacin del diagrama de estados


Minimizacin del diagrama de estados
Codificacin de estados
Eleccin de los biestables
Implementacin y verificacin del sistema
Ejemplos

Anlisis y diseo de sistemas secuenciales

65

Generacin de un diagrama de estados

El diseo de un sistema secuencial se inicia con la


generacin de un diagrama de estados a partir de
una descripcin funcional de su comportamiento

Esta descripcin puede estar en lenguaje natural


e incluir cronogramas, aunque es preferible usar
mtodos ms precisos para evitar ambigedades




Diagramas de flujo o diagramas ASM


Lenguajes de descripcin de hardware (VHDL,)

Con el diagrama de estados se pueden generar las tablas


de estado siguiente y salida para facilitar el diseo

Anlisis y diseo de sistemas secuenciales

66

33

Ejemplo de sistema secuencial

Como ejemplo vamos a generar el diagrama de estados


de un contador ascendente/descendente mdulo 3

El circuito tendr dos entradas




C habilitacin de cuenta: cuando C=1 el circuito contar y


cuando C=0 el circuito permanecer parado
D direccin 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

Anlisis y diseo de sistemas secuenciales

67

Generacin del diagrama de estados




Este contador debe memorizar los cdigos de tres


dgitos: 0, 1, y 2
Adems, 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

Anlisis y diseo de sistemas secuenciales

68

34

Generacin del diagrama de estados




El contador puede cambiar de direccin durante la


cuenta si cambia el valor de D mientras C est activa
Ya que no se menciona en la descripcin, podemos
suponer que el contador seguir contando en la nueva
direccin a partir del estado actual

Anlisis y diseo de sistemas secuenciales

69

Generacin del diagrama de estados

Por ltimo, es necesario tener en cuenta el caso en el


que la seal C est desactivada, lo que implicar que el
contador debe permanecer en el estado actual

Anlisis y diseo 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

Anlisis y diseo de sistemas secuenciales

71

Estructura del tema





Introduccin
Modelo de mquinas de estados finitos
Anlisis de sistemas secuenciales





Anlisis de sistemas de tipo Moore


Anlisis de sistemas de tipo Mealy
Ejemplos

Diseo de sistemas secuenciales

Resumen y bibliografa








Generacin del diagrama de estados


Minimizacin del diagrama de estados
Codificacin de estados
Eleccin de los biestables
Implementacin y verificacin del sistema
Ejemplos

Anlisis y diseo de sistemas secuenciales

72

36

Minimizacin del diagrama de estados

Resulta sencillo entender el diagrama de estados


generado para el contador ascendente/descendente
mdulo 3, ya que los dos modos de operacin 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 minimizacin del diagrama de estados como parte
del proceso de diseo

Anlisis y diseo de sistemas secuenciales

73

Minimizacin del diagrama de estados

El objetivo de la minimizacin de estados es reducir


el nmero de estados y, por tanto, el de biestables
necesarios para implementarlos





Menor nmero de biestables implica menor complejidad


Menor nmero de biestables tambin implica menos puertas
para implementar la funciones de entrada y salida
Estas puertas tambin necesitarn un menor nmero de
entradas, por lo que sern ms rpidas

Hay que tener en cuenta que para reducir realmente el


nmero de biestables es necesario reducir el nmero de
estados por debajo de una potencia de dos

Anlisis y diseo de sistemas secuenciales

74

37

Equivalencia funcional

Dos mquinas de estados finitos son funcionalmente


equivalentes si producen la misma secuencia de salidas
para todas las posibles secuencias de entrada

Dentro de una mquina de estados tambin puede darse


el caso de que dos estados sean equivalentes, por lo que
se los puede asociar para reducir el nmero de estados

Dos estados son equivalentes si y slo si:




Ambos estados producen la misma salida para cada entrada


Ambos estados tienen estados siguientes equivalentes para
cada entrada

Anlisis y diseo de sistemas secuenciales

75

Procedimiento de minimizaci
minimizacin de estados

El procedimiento para la minimizacin 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 estn en un mismo grupo
Este segundo paso puede hacer que estados que tenan los
estados siguiente en un mismo grupo ya no los tengan, por lo
que sera necesaria una nueva particin

Cada grupo estar representado por un nico estado

Anlisis y diseo de sistemas secuenciales

76

38

Minimizacin de estados

El contador ascendente/descendente mdulo 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 minimizacin

Anlisis y diseo de sistemas secuenciales

77

Minimizacin de estados

Se empieza por el conjunto de todos los estados y se


determinan los valores de salida para cada combinacin
de valores de entrada, lo que da lugar a tres grupos

Anlisis y diseo de sistemas secuenciales

78

39

Minimizacin de estados

Para cada valor de las entradas los estados siguientes


de cada estado de un grupo siempre estn en el mismo
grupo, por lo que no es necesario seguir particionando

Anlisis y diseo de sistemas secuenciales

79

Minimizacin de estados

Cada grupo representa una clase de estados equivalentes


y, por lo tanto, solo es necesario que la mquina de
estados final tenga un estado perteneciente a cada uno
de los grupos

Anlisis y diseo de sistemas secuenciales

80

40

Estructura del tema





Introduccin
Modelo de mquinas de estados finitos
Anlisis de sistemas secuenciales





Anlisis de sistemas de tipo Moore


Anlisis de sistemas de tipo Mealy
Ejemplos

Diseo de sistemas secuenciales

Resumen y bibliografa








Generacin del diagrama de estados


Minimizacin del diagrama de estados
Codificacin de estados
Eleccin de los biestables
Implementacin y verificacin del sistema
Ejemplos

Anlisis y diseo de sistemas secuenciales

81

Codificacin 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 cdigo binario

Cada cdigo se asignar a un nico estado aunque,


en principio, cualquier cdigo puede asignarse a
cualquiera de los estados

Sin embargo, el coste y el retardo de la lgica de


entrada y salida depender de a qu estado concreto
se le asigna cada uno de los cdigos

Anlisis y diseo de sistemas secuenciales

82

41

Codificacin de estados

Por ejemplo, una mquina


de estados finitos con cuatro
estados necesitar dos
biestables, los cuales podrn
codificar los estados de (4!)
formas diferentes

Anlisis y diseo de sistemas secuenciales

83

Codificacin de estados

La comprobacin manual de todas las posibles


codificaciones, as como la estimacin de su retardo
y complejidad, sera un proceso tedioso en el que un
error podra suceder con facilidad

Para evitar este problema se usan varias estrategias y


heursticas de asignacin, siendo tres de ellas las ms
comnmente usadas:





Mnimo cambio de bits


Prioridad de adyacencia
Codificacin del uno caliente

Anlisis y diseo de sistemas secuenciales

84

42

Mnimo cambio de bits

Esta estrategia asigna valores booleanos a los estados


de forma que se minimice el nmero total de cambios
de bits en todas las transiciones

De esta forma se reducir la cantidad de puertas lgicas


usadas para implementar el circuito

Para cada cambio de bit, un biestable cuya lgica


asociada est diseada en dos niveles en forma de
suma de productos necesita:




Una puerta AND adicional


Una entrada ms en la puerta OR

Anlisis y diseo de sistemas secuenciales

85

Mnimo cambio de bits

A cada arco del diagrama de estados le podemos


asignar un peso igual al nmero de bits distintos
entre los cdigos de los estados origen y destino

De acuerdo con esta estrategia, la codificacin ptima


ser aquella que minimice la suma de los pesos de todas
las transiciones

Anlisis y diseo de sistemas secuenciales

86

43

Prioridad en adyacencia

Esta estrategia consiste en asignar codificaciones


adyacentes (que slo difieran en un bit) a todos los
estados que tengan un destino, fuente o salida comn

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 codificacin de
estado siguiente en dos celdas adyacentes, permitiendo
simplificar la lgica asociada a los biestables

Anlisis y diseo 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 minimizacin

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 tambin la
minimizacin por Karnaugh

Anlisis y diseo 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)

Anlisis y diseo de sistemas secuenciales

89

Codificacin del uno caliente

Esta estrategia utiliza codificacin 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 slo habr un biestable con valor 1,


que ser aquel que se corresponda con el estado actual,
mientras que todos los dems estarn a 0

De esta forma, el 1 va pasando de biestable en biestable


segn el circuito cambia de estado en estado, siguiendo
el algoritmo del juego de la patata caliente

Anlisis y diseo de sistemas secuenciales

90

45

Codificacin del uno caliente

La ventaja de esta estrategia est en el hecho de que la


lgica 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 sera excesivo

Anlisis y diseo de sistemas secuenciales

91

Eleccin de una estrategia

En general, la estrategia para codificar estados consiste


en determinar las posibles opciones y, despus, estimar
el coste y el retardo de la lgica de entrada y salida para
cada tipo de codificacin

A modo de ejemplo aplicaremos las tres estrategias al


contador ascendente/descendente mdulo 3

Dado que este circuito tiene tres estados necesitaremos


dos biestables para implementarlo, a excepcin de la
estrategia del uno caliente, que necesitar tres

Anlisis y diseo de sistemas secuenciales

92

46

Codificacin del contador mdulo 3

Si se utiliza la estrategia del mnimo cambio de bits


se obtiene una codificacin sencilla, que llamaremos
codificacin A, omitiendo la combinacin 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 codificacin A cumple estas condiciones, pero


podramos plantear una alternativa, que llamaremos
codificacin B, que asigna 01 a S0 y 10 a S2 para reducir
el nmero de entradas de la puerta AND de salida

Anlisis y diseo de sistemas secuenciales

93

Codificacin del contador mdulo 3

Finalmente, la estrategia del uno caliente dara lugar a


una codificacin que llamaremos codificacin C y que

necesitara tres biestables


Para elegir una de estas tres codificaciones es necesario
estimar el coste y el retardo de la implementacin de la
lgica de entrada y salida

Anlisis y diseo de sistemas secuenciales

94

47

Codificacin del contador mdulo 3

En primer lugar es necesario obtener las ecuaciones de


excitacin para cada uno de los biestables, as como la
ecuacin de salida

A partir de estas ecuaciones puede estimarse el coste y


el retardo de su implementacin usando dos niveles de
puertas NAND

Para simplificar la estimacin supondremos que el


complemento de cada variable est disponible sin
retardo respecto al propio valor de la variable

Anlisis y diseo de sistemas secuenciales

95

Codificacin del contador mdulo 3

Aqu podemos ver la estimacin del coste y retardo de


la codificacin A, usando el mtodo de Karnaugh para
obtener las ecuaciones de estado siguiente y salida

Anlisis y diseo de sistemas secuenciales

96

48

Codificacin del contador mdulo 3

Aqu podemos ver la estimacin del coste y retardo de


la codificacin B, usando el mtodo de Karnaugh para
obtener las ecuaciones de estado siguiente y salida

Anlisis y diseo de sistemas secuenciales

97

Codificacin del contador mdulo 3

Aqu podemos ver la estimacin del coste y retardo de


la codificacin C, usando el mtodo de Karnaugh para
obtener las ecuaciones de estado siguiente y salida

Anlisis y diseo de sistemas secuenciales

98

49

Codificacin del contador mdulo 3

La codificacin C es la ms rpida, pero tambin es la


ms costosa, por lo que la eleccin de la codificacin
adecuada depender de las prioridades del diseador

 La codificacin A tiene un coste 66, un retardo mximo de


entrada de 4,0ns y un retardo de salida de 3,6ns
 La codificacin B tiene un coste 64, un retardo mximo de
entrada de 4,0ns y un retardo de salida de 3,2ns
 La codificacin C tiene un coste 82, un retardo mximo de
entrada de 3,6ns y un retardo de salida de 3,2ns

Usaremos la codificacin A para seguir desarrollando


este ejemplo, ya que es la ms comn y fcil de entender

Anlisis y diseo de sistemas secuenciales

99

Estructura del tema





Introduccin
Modelo de mquinas de estados finitos
Anlisis de sistemas secuenciales





Anlisis de sistemas de tipo Moore


Anlisis de sistemas de tipo Mealy
Ejemplos

Diseo de sistemas secuenciales

Resumen y bibliografa








Generacin del diagrama de estados


Minimizacin del diagrama de estados
Codificacin de estados
Eleccin de los biestables
Implementacin y verificacin del sistema
Ejemplos

Anlisis y diseo de sistemas secuenciales

100

50

Eleccin de los biestables

Una vez completado el proceso de minimizacin


y codificacin de estados hay que elegir el tipo de
biestable ms apropiado para la implementacin

Los biestables T suelen ser una buena eleccin para


circuitos de tipo contador, donde los biestables deben
cambiar de estado con gran frecuencia

Los biestables D son ms apropiados cuando la


informacin de entrada debe almacenarse durante
algn tiempo para su uso posterior

Anlisis y diseo de sistemas secuenciales

101

Eleccin de los biestables

En situaciones en las que el estado de los biestables


cambia en funcin de varias seales de entrada pueden




usarse biestables SR o JK, ya que tienen dos entradas


El biestable JK es ms complejo que el SR, pero no
tiene ninguna combinacin de entrada prohibida
Sin embargo, aunque tienden a reducir el coste de la
lgica asociada por tener dos entradas, los biestables

SR y JK tambin necesitan el doble de conexiones


Dado que necesitan un menor nmero de conexiones,
los biestables D y T se adaptan mejor al diseo de
circuitos integrados

Anlisis y diseo de sistemas secuenciales

102

51

Eleccin de biestables para el contador

Para elegir el tipo de biestable que minimice el coste


y el retardo de la lgica de entrada del contador
ascendente/descendente mdulo 3 hay que partir de:

 La tabla de estados siguientes del contador


 La tabla de excitacin de los cuatro tipos de biestable

Anlisis y diseo de sistemas secuenciales

103

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

De esta forma se obtendrn los mapas de entrada para


los cuatro tipos de biestable, que contendrn 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 mnimas de la lgica de entrada de cada
uno de los biestables

Anlisis y diseo de sistemas secuenciales

104

52

Eleccin de biestables para el contador

Este es el mapa de entrada correspondiente al uso de


biestables SR, junto con la expresin mnima de las
ecuaciones de entrada

Anlisis y diseo de sistemas secuenciales

105

Eleccin de biestables para el contador

Este es el mapa de entrada correspondiente al uso de


biestables JK, junto con la expresin mnima de las
ecuaciones de entrada

Anlisis y diseo de sistemas secuenciales

106

53

Eleccin de biestables para el contador

Este es el mapa de entrada correspondiente al uso de


biestables D, junto con la expresin mnima de las
ecuaciones de entrada

Anlisis y diseo de sistemas secuenciales

107

Eleccin de biestables para el contador

Este es el mapa de entrada correspondiente al uso de


biestables T, junto con la expresin mnima de las
ecuaciones de entrada

Anlisis y diseo de sistemas secuenciales

108

54

Eleccin de biestables para el contador

La estimacin de coste y retardo que acompaa a


cada ecuacin no incluye los inversores de entrada
ni el coste y retardo de los biestables

De acuerdo con los resultados obtenidos, el biestable


ms apropiado es el JK ya que implica un menor coste
y retardo de la lgica de entrada

En la prctica, no slo habra que tener en cuenta el


coste y retardo de la lgica de entrada, sino el de todo
el circuito en su conjunto antes de tomar una decisin

Anlisis y diseo de sistemas secuenciales

109

Estructura del tema





Introduccin
Modelo de mquinas de estados finitos
Anlisis de sistemas secuenciales





Anlisis de sistemas de tipo Moore


Anlisis de sistemas de tipo Mealy
Ejemplos

Diseo de sistemas secuenciales

Resumen y bibliografa








Generacin del diagrama de estados


Minimizacin del diagrama de estados
Codificacin de estados
Eleccin de los biestables
Implementacin y verificacin del sistema
Ejemplos

Anlisis y diseo de sistemas secuenciales

110

55

Implementacin del sistema

El paso final en el diseo de un sistema secuencial


consiste en realizar su implementacin utilizando
componentes lgicos

Anlisis y diseo de sistemas secuenciales

111

Implementacin del sistema

Se han utilizado inversores dobles en la entrada para


suministrar ms corriente al circuito y, por tanto,
reducir el retardo de las puertas

Anlisis y diseo de sistemas secuenciales

112

56

Implementacin del sistema

Los retardos de cada puerta determinarn el tiempo de


ciclo mnimo que debe tener la seal de reloj para que
el circuito funcione correctamente

Anlisis y diseo de sistemas secuenciales

113

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

Anlisis y diseo de sistemas secuenciales

114

57

Verificacin del sistema

La seal C habilita el contador en t0 y, a partir de ah,


dado que la seal D est desactivada, va realizando la
cuenta mdulo 3 en sentido ascendente en cada pulso
de la seal de reloj

Anlisis y diseo de sistemas secuenciales

115

Verificacin del sistema

Ms adelante, en el instante t4, se activa la seal D,


por lo que el contador empieza a realizar la cuenta en
sentido descendente en cada pulso de la seal de reloj

Anlisis y diseo de sistemas secuenciales

116

58

Verificacin del sistema

Para una completa verificacin sera necesario


desarrollar cronogramas para todos los casos
posibles, teniendo tambin en cuenta el retardo
de los componentes lgicos

Anlisis y diseo de sistemas secuenciales

117

Estructura del tema





Introduccin
Modelo de mquinas de estados finitos
Anlisis de sistemas secuenciales





Anlisis de sistemas de tipo Moore


Anlisis de sistemas de tipo Mealy
Ejemplos

Diseo de sistemas secuenciales

Resumen y bibliografa








Generacin del diagrama de estados


Minimizacin del diagrama de estados
Codificacin de estados
Eleccin de los biestables
Implementacin y verificacin del sistema
Ejemplos

Anlisis y diseo de sistemas secuenciales

118

59

Ejemplo de diseo 1




Vamos a realizar el diseo del circuito secuencial


correspondiente a este diagrama de estados
Las salidas dependen slo del estado actual (estn
indicadas en el estado) as que obtendremos un circuito
de tipo Moore

Anlisis y diseo de sistemas secuenciales

119

Ejemplo de diseo 1

A partir del diagrama de estados


puede generarse fcilmente la
tabla de estado siguiente

Anlisis y diseo de sistemas secuenciales

120

60

Ejemplo de diseo 1

Dado que los estados del diagrama dado ya estn


codificados, no tenemos necesidad de asignar ninguna
codificacin 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

Anlisis y diseo de sistemas secuenciales

121

Ejemplo de diseo 1

A partir de la tabla de
estado siguiente, y
conociendo el tipo de
biestable, podemos
generar la tabla de
excitacin

Anlisis y diseo de sistemas secuenciales

122

61

Ejemplo de diseo 1

La lgica de entrada a
los biestables puede
obtenerse simplificando
las funciones
correspondientes

Anlisis y diseo de sistemas secuenciales

123

Ejemplo de diseo 1

La lgica de entrada a
los biestables puede
obtenerse simplificando
las funciones
correspondientes

Anlisis y diseo de sistemas secuenciales

124

62

Ejemplo de diseo 1

La lgica de entrada a
los biestables puede
obtenerse simplificando
las funciones
correspondientes

Anlisis y diseo de sistemas secuenciales

125

Ejemplo de diseo 1

A partir del diagrama de estados tambin puede


generarse la tabla de salida, teniendo en cuenta que
estamos hablando de un circuito de tipo Moore

Anlisis y diseo de sistemas secuenciales

126

63

Ejemplo de diseo 1

La lgica de salida del circuito puede obtenerse


simplificando las funciones correspondientes

Anlisis y diseo de sistemas secuenciales

127

Ejemplo de diseo 1

Ahora que tenemos las ecuaciones podemos completar


el proceso de diseo dibujando el diagrama del circuito

Anlisis y diseo de sistemas secuenciales

128

64

Estructura del tema





Introduccin
Modelo de mquinas de estados finitos
Anlisis de sistemas secuenciales





Anlisis de sistemas de tipo Moore


Anlisis de sistemas de tipo Mealy
Ejemplos

Diseo de sistemas secuenciales

Resumen y bibliografa








Generacin del diagrama de estados


Minimizacin del diagrama de estados
Codificacin de estados
Eleccin de los biestables
Implementacin y verificacin del sistema
Ejemplos

Anlisis y diseo de sistemas secuenciales

129

Ejemplo de diseo 2

Vamos a disear un circuito que monitorice una


determinada lnea de entrada y que active una seal
de salida cuando detecte que la entrada ha seguido
la secuencia 0110 durante los ltimos cuatro ciclos

El circuito diseado ser de tipo Mealy, por lo que


las salidas dependern tanto del estado actual como
del valor de la entrada

A partir de esta descripcin en lenguaje natural


debemos desarrollar el diagrama de estados que
describa el circuito de forma funcional

Anlisis y diseo de sistemas secuenciales

130

65

Ejemplo de diseo 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

Anlisis y diseo de sistemas secuenciales

131

Ejemplo de diseo 2

En el caso de que aparezca un nmero 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

Anlisis y diseo de sistemas secuenciales

132

66

Ejemplo de diseo 2

 Por ltimo regresaremos al estado inicial

 Si regresamos porque se complet la secuencia correcta con


un 0 activaremos la seal de salida
 Si regresamos porque apareci un 1 fuera de secuencia
mantendremos la seal de salida desactivada

Anlisis y diseo de sistemas secuenciales

133

Ejemplo de diseo 2

 A continuacin debemos asignar cdigos a los cuatro

estados del diagrama


 Para no entrar en demasiado detalle, asignaremos los
cdigos de forma arbitraria
 En total necesitaremos dos biestables, que tambin
elegiremos de forma arbitraria: un JK y un D

Anlisis y diseo de sistemas secuenciales

134

67

Ejemplo de diseo 2

 A partir del diagrama de estados podemos generar la

tabla de estado siguiente

Anlisis y diseo de sistemas secuenciales

135

Ejemplo de diseo 2

 Con la tabla de estado siguiente, y conociendo cules

son los tipos de biestable utilizados, podemos generar


la tabla de excitacin y obtener las ecuaciones

Anlisis y diseo de sistemas secuenciales

136

68

Ejemplo de diseo 2

 A partir del diagrama de estados tambin puede

generarse la tabla de salida y la ecuacin


correspondiente, siempre teniendo en cuenta que
estamos hablando de un circuito de tipo Mealy

Anlisis y diseo de sistemas secuenciales

137

Ejemplo de diseo 2

 Ahora que tenemos las ecuaciones podemos completar

el proceso de diseo dibujando el diagrama del circuito

Anlisis y diseo de sistemas secuenciales

138

69

Estructura del tema

 Introduccin
 Modelo de mquinas de estados finitos
 Anlisis de sistemas secuenciales




Anlisis de sistemas de tipo Moore


Anlisis de sistemas de tipo Mealy
Ejemplos








Generacin del diagrama de estados


Minimizacin del diagrama de estados
Codificacin de estados
Eleccin de los biestables
Implementacin y verificacin del sistema
Ejemplos

 Diseo de sistemas secuenciales

 Resumen y bibliografa
Anlisis y diseo de sistemas secuenciales

139

Ejemplo de diseo 3

 Como ltimo ejemplo disearemos 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

Anlisis y diseo de sistemas secuenciales

140

70

Ejemplo de diseo 3

 A partir del diagrama de estados podemos deducir la

tabla de estado siguiente

Anlisis y diseo de sistemas secuenciales

141

Ejemplo de diseo 3

 Conociendo el comportamiento de los biestables T

podemos extender la tabla de estado siguiente y formar


la tabla de excitacin

Anlisis y diseo de sistemas secuenciales

142

71

Ejemplo de diseo 3

 La tabla de excitacin nos permite obtener las

ecuaciones de excitacin de los biestables

Anlisis y diseo de sistemas secuenciales

143

Ejemplo de diseo 3

 La tabla de excitacin nos permite obtener las

ecuaciones de excitacin de los biestables

Anlisis y diseo de sistemas secuenciales

144

72

Ejemplo de diseo 3

 A partir del diagrama de estados tambin podemos

deducir la tabla y las ecuaciones de salida, teniendo


en cuenta que se trata de un sistema de tipo Moore

Anlisis y diseo de sistemas secuenciales

145

Ejemplo de diseo 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

Anlisis y diseo de sistemas secuenciales

146

73

Ejemplo de diseo 3

 Una alternativa para la implementacin de este tipo de

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

lgica adicional que implementaremos con el menor


nmero posible de puertas AND, OR y NOT

Anlisis y diseo de sistemas secuenciales

147

Ejemplo de diseo 3

 Esta implementacin del circuito puede deducirse a

partir de la tabla de excitacin, ya que la tabla de


salida es trivial

Anlisis y diseo de sistemas secuenciales

148

74

Estructura del tema

 Introduccin
 Modelo de mquinas de estados finitos
 Anlisis de sistemas secuenciales




Anlisis de sistemas de tipo Moore


Anlisis de sistemas de tipo Mealy
Ejemplos








Generacin del diagrama de estados


Minimizacin del diagrama de estados
Codificacin de estados
Eleccin de los biestables
Implementacin y verificacin del sistema
Ejemplos

 Diseo de sistemas secuenciales

 Resumen y bibliografa
Anlisis y diseo de sistemas secuenciales

149

Resumen

 Los circuitos secuenciales implementados usando

biestables son vitales para el diseo de sistemas


digitales complejos

 Dado un circuito secuencial, no es sencillo comprender

su objetivo, por lo que resulta necesario un detallado


proceso de anlisis para estudiarlo

 De la misma forma, dada la descripcin funcional de

un objetivo, el diseo de un sistema secuencial que lo


implemente debe seguir un conjunto determinado de
pasos para llegar a un resultado ptimo

Anlisis y diseo de sistemas secuenciales

150

75

Bibliografa
Principios de Diseo Digital

Captulo 6
Daniel D. Gajski
Prentice Hall, 1997

Anlisis y diseo de sistemas secuenciales

151

76

Вам также может понравиться