目录
- CoefficientBuffer
- CoefficientBufferMultiRoi (imaFlex)
- FrameBufferMultiRoi (imaFlex)
- FrameBufferMultiRoiDyn
- FrameBufferRandomRead
- FrameBufferRandomRead (imaFlex)
- FrameMemory
- FrameMemoryRandomRd
- ImageBuffer
- ImageBufferMultiRoI
- ImageBufferMultiRoIDyn
- ImageBufferSC
- ImageFifo
- KneeLUT
- LineBuffer (imaFlex)
- LineMemory
- LineMemoryRandomRd
- 查找表 (LUT)
- RamLUT
- RamLUT (imaFlex)
- ROM
![]()
Memory 库包含用于缓冲数据、重新排序数据以及对数据进行随机访问的 operator。 存在许多不同的 operator。 它们各自实现了其专属的内存访问机制。
有关内存元素和延迟的实用指导,请参阅 Memory Elements 教程主题 以及 Latency 教程主题。
这些 operator 使用的是 采集卡 RAM (DRAM)、FPGA 内部块 RAM (BRAM 或 URAM) 还是 FPGA 分布式 RAM (LUT RAM)。 下表概述了各个 operator 所使用的内存类型。
| 名称 | 内存类型 |
|---|---|
| CoefficientBuffer | 采集卡 RAM (DRAM) |
| CoefficientBufferMultiRoi | 采集卡 RAM (DRAM) |
| FrameBufferMultiRoi | 采集卡 RAM (DRAM) |
| FrameBufferMultiRoiDyn | 采集卡 RAM (DRAM) |
| FrameBufferRandomRead | 采集卡 RAM (DRAM) |
| FrameMemory | FPGA 内部块 RAM |
| FrameMemoryRandomRd | FPGA 内部块 RAM |
| ImageBuffer | 采集卡 RAM (DRAM) |
| ImageBufferMultiRoI | 采集卡 RAM (DRAM) |
| ImageBufferMultiRoIDyn | 采集卡 RAM (DRAM) |
| ImageBufferSC | 采集卡 RAM (DRAM) |
| ImageBufferSpatial | 采集卡 RAM (DRAM) |
| ImageFifo | FPGA 内部 RAM |
| ImageSequence | 采集卡 RAM (DRAM) |
| KneeLUT | FPGA 内部块 RAM |
| LineBuffer | 采集卡 RAM (DRAM) |
| LineMemory | FPGA 内部 RAM |
| LineMemoryRandomRd | FPGA 内部块 RAM |
| 查找表 (LUT) | FPGA 内部块 RAM |
| RamLUT | 采集卡 RAM (DRAM) |
| ROM | FPGA 内部块 RAM |
表 45. Library Memory 中 operator 的内存类型
即使 operator 使用的是 采集卡 RAM (DRAM),也可能需要额外的 FPGA 内部 RAM 来进行缓冲。
内存 operator 的延迟(即 Latency)取决于 operator 的实现。 某些 operator 只有较短的像素延迟,而其他 operator 则具有行延迟或帧延迟。 下表列出了各个内存 operator 的延迟。
| 名称 | 延迟 |
|---|---|
| CoefficientBuffer | 无:如果输出未受阻,则将始终输出数据。 |
| CoefficientBufferMultiRoi | 无:如果输出未受阻,则将始终输出数据。 |
| FrameBufferMultiRoi | 最少 1 帧:在帧已完全写入缓冲区后开始读取。如果输出受阻,operator 会对 输入数据进行缓冲。 |
| FrameBufferMultiRoiDyn | 最少 1 帧:在使用坐标输入进行读取时,会在帧已完全写入缓冲区后开始。如果输出受阻, operator 会对输入数据进行缓冲。 |
| FrameBufferRandomRead | 最少 1 帧:一旦帧完全写入,便会使用地址输入开始读取。如果输出受阻,operator 会对 输入数据进行缓冲。延迟还取决于是否存在读取地址数据。 |
| FrameMemory | 1 帧:在帧已完全写入缓冲区后开始读取。 |
| FrameMemoryRandomRd | 1 帧:只有当帧完全写入缓冲区后才能开始读取。延迟取决于读取地址是否存在数据。 |
| ImageBuffer | 最少 1 行:当某一行完全写入缓冲区后,输出端立即开始读取该行。如果输出受阻,算子会缓冲输入数据。 |
| ImageBufferMultiRoI | 最少 1 帧:在帧已完全写入缓冲区后开始读取。如果输出受阻,operator 会对 输入数据进行缓冲。 |
| ImageBufferMultiRoIDyn | 最少 1 帧:在使用坐标输入进行读取时,会在帧已完全写入缓冲区后开始。如果输出受阻, operator 会对输入数据进行缓冲。 |
| ImageBufferSC | 最少 1 行:当某一行完全写入缓冲区后,输出端立即开始读取该行。如果输出受阻,算子会缓冲输入数据。 |
| ImageBufferSpatial | 最少 1 行:当某一行完全写入缓冲区后,输出端立即开始读取该行。如果输出受阻,算子会缓冲输入数据。 |
| ImageFifo | 无延迟。只有在输出受阻时,算子才会缓冲并延迟输入数据。 |
| ImageSequence | 最少 SequenceLength 帧:在序列的所有帧都完全写入缓冲区后开始读取。如果输出受阻,算子会缓冲输入数据。 |
| KneeLUT | 无延迟 |
| LineBuffer | 1 行:当行完全写入缓冲区后开始读取。 |
| LineMemory | 1 行:当行完全写入缓冲区后开始读取。 |
| LineMemoryRandomRd | 1 行:当行完全写入缓冲区后即可开始读取。延迟取决于读取地址数据的存在情况。 |
| 查找表 (LUT) | 无延迟 |
| RamLUT | 仅有几个时钟周期的延迟。具体取决于地址。 |
| ROM | 无延迟 |
表 46. Library Memory 中各算子的延迟
以下列表总结了 Library Memory 的所有算子
| 算子名称 | 简要说明 | 可用版本 | |
|---|---|---|---|
| CoefficientBuffer |
允许将图像文件从 PC 上传到采集卡,并将其用作图像源。 |
版本 1.1 | |
| CoefficientBufferMultiRoi (imaFlex) |
该算子在 采集卡 RAM (DRAM) 中实现了一个缓冲区,可通过其参数使用多个并行图像进行初始化,并读出多个感兴趣区 (ROI)。 |
Version 3.6 | |
| FrameBufferMultiRoi (imaFlex) |
在 采集卡 RAM (DRAM) 中缓冲输入图像,并为每个缓冲的图像输出任意数量的 ROI。 |
版本 3.6 | |
| FrameBufferMultiRoiDyn |
在 采集卡 RAM (DRAM) 中缓冲输入图像,并为每个缓冲的图像读出多个动态感兴趣区 (ROI)。 |
版本 3.5 | |
| FrameBufferRandomRead |
FrameBufferRandomRead 是一个具有随机读访问权限的内存缓冲区。 |
版本 1.3 | |
| FrameBufferRandomRead (imaFlex) |
FrameBufferRandomRead (imaFlex) 是用于 imaFlex CXP-12 Quad 和 imaFlex CXP-12 Penta 平台的、具有随机读取访问权限的内存缓冲区。 |
版本 3.3 | |
| FrameMemory |
FrameMemory 是一个具有随机写入访问权限的小型内存块。 |
版本 1.1 | |
| FrameMemoryRandomRd |
FrameMemoryRandomRd 是一个具有随机读取访问权限的小型内存块。 |
版本 1.3 | |
| ImageBuffer |
在带 ROI 选择的 Frame Grabber RAM (DRAM) 中缓冲图像。 |
版本 1.1 | |
| ImageBufferMultiRoI |
在 Frame Grabber RAM (DRAM) 中缓冲输入图像流,并从每幅输入图像中输出任意数量的 ROI。 |
版本 1.1 | |
| ImageBufferMultiRoIDyn |
在 Frame Grabber RAM (DRAM) 中缓冲输入图像,并将每幅图像中的任意数量的动态 ROI 传输出来。 |
版本 1.1 | |
| ImageBufferSC |
在带有传感器校正和 ROI 选择的 Frame Grabber RAM (DRAM) 中缓冲图像。 |
版本 1.1 | |
| ImageFifo |
在 FPGA 内部 RAM 中缓冲有限数量的像素。 |
版本 1.1 | |
| KneeLUT |
通过一系列节点来实现查找表的近似值。 |
版本 1.1 | |
| LineBuffer (imaFlex) |
在支持感兴趣区域 (ROI) 的 Frame Grabber RAM (DRAM) 中逐行缓冲图像数据。此 Operator 仅适用于 imaFlex CXP-12 Quad 和 imaFlex CXP-12 Penta 平台。 |
版本 3.3 | |
| LineMemory |
LineMemory 是一个具有随机写入访问权限的小型内存块。 |
版本 1.1 | |
| LineMemoryRandomRd |
LineMemoryRandomRd 是一个具有随机读取访问权限的小型内存块。 |
版本 1.3 | |
| 查找表 (LUT) |
实现动态内容的查找表。 |
版本 1.1 | |
| RamLUT |
基于 FPGA 外部 RAM(即 Frame Grabber RAM (DRAM))实现动态内容的大型查找表。 |
版本 1.3 | |
| RamLUT (imaFlex) |
基于 FPGA 外部 RAM 实现动态内容的大型查找表。 |
版本 3.3 | |
| ROM |
实现动态内容的查找表。 |
版本 1.1 | |
表 47. Library Memory 的 Operator

上一页

