オペレーター FrameMemoryRandomRd

Operator Library: Memory

FrameMemoryRandomRd オペレーターは、ランダムリードアクセスを使用してメモリ内の画像をバッファリングします。 フレームデータは、リンク I を経由してオペレーターに転送されます。 データのランダムリードは、アドレスをポート RColA(リードカラムアドレス)および RRowA(リード ロウアドレス)に転送することによって実行できます。 オペレーターはこれらのアドレスを使用して、指定された座標に従ってフレームデータを読み取ります。 結果として出力されるフレームの画像寸法は、アドレス入力の寸法になります。

必要なメモリサイズは、入力フレームの画像寸法(Max. Img Width および Max. Img Height)によって定義されます。

オペレーターのレイテンシについては、「表 46:Library Memory 内のオペレーターの個別のレイテンシ」を参照してください。

このオペレーターには2つのバリエーションを実装できます。 具体的には、シングルバッファ実装とダブルバッファ実装です。 1つ目の実装は RAM を節約しますが、書き込みと読み取りのタイムリーなオーバーラップを許可しません。 そのため、書き込み状態の間はアドレス入力リンク RColA および RRowA が停止されます。 後者の実装は RAM を倍増させ、入力リンク I で次のフレームを受け入れながら、最後のフレームをランダムリードすることを可能にします。

オペレータには2つの状態があります:

  1. 書き込み状態: リンク I のピクセルはバッファに線形に保存されます。つまり、ピクセルの座標がバッファ内のアドレスを形成します。

  2. 読み取り状態:入力 RColA および RRowA に指定されたアドレスを使用して、メモリから読み出しを行います。 アドレスの数とアドレスリンクの画像寸法によって、画像出力の幅と高さが定義されます。 たとえば、1つのピクセルのみで構成されるフレームがアドレス入力に入力された場合、 出力フレームも1つのピクセルのみで構成されます。入力フレームの他のピクセルは破棄されます。

画像データ入力とアドレス入力は互いに同期していません。 これらは異なる画像寸法を持っている場合があります。 両方のアドレス入力 RColA および RRowA は O 同期(O-synchronous)である必要があります。

入力リンクのタイミングにご注意ください。 バッファリングなしで、データリンク入力 I と同じオペレーターからアドレス入力にソースを供給してはなりません。 これは、画像データをオペレーターに書き込んでいる間は、現在のフレームを読み取るためのアドレスを受け入れることができないためです。 フレームが完全にバッファに保存された場合にのみ、アドレスを受け入れることができます。 多くの場合、オペレーター CreateBlankImage がアドレス用の画像を生成するために使用されます。

タイミングは次の図に示されています。

このオペレーターは、FPGA の内部ブロック RAM メモリを使用します。 したがって、RAM 型の VisualApplets フレームグラバーリソースは使用されません。 FPGA 内部のブロック RAMには制限があります。フル解像度のフレームが FPGA 内部のブロック RAM に収まらない場合があります。 代わりに FrameBufferRandomRead オペレーターの使用を検討してください。

Operator Restrictions

  • 空のフレームはサポートされていません。

  • ライン長が変動する画像はサポートされていません。

I/O Property

Property 値
オペレータータイプ M
入力リンク I、画像データ入力
RColA、I におけるピクセルの読み出し列アドレス
RRowA、I におけるピクセルの読み出し行アドレス
Output Link O、データ入力

同期および非同期入力

  • 同期グループ:RColAおよび RRowA
  • 入力 I はグループに対して非同期です。

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

Link Parameter Input Link I 入力リンク RColA 入力リンク RRowA Output Link O
Bit Width [1, 64]1 auto2 auto3 as I
Arithmetic {unsigned, signed} unsigned unsigned as I
Parallelism 1 as I as I as I
Kernel Columns any 1 1 as I
Kernel Rows any 1 1 as I
Img Protocol VALT_IMAGE2D as I as I as I
Color Format any VAF_GRAY VAF_GRAY as I
Color Flavor any FL_NONE FL_NONE as I
Max. Img Width any any RColA と同様 RColA と同様
Max. Img Height any any RColA と同様 RColA と同様

1

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

2

列アドレスの Bit Width は次のとおりです:

3

行アドレスの Bit Width は次のとおりです。

パラメーター

実装
タイプ static パラメータ
Default SingleBuffer
範囲 {SingleBuffer, DoubleBuffer}

このパラメータは、FrameMemoryRandomRd の実装を選択します(上記を参照)。

使用例

オペレーター FrameMemoryRandomRd の使用法を次の例に示します。