circuitos logicos secuenciales
-
Upload
cesar-raul-ramirez -
Category
Documents
-
view
309 -
download
4
Transcript of circuitos logicos secuenciales
![Page 1: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/1.jpg)
Manrique © 2005 Sistemas Digitales II 1
Introducción al Análisis de Sistemas Secuenciales
Unidad 1
![Page 2: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/2.jpg)
Manrique © 2005 Sistemas Digitales II 2
Introducción
Hasta hoy todo era combinatorio (Sistemas Digitales I) Las salidas dependían únicamente de las entradas en
ese momento. En este curso abordaremos los Sistemas
Secuenciales o también llamados Maquinas de Estados Finitos. La salida no solo depende de la entradas presentes,
también dependerá de la historia pasada, de lo que sucedió antes.
![Page 3: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/3.jpg)
Manrique © 2005 Sistemas Digitales II 3
Ejemplos clásicos
![Page 4: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/4.jpg)
Manrique © 2005 Sistemas Digitales II 4
Tipos de circuitos secuenciales Existen dos tipos de circuitos secuenciales
Sincrónicos: Son sistemas cuyo comportamiento puede definirse a partir del conocimiento de sus señales en instantes discretos de tiempo.
Asincrónicos: Depende del orden que cambien las señales de entrada y pueda ser afectadas en un instante dado de tiempo.
![Page 5: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/5.jpg)
Manrique © 2005 Sistemas Digitales II 5
Sistemas Sincrónicos (Síncronos o con clock) Son sistemas que actúan bajo un control de
tiempo, este control se denomina reloj (clock). Clock: es una señal que se alterna entre los valores
lógicos 0 y 1 en un periodo regular.
Fig. 1: Señales de Clock
T
![Page 6: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/6.jpg)
Manrique © 2005 Sistemas Digitales II 6
El Clock
El Periodo (T): es el tamaño en tiempo de un ciclo.
La Frecuencia (f): es el inverso del periodo, 1/T y está dada en Hertz (Hz). Ejemplo:
Una señal con frecuencia de 200 MHz, corresponde a una señal que tenga un periodo de 5 ns.
En la mayoría de los sistemas sincrónicos, los cambios ocurren en las transiciones donde la señal cambia de 0 a 1 ó de 1 a 0.
![Page 7: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/7.jpg)
Manrique © 2005 Sistemas Digitales II 7
Diagrama conceptual de un sistema secuencial
Lógica Combinatoria
Memoria...
x1
xn
Clock
.
.
. ...
Z1
Zk
.
.
.
q1
qm
![Page 8: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/8.jpg)
Manrique © 2005 Sistemas Digitales II 8
Comentarios sobre el diagrama Tiene n entradas, (x’s) El clock se comporta como una entrada más. Tiene k salidas (z’s) Tiene m dispositivos de almacenamiento binario (q’s) Cada dispositivo podrá tener una o dos señales de entrada Muchos sistemas tiene solo una entrada y una salida, pero
veremos ejemplos con varias entradas e incluso algunos sistemas que no tienen entradas a no ser el clock.
Memoria: Flip-Flop’s.
![Page 9: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/9.jpg)
Manrique © 2005 Sistemas Digitales II 9
Tablas y diagramas de estados (1) Ejemplo de un sistema secuencial:
EJE6: Un sistema con una entrada x y una salida z, de tal forma que z = 1, si x ha sido 1 por tres pulsos de clock consecutivos.
Para este ejemplo, el sistema debe almacenar en memoria la información de los últimos tres estados de la entrada y producir una salida basada en esa información.
Estado: Lo que se almacena en la memoria es el estado del sistema.
![Page 10: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/10.jpg)
Manrique © 2005 Sistemas Digitales II 10
Tablas y diagramas de estados (2) En este ejemplo, la salida depende únicamente del estado
del sistema y que se haya seguido el patrón definido en la entrada del sistema.
E este tipo de Máquinas de Estado que sólo dependen del estado actual del sistema son llamadas de Modelos Moore ó Máquinas Moore, debido a Edward F. Moore*.
* Edward F. Moore, un pionero de las Máquinas de estados, quien escribió Gedanken-experiments on Sequential Machines, pp 129 – 153, Automata Studies, Annals of Mathematical Studies, no. 34, Princeton University Press, Princeton, N. J., 1956.
![Page 11: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/11.jpg)
Manrique © 2005 Sistemas Digitales II 11
Tablas y diagramas de estados (3) No abordaremos todavía el diseño de un sistema
secuencial, pero daremos las herramientas necesarias para describirlo. Tabla de Estados: es una tabla que describe las
transiciones de una máquina de estados finitos, en otras palabras, muestra las relaciones funcionales entre las entradas, salidas y estados de la memoria. Para cada combinación y cada estado, indica cual será la salida y cual será el próximo estado después del siguiente pulso de clock.
![Page 12: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/12.jpg)
Manrique © 2005 Sistemas Digitales II 12
Tablas y diagramas de estados (4)
Diagrama de Estados: Es una representación gráfica del comportamiento del sistema, mostrando cada combinación de entrada y cada estado, de la misma forma muestra el resultado de la salida y el valor del estado siguiente después de un pulso de clock.
A continuación veremos la tabla y el diagrama de estados para el EJE6.
![Page 13: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/13.jpg)
Manrique © 2005 Sistemas Digitales II 13
Tablas y diagramas de estados (5)Estado Estado Siguiente
Presente x = 0 x = 1 Salida
A A B 0
B A C 0
C A D 0
D A D 1
Tabla y diagrama de estados para el EJE6
En el futuro nos referiremos al Estado Presente por el símbolo q y el Estado Siguiente por el símbolo q*.
![Page 14: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/14.jpg)
Manrique © 2005 Sistemas Digitales II 14
Timing Trace (rastreo en el tiempo) Un timing trace, es un conjunto de valores para las
entradas y salidas arreglados en una forma consecutiva con relación a los pulsos de clock. Es usado normalmente para explicar o clarificar el comportamiento de un sistema.
x 0 1 1 0 1 1 1 0 0 1 0 1 1 1 1 1 0 0
q ? A B C A B C D A A B A B C D D D A A ?
z ? 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0
Timing trace para el EJE6
![Page 15: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/15.jpg)
Manrique © 2005 Sistemas Digitales II 15
Elementos de Memoria
Latches y Flip Flops
![Page 16: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/16.jpg)
Manrique © 2005 Sistemas Digitales II 16
Latch
Un Latch es un dispositivo binario de almacenamiento, construido con dos o más compuertas con realimentación.
Un Latch con compuertas NOR
P
Q
P = (S + Q)’
Q = (R + P)’
Ecuaciones del sistema
S = SetR = Reset
![Page 17: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/17.jpg)
Manrique © 2005 Sistemas Digitales II 17
Un Latch con gatillo (Gated)
En este latch, cuando la señal del gate es inactiva, tanto SG y RG serán 0 y el latch permanece sin cambios. Únicamente cuando la señal del gate es 1 el latch podrá recibir el valor 0 ó 1 así como el latch anterior.
![Page 18: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/18.jpg)
Manrique © 2005 Sistemas Digitales II 18
El Flip Flop
El Flip Flop es un dispositivo de almacenamiento binario con colck.
Bajo operaciones normales este dispositivo almacenará un 1 ó un 0 y sólo cambiarán estos valores en el momento que ocurra una transición del clock. Las transiciones que pueden producir cambios en el
sistema pueden ser cuando el clock va de 0 a 1, disparo por rampa de subida (leadign-edge triggered), o cuando el clock va de 1 a 0, disparo por rampa de bajada (trailing-edge triggered).
![Page 19: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/19.jpg)
Manrique © 2005 Sistemas Digitales II 19
Rampas de subida y de bajada
Rampa de bajada
Rampa de subida
Clock
0
1
![Page 20: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/20.jpg)
Manrique © 2005 Sistemas Digitales II 20
Flip Flop tipo D (1)
Existen varios tipos de Flip Flops, nos concentraremos en dos tipos, el D y el JK, el Flip Flop tipo D es el más usado y es encontrado comúnmente en dispositivos lógicos programables.
Otros, SR y T.
![Page 21: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/21.jpg)
Manrique © 2005 Sistemas Digitales II 21
Flip Flop tipo D (2)
Es el más sencillo en su operación. El nombre proviene de Delay (retardo), ya que su salida es un
reflejo de lo que hay en la entrada con un retardo de un ciclo de clock.
D
q
q’
Clock
D
q
q’
Clock
D con rampa de bajada D con rampa de subida
![Page 22: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/22.jpg)
Manrique © 2005 Sistemas Digitales II 22
Flip Flop D, tabla de comportamiento y diagrama de estados
D q q*
0 0 0
0 1 0
1 0 1
1 1 1
D q*
0 0
1 1
q* = D
Ecuación
![Page 23: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/23.jpg)
Manrique © 2005 Sistemas Digitales II 23
Comportamiento de un Flip Flop tipo D con Rampa de Bajada Diagrama de tiempo
![Page 24: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/24.jpg)
Manrique © 2005 Sistemas Digitales II 24
Variación de la entrada
La salida no se verá afectada, ya que el valor de la entrada D solo es relevante en el instante de la rampa de bajada
![Page 25: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/25.jpg)
Manrique © 2005 Sistemas Digitales II 25
Comportamiento de un Flip Flop tipo D con Rampa de Subida Diagrama de tiempo
![Page 26: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/26.jpg)
Manrique © 2005 Sistemas Digitales II 26
Flip Flops con “Clear” y “Preset” Cualquier tipo de Flip Flop podrá contar con estas
entradas asincrónicas, en el caso de Flip Flops tipo D tenemos:
D q
q’Clock
PRE
CLR
PRE’ CLR’ D q q*
0 1 X X 1 Constante
inmediata1 0 X X 0
0 0 X X - Invalido
1 1 0 0 0
1 1 0 1 0 Normal
1 1 1 0 1
1 1 1 1 1
![Page 27: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/27.jpg)
Manrique © 2005 Sistemas Digitales II 27
Diagrama de tiempo para un Flip Flop con Clear y Preset
![Page 28: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/28.jpg)
Manrique © 2005 Sistemas Digitales II 28
Flip Flop SR (Set-Reset)
Tiene dos entradas con el mismo significado que el Latch SR Tablas de comportamiento
S R q q*
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 -
1 1 1 -
S R q*
0 0 q
0 1 0
1 0 1
1 1 -
No permitido
No permitido
![Page 29: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/29.jpg)
Manrique © 2005 Sistemas Digitales II 29
Flip Flop SR – Diagrama de estados y Ecuación
x 1
1 x 1
00 01 11 10q\SR
0
1q* = S + R’q
![Page 30: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/30.jpg)
Manrique © 2005 Sistemas Digitales II 30
Diagrama de tiempo para un Flip Flop SR
![Page 31: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/31.jpg)
Manrique © 2005 Sistemas Digitales II 31
Flip Flop tipo T (Toggle)
Tiene una entrada T, de tal forma que si T = 1, el Flip Flop cambia el valor del estado actual y si T = 0, el estado permanece sin cambios.
Tablas de Comportamiento
T q q*
0 0 0
0 1 1
1 0 1
1 1 0
T q*
0 q
1 q’
![Page 32: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/32.jpg)
Manrique © 2005 Sistemas Digitales II 32
Diagrama de estados para le Flip Flop T
0 1
1
1
00T
Ecuación para el comportamiento del Flip Flop
q* = T q +
![Page 33: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/33.jpg)
Manrique © 2005 Sistemas Digitales II 33
Diagrama de tiempo para un Flip Flop T
![Page 34: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/34.jpg)
Manrique © 2005 Sistemas Digitales II 34
Flip Flop tipo JK Es una combinación del SR y del T, siendo así, su comportamiento
es como el SR, con excepción cuando sus entradas J = K = 1 provoca que el Flip Flop cambie de estado, como si fuera un Flip Flop T.
Tablas de comportamiento:
J K q q*
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
J K q*
0 0 q
0 1 0
1 0 1
1 1 q’
![Page 35: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/35.jpg)
Manrique © 2005 Sistemas Digitales II 35
Diagrama de estados para le Flip Flop JK
0 1
1 011
1 011
0 00 1
0 01 0J K
1 1
1 1
00 01 11 10q\JK
0
1q* = Jq’ + K’q
![Page 36: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/36.jpg)
Manrique © 2005 Sistemas Digitales II 36
Diagrama de tiempo para un Flip Flop JK
![Page 37: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/37.jpg)
Manrique © 2005 Sistemas Digitales II 37
Análisis de un Sistemas Secuencial
![Page 38: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/38.jpg)
Manrique © 2005 Sistemas Digitales II 38
Circuito Secuencial – Modelo tipo Moore con Flip Flops tipo D
•Del circuito encontramos:
2
12
1211
qz
xqD
qxqqD
1 2
![Page 39: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/39.jpg)
Manrique © 2005 Sistemas Digitales II 39
Tabla y diagrama de estados del circuito
q1* q2*
q1 q2 x = 0 x = 1 z
0 0 0 0 1 0 1
0 1 0 0 1 0 0
1 0 1 0 1 1 1
1 1 0 0 0 1 0
100
001
1
10
0
11
00
1
0
1 1
0
1
![Page 40: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/40.jpg)
Manrique © 2005 Sistemas Digitales II 40
Circuito Secuencial – Modelo tipo Moore con Flip Flops tipo JK
Este es un circuito de modelo tipo Moore, ya que la salida z, que es igual a A + B, es una función del estado, o sea, el contenido de los flip flops, y no de la entrada x.
BAz
AxKJ
BxKxJ
BB
AA
![Page 41: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/41.jpg)
Manrique © 2005 Sistemas Digitales II 41
Tabla de estados para el ejemplo anterior
A* B*
A B x = 0 x = 1 z
0 0 0 1 1 1 0
0 1 0 0 1 0 1
1 0 1 0 0 1 1
1 1 1 1 1 0 1
Para completar la tabla hay que tener en cuenta las ecuaciones de entrada de los flip flops y el funcionamiento de cada uno de ellos para determinar el estado siguiente.
![Page 42: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/42.jpg)
Manrique © 2005 Sistemas Digitales II 42
Trazado en el tiempo y Diagrama de tiempos
x 0 0 1 0 1 1 0
A 0 0 0 1 1 1 0 0
B 0 1 0 1 1 0 1 0 1
z 0 1 0 1 1 1 1 0 1
![Page 43: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/43.jpg)
Manrique © 2005 Sistemas Digitales II 43
Diagrama de Estados para el ejemplo
0
00
1
01
1
10
111
0
0
1
0
1
1
1
0
0
![Page 44: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/44.jpg)
Manrique © 2005 Sistemas Digitales II 44
Ejemplo con el modelo Mealy En algunos casos, la salida depende de la entrada actual así como del valor
de los estados actuales. Este tipo de circuitos son clasificados como sistemas secuenciales de
modelo Mealy. Un ejemplo de este modelo es este sistema.
![Page 45: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/45.jpg)
Manrique © 2005 Sistemas Digitales II 45
Ecuaciones
Las ecuaciones de entrada y salida para el circuito son:
1
212
211
xqz
qqxD
xqxqD
Como son flip flops tipo D, entonces q* = D
![Page 46: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/46.jpg)
Manrique © 2005 Sistemas Digitales II 46
Tabla de estados y diagrama de estados
q1* q2* z
q1 q2 x = 0 x = 1 x = 0 x = 1
0 0 0 0 0 1 0 0
0 1 0 0 1 0 0 0
1 0 0 0 1 0 0 1
1 1 0 0 1 0 0 1
00
0 /0
11
01 10
1 /0
0 /00 /0
0 /0
1 /1
1 /1
1 /0
![Page 47: circuitos logicos secuenciales](https://reader036.fdocuments.es/reader036/viewer/2022081502/5571fb62497959916994bbd8/html5/thumbnails/47.jpg)
Manrique © 2005 Sistemas Digitales II 47
Trazado en el tiempo y Diagrama de tiempos
x 0 1 1 0 1 1 1 1 0
q1 ? 0 0 1 0 0 1 1 1 0
q2 ? 0 1 0 0 1 0 0 0 0
z 0 0 0 0 0 0 1 1 0 0 0