Video and Vision Processing Suite Intel® FPGA IPユーザーガイド

ID 683329
日付 6/26/2023
Public
ドキュメント目次
1. Video and Vision Processing Suiteについて 2. Video and Vision Processing IPのスタートガイド 3. Video and Vision Processing IPの機能の説明 4. Video and Vision Processing IPインターフェイス 5. Video and Vision Processing IPレジスター 6. Video and Vision Processing IPのソフトウェア・プログラミング・モデル 7. Protocol Converter Intel® FPGA IP 8. 3D LUT Intel® FPGA IP 9. AXI-Stream Broadcaster Intel® FPGA IP 10. Bits per Color Sample Adapter Intel FPGA IP 11. Chroma Key Intel® FPGA IP 12. Chroma Resampler Intel® FPGA IP 13. Clipper Intel® FPGA IP 14. Clocked Video Input Intel® FPGA IP 15. Clocked Video to Full-Raster Converter Intel® FPGA IP 16. Clocked Video Output Intel® FPGA IP 17. Color Space Converter Intel® FPGA IP 18. Deinterlacer Intel® FPGA IP 19. FIR Filter Intel® FPGA IP 20. Frame Cleaner Intel® FPGA IP 21. Full-Raster to Clocked Video Converter Intel® FPGA IP 22. Full-Raster to Streaming Converter Intel® FPGA IP 23. Genlock Controller Intel® FPGA IP 24. Generic Crosspoint Intel® FPGA IP 25. Genlock Signal Router Intel® FPGA IP 26. Guard Bands Intel® FPGA IP 27. Interlacer Intel® FPGA IP 28. Mixer Intel® FPGA IP 29. Parallel Converter Intel® FPGA IPのピクセル 30. Scaler Intel® FPGA IP 31. Stream Cleaner Intel® FPGA IP 32. Switch Intel® FPGA IP 33. Tone Mapping Operator Intel® FPGA IP 34. Test Pattern Generator Intel® FPGA IP 35. Video and Vision Monitor Intel FPGA IP 36. Video Frame Buffer Intel® FPGA IP 37. Video Frame Reader Intel FPGA IP 38. Video Frame Writer Intel FPGA IP 39. Video Streaming FIFO Intel® FPGA IP 40. Video Timing Generator Intel® FPGA IP 41. Warp Intel® FPGA IP 42. デザイン・セキュリティー 43. Video and Vision Processing Suiteユーザーガイドの文書改訂履歴

41.4. Warp IPレジスター

ソフトウェアAPIを使用するとWarp IPをプログラムおよび制御できるため、レジスターのセットは限られています。
表 841.  Warp IPレジスターこれらのレジスターはすべて読み出し専用で、Warp IPのパラメーター設定をクエリーできるようにします。すべてのレジスターは32ビット幅です。
レジスター名 オフセットアドレス アクセスタイプ 説明
vid_pid 0x000 RO Warp IPの製品およびベンダーID
version_number 0x004 RO Warp IPの今回のリリースのバージョン
Reserved 0x008 -  
Reserved 0x00C -  
pip 0x010 RO 並列パラメーターのピクセルの値を示します。
color_planes 0x014 RO カラープレーン・パラメーターの数の値を示します。
cps 0x018 RO カラー例パラメーターの数の値を示します。
num_engines 0x01C RO エンジンン・パラメーターの数の値を示します。
max_input_width 0x020 RO 最大入力ビデオ幅パラメーターの値を示します。
max_output_width 0x024 RO 最大出力ビデオ幅パラメーターの値を示します。
memory_buffer_size 0x028 RO メモリー・フレーム・バッファーサイズ・パラメーターの値を示します。
easy_warp 0x02C RO Use easy warpパラメーターの数の値を示します。
single_memory_bounce 0x030 RO Use single memory bounceパラメーターの数の値を示します。
cache_blocks 0x034 RO Cache blocks per engineパラメーターの数の値を示します。
Reserved 0x030-0x16C RO -
int_control 0x170 RW 割り込みをオンにします。
int_status 0x174 RW1C 割り込みステータスを読み出して、割り込みをクリアします。
表 842.   vid_pid レジスター
ビット 名前 説明
31:16 VID 0x6AF7の値を返すベンダーID
15:0 PID 0x016Fの値を返すWarp製品ID
表 843.   version_number レジスター
ビット 名前 説明
31:0 Version Number Warp IPのバージョン番号
表 844.   Pip レジスター
ビット 名前 説明
31:0 Pixels in Parallel 並列パラメーターのピクセル。1または2の値を返します。
表 845.   color_planes レジスター
ビット 名前 説明
31:0 Number of Color Planes カラープレーンの数のパラメーター。値3 を返します。
表 846.   bps レジスター
ビット 名前 説明
31:0 Bits per Color Sample カラーサンプルあたりのビット数のパラメーター。値10を返します。
表 847.   num_engines レジスター
ビット 名前 説明
31:0 Number of Engines エンジンの数パラメーター。1または2の値を返します。
表 848.   max_input_width レジスター
ビット 名前 説明
31:0 Maximum input video width 最大入力ビデオ幅パラメーター。2048または3840の値を返します。
表 849.   max_output_width レジスター
ビット 名前 説明
31:0 Maximum output video width 最大出力ビデオ幅パラメーター。2048または3840の値を返します。
表 850.   memory_buffer_size レジスター
ビット 名前 説明
31:0 Memory frame buffer size

メモリー・フレーム・バッファーサイズ・パラメーター。0、1、または2の値を返します。

0 = SD、1 = HD、2 = UHDです。

表 851.   Easy_warp レジスター
ビット 名前 説明
31:0 Use easy warp Use easy warpパラメーター。0または1の値を返します。
表 852.   single memory bounce レジスター
ビット 名前 説明
31:0 Single memory Bounce Use single memory bounceパラメーター。0または1の値を返します。
表 853.   cache blocks per engine レジスター
ビット 名前 説明
31:0 Cache blocks Cache blocks per engineパラメーター。256、512、または1024の値を返します。
表 854.   int_control レジスター
ビット 名前 説明
0 Interrupt Enable このビットを1に設定すると割り込みがイネーブルになります。0に設定すると割り込みがディスエーブルになります。
表 855.   int_status レジスター
ビット 名前 説明
0 Interrupt Status

このビットを読み出すと、割り込みのステータスが返されます。

このビットに1を書き込むと割り込みがクリアされます。割り込みは一度発生すると、このビットに1を書き込むことでクリアされるまで設定されたままになります。

デバッグおよび測定レジスター

Warp IPのコンフィグレーション設定でEnable Debug Registersをオンにすると、さまざまなデバッグおよび測定値を提供する一連の読み出し専用レジスターが使用可能になります。レジスターは、システムの起動およびデバッグ中に役立つ情報を提供し、ソフトウェアAPIを使用してアクセスします。

使用可能な測定値は、次のとおりです。

  • 入力セクション
    • INPUT_FRAME_COUNT
    • INPUT_FRAME_PERIOD
  • 出力セクション
    • OUTPUT_FRAME_COUNT
    • OUTPUT_FRAME_PERIOD
  • エンジンセクション
    • ENGINE_FRAME_COUNT
    • ENGINE_FRAME_PERIOD
    • ENGINE_BUSY_CYCLES
    • ENGINE_FRAME_DELAY
    • ENGINE_FAILED_TO_COMPLETE_FRAME
    • ENGINE_RUN_STATUS
    • ENGINE_CACHE_LOADS
  • 一般セクション
    • MEM_WR_QUEUES0
    • MEM_WR_QUEUES1
    • MEM_RD_QUEUES0
    • MEM_RD_QUEUES1
表 856.  レジスター
名前 説明
入力セクション

IPは、intel_vvp_warp_get_input_debug_register () APIを使用して、Warp IPの入力セクションに関連するデバッグレジスターを読み出します。

INPUT_FRAME_COUNT

Warp IPの入力で開始されたフレームの数のカウント。カウントされた最後のフレームは不完全な場合があります。

このカウンターは、Warp IPの入力におけるビデオ・アクティビティーを示します。このカウントを定期的にサンプリングすると、フレームレートが示されます。静的なカウントは、Warp IPへのアップストリーム・パイプラインがビデオデータを生成していないことを示します。

INPUT_FRAME_PERIOD

入力で確認されたフレームの最後の2つの開始の間で確認された axi4s_vid_in_0_clock サイクルの数。

このカウンターを使用して、その値を入力クロック周波数と比較することでフレームレートを示します。このレジスターの値が大きく変化する場合は、Warp IPのアップストリームの処理パイプラインが不安定であることを示します。

出力セクション

Warp IPの出力セクションに関連するデバッグレジスターは、intel_vvp_warp_get_output_debug_register () API呼び出しを使用して読み出されます。

OUTPUT_FRAME_COUNT

出力で開始されたフレームの数のカウント。カウントされた最後のフレームは不完全である可能性があります。

このカウンターは、Warp IPの出力でのビデオ・アクティビティーを示します。このカウントを定期的にサンプリングすると、フレームレートが示され、静的カウントは、Warp IPからのダウンストリーム・パイプラインがブロックされていて、ビデオデータを受け入れていないことを示します。

OUTPUT_FRAME_PERIOD

出力で確認されるフレームの最後の2つの開始の間で確認される axi4s_vid_out_0 サイクルの数。

このカウンターは、その値を出力クロック周波数と比較することでフレームレートを示すことができます。このレジスターの値が大きく変化する場合は、Warp IPのダウンストリームの処理パイプラインが不安定であることを示します。

エンジンセクション

Warp IPのエンジンセクションに関連するデバッグレジスターは、intel_vvp_warp_get_engine_debug_register () API呼び出しを使用して読み出されます。

ENGINE_FRAME_COUNT

参照されているエンジンによって処理が開始されたフレームの数。カウントされた最後のフレームの処理が進行中である可能性があります。

このカウンターは、Warp IP内のビデオ・アクティビティーを示すのに役立ちます。Warp IPが設定され、エンジンが正しく処理するようにコンフィグレーションされていることを示します。

ENGINE_FRAME_PERIOD

エンジンで確認されたフレームの最後の2つの開始の間で確認された core_clock サイクルの数。

このカウンターは、予想されるフレームレートを考慮して core_clock が正しく設定されていることを確認するのに役立ちます。これは、エンジンのビジー度を示す ENGINE_BUSY_CYCLES 値と比較する場合にも役立ちます。

ENGINE_BUSY CYCLES

最後のフレーム中にエンジンがビデオデータをアクティブに処理する core_clock サイクルの数。カウンターは、フレームの処理が始まると開始され、IPがフレームを完了するか、次のフレームの開始に遭遇するまで継続します。後者の場合、エンジンが時間内にフレームの処理を完了できません。ENGINE_FAILED_TO_COMPLETE_FRAME ステータス・インジケーターを参照してください。

ENGINE_FRAME_PERIOD と比較すると、 ENGINE_BUSY_CYCLES の値は、フレームの処理中にエンジンがどの程度ビジーであるかを示します。

ENGINE_FRAME_DELAY

最後の入力フレームの開始からエンジンの処理フェーズの開始までの core_clock サイクル数。

Lowレイテンシー動作にこのカウンターを使用して、Lowレイテンシー設定をプログラミングするときに十分な遅延があるかどうかを判断します。また、正しいLowレイテンシー動作の要件である入力および出力フレームの同期も示します。LowレイテンシーIPが正しく動作するには、この遅延が安定している必要があります。IPが安定した値を示さない場合、遅延は時間の経過とともに変化しており、入力と出力のフレーム同期が正しく動作していない可能性があることを示しています。

ENGINE_FAILED_TO_COMPLETE_FRAME

エンジンが要求されたフレーム期間内にフレームの処理を完了できなかったことを示すスティッキーフラグ。フラグはクエリーされるたびにクリアされます。

IPは、エンジンがビデオフレームを必要に応じて処理する時間が十分になく、画像が破損したことを示すためにこれを設定します。最も可能性の高い理由は、エンジンで使用できるメモリー帯域幅が不十分なことです。メモリー帯域幅が不十分な場合、読み出しデータが返されるのを待っている間に処理が停止するか、書き込みデータが送信されるのをブロックされて待機している間に処理が停止します。

ENGINE_RUN_STATUS

この値は、Use single memory bounceがオンの場合にのみ関係します。

値の下位16ビットは、前のフレームの処理中にIPが到達する最低のバッファリング・レベルを示します。バッファリング・レベルは、現在のキャッシュアクセスの書き込み位置と読み出し位置の差です。この値が0の場合、フレームの処理中にエンジンが停止したことを示します。Use single memory bounceがオンになっている場合、このストールにより出力ビデオが不安定になる可能性があります。

値の上位16ビットは、IPが最も低いバッファリング・レベルに達する出力ラインです。これらは、変換のどの時点でこの出力ラインが発生するかを示します。

ENGINE_CACHE_LOADS IPが前のフレームを処理中に生成するキャッシュロードの数。各キャッシュロードは16x8ピクセルブロック (合計128ピクセル) を読み出します。キャッシュ読み出しの合計数は、現在のワープ変換がメモリーに与えているメモリー帯域幅のロードを示します。

一般セクション

Warp IPの一般セクションに関連するデバッグレジスターは、intel_vvp_warp_get debug_register () API呼び出しを使用して読み出されます。

MEM_WR_QUEUES0

Warp IPのメモリー・コントローラーを介した各書き込みアクセスに対して同時にキューに入れられる内部リクエストの数を示します。IPは、各キュー深度の値を、このレジスターへの読み出しによって返される32ビット・データワードのバイトとして格納します。IPには、コンフィグレーション (個別のキュー値 (書き込みアクセス)) に応じて多数のキューがあります。

MEM_RD_QUEUES0とMEM_RD_QUEUES1

Warp IPのメモリー・コントローラーを介した各読み出しアクセスに対して同時にキューに入れられる内部リクエストの数を示します。IPには、読み出しキューの深度にアクセスするための2つの32ビット・レジスターがあります。個々のキュー深度の値は、これらのレジスターのいずれかへの読み出しによって返される32ビット・データワードのニブルとして格納されます。IPには、コンフィグレーション (個別のキュー値 (読み出しアクセス)) に応じて多数のキューがあります。

表 857.  個別のキュー値 (書き込みアクセス)

表には、各コンフィグレーションの個別のキュー値が表示されています。各書き込みキューの最大深度値は48です。キュー深度値を定期的にサンプリングして、この最大値に近いか、この最大値であることが判明した場合、キューがフルになってスループットがブロックされているため、IPから外部メモリーへの書き込み帯域幅が制限されていることを示します。

キュー Use Easy WarpまたはUse Single Memory Bounceがオン 単一エンジン 二重エンジン
Video Input MEM_WR_QUEUES0[7:0] MEM_WR_QUEUES0[7:0] MEM_WR_QUEUES0[7:0]
Engine 0 Write 該当なし MEM_WR_QUEUES0[15:8] MEM_WR_QUEUES0[15:8]
Engine 1 Write 該当なし 該当なし MEM_WR_QUEUES0[23:16]
表 858.  個別のキュー値 (読み出しアクセス)この表には、各コンフィグレーションの個別のキューの値が示されています。

各読み出しキューの深度の最大値は12です。キューの深度の値を定期的にサンプリングした結果、この最大値に近いか最大値に達していることが判明した場合は、キューがフルになってスループットがブロックされているため、IPから外部メモリーへの読み出し帯域幅が制限されていることを示します。

キュー Easy Warp 単一エンジン 二重エンジン
Video Output MEM_RD_QUEUES0[3:0] MEM_RD_QUEUES0[3:0] MEM_RD_QUEUES0[3:0]
Engine 0 Video 該当なし MEM_RD_QUEUES0[7:4] MEM_RD_QUEUES0[7:4]
Engine 0 Coeff0 該当なし MEM_RD_QUEUES0[11:8] MEM_RD_QUEUES0[11:8]
Engine 0 Coeff1 該当なし MEM_RD_QUEUES0[15:12] MEM_RD_QUEUES0[15:12]
Engine 0 Coeff2 該当なし MEM_RD_QUEUES0[19:16] MEM_RD_QUEUES0[19:16]
Engine 1 Video 該当なし 該当なし MEM_RD_QUEUES0[23:20]
Engine 1 Coeff0 該当なし 該当なし MEM_RD_QUEUES0[27:24]
Engine 1 Coeff1 該当なし 該当なし MEM_RD_QUEUES0[31:28]
Engine 1 Coeff2 該当なし 該当なし MEM_RD_QUEUES1[3:0]