Presentación de PowerPointhomepage.cem.itesm.mx/garcia.andres/PDF201411... · •Ejemplo de un...
Transcript of Presentación de PowerPointhomepage.cem.itesm.mx/garcia.andres/PDF201411... · •Ejemplo de un...
Lógica Secuencial
Dr. Andrés David García García
Escuela de Ingeniería y Ciencias
Campus Estado de México
Diferencias entre el mundo combinatorio y el mundo secuencial
• Hasta el momento, todos los circuitos que hemos diseñado e implementado no contemplan la variable “TIEMPO”.
• Ejemplo: Para el siguiente circuito:
• ¿Qué compuerta comienza a funcionar primero?
Dr. Andrés David García García
Escuela de Ingeniería y Computación2
A
B
C
F
OR-1
AND-1
AND-2
AND-3
OR-1
Diferencias entre el mundo combinatorio y el mundo secuencial
• Resulta tentador pensar que, suponiendo que las señales A, B y C, están disponibles al mismo tiempo, la primera compuerta que comienza a funcionar es la OR-1
• La respuesta es:
Dr. Andrés David García García
Escuela de Ingeniería y Computación3
A
B
C
F
OR-1
AND-1
AND-2
AND-3
OR-1
Todas funcionan al mismo tiempo!!
Diferencias entre el mundo combinatorio y el mundo secuencial
• En un mundo ideal, todas las compuertas comienzan a trabajar desde que se enciende la alimentación.
• Lo que existe entre las compuerta es “tiempos de propagación” (tp).
• Por el momento, supondremos que tp es igual para todas las compuertas y suficientemente pequeño para afectar la señal de salida “F”.
• De igual forma, supondremos por el momento, que el tp de las interconexiones entre las compuertas es prácticamente inexistente.
Dr. Andrés David García García
Escuela de Ingeniería y Computación4
A
B
C
F
OR-1
AND-1
AND-2
AND-3
OR-1
Proceso
Lógica secuencial y Circuitos síncronos
• Hablar de lógica secuencial, implica que deben existir procesos compuestos por funciones que se ejecutan en un orden lógico y secuencial.
• Como ocurre en la generación de un algoritmo al diseñar un diagrama deflujo, existe una interdependencia entre cada una de las funciones.
• Siendo un procesos “Secuencial”, el orden de las funciones es inamovible.
• Asumiremos que cada función es un pequeño proceso combinatorio y que cada uno de ellos tiene un tp equivalente.
Dr. Andrés David García García
Escuela de Ingeniería y Computación5
Función A Función B Función C Función D
Proceso
Lógica secuencial y Circuitos síncronos
• Ejemplo: Línea de ensamble de un vehículo: Manufactura en serie:• Insumos de entrada: Segmentos del chasis del auto y del tren motriz
• Pasos:• Ensamble del chasis• Pintura• Ensamble de plásticos y acabados• Inserción del tren motriz
• ¿Cuántos autos se estarán manufacturando al mismo tiempo?
Dr. Andrés David García García
Escuela de Ingeniería y Computación6
Función A Función B Función C Función D
El orden de los factores SI altera el producto
Proceso
Lógica secuencial y Circuitos síncronos
• Ejemplo: Línea de ensamble de un vehículo: Manufactura en serie:• Si cada Función se realiza en un tiempo máximo Ꚍ, entonces:
Dr. Andrés David García García
Escuela de Ingeniería y Computación7
Función A Función B Función C Función D
Auto 1
Auto 2 Auto 1
Auto 3 Auto 2 Auto 1
Auto 4 Auto 3 Auto 2 Auto 1
Auto 5 Auto 4 Auto 3 Auto 2 Auto 1
Insu
mos
Primer auto del día listo en 4Ꚍ4 autos en proceso (procesos diferentes)
ꚌꚌ Ꚍ Ꚍ
Lógica secuencial y Circuitos síncronos
• Un dispositivo síncrono, toma acciones/decisiones de forma periódica.
• Para ello, requiere de una señal de “sincronía”.
• Una señal de sincronía proporciona la pauta para que un proceso funcione o se detenga.
• La señal de sincronía depende de la variable “tiempo”:• Tiempo indeterminado: La pauta para iniciar una acción no se presenta en el
mismo intervalo de tiempo, es decir NO ES PERIÓDICA.
• Tiempo determinado: La pauta para iniciar una acción se presenta en intervalos de tiempo definidos, es decir, ES PERIÓDICA.
• Un dispositivo síncrono puede tomar decisiones con base en sus mismas condiciones en un periodo de tiempo inmediato-anterior:• Sistema de lazo cerrado (retroalimentado)
Dr. Andrés David García García
Escuela de Ingeniería y Computación8
Lógica secuencial y Circuitos síncronos
• Ejemplo de un sistema síncrono de lazo cerrado: Contador• Se puede contabilizar (Contar):
• Eventos
• Objetos
• Una aplicación muy recurrente de este tipo de elementos es un generador de base de tiempo.• Cuenta cada vez que se repite un evento: un periodo de tiempo determinado
(señal CLK)
Dr. Andrés David García García
Escuela de Ingeniería y Computación9
Contador AscendenteCLK
ENA CUENTA
Lógica secuencial y Circuitos síncronos
• Ejemplo de un sistema síncrono de lazo cerrado: Contador• La señal CLK es una señal periódica.
• El periodo de CLK (ꚌCLK) define la base de tiempo.
• La señal de Enable (ENA) permite al contador avanzar o detenerse.
• El resultado de la cuenta se puede expresar en un vector de “n” bits.
• Al llegar a su máximo valor, el contador reinicia en cero.
Dr. Andrés David García García
Escuela de Ingeniería y Computación10
Contador AscendenteCLK
ENA CUENTA
Lógica secuencial y Circuitos síncronos
• Pseudocódigo:• if CLK = ‘1’ then
• if ENA = ‘0’ then
• Cuenta = Cuenta
• else
• Cuenta = Cuenta + ‘1’
• end if
• end if
Dr. Andrés David García García
Escuela de Ingeniería y Computación11
Contador AscendenteCLK
ENA CUENTA
CUENTA
0 0 0
0 0 1
0 1 0
.. .. ..
1 0 1
1 1 0
1 1 1
Cuenta
+ 1
Rein
icio
Lógica secuencial y Circuitos síncronos
• Pseudocódigo:• if CLK = ‘1’ then
• if ENA = ‘0’ then
• Cuenta = Cuenta
• else
• Cuenta = Cuenta + ‘1’
• end if
• end if
Dr. Andrés David García García
Escuela de Ingeniería y Computación12
CLK
ENA CUENTA
CUENTA
0 0 0
0 0 1
0 1 0
.. .. ..
1 0 1
1 1 0
1 1 1
Cuenta
+ 1
Rein
icio
SUMAꚌ
‘1’
tt+1
Lógica secuencial y Circuitos síncronos
• Otra forma de ver el problema:• Valor de la cuenta => Tpresente
• Valor de la cuenta + 1 => Tfuturo
Dr. Andrés David García García
Escuela de Ingeniería y Computación13
CLK
ENA CUENTA
SUMAꚌ
‘1’
t
t-1
CUENTA
0 0 0
0 0 1
0 1 0
.. .. ..
1 0 1
1 1 0
1 1 1
Valor presente
Valor futuro
Lógica secuencial y Circuitos síncronos
• Para poder construir un circuito digital secuencial, tenemos que considerar los aspectos antes vistos:
➢Existe una secuencia (orden) de eventos a respetar
➢Interdependencia entre los eventos
➢Un valor presente me permite “calcular” un valor en el futuro
➢El valor presente (actual) se generó con base a un valor del pasadoinmediato
Dr. Andrés David García García
Escuela de Ingeniería y Computación14
Inducción a los Latches
Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación
15
➢ Uso de realimentación para crear latches :
OR
A
BQ
A B Q
0 0 0
0 1 1
1 0 1
1 1 1
Latch
SSQ
Q S Q+
0 0 0
0 1 1
1 0 1
1 1 1
Mantiene un ‘1’
indefinidamente
Inducción a los Latches
Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación
16
OR
Q S Q+
0 0 0
0 1 1
1 0 1
1 1 1
Q S Q+
0 0 1
0 1 0
1 0 0
1 1 0
QS
OR /QS
Q
➢ Latch SET :
➢ Latch RESET :
Latches
Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación
17
➢ LATCH SET-RESET
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 X
1 1 1 XR
Q
S/Q
Reset
Set
No
permitido
Sin
Cambio
‘0’ ‘1’
‘0’, ‘1’
‘0’, ‘0’‘1’, ‘0’
‘0’, ‘0’
R, S
‘0’, ‘1’
‘1’, ‘0’
Latches
Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación
18
C S R Q Q+
0 X X 0 0
0 X X 1 1
1 0 0 0 0
1 0 0 1 1
1 0 1 0 0
1 0 1 1 0
1 1 0 0 1
1 1 0 1 1
1 1 1 0 X
1 1 1 1 X
Reset
Set
No
permitido
Sin
CambioC
S
R
Q
/Q
S
R
Retención
➢ LATCH SET-RESET con señal de control
Latches
Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación
19
C
S
R
Q
/Q
S
R
0 1
C S R
1 1 0
1 0 1
0 d d
1 0 d
0 d d
1 d 0
Q+ = SC + /RQ + /CQ
➢ LATCH SET-RESET con señal de control
Latches
Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación
20
C
Q
/Q
S
R
➢ LATCH Set-Reset con retardo
DC D Q Q+
0 X 0 0
0 X 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
Esto permite tomar sólo una decisión (Set ó Reset)
Latches
Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación
21
0 1
C D
1 1
1 0
0 d
1 0
0 d
1 1
Q+ = SC + /RQ + /CQ = DC + /CQ
➢ LATCH con retardo
Flip-Flops
Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación
22
➢ LATCH: No puede ser usado en circuitos síncronos
(periódicos), ya que, mientras C esté activo, Q cambiará cada
vez que una de las entradas (D, S, R) cambien.
➢ El LATCH retiene (memoriza) un valor durante un “lapso de
tiempo indeterminado”.
➢ Flip-Flops: Retienen un bit mientras C no sea afectada. Q no
cambiará si las entradas (D, S, R) cambian. Estos circuitos si
pueden ser usados en circuitos síncronos ya que hasta que C
cambie, cambiará la salida Q dependiendo de la entrada o
entradas que sean válidas en ese momento.
➢ El Flip-Flop retiene (memoriza) un valor durante un “lapso de
tiempo determinado”.
Introducción a los Flip-Flops
Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación
23
Q
/Q
S
R
➢ Flip-Flop SR maestro-esclavo
C
Q
/Q
S
R
C
S
R
C
QintQ
/Q
Reloj
maestro esclavo
Introducción a los Flip-Flops
Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación
24
➢ Flip-Flop SR maestro-esclavo
C R C R C R C R C R C R
R C R C R C R C R C R C
C
maestro
esclavo
S
R
Qint
Q
C = compuerta R = retención
Flip-Flops
Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación
25
➢ Flip-Flop SR maestro-esclavo
0 1
S R
1 0
0 1
0 d 0 d
S R Q C 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 X
1 1 1 X
= pulso en C
Flip-Flops
Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación
26
➢ Flip-Flop D maestro-esclavo
Q
/Q
D
C
Q
/Q
D
C
D
C
QintQ
/Q
Reloj
maestro esclavo
Flip-Flops
Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación
27
➢ Flip-Flop D maestro-esclavo
0 1
D
1
0
0 1
D Q C Q+
0 0 0
0 1 0
1 0 1
1 1 1
= pulso en C
Flip-Flops
Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación
28
➢ Flip-Flop JK maestro-esclavo
0 1
J K
1 d
d 1
0 d d 0
J K Q C 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
= pulso en C
Flip-Flops
Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación
29
➢ Flip-Flop T maestro-esclavo
0 1
T
1
1
0 0
T Q C Q+
1 0 1
1 1 0
= pulso en C
Aplicaciones de los circuitos síncronos
•Hemos llegado al tema más importante del curso:
•Diseño de autómatas
• Capaz de tomar decisiones de forma autónoma, con base a condiciones controladas del entorno, y dentro de un contexto pre-definido.
•Arquitectura de Hardware:
“Máquinas de Estados Finitos”
Dr. Andrés David García García
Escuela de Ingeniería y Computación30
Máquinas de estado
Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación
31
➢ Modelo MEALY : Las salidas son funciones de las
entradas así como del estado actual.
Edo. Actual 0 1
A B/1 C/0
B B/0 A/1
C A/0 C/0
Entrada
Estado/salida
A
CB
1/0
0/0
1/1
0/1
0/01/0
Máquinas de estado
Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación
32
➢ Modelo MOORE : Las salidas sólo dependen del
estado actual.
Edo. Actual
0 1 Salida
A C B 0
B B C 1
C B A 0
EntradaA/0
B/1C/0
1
1
0
0
0
1
Máquinas de estado
Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación
33
➢ Ejemplo : Máquina de dos estados
A B
Y = ‘0’ = A
Y = ‘1’ = B
X/Z
0/01/0
1/1
0/0
Edo.
Actual
0 1
A A/0
B/0
B B/0
A/1
Entrada X
Estado/Z
Máquinas de estado
Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación
34
➢ Mapa de Karnaugh
Entrada X
0 1
1
0
Estado
Y
0/0 1/0
0/11/0
Z = XY
Y = X xorY
Z+ = XY
Y+ = X xor Y
Estado :
Estado Futuro :
Máquinas de estado
Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación
35
➢ Circuito con Flip-Flop tipo D :
Q
/Q
D
CLK
X
Y+
Z
Y+ = estado futuro
Z = X Y
Máquinas de estado
Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación
36
➢ Circuito con Flip-Flop tipo D :
Q
/Q
D
CLK
Y+
Z
X
Proceso de Salida
Proceso de Estado Futuro
Tiempo