Operator Library: Debugging
ImageTimingGenerator 연산자를 사용하면 실제 시스템에서 실제 카메라에서 발생하는 이미지 타이밍을 에뮬레이션할 수 있습니다.
이 연산자는 검은색 이미지 출력을 생성합니다. 이 연산자는 이미지 출력의 타이밍 동작을 정의할 수 있게 해주는 다양한 매개변수를 제공합니다.
이 연산자를 사용하여 후속 이미지 처리 파이프라인이 데이터 스트림의 특정 타이밍을 처리할 수 있는지 여부를 확인합니다.
특정 타이밍 동작이 병목 현상을 유발하는지, 아니면 타이밍 편차가 있더라도 설계의 파이프라인이 이미지를 처리할 수 있는지 확인할 수 있습니다.
선 생성 설정과 프레임 생성 설정은 네 가지 생성 모드를 지원합니다:
- FreeRun: FreeRun 모드는 가장 빠른 생성 속도를 제공합니다.
- JitterMode: JitterMode는 FreeRun 모드와 유사하게 작동하지만, 타이밍 생성을 위한 지터를 정의할 수 있게 해줍니다.
- FixedFreqency: FixedFreqency 생성 모드를 사용하면 고정된 타이밍을 설정할 수 있습니다.
- ExternalTrigger: 입력 신호를 사용하여 라인 및/또는 프레임 생성을 트리거하려면, 라인 및/또는 프레임 생성 설정을 ExternalTrigger 모드로 설정합니다.
또한, 이미지 높이, 이미지 너비, 줄 간격 및 프레임 간격의 변화에 따라 디자인이 어떻게 반응하는지 테스트할 수 있습니다. 이러한 매개변수는 조회 테이블과 가변 지터 설정을 통해 정의할 수 있습니다.
또한 픽셀 듀티 사이클을 조정하여 가상 픽셀 클럭의 속도 저하를 시뮬레이션할 수도 있습니다.
ImageHeightJitter와 FrameGapJitter는 FrameGenerationMode가 JitterMode로 설정되어 있는 경우에만 활성화되며(사용할 수 있습니다). 마찬가지로, ImageWidthJitter와 LineGapJitter는 LineGenerationMode가 JitterMode일 때만 활성화됩니다.
프레임 생성 매개변수와 ImageHeight 매개변수는 VALT_IMAGE2D 이미지 출력 프로토콜에서만 사용할 수 있습니다. 또한 모든 선 생성 매개변수와 ImageWidth 매개변수는 VALT_IMAGE2D 또는 VALT_LINE1D 이미지 출력 프로토콜에서만 사용할 수 있습니다.
![]() |
설계 시뮬레이션 중의 동작 (빌드 전) |
|---|---|
|
설계 시뮬레이션 중에는 ImageHeightLut, ImageWidthLut, MaxImageSequenceLength 및 ImageSequenceLength 매개변수만 사용됩니다. 이 연산자의 다른 모든 매개변수와 LUT 항목은 시뮬레이션된 이미지에 아무런 영향을 미치지 않습니다. 즉, 시뮬레이션 중 ImageTimingGenerator 연산자는 CreateBlackImage 연산자와 동일하게 동작합니다. 이 연산자의 다른 모든 연산자 매개변수와 LUT 항목은 시뮬레이션된 이미지에 아무런 영향을 미치지 않습니다. (즉, 시뮬레이션 중에 ImageTimingGenerator 연산자는 CreateBlackImage 연산자와 동일하게 동작합니다.) |
![]() |
런타임 테스트 |
|---|---|
|
이 오퍼레이터는 런타임 중에 디자인을 테스트하고 분석하기 위해 설계되었습니다. 오퍼레이터를 디버깅에 사용하려면 먼저 디자인을 빌드(합성)하고, 타겟 하드웨어에 로드한 후, 실제 이미지 처리를 시작해야 합니다. |
| Property | Value |
|---|---|
| Operator Type | M |
| Input Links | TriggerLineI (선택 사항), 선택적 외부 라인 트리거 신호 입력. 사용하지 않을 경우 접지에 연결하십시오. TriggerFrameI (선택 사항), 선택적 외부 프레임 트리거 신호 입력. 사용하지 않을 경우 접지에 연결하십시오. |
| 출력 링크 | O, 이미지 데이터 출력 |
| Link Parameter | 입력 링크 TriggerLineI (선택 사항) | 입력 링크 TriggerFrameI (선택 사항) | Output Link O |
|---|---|---|---|
| Bit Width | 1 | 1 | 1 |
| Arithmetic | 없음 | 없음 | unsigned |
| Parallelism | 없음 | 없음 | any |
| Kernel Columns | 없음 | 없음 | 1 |
| Kernel Rows | 없음 | 없음 | 1 |
| Img Protocol | SIGNAL | SIGNAL | {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D} |
| Color Format | 없음 | 없음 | GRAY |
| Color Flavor | 없음 | 없음 | 없음 |
| Max. Img Width | 없음 | 없음 | any |
| Max. Img Height | 없음 | 없음 | any |
| 최대 이미지 시퀀스 길이 | |
|---|---|
| Type | 정적 쓰기 파라미터 |
| Default | 1 |
| Range | [1, (2^14)-1] |
|
ImageHeightLUT, ImageWidthLUT, FrameGapLUT 및 LineGapLUT에 대한 LUT 크기를 정의합니다. |
|
| 이미지 시퀀스 길이 | |
|---|---|
| Type | dynamic write 파라미터 |
| Default | 1 |
| Range | [1, (2^MaxImageSequenceLength)-1] |
|
LUT에서 사용되는 항목의 수를 설정합니다. 1로 설정하면 각 LUT의 첫 번째 항목만 사용됩니다. 예를 들어, 이 값을 4로 설정하고 MaxImageSequenceLength를 7로 설정하면, 모든 LUT의 첫 4개 항목만 라운드 로빈 방식으로 사용됩니다. |
|
| 이미지 높이 LUT | |
|---|---|
| Type | dynamic write 파라미터 |
| Default | 1024 |
| Range | [1, MaxImageHeight] |
|
이 LUT는 출력 이미지 생성에 사용될 이미지 높이 값을 저장합니다. 이미지 생성 과정에서 LUT 값은 라운드 로빈 방식으로 읽혀집니다. |
|
| 이미지 높이 변동 | |
|---|---|
| Type | dynamic write 파라미터 |
| Default | 0 |
| Range | [0, MaxImageHeightBitwidth-2] |
|
이미지 생성 시 ImageHeightLUT 값의 최하위 비트 중 지터가 허용되는 비트 수입니다. 이 매개변수는 FrameGenerationMode 매개변수가 JitterMode로 설정된 경우에만 사용됩니다. |
|
| ImageWidthLUT | |
|---|---|
| Type | dynamic write 파라미터 |
| Default | 1024 |
| Range | [1, MaxImageWidth] |
|
이 LUT는 출력 이미지 생성에 사용될 이미지 너비 값을 저장합니다. 이미지 생성 과정에서 LUT 값은 라운드 로빈 방식으로 읽혀집니다. |
|
| ImageWidthJitter | |
|---|---|
| Type | dynamic write 파라미터 |
| Default | 0 |
| Range | [0, MaxImageWidthBitwidth-2] |
|
이미지 생성 시 ImageWidthLUT 값 중 지터가 허용되는 최하위 비트 수입니다. 이 매개변수는 LineGeneration Mode 매개변수가 JitterMode로 설정된 경우에만 사용됩니다. |
|
| 픽셀 듀티 사이클 | |
|---|---|
| Type | dynamic write 파라미터 |
| Default | 100 |
| Range | [1, 100] |
|
출력 스트림의 픽셀 듀티 사이클입니다. 100%는 모든 클럭 사이클이 하나의 출력 픽셀에 해당함을 의미합니다. 20%의 픽셀 듀티 사이클이 설정된 경우, 5번째 클럭 사이클마다 하나의 출력 픽셀이 생성됩니다. |
|
| 프레임 생성 모드 | |
|---|---|
| Type | dynamic write 파라미터 |
| Default | FreeRun |
| Range | {FreeRun, JitterMode, FixedFrequency, ExternalTrigger} |
|
프레임 생성 모드를 선택합니다. FreeRun: ImageHeight 및 FrameGap을 기반으로 하는 가장 빠른 이미지 생성 모드입니다. FrameRate 매개변수는 무시됩니다. JitterMode: FreeRun과 동일하지만 FrameGapJitter 매개변수를 사용합니다. 고정 주파수: FrameRate 매개변수를 통해 설정된 고정 프레임 속도로 이미지를 생성합니다. 외부 트리거: 선택 사항인 외부 트리거 입력인 TriggerFrameI는 새로운 이미지 프레임 생성을 시작하는 데 사용됩니다. 이 기능은 FrameTriggerI 포트가 활성화된 경우에만 사용할 수 있습니다. 현재 이미지 생성이 끝나기 전에 새로운 이미지 시작이 트리거되면, 이 요청은 무시되고 SkippedFrame 카운터가 증가합니다. 이는 모든 프레임 생성 모드에 적용됩니다. |
|
| 프레임 속도 | |
|---|---|
| Type | dynamic write 파라미터 |
| Default | 10 |
| Range | [0.5, 1048576.0] |
|
목표 이미지 주파수(Hz). 이 매개변수는 FrameGenerationMode 매개변수가 FixedFrequency로 설정된 경우에만 사용됩니다. 최대 프레임 속도는 LineRate 및 ImageHeight에 의해 제한됩니다. |
|
| FrameGapLUT | |
|---|---|
| Type | dynamic write 파라미터 |
| Default | 1024 |
| Range | [1, 67108863] |
|
룩업 테이블 항목은 두 이미지 프레임 간의 간격을 정의합니다. 프레임 간격 값은 해당 간격을 클럭 사이클 수로 정의합니다. 이 매개변수는 고정 주파수 생성 모드에서는 무시됩니다. |
|
| 프레임 간격 지터 | |
|---|---|
| Type | dynamic write 파라미터 |
| Default | 0 |
| Range | [0, 프레임 간격 비트폭 - 2] |
|
이미지 생성 시 지터가 허용되는 FrameGapLUT 값의 최하위 비트 수입니다. 이 설정은 JitterMode 프레임 생성 중에만 사용됩니다. |
|
| 선 생성 모드 | |
|---|---|
| Type | dynamic write 파라미터 |
| Default | FreeRun |
| Range | {FreeRun, JitterMode, FixedFrequency, ExternalTrigger} |
|
선 생성 모드를 선택합니다. FreeRun: ImageWidth 및 LineGap을 기반으로 하는 가장 빠른 이미지 생성 모드입니다. LineRate 매개변수는 무시됩니다. JitterMode: LineGapJitter 매개변수의 사용 여부를 제외하면 FreeRun과 동일합니다. 고정 주파수: LineRate 매개변수를 통해 설정된 고정 주파수 라인 속도 생성. 외부 트리거: 선택 사항인 외부 트리거 입력인 TriggerLineI는 새로운 라인 생성을 시작하는 데 사용됩니다. 포트 LineTriggerI가 활성화된 경우에만 사용할 수 있습니다. If current line generation has not ended and a new line start is triggered then this request is ignored an the SkippedLine counter is incremented. This applies to all line generation modes. |
|
| LineRate | |
|---|---|
| Type | dynamic write 파라미터 |
| Default | 10 |
| Range | [0.5, 1048576.0] |
|
목표 라인 주파수(Hz). FixedFrequency 라인 생성 모드에서만 사용됩니다. 최대 LineRate는 LineGap 및 ImageWidth에 의해 제한됩니다. |
|
| LineGapLUT | |
|---|---|
| Type | dynamic write 파라미터 |
| Default | 1024 |
| Range | [1, 67108863] |
|
룩업 테이블 항목은 두 선 사이의 간격을 정의합니다. 선 간격 값은 두 선 사이의 간격을 픽셀 수로 지정합니다. 이 매개변수는 고정 주파수 선 생성 모드에서는 무시됩니다. |
|
| LineGapJitter | |
|---|---|
| Type | dynamic write 파라미터 |
| Default | 0 |
| Range | [0, LineGapBitwidth-2] |
|
이미지 생성 시 지터가 허용되는 LineGapLUT 값의 최하위 비트 수입니다. 이 값은 JitterMode 라인 생성 시에만 사용됩니다. |
|
| SkippedLine | |
|---|---|
| Type | dynamic read parameter |
| Default | 0 |
| Range | [0, 65535] |
|
이것은 선 생성 모드에서 설정 충돌을 표시하는 데 사용되는 오류 카운터입니다. 현재 줄 생성이 끝나지 않은 상태에서 새로운 줄 시작이 트리거되면, 이 요청은 무시되고 SkippedLine 카운터가 증가합니다. 이는 모든 줄 생성 모드에 적용됩니다. |
|
| SkippedFrame | |
|---|---|
| Type | dynamic read parameter |
| Default | 0 |
| Range | [0, 65535] |
|
이것은 프레임 생성 모드에서 설정 충돌을 나타내는 데 사용되는 오류 카운터입니다. 현재 이미지 생성이 끝나지 않은 상태에서 새로운 이미지 생성이 시작되면, 이 요청은 무시되고 SkippedFrame 카운터가 증가합니다. 이는 모든 프레임 생성 모드에 적용됩니다. |
|
| 시뮬레이션할 선 수 | |
|---|---|
| Type | 정적 쓰기 파라미터 |
| Default | 1 |
| Range | [1, (2^32) - 1] |
|
출력 링크 이미지 프로토콜이 VALT_LINE1D로 설정된 경우, 시뮬레이션에 사용할 라인 수를 지정해야 합니다. 이 매개변수는 시뮬레이션 이미지의 높이를 지정하는 데 사용됩니다. 1차원 시뮬레이션에 대한 자세한 내용은 ‘시뮬레이션’을 참조하십시오. 이 매개변수는 출력 이미지 프로토콜이 VALT_LINE1D로 설정된 경우에만 변경할 수 있습니다. |
|
| 시뮬레이션할 픽셀 수 | |
|---|---|
| Type | 정적 쓰기 파라미터 |
| Default | 1 |
| Range | [1, (2^32) - 1], 단계 크기 = 출력 병렬도 |
|
출력 링크 이미지 프로토콜이 VALT_PIXEL0D로 설정된 경우, 시뮬레이션을 위해 픽셀 스트림의 크기를 지정해야 합니다. 이 매개변수는 시뮬레이션 픽셀 스트림의 폭을 지정하는 데 사용됩니다. 0D 시뮬레이션에 대한 자세한 내용은 '시뮬레이션'을 참조하십시오. 이 매개변수는 출력 이미지 프로토콜이 VALT_PIXEL0D로 설정된 경우에만 변경할 수 있습니다. |
|
다음 예제에서는 ImageTimingGenerator 연산자의 사용법을 보여줍니다:
-
예시 - 이미지 타이밍이 제너레이터에 의해 제공되는 동안 디자인의 데이터 흐름을 분석할 수 있습니다.
-
Example - 하드웨어에서 디자인 내부 데이터 흐름 제어를 디버깅하고 가능한 보정을 수행하기 위한 예제입니다.

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

