Operator StreamControl

Operator Library: Debugging

This operator you can use to manipulate the blocking behavior on the image link. You can suppress the blocking status as well as create blocking pulses towards the input link.

[Important] Availability

To use the StreamControl operator, you need either an Expert license, a Debugging Module license, or the VisualApplets 4 license.

Blocking: You can use the operator to test how the design reacts to blocking situations.

Suppressing: When you suppress a blocking situation, you can test the preceding part of the design even though the subsequent parts cause a blocking situation. Those subsequent parts of the pipeline will typically not work properly due to data loss. Data loss is monitored by parameter LostDataWords.

Example: If you place the operator directly in front of the DmaToPC operator and suppress blocking, you can find out about the maximum speed of your design (since you suppress limitations merely due to the data width of a potential DMA bus).

You can use external input signals to control the blocking behavior.

[Important] Data Loss while Blocking is Supressed

While an inhibit (blocking) is in suppressed state, all incoming data is lost since the output link is not ready to accept new data.

[Important] Use Carefully

This operator must be used with caution as it can disturb the inherent handshaking protocol between operators.

[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 Value
Operator Type M
Input Links I, Image data input
ExtI, external signal input (optional)
Output Link O, Image data output

Supported Link Format

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

Parameters

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 all read parameters are only cleared with rising edge of ProcessEnable.

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

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

InhibitMode
Type dynamic write parameter
Default FlowThrough
Range {FlowThrough, OverridePulseHi, OverridePulseLow, OverrideExtHi, OverrideExtLow, PulsHi, PulsLow, StaticHi, StaticLow, Ext}

FlowThrough: Inhibit (blocking) passes from O to I.

OverridePulseHi: Creates a one clock cycle wide Inhibit (blocking) signal towards I when selected. Otherwise, same behavior as in FlowThrough mode.

OverridePulseLow: Suppresses the Inhibit (blocking) signal for one clock cycle. Otherwise, same behavior as in FlowThrough mode.

OverrideExtHi: Only high level input from external signal input ExtI is passed as an Inhibit (blocking) to I. Otherwise, same behavior as in FlowThrough mode.

OverrideExtLow: Only low level input from external signal input ExtI is used to suppress Inhibit (blocking) towards I. Otherwise, same behavior as in FlowThrough mode.

PulsHi: Creates exactly one Inhibt (blocking) cycle while Inhibit (blocking) is set permanently to zero.

PulsLow: Supresses exactly one Inhibt (blocking) cycle while Inhibit (blocking) is set permanently.

StaticHi: Forces Inhibt (blocking) to be active permanently.

StaticLow: Deactivates Inhibt (blocking) permanently.

Ext: ExtI input signal sets the Inhibit (blocking) state directly.

LostDataWords
Type dynamic read parameter
Default 0
Range

Counts image data that are lost due to suppressed Inhibit (blocking).

GeneratedInhibits
Type dynamic read parameter
Default 0
Range

Counts generated Inhibits (blockings) while no Inhibit (blocking) was present at ouput O.