Академический Документы
Профессиональный Документы
Культура Документы
ndice
Contadores
Contadores asincrnicos
Contadores sincrnicos
binarios
decimales
registros
RAM
Registros de desplazamiento
JES/SET
JES/SET
Contadores
Cuentan pulsos usando FFs
Son circuitos secuenciales, su estado es la
cuenta actual.
Sincrnicos: reloj compartido por todos los
Contadores
FFs
Mayor velocidad
Aptos para diseos medianos y grandes
(counters)
(PLDs)
Asincrnicos: uno o ms FFs usan como
reloj la salida de otro
Menos lgica combinacional
JES/SET
JES/SET
Mdulo
El nmero de estados es finito.
Depende de los FFs y la lgica.
Contadores
Asincrnicos
(ripple counters)
JES/SET
JES/SET
y divisor de frecuencia x8
JES/SET
JES/SET
Q2
Q1
Q0
reset
maestro
Con N flip-flops:
El mdulo es 2N
El tiempo de establecimiento es N
veces el tiempo de propagacin de
cada flip-flop
N.t
P
Importante: es necesario que sean
por flanco de bajada.
JES/SET
JES/SET
10
Desventajas
Por ser asincrnicos poseen todas las
multiplican.
asincrnicos.
Es ms simple el diseo sincrnico y
4096=16x16x16
JES/SET
11
JES/SET
12
Contadores sincrnicos
Son circuitos sincrnicos y cuentan los
pulsos de reloj.
Suelen incluir:
Entrada de habilitacin: slo cuentan los
Contadores
sincrnicos
En ocasiones tienen:
Entradas de carga para comenzar en un
valor determinado
Entrada para cuenta progresiva o
regresiva.
JES/SET
13
JES/SET
14
Q0 cambia siempre:
T0=E
Q1 cambia cuando Q0 es 1
T1=Q0.E
Q2 cambia cuando Q0 y Q1
son 1
T2=Q0.Q1.E=Q1.T1
Luego
T3=Q0.Q1.Q2.E=Q2.T2
La entrada es el producto de
los FF anteriores y la
habilitacin.
Es como un acarreo
JES/SET
16
JES/SET
17
JES/SET
18
etapa sola.
A medida que agrego etapas empeora.
JES/SET
19
JES/SET
20
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
entity Cont_N_Bits is
generic(
N : positive:=4);
port(
clk_i : in std_logic;
e_i
: in std_logic;
q_o
: out std_logic_vector(N-1 downto 0));
end entity Cont_N_Bits;
JES/SET
21
JES/SET
22
Contador bidireccional
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
entity Cont_UpDown is
generic(
N : positive:=4);
port(
clk_i : in std_logic;
e_i
: in std_logic;
clr_i : in std_logic;
up_i : in std_logic;
q_o
: out std_logic_vector(N-1 downto 0));
end entity Cont_UpDown;
Cuenta descendente
Transporte: multiplicando los Q negados
TC: Cuando todos estn en 0
JES/SET
23
JES/SET
24
25
JES/SET
26
Flip-flop SR-T-D
Full sincrnico:
Si SR est en 1 el flip-flop va a 0
JES/SET
27
JES/SET
28
JES/SET
29
JES/SET
30
JES/SET
31
JES/SET
32
Divisores de frecuencia.
JES/SET
33
Semforo (1)
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
Mdulo 90
6 salidas
La tabla muestra el
entity Semaforo is
port(
clk_i
: in std_logic;
r1, a1, v1 : out std_logic;
r2, a2, v2 : out std_logic);
end entity Semaforo;
JES/SET
35
JES/SET
36
Semforo (2)
Semforo (3)
logica_comb:
process (qr)
begin
case to_integer(qr) is
when 0 to 41 =>
r1<='0'; a1<='0';
r2<='1'; a2<='0';
when 42|43 =>
r1<='0'; a1<='1';
r2<='1'; a2<='0';
when 44 =>
r1<='1'; a1<='0';
r2<='1'; a2<='1';
when 45 to 86=>
r1<='1'; a1<='0';
r2<='0'; a2<='0';
37
Semforo (4)
39
JES/SET
v1<='1';
v2<='0';
v1<='0';
v2<='0';
v1<='0';
v2<='0';
v1<='0';
v2<='1';
38
Secuencia a implementar
avenida.
comenzar.
Permanecer en 0 mientras
no se detecte vehculo.
Al llegar a 85 volver a 0.
JES/SET
41
JES/SET
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
entity Semaforo_Demanda is
port(
clk_i
: in std_logic;
sensor_i
: in std_logic;
r1, a1, v1 : out std_logic;
r2, a2, v2 : out std_logic);
end entity Semaforo_Demanda;
JES/SET
42
43
JES/SET
44
JES/SET
46
Generador
de fases
mltiples
47
JES/SET
48
Registros - clasificacin
Registros de entrada paralelo y salida paralelo
(PIPO)
Tipo latch
Tipo sincrnico
Registros de desplazamiento
Registros
JES/SET
49
JES/SET
50
Registro PIPO:
tipo latch vs. tipo sincrnico
Registros
Sincrnico!
Ms usado
tipo
Asincrnico!
Slo para
latch
pequeos
diseos
JES/SET
51
JES/SET
52
Banco de registros
Registros de 4 bits
(4 palabras de 3 bits)
Similar
74xx373
(8 bits)
JES/SET
53
JES/SET
54
la lectura)
JES/SET
55
JES/SET
56
Registros de 4 bits
sin y con salida de 3 estados
Registros
Similar
74xx374
Sincrnicos
(8 bits)
(PIPO)
JES/SET
57
JES/SET
Clock Enable
estados
(1)
library IEEE;
use IEEE.std_logic_1164.all;
Similar
entity RegiSinc is
generic(
N : positive:=4);
port(
clk_i : in std_logic;
ce_i : in std_logic;
oe_i : in std_logic;
d_i
: in std_logic_vector(N-1 downto 0);
q_o
: out std_logic_vector(N-1 downto 0));
end entity RegiSinc;
74xx377
(8 bits)
JES/SET
58
59
JES/SET
60
(2)
sincrnicos va buses
61
JES/SET
62
Registros de
desplazamiento
Pulsos de reloj
(Shift registers)
SI
Q3
Q2
Q1
Q0
recibidos
JES/SET
63
JES/SET
64
Registro bimodo
Registro bimodo
Desplazar y retener
M=0 desplaza
M=1 retiene
JES/SET
65
JES/SET
Registro bimodo
66
library IEEE;
use IEEE.std_logic_1164.all;
-- Implementa desplazamiento a derecha c/PE
entity Shift_PE is
generic(N : positive:=4);
port(
clk_i : in std_logic;
pe_i : in std_logic;
s_i : in std_logic;
d_i : in std_logic_vector(N-1 downto 0);
q_o : out std_logic_vector(N-1 downto 0));
end entity Shift_PE;
PE=Carga paralela
Tiene entradas y salidas tanto serie,
como paralelo.
JES/SET
67
JES/SET
68
Registro de desplazamiento
universal
Desplazamiento a izquierda
Retencin
Entrada paralelo
En cada flip-flop hay un multiplexor de 4
entradas para elegir uno de estos 4 modos.
Ejemplo: 74x194 (4 bits)
69
70
library IEEE;
use IEEE.std_logic_1164.all;
-- Implementa desplazamiento universal
entity Shift_Universal is
generic(N : positive:=4);
port(
clk_i : in std_logic;
rst_i : in std_logic;
modo_i : in std_logic_vector(1 downto 0);
sil_i : in std_logic;
sir_i : in std_logic;
d_i
: in std_logic_vector(N-1 downto 0);
q_o
: out std_logic_vector(N-1 downto 0));
end entity Shift_Universal;
JES/SET
JES/SET
71
72
registros de desplazamiento
Ambos de igual tamao y con el mismo reloj.
Basta aplicar la SO del primer registro a la SI
del segundo, y aplicar a ambos tantos pulsos
de reloj como bits tengan (N pulsos)
Si no se desea perder el contenido del
primero basta con realimentar su SO a su SI.
Rotacin
JES/SET
73
JES/SET
74
Aplicaciones de los
registros de
desplazamiento
JES/SET
75
JES/SET
76
Retardo Digital
Pulsos de reloj
SI
Q3
Q2
Q1
Q0
4 ciclos de
reloj
recibidos
JES/SET
Demorado
77
anillo.
Ms rpido que el generador de fases
mltiples.
Libre de glitches (slo cambia un bit
Obtengo
Fases
Mltiples
JES/SET
81
JES/SET
82
Generador de secuencia
Generador de secuencia
seudo-aleatoria (1)
seudo-aleatoria (2)
es posible regenerarla.
JES/SET
85
Tabla de generadores de
secuencia seudo-aleatoria
N
Longitud 2N-1
SI
Q0
Q1
15
Q1
31
Q2
63
Q1
127
Q1
255
Q0
Q0
Q0
Q0
Q6 Q1 Q0
Q7
Q0
511
Q4
10
1023
Q3
11
2047
Q2
12
4095
Q11
Q10 Q2 Q0
13
8191
Q12
Q11 Q1 Q0
14
16383
Q13
Q12 Q2 Q0
15
32767
16
65535
JES/SET
Ejemplo usado
Q0
Q0
Q0
Q1
Q13 Q11 Q0
Q14
87
JES/SET
86
Registros de
desplazamiento y
operaciones serie
JES/SET
90
Desplazamiento a derecha
Convenciones
lgico vs aritmtico
(Complemento a 2)
El bit ms significativo lo colocaremos a la
izquierda.
extremo opuesto.
En el desplazamiento aritmtico a derecha el
MSB se reinyecta.
siguiente manera:
Registro de
MSB
LSB
desplazamiento
MSB
LSB
Lgico
a derecha
Registro de
MSB
LSB
desplazamiento
Aritmtico
a izquierda
JES/SET
91
JES/SET
92
Multiplicacin por 2 de
magnitudes
MSB
LSB
JES/SET
93
LSB
JES/SET
MSB
94
resto de la divisin.
JES/SET
MSB
LSB
95
JES/SET
96
Para el tipo
std_logic_vector
srl
sll
sra
sla
ror
rol
a (desplazamiento lgico),
almacenar el resultado nuevamente en a
a <= a sll 2;
contenido de
JES/SET
97
til slo si
el bit ms
significativo
est a la
derecha
JES/SET
98
srl) de un
As un desplazamiento a derecha (
Esto es como en C.
Cabe destacar que el comportamiento de
estos operadores no es compatible con VHDL
87 (IEEE 1076-1987).
JES/SET
99
JES/SET
100
comparacin.
JES/SET
101
JES/SET
102
Fin de la presentacin
constructivos):
JES/SET
103
JES/SET
104
Conexin de contadores
acarreo anticipado
C1
C4
contar si C1 desborda.
El camino de ET no es crtico: ET3 y ET4 tienen
JES/SET
C3
C2
1 nivel!
105
JES/SET
106
JES/SET
108
Esto ya estaba
calculado!
JES/SET
109
JES/SET
automtico
=Q
.Q
.Q
.Q
Q
.Q
.Q
(1)
SI
110
.Q
=Q
.Q
.Q
SI
=Q Q Q
1
=Q
.Q
.Q
.Q
Q
.Q
.Q
JES/SET
M-1 FFs
111
JES/SET
1001 1100
112
(2)
SI
=Q
.Q .Q
2
Q
.Q .Q
1
Ejemplo:
1010
JES/SET
114
(3)
cuando Q0 es 1 y Q 1 es 0.
SI
=Q
y SR
=Q
.Q
alcanza
116
(4)
JES/SET
118