오퍼레이터 라이브러리: Synchronization
Operator IsLastPixel은 라인 모드에서의 라인 마지막 픽셀 또는 프레임 모드에서의 프레임 마지막 픽셀을 표시합니다. 또한 이 오퍼레이터는 라인 모드의 빈 라인 또는 프레임 모드의 빈 프레임을 표시하는 데에도 사용할 수 있습니다.
이 오퍼레이터는 1개의 입력 포트와 2~3개의 출력 포트를 가집니다.
- 입력 포트 I,
- 출력 포트 O,
- 출력 포트 IsLastO, 그리고
- (선택 사항) 출력 포트 IsEmptyO.

일반 오퍼레이터 기능
Operator IsLastPixel은 항상 현재 픽셀 값을 유지합니다. 입력 포트 I로 새로운 픽셀 값이 들어오는 즉시, 이전 픽셀 값이 출력 포트 O로 출력됩니다. 입력 포트 I에서 수신된 픽셀 값은 해석되지 않습니다.
라인 모드의 라인 마지막 픽셀 또는 프레임 모드의 프레임 마지막 픽셀은 출력 포트 IsLastO에 1로 표시됩니다.
- Line Mode: Operator IsLastPixel이 수신하는 각 EndOfLine(EOL) 태그에 대해, 오퍼레이터는 출력 포트 IsLastO로 1을 출력합니다.
- Frame Mode: Operator IsLastPixel이 수신하는 각 EndOfFrame(EOF) 태그에 대해, 오퍼레이터는 출력 포트 IsLastO로 1을 출력합니다.
End of Line / End of Frame 정보는 마지막으로 들어오는 픽셀과 들어오는 End-of-Line 태그 사이의 간격에 따라 1클록 사이클 이상의 지연과 함께 IsLastO로 항상 출력됩니다(항상 간격의 클록 사이클 수 + 1개의 추가 클록 사이클임).

![]() |
빈 라인/프레임 허용 안 함 |
|---|---|
|
IsEmptyO를 사용하지 않는 한(아래 참조):
|
빈 라인 또는 프레임 표시(IsEmptyO 활성화)
또한 각 빈 라인 / 각 빈 프레임에 대한 마커를 얻을 수 있습니다. 마커는 추가 출력 포트 IsEmptyO로 출력됩니다.
출력 포트 IsEmptyO는 기본적으로 비활성화되어 있습니다.
출력 포트 IsEmptyO를 활성화하려면:
- 오퍼레이터를 인스턴스화할 때 Output (IsEmptyO)의 값을 1로 설정합니다.

출력 포트 IsEmptyO가 활성화된 경우:
-
Line Mode: 오퍼레이터가 수신하는 각 빈 라인에 대해 IsLastPixel 수신하면, 오퍼레이터가 출력합니다.
- 출력 포트 O*에 parallelism x 0을 출력하고,
- 출력 포트 IsEmptyO에 1을 출력합니다.
-
Frame Mode: 해당 오퍼레이터가 수신한
각 빈 프레임에 대해 IsLastPixel 수신하면, 오퍼레이터가 출력합니다.
- 출력 포트 O에 Parallelism만큼의 0을 출력하며,
- 출력 포트 IsEmptyO에 1을 출력합니다.
그 외의 모든 경우에는 출력 포트 IsEmptyO가 0입니다.
*예: Parallelism이 6인 line mode에서 작업하는 경우, 출력 포트 O에는 빈 라인마다 6개의 픽셀이 삽입됩니다.
![]() |
새로운 픽셀의 시작 또는 End-of-Line Tag에서만 픽셀 중지 |
|---|---|
|
오퍼레이터 IsLastPixel은 오퍼레이터가 다음 픽셀이나 EOL(End-of-Line Tag)을 수신하는 시점에만 픽셀을 출력합니다. 이는 EOL이 마지막 픽셀 바로 다음에 수신되지 않는 경우에 특히 중요합니다. |
예 (파라미터 Mode = Line), 활성화된 출력 포트 IsEmptyO 포함:

출력 포트 O의 빨간색 픽셀은 빈 라인을 위해 삽입된 값 0의 더미 픽셀입니다.
출력 포트 IsLastO에서는 빈 라인에 1이 지정되므로, 빈 라인은 입력 포트 I로 들어올 때 이미 1개의 픽셀을 포함하고 있던 예제의 네 번째 라인과 동일해집니다. 따라서 출력 포트 IsEmptyO가 활성화된 경우, 포트 IsLastO의 출력은 출력 포트 IsEmptyO의 출력과 연계해서만 해석할 수 있습니다.
위 예제에서 포트 IsLastO는 라인 4와 라인 8에 대해 1을 출력합니다. IsEmptyO의 라인 4에 대한 0은 들어온 라인이 비어 있지 않으며 따라서 1개의 픽셀을 포함하고 있음을 나타냅니다. IsEmptyO의 라인 8에 대한 1은 들어온 라인이 비어 있었으며, 즉 0개의 픽셀을 포함하고 있었음을 나타냅니다.
![]() |
Parallelism > 1 |
|---|---|
|
Parallelism > 1인 경우, Parallelism 내의 마지막 픽셀(최상위 비트)만 출력 포트 IsLastO에 1로 표시됩니다. Parallelism의 다른 모든 픽셀은 0입니다. 예: Parallelism=4일 때, 마지막 병렬 워드에서 출력 포트 IsLastO는 0x8이지만, 그 외의 모든 경우에는 0입니다: ![]() |
| Property | Value |
|---|---|
| Operator Type | M |
| 입력 링크 | I, 이미지 데이터 입력 |
| Output Links | O, 이미지 데이터 출력 IsLastO, 라인/프레임의 마지막 픽셀에 대해 1 출력 및 다른 모든 픽셀에 대해 0 출력 IsEmptyO (선택 사항), 각 빈 라인/프레임에 대해 1 출력 및 이미지 데이터가 포함된 라인/프레임에 대해 0 출력 |
| Mode | |
|---|---|
| Type | 정적(static) 또는 동적(dynamic) 쓰기 파라미터 |
| Default | Frame |
| Range | {Line, Frame} |
|
Line으로 설정된 경우, 오퍼레이터는 라인의 마지막 픽셀을 표시합니다. 오퍼레이터는 라인의 각 마지막 픽셀에 대해 출력 포트 IsLastO로 1을 출력합니다. Frame으로 설정된 경우, 오퍼레이터는 프레임의 마지막 픽셀을 표시합니다. 오퍼레이터는 프레임의 각 마지막 픽셀에 대해 출력 포트 IsLastO로 1을 출력합니다. 이 파라미터를 static 또는 dynamic으로 설정할 수 있습니다. 파라미터를 동적 파라미터로 사용하는 경우: 섀도 레지스터가 구현되며, 변경 사항이 다음과 같이 적용됩니다:
그리고 리셋 시 항상 적용됩니다. 그때까지는 이전 값이 사용됩니다. |
|
IsLastPixel 오퍼레이터의 사용법은 다음 예제에 나와 있습니다:

![[경고]](../common/images/admon/warning.png)
![[중요]](../common/images/admon/important.png)
![[참고]](../common/images/admon/note.png)


이전

