1. 项目概述:FPGA入门第一步
LED闪烁与流水灯是FPGA开发者入门的"Hello World"。这个看似简单的项目,实际上涵盖了FPGA开发的完整闭环:从代码编写、功能仿真、管脚约束到最终下板验证。我当年在Xilinx大学计划实习时,导师让我们反复练习这个基础项目,因为其中藏着许多新手容易忽略的细节。
使用Vivado开发环境完成这个项目,你会经历典型的FPGA开发全流程。不同于单片机编程,FPGA开发需要同时考虑硬件时序特性和软件工具链配合。比如同样的LED闪烁代码,在FPGA上需要考虑时钟域、信号同步等硬件特性,这些经验对后续复杂项目至关重要。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 开发环境准备
2.1 Vivado安装与配置
建议安装Vivado 2020.1及以上版本(本文以2020.1为例)。安装时注意勾选器件支持包,对于基础实验只需安装目标器件系列(如Artix-7)。我遇到过学生安装时漏选器件包,导致后续无法创建工程的情况。
重要提示:安装路径不要包含中文或空格,否则可能导致IP核生成失败
安装完成后,建议进行以下基础配置:
- 在Settings → Tool Settings中设置默认文本编辑器(推荐VS Code)
- 关闭"Enable Message Filtering"以显示完整日志
- 在Windows环境变量中添加Vivado路径(便于命令行操作)
2.2 硬件连接检查
以常用的Basys3开发板为例(Artix-7 XC7A35T芯片),上板前需要:
- 确认跳线帽设置(JTAG模式)
- 检查USB线连接质量(劣质线可能导致编程失败)
- 安装板载USB-JTAG驱动(Digilent Adept工具包)
我曾遇到过因USB供电不足导致FPGA配置失败的情况,此时可尝试外接电源或更换主机USB接口。
3. 工程创建与代码实现
3.1 新建Vivado工程
创建RTL工程时关键步骤:
- 选择正确的器件型号(Basys3对应xc7a35tcpg236-1)
- 添加约束文件(先创建空文件,后续补充)
- 设置仿真语言(推荐Verilog/VHDL与设计代码一致)
工程目录结构建议如下:
code复制led_project/
├── src/
│ ├── rtl/
