오퍼레이터 라이브러리: Synchronization
이 연산자는 입력 링크의 데이터 흐름을 제어하는 밸브 역할을 할 수 있습니다. OpenValve 신호 입력은 밸브를 제어하는 데 사용됩니다. 따라서 이 연산자를 통해 I와 O 간의 픽셀, 라인 및 프레임 데이터 흐름에 영향을 줄 수 있습니다. 최대 대역폭을 제한하는 것이 이 연산자의 주된 목적입니다. 광범위하게 말해, 이 연산자는 이미지 처리를 차단하고 그 속도를 제어하는 데 사용됩니다. 예를 들어, 이 연산자는 CreateBlankImage 사용하여 출력 프레임 속도를 제어할 수 있는 이미지 생성기를 구현할 수 있습니다.
밸브가 닫혀 있으면, ‘ VisualApplets ’ 유량 제어 기능이 모든 입력 데이터를 차단합니다. 그러면 입력 파이프라인이 차단됩니다. 처리를 중지할 수 없는 연산자가 사용되는 경우, 충분한 크기의 버퍼가 사용되도록 해야 합니다. 프레임 그래버에 연결된 자유 구동 카메라가 그 예입니다. 연산자의 출력이 뒤따르는 연산자에 의해 차단되는 경우, 해당 연산자는 이 차단 상태를 입력으로 전달합니다. 이 경우 밸브를 열어두더라도 아무런 영향이 없습니다. 밸브와 게이트를 혼동하지 마십시오. 게이트 연산자는 닫혀 있는 동안 입력 데이터를 버립니다.
이 밸브는 OpenValve 신호 입력과 운영자의 매개변수에 의해 제어됩니다. OpenValve가 1로 설정된 경우, 운영자는 Mode의 매개변수 설정에 따라 SequenceLength 픽셀, 라인 또는 프레임의 통과를 허용합니다.
OpenValve가 상수 1로 설정된 경우, 운영자는 이미지 데이터가 입력 링크 I에서 출력 링크 O로 차단 없이 통과하도록 허용하며, 즉 밸브가 항상 열린 상태를 유지합니다.
운영자의 밸브가 아직 열린 상태에서 두 번째 펄스가 OpenValve로 설정되고 시퀀스가 처리되는 경우, 해당 펄스는 무시됩니다. 현재 시퀀스가 처리 중인 상태에서 SequenceLength 매개변수를 사용하여 시퀀스 길이가 변경되면, 운영자는 먼저 이전 시퀀스를 완료한 후 새로운 값을 적용합니다.
VisualApplets 의 고수준 시뮬레이션에서는 타이밍 시뮬레이션이 수행되지 않으므로 모든 입력 이미지가 출력으로 직접 전달됩니다. 입력 링크 OpenValve의 모든 값은 무시됩니다.
| Property | Value |
|---|---|
| Operator Type | M |
| Input Links | I, 데이터 입력 , OpenValve, 제어 신호 입력 |
| 출력 링크 | O, data output |
|
부호 없는 입력의 경우 입력 Bit Width 범위는 [1, 64]입니다. 부호 있는 입력의 경우 범위는 [2, 64]입니다. 부호 없는 컬러 입력의 경우 범위는 [3, 63]이고 부호 있는 컬러의 경우 범위는 [6, 63]입니다. |
동기식 및 비동기식 입력
- 모든 입력은 서로 비동기식입니다.
| Mode | |
|---|---|
| Type | dynamic/static 읽기/쓰기 파라미터 |
| Default | 프레임 |
| Range | {픽셀, 선, 프레임} |
|
연산자의 모드를 설정합니다. 이 매개변수에 따라 밸브가 SequenceLength 픽셀, 라인 또는 프레임 동안 열립니다. LINE 및 FRAME 모드의 사용 가능 여부는 입력 링크 I의 이미지 프로토콜에 따라 달라집니다. |
|
| 시퀀스 길이(비트) | |
|---|---|
| Type | static parameter |
| Default | 10 |
| Range | [1, 64] |
|
시퀀스 길이를 나타낼 비트 수를 설정합니다. 이 매개변수는 SequenceLength 매개변수가 ‘동적’으로 설정된 경우에만 활성화됩니다. |
|
| 시퀀스 길이 | |
|---|---|
| Type | dynamic/static 읽기/쓰기 파라미터 |
| Default | 1 |
| Range | 동적: [1, 2^SequenceLengthBits - 1], 정적: [1, 2^64 - 1] |
|
시퀀스의 길이를 설정합니다. 이 연산자는 열린 상태일 경우, Mode 매개변수에 따라 지정된 수의 픽셀, 줄 또는 프레임을 출력합니다. Mode가 PIXEL로 설정된 경우, 해당 값은 병렬 처리 수로 나누어 떨어져야 합니다. |
|
| ImplementationType | ||||
|---|---|---|---|---|
| Type | 정적 쓰기 파라미터 | |||
| Default | AUTO | |||
| Range | (AUTO, EmbeddedALU, LUT) | |||
|
‘ImplementationType’ 매개변수는 연산자의 구현 전략, 즉 연산자를 구현하는 데 어떤 논리 요소가 사용되는지에 영향을 미칩니다. 다음 값 중 하나를 선택할 수 있습니다: AUTO: 연산자가 인스턴스화될 때, SequenceLengthBits 매개변수를 기반으로 최적의 구현 전략이 자동으로 선택됩니다. 임베디드 ALU: 이 연산자는 LUT 기반이 아닌 FPGA의 내장 산술 논리 소자(ALU)를 사용합니다. LUT: 이 연산자는 FPGA의 LUT 로직을 사용합니다.
|
||||
다음 예제에서는 ImageValve 연산자의 사용법을 보여줍니다:
-
DMA, RAM, GPIO, Trigger 및 LED의 하드웨어 자체 테스트 예시.
-
Example - 하드웨어에서 디자인 내부 데이터 흐름 제어를 디버깅하고 가능한 보정을 수행하기 위한 예제입니다.


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

