Vous êtes sur la page 1sur 4

ResumenEn esta prctica se aprendi a manejar el

software Xilinx, adems se conocieron las caractersticas y


el modo de uso de una tarjeta de desarrollo FPGA.
Finalmente se comprendi la forma para disear y simular
circuitos digitales usando el lenguaje de descripcin de
hardware verilog a travs del cual se logr el diseo y la
implementacin de 3 circuitos combinacionales.

Palabras ClavesCircuito combinacional, FPGA,
Generador de paridad, Multiplexor, Verilog.
I. INTRODUCCIN
Actualmente el mundo ha evolucionado de tal forma que la
tecnologa hoy en da nos impresiona cada vez ms en sus
avances, son muchos los arreglos programables que existen
actualmente y es necesario tener claro los conocimientos
bsicos en diseo de sistemas .Para esta prctica se escribieron
3 cdigos en verilog para implementar luego en la FPGA un
circuito combinacional, un generador de paridad para 8 bits y
finalmente se hicieron los clculos y simulaciones de un
multiplexor o Mux de 4 entradas y una salida con su
respectiva tabla de verdad.
II. MARCO TERICO
Hoy en da nuestras vidas cotidianas vemos como se aplican
los sistemas digitales en diferentes dispositivos. Como su
nombre lo indica un circuito lgico combinacional es un
circuito que depende de las combinaciones de sus entradas en
este instante, estos circuitos estn hecho apartir de compuertas
lgicas bsicas como AND, OR NOT aunque tambin se
hacen con combinaciones de las anteriores como son las
NAND,NOR,XOR.
Estas operaciones de los circuitos combinacionales se
entiende escribiendo la ecuacin booleana y sus respectivas
tabla de verdad.
Todos los circuitos combinacionales pueden representarse
empleando lgebra de Boole a partir de su funcin lgica,
generando de forma matemtica el funcionamiento del sistema
De este modo, cada seal de entrada es una variable de la
ecuacin lgica de salida.
Una FPGA (Field Programmable Gate Array), es un
dispositivo lgico de propsito general que pueden ser
programadas por los usuarios y esta compuesto por bloques
lgicos comunicados por conexiones programables. Estas
pueden llevar a cabo funciones tan sencillas como las de una
puerta lgica, hasta funciones complejas como las de un chip.
A. Circuito Combinacional

En este circuito combinacional se utiliz la tabla de verdad

ya encontrada en la prctica 1 para realizar su simulacin.
(Ver tabla I)

FIGURA I
CIRCUITO COMBINACIONAL

TABLA I
TABLA DE VERDAD DEL CIRCUITO COMBINACIONAL
A B C Y
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1

B. Generador de Paridad

La transmisin binaria por diversos medios de
comunicacin est sujeta a errores por fallas en los sistemas
digitales o la presencia de ruido elctrico. Cualquier condicin
interna o externa al sistema puede alterar el valor de los ceros
a unos o viceversa. Un cdigo que permite detectar errores es
el cdigo de paridad. El principio es aadir un bit de paridad
para hacer que el nmero total de bits (incluida la palabra) sea
par o impar. Un bit de paridad par, incluido con el mensaje
(palabra), convierte el nmero total de unos en par (paridad
par) y el bit de paridad impar hace el total de unos impar
(paridad impar). El generador de paridad es un sistema
combinacional que permite generar el bit de paridad de una
palabra de cdigo. La informacin se transmite y el
comprobador de paridad recepciona la informacin con el fin
de validarla.[1]

C. Multiplexor 4 a 1

Un multiplexor es un circuito combinacional que selecciona
una de n lneas de entrada y transmite su informacin binaria a
la salida. La seleccin de la entrada es controlada por un
conjunto de lneas de seleccin. La relacin de lneas de
entrada y lneas de seleccin est dada por la expresin 2n,
donde n corresponde al nmero de lneas de seleccin y 2n al
nmero de lneas de entrada.
El multiplexor de 4 entradas es un multiplexor de 4 lneas a
Lgica Combinacional en Verilog

1. Las entradas son I0, I1, I2 e I3 y la seleccin viene dada por
las entradas S0 y S1. El valor de la salida Y depende de los
valores lgicos presentes en las entradas de datos y la
seleccin.[2]

TABLA II
SELECCIN DE DATOS MULTIPLEXOR DE 4 ENTRADAS
Entrada de seleccin de datos Entrada Seleccinoada
S1 S0 Y
0 0 I0
0 1 I1
1 0 I2
1 1 I3
III. SIMULACIONES Y ANLISIS
A. Circuito Combinacional

Para el circuito mostrado en la figura 1, se cre el siguiente
cdigo en verilog module de xilinx para implementar el
circuito.

module Combinacional( //Declara y nombra el modulo
input A, //Entrada A
input B, //Entrada B
input C, //Entrada C
output Y //Entrada D
);
wire c1,c2,c3,c4,c5; // declaracion de los cables
not N1(c1,C);
not N2(c2,B);
and A1(c3,c2,A);
and A2(c4,c1,c2);
or O1(Y,c4,c3);

endmodule

El cdigo para la simulacion usando el ISim fue

module Sim1;

// Inputs
reg A;
reg B;
reg C;

// Outputs
wire Y;

// Instantiate the Unit Under Test (UUT)
Combinacional uut (
.A(A),
.B(B),
.C(C),
.Y(Y)
);

initial begin
// Initialize Inputs
A =0;
B =0;
C =0;

// Wait 100 ns for global reset to finish
#100;

// Add stimulus here
end
always begin
A =0; B =0; C=0; #100;
A =0; B =0; C=1; #100;
A =0; B =1; C=0; #100;
A =0; B =1; C=1; #100;
A =1; B =0; C=0; #100;
A =1; B =0; C=1; #100;
A =1; B =1; C=0; #100;
A =1; B =1; C=1; #100;
end
endmodule

Y la grfica obtenida se muestra en la figura 2.


FIGURA II
SIMULACION CIRCUITO COMBINACIONAL

B. Generador de Paridad

El cdigo del generador de paridad de 8 bits creado fue:

module Paridad(
input I0,
input I1,
input I2,
input I3,
input I4,
input I5,
input I6,
input I7,
output P
);

wire c1,c2,c3,c4,c5,c6;
xor(c1,I1,I0);
xor(c2,I2,c1);
xor(c3,I3,c2);
xor(c4,I4,c3);
xor(c5,I5,c4);
xor(c6,I6,c5);
xor(P,I7,c6);

endmodule


FIGURA III
SIMULACION CIRCUITO COMBINACIONAL
C. Multiplexor 4 a 1

El cdigo del multiplexor de 4 entradas y una salida es:

module Mux4_1(
input I0,
input I1,
input I2,
input I3,
input S1,
input S2,
output O
);
wire c1,c2,c3,c4,c5,c6,c7,c8;
not N1(c1,S1);
not N2(c2,S2);
and A1(c3,c1,c2,I0);
and A2(c4,c1,S2,I1);
and A3(c5,S1,c2,I2);
and A4(c6,S1,S2,I3);
or O1(c7,c4,c3);
or O2(c8,c6,c5);
or O3(O,c8,c7);

endmodule

El cdigo de simulacin en ISim es:

module Mux4_1_Sim;

// Inputs
reg I0;
reg I1;
reg I2;
reg I3;
reg S1;
reg S2;

// Outputs
wire O;

// Instantiate the Unit Under Test (UUT)
Mux4_1 uut (
.I0(I0),
.I1(I1),
.I2(I2),
.I3(I3),
.S1(S1),
.S2(S2),
.O(O)
);

initial begin
// Initialize Inputs
I0 =0; I1 =0; I2 =0; I3 =0; S1 =0; S2 =0;
// Wait 100 ns for global reset to finish
#100;

// Add stimulus here

end

always begin
I0 =0; I1 =0; I2 =0; I3 =0; #100;
I0 =0; I1 =0; I2 =0; I3 =1; #100;
I0 =0; I1 =0; I2 =1; I3 =0; #100;
I0 =0; I1 =0; I2 =1; I3 =1; #100;
I0 =0; I1 =1; I2 =0; I3 =0; #100;
I0 =0; I1 =1; I2 =0; I3 =1; #100;
I0 =0; I1 =1; I2 =1; I3 =0; #100;
I0 =0; I1 =1; I2 =1; I3 =1; #100;
I0 =1; I1 =0; I2 =0; I3 =0; #100;
I0 =1; I1 =0; I2 =0; I3 =1; #100;
I0 =1; I1 =0; I2 =1; I3 =0; #100;
I0 =1; I1 =0; I2 =1; I3 =1; #100;
I0 =1; I1 =1; I2 =0; I3 =0; #100;
I0 =1; I1 =1; I2 =0; I3 =1; #100;
I0 =1; I1 =1; I2 =1; I3 =0; #100;
I0 =1; I1 =1; I2 =1; I3 =1; #100;
end
always begin
S1 =0; S2 =0; #1600;
S1 =0; S2 =1; #1600;
S1 =1; S2 =0; #1600;
S1 =1; S2 =1; #1600;
end

endmodule

La grfica de comprobacin del circuito es:


FIGURA IV
SIMULACION CIRCUITO COMBINACIONAL

IV. RESULTADOS PRCTICOS
A. Circuito Combinacional

Para implementar el circuito, se asignaron los valores de los
pines de entrada y el led de salida en xilinx para luego crear un
archivo *.bit que se cargo en la FPGA. A continuacin se
procedi a probar el funcionamiento del circuito
B. Generador de Paridad

Se hizo lo mismo para el generador de paridad, cargando el
archivo *.bit a la tarjeta. Aqu se comprob el funcionamiento
del generador de paridad, que para una entrada par mostraba
un cero y para una entrada impar se encendia el led (1 lgico).
C. Multiplexor 4 a 1

Se conectan las salidas Vcc y GND de la FPGA a la
protoboard y se conectan tambin las entradas por medio del
Dipswich. La salida se conecta a un led y luego se programa,
teniendo en cuenta el cdigo de las salidas y las entradas en la
tarjeta. Se programa y se carga el archivo.
V. CONCLUSIONES

En la presente prctica se vio que es necesario hacer una
sintxis correcta para la implementacin de cualquier circuito
en una tarjeta de desarrollo FPGA. Para esto se debe hacer la
simulacin en xilinx.
REFERENCIAS
[1] Generador de Paridad. Curso virtual de Electrnica
Digital. Available [Online].
http://www.virtual.unal.edu.co/cursos/ingenieria/2000477
/lecciones/030701.htm
[2] Multiplexores. Available [Online].
http://www.virtual.unal.edu.co/cursos/sedes/manizales/40
60027/CURSO/leccion_3/08.htm
[3] Wakerly J ohn,Digital Design Principles and Practices.

Vous aimerez peut-être aussi