Practica 9

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 6

Creación y comprobación de Flip Flops 1

Practica 9: Creación y comprobación de Flip Flops


Alexandra Trujillo Moya
[email protected]
Universidad Distrital Francisco José De Caldas
Facultad de Ingenierı́a
Proyecto Curricular Ingenierı́a Electrónica
Bogotá D.C. - Colombia

I. Introducción Flip Flop FFSR


Los circuitos digitales utilizan datos binarios para fun-
cionar correctamente. Para poder almacenar estos datos En este flip flop el cambio de estado se efectua en el
como una serie de datos en un solo lugar necesitamos flanco bajo del pulso de reloj. El estado S =R =1 es un
de una memoria, que es un sistema cuyo núcleo son los estado prohibido.
flip flops (circuitos combinacionales) y almacena uno o
más datos evitando la pérdida de estos. En esta práctica,
se crearán diferentes tipos de flip flops a partir de otros
componentes y a través de verilog.
II. Objetivos
Objetivo general
Crear y comprobar los flip flops FFD, FFSR, FFJK y
FFT.
Imagen 1: Flip Flop FFSR
Objetivos especifico
• Crear flip flops sı́ncronos y ası́ncronos desde verilog.
• Implementar flip flops a partir de otros flip flops.
III. Materiales Tabla I: Tabla de verdad FFSR.
• Tarjeta de Desarrollo PSoC 5LP S R Q Qb ar
0 0 0 0
IV. Marco teórico 0 0 1 1
0 1 0 0
El flip flop es el elemento básico de una memoria 0 1 1 0
capaz de permanecer en uno de sus dos estados posibles 1 0 0 1
durante un tiempo indefinido en ausencia de alteraciones. 1 0 1 1
1 1 inv inv
Es utilizado en electrónica digital con el fin de memorizar 1 1 inv inv
información. Algunos parámetros que intervienen en los
cambios de los flip flops son:
• SET UP TIME: Tiempo anterior al flanco activo de
toma de datos en el que las entradas no cambian.
• HOLD TIME: Tiempo posterior al flanco activo de Flip Flop FFJK
toma de datos en el que las entradas no cambian.
• Frecuencia máxima de reloj: Frecuencia máxima ad- No tiene estados inválidos, ya que J =K =1 es el
misible de la señal de reloj garantizada por el fabri- complemento del estado presente.
cante.
• Duracion del tiempo del reloj: Bajo es el tiempo
mı́nimo que debe durar la parte baja del impulso del
reloj. Alto es el tiempo mı́nimo que debe durar la
parte alta del impulso del reloj.
• PRESET y CLEAR: Tiempo mı́nimo de activación
de las entradas ası́ncronas que garantiza el fun-
cionamiento.
• Tiempo de retardo: Tiempo que transcurre desde el
flanco activo del reloj y produce la conmutación. Imagen 2: Flip Flop FFJK
Creación y comprobación de Flip Flops 2

Tabla II: Tabla de verdad FFJK. V. Descripción del proyecto


J K Q Qb ar Diseñar e implementar cuatro tipos de flip flops de dos
0 0 0 0
0 0 1 1
formas. Primero usar conversiones para crear cada flip flop
0 1 0 0 utilizando como componentes externos otros flip flops y
0 1 1 0 luego crear cada diseño de manera sı́ncrona y ası́ncrona
1 0 0 1 en verilog.
1 0 1 1
1 1 0 1
1 1 1 0 VI. Metodologı́a e Implementación
Flip Flops sı́ncronos en Verilog
Flip Flop FFD • Código de flip flop FFD
Solo posee una entrada además de la del reloj. Es útil module Df f (output reg Q, output reg Qbar, input
cuando se quiere almacenar un dato de un bit. Si tiene un Clock, input D, input Rst);
1 en la entrada Q toma el valor de 1 (SET) y lo almacena;
si es 0 la salida toma el valor de 0 (RESET) y lo almacena. always@(posedge Clock)
begin
if (Rst== 1) begin
Q <= 0;
Qbar <= 1;
end
else begin
Q <= D;
Imagen 3: Flip Flop FFD
Qbar <= !D;
end
Tabla III: Tabla de verdad FFD. end
D Q Qb ar
endmodule
0 0 0
1 1 0
0 0 1
1 1 1

Flip Flop FFT


Solo posee una entrada y se denomina TOGGLE. Si hay
un 0 en la entrada la salida mantiene el valor del estado
presente, pero si hay un 1 se complementa. Imagen 5: Encapsulado Flip Flop FFD

• Código de flip flop FFSR


module SRf f (output reg Q, output reg Qbar, input
Clock, input R, input Rst, input S);

localparam HOLD = 2’b00,


SET = 2’b10,
Imagen 4: Flip Flop FFT
RESET = 2’b01;

Tabla IV: Tabla de verdad FFT. always @(posedge Clock) begin


T Q Qb ar
if (Rst) begin
0 0 0 Q <= 1’b0;
0 1 1 end
1 0 1 else begin
1 1 0
case(S,R)
HOLD: begin
Flip flops sı́ncronos y ası́ncronos Q<= Q;
La diferencia entre estas divisiones de circuitos secuen- end
ciales es que en los circuitos sı́ncronos, las entradas, salidas RESET: begin
y estados internos se muestrean en momentos definidos Q<= 1’b0;
controlados por una señal de reloj, mientras que en los end
circuitos ası́ncronos, pueden ocurrir en cualquier momento SET: begin
en respuesta a cambios en la entrada. Q<= 1’b1;
Creación y comprobación de Flip Flops 3

end • Código de flip flop FFT


default: begin module Tf f (output reg Q, output reg Qbar, input Clock,
Q <= 1’bx; input Rst, input T);
end
endcase always @(posedge Clock) begin
Qbar=!Q; if(Rst) begin
end Q<= 0;
end end
endmodule else begin
case (T)
1’b0: begin
Q <= Q;
end
1’b1: begin
Q <= !Q;
end
Imagen 6: Encapsulado Flip Flop FFSR endcase
Qbar = !Q;
• Código de flip flop FFJK end
module JKf f (output reg Q, output reg Qbar, input end
Clock, input J, input K, input Rst); endmodule
localparam HOLD = 2’b00,
SET = 2’b10,
RESET = 2’b01,
TOGGLE = 2’b11;

always @(posedge Clock) begin


if (Rst) begin
Q ¡= 1’b0;
end Imagen 8: Encapsulado Flip Flop FFT
else begin
case(J,K)
Flip Flops ası́ncronos en Verilog
HOLD: begin
Q<= Q; • Código de flip flop FFD
end module Df fA (output reg Q, output reg Qbar, input
RESET: begin Clock, input D, input Rst );
Q<= 1’b0;
end always@(posedge Clock or posedge Rst)
SET: begin begin
Q<= 1’b1; if(Rst== 1) begin
end Q <= 0;
TOGGLE: begin Qbar <= 1;
Q<= !Q; end
end else begin
endcase Q <= D;
Qbar=!Q; Qbar <= !D;
end end
end end
endmodule endmodule

Flip flop creados mediante otros componentes


• Flip flop FFSR a partir del FFD
Para realizar un flip flop SR a partir de un flip flop D, par-
timos obteniendo una tabla que contenga la información
de la tabla de verdad del flip flop SR y la información
Imagen 7: Encapsulado Flip Flop FFJK entregada por la tabla de verdad del D (tabla V):
Creación y comprobación de Flip Flops 4

Tabla V: Tabla de conversión FFD a FFSR.


S R Q Qb ar D
0 0 0 0 0
0 0 1 1 1
0 1 0 0 0
0 1 1 0 0
1 0 0 1 1
1 0 1 1 1
1 1 inv inv x
1 1 inv inv x
Imagen 10: Circuito flip flop FFJK a partir del FFD
Para obtener la expresión lógica de la entrada del flip
flop D, hacemos uso de un mapa de karnaugh: • Flip flop FFT a partir del FFD
Tabla VI: Mapa de karnaugh S/R Q. Tomando la información de las tablas de verdad de cada
flip flop, creamos la tabla de conversión para el nuevo
S/RQ 00 01 11 10
0 0 1 0 0 circuito:
1 1 1 x x
Tabla IX: Tabla de conversión FFD a FFT.
0
D =S+RQ T Q Qb ar D
0 0 0 0
A partir de esta obtenemos el siguiente circuito combina- 0 1 1 1
cional: 1 0 1 1
1 1 0 0

El mapa de karnaugh que simplifica la expresión es:

Tabla X: Mapa de karnaugh T /Q.


T /Q 0 1
0 0 1
1 1 o

D =T +Q
Imagen 9: Circuito flip flop FFSR a partir del FFD El circuito FFT a partir de FFD es:

• Flip flop FFJK a partir del FFD


Para el montaje utilizamos una tabla de conversión D a
JK (tabla XIV, que contenga la información de las tablas
de verdad del flip flop JK y del D:

Tabla VII: Tabla de conversión FFD a FFJK.


J K Q Qb ar D
0 0 0 0 0
0 0 1 1 1
0 1 0 0 0
0 1 1 0 0 Imagen 11: Circuito flip flop FFT a partir del FFD
1 0 0 1 1
1 0 1 1 1
1 1 0 1 1 • Flip flop FFD a partir del FFSR
1 1 1 0 0
La tabla de conversión obtenida a partir de las tablas de
verdad de cada flip flop es:
Simplificamos la expresión de entrada por medio de
mapa de karnaugh: Tabla XI: Tabla de conversión FFSR a FFD.
Tabla VIII: Mapa de karnaugh J/KQ. D Q Qb ar S R
0 0 0 0 x
J/KQ 00 01 11 10 0 1 0 0 1
0 0 1 0 0 1 0 1 1 0
1 1 1 0 1 1 1 1 x 0

D = JQb ar + K 0 Q
A partir de mapas de karnaugh simplificamos la ex-
El circuito obtenido es: presión de entrada del circuito:
Creación y comprobación de Flip Flops 5

Tabla XII: Mapa de karnaugh D/Q. De esta simplificamos la expresión lógica por medio de
D/Q 0 1 mapas de karnaugh:
0 0 0
1 1 x
Tabla XV: Mapa de karnaugh T /Q.
T /Q 0 1
D/Q 0 1 0 0 x
0 x 1 1 1 0
1 0 0

S = DyR = D0
T /Q 0 1
Lo que nos permite obtener a la entrada del flip flop SR 0 x 0
1 0 1
el siguiente circuito:

S = T Qbar y R = T Q

El circuito obtenido es:

Imagen 12: Circuito flip flop FFD a partir del FFSR

• Flip flop FFJK a partir del FFSR

La tabla de conversión obtenida es:


Tabla XIII: Tabla de conversión FFSR a FFJK.
J K Q Qb ar S R Imagen 14: Circuito flip flop FFT a partir del FFSR
0 0 0 0 0 0
0 0 1 1 0 0
0 1 0 0 0 0
0 1 1 0 0 1
• Flip flop FFSR a partir del FFT
1 0 0 1 1 0
1 0 1 1 0 0
Combinando la información de las tablas de verdad de los
1 1 0 1 1 0 dos flip flops, obtenemos una tercera tabla (tabla XX:
1 1 1 0 0 1
Tabla XVI: Tabla de conversión FFT a FFSR.
La ecuación simplificada es: T Q Qb ar S R
0 0 0 0 0
S = JQbar y R = KQ 0 0 1 1 0
0 1 0 0 0
0 1 1 0 1
1 0 0 1 1
1 0 1 1 0
1 1 inv inv x
1 1 inv inv x

Usando un mapa de karnaugh para obtener la expresión


de entrada, obtenemos:

Tabla XVII: Mapa de karnaugh S/RQ.


Imagen 13: Circuito flip flop FFJK a partir del FFSR
S/RQ 00 01 11 10
0 0 0 1 0
• Flip flop FFT a partir del FFSR 1 1 0 x x
Obtenemos la tabla de conversión SR a T:
Tabla XIV: Tabla de conversión FFSR a FFT. De este obtenemos la siguiente ecuación:
T Q Qb ar S R
0 0 0 0 x T = SQbar + RQ
0 1 1 x 0
1 0 1 1 0 A partir de esta el circuito a la entrada del flip flop T es
1 1 0 0 1 el siguiente:
Creación y comprobación de Flip Flops 6

Tabla XXI: Mapa de karnaugh D/Q.


D/Q 0 1
0 0 1
1 1 0

T =D+Q
El circuito del flip flop FFD es:

Imagen 15: Circuito flip flop FFSR a partir del FFT

• Flip flop FFJK a partir del FFT


Creamos la tabla de conversión, que contiene la informa-
cion de lo las tablas de verdad de los flip flops:
Tabla XVIII: Tabla de conversión FFT a FFJK.
J K Q Qb ar T Imagen 17: Circuito flip flop FFD a partir del FFT
0 0 0 0 0
0 0 1 1 0
0 1 0 0 0 VII. Conclusiones
0 1 1 0 1
1 0 0 1 1 • Con la realización de circuitos combinacionales e
1 0 1 1 0 implementación de flip-flops ya diseñados, se pueden
1 1 0 1 1
construir circuitos secuenciales con funciones es-
1 1 1 0 1
pecı́ficas.
• El uso de estructuras if y else ayuda a crear las
Por medio de un mapa de karnaugh simplificamos la
condiciones necesarias para que la tabla de verdad de
expresión lógica:
cada flip-flop diseñado se cumpla, porque muestra la
Tabla XIX: Mapa de karnaugh J/KQ. salida correspondiente de la entrada tomada.
J/KQ 00 01 11 10
0 0 0 1 0 VIII. Referencias
1 1 0 1 1 1) EcuRed. (s. f.). Flip-flops - EcuRed. Re-
cuperado 14 de septiembre de 2021, de
T = JQbar + KQ https://www.ecured.cu/Flip-flops
El circuito de entrada que hace que el flip flop FFT se 2) Mecafenix, I. (2020, 22 junio). Flip flop ¿que
comporte como FFJK es: es y como funciona? Ingenierı́a Mecafenix.
https://www.ingmecafenix.com/electronica/flipflop/
3) Tema3s ecuenciales.pdf.(s.f.).T ema3s ecuenciales.pdf.
Recuperado15deseptiembrede2021, dehttps :
//www.inf or.uva.es/

Imagen 16: Circuito flip flop FFJK a partir del FFT

• Flip flop FFD a partir del FFT


La tabla de conversión T a D es:
Tabla XX: Tabla de conversión FFT a FFD.
D Q Qb ar T
0 0 0 0
0 1 0 1
1 0 1 1
1 1 1 0

El mapa de karnaugh que simplifica la ecuación lógica


es:

También podría gustarte