Download Análisis y diseño de sistemas secuenciales
Document related concepts
Transcript
5. Análisis y diseño de sistemas secuenciales (I) Fundamentos de los Computadores Grado en Ingeniería Informática Introducción Objetivos: Comprender el funcionamiento de un circuito secuencial partiendo de su implementación (= ANALISIS) Implementar un circuito secuencial a partir de una descripción funcional (=SÍNTESIS ó DISEÑO) Análisis y diseño de sistemas secuenciales 2 Estado de un sistema secuencial En los sistemas secuenciales las salidas dependen de las entradas actuales y de toda la secuencia de entradas anteriores 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 , …) 3 Estado de un sistema secuencial 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) Descomponemos la ecuación general en 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 4 Caracterización de sistemas secuenciales Es necesario plantear las tablas y ecuaciones que definen: El siguiente estado del sistema a partir de las entradas del circuito y el estado actual del mismo 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 Nos basamos en un modelo de máquinas de estados finitos (FSM – FiniteState Machine) que 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 5 Modelo de máquinas de estados finitos El 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 actuales Et+1 = f(Xt, Et) Análisis y diseño de sistemas secuenciales 6 Tipos de FSM La función de salida puede definirse de dos maneras distintas, lo que da lugar a dos modelos FSM distintos En el modelo de Moore las salidas sólo dependen del estado del circuito Yt = h(Et) Et+1 = f(Xt, Et) En el modelo de Mealy las salidas dependen del estado del circuito y de las entradas actuales Yt = h(Et, Xt) Et+1 = f(Xt, Et) Análisis y diseño de sistemas secuenciales 7 Implementación de FSM 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 h se implementarán utilizando lógica combinacional Análisis y diseño de sistemas secuenciales 8 Análisis de sistemas secuenciales El análisis de un sistema secuencial consiste en la generación de una descripción funcional a partir del esquema lógico del circuito y contendrá: 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 9 Procedimiento de análisis Análisis y diseño de sistemas secuenciales 10 Análisis de sistemas de tipo Moore (I) Análisis y diseño de sistemas secuenciales 11 Análisis de sistemas tipo Mealy (I) Análisis y diseño de sistemas secuenciales 12 Análisis de sistemas tipo Moore (II) Análisis y diseño de sistemas secuenciales 13 Análisis de sistemas tipo Mealy (II) Análisis y diseño de sistemas secuenciales 14 Análisis y diseño de sistemas secuenciales 15 Análisis de sistemas de tipo Moore (I) 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 Análisis y diseño de sistemas secuenciales 16 Análisis de sistemas de tipo Moore (I) 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 17 Análisis de sistemas de tipo Moore (I) 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 18 Análisis de sistemas de tipo Moore (I) 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 19 Análisis de sistemas de tipo Moore (I) 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 Análisis y diseño de sistemas secuenciales 20 Análisis de sistemas de tipo Moore (I) 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 21 Análisis de sistemas de tipo Moore (I) 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 22 Análisis de sistemas de tipo Moore (I) 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 23 Análisis de sistemas de tipo Moore (I) 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 24 Análisis de sistemas de tipo Moore (I) 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 25 Análisis de sistemas de tipo Moore (I) 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 26 Análisis de sistemas de tipo Moore (I) 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 27 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 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 Resumen y bibliografía Análisis y diseño de sistemas secuenciales 28 Análisis de sistemas tipo Mealy (I) 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 29 Análisis de sistemas de tipo Mealy (I) 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 Análisis y diseño de sistemas secuenciales 30 Análisis de sistemas de tipo Mealy (I) 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 31 Análisis de sistemas de tipo Mealy (I) 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 32 Análisis de sistemas de tipo Mealy (I) 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 33 Análisis de sistemas de tipo Mealy (I) 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 34 Análisis de sistemas de tipo Mealy (I) 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 35 Análisis de sistemas de tipo Mealy (I) 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 36 Análisis de sistemas de tipo Mealy (I) 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 37 Análisis de sistemas de tipo Mealy (I) 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 38 Análisis de sistemas de tipo Mealy (I) 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 39 Análisis de sistemas de tipo Mealy (I) 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 40 Análisis de sistemas de tipo Mealy (I) 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 41 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 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 Resumen y bibliografía Análisis y diseño de sistemas secuenciales 42 Análisis de sistemas tipo Moore (II) 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 Análisis de sistemas tipo Moore (II) 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 Análisis de sistemas tipo Moore (II) A partir del circuito podemos obtener las ecuaciones correspondientes a las entradas de los biestables Análisis y diseño de sistemas secuenciales 45 Análisis de sistemas tipo Moore (II) 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 Análisis de sistemas tipo Moore (II) 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 Análisis de sistemas tipo Moore (II) Dadas las ecuaciones de salida, es sencillo obtener la tabla de salida Análisis y diseño de sistemas secuenciales 48 Análisis de sistemas tipo Moore (II) 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 Análisis de sistemas tipo Moore (II) 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 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 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 Resumen y bibliografía Análisis y diseño de sistemas secuenciales 51 Análisis de sistemas tipo Mealy (II) A continuación analizaremos el siguiente circuito: es 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 Análisis de sistemas tipo Mealy (II) 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 Análisis de sistemas tipo Mealy (II) A partir del circuito podemos obtener las ecuaciones correspondientes a las entradas de los biestables Análisis y diseño de sistemas secuenciales 54 Análisis de sistemas tipo Mealy (II) 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 Análisis de sistemas tipo Mealy (II) 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 Análisis de sistemas tipo Mealy (II) A partir de la ecuación de salida podemos generar la tabla de salida Análisis y diseño de sistemas secuenciales 57 Análisis de sistemas tipo Mealy (II) 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 Análisis de sistemas tipo Mealy (II) 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