LabVIEWCompactRIO 开发指南33 测试和调试LabVIEW FPGA代码

简介: LabVIEWCompactRIO 开发指南33 测试和调试LabVIEW FPGA代码

LabVIEWCompactRIO 开发指南33


测试和调试LabVIEW FPGA代码


如前所述,应在仿真模式下开发LabVIEWFPGA VI,以快速迭代设计并避免冗长的编译时间。当需要测试和调试VI时,可以保持仿真模式或利用其他几个选项。应该根据功能验证与性能的要求以及要测试的代码类型(单元、组件或系统)选择执行模式。每种类型的代码都有不同的属性和验证要求,如下所述。


Unit


“Unit”是可以构建的最基本级别的IP,因为它映射到特定的处理函数或算法。不会拆分它并将其作为一组较小的功能单元进行测试。


希望保持这些简单,因此在以下情况下将其称为单位:


■它可以封装为用户可能希望在设计的其他部分重用的子VI


■不包括I/O、数据通信或任何目标资源


■它没有多个并行或以不同速率运行的回路


■它本质上是功能性的——可以提供一些已知的输入并测试预期的输出


■它可能保持状态,在这种情况下,可能需要多次调用它来验证它,但它的行为不应依赖于显式的特定时间流逝或控制


Component


Component是更复杂的逻辑片段,包括可能更关注系统中时序的元素。根据定义,它们是可组合的,并且通常具有明确的任务或目标要完成。FPGA应用通常可以分解为多个组件,此级别的验证可确保组件在集成到更大的组件中时按预期交互。可能还希望确保子组件与I/O或主机正确交互(通过主机接口),而无需等到整个系统组装完毕。


系统


可以将系统级别视为最顶层的组件。它由顶级FPGA VI以及通过组件级IP(CLIP)节点导入的任何其他HDLIP表示。它与其他组件有些不同,因为它的接口向主机应用程序公开,因此验证测试要么类似于运行主机应用,要么是主机应用。因此,验证需要使用主机接口API以及将实际I/O信号连接到系统。一个系统通常包含多个While循环或SCTL。


表5.2提供了有关应使用哪种执行模式进行验证和调试的指导。请记住,如果可以在单元和组件级别执行广泛的调试和验证,则可以减少系统级别的验证工作。


表5.2.用于验证和调试LabVIEW FPGA代码的不同执行模式


b4ccad7f079707ed2aa157e2412400fa.png



在WindowsPC上执行LabVIEW FPGA代码


可以通过将FPGA VI拖动到LabVIEW项目中的“我的电脑”目标,在WindowsPC上执行FPGA VI。这是调试、测试单元级代码的最快、最简单的方法。LabVIEW FPGA选板中包含的所有函数(不包括目标资源)都可以在桌面环境中执行。


这种方法有几个好处。为了进行调试,可以访问标准LabVIEWdebuging功能和可视化选项(图形、图表等)。出于测试目的,可以访问LabVIEW中的数个用于桌面编程选板的库。


在此上下文中,不要更改LabVIEW FPGA代码,因为不再被限制在有限的LabVIEW FPGA选板中,并且可能会引入仅在桌面上支持的结构。MyComputer执行环境是开发测试的理想选择,这些测试涉及围绕LabVIEW FPGA VI编写代码。


在模拟模式下执行


另一种选择是使用LabVIEW FPGA仿真。仿真使用内置的高保真、位精确仿真器在主机上执行FPGA代码。假设设计可以以所需的速率编译,则在仿真SCTL中包含的代码时,模拟器是周期精确的。该仿真器支持FPGA目标资源,如I/O、内存项和DMA FIFO,因此可以用于单元和组件级的代码。可以将LabVIEW FPGA VI配置为在仿真模式下运行,只需在LabVIEW项目中右击FPGA目标,然后选择在»Development Computer with Simulated I/O。


c9e107d26013adf3e0bf36b037a621e7.png


图5.29.更改LabVIEW FPGA VI的执行模式


需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

相关文章
|
1月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之idea本地测试代码,要增大 Flink CDC 在本地 IDEA 测试环境中的内存大小如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
1月前
|
传感器 数据采集 算法
LabVIEW无人机大气数据智能测试系统
LabVIEW无人机大气数据智能测试系统
29 3
|
2天前
|
存储 前端开发 JavaScript
VSCode调试揭秘:Live Server助力完美测试Cookie与Session,远超“Open in Browser“!
VSCode调试揭秘:Live Server助力完美测试Cookie与Session,远超“Open in Browser“!
|
9天前
|
测试技术 Python
Python教程:利用timeit模块对代码进行性能测试
在Python中,了解代码的性能是优化和改进的关键。timeit模块是Python标准库中的一个工具,用于测量代码片段的执行时间。本文将介绍timeit模块的各种接口、命令行使用方法以及如何对代码中的函数或类进行性能测试。
18 3
|
16天前
|
设计模式 Java 测试技术
Java8实战-重构、测试和调试(二)
Java8实战-重构、测试和调试(二)
19 2
|
25天前
|
Java 测试技术 Web App开发
《手把手教你》系列技巧篇(六十二)-java+ selenium自动化测试-RemoteWebDriver让你的代码与测试分离(远程测试)
【6月更文挑战第3天】本文介绍了在没有本地浏览器的情况下,如何使用RemoteWebDriver进行远程自动化测试。RemoteWebDriver分为客户端和服务端,客户端运行测试代码,服务端启动服务。服务端需要安装JDK、浏览器和对应的WebDriver,并启动selenium-server-standalone.jar。客户端通过URL连接到服务端,并指定预期的浏览器类型。这样,客户端的测试代码就能远程控制服务端的浏览器执行自动化测试。RemoteWebDriver的优点包括跨平台和浏览器测试、提高测试稳定性以及使测试环境和执行代码的机器分离。
30 3
|
7天前
|
前端开发 JavaScript 算法
JavaScript事件监听测试代码
JavaScript事件监听测试代码
8 0
|
14天前
|
SQL 存储 关系型数据库
MySQL存储过程——Baidu Comate智能代码助手添加20条DML语句——测试索引效果
MySQL存储过程——Baidu Comate智能代码助手添加20条DML语句——测试索引效果
10 0
|
16天前
|
设计模式 算法 Java
Java8实战-重构、测试和调试(一)
Java8实战-重构、测试和调试(一)
15 0
|
1月前
|
传感器 存储 数据采集
LabVIEW MEMS电容式压力传感器测试系统
LabVIEW MEMS电容式压力传感器测试系统
43 4