基于Basys 3的四位加法运算器
实验内容:用basys 3开发板实现四位加法运算,并且在basys 3上演示
实验平台:硬件平台:Basys 3
软件平台:Vivado
一. 创建工程
工程名为add4, 选择保存文件夹
点击next,并选择RTL Project,如下图所示:
点击next,直到出现选择与basys 3相应的内核,如下图所示:
点击next,点击Finish,即完成工程的创建,如下图:
二. 创建Verilog HDL文件和约束文件
(1)创建Verilog HDL文件,如下图
给文件命名为add4,如下图:
设置输入、输出端口,如下图:
编写程序,如下:
module add4(
input [7:0] sw,
output [4:0] led
);
wire [7:0] sw;
reg [3:0] A;
reg [3:0] B;
reg [4:0] led;
always @ (*)
begin
A = {sw[3], sw[2], sw[1], sw[0]}; //并位运算,并赋值
B = {sw[7], sw[6], sw[5], sw[4]};
led = A + B;
end
endmodule
(2)创建约束文件
创建约束文件,并命名为add4_pin
编辑约束文件:
#leds
set_property PACKAGE_PIN U16 [get_ports {led[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[0]}]
set_property PACKAGE_PIN E19 [get_ports {led[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[1]}]
set_property PACKAGE_PIN U19 [get_ports {led[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[2]}]
set_property PACKAGE_PIN V19 [get_ports {led[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[3]}]
set_property PACKAGE_PIN W18 [get_ports {led[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[4]}]
# Switches
set_property PACKAGE_PIN V17 [get_ports {sw[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw[0]}]
set_property PACKAGE_PIN V16 [get_ports {sw[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw[1]}]
set_property PACKAGE_PIN W16 [get_ports {sw[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw[2]}]
set_property PACKAGE_PIN W17 [get_ports {sw[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw[3]}]
set_property PACKAGE_PIN W15 [get_ports {sw[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw[4]}]
set_property PACKAGE_PIN V15 [get_ports {sw[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw[5]}]
set_property PACKAGE_PIN W14 [get_ports {sw[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw[6]}]
set_property PACKAGE_PIN W13 [get_ports {sw[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw[7]}]
三. RTL分析,生成原理图,见下图
四. 综合
综合后的原理图,见下图:
五. 生成比特流
点击生成比特流,见下图:
六. 下载程序
(1)与硬件相连
(2)下载程序
七. 实物演示
两个四位数分别为sw[7:4]和sw[3:0]
(1)当sw[7:4]=4'b1011, sw[3:0]=4'b1101时,计算结果为5'b11000
(2)当sw[7:4]=4'b0011, sw[3:0]=4'b1011时,计算结果为5'b01110
至此,实验结束!!!