限制FPGA VI中顶层前面板对象的数量
- 更新时间2025-05-20
- 阅读时长2分钟
如要降低FPGA VI的空间使用量,可减少顶层FPGA VI的前面板输入控件和显示控件的数量。由于LabVIEW包含与顶层FPGA VI及主VI通信的其他VI,顶层FPGA VI中的每个前面板对象均占用大量的FPGA空间。存储前面板输入控件和显示控件数据的寄存器需要的触发器数量高于内部寄存器所需的触发器。
子VI中的前面板对象不直接与主VI通信,因此不会占用额外的FPGA空间。在一个调用和另一个调用间必须保留状态信息的子VI输入控件及显示控件使用寄存器存储数据。仅传入和传出子VI数据的子VI控件不占用FPGA资源。
限制数组
由于数组的每一位均使用一个触发器,因此显示为顶层前面板对象的数组消耗大量的FPGA空间。考虑使用FIFO或存储器项替代数组传输数据。
连线数组以用作函数的输入时,FPGA编译器将创建同等的For循环,以顺序处理数组中的每个元素。连线簇以用作FPGA VI或函数的输入时,FPGA编译器将创建并行逻辑,以处理簇中的每个元素。数组和簇为递归关系,即如果连线数组组成的簇用作输入端,会并行处理该数组,且顺序处理数组的元素。
注: 在数组上执行运算可限制最大顶层或衍生时钟速率。如要最大化FPGA时钟速率,可通过处理单个数据点来替代数组。
使用全局变量
如不需要通过主VI访问前面板的输入控件和显示控件,可考虑使用全局变量替代输入控件和显示控件在FPGA VI间传输数据。如无需传输数据,可考虑使用常量替代控件,以降低FPGA VI空间的使用量。
使用反馈节点
如要降低资源使用量,可使用反馈节点替代控件在子VI中存储数据。
比特包数据类型
如要降低前面板对象的数量,可按照下列示意图组合对象。
在上面的示意图中,顶层FPGA VI的每个布尔控件均包含消耗额外FPGA资源的逻辑。但如使用单个8位数字控件表示数据,仅一个控件包含额外的逻辑资源。使用“数值至布尔数组转换”和“索引数组”函数获取数值控件的每个元素。