停止不能な画像ソースの設計

カメラセンサーからのデータのように、入力される画像データストリームを停止できない場合は、入力バッファのオーバーフローを防ぐために特別な注意が必要です。以下の影響を考慮してください:

  • M型オペレータは処理を遅くする可能性があります(例:PARALLELdn)。

  • SYNCを使用して異なるデータストリームを同期させると、ウェイトサイクルが発生する場合があります。

  • FIRkernelNxMなどの一部のカーネルベースのオペレータでは、行の終了後に新しいデータを受け入れるまでに余分なクロックサイクルが必要となり、フレームの終了後にはさらに多くのクロックサイクルが必要になります。

一般的に、デザインが入力データレートに対処できるかどうかを監視するために、次のような回路を入力データパスに組み込むことをお勧めします:

入力データレートを監視するための回路

図 204. 入力データレートを監視するための回路


階層ボックス Control は次のように設計されています:

Control 階層ボックス

図 205. Control 階層ボックス


この回路は、FIFO StartFifo の入力と出力の間にあるバッファリングされたデータワード数を測定します。FIFO StartFifo は、停止不可能なデータストリームを受け入れるように構成されています(パラメータ InfiniteSource = ENABLED)。1行または数行をその FIFO に格納できるようにバッファサイズを定義すると便利です。

動作中または動作後に、オペレータ MaxPixelInFifo の読み取りパラメータを確認します。後続の画像処理パイプラインが入力 data rate に対処できる場合は、数行のデータワードをバッファリングするためだけに FIFO が必要であることを示す小さい数値が表示されるはずです。

デザインが入力データレートで動作しないことが判明した場合は、次のオプションがあります:

  • デザインのスループットを向上させます。特に Parallelism を高めることで対応します。

  • 処理する必要のあるデータ量を減らします。たとえば、センサーからのデータを一部破棄して縮小された画像サイズで処理することができます。

  • RAM ベースの画像バッファオペレータを使用して、入力データレートと処理レートを切り離します。