2. almacenamiento estático de la información: latches y

Anuncio
TEMA 4. Registro de la Información
1. Introducción. (2)
1.1 Sistemas síncronos y asíncronos(3)
( )
1.2 Relojes. Características (4 – 10)
2. Almacenamiento estático de la información: Latches y
Biestables (11 – 18)
2.1 Entradas Asíncronas Preset y Clear (19)
. Latch
L
tipo
p D (20
(
– 24))
2.2
2.3 Biestables tipos D y T (25 – 47)
3. Especificaciones de los biestables. (48 - 52)
31R
3.1
Retardos.
d
Tiempos de
d set-up y de
d hold.
h ld Frecuencia
F
máxima fmax
3 2 Hojas de características de la familia 74HCxx
3.2
4. Registros de desplazamiento uni y bidireccionales. (53–65)
5. Pilas FIFO y LIFO. (66 – 70)
6. Contadores. (71 - 77)
1
1. INTRODUCCIÓN
L Sistemas
Los
Si t
S
Secuenciales
i l son aquellos
ll sistemas
i t
di it l en los
digitales
l que la
l
salida en un instante dado, depende de las entradas en ese instante y de
la HISTORIA del sistema, determinada por el ESTADO; es decir, serán
sistemas con MEMORIA.
MEMORIA
Para diseñar Sistemas Secuenciales es necesario utilizar elementos que
memoricen el estado del sistema,
sistema que almacenen información.
información
Los sistemas secuenciales disponen de 4 tipos de señales: entrada, salida,
variables de excitación y variables de estado; las dos últimas serán,
serán las
entradas y salidas de los elementos de memoria, respectivamente.
Los circuitos secuenciales están constituidos por circuitos combinacio
combinacionales y elementos de memoria.
Sistemas de Almacenamiento de información:
• CÉLULAS ESTÁTICAS: están basadas en realimentación. BIESTABLES
• CÉLULAS DINÁMICAS: basadas en al almacenamiento de carga
g en la capacidad
p
de
puerta de los dispositivos MOS. PUERTA DE TRANSMISIÓN
Ó -INVERSOR
2
1.1 SISTEMAS SÍNCRONOS Y ASÍNCRONOS
Los sistemas
L
i
secuenciales
i l se pueden
d clasificar
l ifi
d
de
acuerdo con la respuesta respecto a una señal de
reloj en Síncronos y Asíncronos.
Asíncronos
Síncronos son aquellos en los que existe al menos
una señal de reloj que va marcando en que
momento se pueden producir los cambios en el
circuito: sincroniza el funcionamiento del circuito.
circuito
Son sistemas en los que los cambios en los estados
se producen controlados por una señal de
activación a través de una entrada especial del
sistema,, denominada “entrada de reloj”
j
Asíncronos son aquellos
q
que responden
q
p
autónomamente a los cambios de las entradas
3
1.2 RELOJES: CARACTERÍSTICAS (I)
Una señal
Un
s ñ l de
d reloj
l j se
s genera
n
c n lo
con
l que
qu se
s conoce
c n c como
c m OSCILADOR A
CRISTAL.
Se construye con material piezoeléctrico Æ bajo una corriente alterna de
produce
cierta frecuencia,, el cristal oscila y viceversa: si el cristal oscila p
una corriente alterna (AC).
Frecuencia = k/L
k= cte dependiente del corte del cristal y L = anchura
La frecuencia de estos osciladores varía con el tiempo debido a:
– Envejecimiento
– Efectos
Ef t de
d la
l temperatura
t
t
– Otras causas.
(en los cristales utilizados para la fabricación de relojes y computadores
se tiene una variación de 1 ppm al día (1/106 o sea 0,0001 %)).
Los materiales mas utilizados son
son:
– Turmalina (silicato de Na, Li, Mg, Fe...): mas resistente
– Cuarzo: mas abundante y barato. Funciona bien hasta
Para frecuencias mayores (del orden de 100MHz) hay
t cristales
tar
i t l de
d otros
t
ti
tipos.
– Sales de Rochelle (tartrato doble de Na y K) KNaC4H4O6
y cara.
10 MHz.
que mon*4H2O.4
1.2 RELOJES: CARACTERÍSTICAS (II)
Las señales de reloj son un conjunto (tren) de pulsos
j
de valores
normalmente simétricos; es decir,, un conjunto
altos (1) y bajos (0), continuo en el tiempo.
Cuando
C
d los
l intervalos
i t
l de
d tiempo
ti
son fijos
fij entre
t ellos
ll se forma
f
un tren periódico, que queda definido mediante el valor de su
periodo (T) o el de su inversa,
inversa la frecuencia (f)
Si no tiene repetición de pulsos en forma periódica, se
pulsos no p
periódico.
obtiene un tren de p
W
T1
T2
T3
Tren de pulsos periódico
Tren de pulsos no periódico
5
1.2 RELOJES: CARACTERÍSTICAS (III)
CRONOGRAMA o DIAGRAMA DE TIEMPOS: es
una ilustración o
gráfica de ondas digitales
g
g
que
q muestra la relación temporal
p
entre varias señales.
1
Reloj
0
T
1
A
0
Secuencia
de bits
que
representa
la señal A
1
0
1
0
0
0
1
0
Cronograma con señal de reloj y señal A
6
1.2 RELOJES: CARACTERÍSTICAS (IV)
CARACTERÍSTICAS DEL PULSO DE RELOJ :
- Anchura del pulso (W)
- Periodo (T)
(F)
- Frecuencia (F),
F = 1/ T
* ciclo de trabajo
j = W/T
Ciclo de trabajo
Atendiendo a la “forma de trabajo” de los circuitos
con respecto al reloj:
- activación por flanco
- activación
ó por nivell
7
1.2 RELOJES: CARACTERÍSTICAS (V)
• ACTIVACIÓN
o FUNCIONAMIENTO por: NIVEL
La señal de reloj debe alcanzar el nivel de tensión
Ventajas: La información se transmite durante un tiempo considerable.
I
Inconvenientes:
i t
P ibl fl
Posibles
fluctuaciones
t
i
en los
l valores
l
de
d la
l tensión
t
ió
("guiños").
CLK
CLK
ALTO
φ =1
BAJO
φ =0
8
1.2 RELOJES: CARACTERÍSTICAS (VI)
• ACTIVACIÓN
Ó o FUNCIONAMIENTO por: FLANCO
Solamente actúa en las transiciones
POSITIVO O DE SUBIDA
CLK
NEGATIVO
E
O DE
E BAJADA
CLK
Ventajas:
V
t j
F
Funciona
i
en llas transiciones
t
i i
y se evitan
it ""guiños".
iñ "
Inconvenientes: Que la pendiente de la señal sea elevada y no de
tiempo suficiente para que pase la información.
9
1.1 RELOJES: CARACTERÍSTICAS (VII)
TEMPORIZACIÓN: señales de reloj
• ESTRATEGIAS DE TEMPORIZACIÓN:
– Una fase de reloj Ф
– Doble fase de reloj Ф Ф
– Pseudo doble fase o dos fases sin solapamiento
Ф1 y Ф2
– Cuatro fases Ф1 Ф2 Ф1 Ф2
– Pseudo cuatro fases Ф1 Ф2 Ф3 Ф4
10
2.ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
( )
LATCHES Y BIESTABLES (I)
BIESTABLE: Unidad elemental de almacenamiento, que
permite almacenar 1 bit; p
p
puede almacenar dos estados
estables ”0” y “1”: La información almacenada puede ser
recuperada (leida) y la lectura no es destructiva.
•
LATCHES (CERROJOS)
– Asíncronos
• Implementación con inversores
• RS NOR, RS NAND
– Síncronos (por nivel)
• RS NOR, RS NAND
• JK,
JK D y T
•
Con entradas asíncronas: PRESET (PR) y CLEAR (CLR)
•
FLIP-FLOPS
FLIP
FLOPS (Síncronos
(Sí
por fl
flanco))
– Master-Slave (Amo-Esclavo)
• D, SR, JK, T
Unidad de varios bits: REGISTRO
11
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES ((II))
LATCH CON INVERSORES ASÍNCRONO (histórico)
La idea básica de la célula estática se puede mostrar en un circuito
formado por dos inversores: realimentación
Si Q = 0
Q=1
Si Q = 1
Q=0
Realimentación la señal de salida se realimenta a la entrada,
Realimentación:
conservando el valor
Dos estados estables Q y Q
No podemos elegir en cual de los estados posibles se va a encontrar el
biestable
No podemos modificar el estado: hemos de añadir 2 señales externas
12
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (III)
Para resolver las limitaciones de la implementación
p
anterior, se plantea la utilización de otras puertas
lógicas con mayor número de entradas
Puertas NOR
Puertas NAND
13
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (IV)
LATCH SR (set-reset) (activar-desactivar).
Construido con 2 puertas NOR con ACOPLAMIENTO CRUZADO
Asíncronos: Las entradas actúan continuamente y las salidas
están disponibles inmediatamente (tras retardos del circuito).
14
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (V)
LATCH SR. Construido con 2 puertas NAND con ACOPLAMIENTO
CRUZADO
S R Q Qnext Qnext
S
Q
R
Q
Qn+1 = S.Qn
00
01
10
11
11
x
x
x
0
1
1
1
0
0
1
1
0
1
1
0
Si R=1 Qnext = 1
Si R=0 Qnext = 0
Qn+1 = R. Qn
Asíncronos. Las entradas actúan continuamente y las salidas
están
tá disponibles
di
ibl iinmediatamente
di t
t (t
(tras retardos
t d d
dell circuito).
i
it )
15
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (VI)
LATCH SR: RESUMEN
S
S
R
R
Q
Q
16
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES ((VII))
LATCH SR NAND “SÍNCRONO” POR NIVEL ALTO (I)
E
(S+Qn) R = Qn+1
S/R
Reloj salida
CLK
0
0
1
0
1
1
1
0
1
1
1
ж
Si Reloj = CLK= 0
Salida de las puertas NAND es “1” se
mantiene el estado
Si Reloj = CLK= 1
Salida de las puertas NOR es S y R,
R
respectivamente
COMPORTAMIENTO IDÉNTICO AL
MODELO ANTERIOR
17
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES ((VIII))
LATCH SR NAND “SÍNCRONO” POR NIVEL ALTO (II)
Qn+1 = S.Qn
Qn+1 = R. Qn
S
S
R
R
2,0
Q
Q
Si S=0 y R=1
Q=1
Si S=1 y R=0
Q=1
Q
1
2 ciclos
2 ciclos
18
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES ((IX))
LATCH SR NAND SÍNCRONO POR NIVEL ALTO CON ENTRADAS
ASÍNCRONAS PRESET Y CLEAR (III)
ENTRADAS ASÍNCRONAS
ASÍNCRONAS: tienen prioridad sobre las entradas
síncronas de los biestables
PRESET: puesta a uno (si PR = 1 Q =0)
CLEAR: puesta
p st a cero (si CL = 1 Q =0)
0)
19
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES
LA
HES Y BIESTABLES
BIES ABLES (X)
2.2 LATCH D NAND SÍNCRONO POR NIVEL ALTO CON ENTRADAS
ASÍNCRONAS PRESET Y CLEAR (I)
S R
D
Qn+1
Qn+1
0 1
0
0
1
1 0
1
1
0
CLR
L = 1
Q = 0
PRS = 1
Q = 0
20
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (XI)
2.2 LATCH D (síncrono por nivel) (II)
Con reloj
reloj:
• LATCH disparados por NIVEL
CLK
D
1
1
0
0
1
x
Q Qnext Qnext Modo
P
t a0
x
0
1 Puesta
x
1
0 Puesta a 1
x No cambia Inactivo
MODELADO CON VHDL
--Entidad
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.all;
ENTITY latch_D IS
GENERIC (retardo:TIME:= 0 NS);
PORT (clock,d:
(clock d: IN STD_LOGIC;
STD LOGIC; q: OUT STD_LOGIC);
STD LOGIC);
END latch_D;
21
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (XII)
2.2 LATCH D (síncrono por nivel) (III)
MODELADO CON VHDL
CLK
D
1
1
0
0
1
x
Q Qnext Qnext Modo
x
0
1 Puesta a 0
x
1
0 Puesta a 1
x No cambia Inactivo
Activo
ct o por nivel
n
alto de clock
-- Arquitectura en estilo de comportamiento
-----------------------------------------------------------------ARCHITECTURE comporta_latch OF latch_D IS
BEGIN
PROCESS (clock,d)
( l k d)
BEGIN
IF clock = '1' THEN -- activo a nivel alto
-- IF clock = ‘0'
0' THEN -- activo a nivel bajo
q<= d AFTER retardo;
END IF;
END PROCESS;
END comporta_latch;
22
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (XIII)
2.2 LATCH D (síncrono por nivel) (IV)
Activo por el nivel
alto de clock
MODELADO CON VHDL
-- Arquitectura en estilo de flujo de datos
-- Activo a nivel alto
-------------------------------------------------------ARCHITECTURE flujo OF latch_D IS
BEGIN
q <= d AFTER retardo WHEN clock = '1'; -- activo a nivel alto
--q <= d AFTER retardo WHEN clock = ‘0'; -- activo a nivel bajo
END flujo;
23
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (XIV)
2.2 LATCH D (síncrono por nivel) (V)
CLK
D
1
1
0
0
1
x
RESULTADOS DE SIMULACIÓN
Q Qnext Qnext Modo
x
0
1 Puesta a 0
x
1
0 Puesta a 1
x No cambia Inactivo
Activo a nivel alto
Activo a nivel bajo
NOTA: Los
NOTA
L valores
l
que se presentan
t a la
l entrada
t d se reflejan
fl j en la
l salida
lid
durante el tiempo que la señal de reloj está activa
24
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (XV)
( )
2.3 FLIP FLOP D (biestable síncrono por flanco) (I)
D CLK
Q(t) Q(t)
Comentario
0
0
1
RESET (almacena un 0)
1
1
0
SET (almacena un 1)
25
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (XVI)
2.3 FLIP FLOP D (biestable D síncrono por flanco MASTER SLAVE) (II)
DOS LATCHES SR CONCATENADOS
Q
26
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES ((XVII))
2.3 FLIP FLOP D (biestable D síncrono por flanco) (III)
FLANCO DE BAJADA
Si Reloj = CLK= 0 mantiene estado en 1º D
27
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES ((XVIII))
2.3 FLIP FLOP D (biestable D síncrono por flanco) (IV)
FLANCO DE BAJADA
28
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES ((XIX))
2.3 FLIP FLOP D (biestable D síncrono por flanco) (V)
FLANCO DE SUBIDA
29
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES ((XX))
2.3 FLIP FLOP D (biestable D síncrono por flanco) (VI)
FLANCO DE SUBIDA
30
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (XXI)
2.3 FLIP FLOP D (biestable D síncrono por flanco de subida) (VII)
D
Qm
Qs
Tiempo T
t0
t1
t2
t3
t4
t5
t6
t7
t8
t9
31
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (XXII)
2.3 FLIP
F P FLOP
F P D (VIII)
(
)
MODELADO CON VHDL
--Entidad
LIBRARY IEEE;
USE ieee.STD_LOGIC_1164.all;
ENTITY biestable_D IS
GENERIC (retardo:TIME:=0 ns);
PORT (clock, d: IN STD_LOGIC; q: OUT STD_LOGIC);
END biestable_D;
32
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (XXIII)
(
)
2.3 FLIP FLOP D (IX)
MODELADO CON VHDL
-- Arquitectura en estilo de COMPORTAMIENTO
-- Reloj
R l j Activo
A i por fl
flanco d
de subida
bid [rising_edge
[ i i
d ((clock)]
l k)]
-- Reloj Activo por flanco de bajada [falling_edge (clock)]
------------------------------------------------------------ARCHITECTURE comporta_biestable OF biestable_D IS
BEGIN
PROCESS (clock)
BEGIN
-- IF rising_edge (clock) THEN --Flanco de subida
IF falling
falling_edge
edge (clock) THEN --Flanco de bajada
q<=d AFTER retardo;
END IF;
END PROCESS;
END comporta_biestable;
33
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (XXIV)
(
)
2.3 FLIP FLOP D (X)
MODELADO CON VHDL
-- Arquitectura en estilo de FLUJO DE DATOS
------------------------------------------------------------ARCHITECTURE flujo OF biestable_D IS
BEGIN
q <= d AFTER retardo WHEN falling_edge (clock); --Flanco de bajada
END flujo;
34
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (XXV)
2.3 FLIP
F P FLOP
F P D (XI)
( )
RESULTADOS DE SIMULACIÓN
Activo por flanco de subida
Activo por flanco de bajada
NOTA: los valores que se presentan a la entrada durante el flanco del reloj son los que
se reflejan a la salida.
35
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (XXVI)
2.3 FLIP
F P FLOP
F P D con entradas
d asíncronas
í
( E ) (XII)
(CLEAR)
(
)
MODELADO CON VHDL
36
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (XXVII)
2.3 FLIP
F P FLOP
F P D con entradas
d asíncronas
í
( E ) (XIII)
(CLEAR)
(
)
MODELADO CON VHDL
rising_edge (clock)
falling_edge (clock)
--Entidad
LIBRARY IEEE;
USE ieee.STD_LOGIC_1164.all;
ieee STD LOGIC 1164 all;
ENTITY biestable_D_con_clr IS
PORT (clock,clear,
(clock clear d: IN STD_LOGIC;
STD LOGIC; q: OUT STD_LOGIC);
STD LOGIC);
END biestable_D_con_clr;
37
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (XXVIII)
(
)
2.3 FLIP FLOP D con entradas asíncronas (CLEAR) (XIV)
MODELADO CON VHDL
-- Arquitectura en estilo de COMPORTAMIENTO
-- Clear asíncrono y activo con valor bajo.
-- Se
S evalúa
lú antes
nt s
-- Reloj Activo por flanco de subida [rising_edge (clock)]
------------------------------------------------------------ARCHITECTURE comporta_asin
comporta asin OF biestable
biestable_D_con_clr
D con clr IS
BEGIN
PROCESS (clock, clear)
BEGIN
IF (clear=‘0') THEN q<= '0';
ELSIF rising_edge (clock) THEN q<=d;
END IF;
END PROCESS;
END comporta_asin;
38
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (XXIX)
(
)
2.3 FLIP FLOP D con entradas asíncronas (CLEAR) (XV)
MODELADO CON VHDL
-- Arquitectura en estilo de FLUJO DE DATOS.
DATOS
-- Clear asíncrono.
-- Reloj Activo por flanco de bajada
-----------------------------------------------ARCHITECTURE flujo_asin OF biestable_D_con_clr IS
BEGIN
q<= '0' WHEN clear = ‘o' ELSE d WHEN falling_edge (clock);
END flujo_asin;
39
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (XXX)
2.3 FLIP FLOP D con entradas asíncronas (CLEAR) (XVI)
RESULTADOS DE SIMULACIÓN
Activo por flanco de subida y Clear asíncrono
rising_edge(clock)
WHEN clear = '1'
NOTA: Las líneas están ligeramente desplazadas para una visualización mejor
40
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
(
)
LATCHES Y BIESTABLES (XXXI)
2.3 FLIP FLOP T (biestable T síncrono por flanco) (I)
FLANCO DE BAJADA
FLANCO DE SUBIDA
41
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (XXXII)
2.3 FLIP
F P FLOP
F P T (II)
( )
MODELADO CON VHDL
T
T
--Entidad
LIBRARY IEEE;
USE ieee.STD_LOGIC_1164.all;
ENTITY biestable_T IS
GENERIC (retardo: TIME:= 0 ns);
PORT (clock, t: IN STD_LOGIC; q: OUT STD_LOGIC);
END biestable_T;
bi t bl T
42
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (XXXIII)
(
)
2.3 FLIP FLOP T (III)
T
MODELADO CON VHDL
-- Arquitectura en estilo de COMPORTAMIENTO
-- Reloj Activo por flanco de subida
------------------------------------------------------------ARCHITECTURE comporta_biestable
p
_
OF biestable_T
_ IS
SIGNAL valor_actual_q:STD_LOGIC:= ´0`;
BEGIN
PROCESS (clock)
BEGIN
IF rising_edge (clock) THEN -- Flanco de subida
IF (T=1) THEN valor_actual_q <= NOT valor_actual_q AFTER retardo
E E NULL;
ELSE
END IF;
END IF;
END PROCESS
PROCESS;
END comporta_biestable;
43
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (XXIV)
(
)
2.3 FLIP FLOP T (IV)
T
MODELADO CON VHDL
-- Arquitectura en estilo de FLUJO DE DATOS
-- Reloj Activo por flanco de subida
------------------------------------------------------------ARCHITECTURE flujo OF biestable_T IS
SIGNAL valor_actual_q:STD_LOGIC:= ´0`;
BEGIN
-- Activo por flanco de subida
q<= valor_actual_q;
Valor_actual_q <= NOT valor_actual_q AFTER retardo WHEN risig_edge
( l k) AND T
(clock)
T= ´1` ELSE UNAFFECTED;
UNAFFECTED
END flujo;
44
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (XXXV)
2.3 FLIP FLOP T (V)
RESULTADOS DE SIMULACIÓN
Activo por flanco de subida
Activo por flanco de bajada
NOTA: si ell valor
N
l d
de T es 1 durante
d
lla transición
ó del
d l reloj,
l
lla salida
l d cambia;
b en caso
contrario, permanece igual.
45
2. ALMACENAMIENTO ESTÁTICO DE LA INFORMACIÓN:
LATCHES Y BIESTABLES (XXXVI)
(
)
CARACTERÍSTICAS GENERALES PARA EL MODELADO CON VHDL
- Los elementos de memoria o almacenamiento se
modelan
d l
con sentencias PROCESS
PR CE
(
(estilo
l
d
de
comportamiento) o con sentencias de asignación
concurrente de señal (estilo de flujo de datos)
- Si se utilizan señales asíncronas ((CLEAR),
), estas
hay que incluirlas en la lista de sensibilidad del
PROCESS
46
S
R
Qn+1
0
0
Qn
0
1
0
1
0
1
1
1
ж
S R
D
Qn+1
Qn+1
0 1
0
0
1
1 0
1
1
0
RESUMEN: tipos de
biestables y su tabla de
funcionamiento
47
3. ESPECIFICACIONES DE LOS BIESTABLES (I).
RETARDO DE PROPAGACIÓN
Ó
TR: intervalo de tiempo
requerido para que se produzca un cambio en la salida, una vez
que se ha aplicado
q
p
una señal de entrada. Tiempo
p q
que tarda la
salida de un circuito en responder a las modificaciones de la
entrada
RETARDOS DE PROPAGACIÓN de baja a alta TPLH y de alta a
baja TPHL: Tiempos en que tarda la salida de un circuito en
pasarr de baja
p
j a alta y de alta a baja
j rrespectivamente.
p
m n . Se m
mide
desde el flanco del reloj hasta la transición, baja a alta, o alta a
baja respectivamente.
48
3. ESPECIFICACIONES DE LOS BIESTABLES (II)
TIEMPO DE SETUP TS: tiempo que precede a la activación
del reloj durante el cual las señales de entrada tienen que
mantenerse estables en el nivel adecuado
49
3. ESPECIFICACIONES DE LOS BIESTABLES (III)
TIEMPO DE HOLD TH: tiempo que sigue a la transición activa
del reloj durante el cual la señal de entrada tiene que
mantenerse estable
50
3. ESPECIFICACIONES DE LOS BIESTABLES (IV)
MAXIMA FRECUENCIA DE RELOJ Fmax: es la máxima
que p
puede tener el relojj p
para g
garantizar un
frecuencia q
funcionamiento fiable del circuito. Es la mayor velocidad a la
que se puede disparar el biestable de manera fiable
TIEMPOS DE SUBIDA TR y CAÍDA ((BAJADA)) TF: son los
tiempos que tardan las señales aplicadas a los circuitos en
pasar del 10 al 90% y del 90 al 10% de su valor total,
respectivamente.
ti
t
Tiempo de subida
CRLA
CRLB
DA
Tiempo de bajada
51
CLK PRA QA QA
DB CLK PRB QB QB
74HC74
4H 4
2 Biestables D
52
4. REGISTROS DE DESPLAZAMIENTO
UNI/BIDIRECCIONALES (I)
Registro: bloque funcional destinado a almacenar
o registrar información
ó binaria durante un cierto
tiempo.
• Circuito temporal de memoria con capacidad limitada
• Consta d
de una cadena
d
d biestables
de
l
conectados
d
en
cascada de forma que la salida de uno es la entrada del
siguiente (implementación lógica estática)
Desplazamiento
p
m
de la información:
f m
derecha
izquierda
bidireccional
Entrada/salida de la información: serie/paralelo
53
4. REGISTROS DE DESPLAZAMIENTO
UNI/BIDIRECCIONALES (II)
Tipos de registro atendiendo a la
entrada/salida de la información:
•
•
•
•
ENTRADA SERIE/SALIDA SERIE
ENTRADA SERIE/SALIDA PARALELO
ENTRADA PARALELO/SALIDA SERIE
ENTRADA PARALELO/SALIDA PARALELO
• BIDIRECCIONALES
54
4. REGISTROS DE DESPLAZAMIENTO
UNI/BIDIRECCIONALES (III)
SISO:
Series-In SeriesOut
SIPO:
Series-In
Parallel-Out
PIPO:
Parallel -In
Parallel-Out
55
EJEMPLO de registro serie/serie, de 4 bits, síncrono, con biestables tipo D,
disparados por flanco de subida.
Entrada:
Secuencia de bits 1010
El registro está
inicializado a 0000
56
EJEMPLO de registro serie/serie, de 4 bits, síncrono, con biestables tipo D,
disparados por flanco de subida.
E
Salida:
Secuencia de bits 1010
0
D
Q 1 D
Q 0 D
Q 1
D
Q 0 D
Q 1 D
Q
D
Q 0 D
Q
D
Q 0 D
Q 0 D
Q
D
Q 0 D
Q 0 D
Q 0
D
Q
0 D
Q
0
CLK
E
0
1
CLK
E
0
0
D
Q 1
0
D
Q
D
Q
D
Q 0
CLK
E
0
0
1
CLK
E
0
CLK
Después del 8º pulso de
reloj el registro queda a
a 0000
57
EJEMPLO: Obténgase el estado de un registro de desplazamiento de 5
bits para las señales de entrada de datos y señal de reloj representadas
en la figura.
figura Supóngase que inicialmente el contenido del registro es cero.
cero
Datos de entrada:
11010
←
Tiempo
58
EJEMPLO de registro paralelo/paralelo
EJEMPLO de registro paralelo/paralelo de 4 bits, síncrono, con biestables tipo D, disparados por flanco de subida.
-- Librerías y paquetes
-- Entidad
ENTITY NOMBRE_en
NOMBRE en IS
GENERIC (num_bits:natural);
PORT (CLK,CLR : IN STD_LOGIC;
ent : --------------------------;
sal : --------------------------;
END NOMBRE_en;
NOMBRE en;
-- Arquitectura
ARCHITECTURE NOMBRE_arq OF NOMBRE_en IS
COMPONENT NOMBRE _componente IS
GENERIC (retardo:TIME:=0ns);
(retardo TIME 0ns);
PORT Puertos_del_componente(BIESTABLE);
END COMPONENT;
BEGIN
U1:FOR i IN 0 TO (num_bits - 1) GENERATE
_componente
p
PORT MAP(CLK
(
=> , CLR =>
B1: NOMBRE _
END GENERATE;
END NOMBRE_arq;
En la librería deberíamos disponer de :
Biestable tipo D
con señal CLEAR asíncrono
, D => ent(i),
( ), Q => sal(i));
( ));
59
EJEMPLO de registro paralelo/paralelo. Arquitectura estructural
------------------------------------------------------------------------------ © Universidad Politécnica de Madrid
-- Se permite copia para fines de estudio
------------------------------------------------------------------------------ Proyecto
: Práctica 2: Biestables y registros
-- Diseño
: Registro
g
paralelo
p
paralelo
p
-- Nombre del fichero : R_paralelo_paralelo_gene.vhd
-- Autor
: MPC
-- Fecha
: 10/03/2014
-- Resumen
: Este fichero contiene la entidad y
-arquitectura de un registro paralelo paralelo construido con biestables tipo D
-activados por flanco de subida de reloj
-y clear asincrono activo a nivel alto, utilizando la sentencia generate.
-El tipo de datos utilizado es STD_LOGIC
---------------------------------------------------------------------- Librerias y paquetes
LIBRARY IEEE;
U E ieee.STD_LOGIC_1164.all;
USE
i
TD LOG C 1164 ll
ENTITY registro_PP IS
GENERIC (num_bits:natural);
PORT (CLK,CLR : IN STD_LOGIC;
ent : IN STD_LOGIC_VECTOR ((num_bits - 1) DOWNTO 0);
sal : OUT
OU STD
S D_LOG
LOGIC_VE
VECTOR
O ((num
((num_b
bits
ts - 1)) DOWN
DOWNTO
O 0));
END registro_PP;
ARCHITECTURE con_generate OF registro_PP IS
COMPONENT biestable_d_con_clr IS
GENERIC (retardo:TIME:=0ns);
PORT (CLK
(CLK,CLR,
CLR D: IN STD
STD_LOGIC;
LOGIC;
Q : OUT STD_LOGIC);
END COMPONENT;
BEGIN
U1:FOR i IN 0 TO (num_bits - 1) GENERATE
B1: biestable_D_con_clr PORT MAP(CLK => CLK, CLR => CLR, D => ent(i), Q => sal(i));
END GENERATE;
END con_generate;
60
EJEMPLO de registro paralelo/paralelo. Simulación
C
Captura
d pantalla
de
ll del
d l registro
i
con las
l señales
ñ l ubicadas
bi d en ell orden
d
siguiente: entradas_datos, salidas_datos, señal CLR y señal de reloj
Captura de pantalla del registro con los resultados de una simulación
61
Ejemplo de “mal” uso de reloj por nivel:
(resultado erróneo)
D
Q
4,0/3,0
Retardo:
Subida 4,0 u. t.
Bajada 3,0 u. t.
CLK
62
15
CLK
15
15
X
Q1
3.0
4.0
3.0
4.0
Q
2
3.0
4.0
Q
3
t0
t1
t2
t3
t4
t5
t6
t7
→
Tiempo
63
REGISTRO
EG
DE DE
DESPLAZAMIENTO
L
M EN
UNIVERSAL
UN VE
L
(serie/paralelo)
(4 bits)
L E
Oper
Oper.
0 0
EP/SS
0 1
EP/SP
1 0
ES/SS
1 1
ES/SP
64
REGISTRO DE DESPLAZAMIENTO UNIVERSAL
Funcionamiento
65
5. PILAS FIFO Y LIFO (I)
Las pilas son memorias de acceso secuencial y se suelen construir
utilizando n registros de desplazamiento de longitud m; es decir están
constituidas por biestables que permiten la carga y descarga de
información.
FIFO: First Input First Output
Es una memoria de acceso secuencial con dos puntos de acceso, uno
para la lectura y otro para la escritura. Un apila FIFO, se construye
con n registros
i t
d desplazamiento
de
d
l
i t de
d longitud
l
it d m, con desplazamientos
d
l
i t
hacia la derecha, mas la lógica de control necesaria.
LIFO: Last Input First Output
Es una memoria de acceso secuencial con un solo punto de acceso tanto
para la lectura como
p
m p
para la escritura.. Una p
pila L
LIFO
F q
que almacene
m
m
palabras de n bits, se construye utilizando n registros de desplazamiento de longitud m, con desplazamientos hacia la derecha y hacia
q
mas lo lógica
g
de control necesaria.
la izquierda,
66
5. PILAS FIFO Y LIFO (II)
CARGA
DESCARGA
PILA FIFO
67
5. PILAS FIFO Y LIFO (III)
LIFO
68
5. PILAS FIFO Y LIFO (IV)
FIFO y LIFO
RIGHT/LEFT
bidireccional
69
5. PILAS FIFO Y LIFO (V)
Funcionamiento
Esta pila es igual a un
registro de desplazamiento bidireccional
cuando solamente se
compone de un bit
(ver pg.
pg 65)
70
6. CONTADORES (I)
• Los biestables pueden también conectarse
entre si p
para hacer operaciones
p
“de contar”
• El número de biestables que se utilizan y la
forma en que se conectan determina el número
de estados ((módulo)) y la secuencia específica
p
por la que atraviesa el contador durante un ciclo
completo.
• EJEMPLO: Un contador módulo 3 ((hasta 7):
)
tiene 8 estados
p
para
codificar 8 estados necesitamos
2n ≥ 8 → n = 3 biestables
71
6. CONTADORES (II)
• Dependiendo del modo de la señal de reloj, los
contadores se clasifican en : ASÍNCRONOS
Í
Y
SÍNCRONOS.
– ASÍNCRONOS: en estos se aplica una señal de
reloj en la entrada de reloj del primer
biestable y al resto de los biestables se
conecta la salida Q de la etapa anterior.
anterior Los
biestables no cambian de estado
simultáneamente
– SÍNCRONOS: la señal de reloj se aplica a
todos los biestables; trabajan simultáneamente
72
6. CONTADORES ((III))
CONTADOR ASÍNCRONO
Valor actual
Valor
siguiente
Q2
Q1
Q0
Q2
Q1
Q0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
73
6. CONTADORES ((IV))
CONTADOR SÍNCRONO
Valor actual
Valor
siguiente
Q2
Q1
Q0
Q2
Q1
Q0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
74
CONTADORES EN ANILLO (V)
Un contador en anillo, cíclico y síncrono se construye
concatenando biestables de forma similar a la construcción de un registro de desplazamiento, pero en el caso de
los contadores, la salida del último elemento de la cadena
de biestables se conecta con la entrada del primero.
primero
Contador cíclico
de 4 bits.
Modulo 4
4 estados
75
CONTADORES EN ANILLO (VI)
76
CONTADORES EN ANILLO: Contador Johnson (VII):
La salida negada del último elemento se conecta con la entrada
Estado
0
1
2
3
4
5
6
7
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
Q0
0
1
1
1
1
0
0
0
Q1
0
0
1
1
1
1
0
0
Q2
0
0
0
1
1
1
1
0
77
Q3
0
0
0
0
1
1
1
1
Descargar