Está en la página 1de 37

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:
A
AND-1

AND-2 OR-1 F
B
C OR-1
AND-3

• ¿Qué compuerta comienza a funcionar primero?

Dr. Andrés David García García


2
Escuela de Ingeniería y Computación
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
A
AND-1

AND-2 OR-1 F
B
C OR-1
AND-3

• La respuesta es:
Todas funcionan al mismo tiempo!!
Dr. Andrés David García García
3
Escuela de Ingeniería y Computación
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).

A
AND-1

AND-2 OR-1 F
B
C OR-1
AND-3

• 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
4
Escuela de Ingeniería y Computación
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.

Función A Función B Función C Función D


Proceso

• Como ocurre en la generación de un algoritmo al diseñar un diagrama de


flujo, 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


5
Escuela de Ingeniería y Computación
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

Función A Función B Función C Función D


Proceso

• Pasos:
• Ensamble del chasis
• Pintura El orden de los factores SI altera el producto
• 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


6
Escuela de Ingeniería y Computación
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:

Función A Ꚍ Función B Ꚍ Función C Ꚍ Función D Ꚍ


Proceso
Auto 1
Insumos

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

Primer auto del


4 autos en proceso (procesos diferentes) día listo en 4Ꚍ

Dr. Andrés David García García


7
Escuela de Ingeniería y Computación
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


8
Escuela de Ingeniería y Computación
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)

CLK Contador Ascendente


ENA CUENTA

Dr. Andrés David García García


9
Escuela de Ingeniería y Computación
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.

CLK Contador Ascendente


ENA CUENTA

Dr. Andrés David García García


10
Escuela de Ingeniería y Computación
Lógica secuencial y Circuitos síncronos
CUENTA
• Pseudocódigo: 0 0 0
• if CLK = ‘1’ then

Cuenta + 1
0 0 1
• if ENA = ‘0’ then

Reinicio
0 1 0
• Cuenta = Cuenta .. .. ..
• else 1 0 1
• Cuenta = Cuenta + ‘1’ 1 1 0
• end if 1 1 1
• end if

CLK Contador Ascendente


ENA CUENTA

Dr. Andrés David García García


11
Escuela de Ingeniería y Computación
Lógica secuencial y Circuitos síncronos
CUENTA
• Pseudocódigo: 0 0 0
• if CLK = ‘1’ then

Cuenta + 1
0 0 1
• if ENA = ‘0’ then

Reinicio
0 1 0
• Cuenta = Cuenta .. .. ..
• else 1 0 1
• Cuenta = Cuenta + ‘1’ 1 1 0
• end if 1 1 1
• end if

t
SUMA t+1

CLK
ENA CUENTA
‘1’

Dr. Andrés David García García


12
Escuela de Ingeniería y Computación
Lógica secuencial y Circuitos síncronos
CUENTA
• Otra forma de ver el problema: 0 0 0

• Valor de la cuenta => Tpresente 0 0 1

• Valor de la cuenta + 1 => Tfuturo 0 1 0


.. .. ..
1 0 1 Valor presente

1 1 0 Valor futuro

1 1 1

t-1
SUMA t

CLK
ENA CUENTA
‘1’

Dr. Andrés David García García


13
Escuela de Ingeniería y Computación
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 pasado
inmediato

Dr. Andrés David García García


14
Escuela de Ingeniería y Computación
Inducción a los Latches
➢ Uso de realimentación para crear latches :

A B Q
A Q 0 0 0
B OR 0 1 1
1 0 1
1 1 1

Q S Q+
0 0 0
Latch 0 1 1
Q
S S 1 0 1
Mantiene un ‘1’
indefinidamente 1 1 1

Dr. Andrés David García García


15
Escuela de Ingeniería y Computación
Inducción a los Latches
➢ Latch SET :
Q S Q+
0 0 0
0 1 1
OR Q 1 0 1
S
1 1 1

➢ Latch RESET : Q S Q+
0 0 1
0 1 0

OR /Q 1 0 0
S 1 1 0
Q
Dr. Andrés David García García
16
Escuela de Ingeniería y Computación
Latches S R Q Q+
0 0 0 0 Sin
0 0 1 1 Cambio

0 1 0 0
➢ LATCH SET-RESET Reset
0 1 1 0
1 0 0 1 Set
1 0 1 1
1 1 0 X No
R 1 1 1 X
permitido
Q
‘0’, ‘1’

‘0’, ‘0’ ‘0’, ‘1’

‘0’ R, S ‘1’
/Q
S ‘1’, ‘0’ ‘0’, ‘0’
‘1’, ‘0’

Dr. Andrés David García García


17
Escuela de Ingeniería y Computación
Latches

➢ LATCH SET-RESET con señal de control

C S R Q Q+
0 X X 0 0 Retención
S 0 X X 1 1
S Q
1 0 0 0 0 Sin
C 1 0 0 1 1 Cambio
1 0 1 0 0
R /Q Reset
R 1 0 1 1 0
1 1 0 0 1
Set
1 1 0 1 1
1 1 1 0 X No
1 1 1 1 X permitido

Dr. Andrés David García García


18
Escuela de Ingeniería y Computación
Latches

➢ LATCH SET-RESET con señal de control

CSR
110
S S Q
0 1
C 101
R /Q 0dd 0dd
R 1d0
10d

Q+ = SC + /RQ + /CQ

Dr. Andrés David García García


19
Escuela de Ingeniería y Computación
Latches

➢ LATCH Set-Reset con retardo

D C D Q Q+
S Q 0 X 0 0
0 X 1 1
C 1 0 0 0
1 0 1 0
R /Q
1 1 0 1
1 1 1 1

Esto permite tomar sólo una decisión (Set ó Reset)

Dr. Andrés David García García


20
Escuela de Ingeniería y Computación
Latches

➢ LATCH con retardo


CD
11

0 1
10

0d 0d
10 11

Q+ = SC + /RQ + /CQ = DC + /CQ

Dr. Andrés David García García


21
Escuela de Ingeniería y Computación
Flip-Flops

➢ 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”.
Dr. Andrés David García García
22
Escuela de Ingeniería y Computación
Introducción a los Flip-Flops

➢ Flip-Flop SR maestro-esclavo
maestro esclavo
Qint
S S Q S Q Q

C C

R R /Q R /Q /Q

C
Reloj
Dr. Andrés David García García
23
Escuela de Ingeniería y Computación
Introducción a los Flip-Flops
➢ Flip-Flop SR maestro-esclavo

maestro C R C R C R C R C R C R

esclavo R C R C R C R C R C R C

R
Qint

C = compuerta R = retención
Dr. Andrés David García García
24
Escuela de Ingeniería y Computación
Flip-Flops

➢ Flip-Flop SR maestro-esclavo

S R Q C Q+
SR
0 0 0 0
10 0 0 1 1
0 1 0 0
0 1 0 1 1 0
01 1 0 0 1
1 0 1 1
0d 0d
1 1 0 X
1 1 1 X
= pulso en C

Dr. Andrés David García García


25
Escuela de Ingeniería y Computación
Flip-Flops

➢ Flip-Flop D maestro-esclavo
maestro esclavo
Qint
D D Q D Q Q

C C

/Q /Q /Q

C
Reloj
Dr. Andrés David García García
26
Escuela de Ingeniería y Computación
Flip-Flops

➢ Flip-Flop D maestro-esclavo

D
1 D Q C Q+
0 0 0
0 1 0
0 1
1 0 1
0
1 1 1
0 1

= pulso en C

Dr. Andrés David García García


27
Escuela de Ingeniería y Computación
Flip-Flops

➢ Flip-Flop JK maestro-esclavo

J K Q C Q+
JK
0 0 0 0
1d 0 0 1 1
0 1 0 0
0 1 0 1 1 0
d1 1 0 0 1
1 0 1 1
0d d0
1 1 0 1
1 1 1 0
= pulso en C

Dr. Andrés David García García


28
Escuela de Ingeniería y Computación
Flip-Flops

➢ Flip-Flop T maestro-esclavo

T
1 T Q C Q+
1 0 1
1 1 0
0 1
1

0 0

= pulso en C

Dr. Andrés David García García


29
Escuela de Ingeniería y Computación
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


30
Escuela de Ingeniería y Computación
Máquinas de estado

➢Modelo MEALY : Las salidas son funciones de las


entradas así como del estado actual.

Entrada
A
Edo. Actual 0 1 1/0
1/1
A B/1 C/0
0/1 0/0
B B/0 A/1
C A/0 C/0 B C

Estado/salida 0/0
1/0
Dr. Andrés David García García
31
Escuela de Ingeniería y Computación
Máquinas de estado

➢Modelo MOORE : Las salidas sólo dependen del


estado actual.

Entrada
A/0
Edo. 0 1 Salida 1
1
Actual
0 0
A C B 0
B B C 1 C/0 B/1
1
C B A 0 0

Dr. Andrés David García García


32
Escuela de Ingeniería y Computación
Máquinas de estado

➢ Ejemplo : Máquina de dos estados


X/Z
Entrada X
1/0 Edo. 0 1
0/0 Actual
A B A A/ B/
1/1 0 0
B B/ A/
0/0 0 1
Estado/Z
Y = ‘0’ = A
Y = ‘1’ = B
Dr. Andrés David García García
33
Escuela de Ingeniería y Computación
Máquinas de estado

➢ Mapa de Karnaugh

Estado :
Entrada X Z = XY
Estado 0 1
Y = X xorY
0 0/0 1/0
Y Estado Futuro :
1 1/0 0/1
Z+ = XY
Y+ = X xor Y

Dr. Andrés David García García


34
Escuela de Ingeniería y Computación
Máquinas de estado

➢ Circuito con Flip-Flop tipo D :

Z
Z=XY
X
Y+

Y+ = estado futuro
Q D

/Q CLK

Dr. Andrés David García García


35
Escuela de Ingeniería y Computación
Máquinas de estado

➢ Circuito con Flip-Flop tipo D :

Z
Proceso de Salida

X
Y+ Proceso de Estado
Futuro

Q D
Tiempo
/Q CLK

Dr. Andrés David García García


36
Escuela de Ingeniería y Computación
Máquinas de estado

➢ Circuito con Flip-Flop tipo T :

Z
X Z=XY
Y+

Y+ = estado futuro
Q T

/Q
CLK

Dr. Andrés David García García


37
Escuela de Ingeniería y Computación

También podría gustarte