オペレーター ImageFlowControl

Operator Library: Debugging

Operator ImageFlowControlを使用すると、無限のソースから受信するデータフローを制御できます。

Operator ImageFlowControlは、特に次のような設計の場合に役立ちます。

  • 停止しない(無限の)ソースからデータが供給され、RAMベースのイメージバッファを使用していない場合。
  • ループが含まれており、ループ内のデータ損失を検知して防止したい場合。

このオペレータを使用することで、後続のパイプラインでFIFOのオーバーフローが発生しないようにすることができます。

このオペレータはOperator ImageFifoと同様に機能し、FIFOが内蔵されています。

さらに、このオペレータは特定のオーバーフロー制御メカニズムを備えています。オーバーフローが発生した場合:

  • 画像がカットされます(画像の最初の部分のみが転送されます)。
  • オーバーフロー状態が続いている間、画像は破棄されます。(オーバーフロー状態が解消されると、次のフレームの最初のピクセルから転送が開始されます。)

このようにして、オペレータは設計の実行を確実に維持します。

特定カウントパラメータにより、オーバーフロー状況下で何フレームが失われたか、また切り捨てにより何フレームが不完全に転送されたかを確認できます。 これにより、設計内(またはループ内など)でのデータ損失を追跡できます。

さらに、失われたフレームを、幅と高さを選択可能なダミーフレームで補正することができます。 この機能により、出力リンクでの一時的な帯域幅の制限が発生した場合でも、入力および出力フレームのレートを一定に保つことができます。 ただし、これは生成されたダミーフレームのサイズが、失われたフレームと比較して十分に小さい場合にのみ機能します。

[重要] ランタイムテスト

この operator は、ランタイム時にデザインをテストおよび解析するように設計されています。 operator をデバッグに使用する前に、デザインをビルド(合成)し、ターゲットハードウェアにロードして、実際の画像処理を開始する必要があります。

この operator は、VisualApplets 内でのデザインシミュレーションを目的としたものではありません。

I/O Property

Property 値
オペレータータイプ M
入力リンク TerminateI(オプション)、外部終了信号入力。1に設定すると、現在の入力画像が終了します。つまり、オペレータはシンクとして機能します。失われたフレームの補正は、CompensateLostFramesパラメータで有効にできます。
I、画像データ入力
Output Links O、画像データ出力
StatusO(オプション)、statusOポートは画像データ出力ポートOと同期しています。このポートの幅は2ビットです。Bit 0:設定されている場合、現在のフレームの切り捨てを示します。Bit 1:設定されている場合、ダミーフレームを示します。フレーム内の最後のデータワードのみを評価する必要があります。

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

Link Parameter Input Link TerminateI(オプション) Input Link I Output Link O Output Link StatusO(オプション)
Bit Width 1 [1, 64] as I 2
Arithmetic なし {unsigned, signed} as I as I
Parallelism なし any as I as I
Kernel Columns なし any as I as I
Kernel Rows なし any as I as I
Img Protocol 信号 VALT_IMAGE2D as I as I
Color Format なし any as I GRAY
Color Flavor なし any as I なし
Max. Img Width なし any as I as I
Max. Img Height なし any as I as I

パラメーター

EntitiesToStore
タイプ static write parameter
Default 8
範囲 [1, (2^32)-1]

保存するfifoエンティティの数。

EntitiesType
タイプ static write parameter
Default LINE
範囲 {FRAME, LINE, PIXEL}

ストレージエンティティを定義します。

ImplementationType
タイプ static write parameter
Default AUTO
範囲 {AUTO, BRAM, LUTRAM}

FIFO実装タイプを定義します。

FifoFillLevel
タイプ 動的書き込みパラメータ
Default 0%
範囲 [0%, 100%]

パーセンテージによる実際のFIFOのFillレベルです。

MaxFifoFillLevel
タイプ 動的書き込みパラメータ
Default 0%
範囲 [0%, 100%]

到達した最大FIFOのFillレベルを格納します。

CounterWidth
タイプ static write parameter
Default 16
範囲 [8, 32]

このオペレータ内のすべてのカウンターのBit Widthを設定します。

LostFrameCount
タイプ 動的リードパラメータ
Default 16
範囲 [0, (2^CounterWidth)-1]

出力リンクまたはオプションの TerminateI 入力のブロックが原因で失われたフレーム全体をカウントします。ra>

IncompleteFrameCount
タイプ 動的リードパラメータ
Default 16
範囲 [0, (2^CounterWidth)-1]

途中で強制終了された不完全なフレームをカウントします。

FullFrameCount
タイプ 動的リードパラメータ
Default 16
範囲 [0, (2^CounterWidth)-1]

出力リンクに渡された完全なフレームをカウントします。

ClearStatus
タイプ 動的書き込みパラメータ
Default いいえ
範囲 {Yes, No}

"yes"に設定すると、すべてのカウンターがクリアされます。

CompensateLostFrame
タイプ 動的書き込みパラメータ
Default いいえ
範囲 {Yes, No}

Yesに設定すると、ダミーフレームの挿入によって失われたすべてのフレームが補償されます。

DummyFrameWidth
タイプ 動的書き込みパラメータ
Default 1024
範囲 [2, MaxImageWidth]

生成するダミーフレームの幅。

DummyFrameHeight
タイプ 動的書き込みパラメータ
Default 1
範囲 [1, MaxImageHeight]

生成するダミーフレームの高さ。

DummyFrameCount
タイプ 動的リードパラメータ
Default 0
範囲 [0,(2^CounterWidth)-1]

生成されたすべてのダミーフレームをカウントします。

EofDifferenceFrameCount
タイプ 動的リードパラメータ
Default 0
範囲 [-(2^CounterWidth), (2^CounterWidth)-1]

出力フレーム数と入力フレーム数の差: OutgoingEofCounter - IncomingEofCounter。

使用例

ImageFlowControlオペレータの使用方法については、以下の例を参照してください。

  • 'Image Flow Control'

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