목차
- 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 라이브러리에는 데이터 버퍼링, 데이터 재정렬, 데이터 임의 접근을 위한 오퍼레이터가 포함되어 있습니다. 다양한 오퍼레이터가 존재합니다. 모두 저마다의 메모리 접근 방식을 구현합니다.
메모리 요소 및 대기 시간에 대한 실용적인 지침은 Memory Elements 튜토리얼 주제 및 Latency 튜토리얼 주제를 참조하세요.
오퍼레이터는 frame grabber RAM (DRAM), FPGA 내부 블록 RAM(BRAM 또는 URAM) 또는 FPGA distributed RAM (LUT RAM)을 사용합니다. 다음 표는 개별 오퍼레이터가 사용하는 메모리 유형의 개요를 보여줍니다.
| 이름 | Memory Type |
|---|---|
| CoefficientBuffer | Frame grabber RAM (DRAM) |
| CoefficientBufferMultiRoi | Frame grabber RAM (DRAM) |
| FrameBufferMultiRoi | Frame grabber RAM (DRAM) |
| FrameBufferMultiRoiDyn | Frame grabber RAM (DRAM) |
| FrameBufferRandomRead | Frame grabber RAM (DRAM) |
| FrameMemory | FPGA-internal block RAM |
| FrameMemoryRandomRd | FPGA-internal block RAM |
| ImageBuffer | Frame grabber RAM (DRAM) |
| ImageBufferMultiRoI | Frame grabber RAM (DRAM) |
| ImageBufferMultiRoIDyn | Frame grabber RAM (DRAM) |
| ImageBufferSC | Frame grabber RAM (DRAM) |
| ImageBufferSpatial | Frame grabber RAM (DRAM) |
| ImageFifo | FPGA-internal RAM |
| ImageSequence | Frame grabber RAM (DRAM) |
| KneeLUT | FPGA-internal block RAM |
| LineBuffer | Frame grabber RAM (DRAM) |
| LineMemory | FPGA-internal RAM |
| LineMemoryRandomRd | FPGA-internal block RAM |
| LUT | FPGA-internal block RAM |
| RamLUT | Frame grabber RAM (DRAM) |
| ROM | FPGA-internal block RAM |
Table 45. Memory Types of Operators in the Library Memory
frame grabber RAM (DRAM)을 사용하는 경우에도 오퍼레이터가 버퍼링을 위해 추가적인 FPGA 내부 RAM을 필요로 할 수 있습니다.
지연, 즉 메모리 오퍼레이터의 대기 시간은 오퍼레이터의 구현에 따라 다릅니다. 일부 오퍼레이터는 짧은 픽셀 지연만 갖는 반면, 다른 오퍼레이터는 라인 또는 프레임 지연을 갖습니다. 다음 표에는 개별 메모리 오퍼레이터의 지연이 나열되어 있습니다.
| 이름 | 지연 시간 |
|---|---|
| CoefficientBuffer | None: 출력이 차단되지 않은 경우 항상 데이터를 출력합니다. |
| CoefficientBufferMultiRoi | None: 출력이 차단되지 않은 경우 항상 데이터를 출력합니다. |
| FrameBufferMultiRoi | Minimum 1 frame: 프레임이 버퍼에 완전히 기록된 후에 읽기가 시작됩니다. 출력이 차단된 경우, 오퍼레이터는 입력 데이터를 버퍼링합니다. |
| FrameBufferMultiRoiDyn | Minimum 1 frame: 좌표 입력을 사용한 읽기는 프레임이 버퍼에 완전히 기록된 후에 시작됩니다. 출력이 차단된 경우, 오퍼레이터는 입력 데이터를 버퍼링합니다. |
| FrameBufferRandomRead | Minimum 1 frame: 프레임이 완전히 기록되는 즉시 주소 입력을 사용하여 읽기가 시작됩니다. 출력이 차단된 경우, 오퍼레이터는 입력 데이터를 버퍼링합니다. 대기 시간은 읽기 주소 데이터의 존재 여부에 따라서도 달라집니다. |
| FrameMemory | 1 frame: 프레임이 버퍼에 완전히 기록된 후에 읽기가 시작됩니다. |
| FrameMemoryRandomRd | 1 frame: 프레임이 버퍼에 완전히 기록된 후에 읽기를 시작할 수 있습니다. 대기 시간은 읽기 주소 데이터의 존재 여부에 따라 다릅니다. |
| ImageBuffer | Minimum 1 line: 라인이 버퍼에 완전히 기록되는 즉시 출력이 해당 라인의 읽기를 시작합니다. 출력이 차단된 경우, 오퍼레이터는 입력 데이터를 버퍼링합니다. |
| ImageBufferMultiRoI | Minimum 1 frame: 프레임이 버퍼에 완전히 기록된 후에 읽기가 시작됩니다. 출력이 차단된 경우, 오퍼레이터는 입력 데이터를 버퍼링합니다. |
| ImageBufferMultiRoIDyn | Minimum 1 frame: 좌표 입력을 사용한 읽기는 프레임이 버퍼에 완전히 기록된 후에 시작됩니다. 출력이 차단된 경우, 오퍼레이터는 입력 데이터를 버퍼링합니다. |
| ImageBufferSC | Minimum 1 line: 라인이 버퍼에 완전히 기록되는 즉시 출력이 해당 라인의 읽기를 시작합니다. 출력이 차단된 경우, 오퍼레이터는 입력 데이터를 버퍼링합니다. |
| ImageBufferSpatial | Minimum 1 line: 라인이 버퍼에 완전히 기록되는 즉시 출력이 해당 라인의 읽기를 시작합니다. 출력이 차단된 경우, 오퍼레이터는 입력 데이터를 버퍼링합니다. |
| ImageFifo | No latency. 출력이 차단된 경우에만 오퍼레이터가 입력 데이터를 버퍼링하고 지연시킵니다. |
| ImageSequence | Minimum SequenceLength frames: 시퀀스의 모든 프레임이 버퍼에 완전히 기록된 후에 읽기가 시작됩니다. 출력이 차단된 경우, 오퍼레이터는 입력 데이터를 버퍼링합니다. |
| KneeLUT | No latency |
| LineBuffer | 1 line: 라인이 버퍼에 완전히 기록된 후에 읽기가 시작됩니다. |
| LineMemory | 1 line: 라인이 버퍼에 완전히 기록된 후에 읽기가 시작됩니다. |
| LineMemoryRandomRd | 1 line: 라인이 버퍼에 완전히 기록된 후에 읽기를 시작할 수 있습니다. 대기 시간은 읽기 주소 데이터의 존재 여부에 따라 다릅니다. |
| LUT | No latency |
| RamLUT | 몇 개의 클럭 사이클 지연만 발생합니다. 주소에 따라 다릅니다. |
| ROM | No Latency |
표 46. Library Memory의 연산자별 지연 시간
다음 목록은 Library Memory의 모든 Operator를 요약합니다.
| 오퍼레이터 이름 | 간단한 설명 | 지원 버전 | |
|---|---|---|---|
| CoefficientBuffer |
PC에서 프레임 그래버로 이미지 파일을 업로드하고 이를 이미지 소스로 사용할 수 있도록 합니다. |
버전 1.1 | |
| CoefficientBufferMultiRoi (imaFlex) |
이 operator는 매개변수를 통해 여러 병렬 이미지로 초기화할 수 있으며 여러 관심 영역(ROI)을 읽어오는 frame grabber RAM (DRAM)의 버퍼를 구현합니다. |
버전 3.6 | |
| FrameBufferMultiRoi (imaFlex) |
Frame Grabber RAM (DRAM)에 입력 이미지를 버퍼링하고 버퍼링된 각 이미지에 대해 임의 수의 ROI를 출력합니다. |
버전 3.6 | |
| FrameBufferMultiRoiDyn |
Frame Grabber 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 |
일련의 노드를 통해 Lookup table의 근사치를 구현합니다. |
버전 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 |
동적 컨텐츠의 Lookup Table을 구현합니다. |
버전 1.1 | |
| RamLUT |
FPGA 외부 RAM(즉, Frame Grabber RAM (DRAM))을 기반으로 하는 동적 컨텐츠의 대용량 Lookup Table을 구현합니다. |
버전 1.3 | |
| RamLUT (imaFlex) |
FPGA 외부 RAM을 기반으로 하는 동적 컨텐츠의 대용량 Lookup Table을 구현합니다. |
버전 3.3 | |
| ROM |
동적 컨텐츠의 Lookup Table을 구현합니다. |
버전 1.1 | |
Table 47. Operators of Library Memory

이전

