LabVIEW FPGA中可重入和非可重入子VI的区别

简介: LabVIEW FPGA中可重入和非可重入子VI的区别

LabVIEW FPGA中可重入和非可重入子VI的区别

LabVIEW FPGAVI默认是可重入的

。如果多次调用重入VI,则每个实例会占用FPGA器件的单独硬件资源。如果使用非重入VI,无论是并行多次调用还是仅调用一次,都只会创建一个硬件实例并将其用于该VI。

此默认行为与在非FPGA目标上运行的VI相反。在这种情况下,VI默认是不可重入的,并且一次只能在内存中打开一个实例。所有调用方都必须访问此同一实例。但是,当VI在非FPGA目标上可重入时,每次调用VI时,都会在内存中打开一个新实例。


使用非重入子VI的原因:


节省FPGA上的硬件空间和资源。


非重入VI在硬件中仅使用一个空间。如果FPGA应用中存在空间问题,可以将可重用的重复代码放入非可重入VI中,以节省空间并最大限度地减少资源使用。


非重入子VI可用于在独立环路之间存储和传输数据。


由于VI的所有调用方都使用同一组门,因此该VI的最后一次调用的值可供下一个调用方使用。


使用可重入子VI的原因:


主VI中只有一个子VI实例。


当只有一个实例时,两种执行模式之间都没有区别,也不需要更改默认行为。


在两个或多个独立循环中具有相同的子VI。


在并行循环中将子VI设置为非重入可能导致循环在同时调用子VI或在仍在执行时调用时相互等待。这可能会导致意外的抖动并减慢执行速度。


速度很重要,这不会达到FPGA的资源利用率限制。


程序相对较小,但需要在高频下保持确定性。


并行进程需要有自己的子VI实例,因此不会有数据从子VI的一个调用传输到下一个。


通过LabVIEW FPGA模块和LabVIEW创建运行在NI FPGA终端上的VI。可重配置I/O(RIO)设备可用作FPGA终端。FPGA终端包含一个由固定大小的I/O资源包围的可重配置FPGA(现场可编程门阵列)。根据具体的FPGA终端,固定的I/O资源可包括模拟和数字资源-例如,模数转换器(ADC)和数模转换器(DAC),通过FPGA可控制上述资源。


通过FPGA模块配置可重配置FPGA的动作以满足具体测量和控制系统的要求。运行于FPGA终端的VI称为FPGA VI。FPGA模块可用于创建FPGA VI。下载FPGA VI至FPGA的过程是对FPGA终端执行编程操作。用户创建和下载的每个新建FPGA VI均为一个自定义定时、触发和I/O解决方案。


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

相关文章
|
4月前
|
数据采集 传感器 监控
如何在LabVIEW中使用FPGA模块
如何在LabVIEW中使用FPGA模块
122 1
|
1月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器计算架构X86/ARM/GPU/FPGA/ASIC/裸金属/超级计算集群有啥区别?
阿里云服务器ECS提供了多种计算架构,包括X86、ARM、GPU/FPGA/ASIC、弹性裸金属服务器及超级计算集群。X86架构常见且通用,适合大多数应用场景;ARM架构具备低功耗优势,适用于长期运行环境;GPU/FPGA/ASIC则针对深度学习、科学计算、视频处理等高性能需求;弹性裸金属服务器与超级计算集群则分别提供物理机级别的性能和高速RDMA互联,满足高性能计算和大规模训练需求。
|
4月前
|
存储 算法 数据处理
LabVIEW FPGA开发NI sbRIO-9607高精度数字滤波器
LabVIEW FPGA开发NI sbRIO-9607高精度数字滤波器
48 5
|
6月前
|
前端开发 编译器 测试技术
LabVIEW FPGA利用响应式数字电子板快速开发空间应用程序
LabVIEW FPGA利用响应式数字电子板快速开发空间应用程序
54 1
|
6月前
|
API 异构计算
LabVIEW开发FPGA参考框架
LabVIEW开发FPGA参考框架
46 0
LabVIEW开发FPGA参考框架
|
6月前
|
传感器 数据采集 人工智能
LabVIEW FPGA开发实时滑动摩擦系统
LabVIEW FPGA开发实时滑动摩擦系统
45 0
|
6月前
|
算法 数据可视化 API
LabVIEWCompactRIO 开发指南33 测试和调试LabVIEW FPGA代码
LabVIEWCompactRIO 开发指南33 测试和调试LabVIEW FPGA代码
56 0
|
6月前
|
存储 算法 Serverless
LabVIEWCompactRIO 开发指南31 在LabVIEW FPGA中使用DMA FIFO
LabVIEWCompactRIO 开发指南31 在LabVIEW FPGA中使用DMA FIFO
76 0
|
6月前
|
异构计算
LabVIEWCompactRIO 开发指南25 实施LabVIEW FPGA代码的方法
LabVIEWCompactRIO 开发指南25 实施LabVIEW FPGA代码的方法
48 0
|
6月前
|
编译器 芯片 异构计算
LabVIEWCompactRIO 开发指南24 第5章通过LabVIEW FPGA定制硬件
LabVIEWCompactRIO 开发指南24 第5章通过LabVIEW FPGA定制硬件
46 0

热门文章

最新文章