Operator Library: Memory
このオペレーターを使用すると、FPGAベースのメモリ内で比較的少数のピクセルをバッファリングできます。 このオペレーターは、タイプが RAM の VisualApplets リソースを必要としません。 代わりに、オペレーターはFPGAの内部メモリを使用します。 これは、FPGA-internal block RAM、FPGA distributed RAM (LUT RAM)、または UltraRAM memory のいずれかになります(URAMは imaFlex CXP-12 Quad および imaFlex CXP-12 Penta プラットフォームでのみ使用可能です)。どちらを使用するかは、パラメータ ImplementationType で手動で設定するか、オペレーターの設定に応じて自動的に選択されます。
ImageFifo オペレーターは、同期の前にラインやピクセルをバッファリングするためによく使用されます。 FPGA内部メモリには制限があるため、利用可能なリソースを超えることなくフル解像度のフレームをバッファリングできる可能性は低いと言えます。
オペレーターのレイテンシについては、「表 46:Library Memory 内のオペレーターの個別のレイテンシ」を参照してください。
パラメータ EntitiesToStore および EntityType は、利用可能な最大バッファサイズを定義します。 このオペレーターは、先入れ先出しメモリ(FIFO)です。 入力されたデータはすぐに出力に転送されます。 ただし、後続のオペレーターが入力帯域幅を処理できないなどの理由で出力がブロックされている場合、オペレーターはデータを保存します。 したがって、メモリがデータを出力できない場合にのみ、メモリの Fill が行われます。
バッファの Fill レベルを測定するために、オペレーターにはパラメータ FillLevel が用意されています。 FillLevel は、Fifo の Fill レベルのパーセンテージを示します。
パラメータ InfiniteSource は、オペレーターがカメラに直接接続されているか、他のメモリオペレーターとシーケンス接続されているかを指定するために使用されます。 InfiniteSource が無効になっている場合、オペレーターがオーバーフロー状態になることはありません。 詳細については、'Infinite Sources / Connecting Cameras' を確認してください。
パラメータ ImplementationType を使用して、オペレーターが使用するハードウェアメモリを指定できます。
| EntitiesToStore | |
|---|---|
| タイプ | static パラメータ |
| Default | 1 |
| 範囲 | any |
|
このパラメータは、最大で何個のピクセル、ライン、またはフレームを保存する必要があるかを定義します。 エンティティタイプは、パラメータ EntityType を使用して定義されます。 |
|
| EntityType | |
|---|---|
| タイプ | static パラメータ |
| Default | FRAME |
| 範囲 | {FRAME, LINE, PIXEL} |
|
このパラメータは、保存するエンティティのタイプを定義します。 このパラメータは、EntitiesToStore 単位の EntityType をバッファリングできます。 FRAME は、入力リンク画像プロトコルが VALT_IMAGE2D である場合にのみ選択できます。 LINE はプロトコル VALT_LINE2D および VALT_LINE1D で選択でき、PIXEL は常に有効です。 |
|
| ImplementationType | |||||||
|---|---|---|---|---|---|---|---|
| タイプ | static write parameter | ||||||
| Default | AUTO | ||||||
| 範囲 | (AUTO、BRAM、LUTRAM、URAM) | ||||||
|
パラメータ ImplementationType は、オペレーターの実装戦略、つまりオペレーターの実装にどのメモリ要素が使用されるかに影響を与えます。 以下の値から選択できます: AUTO: 接続されたリンクのパラメータ化に基づいて、最適な実装戦略が自動的に選択されます。 BRAM: オペレーターは FPGA のブロック RAM を使用します。
LUTRAM: オペレーターは FPGA の LUT RAM を使用します。 URAM: オペレーターは FPGA の UltraRAM を使用します。
|
|||||||
| FillLevel | |
|---|---|
| タイプ | 動的リードパラメータ |
| Default | 0 |
| 範囲 | [0%, 100%] |
|
このパラメータは、バッファの Fill レベルを提供します。 オペレーターはFPGAリソースを効率的に使用します。構成によっては、バッファに100%を超えるデータを保存できる場合があります。 |
|
| InfiniteSource | |
|---|---|
| タイプ | static パラメータ |
| Default | ENABLED |
| 範囲 | {ENABLED, DISABLED} |
|
このパラメータは、Cameraオペレーターなどの無限ソースオペレーターのサポートを有効にします。 詳細については、'Infinite Sources / Connecting Cameras'を参照してください。 |
|
ImageFifo オペレーターの使用方法は、以下の例に示されています。
-
Synchronization - デッドロックの回避。
-
例 - ライン複製のために1ラインをバッファリングするためのオペレーターの使用
-
「Bayer Demosaicing Algorithm According to Laroche」
例 - Laroche Bayer Demosaicing フィルター
-
「Modified Laroche Bayer Demosaicing Algorithm 」
例 - リソース最適化された Laroche Bayer Demosaicing フィルター
-
カラープレーンのシーケンシャルDMA出力。 色分解はImageBufferMultiROIオペレータを使用して実行されます。 追加のプレソートにより、帯域幅とリソースが最適化されます。
-
例 - 画像寸法が測定され、デザインフローの分析に使用できます。
-
例 - ハードウェアにおける設計の内部データフロー制御のデバッグおよび潜在的な補正を目的としています。
-
例 - 画像ストリームを分割および統合する方法を示します。画像にトレーラーを追加します。
-
使用例 - Line Scan画像のScaling
-
「カメラ応答関数を使用した高ダイナミックレンジおよび低ダイナミックレンジの例」
例 - Debevec に準拠した高ダイナミックレンジ
-
「重み付き線形アンザッツを使用した高ダイナミックレンジおよび低ダイナミックレンジの例」
使用例 - リニアアンザッツによる High Dynamic Range
-
'A rolling average is applied on a dynamic number of images'
例 - Rolling Average - Loop


![[注]](../common/images/admon/note.png)
前へ

