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

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


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

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

       软件平台:Vivado


一. 创建工程

基于Basys 3的四位加法运算器_第1张图片


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

基于Basys 3的四位加法运算器_第2张图片


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

基于Basys 3的四位加法运算器_第3张图片


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

基于Basys 3的四位加法运算器_第4张图片


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

基于Basys 3的四位加法运算器_第5张图片


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

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

基于Basys 3的四位加法运算器_第6张图片


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

基于Basys 3的四位加法运算器_第7张图片

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

基于Basys 3的四位加法运算器_第8张图片

 编写程序,如下:


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

基于Basys 3的四位加法运算器_第9张图片

编辑约束文件:


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

基于Basys 3的四位加法运算器_第10张图片

四. 综合

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

基于Basys 3的四位加法运算器_第11张图片

五. 生成比特流

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

基于Basys 3的四位加法运算器_第12张图片


六. 下载程序

 (1)与硬件相连

基于Basys 3的四位加法运算器_第13张图片

 (2)下载程序

基于Basys 3的四位加法运算器_第14张图片


七. 实物演示

 两个四位数分别为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


至此,实验结束!!!

你可能感兴趣的:(FPGA)