Post on 28-Nov-2015
CIRCUITOS SECUENCIALES SÍNCRONOSUNIDAD 6
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
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
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
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
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
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).
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
LATCH (SET-RESET) SR
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
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
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.
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
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
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.
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
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
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
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
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
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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
Circuitos secuenciales
Cronograma del circuito
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
Circuitos secuenciales
Circuitos secuenciales
Circuitos secuenciales
Circuitos secuenciales
Circuitos secuenciales
Circuitos secuenciales
Circuitos secuencialesUnidad de memoria.-
Circuitos secuenciales 6.7 Circuitos lógicos programables
Como ejemplo se vera brevemente la ALU, Unidad lógica aritmética
Circuitos secuenciales
6.7 Circuitos lógicos programables Como ejemplo se vera brevemente la ALU,
Unidad lógica aritmética
Circuitos secuenciales