presentación de powerpointhomepage.cem.itesm.mx/garcia.andres/pdf201411... · •ejemplo de un...

37
Lógica Secuencial Dr. Andrés David García García Escuela de Ingeniería y Ciencias Campus Estado de México

Upload: others

Post on 20-Apr-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

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

Máquinas de estado

Dr. Andrés David García GarcíaEscuela de Ingeniería y Computación

37

➢ Circuito con Flip-Flop tipo T :

Q

/Q

T

CLK

X

Y+

Z

Y+ = estado futuro

Z = X Y