목차
- 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 튜토리얼 항목 and 및 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 |
표 45. Memory 라이브러리 오퍼레이터의 메모리 유형
오퍼레이터가 frame grabber RAM (DRAM)을 사용하는 경우에도 버퍼링을 위해 추가적인 FPGA 내부 RAM이 필요할 수 있습니다.
메모리 오퍼레이터의 지연 시간, 즉 레이턴시는 오퍼레이터 구현에 따라 다릅니다. 일부 오퍼레이터는 짧은 픽셀 지연만 가지지만, 다른 오퍼레이터는 라인 또는 프레임 지연을 가집니다. 다음 표에는 개별 메모리 오퍼레이터의 지연 시간이 나열되어 있습니다.
| 이름 | Latency |
|---|---|
| CoefficientBuffer | 없음: 출력이 차단되지 않은 경우 항상 데이터를 출력합니다. |
| CoefficientBufferMultiRoi | 없음: 출력이 차단되지 않은 경우 항상 데이터를 출력합니다. |
| FrameBufferMultiRoi | 최소 1프레임: 프레임이 버퍼에 완전히 기록된 후에 읽기가 시작됩니다. 출력이 차단된 경우 오퍼레이터는 입력 데이터를 버퍼링합니다. |
| FrameBufferMultiRoiDyn | 최소 1프레임: 좌표 입력을 사용한 읽기는 프레임이 버퍼에 완전히 기록된 후에 시작됩니다. 출력이 차단된 경우, 오퍼레이터는 입력 데이터를 버퍼링합니다. |
| FrameBufferRandomRead | 최소 1프레임: 프레임이 완전히 기록되는 즉시 주소 입력을 사용하여 읽기가 시작됩니다. 출력이 차단된 경우 오퍼레이터는 입력 데이터를 버퍼링합니다. 레이턴시는 읽기 주소 데이터의 존재 여부에도 따라 다릅니다. |
| FrameMemory | 1프레임: 프레임이 버퍼에 완전히 기록된 후에 읽기가 시작됩니다. |
| FrameMemoryRandomRd | 1프레임: 프레임이 버퍼에 완전히 기록된 후에 읽기를 시작할 수 있습니다. 레이턴시는 읽기 주소 데이터의 존재 여부에 따라 다릅니다. |
| ImageBuffer | 최소 1라인: 라인이 버퍼에 완전히 기록되는 즉시 해당 라인의 출력을 읽기 시작합니다. 출력이 차단된 경우 오퍼레이터는 입력 데이터를 버퍼링합니다. |
| ImageBufferMultiRoI | 최소 1프레임: 프레임이 버퍼에 완전히 기록된 후에 읽기가 시작됩니다. 출력이 차단된 경우 오퍼레이터는 입력 데이터를 버퍼링합니다. |
| ImageBufferMultiRoIDyn | 최소 1프레임: 좌표 입력을 사용한 읽기는 프레임이 버퍼에 완전히 기록된 후에 시작됩니다. 출력이 차단된 경우, 오퍼레이터는 입력 데이터를 버퍼링합니다. |
| ImageBufferSC | 최소 1라인: 라인이 버퍼에 완전히 기록되는 즉시 해당 라인의 출력을 읽기 시작합니다. 출력이 차단된 경우 오퍼레이터는 입력 데이터를 버퍼링합니다. |
| ImageBufferSpatial | 최소 1라인: 라인이 버퍼에 완전히 기록되는 즉시 해당 라인의 출력을 읽기 시작합니다. 출력이 차단된 경우 오퍼레이터는 입력 데이터를 버퍼링합니다. |
| ImageFifo | 레이턴시 없음. 출력이 차단된 경우에만 오퍼레이터가 입력 데이터를 버퍼링하고 지연시킵니다. |
| ImageSequence | 최소 SequenceLength 프레임: 시퀀스의 모든 프레임이 버퍼에 완전히 기록된 후에 읽기가 시작됩니다. 출력이 차단된 경우 오퍼레이터는 입력 데이터를 버퍼링합니다. |
| KneeLUT | 레이턴시 없음 |
| LineBuffer | 1라인: 라인이 버퍼에 완전히 기록된 후에 읽기가 시작됩니다. |
| LineMemory | 1라인: 라인이 버퍼에 완전히 기록된 후에 읽기가 시작됩니다. |
| LineMemoryRandomRd | 1라인: 라인이 버퍼에 완전히 기록된 후에 읽기를 시작할 수 있습니다. 레이턴시는 읽기 주소 데이터의 존재 여부에 따라 다릅니다. |
| LUT | 레이턴시 없음 |
| RamLUT | 몇 클럭 사이클의 레이턴시만 발생합니다. 주소에 따라 다릅니다. |
| ROM | 레이턴시 없음 |
Table 46. Individual Latencies of the Operators in Library Memory
다음 목록은 Memory 라이브러리의 모든 오퍼레이터를 요약한 것입니다.
| 오퍼레이터 이름 | 요약 설명 | 지원 시작 버전 | |
|---|---|---|---|
| CoefficientBuffer |
PC에서 프레임 그래버로 이미지 파일 업로드를 허용하며, 이를 이미지 소스로 사용합니다. |
버전 1.1 | |
| CoefficientBufferMultiRoi (imaFlex) |
이 오퍼레이터는 매개변수를 통해 여러 병렬 이미지로 초기화할 수 있고 여러 ROI(Region of Interest)를 판독할 수 있는 Frame Grabber RAM (DRAM)에 버퍼를 구현합니다. |
Version 3.6 | |
| FrameBufferMultiRoi (imaFlex) |
Frame Grabber RAM (DRAM)에 입력 이미지를 버퍼링하고 각 버퍼링된 이미지에 대해 임의 개수의 ROI를 출력합니다. |
Version 3.6 | |
| FrameBufferMultiRoiDyn |
Frame Grabber RAM (DRAM)에 입력 이미지를 버퍼링하고 각 버퍼링된 이미지에 대해 여러 개의 동적 ROI(Region of Interest)를 판독합니다. |
버전 3.5 | |
| FrameBufferRandomRead |
FrameBufferRandomRead는 무작위 읽기 액세스가 가능한 메모리 버퍼입니다. |
버전 1.3 | |
| FrameBufferRandomRead (imaFlex) |
FrameBufferRandomRead (imaFlex)는 무작위 읽기 액세스가 가능한 imaFlex CXP-12 Quad 및 imaFlex CXP-12 Penta 플랫폼용 메모리 버퍼입니다. |
Version 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(Region of Interest) 지원 기능과 함께 Frame Grabber RAM (DRAM)에 이미지 데이터를 라인별로 버퍼링합니다. 이 오퍼레이터는 imaFlex CXP-12 Quad 및 imaFlex CXP-12 Penta 플랫폼에서만 사용할 수 있습니다. |
Version 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을 기반으로 하는 동적 콘텐츠의 대형 룩업 테이블을 구현합니다. |
Version 3.3 | |
| ROM |
동적 콘텐츠의 룩업 테이블을 구현합니다. |
버전 1.1 | |
표 47. Memory 라이브러리의 오퍼레이터

이전

