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

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


实验内容:用basys 3开发板实现四位加法运算,并且在basys 3上演示

实验平台:硬件平台:Basys 3

       软件平台:Vivado


一. 创建工程

blob.png


工程名为add4, 选择保存文件夹

blob.png


点击next,并选择RTL Project,如下图所示:

blob.png


点击next,直到出现选择与basys 3相应的内核,如下图所示:

blob.png


点击next,点击Finish,即完成工程的创建,如下图:

blob.png


二. 创建Verilog HDL文件和约束文件

 (1)创建Verilog HDL文件,如下图

blob.png


 给文件命名为add4,如下图:

blob.png

设置输入、输出端口,如下图:

blob.png

 编写程序,如下:


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

blob.png

编辑约束文件:


#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分析,生成原理图,见下图

blob.png

四. 综合

 综合后的原理图,见下图:

blob.png

五. 生成比特流

 点击生成比特流,见下图:

blob.png


六. 下载程序

 (1)与硬件相连

blob.png

 (2)下载程序

blob.png


七. 实物演示

 两个四位数分别为sw[7:4]和sw[3:0]

 (1)当sw[7:4]=4'b1011, sw[3:0]=4'b1101时,计算结果为5'b11000

blob.png

 (2)当sw[7:4]=4'b0011, sw[3:0]=4'b1011时,计算结果为5'b01110

blob.png


至此,实验结束!!!

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值