编译FPGA VI可能耗时几分钟或几个小时。但编译VI前,可在仿真模式下使用仿真I/O测试FPGA VI的逻辑。使用该测试模式时,LabVIEW生成随机数据以用于输入,或使用用户创建的自定义VI来提供I/O。FPGA桌面执行节点可用于与选中的FPGA资源通信及调试FPGA设计。在某些FPGA终端上,可在仿真模式使用实际I/O执行FPGA VI。

在开发计算机上仿真FPGA VI时,可使用全部传统LabVIEW 调试技术(例如,探针、高亮显示执行、断点和单步执行),还可以使用专用于FPGA主控VI环境的调试技术。

提示 建议编译FPGA设计前,先在软件中进行调试和验证以避免不必要的编译过程。

如要在仿真模式,通过仿真I/O调试FPGA设计,请选择下列选项:

  • 采样探针-通过此选项检查VI运行时连线上的即时值,和查看信号数据随时间的变化。
  • FPGA桌面执行节点-需要测试FPGA VI的独立设计元素或依赖于支持功能的设计的系统级测试时,选择此选项。支持的功能包括前面板输入控件和显示控件、I/O资源及使用仿真时间的资源。关于使用仿真时间的功能列表见“主机的仿真时间”章节。
  • 自定义VI测试台-需要创建来自特定输入的数据或监控输出时,使用此选项。

采样探针

在主控VI或FPGA VI中使用采样探针,查看VI运行时连线上的即时值和查看信号数据随时间的变化。例如,需要在单周期定时循环内调试信号。在主控VI中使用采样探针时,必须使用用于探针的采样源。

不能使用采样探针监测窗口更改数据。探针对VI的运行方式不会产生影响。

FPGA桌面执行节点

使用测试台调试FPGA VI前,可首先使用模拟I/O在模拟模式中测试VI逻辑,无需通过运行FPGA VI进行编译。该测试方法可节省编译时间,便于重复测试并减少创建用于其他调试的测试台所需的修改次数。

FPGA桌面执行节点在仿真模式使用仿真I/O运行FPGA VI,运行时间为指定数量的时钟滴答。使用FPGA桌面执行节点测试包含用户开发IP的单个循环,或测试包含多个循环的整个FPGA应用,应用中的循环以不同的时钟速率并行运行。使用该节点与选中的FPGA资源通信,并调试FPGA设计。

注: 如要连续仿真代码,必须将LabVIEW FPGA代码放置在While循环内。

自定义VI测试台

在LabVIEW中创建一个仿真I/O的自定义VI,用作FPGA VI的测试台。自定义VI可用作测试台,以创建来自指定输入端的数据或监控输出端。每次FPGA VI通过调用FPGA I/O节点读取输入值时,LabVIEW使用用户指定的自定义VI提供数据。通过FPGA I/O的自定义VI创建用于测试的可重复性场景,且使其能够更改指定输入端的数据。FPGA I/O的自定义VI也可用于监视来自FPGA I/O节点的输出端。

(状态图)在开发计算机上可调试用于FPGA终端的状态图。

理解仿真时间

如使用特定FPGA资源且在仿真模式使用仿真I/O执行FPGA VI,资源使用仿真时间而不是实际时间。仿真时间可能比实际时间快,具体取决于仿真时发生的事件数量。例如,添加“等待(仿真时间)”VI至程序框图并将延时设置为1000 ms,LabVIEW不会尝试延时实际时间的一秒钟。LabVIEW执行仿真的下一个计划动作前,将延时必需的时间。

下列资源在主机上使用仿真时间:

  • While循环
  • 单周期定时循环
  • 等待(仿真时间)VI
  • 循环定时器Express VI
  • 时间计数器Express VI
  • FIFO(DMA FIFO除外)
  • 等待事件发生超时(时钟滴答)函数
  • 清零前等待为TRUE时中断VI