FPGA入门(二):从仿真到上板验证,完成你的第一个 FPGA 工程

张开发
2026/5/6 3:17:28 15 分钟阅读

分享文章

FPGA入门(二):从仿真到上板验证,完成你的第一个 FPGA 工程
FPGA入门文章目录FPGA入门前言一、进入引脚规划界面二、对照开发板原理图确定引脚分配三、修改 I/O 电平标准匹配开发板电压四、保存引脚约束文件.xdc五、运行综合、实现生成比特流六、打开硬件管理器连接开发板七、下载比特流上板验证功能总结前言哈喽大家好上一篇我们已经完成了 2 选 1 多路选择器的功能仿真确认了代码逻辑的正确性。但 FPGA 设计的最终目的是要让代码在硬件上跑起来真正控制开发板的外设。今天我们就来手把手走完引脚约束→综合实现→生成比特流→上板验证的全过程让你的第一个 FPGA 工程真正 点亮”开发板一、进入引脚规划界面仿真通过后我们就可以开始给设计分配 FPGA 引脚了。引脚分配是连接代码和硬件的桥梁也是 FPGA 设计中至关重要的一步。在 Vivado 左侧的Flow Navigator面板中找到RTL ANALYSIS点击下面的Open Elaborated Design打开后界面会显示我们设计的 RTL 原理图右上角有个视图切换的下拉菜单我们选择I/O Planning进入引脚规划视图。切换后下方会出现I/O Ports表格这里会列出我们模块的所有端口、方向以及默认的电平标准二、对照开发板原理图确定引脚分配引脚分配必须严格对照你的开发板原理图千万不能凭感觉填我们的目标是把代码中的端口和开发板上的 LED、按键等外设对应起来查看开发板原理图找到你要用到的外设对应的 FPGA 引脚信号。比如我这里LED0 对应的信号是B34_L16_P查 FPGA 引脚定义表后这个信号对应的 Package Pin 是N22且位于Bank34。其他按键对应的引脚也可以用同样的方法查到。在I/O Ports表格中给每个端口分配对应的 Package Pin。我这里把输出端口out分配给N22LED0输入端口a分配给M16分配后表格中的Bank会自动变成34因为这些引脚都属于 Bank34。三、修改 I/O 电平标准匹配开发板电压这一步非常关键很多新手在这里踩坑导致硬件损坏或者功能异常。查看开发板原理图确认 Bank34 的供电电压VCCIO34是多少。我这里的开发板 Bank34 供电是 3.3V所以必须把电平标准改成LVCMOS33而不是默认的LVCMOS18。四、保存引脚约束文件.xdc分配完引脚和电平标准后我们需要把这些约束保存成.xdc文件让 Vivado 在综合和实现时应用这些设置。分配完成后Vivado 会提示保存约束文件我们给文件命名为mux2.xdc添加到工程的Constraints组中。这些命令就是告诉 Vivado每个端口对应的引脚和电平标准后续的综合、实现、布局布线都会按照这些约束来执行。五、运行综合、实现生成比特流约束添加完成后我们就可以走完整的编译流程生成可以下载到 FPGA 的比特流文件了点击左侧PROGRAM AND DEBUG下的Generate Bitstream等待 Vivado 生成最终的.bit文件。我们可以直接选择Open Hardware Manager也可以之后从左侧导航栏打开。六、打开硬件管理器连接开发板比特流生成后接下来就是把程序下载到 FPGA 中完成上板验证。连接开发板到电脑给开发板上电。在 Hardware Manager 界面点击Open target → Auto Connect让 Vivado 自动识别连接到电脑的 FPGA 设备。连接成功后就能在硬件列表中看到我们的 FPGA 芯片这里是 xc7z020状态显示为Not programmed说明还没有下载程序。七、下载比特流上板验证功能右键点击设备列表中的 FPGA 芯片选择Program Device…。在弹出的窗口中确认Bitstream file路径是我们刚刚生成的.bit文件Vivado 会自动帮我们填充好直接点击Program按钮开始下载。下载完成后开发板上的 FPGA 会自动运行我们的程序以我们的 2 选 1 多路选择器为例当按键sel为低电平时LED 会跟着输入a的状态变化当按键sel为高电平时LED 会跟着输入b的状态变化这说明我们的代码已经成功在硬件上跑起来了总结到这里我们就完成了从仿真到上板验证的全过程让你的第一个 FPGA 工程真正跑在了开发板上FPGA 设计就是这样从代码到仿真再到上板验证一步步把逻辑变成真实的硬件行为。

更多文章