Operator Library: Debugging
Operator ImageTimingGenerator를 사용하면 실제 생산 시스템에서 실제 카메라와 같은 이미지 타이밍을 에뮬레이트할 수 있습니다.
이 오퍼레이터는 검은색 이미지 출력을 생성합니다. 이미지 출력의 타이밍 동작을 정의할 수 있는 다양한 파라미터를 제공합니다.
이 오퍼레이터를 사용하여 후속 이미지 처리 파이프라인이 데이터 스트림의 특정 타이밍을 처리할 수 있는지 테스트할 수 있습니다.
특정 타이밍 동작으로 인해 병목 현상이 발생하는지, 아니면 타이밍 편차에도 불구하고 디자인의 파이프라인이 이미지를 정상적으로 처리할 수 있는지 확인할 수 있습니다.
라인 생성 설정과 프레임 생성 설정은 네 가지 생성 모드를 지원합니다.
- FreeRun: FreeRun 모드는 가장 빠른 생성을 달성합니다.
- JitterMode: JitterMode는 FreeRun 모드와 유사하게 작동하지만 타이밍 생성을 위한 지터(jitter)를 정의할 수 있습니다.
- FixedFreqency: FixedFreqency 생성 모드를 사용하면 고정 타이밍을 설정할 수 있습니다.
- ExternalTrigger: 입력 신호를 사용하여 라인 및/또는 프레임 생성을 트리거하려면 라인 및/또는 프레임 생성 설정을 ExternalTrigger 모드로 설정합니다.
또한 이미지 높이, 이미지 너비, 라인 갭, 프레임 갭의 변화에 디자인이 어떻게 반응하는지 테스트할 수 있습니다. 룩업 테이블(LUT)과 가변 지터 설정을 통해 이러한 파라미터를 정의할 수 있습니다.
픽셀 듀티 사이클을 조정하여 가상 픽셀 클록의 속도 저하를 시뮬레이션할 수도 있습니다.
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 오퍼레이터처럼 동작합니다). |
![]() |
런타임 테스트 |
|---|---|
|
이 Operator는 런타임 중에 디자인을 테스트하고 분석하도록 설계되었습니다. 디자인을 빌드(합성)하고, 타겟 하드웨어에 로드한 후, 실제 이미지 처리를 시작해야 디버깅에 Operator를 사용할 수 있습니다. |
| Property | Value |
|---|---|
| Operator Type | M |
| Input Links | TriggerLineI(선택 사항), 선택적 외부 라인 트리거 신호 입력. 사용하지 않는 경우 접지(Ground)에 연결하세요. TriggerFrameI(선택 사항), 선택적 외부 프레임 트리거 신호 입력. 사용하지 않는 경우 접지(Ground)에 연결하세요. |
| Output Link | 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 |
| MaxImageSequenceLength | |
|---|---|
| Type | static write parameter |
| Default | 1 |
| Range | [1, (2^14)-1] |
|
ImageHeightLUT, ImageWidthLUT, FrameGapLUT, LineGapLUT의 LUT 크기를 정의합니다. |
|
| ImageSequenceLength | |
|---|---|
| Type | dynamic write parameter |
| Default | 1 |
| Range | [1, (2^MaxImageSequenceLength)-1] |
|
LUT에서 사용할 항목의 수를 설정합니다. 1로 설정하면 각 LUT의 첫 번째 항목만 사용됩니다. 예를 들어 4로 설정하고 MaxImageSequenceLength가 7로 설정된 경우, 모든 LUT의 처음 4개 항목만 라운드 로빈 방식으로 사용됩니다. |
|
| ImageHeightLUT | |
|---|---|
| Type | dynamic write parameter |
| Default | 1024 |
| Range | [1, MaxImageHeight] |
|
출력 이미지 생성에 사용할 이미지 높이 값을 저장하는 LUT입니다. 생성 중에 LUT 값은 라운드 로빈 방식으로 읽혀집니다. |
|
| ImageHeightJitter | |
|---|---|
| Type | dynamic write parameter |
| Default | 0 |
| Range | [0, MaxImageHeightBitwidth-2] |
|
이미지 생성 중에 지터가 허용될 ImageHeightLUT 값의 하위 유효 비트 수입니다. FrameGenerationMode 파라미터가 JitterMode로 설정된 경우에만 사용됩니다. |
|
| ImageWidthLUT | |
|---|---|
| Type | dynamic write parameter |
| Default | 1024 |
| Range | [1, MaxImageWidth] |
|
출력 이미지 생성에 사용할 이미지 너비 값을 저장하는 LUT입니다. 생성 중에 LUT 값은 라운드 로빈 방식으로 읽혀집니다. |
|
| ImageWidthJitter | |
|---|---|
| Type | dynamic write parameter |
| Default | 0 |
| Range | [0, MaxImageWidthBitwidth-2] |
|
이미지 생성 중에 지터가 허용될 ImageWidthLUT 값의 하위 유효 비트 수입니다. LineGeneration Mode 파라미터가 JitterMode로 설정된 경우에만 사용됩니다. |
|
| PixelDutyCycle | |
|---|---|
| Type | dynamic write parameter |
| Default | 100 |
| Range | [1, 100] |
|
출력 스트림의 픽셀 듀티 사이클입니다. 100%는 모든 클록 사이클이 출력 픽셀에 대응됨을 의미합니다. 20% 픽셀 듀티 사이클이 설정된 경우 5번째 클록 사이클마다 출력 픽셀이 생성됩니다. |
|
| FrameGenerationMode | |
|---|---|
| Type | dynamic write parameter |
| Default | FreeRun |
| Range | {FreeRun, JitterMode, FixedFrequency, ExternalTrigger} |
|
프레임 생성 모드를 선택합니다. FreeRun: ImageHeight 및 FrameGap을 기반으로 하는 가장 빠른 이미지 생성 모드입니다. FrameRate 파라미터는 무시됩니다. JitterMode: FreeRun과 동일하지만 FrameGapJitter 파라미터를 사용합니다. FixedFrequency: FrameRate 파라미터를 통해 설정된 고정 주파수 이미지 레이트 생성입니다. ExternalTrigger: 선택적 외부 트리거 입력 TriggerFrameI를 사용하여 새 이미지 프레임 생성의 시작을 트리거합니다. 포트 FrameTriggerI가 활성화된 경우에만 사용할 수 있습니다. 현재 이미지 생성이 끝나기 전에 새 이미지 시작이 트리거되면 이 요청은 무시되고 SkippedFrame Counter가 증가합니다. 이는 모든 프레임 생성 모드에 적용됩니다. |
|
| FrameRate | |
|---|---|
| Type | dynamic write parameter |
| Default | 10 |
| Range | [0.5, 1048576.0] |
|
Hz 단위의 대상 이미지 주파수입니다. FrameGenerationMode 파라미터가 FixedFrequency로 설정된 경우에만 사용됩니다. 최대 FrameRate는 LineRate 및 ImageHeight에 의해 제한됩니다. |
|
| FrameGapLUT | |
|---|---|
| Type | dynamic write parameter |
| Default | 1024 |
| Range | [1, 67108863] |
|
Lookup table 항목은 두 이미지 프레임 사이의 간격을 정의합니다. 프레임 간격 값은 클럭 사이클 수로 간격을 정의합니다. 이 파라미터는 FixedFrequency 생성 모드에서는 무시됩니다. |
|
| FrameGapJitter | |
|---|---|
| Type | dynamic write parameter |
| Default | 0 |
| Range | [0, FrameGapBitwidth-2] |
|
이미지 생성 중에 지터(jitter)가 허용될 FrameGapLUT 값의 최하위 비트(LSB) 수입니다. JitterMode 프레임 생성 중에만 사용됩니다. |
|
| LineGenerationMode | |
|---|---|
| Type | dynamic write parameter |
| Default | FreeRun |
| Range | {FreeRun, JitterMode, FixedFrequency, ExternalTrigger} |
|
라인 생성 모드를 선택합니다. FreeRun: ImageWidth 및 LineGap을 기반으로 하는 가장 빠른 이미지 생성 모드입니다. LineRate 파라미터는 무시됩니다. JitterMode: LineGapJitter 파라미터를 사용하는 것을 제외하고는 FreeRun과 동일합니다. FixedFrequency: LineRate 파라미터를 통해 설정된 고정 주파수 라인 레이트 생성입니다. ExternalTrigger: 선택적 외부 트리거 입력 TriggerLineI를 사용하여 새로운 라인 생성의 시작을 트리거합니다. LineTriggerI 포트가 활성화된 경우에만 사용할 수 있습니다. 현재 라인 생성이 끝나지 않은 상태에서 새로운 라인 시작이 트리거되면 이 요청은 무시되고 SkippedLine Counter가 증가합니다. 이는 모든 라인 생성 모드에 적용됩니다. |
|
| LineRate | |
|---|---|
| Type | dynamic write parameter |
| Default | 10 |
| Range | [0.5, 1048576.0] |
|
Hz 단위의 목표 라인 주파수입니다. FixedFrequency 라인 생성 모드에서만 사용됩니다. 최대 LineRate는 LineGap 및 ImageWidth에 의해 제한됩니다. |
|
| LineGapLUT | |
|---|---|
| Type | dynamic write parameter |
| Default | 1024 |
| Range | [1, 67108863] |
|
Lookup table 항목은 두 라인 사이의 간격을 정의합니다. 라인 간격 값은 두 라인 사이의 픽셀 수로 간격을 정의합니다. 이 파라미터는 FixedFrequency 라인 생성 모드에서는 무시됩니다. |
|
| LineGapJitter | |
|---|---|
| Type | dynamic write parameter |
| Default | 0 |
| Range | [0, LineGapBitwidth-2] |
|
이미지 생성 중에 지터가 허용될 LineGapLUT 값의 최하위 비트 수입니다. JitterMode 라인 생성 중에만 사용됩니다. |
|
| SkippedLine | |
|---|---|
| Type | 동적 읽기 파라미터 |
| Default | 0 |
| Range | [0, 65535] |
|
라인 생성 모드의 설정 충돌을 나타내는 데 사용되는 오류 Counter입니다. 현재 라인 생성이 끝나지 않은 상태에서 새로운 라인 시작이 트리거되면 이 요청은 무시되고 SkippedLine Counter가 증가합니다. 이는 모든 라인 생성 모드에 적용됩니다. |
|
| SkippedFrame | |
|---|---|
| Type | 동적 읽기 파라미터 |
| Default | 0 |
| Range | [0, 65535] |
|
프레임 생성 모드의 설정 충돌을 나타내는 데 사용되는 오류 Counter입니다. 현재 이미지 생성이 끝나지 않은 상태에서 새로운 이미지 시작이 트리거되면 이 요청은 무시되고 SkippedFrame Counter가 증가합니다. 이는 모든 프레임 생성 모드에 적용됩니다. |
|
| LinesToSimulate | |
|---|---|
| Type | static write parameter |
| Default | 1 |
| Range | [1, (2^32) - 1] |
|
If the output link image protocol is set to VALT_LINE1D, it is required to specify the number of lines for simulation. This parameter is used to specify the simulation image height. See 'Simulation' for more information on 1D simulations. This parameter can only be changed if the output image protocol is set to VALT_LINE1D. |
|
| PixelsToSimulate | |
|---|---|
| Type | static write parameter |
| Default | 1 |
| Range | [1, (2^32) - 1], step size = output Parallelism |
|
출력 링크 이미지 프로토콜이 VALT_PIXEL0D로 설정된 경우, 시뮬레이션을 위한 픽셀 스트림 크기를 지정해야 합니다. 이 파라미터는 시뮬레이션 픽셀 스트림 너비를 지정하는 데 사용됩니다. 0D 시뮬레이션에 대한 자세한 내용은 'Simulation'을 참조하십시오. 이 파라미터는 출력 이미지 프로토콜이 VALT_PIXEL0D로 설정된 경우에만 변경할 수 있습니다. |
|
ImageTimingGenerator 오퍼레이터의 사용법은 다음 예제에 나와 있습니다.
-
예시 - 이미지 타이밍이 제너레이터에 의해 제공되는 동안 디자인의 데이터 흐름을 분석할 수 있습니다.
-
예제 - 하드웨어에서 내부 데이터 흐름 제어를 디버깅하고 보정하기 위한 목적입니다.

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

