3. LabVIEW FPGA开发环境搭建
LabVIEW FPGA的开发流程与普通PC端LabVIEW程序有本质区别:FPGA代码最终要综合成硬件电路,因此除了LabVIEW本身,还必须打通“项目—终端—编译工具链—仿真调试”这条完整链路。本节围绕这条链路,说明每一步实际要做什么、关键参数如何设置,以及如何判断环境是否真正可用。
一、项目创建:从LabVIEW Project开始
FPGA程序不能像普通VI那样单独运行,它必须挂在一个LabVIEW Project(.lvproj)之下,由项目统一管理主机VI、FPGA VI和FPGA终端。启动LabVIEW后选择“Blank Project”,在Project Explorer中右键项目根节点,选择“New → Targets and Devices”,即可添加FPGA终端。
创建项目时建议遵循以下组织约定:主机端VI(负责与FPGA通信、数据搬运、上位机显示)放在“My Computer”下;FPGA VI放在FPGA终端下;共享的控件、类型定义(.ctl)单独建一个文件夹,避免主机与FPGA之间数据类型不一致。项目保存路径不要包含中文和空格,否则Xilinx编译工具链在调用脚本时容易报路径错误。
二、FPGA终端配置:选对目标器件
添加FPGA终端时,LabVIEW会弹出“Select FPGA Target”对话框,需要选择与实际硬件一致的终端类型,例如cRIO、PXIe FPGA模块、FlexRIO或myRIO。选择后还要确认三项关键配置:
- FPGA器件型号:如Kintex-7 XC7K325T、Zynq-7020等,必须与板卡实际芯片一致,否则生成的比特流无法加载。
- 机箱/插槽位置:对于cRIO等模块化机箱,FPGA终端位于机箱内,模块插在具体槽位上,槽位号必须与实际物理插槽对应。
- 时钟与IO资源:在FPGA终端下可看到可用的时钟源(如40 MHz、80 MHz、200 MHz)和IO节点,后续采集速率、时序约束都依赖这些资源。
配置完成后,Project Explorer中会出现FPGA Target节点,其下自动生成“FPGA Base Clock”“IO”等资源。此时可以右键FPGA Target选择“Properties”,检查“Compilation”页中的综合工具是否为已安装的Xilinx版本。
三、编译工具链安装:Xilinx Vivado/ISE
LabVIEW FPGA的编译不是由LabVIEW自己完成,而是调用Xilinx的综合与实现工具。不同LabVIEW版本对Xilinx版本有严格对应关系,例如LabVIEW 2020 FPGA Module通常要求Vivado 2019.1,LabVIEW 2018对应Vivado 2017.4。安装时需注意:
推荐安装顺序:
1. 安装 LabVIEW 开发环境
2. 安装 LabVIEW FPGA Module
3. 安装对应版本的 Xilinx Vivado(含 WebPACK 或完整版)
4. 安装 LabVIEW FPGA Compile Farm / 本地编译工具
5. 在 LabVIEW 中通过 Tools → FPGA Module → Compile Tools 验证工具链
安装完成后,在LabVIEW中选择“Tools → FPGA Module → Compile Tools”,应能看到已识别的Xilinx路径。若显示“Not Found”,需手动指定Vivado安装目录下的bin文件夹。编译方式有两种:本地编译(Local Compile)直接在开发机上运行,适合小规模设计;编译服务器(Compile Farm)把综合任务提交到远程服务器,适合大型设计,可显著缩短等待时间。
四、仿真与调试环境准备
FPGA编译一次通常需要几十分钟到数小时,因此不能靠“编译—下载—看现象”来调试。LabVIEW FPGA提供两级仿真:
- 开发计算机仿真:在“My Computer”上直接运行FPGA VI,不需要硬件,适合验证逻辑功能和数据流,但时序不是真实硬件时序。
- FPGA终端仿真:在FPGA Target上选择“Execute VI on → Development Computer with Simulated I/O”,可模拟IO读写,适合验证采集触发、状态机跳转等逻辑。
调试方面,最常用的是前面板上的探针(Probe)和高亮执行,但FPGA VI在硬件上运行时不能直接使用这些交互工具。实际工程中更常用的是在FPGA VI中插入Indicator或FIFO,把关键信号(如采样计数、触发标志、状态机当前状态)传到主机端观察。对于时序问题,则需要在编译后查看Xilinx生成的Timing Report,确认是否满足建立/保持时间要求。
五、环境可用性检查清单
在正式开发采集程序前,建议按以下顺序逐项确认,任何一项不通过都不要继续往下做:
| 检查项 | 操作 | 通过判据 |
|---|---|---|
| LabVIEW与FPGA Module版本 | Help → About 查看版本 | FPGA Module已激活,版本与LabVIEW一致 |
| Xilinx工具链识别 | Tools → FPGA Module → Compile Tools | 显示Vivado路径,状态为Available |
| FPGA终端配置 | Project中查看FPGA Target属性 | 器件型号、槽位、时钟与硬件一致 |
| 冒烟测试编译 | 编译一个计数器FPGA VI | 综合、实现、比特流三阶段全部成功 |
| 仿真运行 | Execute VI on → Development Computer | 前面板可运行,逻辑输出符合预期 |
| 硬件下载 | 连接实际板卡,下载比特流 | FPGA VI运行,Indicator/FIFO有数据 |