Vivado初步教程实战:点亮LED灯,步骤清晰,必能跟下来

使用的是正点原子的领航者开发板。

一般这种教程都是各种截图,本文则主要用文字描述。图片的好处是信息量大,坏处是占用篇幅也大,一口气看十几页教程,很容易就看不下去了。

【1】 创建工程

  • 1.1 打开Vivado软件->点击【Quick Start】下的【Create Project】->【Next】
  • 1.2 输入项目名称【Project Name】;项目路径【Projection Location】,勾选【Create projected subdirectory】->【Next】
    • 其中我的项目名称是【led】,路径在【E:/work/Proj/led】
  • 1.3 【Project Type】只勾选【RTL Project】->【Next】
  • 1.4 【Add Sources】窗口
    • 【Target language】选择Verilog
    • 【Simulator language】选择Mixed
    • 点击【Create File】->文件类型verilog,文件名led.v->【OK】
    • 【Next】
  • 1.5 【Add Constraints】窗口,直接【Next】,等到创建完工程后再创建约束文件。
  • 1.6 【Default Part】选择开发板型号,我用的是ZYNQ-7020核心板,在【search】中输入【xc7z020clg400-2】->选中搜索结果->【Next】
  • 1.7 【Finish】完成工程创建,进入Vivado工程主界面。对于弹出的【Define Module】,在下一节介绍。

其中,工程类型含义如下

  • 【RTL Project】即正常设计流程。
    • 【Do not specify sources at this time】若勾选,则不创建或者添加设计文件,由于后续需要添加设计文件,所以不勾选。
    • 【Project is an extensible Vitis platform】创建的工程是否需要扩展 Vitis 开发平台,本入门示例不需要,所以不勾选。
  • 【Post-synthesis Project】在导入第三方工具所产生的综合后网表时才选择;
  • 【I/O Planning Project】一般用于在开始 RTL 设计之前,创建一个用于早期 IO 规划和器件开发的空工程;
  • 【Imported Project】 用于从 ISE、XST 或 Synopsys Synplify 导入现有的工程源文件;
  • 【Example Project】是指创建一个 Vivado 提供的工程模板。

Xilinx命名规则,以【xc7z020clg400-2】为例

  • 【xc】即Xilinx 公司
  • 【7】7 系列
  • 【z】zynq
  • 【020】价值索引,数值越大资源越多
  • 【clg】芯片制造工艺信息
  • 【400】芯片封装引脚计数
  • 【-2】速度等级

【2】 定义模块

  • 2.1 【Define Module】设置,其【Module name】默认led,即此前创建的文件名。点击【➕】,创建端口
    • 【Port Name】key;【Direction】input,不需勾选bus
    • 【Port Name】led;【Direction】output,不需勾选bus
    • 【OK】
  • 2.2 进入vivado主界面,在其Sources子窗口中,双击Design Sources下的led.v文件,可以看到Vivado自动创建了代码,其中大部分都写在【//】,这在verilog中表示注释。
  • 2.3 再添加几笔,让其变为如下形式,注意改完之后按下Ctrl+S保存
module led(                     
    input     key ,
    output    led  
);

assign led = ~key;
endmodule

其中,输入和输出是刚刚在Define Module窗口设置的;【assign】赋值语句,将【key】取反后赋值给led。功能非常简单,就是点亮LED。

【3】 分析

  • 3.1 找到左侧【Flow Navigator侧栏\RTL_ANALYSIS下拉框\Open Elaborated Design】,点击后弹出提示框->【OK】

    • 此时Vivado会编译源文件把那个进行语法检查,点击底部【Messages】窗口可以看到其编译过程
    • 编译完成后,右侧led.v旁边会弹出【Project Summary】选项卡
    • 点击【RTL_ANALYSIS】下的【Schematic】,可查看其原理图
    • 在这里插入图片描述
  • 3.2 分配I/O引脚,点击右上角的布局下拉框,将【Default Layout】更改为【I/O Planning】,即可编辑IO->选中底部【IO Ports】选项卡,打开【All pors\Scalar ports】下拉框,将key和led的【I/O Std】均设为【LVCMOS 33】;将Package Pin分别设为【L14】和【H15】

    • 在这里插入图片描述
  • 3.3 引脚约束完成后,点击Ctrl+S保存设置,弹出约束保存对话框->将文件名设为【led】->点击【OK】

    • 保存完成后,可在【Sources\Constrints\constrs_1\led.xdc】中查看其文件内容

其中,key和led引脚设置需要在开发板的文档中寻找。【led.xdc】内容如下

set_property IOSTANDARD LVCMOS33 [get_ports led]
set_property IOSTANDARD LVCMOS33 [get_ports key]
set_property PACKAGE_PIN L14 [get_ports key]
set_property PACKAGE_PIN H15 [get_ports led]

【4】 综合与实现

  • 4.1 点击【Flow Navigator\SYNTHESIS\Run Synthesis】->弹出对话框直接点【OK】
    • 这一步需要一点时间,综合过程中,右上角【I/O Planning】上方一直在转圆圈,需要等待
  • 4.2 综合完成后,弹出完成窗口->选择【Run Implemented】->【OK】->新弹出窗口也点【OK】,
    • 实现过程同样需要时间,右上角转圈。
  • 4.3 实现完成后,弹出完成窗口->选择【Open Implemented Design】->【OK】->新弹出窗口也点【Yes】
    • 这一步完成之后,下方【Design Runs】选项卡的Status列会有完成提示
  • 4.4 点击【Flow Navigator\PROGRAM AND DEBUG\Generate Bitstrem】->弹出对话框点击【OK】
    • 这一步需要时间,右上角转圈。
  • 4.5 比特流生成完成后,弹出窗口点击【Cancel】->点击左下角【Open Hardware Manager】,弹出硬件管理窗口

至此,我们便生成了用于FPGA的硬件程序。

【5】 下载验证

  • 5.1 将开发板调整为JTAG模式,我所使用的开发板,需将两个BOOT开关均调制ON状态

  • 5.2 连接JTAG下载口:开发板->ATK-USB转接器->USB线->电脑

  • 5.3 连接开发板电源,并开机,ATK-USB转接器的指示灯变蓝

  • 5.3 点击vivado【Hardware】子窗口中的自动连接按钮,连接成功如下图所示,红框中标出的是自动连接按钮。

    • 在这里插入图片描述
  • 5.4 点击【Hardware】子窗口上方的【Program device】->弹出窗口点击【Program】

至此,Vivado的入门开发即宣告成功,点击开发板上相应的按钮,LED灯就会亮。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微小冷

请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值