Diseño y análisis de sistemas secuenciales

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

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.

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

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: < S, I, O, f, h>
 S =>  conjunto de estados.
 I => conjunto de entradas.
 O => conjunto de salidas.
 f  => función de estado siguiente.
 h  => función de salida.

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.

Yt = h(Xt, Et)

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)

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.
  •  El modelo de Mealy describe sistemas secuenciales cuyas salidas dependen del estado del circuito y de las entradas en el intervalo de tiempo actual.

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

El primer paso en el análisis es obtener las ecuaciones de entrada a cada biestable del circuito. En este caso hay dos biestables cuyas entradas son D0 y D1, por lo que plantearemos dos ecuaciones en función de la entrada Cnt y de las salidas de los biestables.

moore mooreec

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:

moo2

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.

Y=Q0*Q1

 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.

mooo

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 entradas, el número total de estados será 2m y el número total de transiciones será  2m*2k.

El diagrama de estados puede obtenerse fácilmente a partir de la tabla de estado siguiente y de salida:

moorefinal

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.

El primer paso en el análisis es obtener las ecuaciones de excitación que definen la entrada de cada biestable. En este caso hay dos biestables cuyas entradas son D0 y D1, por lo que plantearemos dos ecuaciones en función de la entrada Cnt y de las salidas de los biestables.

meely
meely2

 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:

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:

Y=Cnt * Q1 * Q0

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.

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

mealyfin

Compartir:
(Todavía nada)
Cargando...