您的位置:首页 > 其它

基于Basys 3的四位加法运算器

2016-12-05 00:40 232 查看
基于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



至此,实验结束!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息