Documentos de Académico
Documentos de Profesional
Documentos de Cultura
División CBI
Departamento de Electrónica
Práctica 8: Caracterización de
Flip-Flops
Equipo 1
Diego Ivan Sanchez Reyes 2202015818
Luis Axel Estarrón Navarro 2222005818
Maribel Espinoza Santiago 2213032370
Profesor: Francisco Javier Sanchez Rangel
Grupo: CEL 01
Trimestre: 23-I
MARCO TEÓRICO.
Circuitos Secuenciales.
En la figura no. 1 se muestra el diagrama a bloques de un circuito secuencial, el cual
se forma de la interconexión de un circuito combinacional y unos elementos de
almacenamiento. Los elementos de almacenamiento son circuitos capaces de
almacenar información binaria. La información binaria almacenada en estos
elementos define el estado del circuito secuencial en cualquier momento. El
diagrama a bloques demuestra que las salidas de un circuito secuencial son
funciones no sólo de las entradas, sino también del estado presente de los
elementos de almacenamiento. El siguiente estado de los elementos de
almacenamiento también es una función de las entradas y del estado presente.
Nótese que, si conectamos las entradas J y K en cortocircuito (las unimos como una sola
entrada), obtenemos lo siguiente:
KK Q(t+1) FUNCIÓN
00 Q Mantener estado
01 NA NA
10 NA NA
11 Q’ Complemento del estado
Que es la tabla característica del Flip-Flop T.
Concluimos que se deben conectar las entradas J y K en cortocircuito para convertir un Flip-Flop
JK a un Flip-Flop T.
entity flipflop_D is
Port(CLK: in std_logic;
D: in std_logic;
Foco:out std_logic;
Q,Qn: inout std_logic
);
end flipflop_D;
signal Reloj:std_logic;
signal Div: std_logic_vector(24 downto 0);
begin
--Divisor de frecuencias
process(CLK)
begin
if CLK'event and CLK='1' then
Div<=Div+1;
end if;
end process;
Reloj<= Div(24);
--Flip Flop D
process(Reloj)
begin
Foco<=Reloj;
if Reloj'event and Reloj='1' then
Q<=D;
Qn<=(not D);
end if;
end process;
end flipflop_D_arch;
entity flipflop_T is
Port(CLK: in std_logic;
T: in std_logic;
Foco:out std_logic;
Q,Qn: inout std_logic
);
end flipflop_T;
signal Reloj:std_logic;
signal Div: std_logic_vector(24 downto 0);
begin
--Divisor de frecuencias
process(CLK)
begin
if CLK'event and CLK='1' then
Div<=Div+1;
end if;
end process;
Reloj<= Div(24);
--Flip Flop T
process(Reloj)
begin
Foco<=Reloj;
if Reloj'event and Reloj='1' then
Q<=(T and not Q) or (not T and Q);
end if;
Qn<=(not Q);
end process;
end flipflop_T_arch;
entity flipflop_JK is
Port(CLK: in std_logic;
J,K: in std_logic;
Foco:out std_logic;
Q,Qn: inout std_logic
);
end flipflop_JK;
begin
--Divisor de frecuencias
process(CLK)
begin
if CLK'event and CLK='1' then
Div<=Div+1;
end if;
end process;
Reloj<= Div(24);
--Flip Flop JK
process(Reloj)
begin
Foco<=Reloj;
if Reloj'event and Reloj='1' then
Q<=(J and not Q)or(not K and Q);
end if;
Qn<=(not Q);
end process;
end flipflop_JK_arch;
MATERIAL Y EQUIPO.
• Computadora PC.
• Software Quartus II.
• Tarjeta de desarrollo ALTERA DE2.
DESARROLLO EXPERIMENTAL.
1. Flip Flop D
Imagen 1. Código en VHDL.
3. Flip Flop JK
BIBLIOGRAFÍA.
● SÁNCHEZ RANGEL; NOTAS DEL CURSO DE DISEÑO LÓGICO
● QUARTUS II HANDBOOK VERSION 13.0, VOLUME 1: DESIGN AND SYNTHESIS;
ALTERA 2013.
● DE2 DEVELOPMENT AND EDUCATION BOARD, USER MANUAL; ALTERA 2012
CONCLUSIONES INDIVIDUALES.
Entre los tres flip flops utilizados en la práctica, el flip flop JK fue el más versátil, ya
que, como se explica en los incisos 1 y 2 del desarrollo teórico, puede cubrir la funcionalidad
de un flip flop D (carga de información directa), así como la funcionalidad de un flip flop T
(mantener y complementar estados).
En cuanto la implementación, el diseño del circuito en VHDL fue bastante sencillo
gracias al uso de postulados secuenciales como condiciones if, así como la implementación
directa de las funciones características de cada flip flop dentro del código.
Para futuros circuitos, el uso de flip flops como bloque de diseño es de suma
importancia, ya que éstos son el componente principal de los registros (tema que se ve en
la siguiente práctica).
Con todo lo anterior, se concluye que se lograron cumplir los objetivos de la práctica.