Operator Library: Debugging
Operator StreamAnaylzer provides information about the data flow through. It doesn't touch the image data.
Availability | |
---|---|
To use the StreamAnaylzer operator, you need either an Expert license, a Debugging Module license, or the VisualApplets 4 license. |
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.
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. |
Property | Value |
---|---|
Operator Type | O |
Input Link | I, Image data input |
Output Link | O, Image data output |
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 | |
---|---|
Type | dynamic write parameter |
Default | ClearWithProcessStart |
Range | {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 | |
---|---|
Type | dynamic write parameter |
Default | AllCycles |
Range | {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 | |
---|---|
Type | dynamic write parameter |
Default | 1000 |
Range | [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 | |
---|---|
Type | static write parameter |
Default | 24 |
Range | [4, 63] |
Sets the bit width of the frame counter. (Frame counter is parameterCurrFrame). |
CurrTime | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, (2^32)-1] |
Time passed since the beginning of the measurement period (in milliseconds). |
CurrFrame | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [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 | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, 1] |
If set to one: Value 1 informs that the image flow is blocked. |
BlockedCyclesPerFrame | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [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 | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, (2^FrameCountWidth)-1] |
Frame number of frame during which first blocking occurred. |
LastBlockedFrame | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, (2^FrameCountWidth)-1] |
Frame number of frame during which last blocking has occurred. |
FirstBlockedXPos | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, (2^(ImageWidthBitWidth+4))-1] |
Horizontal position at which first blocking appeared. |
LastBlockedXPos | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [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 | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, (2^(ImageWidthBitWidth+4))-1] |
Vertical position at which first blocking appeared. |
LastBlockedYPos | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [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 | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, (2^32)-1] |
Time stamp at which first blocking appeared. |
LastBlockedTime | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [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 | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | |
Measured data rate in mega pixel per second. |
BlockedFraction | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0.0, 100.0] |
Percentage of blocked cycles within the measurement period (see parameter MeasurementPeriod). |
IdleFraction | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0.0, 100.0] |
Percentage of idle cycles within the measurement period (see parameter MeasurementPeriod). |
ValidFraction | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0.0, 100.0] |
Percentage of valid cycles carrying data within the measurement period (see parameter MeasurementPeriod). |
OverflowMask | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [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 |
The use of operator StreamAnalyzer is shown in the following examples:
-
Example - The image dimension is measured and can be used to analyze the design flow.
-
Example - While image timing is provided by a generator the designs data flow can be analyzed.