운영자 Library: Memory
이 연산자는 버퍼링된 데이터의 무작위 읽기를 용이하게 합니다. 프레임 데이터는 링크 I를 통해 연산자로 전송됩니다. 데이터의 무작위 읽기는 주소들을 포트 RColA (읽기 열 주소) 및 RRowA (읽기 행 주소)로 전송하여 수행할 수 있습니다. 연산자는 이 주소들을 사용하여 지정된 좌표에 따라 프레임 데이터를 읽습니다. 결과로 출력되는 프레임은 주소 입력값에 해당하는 이미지 크기를 갖게 됩니다.RAM 유형의 VisualApplets 리소스 1개가 필요합니다. 자세한 내용은 '장치 리소스 할당'을 참조하십시오. 이 연산자의 지연 시간에 대한 정보는 표 46, '라이브러리 메모리 내 연산자의 개별 지연 시간'을 참조하십시오 .
FrameBufferRandomRead(프레임 버퍼 랜덤 읽기) 연산자는 이미지 스트림을 프레임 그래버 RAM(DRAM)에에 버퍼링합니다. RAM 유형의 VisualApplets 리소스 1개가 필요합니다.
이 연산자는 두 가지 상태를 가집니다:
-
쓰기 상태: 입력 이미지가 버퍼에 저장됩니다. 이 연산자는 FIFO처럼 작동합니다. 사용 가능한 메모리가 충분하면 여러 개의 이미지를 버퍼에 저장할 수 있습니다.
-
읽기 상태: 이미지가 메모리에 완전히 저장된 후, 메모리는 입력단자 RColA 및 RRowA에 지정된 주소를 사용하여 읽혀집니다. 주소의 개수와 주소는 이미지의 크기를 나타내며, 이를 통해 이미지의 출력 너비와 높이가 결정됩니다.
이미지 데이터 입력과 주소 입력은 서로 비동기적입니다. 두 입력의 이미지 크기가 다를 수 있습니다. 두 주소 입력인 RColA와 RRowA는 모두 O-동기식이어야 합니다.
입력 링크의 타이밍에 유의하십시오. 주소 입력은 버퍼링 없이 데이터 링크 입력 I과 동일한 연산자에서 공급되어서는 안 됩니다. 이는 이미지 데이터를 연산자에 기록하는 동안에는 현재 프레임을 읽을 수 있는 주소를 받아들일 수 없기 때문입니다. 프레임이 버퍼에 완전히 저장된 경우에만 주소를 받아들일 수 있습니다. 대부분의 경우, 연산자는 CreateBlankImage 는 해당 주소에 대한 이미지를 생성하는 데 사용됩니다.
이 연산자는 대용량의 비-FPGA 메모리를 사용합니다. 만약 저장해야 할 프레임이나 라인이 소량인 경우, 다음 연산자의 사용을 고려해 보십시오. FrameMemoryRandomRd 또는 LineMemoryRandomRd를 사용하는 것을 고려해 보십시오.
버퍼의 채움 수준을 측정하기 위해 이 연산자는 FillLevel과 Overflow라는 두 가지 매개변수를 제공합니다. FillLevel은 RAM의 채움 수준을 백분율로 나타냅니다. Overflow 매개변수는 FillLevel이 100%에 근접하거나 100%일 때, 버퍼에 저장될 다음 이미지가 RAM 용량을 초과할 경우 1로 설정됩니다. 오버플로우가 발생할 경우, 입력 프레임은 버려집니다. 사용자는 오버플로우 매개변수를 주기적으로 확인해야 합니다. 오버플로우 상태가 지속되는 시간이 매우 짧을 수 있으므로, 이 상태가 운영자의 폴링 주기 사이에 발생할 가능성이 있습니다.
매개변수 InfiniteSource는 연산자가 카메라에 직접 연결되어 있는지, 아니면 다른 메모리 연산자와 시퀀스로 연결되어 있는지 지정하는 데 사용됩니다. 자세한 내용은 ‘무한 소스 / 카메라 연결’을 참조하십시오.
오퍼레이터 제한 사항
-
빈 프레임은 지원되지 않습니다.
-
선 길이가 서로 다른 이미지는 지원되지 않습니다.
-
주소 포트의 병렬 처리 수준은 2로 설정해야 합니다.
-
I.MaxImgWidth * I.MaxImgHeight는 사용 가능한 RAM 크기인2^RamAddressWidth를 초과해서는 안 됩니다.
다음 메모리를 사용하는 통신 사업자를 통과하는 이론적 대역폭 [비트/초] 프레임 그래버 RAM(DRAM) 를 사용하는 운영자를 통과하는 이론적 대역폭 [비트/초]는 다음 공식에 따라 계산됩니다:

그러나 DRAM의 효율성 문제로 인해 실제 대역폭은 항상 이론적 대역폭보다 낮습니다.
The 최대 대역폭 이 Bit Width 와 Parallelism 의 곱이 내부 RAM 포트 폭과 같을 때, 오퍼레이터를 통과하는 최대 대역폭에 도달합니다.
![]() |
플랫폼별 값 |
|---|---|
|
RAM 포트 폭과 시스템 클럭은 플랫폼에 따라 다릅니다. 참조: 장치 리소스 를 참조하십시오. |
| Property | Value |
|---|---|
| Operator Type | M |
| Input Links | I, 이미지 데이터 입력 RColA, I 위치의 픽셀에 대한 열 주소 읽기 RRowA, I 위치의 픽셀에 대한 행 주소 읽기 |
| 출력 링크 | O, 데이터 입력 |
동기 및 비동기 입력
- 동기 그룹: RColA 및 RRowA
- 입력 I는 그룹과 비동기적으로 작동합니다.
|
입력 비트 폭의 범위는 다음과 같습니다:
입력 비트 폭은 네이티브 RAM 데이터 폭을 초과해서는 안 됩니다. 확인하십시오 장치 리소스 항목을 참조하십시오. |
|
|
열 주소의 비트 폭은 다음과 같습니다: ![]() |
|
|
행 주소의 비트 폭은 다음과 같습니다: ![]() |
|
|
이 연산자를 효율적으로 사용하려면 주소 포트의 병렬도를 2로 설정해야 합니다. |
|
|
I.BitWidth x I.Kernel Columns x I.Kernel Rows <= RamDataWidth. |
|
|
I.MaxImgWidth * I.MaxImgHeight는 사용 가능한 RAM 크기인2^RamAddressWidth를 초과해서는 안 됩니다. |
| RamDataWidth | |
|---|---|
| Type | 정적 쓰기 파라미터 |
| Default | N/A |
| Range | 정수 |
|
이 매개변수는 RAM 인터페이스에서 사용할 수 있는 데이터 비트 수를 지정합니다. 이는 입력 및 출력에 대한 최대 비트 수입니다. |
|
| RamAddressWidth | |
|---|---|
| Type | 정적 쓰기 파라미터 |
| Default | N/A |
| Range | 정수 |
|
이 매개변수는 사용 가능한 주소 비트 수를 제공합니다. 이를 통해 허용되는 최대 이미지 크기와 최대 주소 폭을 계산할 수 있습니다. |
|
| 채움 수준 | |
|---|---|
| Type | dynamic read parameter |
| Default | 0 |
| Range | [0%, 100%] |
|
이 매개변수는 RAM의 채움 수준을 나타냅니다. |
|
| Overflow | |
|---|---|
| Type | dynamic read parameter |
| Default | 0 |
| Range | [0, 1] |
|
이 매개변수는 버퍼 오버플로를 나타냅니다. |
|
| InfiniteSource | |
|---|---|
| Type | static parameter |
| Default | 활성화됨 |
| Range | {활성화됨, 비활성화됨} |
|
이 매개변수는 카메라 연산자와 같은 무한 소스 연산자에 대한 지원을 활성화합니다. 자세한 내용은 ‘무한 소스 / 카메라 연결’을 참조하십시오. |
|
다음 예제에서는 FrameBufferRandomRead 연산자의 사용법을 보여줍니다:
-
'Color Plane Separation Option 5 - Sequential Output with Advances Processing'
컬러 플레인 분리에 대한 예시. RGB 입력이 각 성분으로 분리되며 하나의 DMA 채널을 통해 순차적으로 출력됩니다. 분리는 병렬 워드에서 동일한 성분을 수집하고 FrameBufferRandomRead로 읽는 방식으로 수행됩니다.
-
'다음 함수를 이용한 기하 변환 FrameBufferRandomRead'
예시 - 다음을 사용한 기하학적 변환 FrameBufferRandomRead를 이용한 기하학적 변환
-
'기하학적 변환과 Distortion Correction'
예시 - 기하학적 변환 및 Distortion Correction 를 활용한 PixelReplicator
-
예시- Distortion Correction
-
예시 - Scaling 라인 스캔 이미지
-
예시 - Scaling 라인 스캔 이미지
-
예시 - ExposureFusion

![[참고]](../common/images/admon/note.png)








이전

