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月前
|
数据采集 机器学习/深度学习 大数据
行为检测代码(一):超详细介绍C3D架构训练+测试步骤
这篇文章详细介绍了C3D架构在行为检测领域的应用,包括训练和测试步骤,使用UCF101数据集进行演示。
43 1
行为检测代码(一):超详细介绍C3D架构训练+测试步骤
|
1月前
|
机器学习/深度学习 人工智能 监控
提升软件质量的关键路径:高效测试策略与实践在软件开发的宇宙中,每一行代码都如同星辰般璀璨,而将这些星辰编织成星系的过程,则依赖于严谨而高效的测试策略。本文将引领读者探索软件测试的奥秘,揭示如何通过精心设计的测试方案,不仅提升软件的性能与稳定性,还能加速产品上市的步伐,最终实现质量与效率的双重飞跃。
在软件工程的浩瀚星海中,测试不仅是发现缺陷的放大镜,更是保障软件质量的坚固防线。本文旨在探讨一种高效且创新的软件测试策略框架,它融合了传统方法的精髓与现代技术的突破,旨在为软件开发团队提供一套系统化、可执行性强的测试指引。我们将从测试规划的起点出发,沿着测试设计、执行、反馈再到持续优化的轨迹,逐步展开论述。每一步都强调实用性与前瞻性相结合,确保测试活动能够紧跟软件开发的步伐,及时适应变化,有效应对各种挑战。
|
2月前
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
|
22天前
|
Java 测试技术 Maven
开发指南067-单元测试
平台中单元测试使用两个工具:
|
1月前
|
Java 程序员 应用服务中间件
「测试线排查的一些经验-中篇」&& 调试日志实战
「测试线排查的一些经验-中篇」&& 调试日志实战
22 1
「测试线排查的一些经验-中篇」&& 调试日志实战
|
1月前
|
测试技术 网络安全
什么是软件测试? 软件测试都有什么岗位 ?软件测试和调试的区别? 软件测试和开发的区别? 一位优秀的测试人员应该具备哪些素质? 软件测试等相关概念入门篇
文章全面介绍了软件测试的基本概念、目的、岗位分类、与开发和调试的区别,并阐述了成为优秀测试人员应具备的素质和技能。
179 1
什么是软件测试? 软件测试都有什么岗位 ?软件测试和调试的区别? 软件测试和开发的区别? 一位优秀的测试人员应该具备哪些素质? 软件测试等相关概念入门篇
|
2月前
|
SQL JavaScript 前端开发
基于Python访问Hive的pytest测试代码实现
根据《用Java、Python来开发Hive应用》一文,建立了使用Python、来开发Hive应用的方法,产生的代码如下
70 6
基于Python访问Hive的pytest测试代码实现
|
2月前
|
Java C++
代码文件间重复性测试
本文介绍了如何使用代码相似性检测工具simian来找出代码文件中的重复行,并通过示例指令展示了如何将检测结果输出到指定的文本文件中。
|
2月前
|
敏捷开发 安全 测试技术
软件测试的艺术:从代码到用户体验的全方位解析
本文将深入探讨软件测试的重要性和实施策略,通过分析不同类型的测试方法和工具,展示如何有效地提升软件质量和用户满意度。我们将从单元测试、集成测试到性能测试等多个角度出发,详细解释每种测试方法的实施步骤和最佳实践。此外,文章还将讨论如何通过持续集成和自动化测试来优化测试流程,以及如何建立有效的测试团队来应对快速变化的市场需求。通过实际案例的分析,本文旨在为读者提供一套系统而实用的软件测试策略,帮助读者在软件开发过程中做出更明智的决策。
|
2月前
|
SQL JavaScript 前端开发
基于Java访问Hive的JUnit5测试代码实现
根据《用Java、Python来开发Hive应用》一文,建立了使用Java、来开发Hive应用的方法,产生的代码如下
71 6

热门文章

最新文章