Você está na página 1de 45

FACULTAD DE INGENIERÍA

ESCUELA DE:

INGENIERÍA EN ELECTRÓNICA Y TELECOMUNICACIONES

ELECTRÓNICA DIGITAL Y LÓGICA PROGRAMABLE

Ing. Alcides Araujo Pacheco


16/12/2018 1
CAPÍTULO VI: Análisis secuencial

CONTENIDO: Tomado de Cap. 6 y 7 de Marcovitz

❑ Tablas y diagramas de estado

❑ Latches

❑ Flip Flops

❑ Análisis de sistemas secuenciales

❑ Diseño de sistemas secuenciales

2
ELECTRÓNICA DIGITAL Y LÓGICA PROGRAMABLE CAPÍTULO VI: FLIP - FLOP

Vista conceptual de un sistema secuencial sincrónico (máquina de


estado finito FSM)

➢ Compuesto de dispositivos de memoria y lógica combinacional


➢ Compuesto de n entradas (x) en adición de reloj; k salidas (z), y m dispositivos de
almacenamiento binario (q).
➢ Cada dispositivo de memoria podría necesitar de una o dos señales de entrada.
Muchos sistemas pueden tener solamente una entrada y una salida.
➢ Muchos dispositivos de memoria podrían tener una salida complementada.

3
FACULTAD DE INGENIERÍA
Tablas y diagramas de estado: definiciones

Ejemplo: Un sistema con una entrada x y una salida z tal que z = 1, si y


solo si x ha sido 1 durante al menos tres tiempos consecutivos de reloj .

➢ Para este ejemplo, el sistema debe almacenar en su memoria información acerca


de las ultimas tres entradas y producir una salida en base a ello.

➢ Lo que se almacena en memoria es el estado del sistema.


➢ Una secuencia de tiempo es un conjunto de valores para la entrada y la salida
(y en ocasiones también el estado u otras variables del sistema) en tiempos
consecutivos del reloj.

Para el ejemplo, la salida solo depende del estado del sistema ( no de la entrada
presente) y, en consecuencia, ocurre después de que ha ocurrido el patrón de
entrada deseado. Este tipo de sistema se conoce como modelo Moore
(Maquina de estados de Moore).
4
Tablas y diagramas de estado: definiciones

Una tabla de estado muestra, para cada combinación entrada-estado, cual es la salida
y cuál es el estado siguiente, esto es: qué se almacenará en memoria después del
siguiente flanco activo de reloj.


Al estado presente se referirá como 𝒒 y al siguiente estado como 𝒒 (podría
encontrarse también como 𝑄𝑡+1 o 𝑞 + , o 𝑞( 𝑡 + 𝛥) para representar el estado
siguiente). El estado siguiente es lo que se almacenará en memoria después
de esta transición de reloj. Entonces este se convertirá en el estado presente en
el tiempo de reloj siguiente.

5
Tablas y diagramas de estado: definiciones

Un diagrama de estado (o gráfica de estado) es una representación gráfica del


comportamiento del sistema, que muestra para cada combinación de entradas y cada
estado cuál es la salida y cuál es el estado siguiente; (lo que se almacenará en
memoria).

Cada estado esta representado por un círculo. En el círculo también se incluye la


salida para dicho estado. Cada línea que sale de un círculo representa una posible
transición. La etiqueta en la línea indica la entrada que causa dicha transición. Debe
existir una trayectoria desde cada estado para cada posible combinación de entradas.

https://www.youtube.com/watch?v=P0AxQvJcN2Q 6
Tablas y diagramas de estado

Secuencia de estado

7
Tablas y diagramas de estado

En algunos sistemas, la salida depende no solamente de los estados presentes de la


máquina, sino también de la entrada. A este tipo de sistemas se los conoce como
modelo Mealy. (Maquina de estados de Mealy).

El diagrama de estado del modelo Mealy es diferente del modelo Moore. La salida
esta asociada con la transición, no solo con el estado. Cada camino tiene una doble
etiqueta: la entrada causante de la transición, seguido por un slash y la salida que
ocurre cuando el sistema esta en aquel estado. Así, desde el estado A, el camino
hacia el estado B esta etiquetado 1/0, significando que el camino es seguido
cuando x =1, y la salida producida es 0.
8
Tablas y diagramas de estado

9
Latches

Ecuaciones que describen el Sistema:

En estado inactivo S y R son cero, entonces:

El latch puede almacenar, ya sea, un cero 0 (Q = 0 y P = 1) o un 1 (Q = 1 y P =


0). Así, la salida P es usualmente etiquetado con Q’. set almacena un 1 en Q.

También, si reset es 1:

10
Latches

Se pueden construir latches más complejos, como el latch controlado.

11
Latches

Analizar el siguiente caso:

12
Flip Flops

Un flip flop es un dispositivo de almacenamiento binario sincronizado por reloj, esto es,
un dispositivo que almacena un 0 o un 1. Bajo una operación normal, el valor cambiará
solamente con una apropiada transición de reloj.

Se puede construir un flip flop simple SR maestro/esclavo, con dos latches


controlados como se muestra en la figura:

http://www.dte.eup.uva.es/j_m_mena/digivhdl/pdf/biest-8.pdf 13
Flip Flop D

14
Flip Flop J K

15
Análisis de sistemas secuenciales

➢ Se examinarán algunas pequeñas máquinas de estado (que consisten en


flip flop y compuertas) y se analizará su comportamiento.

➢ Se generarán diagramas de tiempo, secuencias de tiempo, tablas de estado


y diagramas de estado.

➢ Se observará la relación entre la tabla de estado y la sincronización.

16
Análisis de sistemas secuenciales: ejemplo 1

Circuito de flip flop D modelo Moore

A partir del circuito se encuentra:

𝐷1 = 𝑞1 𝑞′2 + 𝑥 𝑞′1

𝐷2 = 𝑥 𝑞1
17
𝑧 = 𝑞′2
Análisis de sistemas secuenciales: ejemplo 1

Tabla de estado: Puesto que es un modelo Moore, solo existe una columna de salida.
La parte de estado siguiente es sencillo, dado que para un flip flop D se tiene: 𝑞 ∗ = 𝐷.

Primero se completa la columna de salida z; y la parte de 𝑞1∗ :

18
Análisis de sistemas secuenciales: ejemplo 1

Por último se agrega 𝑞2∗ (𝐷2 ) para generar la tabla de estado completa.

También se genera el diagrama de estado correspondiente.

19
Análisis de sistemas secuenciales: ejemplo 2

El circuito es un modelo Moore con flip flop JK. Es un modelo Moore ya que la salida z,
que es igual a A + B, es una función del estado (esto es, el contenido de los flip flop) y no
de la entrada x.

Ahora se escribirán ecuaciones para las entradas y salidas del flip flop y, a partir de
ellas, se construirá una tabla de estado:

𝐽𝐴 = 𝑥 𝐾𝐴 = 𝑥 𝐵′

𝐽𝐵 = 𝐾𝐵 = 𝑥 + 𝐴′

𝑧 =𝐴+𝐵 20
Análisis de sistemas secuenciales: ejemplo 2
La columna de salida proviene directamente de la ecuación z. Luego se puede llenar la
columna de estado siguiente, una entrada a la vez. Para la primera entrada, puesto que 𝑥 =
𝐴 = 𝐵 = 0, 𝐽𝐴 = 𝐾𝐴 = 0, y 𝐽𝐵 = 𝐾𝐵 = 1. A partir de la tabla que muestra el comportamiento
del flip flop, se puede ver que A no cambia de estado, pero B si. Por lo tanto el estado
siguiente es 01.

A continuación, para 𝑥 = 𝐴 = 0 y 𝐵 = 1 ( el segundo renglón de la primera columna), 𝐽𝐴 =


𝐾𝐴 = 0 y 𝐽𝐵 = 𝐾𝐵 = 1. Es decir, esta vez, A no cambia de estado, pero una vez más, B si
lo hace. El estado siguiente resultante es 0 0.

21
Análisis de sistemas secuenciales: ejemplo 2

Se puede continuar a través de las entradas restantes o se puede observar las


ecuaciones para un flip flop a la vez. Cuando 𝑥 = 0 ( sin importar cuales sean A y B), 𝐽𝐴 =
𝐾𝐴 = 0 y el flip flop A no cambia de estado. En consecuencia se puede completar 𝐴∗
para 𝑥 = 0. Cuando 𝑥 = 1, 𝐽𝐴 = 1 𝑦 𝐾𝐴 = 𝐵′. Para los dos renglones donde 𝐵 = 0 ( la
primera y tercera), 𝐽𝐴 y 𝐾𝐴 son ambas 1 y A se dispara. Para los dos renglones donde 𝐵 =
1 ( la segunda y la cuarta), 𝐽𝐴 = 1 y 𝐾𝐴 = 0, lo que pone un 1 en el flip flop A. Esto resulta
en la tabla parcial, en donde se ha llenado para 𝐴∗ :

22
Análisis de sistemas secuenciales: ejemplo 2

Ahora se puede completar la sección 𝐵 ∗ de la tabla. Cuando 𝐴 = 0 ( los primeros dos


renglones de ambas columnas), 𝐽𝐵 = 𝐾𝐵 = 1 y 𝐵 cambia de estado. Cuando 𝐴 = 1, 𝐽𝐵 =
𝐾𝐵 = 𝑥 . Para 𝑥 = 0 (la primera columna, últimos dos renglones), 𝐵 permanece
invariable. Por ultimo, para 𝐴 = 1 𝑦 𝑥 = 1, 𝐽𝐵 = 𝐾𝐵 = 1 y 𝐵 cambia; lo que completa la
tabla.

Otra técnica para construir la tabla de estado es usar las ecuaciones. Recordar que
𝑞 ∗ = 𝐽 𝑞′ + 𝐾 ′ 𝑞. Al usar las condiciones de este ejemplo se obtiene:

23
Al construir la tabla de estado, se va a obtener el mismo resultado.
Análisis de sistemas secuenciales: ejemplo 2

Ahora se genera una secuencia de tiempo y un diagrama de tiempo si se proporcionan la


entrada 𝑥 y los valores iniciales de A y B.

24
Análisis de sistemas secuenciales: ejemplo 3

En algunos sistemas la salida depende de la entrada presente, así como del estado.
Desde el punto de vista del circuito, esto solo significa que 𝑧 es una función de 𝑥, así como
de las variables de estado. A este tipo de circuito se refiere como un Modelo Mealy.
Ejemplo.

Las ecuaciones de entrada y salida del flip flop son:

𝐷1 = 𝑥 𝑞1 + 𝑥 𝑞2
𝐷2 = 𝑥 𝑞′1 𝑞′2

𝑧 = 𝑥 𝑞1
25
Análisis de sistemas secuenciales: ejemplo 3

Tomando en cuenta que para el flip flop D, 𝑞 ∗ = 𝐷. En consecuencia,

𝑞1∗ = 𝑥 𝑞1 + 𝑥 𝑞2

𝑞2∗ = 𝑥 𝑞′1 𝑞′2

Con esto obtenemos la tabla de estado. Notar que se requieren dos columnas de
salida, una para 𝑥 = 0, y una para 𝑥 = 1.

Observar que el estado 1 1 nunca es alcanzado. Podría ser que apenas se


enciende el sistema comience con un estado 1 1, pero luego que lo deja, nunca
regresa a este. 26
Análisis de sistemas secuenciales: ejemplo 3

Observar la diferencia del diagrama de estados del modelo Mealy con relación al modelo
Moore. La salida no está relacionada con el estado, sino por la transición seguida por la
salida. Por tanto, desde el estado 0 0 hacia el estado 0 1, la etiqueta 1/0 representa que
dicha trayectoria se sigue cuando x=1 y que la salida producida es 0. Observar que no
existe trayectoria al estado 1 1. También que cuando existe una entrada 0, se regresa al
estado 0 0.

27
Análisis de sistemas secuenciales: ejemplo 3

Secuencia de tiempo

Diagrama de tiempo

El diagrama de temporización para este ejemplo ilustra una peculiaridad de los sistemas de Mealy.
Tener en cuenta que hay una salida falsa (a veces referido como un glitch o señal de deformación),
es decir, la salida pasa a 1 por un corto período a pesar de que no se indica en la traza de tiempo
ni en la tabla de estado. 28
Análisis de sistemas secuenciales: ejemplo 4

Considerar el siguiente circuito

La salida es 𝑧 = 𝑞1 𝑞2 , no depende de la entrada 𝑥; por tanto se trata de un modelo


….?

Las ecuaciones de entrada del sistema son

𝐽1 = 𝑥 𝑞2 𝐾1 = 𝑥′

𝐷2 = 𝑥 (𝑞1 + 𝑞′ 2 ) 29
Análisis de sistemas secuenciales: ejemplo 4

Notar que cuando 𝑥 = 0, 𝐽1 es 0, 𝐾1 es 1 y 𝐷2 es 0; por tanto el sistema va al estado 0 0.

Cuando 𝑥 = 1,

𝐽1 = 𝑞2 𝐾1 = 0 𝐷2 = 𝑞1 + 𝑞′2

El flip flop 𝑞1 va a 1 cuando 𝑞2 = 1 y de otro modo no varia. ( Desde luego, 𝑞1


permanece en 1 en el estado 1 0). El flip flop 𝑞2 va a 1 cuando 𝑞1 = 1 o 𝑞2 = 0; y va
a 0 solo si 𝑞1 = 0 y 𝑞2 = 1.

También se puede usar, para 𝑞1 , la ecuación

𝑞∗ = 𝐽 𝑞′ + 𝐾 ′ 𝑞

Y se obtiene: 𝑞1∗ = 𝑥 𝑞2 𝑞′1 + 𝑥 𝑞1 = 𝑥 (𝑞2 + 𝑞1 )


30
Análisis de sistemas secuenciales: ejemplo 4

Desde cualquier manera, se obtiene la siguiente tabla de estado:

El sistema produce el siguiente diagrama de tiempos:

31
Diseño de sistemas secuenciales

Como en el caso de sistemas combinacionales, el proceso de diseño casi siempre


comienza con el enunciado del problema, una descripción verbal del buscado
comportamiento del sistema. La meta es desarrollar un diagrama esquemático del
Sistema que utilice los componentes disponibles y satisfaga los objetivos y
restricciones del diseño.

Paso 1: A partir de una descripción verbal, determinar qué se necesita para almacenar
en memoria; esto es: cuales son los estados posibles.

Paso 2: Si es necesario, codificar las entradas y salidas en binario.

Paso 3: construir una tabla de estado o diagrama de estado para describir el


comportamiento del sistema.

Paso 4: Emplear técnicas de reducción de estado, para encontrar una tabla de


estado que produzca el mismo comportamiento entrada/salida, pero simplificado.

32
Diseño de sistemas secuenciales

Paso 5: Elegir una asignación de estado, esto es: codificar los estados en binario.

Paso 6: Elegir un tipo de flip flop y generar los mapas o tablas de entrada del flip flop.

Paso 7: Generar una ecuación lógica y dibujar un diagrama circuital como en el caso
de sistemas combinacionales.

33
Diseño de sistemas secuenciales

Recordando el ejemplo:

Las siguientes son tres asignaciones de estado arbitrarias:

34
Diseño de sistemas secuenciales

A partir del diagrama de estado o de la tabla de estado, se construye la tabla de verdad


para el estado siguiente. La siguiente es una tabla de verdad construida a partir de la
asignación de estado (a).

La primera mitad del diseño de la tabla de verdad corresponde a la primera


columna de la tabla de estado 𝑥 = 0. El estado siguiente es 0 0 para los primeros
cuatro renglones, puesto que cada uno de los estados va al estado A en una
entrada 0. La segunda mitad de la tabla corresponde a 𝑥 = 1.

35
Diseño de sistemas secuenciales

Para un sistema Moore se construye una tabla separada para la salida, pues solo
depende de las dos variables de estado.

36
Diseño de sistemas secuenciales

Ahora se puede mapear 𝑞1∗ , 𝑞2∗ , 𝑧.

Obteniendo así las ecuaciones:

37
Diseño de sistemas secuenciales

Si se usa la asignación de estado (b), tendríamos los siguientes resultados.

Los mapas y las ecuaciones resultantes son:

Comparar el costo con la


solución previa.

38
Técnicas de diseño con flip flop: Cap 7 Marcovitz

El diseño de tabla de verdad que hemos visto lo usaremos en conjunto con el


diseño de tabla con flip flop apropiado para obtener una tabla de verdad para las
entradas de flip flop. El diseño de la tabla de verdad se obtiene más fácilmente a
partir del diagrama de estado. Su forma general se muestra en la tabla siguiente:

Para cada línea de la tabla de verdad equivalente de la tabla de estado, y


para cada flip flop, se conoce su valor presente y el estado siguiente
deseado. Esta tabla permite determinar las entradas.

39
Técnicas de diseño con flip flop

Aunque el flip flop D es trivial, se lo usará para ilustrar el proceso. El diagrama de estado
del flip flop D es el siguiente:

Utilizando la tabla de verdad anteriormente vista:

Las ecuaciones para el flip flop D serán:

𝐷1 = 𝑥 𝑞2 + 𝑥 𝑞1

𝐷2 = 𝑥 𝑞′2 + 𝑥 𝑞1
40
Técnicas de diseño con flip flop

La figura muestra la implementación con flip flop D, y compuertas AND y OR.

𝑧 = 𝑞1 𝑞2

𝐷1 = 𝑥 𝑞2 + 𝑥 𝑞1 𝐷2 = 𝑥 𝑞′2 + 𝑥 𝑞1 41
Técnicas de diseño con flip flop
Repitiendo el proceso con flip flop JK. El diagrama de estado del flip flop es:

Para ir del estado 0 al estado 0, se tiene dos opciones: se puede hacer 𝐽 = 0 y 𝐾 = 0, o


𝐽 = 0 y 𝐾 = 1. Es decir, 𝐽 debe ser 0 y no importa cual sea 𝐾; esto es 𝐾 es un “no
importa”. De igual forma para ir de 1 a 1, 𝐾 debe ser 0 y 𝐽 es un “no importa”. Para ir de
0 a 1, 𝐽 debe ser 1 y 𝐾 es un “no importa”, y para ir de 1 a 0, 𝐾 debe ser 1 y 𝐽 es un “no
importa”. Esto resulta del diseño de la tabla con flip flop 𝐽𝐾 de la tabla

42
Técnicas de diseño con flip flop

La tabla de verdad para el diseño es por tanto:

La tabla de verdad para el diseño requiere cuatro columnas mas para las cuatro
entradas de flip flop. Los mapas generados son:

Las ecuaciones de entrada


de flip flop

43
Ejemplo 1: Diseño de un sistema Moore y Mealy (ejm 7.10 tercera edición)

Diseñar un sistema Moore y Mealy con una entrada x y una salida z tal que z =1 ssi x ha
sido 1 por exactamente tres tiempos de reloj consecutivos.

44
CAPÍTULO VI: Análisis secuencial

CONTENIDO:

❑ Tablas y diagramas de estado

❑ Latches

❑ Flip Flops

❑ Análisis de sistemas secuenciales

❑ Diseño de sistemas secuenciales

45

Você também pode gostar