UNIDAD 6 Circuitos Secuenciales Sincronos

40
CIRCUITOS SECUENCIALE S SÍNCRONOS UNIDAD 6

Transcript of UNIDAD 6 Circuitos Secuenciales Sincronos

Page 1: UNIDAD 6 Circuitos Secuenciales Sincronos

CIRCUITOS SECUENCIALES SÍNCRONOSUNIDAD 6

Page 2: UNIDAD 6 Circuitos Secuenciales Sincronos

Circuitos secuenciales 6.1 Maquinas Mealy y Maquinas Moore 6.2 Temporizadores

6.2.1 Circuito 555 modo monoestable 6.2.2 Circuito 555 modo astable

6.3 FLIP FLOPS 6.3.1 R-S 6.3.2 J-K 6.3.3 D 6.3.4 T 6.3.5 Maestro-Esclavo

6.4 Diagramas y ecuaciones de estado 6.5 Circuitos síncronos y asíncronos 6.6 Circuitos secuenciales básicos

6.6.1 Registros 6.6.2 Contadores 6.6.3 Memorias

6.7 Circuitos lógicos programables 6.8 Descripción de circuitos mediante VHDL

Page 3: UNIDAD 6 Circuitos Secuenciales Sincronos

Circuitos Digitales

Su salida depende únicamente de su entrada

Combinacionales

Secuenciales

Su salida depende de su entrada y del estado anterior.

Las variables de estado son las etiquetas asignadas a los estados anteriores.

Debe de obedecer una secuencia, dependen del tiempo.

De aquí que deba mantener ese estado por

un poco de tiempo

mediante

Dispositivos de memoria

(tan sencillos como el retardo

asociado a las compuertas “tiempo de

propagación”

Flip-flop’s multivibrador

biestable

o astable (monoestable)

Cto. Secuencial Asíncrono

Cto. Secuencial Síncrono

Los cambios de estado se realizan al ritmo de los retardos asociados a los CI llamados: “Tiempos de Propagación”.

Desventajas: El diseñador no tiene el control el tiempo de sus secuencias.

Puede haber errores de calculo.

Solo permite el cambio de estado en los instantes marcados por una señal de sincronismo.

Maquina de Mealy Maquina de Moore

Page 4: UNIDAD 6 Circuitos Secuenciales Sincronos

Modelo General Maquinas de Estado Finito. En el modelo general la salida esta dada por la entrada y el

estado anterior, sin alguna lógica de salida que acondicione la señal, es directa y sin codificación.

CIRCUITOCOMBINACIONAL

MEMORIA

ET

QT-ΔT QT

ST=f(ET,QT-ΔT)

Almacena el estado interno del sistema

Page 5: UNIDAD 6 Circuitos Secuenciales Sincronos

Modelo de Moore En el modelo de Moore las salidas solo son función de las variables de

estado, es decir del Estado Presente. Por último cuenta con una lógica de salida, que decodifica y acondiciona la señal para ser recibida por el siguiente modulo.

SALIDAS TIPO MOOREDependen únicamente del Estado presente generado a partir de las entradas

y las variables de estado anterior.

Lógica de

salida

Page 6: UNIDAD 6 Circuitos Secuenciales Sincronos

Modelo de Mealy En el modelo de Mealy las salidas en instantes anteriores están

expresadas por un conjunto de Variables de Estado, de esta manera las salidas actuales dependen tanto de las entradas como de las variables de estado guardadas previamente en dispositivos de memoria. Además posee una lógica de salida que la acondiciona para ser recibida por el siguiente modulo.

SALIDAS TIPO MEALYDependen tanto de las entradas como de las nuevas variables de Estado (o

estados) generadas a partir de las entradas y las variables de estado anterior.

Lógica de

salida

Page 7: UNIDAD 6 Circuitos Secuenciales Sincronos

Flip-Flop’s y cerrojos (Latch)

Los circuitos secuenciales implementan el control síncrono de forma básica mediante flip-flop’s y Latches.

La Lógica secuencial requiere de elementos de memoria (biestables-dos estados estables) para “almacenar estados”

Estos elementos se dividen en: Biestablesdisparados por nivel (LATCH) Biestablesdisparados por flanco (FLIP-FLOPS)

La diferencia entre ellos es que los Latch están diseñados para trabajar con niveles (estados) y los Flip-flops para trabajar con flancos (cambios de estados).

Page 8: UNIDAD 6 Circuitos Secuenciales Sincronos

Latches El Latch (cerrojo) es un dispositivo de almacenamiento temporal de

dos estados (biestable). Almacenan información en forma asíncrona Con Latches se pueden hacer directamente circuitos secuenciales o

se pueden usar para crear Flip-Flops

Page 9: UNIDAD 6 Circuitos Secuenciales Sincronos

LATCH (SET-RESET) SR  

Page 10: UNIDAD 6 Circuitos Secuenciales Sincronos

LATCH (SET-RESET) SR

El aplicar 11 simultáneos debe evitarse en NOR El aplicar 00 simultáneos debe evitarse en NAND Ya que sus salidas Q=Q’ violan el que Q sea complemento de Q’.

ESTADO DE AJUSTE (estado 1): Cuando S=1 entonces Q=1 y Q’=0

ESTADO DE DESPEJADO (estado 0): Cuando R=1 entonces Q=0 y Q’=1

Page 11: UNIDAD 6 Circuitos Secuenciales Sincronos

LATCH (SET-RESET) SR

Caso 2, cuando CP=1 El nivel dos funciona con los valores que R y S

tengan en esos momentos. Estado de Ajuste (estado1): Cuando S=1, R=0

y CP=1 Estado despejado (estado 0): Cuando S=0,

R=1 y CP=1

Caso 1, no funciona el 2do nivel (flip-flop) Salidas AND=0 Cuando CP=0

La función del estado siguiente esta en función de Estado presente

Page 12: UNIDAD 6 Circuitos Secuenciales Sincronos

FLIP-FLOP D (delay) Cuando CP=0

entonces S3 y S4 =1 en sus salidas, sin importar R y S, este es el estado inicial del Flip-Flop NAND de inicio en 1 en sus entradas.

Estado de ajuste (edo 1) Si D=1, S3 pasa a 0

Estado despejado (edo 0) Si D=0, S4 pasa a 0

FF-D es dependiente únicamente de la entrada D y no del Estado anterior lo que lo hace solo un paso de datos sincronizados.

Page 13: UNIDAD 6 Circuitos Secuenciales Sincronos

FLIP-FLOP JK (Jack Kilby) Es el Flip- Flop RS

refinado ya que los Estados indeterminados del RS se definen aquí.

J=ajuste y K=despeje, J y K entran simultáneamente y al entrar el flip-flop cambia a su estado complementario, Q=1 cambia a 0 y viceversa Q’=0 cambia a 1, etc.

Estado despejado (0) solo si al pulso de CP, Q previo era 1 y K=1

Estado Ajustado (1) Solo si al CP=1, Q’= previo era 1 y J=1

Page 14: UNIDAD 6 Circuitos Secuenciales Sincronos

Maestro-Esclavo

El tiempo de CP debe ser menor al retardo de propagación de los datos en el circuito, ya que si es mayor producirá conflictos. Esto se evita con la configuración, maestro esclavo o disparo de borde.

Cuando CP=0, inv=1 permitiendo que y=Q

Cuando CP=1, inv=0 permitiendo que S entre al maestro y se deshabilite el esclavo sin alterar el dato del esclavo, al volver CP=0 se recorre el dato del maestro al esclavo

Page 15: UNIDAD 6 Circuitos Secuenciales Sincronos

Descripción de sistemas:diagramas de estado

Diagrama utilizado para identificar cada una de las rutas o caminos que puede tomar un flujo de información luego de ejecutarse cda proceso. Permite identificar bajo que criterios se realiza algún proceso y en que punto podría cambiar, además de visualizar la secuencia.

Cada estado se representa por un círculo.

B/S2

E

A/S1 B

E/S

A

Transición entre el estado A y el B para un autómata de Moore, su

salida se indica en la esfera.

Transición entre el estado A y el B para un autómata de Mealy. Su salida se indica en la trancisión

in/out.

Page 16: UNIDAD 6 Circuitos Secuenciales Sincronos

Ejemplo:Análisis de un sistema secuencial (I)

S

CLK

E

Q1

Q1

J1

K1

Q2

Q2

J2

K2

2T1T QQE(t)S(t)

Función de salida:

Funciones de transición:

2T1TTT QQEJ1

TT EJ2 TT EK1

2TT QK2

Salidas del flip flop

Page 17: UNIDAD 6 Circuitos Secuenciales Sincronos

Ejemplo: Análisis de un sistema secuencial (II)

Tabla de funcionamiento (tabla de verdad):

E Q1T Q2T J 1 K1 J 2 K2 Q1T+ΔT Q2T+ΔT ST

0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 1 1 0 0 1 1 0 0 0 1 0 1 1 1 1 1 1 0 0 1 1 1 0 0

Page 18: UNIDAD 6 Circuitos Secuenciales Sincronos

Ejemplo:Análisis de un sistema secuencial (III)

Tabla de transiciones:

E Q1T Q2T Q1T+ΔT Q2T+ΔT ST

0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 0 0

QT+ΔT

QT E=0 E=1

00 10/ 0 01/ 0 01 10/ 0 10/ 0 10 00/ 0 11/ 1 11 00/ 0 10/ 0

estado en el instante

T

estado en el instante

T+ΔT/salida

Page 19: UNIDAD 6 Circuitos Secuenciales Sincronos

Ejemplo:Tabla de estados: “Bautizamos” cada

combinación de variables de estado

QT Estado

00 A 01 B 10 C 11 D

QT+ΔT

QT E=0 E=1

A C/ 0 B/ 0 B C/ 0 C/ 0 C A/ 0 D/ 1 D A/ 0 C/ 0

B

0/0A

D

C

1/0

X/0

0/0

1/1

0/01/0

Diagrama de estados:

entradasalida

estado

Page 20: UNIDAD 6 Circuitos Secuenciales Sincronos

Diseño de un sistema secuencial• Descripción del funcionamiento del sistema

• Tabla y diagrama de estados

• Minimización de estados

• Moore: mismas salidas y mismo estado

• Mealy: mismo estado

• Asignación de variables de estado

• Tabla de transiciones

• Tabla de excitación (tabla de verdad)

• Moore: una para las variables de estado y otra para las salidas

• Mealy: única

Page 21: UNIDAD 6 Circuitos Secuenciales Sincronos

Ejemplo (I)

Se tiene una confluencia de dos vías férreas con el mismo sentido de circulación. Cada vía está dotada de un dispositivo que detecta si hay un vehículo en ella ( A y B) y de un semáforo (LA y LB), ambos a cierta distancia del punto de unión.

Cuando llega un vehículo a cualquiera de los detectores A o B debe activarse la luz de detención de la otra vía, LB o LA respectivamente, con el fin de detener a cualquier vehículo que llegue por esa vía hasta que el primero haya abandonado su detector.

• Descripción del funcionamiento del sistema:

A LA

LBB

Vía A

Vía B

Page 22: UNIDAD 6 Circuitos Secuenciales Sincronos

• Diagrama y tabla de estados (Mealy)

Ejemplo

1: Ningún vehículo2: Llega vehículo por B3: Llega vehículo por A4: Entró vehículo por A y llega por B5: Entró vehículo por B y llega por A

21

3

10/01

4

5

11/0100/00

10/01

01/10

00/0001/10

11/10

00/0001/10

11/10

11/01

10/01

AB ESTADO 00 01 10 11

LA LB

1 1 2 3 - 0 0 2 1 2 - 4 1 0 3 1 - 3 5 0 1 4 - - 3 4 1 0 5 - 2 - 5 0 1

En la máquina de estados de Mealy, las salidas cambian cuando lo hacen las entradas

Page 23: UNIDAD 6 Circuitos Secuenciales Sincronos

• Diagrama y tabla de estados (Moore)

Ejemplo

En la máquina de estados de Moore, las salidas sólo dependen de las variables de estado

1: Ningún vehículo2: Llega vehículo por B3: Llega vehículo por A4: Entró vehículo por A y llega por B5: Entró vehículo por B y llega por A

2/101/00

3/01

10

4/10

5/01

1100

10

01

0001

11

0001

11

11

10

AB ESTADO 00 01 10 11

LA LB

1 1 2 3 - 0 0 2 1 2 - 4 1 0 3 1 - 3 5 0 1 4 - - 3 4 1 0 5 - 2 - 5 0 1

Page 24: UNIDAD 6 Circuitos Secuenciales Sincronos

• Minimización de estados

Se pueden fusionar líneas de la tabla de estado que tengan los mismos números (estado) en las columnas y que tengan las mismas salidas (Moore) o distintas (Mealy)

AB ESTADO 00 01 10 11

LA LB

1 1 2 3 - 0 0 2, 4 1 2 3 4 1 0 3, 5 1 2 3 5 0 1

Por Moore podemos fusionar los estados 2/4 y el 3/5

Por Mealy podemos fusionar los estados 1/2/4 y el 3/5AB ESTADO

00 01 10 11 1, 2, 4 1 / 00 2 / 10 3 / 01 4 / 10

3, 5 1 / 00 2 / 10 3 / 01 5 / 01

Asignamos la salida correspondiente al estado estable

Ejemplo

Page 25: UNIDAD 6 Circuitos Secuenciales Sincronos

• Asignación de variables de estado

Codificamos cada estado con las variables de estado necesarias para asignar un código diferente a cada estado.

Estado Q1 Q0

1 0 0 2, 4 1 0 3, 5 0 1

Por Moore tenemos que diferenciar tres estados: necesitamos dos variables de estado.

Podemos asignar valores de las variables de estado con cualquier criterio. Aquí hemos hecho coincidir estos valores con las salidas

Por Mealy tenemos que diferenciar dos estados: necesitamos una variable de estado.

Estado Q

1, 2, 4 0 3, 5 1

Ejemplo

Page 26: UNIDAD 6 Circuitos Secuenciales Sincronos

• Tabla de transiciones:

AB Q1Q0

00 01 10 11 LA LB

00 00 10 01 - 0 0 10 00 10 01 10 1 0 01 00 10 01 01 0 1

Moore

AB Q

00 01 10 11

0 0/ 00 0/ 10 1/ 01 0/ 10

1 0/ 00 0/ 10 1/ 01 1/ 01

Mealy

En la tabla de estados simplificada sustituimos cada estado por el valor de las variables de estado que le hemos asignado en la codificación

Valor de las variables de estado en el instante T

Valor de las variables de estado en el instante T+Δt para una entrada determinada

Ejemplo

Page 27: UNIDAD 6 Circuitos Secuenciales Sincronos

• Tabla de excitación (tabla de verdad)

Por Moore tenemos dos tablas de verdad, una para las salidas en función exclusivamente de las variables de estado y otra para las variables de estado en función del estado anterior y de las entradas

A B Q1T Q0T Q1T+T Q0T+T

0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 X X 0 1 0 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 X X 1 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 1 0 1 1 X X 1 1 0 0 X X 1 1 0 1 0 1 1 1 1 0 1 0 1 1 1 1 X X

Q1TQ0T LA LB

00 0 0 10 1 0 01 0 1

AB Q1Q0

00 01 10 11 LA LB

00 00 10 01 - 0 0 10 00 10 01 10 1 0 01 00 10 01 01 0 1

Ejemplo

Page 28: UNIDAD 6 Circuitos Secuenciales Sincronos

• Tabla de excitación (tabla de verdad)

Por Mealy tenemos una única tabla de verdad

A B QT QT+T LA LB

0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 1 0 1

AB Q

00 01 10 11

0 0/ 00 0/ 10 1/ 01 0/ 10

1 0/ 00 0/ 10 1/ 01 1/ 01

Ejemplo

Page 29: UNIDAD 6 Circuitos Secuenciales Sincronos

Circuitos secuenciales

Cronograma del circuito

Page 30: UNIDAD 6 Circuitos Secuenciales Sincronos

Circuitos secuenciales

Secuencia de conteo

library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity cont4 is

port (clk: in std_logic; Q: inout std_logic_vector (3 downto 0));

end cont4;architecture arqcont of cont4 isbegin process (clk)

beginif (clk’event and clk = ‘0’) then Q <= Q +1;end if;

end process;end arqcont;

Contador VHDL

Page 31: UNIDAD 6 Circuitos Secuenciales Sincronos

Circuitos secuenciales

Page 32: UNIDAD 6 Circuitos Secuenciales Sincronos

Circuitos secuenciales

Page 33: UNIDAD 6 Circuitos Secuenciales Sincronos

Circuitos secuenciales

Page 34: UNIDAD 6 Circuitos Secuenciales Sincronos

Circuitos secuenciales

Page 35: UNIDAD 6 Circuitos Secuenciales Sincronos

Circuitos secuenciales

Page 36: UNIDAD 6 Circuitos Secuenciales Sincronos

Circuitos secuenciales

Page 37: UNIDAD 6 Circuitos Secuenciales Sincronos

Circuitos secuencialesUnidad de memoria.-

Page 38: UNIDAD 6 Circuitos Secuenciales Sincronos

Circuitos secuenciales 6.7 Circuitos lógicos programables

Como ejemplo se vera brevemente la ALU, Unidad lógica aritmética

Page 39: UNIDAD 6 Circuitos Secuenciales Sincronos

Circuitos secuenciales

6.7 Circuitos lógicos programables Como ejemplo se vera brevemente la ALU,

Unidad lógica aritmética

Page 40: UNIDAD 6 Circuitos Secuenciales Sincronos

Circuitos secuenciales