基于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


至此,实验结束!!!

Basys3介绍: Digilent 的 Basys3 是一款采用 Xilinx Artix 7 FPGA 架构的入门级 FPGA 板,专门用于 Vivado 设计套件。 Basys3 是广受欢迎的 Basys 入门级 FPGA 板系列的最新成员。 Basys3 具有所有 Basys 板的标准特性:全套现成的硬件、大量板载 I/O 设备、所有必要的 FPGA 支持电路和免费版开发工具,且全部以学生价格提供。 Basys3原理图截图: Digilent 现在推出 Basys3,通过提升特性集为学生们带来更好的专业级工程代表产品。 这些改进包括: 更多 I/O: 双用户接口开关、双板载输出数量、升级了外部端口(从 6 引脚、单排 Pmod 到 12 引脚、双排 Pmod)和 USB UART 桥接。 现代编程的挑战: 由于从 Spartan 3E 系列到 Artix 7 类件的迁移,Basys3 增加了大量硬件功能。 这款新型 Artix FPGA 件逻辑单元数提升了 15 倍(从 2,160 到 33,280),从倍增升级到真正的 DSP 切片。 该件的 RAM 还增加了 26 倍以上。 业内首款 SOC 加强型设计套件: 对 Basys3 的最大变化就是升级到 Xilinx Vivado 设计套件。 Vivado 设计套件是全球专业工程师使用的最先进设计工具链。 Vivado 凭借扩充的功能改进了 ISE 的用户体验,如与 Vivado IP 积分的基于块的 IP 的集成,将开发时间减少到 1/10 的 Vivado 高级合成(仅可用于 Vivado 系统版),以及带 DSP 系统发生的基于模型的 DSP 设计集成。 特性 5200 个切片中有 33,280 的逻辑单元(每个切片包含四个 6 输入 LUT 和 8 个触发) 1,800 Kb 的快速块 RAM 5 个时钟管理模块,每个都提供锁相环 (PLL) 90 个 DSP 切片 超过 450 MHz 的内部时钟速度 片载模数转换 (XADC) 16 个用户开关 16 个用户 LED 5 个用户按钮 4 位 7 段显示 4 个 Pmod 连接3 个标准 12 引脚 Pmod 1 个双用途 XADC 信号/标准 Pmod 12 位 VGA 输出 USB UART 桥接 串行闪存 用于 FPGA 编程和通信的 Digilent USB JTAG 端口 用于鼠标、键盘和记忆棒的 USB HID 主机 实物购买链接:https://www.eeboard.com/shop/?c=products&a=index&_k...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值