FPGA学习笔记(4)——Vivado工程创建LED闪烁

本文将从头新建一个Vivado 2018.2工程,使用正点原子的ZYNQ-7020实现LED闪烁的最基本功能。

1 创建工程

1、点击Create Project,再点击Next

在这里插入图片描述

2、创建工程文件夹
修改Project name,然后点击Next

在这里插入图片描述

3、选择工程类型:
点击RTL Project,然后点击Next

在这里插入图片描述

4、添加设计文件和约束文件:
设计文件包括HDL、网表、块设计和IP核,一开始可以先不添加,在创建完工程后再添加,这里直接点击Next

在这里插入图片描述

5、选择芯片型号。
zynq-7020是xc7z020clg400-2。Package为clg400,Family为ZYNQ-7000,Speed为-2。

6、创建工程:
点击Finish完成创建。

在这里插入图片描述

2 编写程序

1、在Design Sources中添加新文件,顶层文件名必须与工程名相同,这里取名为000_test_project.v

在这里插入图片描述

2、在000_test_project.v中添加代码并保存:
module名称不可以用数字开头,但可以与.v文件名不同,这里设置为test_project

//  000_test_project.v
module test_project(
    input sys_clk,
    input sys_rst_n,
    
    output [1:0] led
);

// reg define
reg [25:0] cnt;

assign led = (cnt <= 26'd2500_0000) ? 2'b01 : 2'b10;

always @ (posedge sys_clk or negedge sys_rst_n) begin
    if(!sys_rst_n)
        cnt <= 26'd0;
    else if(cnt < 26'd5000_0000)
        cnt <= cnt + 1'b1;
    else
        cnt <= 26'd0;
end

endmodule

3 RTL分析

1、点击RTL Analysis下的Open Elaborated Design,然后点击弹窗的OK

在这里插入图片描述

2、点击Schematic打开逻辑图,可以结合Netlist网表图查看电路结构。

在这里插入图片描述

在这里插入图片描述

3、管脚约束:右上角点击I/O Planning,设置引脚的输入输出。

在这里插入图片描述

需要联系电路板原理图进行设置。
设置LED输出引脚和时钟、复位输入引脚。
在这里插入图片描述
按下Ctrl+S保存,设置约束文件名称为000_test_project.xdc

点击OK后,关闭RTL Analysis。点击Sources就可以看到约束文件已经创建。

在这里插入图片描述
文件内引脚约束信息如下:

set_property PACKAGE_PIN U18 [get_ports sys_clk]
set_property IOSTANDARD LVCMOS33 [get_ports sys_clk]
set_property IOSTANDARD LVCMOS33 [get_ports sys_rst_n]
set_property PACKAGE_PIN N16 [get_ports sys_rst_n]
set_property IOSTANDARD LVCMOS33 [get_ports {led[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[0]}]
set_property PACKAGE_PIN L15 [get_ports {led[1]}]
set_property PACKAGE_PIN H15 [get_ports {led[0]}]

4 综合 Synthesis

点击左侧菜单栏的Run Synthesis。可以选择运行综合时使用的CPU核心数量。

在这里插入图片描述

等待片刻可以看到Project Summary中显示综合已经完成的信息。

在这里插入图片描述

点击Open Synthesized Design,即可看到芯片内使用的相关资源。

在这里插入图片描述

5 实现 Implementation

点击Run Implementation

在这里插入图片描述

实现完成后,可以看到Project Summary中显示实现已经完成的信息。

在这里插入图片描述

点击Open Implemented Design即可得到相关设计结果。

在这里插入图片描述

6 生成比特流文件

点击Generate Bitstream

在这里插入图片描述

7 调试程序

首先将FPGA电路板插上电源和烧录工具,连接到电脑。
然后点击Open Hardware ManagerOpen Target,然后点击Auto Connect自动连接。

在这里插入图片描述

点击Program Device来将程序写入芯片,不过只是暂时的,芯片掉电重启后,程序就丢失了。

在这里插入图片描述

在Program Device窗口中点击Program

在这里插入图片描述

实验结果:
可以发现FPGA底板上的两个LED灯交替闪烁。

在这里插入图片描述

8 程序固化

这是由于 ZYNQ 非易失性存储器的引脚(如 SD 卡、QSPI Flash)是 ZYNQ PS 部分的专用引脚,这些非易失性存储器由 PS 的 ARM 处理器进行驱动,需要将 bit 流文件和 elf 文件(软件程序的下载文件)合成一个 BOOT.BIN,才能进行固化,因此需要学习 ZYNQ 嵌入式 SDK 的开发流程。

要把程序存储在非易失性存储器中,在上电或者复位时让程序自动运行,这个过程需要启动引导程序(Boot Loader)的参与。Boot Loader 会加载 FPGA 配置文件,以及运行在 ARM 中的软件应用。(具体操作方法略)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值