Вы находитесь на странице: 1из 17

UNIVERSIDAD AUTÓNOMA DEL CARMEN

UNIDAD ACADÉMICA CAMPUS III


FACULTAD DE INGENIERÍA

DISEÑO DIGITAL

PROGRAMAR CALCULADORA EN BASYS3

SEGUNDO SEMESTRE

PROFESOR:
JOSÉ LUIS VÁZQUEZ AVILA

INTEGRANTES:
ALBERTO ALCOCER ESPINOSA
JORGE ÁNGEL BARRERA CASTILLO

CD. DEL CARMEN, CAMPECHE A 14 DE JUNIO DEL 2018


¿QUÉ ES UNA BASYS3?
La tarjeta BASYS 3 es una plataforma de desarrollo bastante completa basada en el FPGA
ARTIX-7 de la empresa XILINX. La tarjeta cuenta con: un FPGA de alto rendimiento
(XC7A35T-1CPG236C), varios puertos (USB y VGA). Con esta tarjeta se puede
implementar los principales diseños combinaciones y secuenciales. Una de sus principales
características es que cuenta con: 16 interruptores (SW), 5 botones pulsadores (push
boton), 16 led, una pantalla de 7 segmentos de 4 dígitos y 4 conectores de expansión
PMOD; suficientes para realizar una gran variedad de pruebas sin la necesidad de construir
hardware adicional. Con los 4 conectores PMOD se pueden utilizar para agregar hardware
adicional y darle nuevas características a la tarjeta aumentando las capacidades.
Los principales componentes de la tarjeta de desarrollo BASYS 3 se muestran en la figura,
los numero indicados en la figura y la tabla se le sigue muestran la ubicación de los
principales componentes.

Nº Descripción Nº Descripción
1 Led indicador de voltajes correctos 9 Botón de reset del FPGA (restaura la
configuración del FPGA)
2 Conectores PMOD 10 Jumper para seleccionar el modo de
configuración
3 Conector PMOD que también puede ser 11 Conector USB HOST
utilizado por el ADC interno del FPGA
4 Pantalla de 7 segmentos de 4 dígitos 12 Conector para monitores VGA
5 Interruptores 13 Conector microUSB utilizado para la
configuración y para comunicaciones
UART
6 LEDs 14 Jumper para alimentación externa
7 Botones pulsadores 15 Interruptor de encendido
8 LED que indica cuando el proceso de 16 Jumper que selecciona cual es la fuente
configuración a terminado de alimentación. Selecciona entre el
conector microUSB o la alimentación
externa.
PASOS DE CALCULADORA BINARIA

DESPUÉS DE CREAR EL PROYECTO VAMOS A LA CARPETA DE “DESIGN SOURCES”, LE DAMOS EN


“ “ PARA CREAR EL ARCHIVO “alu4.v”. PRIMERO SE NOS ABRIRÁ UN CUADRO EN EL CUAL LE
DAREMOS EN “NEXT”

DAMOS EN “CREATE FILE” Y CREAMOS EL ARCHIVO LLAMADO “alu4”. CLICK EN “OK”.

ASIGNAMOS LOS PUERTOS BASÁNDONOS EN EL SIGUIENTE CÓDIGO: (INPUT Y OUTPUT,


MARCANDO EL BUS EN CASO DE TENER MÁS DE UN BIT)
//ALU4.V end
module alu4( 3'b011 :
input wire [2:0] alusel, begin
input wire [3:0] a, temp = {1'b0,b} -
{1'b0,a};
input wire [3:0] b,
y = temp[3:0];
output reg nf,
cf = temp[4];
output reg zf,
ovf = y[3] ^ a[3] ^ b[3] ^
output reg cf, cf;
output reg ovf, end
output reg [3:0] y 3'b100 : y = ~a;
); 3'b101 : y = a & b;
reg [4:0] temp; 3'b110 : y = a | b;
3'b111 : y = a ^ b;
always @(*) default : y = a;
begin endcase
cf = 0; nf = y[3];
ovf = 0; if (y == 4'b0000)
temp = 5'b00000; zf = 1;
case (alusel) else
3'b000 : y = a; zf = 0;
3'b001 : end
begin endmodule
temp = {1'b0,a} + {1'b0,b};
y = temp[3:0];
cf = temp[4];
ovf = y[3] ^ a[3] ^ b[3] ^ cf;
end
3'b010 :
begin
temp = {1'b0,a} - {1'b0,b};
y = temp[3:0];
cf = temp[4];
ovf = y[3] ^ a[3] ^ b[3] ^
cf;
EN LA CARPETA “DESIGN SOURCES” ENCONTRAREMOS EL NUEVO ARCHIVO LLAMADO “alu4.v” LO
ABRIMOS Y EMPEZAMOS A CAMBIAR LAS ENTRADAS Y SALIDAS AGREGANDOLE LOS “WIRE” Y
“REG” RESPECTIVAMENTE. UNA VEZ YA CONFIGURADAS, COPIAREMOS EL RESTO DEL CÓDIGO
ANTERIOR.

DESPUÉS DE HABER CONFIGURADO EL ARCHIVO “alu4.v” VAMOS A LA CARPETA DE CONSTRAINTS


DONDE LE DAMOS EN “ “ PARA CREAR UN “CONSTRAINT”. PRIMERO SE NOS ABRIRÁ UN CUADRO
EN EL CUAL LE DAREMOS EN “NEXT” Y LUEGO A CONTINUACIÓN EN “CREATE FILE”, LO
NOMBRAMOS Y PULSAMOS EN “OK””FINISH”.

UNA VEZ CREADO EL ARCHIVO “CONSTRAINT” BUSCAMOS LA SECCIÓN DE “## SWITCHES” Y “##
LEDS” EMPEZAMOS A DECLARAR LOS PUERTOS (INPUT Y OUTPUT) QUE USAREMOS EN EL BASYS.
DE MANERA QUE NOS QUEDARÁ COMO LO SIGUIENTE:
## This file is a general .xdc for set_property #set_property
the Basys3 rev B board IOSTANDARD LVCMOS33 IOSTANDARD LVCMOS33
[get_ports {a[1]}] [get_ports {sw[13]}]
## To use it in a project:
set_property PACKAGE_PIN V15 #set_property PACKAGE_PIN T1
## - uncomment the lines [get_ports {a[2]}] [get_ports {sw[14]}]
corresponding to used pins

## - rename the used ports (in set_property #set_property


each line, after get_ports) IOSTANDARD LVCMOS33 IOSTANDARD LVCMOS33
according to the top level signal [get_ports {a[2]}] [get_ports {sw[14]}]
names in the project
set_property PACKAGE_PIN W14 #set_property PACKAGE_PIN R2
[get_ports {a[3]}] [get_ports {sw[15]}]
## Clock signal
set_property #set_property
#set_property PACKAGE_PIN W5 IOSTANDARD LVCMOS33 IOSTANDARD LVCMOS33
[get_ports clk] [get_ports {a[3]}] [get_ports {sw[15]}]

set_property PACKAGE_PIN W13


[get_ports {b[0]}]
#set_property ## LEDs
IOSTANDARD LVCMOS33
[get_ports clk] set_property set_property PACKAGE_PIN U16
IOSTANDARD LVCMOS33 [get_ports {nf}]
#create_clock - [get_ports {b[0]}]
add -name sys_clk_pin -period
10.00 -waveform {0 5} [get_ports set_property PACKAGE_PIN V2 set_property
clk] [get_ports {b[1]}] IOSTANDARD LVCMOS33
[get_ports {nf}]

set_property set_property PACKAGE_PIN E19


## Switches IOSTANDARD LVCMOS33 [get_ports {zf}]
[get_ports {b[1]}]
set_property PACKAGE_PIN V17
[get_ports {alusel[0]}] set_property PACKAGE_PIN T3 set_property
[get_ports {b[2]}] IOSTANDARD LVCMOS33
[get_ports {zf}]
set_property set_property set_property PACKAGE_PIN U19
IOSTANDARD LVCMOS33 IOSTANDARD LVCMOS33 [get_ports {cf}]
[get_ports {alusel[0]}] [get_ports {b[2]}]
set_property PACKAGE_PIN V16 set_property PACKAGE_PIN T2 set_property
[get_ports {alusel[1]}] [get_ports {b[3]}] IOSTANDARD LVCMOS33
[get_ports {cf}]

set_property set_property PACKAGE_PIN V19


set_property IOSTANDARD LVCMOS33 [get_ports {ovf}]
IOSTANDARD LVCMOS33 [get_ports {b[3]}]
[get_ports {alusel[1]}]
#set_property PACKAGE_PIN R3 set_property
set_property PACKAGE_PIN W16 [get_ports {sw[11]}] IOSTANDARD LVCMOS33
[get_ports {alusel[2]}] [get_ports {ovf}]

#set_property set_property PACKAGE_PIN W18


IOSTANDARD LVCMOS33 [get_ports {y[0]}]
set_property [get_ports {sw[11]}]
IOSTANDARD LVCMOS33
[get_ports {alusel[2]}] #set_property PACKAGE_PIN W2 set_property
[get_ports {sw[12]}] IOSTANDARD LVCMOS33
set_property PACKAGE_PIN W17 [get_ports {y[0]}]
[get_ports {a[0]}]
#set_property set_property PACKAGE_PIN U15
IOSTANDARD LVCMOS33 [get_ports {y[1]}]
set_property [get_ports {sw[12]}]
IOSTANDARD LVCMOS33
[get_ports {a[0]}] #set_property PACKAGE_PIN U1 set_property
[get_ports {sw[13]}] IOSTANDARD LVCMOS33
set_property PACKAGE_PIN W15 [get_ports {y[1]}]
[get_ports {a[1]}]
set_property PACKAGE_PIN U14 #set_property PACKAGE_PIN L1 #set_property PACKAGE_PIN V7
[get_ports {y[2]}] [get_ports {led[15]}] [get_ports dp]

set_property #set_property
IOSTANDARD LVCMOS33 IOSTANDARD LVCMOS33 #set_property
[get_ports {y[2]}] [get_ports {led[15]}] IOSTANDARD LVCMOS33
[get_ports dp]
set_property PACKAGE_PIN V14
[get_ports {y[3]}]

#set_property PACKAGE_PIN U2
set_property ##7 segment display [get_ports {an[0]}]
IOSTANDARD LVCMOS33
[get_ports {y[3]}] #set_property PACKAGE_PIN W7
[get_ports {seg[0]}] #set_property
#set_property PACKAGE_PIN IOSTANDARD LVCMOS33
V13 [get_ports {led[8]}] [get_ports {an[0]}]
#set_property
IOSTANDARD LVCMOS33 #set_property PACKAGE_PIN U4
[get_ports {seg[0]}] [get_ports {an[1]}]
#set_property
IOSTANDARD LVCMOS33 #set_property PACKAGE_PIN W6
[get_ports {led[8]}] [get_ports {seg[1]}] #set_property
IOSTANDARD LVCMOS33
#set_property PACKAGE_PIN V3 [get_ports {an[1]}]
[get_ports {led[9]}] #set_property
IOSTANDARD LVCMOS33 #set_property PACKAGE_PIN V4
[get_ports {seg[1]}] [get_ports {an[2]}]
#set_property
IOSTANDARD LVCMOS33 #set_property PACKAGE_PIN U8
[get_ports {led[9]}] [get_ports {seg[2]}] #set_property
IOSTANDARD LVCMOS33
#set_property PACKAGE_PIN W3 [get_ports {an[2]}]
[get_ports {led[10]}] #set_property
IOSTANDARD LVCMOS33 #set_property PACKAGE_PIN W4
[get_ports {seg[2]}] [get_ports {an[3]}]
#set_property
IOSTANDARD LVCMOS33 #set_property PACKAGE_PIN V8
[get_ports {led[10]}] [get_ports {seg[3]}] #set_property
IOSTANDARD LVCMOS33
#set_property PACKAGE_PIN U3 [get_ports {an[3]}]
[get_ports {led[11]}] #set_property
IOSTANDARD LVCMOS33
[get_ports {seg[3]}]
#set_property
IOSTANDARD LVCMOS33 #set_property PACKAGE_PIN U5
[get_ports {led[11]}] [get_ports {seg[4]}] ##Buttons

#set_property PACKAGE_PIN P3 #set_property PACKAGE_PIN


[get_ports {led[12]}] #set_property U18 [get_ports btnC]
IOSTANDARD LVCMOS33
[get_ports {seg[4]}]
#set_property
IOSTANDARD LVCMOS33 #set_property PACKAGE_PIN V5 #set_property
[get_ports {led[12]}] [get_ports {seg[5]}] IOSTANDARD LVCMOS33
[get_ports btnC]
#set_property PACKAGE_PIN N3
[get_ports {led[13]}] #set_property #set_property PACKAGE_PIN T18
IOSTANDARD LVCMOS33 [get_ports btnU]
[get_ports {seg[5]}]
#set_property
IOSTANDARD LVCMOS33 #set_property PACKAGE_PIN U7 #set_property
[get_ports {led[13]}] [get_ports {seg[6]}] IOSTANDARD LVCMOS33
[get_ports btnU]
#set_property PACKAGE_PIN P1
[get_ports {led[14]}] #set_property #set_property PACKAGE_PIN
IOSTANDARD LVCMOS33 W19 [get_ports btnL]
[get_ports {seg[6]}]
#set_property
IOSTANDARD LVCMOS33
[get_ports {led[14]}]
#set_property #set_property PACKAGE_PIN H1
IOSTANDARD LVCMOS33 [get_ports {JA[4]}]
[get_ports btnL]
#set_property
#set_property PACKAGE_PIN T17 #set_property IOSTANDARD LVCMOS33
[get_ports btnR] IOSTANDARD LVCMOS33 [get_ports {JB[2]}]
[get_ports {JA[4]}]
##Sch name = JB4
#set_property ##Sch name = JA8
IOSTANDARD LVCMOS33 #set_property PACKAGE_PIN
[get_ports btnR] #set_property PACKAGE_PIN K2 B16 [get_ports {JB[3]}]
[get_ports {JA[5]}]
#set_property PACKAGE_PIN
U17 [get_ports btnD]
#set_property #set_property
IOSTANDARD LVCMOS33 IOSTANDARD LVCMOS33
[get_ports {JA[5]}] [get_ports {JB[3]}]
#set_property
IOSTANDARD LVCMOS33 ##Sch name = JA9 ##Sch name = JB7
[get_ports btnD]
#set_property PACKAGE_PIN H2 #set_property PACKAGE_PIN
[get_ports {JA[6]}] A15 [get_ports {JB[4]}]

#set_property
IOSTANDARD LVCMOS33 #set_property
[get_ports {JA[6]}] IOSTANDARD LVCMOS33
##Pmod Header JA [get_ports {JB[4]}]
##Sch name = JA10
##Sch name = JA1 ##Sch name = JB8
#set_property PACKAGE_PIN G3
#set_property PACKAGE_PIN J1 [get_ports {JA[7]}] #set_property PACKAGE_PIN
[get_ports {JA[0]}] A17 [get_ports {JB[5]}]

#set_property
#set_property IOSTANDARD LVCMOS33
IOSTANDARD LVCMOS33 [get_ports {JA[7]}] #set_property
[get_ports {JA[0]}] IOSTANDARD LVCMOS33
[get_ports {JB[5]}]
##Sch name = JA2
##Sch name = JB9
#set_property PACKAGE_PIN L2
[get_ports {JA[1]}] #set_property PACKAGE_PIN
C15 [get_ports {JB[6]}]
##Pmod Header JB
#set_property
IOSTANDARD LVCMOS33 ##Sch name = JB1
[get_ports {JA[1]}] #set_property
#set_property PACKAGE_PIN IOSTANDARD LVCMOS33
##Sch name = JA3 A14 [get_ports {JB[0]}] [get_ports {JB[6]}]
#set_property PACKAGE_PIN J2 ##Sch name = JB10
[get_ports {JA[2]}]
#set_property #set_property PACKAGE_PIN
IOSTANDARD LVCMOS33 C16 [get_ports {JB[7]}]
#set_property [get_ports {JB[0]}]
IOSTANDARD LVCMOS33
[get_ports {JA[2]}] ##Sch name = JB2
#set_property
##Sch name = JA4 #set_property PACKAGE_PIN IOSTANDARD LVCMOS33
A16 [get_ports {JB[1]}] [get_ports {JB[7]}]
#set_property PACKAGE_PIN G2
[get_ports {JA[3]}]

#set_property
#set_property IOSTANDARD LVCMOS33
IOSTANDARD LVCMOS33 [get_ports {JB[1]}]
[get_ports {JA[3]}]
##Sch name = JB3 ##Pmod Header JC
##Sch name = JA7
#set_property PACKAGE_PIN ##Sch name = JC1
B15 [get_ports {JB[2]}]
#set_property PACKAGE_PIN ##Sch name = JC10 #set_property
K17 [get_ports {JC[0]}] IOSTANDARD LVCMOS33
#set_property PACKAGE_PIN [get_ports {JXADC[5]}]
R18 [get_ports {JC[7]}]
##Sch name = XA3_N
#set_property
IOSTANDARD LVCMOS33 #set_property PACKAGE_PIN M1
[get_ports {JC[0]}] #set_property [get_ports {JXADC[6]}]
IOSTANDARD LVCMOS33
##Sch name = JC2 [get_ports {JC[7]}]
#set_property
#set_property PACKAGE_PIN IOSTANDARD LVCMOS33
M18 [get_ports {JC[1]}] [get_ports {JXADC[6]}]

##Sch name = XA4_N


##Pmod Header JXADC
#set_property #set_property PACKAGE_PIN N1
IOSTANDARD LVCMOS33 ##Sch name = XA1_P [get_ports {JXADC[7]}]
[get_ports {JC[1]}]
#set_property PACKAGE_PIN J3
##Sch name = JC3 [get_ports {JXADC[0]}] #set_property
IOSTANDARD LVCMOS33
#set_property PACKAGE_PIN [get_ports {JXADC[7]}]
N17 [get_ports {JC[2]}] #set_property
IOSTANDARD LVCMOS33
[get_ports {JXADC[0]}]

#set_property ##Sch name = XA2_P


IOSTANDARD LVCMOS33
[get_ports {JC[2]}] #set_property PACKAGE_PIN L3
[get_ports {JXADC[1]}] ##VGA Connector
##Sch name = JC4
#set_property PACKAGE_PIN
#set_property PACKAGE_PIN #set_property G19 [get_ports {vgaRed[0]}]
P18 [get_ports {JC[3]}] IOSTANDARD LVCMOS33
[get_ports {JXADC[1]}]
#set_property
##Sch name = XA3_P IOSTANDARD LVCMOS33
#set_property [get_ports {vgaRed[0]}]
IOSTANDARD LVCMOS33 #set_property PACKAGE_PIN M2
[get_ports {JC[3]}] [get_ports {JXADC[2]}] #set_property PACKAGE_PIN
H19 [get_ports {vgaRed[1]}]
##Sch name = JC7
#set_property
#set_property PACKAGE_PIN L17 IOSTANDARD LVCMOS33 #set_property
[get_ports {JC[4]}] [get_ports {JXADC[2]}] IOSTANDARD LVCMOS33
[get_ports {vgaRed[1]}]
##Sch name = XA4_P
#set_property #set_property PACKAGE_PIN J19
IOSTANDARD LVCMOS33 #set_property PACKAGE_PIN N2 [get_ports {vgaRed[2]}]
[get_ports {JC[4]}] [get_ports {JXADC[3]}]

##Sch name = JC8 #set_property


#set_property IOSTANDARD LVCMOS33
#set_property PACKAGE_PIN IOSTANDARD LVCMOS33 [get_ports {vgaRed[2]}]
M19 [get_ports {JC[5]}] [get_ports {JXADC[3]}]
#set_property PACKAGE_PIN
##Sch name = XA1_N N19 [get_ports {vgaRed[3]}]

#set_property #set_property PACKAGE_PIN K3


IOSTANDARD LVCMOS33 [get_ports {JXADC[4]}] #set_property
[get_ports {JC[5]}] IOSTANDARD LVCMOS33
[get_ports {vgaRed[3]}]
##Sch name = JC9 #set_property
IOSTANDARD LVCMOS33 #set_property PACKAGE_PIN
#set_property PACKAGE_PIN [get_ports {JXADC[4]}] N18 [get_ports {vgaBlue[0]}]
P17 [get_ports {JC[6]}]
##Sch name = XA2_N
#set_property
#set_property PACKAGE_PIN M3 IOSTANDARD LVCMOS33
#set_property [get_ports {JXADC[5]}] [get_ports {vgaBlue[0]}]
IOSTANDARD LVCMOS33
[get_ports {JC[6]}]
#set_property PACKAGE_PIN L18 #set_property #set_property
[get_ports {vgaBlue[1]}] IOSTANDARD LVCMOS33 IOSTANDARD LVCMOS33
[get_ports Vsync] [get_ports {QspiDB[0]}]

#set_property #set_property PACKAGE_PIN


IOSTANDARD LVCMOS33 D19 [get_ports {QspiDB[1]}]
[get_ports {vgaBlue[1]}]

#set_property PACKAGE_PIN ##USB-RS232 Interface #set_property


K18 [get_ports {vgaBlue[2]}] IOSTANDARD LVCMOS33
#set_property PACKAGE_PIN [get_ports {QspiDB[1]}]
B18 [get_ports RsRx]
#set_property #set_property PACKAGE_PIN
IOSTANDARD LVCMOS33 G18 [get_ports {QspiDB[2]}]
[get_ports {vgaBlue[2]}]
#set_property
#set_property PACKAGE_PIN J18 IOSTANDARD LVCMOS33 #set_property
[get_ports {vgaBlue[3]}] [get_ports RsRx] IOSTANDARD LVCMOS33
[get_ports {QspiDB[2]}]
#set_property PACKAGE_PIN
#set_property A18 [get_ports RsTx] #set_property PACKAGE_PIN F18
IOSTANDARD LVCMOS33 [get_ports {QspiDB[3]}]
[get_ports {vgaBlue[3]}]

#set_property PACKAGE_PIN J17 #set_property #set_property


[get_ports {vgaGreen[0]}] IOSTANDARD LVCMOS33 IOSTANDARD LVCMOS33
[get_ports RsTx] [get_ports {QspiDB[3]}]

#set_property #set_property PACKAGE_PIN


IOSTANDARD LVCMOS33 K19 [get_ports QspiCSn]
[get_ports {vgaGreen[0]}]

#set_property PACKAGE_PIN ##USB HID (PS/2)


H17 [get_ports {vgaGreen[1]}] #set_property
#set_property PACKAGE_PIN IOSTANDARD LVCMOS33
C17 [get_ports PS2Clk] [get_ports QspiCSn]

#set_property
IOSTANDARD LVCMOS33
[get_ports {vgaGreen[1]}] #set_property
IOSTANDARD LVCMOS33
#set_property PACKAGE_PIN [get_ports PS2Clk]
G17 [get_ports {vgaGreen[2]}]
#set_property
PULLUP true [get_ports PS2Clk]

#set_property #set_property PACKAGE_PIN


IOSTANDARD LVCMOS33 B17 [get_ports PS2Data]
[get_ports {vgaGreen[2]}]

#set_property PACKAGE_PIN
D17 [get_ports {vgaGreen[3]}] #set_property
IOSTANDARD LVCMOS33
[get_ports PS2Data]

#set_property #set_property
IOSTANDARD LVCMOS33 PULLUP true [get_ports PS2Data]
[get_ports {vgaGreen[3]}]

#set_property PACKAGE_PIN
P19 [get_ports Hsync]
##Quad SPI Flash

##Note that CCLK_0 cannot be


#set_property placed in 7 series devices. You
IOSTANDARD LVCMOS33 can access it using the
[get_ports Hsync]
##STARTUPE2 primitive.
#set_property PACKAGE_PIN
R19 [get_ports Vsync] #set_property PACKAGE_PIN
D18 [get_ports {QspiDB[0]}]
DESPUÉS DE CONFIGURAR EL CONSTRAINT LE DAMOS EN “RUN SYNTHESIS” Y LUEGO EN “OK”. UNA VEZ
TERMINADA LA SYNTHESIS NOS SALDRÁ UN NUEVO RECUADRO EN EL CUAL DAREMOS “OK”, EN EL
SIGUIENTE RECUADRO DE “LAUNCH RUN” IGUAL PONDREMOS “OK” Y AL TERMINAR DE IMPLEMENTAR
NOS SALDRÁ OTRO RECUADRO DONDE DAREMOS EN “OPEN IMPLEMENTED DESIGN” Y EN “OK”.

CONECTAREMOS EL BASYS3 A LA COMPUTADORA. DESPUÉS LE DAREMOS EN “GENERATE


BITSTREAM”“OK”. AL FINALIZAR NOS SALDRÁ UN RECUADRO DONDE SELECCIONAREMOS EN “VIEW
REPORTS””OK”

ABRIREMOS LA PESTAÑA DE “OPEN HARDWARE MANAGER”, PULSAREMOS “OPEN TARGET””AUTO


CONNECT”. DESPUÉS DAREMOS CLICK EN “PROGRAM DEVICE””PROGRAM”. Y YA ESTARÁ LISTA LA
CALCULADORA.
ALU OPERATIONS

Alusel [2:0] Function Output

0 0 0 Pass a a

0 0 1 addition a+b

0 1 0 Substraction 1 a-b

0 1 1 Substraction 2 b-a

1 0 0 iinvert Not a

1 0 1 and a and b

1 1 0 or a or b

1 1 1 xor a xor b
PRUEBAS

PROCEDEMOS A HACER LA PRUEBA NUMERO 1 CON EL ALUSEL 000 QUE SERA EL OUTPUT A ÓSEA LA
SALIDA A USAMOS EL NUMERO 4 PARA ESTA OPERACIÓN Y SE MOSTRARA EN LA FOTO SIGUIENTE
COMO SE PONDRA EN LA CALCULADORA A BINARIO.

PASS a
000

0100

PROCEDEMOS A HACER LA PRUEBA NUMERO 2 CON EL ALUSEL 001 QUE SERA EL OUTPUT A ÓSEA LA
SALIDA A+B USAMOS EL NUMERO 4 EN A Y UN 2 EN EL B PARA ESTA OPERACIÓN Y SE MOSTRARA EN
LA FOTO SIGUIENTE COMO SE PONDRA EN LA CALCULADORA A BINARIO Y NOS MOSTRARA LA SUMA
CORRESPONDIENTE A LOS NUMEROS EN BINARIO.

PASS a
001

0010 0100

PROCEDEMOS A HACER LA PRUEBA NUMERO 3 CON EL ALUSEL 010 QUE SERA EL OUTPUT A ÓSEA LA
SALIDA A-B USAMOS EL NUMERO 4 EN A Y UN 2 EN EL B PARA ESTA OPERACIÓN Y SE MOSTRARA EN
LA FOTO SIGUIENTE COMO SE PONDRA EN LA CALCULADORA A BINARIO Y NOS MOSTRARA LA RESTA
CORRESPONDIENTE A LOS NUMEROS EN BINARIO.
PASS a
010

0010 0100

PROCEDEMOS A HACER LA PRUEBA NUMERO 4 CON EL ALUSEL 011 QUE SERA EL OUTPUT A ÓSEA LA
SALIDA B- A USAMOS EL NUMERO 4 EN A Y UN 4 EN EL B PARA ESTA OPERACIÓN Y SE MOSTRARA EN
LA FOTO SIGUIENTE COMO SE PONDRA EN LA CALCULADORA A BINARIO Y NOS MOSTRARA LA RESTA
CORRESPONDIENTE A LOS NUMEROS EN BINARIO.

PASS a
011

0100 0100

PROCEDEMOS A HACER LA PRUEBA NUMERO 5 CON EL ALUSEL 100 QUE SERA EL OUTPUT A ÓSEA LA
SALIDA Not a ESTA SALIDA LO QUE HACE ES INVERTIR TODOS LOS NUMEROS EN EL SISTEMA BINARIO
AQUÍ MOSTRAREMOS UN EJEMPLO A CONTINUACION CON EL NUMERO 4

PASS a
100

0100
PROCEDEMOS A HACER LA PRUEBA NUMERO 5 CON EL ALUSEL 100 QUE SERA EL OUTPUT
A ÓSEA LA SALIDA AND ESTA SALIDA COMPARA LOS NÚMEROS EN EL SISTEMA BINARIO
CON RESPECTO A LA TABLA DE VERDAD QUE SE MOSTRARA, AQUÍ MOSTRAREMOS UN
EJEMPLO A CONTINUACIÓN CON RESPECTO A LA TABLA DE VERDAD SERA LA DICHA
SENTENCIA.

A B
0 0 0
0 1 0
1 0 0
1 1 1
PROCEDEMOS A HACER LA PRUEBA NUMERO 5 CON EL ALUSEL 110 QUE SERA EL OUTPUT
A ÓSEA LA SALIDA OR ESTA SALIDA COMPARA LOS NÚMEROS EN EL SISTEMA BINARIO CON
RESPECTO A LA TABLA DE VERDAD QUE SE MOSTRARA, AQUÍ MOSTRAREMOS UN EJEMPLO
A CONTINUACIÓN CON RESPECTO A LA TABLA DE VERDAD SERA LA DICHA SENTENCIA.

A B

0 0 0

0 1 1

1 0 1

1 1 1
PROCEDEMOS A HACER LA PRUEBA NUMERO 5 CON EL ALUSEL 111 QUE SERA EL OUTPUT
A ÓSEA LA SALIDA Xor ESTA SALIDA COMPARA LOS NÚMEROS EN EL SISTEMA BINARIO
CON RESPECTO A LA TABLA DE VERDAD QUE SE MOSTRARA, AQUÍ MOSTRAREMOS UN
EJEMPLO A CONTINUACIÓN CON RESPECTO A LA TABLA DE VERDAD SERA LA DICHA
SENTENCIA.

A B

0 0 0

0 1 1

1 0 1

1 1 0

Вам также может понравиться