Operator StreamAnalyzer

Operator Library: Debugging

Operator StreamAnaylzer provides information about the data flow through. It doesn't touch the image data.

You can use the operator to detect blocking (inhibit) conditions.

When a blocking occurs in the pipeline, you can use this operator to see where in a frame (at which pixel) the blocking occured.

In addition, operator StreamAnalyzer provides data about the utilization of the pipeline capacity (valid fraction, idle fraction, blocked fraction of time in percent).

When an internal counter overflows, a corresponding overflow bit is set in the OverflowMask parameter and the counter halts.

[Important] Runtime Testing

This operator is designed for testing and analyzing your design during runtime: You need to build (synthesize) the design, load it onto the target hardware, and start actual image processing, before you can use the operator for debugging.

The operator is not intended for design simulation within VisualApplets.

I/O Properties

Property
Operator Type O
Input Link I, Image data input
Output Link O, Image data output

Supported Link Format

Link Parameter Input Link I Output Link O
Bit Width [1, 64] as I
Arithmetic {unsigned, signed} as I
Parallelism any as I
Kernel Columns any as I
Kernel Rows any as I
Img Protocol VALT_IMAGE2D, LINE1D, PIXEL0D as I
Color Format any as I
Color Flavor any as I
Max. Img Width any as I
Max. Img Height any as I

参数

ClearMode
键入 dynamic write parameter
默认 ClearWithProcessStart
范围 {NoClearing, ClearWithProcessStart, ClearWithProcessReset, SendClearPulse}

This parameter defines the reset behavior for all read parameters.

NoClearing: Values of all read parameters are held. ProcessEnable and ProcessReset have no influcence on these values.

ClearWithProcessStart: Values of read parameters are only cleared with rising edge of ProcessEnable.

ClearWithProcessReset: Values of read parameters are only cleared with rising edge of ProcessReset.

SendClearPulse: On-demand clearing of all read parameter values.

MeasurementMode
键入 dynamic write parameter
默认 AllCycles
范围 {AllCycles, FrameCyclesOnly, LineCyclesOnly}

This parameter allows you to analyze specific fractions of the MeasurementPeriod:

AllCycles: Performance is measured over all cycles inside the MeasurementPeriod.

FrameCyclesOnly: Performance is measured over all cycles between the start end the end of frames. Frame gaps inside the MeasurementPeriod are therefore omitted.

LineCyclesOnly: Performance is measured over all cycles between the start end the end of lines. Frame gaps and line gaps inside the MeasurementPeriod are therefore omitted.

MeasurementPeriod
键入 dynamic write parameter
默认 1000
范围 [1, 65535]

Time in milliseconds for performance measurements.

The definition of the measurement period is important for analyzing time fractions, and for calculating mean values.

FrameCountWidth
键入 static write parameter
默认 24
范围 [4, 63]

Sets the bit width of the frame counter. (Frame counter is parameterCurrFrame).

CurrTime
键入 dynamic read parameter
默认 0
范围 [0, (2^32)-1]

Time passed since the beginning of the measurement period (in milliseconds).

CurrFrame
键入 dynamic read parameter
默认 0
范围 [0, (2^FrameCountWidth) -1]

This parameter acts as a frame counter. Counted are all frames which are terminated with an EndOfFrame flag. Available only in IMAGE-2D mode.

CurrBlocked
键入 dynamic read parameter
默认 0
范围 [0, 1]

If set to one: Value 1 informs that the image flow is blocked.

BlockedCyclesPerFrame
键入 dynamic read parameter
默认 0
范围 [0, (2^(ImageWidthtBitwidth+4))-1]

Counts the number of clock cycles during which the image flow is blocked during the flow-through of one frame.

A pixel gap always has exactly the length of the blocking which provokes the gap. However, the offset of the gap may differ from the offset of the blocking status.

If buffer operators have been implemented earlier in the processing line, the pixels that can not be transferred due to the blocking status are buffered.

If no buffer operator is implemented earlier in the processing line, the pixels that can not be transferred due to the blocking status are discarded.

FirstBlockedFrame
键入 dynamic read parameter
默认 0
范围 [0, (2^FrameCountWidth)-1]

Frame number of frame during which first blocking occurred.

LastBlockedFrame
键入 dynamic read parameter
默认 0
范围 [0, (2^FrameCountWidth)-1]

Frame number of frame during which last blocking has occurred.

FirstBlockedXPos
键入 dynamic read parameter
默认 0
范围 [0, (2^(ImageWidthBitWidth+4))-1]

Horizontal position at which first blocking appeared.

LastBlockedXPos
键入 dynamic read parameter
默认 0
范围 [0, (2^(ImageWidthBitWidth+4))-1]

The last horizontal position at which the image flow was blocked until now.

Example: If the value is 7: Horizontal position 7 was the last X position blocked until now. Horizontal position 8 was the first unblocked position after the last blocking that occurred.

FirstBlockedYPos
键入 dynamic read parameter
默认 0
范围 [0, (2^(ImageWidthBitWidth+4))-1]

Vertical position at which first blocking appeared.

LastBlockedYPos
键入 dynamic read parameter
默认 0
范围 [0, (2^(ImageWidthBitWidth+4))-1]

The last vertical position at which the image flow was blocked until now.

Example: If the value is 13: Vertical position 13 was the last Y position blocked until now. Vertical position 14 was the first unblocked position after the last blocking that occurred.

FirstBlockedTime
键入 dynamic read parameter
默认 0
范围 [0, (2^32)-1]

Time stamp at which first blocking appeared.

LastBlockedTime
键入 dynamic read parameter
默认 0
范围 [0, (2^32)-1]

Time stamp of point of time at which last blocking has appeared.

After this point of time, no further blocking occured until now.

DataRate
键入 dynamic read parameter
默认 0
范围

Measured data rate in mega pixel per second.

BlockedFraction
键入 dynamic read parameter
默认 0
范围 [0.0, 100.0]

Percentage of blocked cycles within the measurement period (see parameter MeasurementPeriod).

IdleFraction
键入 dynamic read parameter
默认 0
范围 [0.0, 100.0]

Percentage of idle cycles within the measurement period (see parameter MeasurementPeriod).

ValidFraction
键入 dynamic read parameter
默认 0
范围 [0.0, 100.0]

Percentage of valid cycles carrying data within the measurement period (see parameter MeasurementPeriod).

OverflowMask
键入 dynamic read parameter
默认 0
范围 [0, 511]

Operator Control:

Bit-encoded overflow signaling. A set bit indicates an overflow in the following counters:

[0] = FrameCount

[1] = PixelCount

[2] = xPos

[3] = yPos

[4] = LinePeriod

[5] = InhibitCount

[6] = InhibitCountFrame

[7] = IdleCount

[8] = ValidCount

Examples of Use

The use of operator StreamAnalyzer is shown in the following examples:

  • 'Image Dimension Test'

    Example - The image dimension is measured and can be used to analyze the design flow.

  • 'Image Timing Generator'

    Example - While image timing is provided by a generator the designs data flow can be analyzed.