sistemas secuenciales

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 –...
29 downloads 2 Views 2MB Size
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