实现存储器块FIFO
- 更新时间2025-05-20
- 阅读时长3分钟
实现存储器块FIFO时,FIFO可容量的实际元素数量取决于下文提及的因素。
通过逻辑架构控制逻辑实现FIFO
如使用通过逻辑片架构控制逻辑实现的存储器块实现FIFO,下表中因素将影响FIFO可容纳的实际元素数量:
| FIFO类型 | 待指定大小 | 考虑因素 |
|---|---|---|
| 终端范围的FIFO | 2的幂加少量元素 | 常规页显示2^M+5,M是地址宽度。LabVIEW强制转换请求的元素数量为最接近2^M+5的值。例如,请求的元素数量为1,000,LabVIEW强制转换该值为1,029。如FPGA没有足够的资源来强制转换请求的单元数量,FPGA VI将编译失败。 |
| DMA FIFO |
| 常规页显示2^M-1或2^M+(6 × 待读取元素数量)-1,M是地址宽度。LabVIEW将请求元素数量强制向上转换为最近有效值。如FPGA没有足够的资源来强制转换请求的单元数量,FPGA VI将编译失败。必须使用通过逻辑片架构控制逻辑实现的存储器块来实现DMA FIFO。最大DMA FIFO容量随终端变化。关于DMA FIFO大小限制的详细信息,见指定FPGA终端的硬件文档。 |
| 点对点FIFO |
| 常规页显示2^M-1或2^M+(6 × 待读取元素数量)-1,M是地址宽度。LabVIEW将请求元素数量强制向上转换为最近有效值。如FPGA没有足够的资源来强制转换请求的单元数量,FPGA VI将编译失败。必须使用通过逻辑片架构控制逻辑实现的存储器块来实现点对点FIFO。 |
通过内置控制逻辑实现FIFO
如使用通过内置控制逻辑实现的存储器块实现FIFO,FIFO可容量的实际元素数量受到下列限制:
- 启用写入方法的握手接口将增加一个FIFO深度。
- 终端范围的FIFO - LabVIEW强制转换请求的元素数量为可使用内置FIFO实现的深度。强制转换的请求的元素数量的计算随FPGA设备系列变化。如FPGA没有足够的资源来强制转换请求的单元数量,FPGA VI将编译失败。
注: 仿真输出不支持内置的FIFO和终端优化的FIFO。用户可使用条件禁用结构实现用于仿真输出的逻辑片架构FIFO。
实现带终端优化控制逻辑的FIFO
如使用通过终端优化控制逻辑实现的存储器块实现FIFO,本主题提及的全部限制均会影响FIFO可容量的实际元素数量。因为终端优化控制逻辑为内置逻辑和逻辑片架构控制逻辑的组合。