Operator ImageValve

Operator Library: Synchronization

このオペレーターは、入力リンクのデータフローを制御するバルブとして使用できます。 信号入力 OpenValve は、バルブの制御に使用されます。 したがって、このオペレーターを使用すると、I と O の間のピクセル、ライン、およびフレームのデータフローに影響を与えることができます。 最大帯域幅の制限が、このオペレーターの主な目的です。 大まかに言うと、このオペレーターは画像処理のブロックおよび速度制御に使用されます。 例えば、このオペレーターを CreateBlankImage と組み合わせて使用することで、出力フレームレートを制御可能な画像ジェネレーターを実装できます。

バルブが閉じている場合、VisualApplets のフローコントロールはすべての受信データをブロックします。 これにより、入力パイプラインがブロックされます。 処理を停止できないオペレーターを使用する場合は、十分なサイズのバッファが使用されていることを確認してください。 一例として、フレームグラバーに接続されたフリーランニングカメラが挙げられます。 後続のオペレーターによってオペレーターの出力がブロックされた場合、オペレーターはこのブロックを入力に転送します。 この場合、バルブを開いても影響はありません。 バルブをゲートと混同しないでください。ゲートオペレーターは、閉じている間に入力データを破棄します。

バルブは、信号入力 OpenValve およびオペレーターのパラメータによって制御されます。 OpenValve が 1 に設定されている場合、オペレーターは Mode のパラメータ設定に応じて、SequenceLength のピクセル、ライン、またはフレームの通過を許可します。

もし OpenValve が定数の 1 に設定されている場合、オペレーターは入力リンク I から出力リンク O への画像データのブロックなしの通過を許可します。つまり、バルブは常に開いた状態になります。

オペレーターのバルブがまだ開いておりシーケンスが処理されている間に、2番目のパルスが OpenValve に設定された場合、そのパルスは無視されます。 シーケンスの処理中にパラメータ SequenceLength を使用してシーケンス長を変更した場合、オペレーターはまず前のシーケンスを完了し、その後で新しい値を使用します。

VisualApplets におけるハイレベルシミュレーションでは、タイミングがシミュレートされないため、すべての入力画像が直接出力に渡されます。 入力リンク OpenValve での値はすべて無視されます。

I/O Property

Property 値
オペレータータイプ M
入力リンク I、データ入力
OpenValve、制御信号入力
Output Link O, data output

サポートされているリンクフォーマット

Link Parameter Input Link I 入力リンク OpenValve Output Link O
Bit Width [1, 64]1 1 as I
Arithmetic {unsigned, signed} unsigned as I
Parallelism any 1 as I
Kernel Columns any 1 as I
Kernel Rows any 1 as I
Img Protocol {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D} VALT_SIGNAL as I
Color Format any VAF_GRAY as I
Color Flavor any FL_NONE as I
Max. Img Width any any as I
Max. Img Height any any as I

1

符号なし入力の場合、入力ビット幅の範囲は[1, 64]です。 符号付き入力の場合、範囲は[2, 64]です。 符号なしカラー入力の場合、範囲は[3, 63]であり、符号付きカラー入力の場合の範囲は[6, 63]です。

同期および非同期入力

  • すべての入力は相互に非同期です。

パラメーター

モード
タイプ dynamic/static read/write parameter
Default FRAME
範囲 {PIXEL, LINE, FRAME}

オペレーターのモードを設定します。 このパラメータに応じて、バルブは SequenceLength ピクセル、ライン、またはフレームの間開きます。

モード LINE および FRAME の利用可能性は、入力リンク I の画像プロトコルによって異なります。

SequenceLengthBits
タイプ static パラメータ
Default 10
範囲 [1, 64]

シーケンス長を表すビット数を設定します。

このパラメータは、パラメータ SequenceLength が dynamic に設定されている場合にのみ有効になります。

SequenceLength
タイプ dynamic/static read/write parameter
Default 1
範囲 dynamic: [1, 2^SequenceLengthBits - 1], static: [1, 2^64 - 1]

シーケンスの長さを設定します。 オペレーターがオープン状態の場合、パラメータ Mode に応じて、指定された数のピクセル、ライン、またはフレームが出力されます。

Mode が PIXEL に設定されている場合、その値は Parallelism で割り切れる必要があります。

ImplementationType
タイプ static write parameter
Default AUTO
範囲 (AUTO, EmbeddedALU, LUT)

パラメータ ImplementationType は、オペレーターの実装戦略、つまりオペレーターの実装にどの論理要素が使用されるかに影響を与えます。

以下の値から選択できます:

AUTO: オペレーターがインスタンス化されると、パラメータ SequenceLengthBits に基づいて最適な実装戦略が自動的に選択されます。

EmbeddedALU: オペレーターは、LUT ベースではない FPGA の組み込み算術論理要素を使用します。

LUT: オペレーターは FPGA の LUT ロジックを使用します。

[注] 通常は AUTO を使用

通常、このパラメータは AUTO に設定する必要があります。 特殊なケース、つまりデザイン内で特定種類の FPGA リソースが不足している場合は、EmbeddedALU または LUT の値を使用して FPGA リソース管理を手動で調整できます。 デザインにタイミングの問題がある場合は、LUT を使用してタイミングを改善してください。

使用例

オペレーター ImageValve の使用方法は、以下の例に示されています。

  • 'Hardware Test'

    DMA、RAM、GPIO、トリガー、LEDのハードウェアセルフテストの例。

  • 'Image Flow Control'

    例 - ハードウェアにおける設計の内部データフロー制御のデバッグおよび潜在的な補正を目的としています。