使用数组常量的本页用于编辑数组常量内存实现的属性的 属性 对话框。

该选项页包括以下部分:

选项 说明
实现 指定数组常量在FPGA上使用的存储类型。

包含下列选项:

Auto(默认)-指定编译器决定是在块存储器、查找表还是触发器中实现数组常量。大小为n x m > 2048的数组(其中n为元素数量,m为每个元素的位数)在块内存中实现。大小为 nxm≤ 2048的数组在查找表中实现。

编译器还可根据以下公式推断数组常量的块存储器或查找表实现特定的编码模式如编译器不能推断执行,数组常量在触发器内实现。

在其他环境下创建的数组常量(例如,在开发计算机)在FPGA VI中打开时被自动设置为自动

注: 为最大限度地减少FPGA资源使用,请为数组常量选择模块存储器或查找表实现,而不是 Auto。确保数组常量用于可接受的编码模式否则,LabVIEW将变为触发器实现或返回错误。

触发器-在触发器内存储数组常量并在FPGA可用的查找表内实现逻辑运算。该实现将消耗大量的FPGA资源,因为数组的每一位均使用一个FPGA触发器。处理小型数组、需要并行访问数组中的多个元素或具有严格定时要求的情况下使用触发器。

查找表-在FPGA上可用的查找表内存储数组常量。Xilinx文献将此实现方式描述为分布式RAM或LUT RAM。如编译器不能推断分布式RAM,LabVIEW将返回错误。

在单周期定时循环内使用时,在同一时钟周期读取运算执行。在时钟周期内写入的数据在下一个时钟中期可供读取。

当具有有限剩余存储器块时,请使用查找表。因为查找表既可用作FPGA资源,又可用作存储器资源。

存储器块-使用嵌入式存储器块存储数组常量。Xilinx文献将此实现方式描述为块RAM或BRAM。如编译器不能推断块内存,LabVIEW将返回错误。

在单周期定时循环内使用时,读取操作需要一个时钟周期的执行时间。在时钟周期内写入的数据在下一个时钟中期可供读取。

除非需要使用其他类型存储器的特有特性,否则请优先考虑使用存储器块。存储器块不会消耗FPGA资源,且相对于其他类型的存储器倾向于使用高时钟速率执行编译。

如果一个编译报告 表明应用程序超出了模块存储器的可用性,请检查设计中是否存在小数组常量,并在查找表中实现它们。确保数组常量用于查找表实现的 公认编码模式