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ユーザーガイドの文書改訂履歴

38.4. Video Frame Writer IPレジスター

各レジスターは、読み出し専用 (RO) または読み書き (RW) のいずれかです。
表 723.   Video Frame Writer IPレジスター

ソフトウェアAPIでは、レジスター名はINTEL_VVPINTEL_VVP_CORE、または INTEL_VVP_VIDEO FRAME WRITER のプリフィクスと、オプションの REG サフィックスで表示されます。

アドレス レジスター アクセス 説明
Parameterizationレジスター
0x0000 VID_PID RO Video Frame Writerの製品IDについては、このレジスターを読み出します。このレジスターは常に 0x6AF7_0249 を返します。
0x0004 VERSION RO Video Frame Writerのビルドにインテルが使用するインテルQuartusリリースのバージョン情報については、このレジスターを読み出します。
0x0008 LITE_MODE RO

このレジスターを読んで、Lite modeがオンかオフかを判断します。

このレジスターは、Lite modeがオフの場合は0を返し、オンの場合は1を返します。

0x000C DEBUG_ENABLED RO このレジスターを読み出して、Debug featuresがオンになっているかどうかを判断します。
0x0010 MAX_HEIGHT RO このレジスターを読み出して、サポートされている最大フレームの高さを決定します。
0x0014 MAX_WIDTH RO このレジスターを読み出して、サポートされている最大フレーム幅を決定します。
0x0018 BITS_PER_SYMBOL RO このレジスターを読み出して、コンフィグレーションされているシンボルあたりのビット数を確認します。
0x001C NUMBER_OF_COLOR_PLANES RO このレジスターを読み出して、カラープレーンの数を確認します。
0x0020 PIXELS_IN_PARALLEL RO このレジスターを読み出して、並行ピクセル数を確認します。
0x0024 PACKING RO ピクセル・パッキング・スキームについては、このレジスターを読み出します。
0x0028から 0x00FF RESERVED
Interruptレジスター
0x0100 IRQ_CONTROL RW IRQ制御。このレジスターを設定して割り込みをコンフィグレーションします。
0x0104 IRQ_STATUS RW

このステータスレジスターを読み出して、割り込みが発生したかどうかを確認します。

0x0108から

0x011F

RESERVED

Control and Debugレジスター

0x0120 IMG_INFO_WIDTH RW / RO 画像情報の幅
0x0124 IMG_INFO_HEIGHT RW / RO 画像情報の高さ
0x0128 IMG_INFO_INTERLACE RO

画像情報のインターレース

0x012C RESERVED RW / RO 予約済み
0x0130 IMG_INFO_COLORSPACE RW / RO 画像情報のカラースペース
0x0134 IMG_INFO_SUBSAMPLING RW / RO 画像情報のサブサンプリング
0x0138 IMG_INFO_COSITING RW / RO 画像情報のコサイティング
0x013C IMG_INFO_FIELD_COUNT RW / RO フィールドカウントの画像情報
0x0140 STATUS RO ステータスレジスター
0x0144 BUFFER_AVAILABLE RO バッファーが使用可能
0x0148 BUFFER_WRITE_COUNT RO バッファー書き込みカウント

このレジスターは、COMMITレジスターへの書き込み後にリセットされます。

0x014C BUFFER_START_ADDRESS RO

IPが最後に書き込んだバッファーの開始アドレス

0x0150 BUFFER_F1_FLAG RO

バッファーF1フラグ

0x0154 BUFFER_FIELD_WIDTH RO バッファーフィールド幅
0x0158 BUFFER_FIELD_HEIGHT RO バッファーフィールドの高さ
0x015C RESERVED
0x0160 FIELD_COUNT RO 最後に書き込まれたバッファーのフィールド終了パケットの値
0x0164 COMMIT RW

COMMIT レジスターに任意の値を書き込み、新しいRWレジスター値をコミットし、新しい設定への更新を要求します。

0x0168 BUFFER_ACKNOWLEDGE RW

BUFFER_ACKNOWLEDGE レジスターに書き込み、BUFFER_AVAILABLE レジスターをリセットします。

BUFFER_ACKNOWLEDGE は、RWレジスターの更新後に COMMIT に書き込む必要がある唯一の例外です。

0x016C RUN RW

必要な動作モードを設定します。

0 - フレームライターが実行されていない (停止状態)

1 - フレームライターがフリーランニング

2 - フレームライターが実行されていない (停止状態)

3 - フレームライターがシングルショット・モード

このレジスターへの変更は必ずCOMMITレジスターへの書き込みに続いて行われ、次のフィールドの開始時に有効になります。

0x0170 NUM_BUFFERS RW

バッファーの数。

このレジスターへの変更は、その後COMMITレジスターへの書き込みを行う必要があり、フィールドの次の開始時に有効になります。

0x0174 BUFFER_BASE RW

バッファーのベースアドレス。

このレジスターへの変更は、その後COMMITレジスターへの書き込みを行う必要があり、フィールドの次の開始時に有効になります。

0x0178 INTER_BUFFER_OFFSET RW

バッファー間アドレスのインクリメント。

このレジスターへの変更は、その後COMMITレジスターへの書き込みを行う必要があり、フィールドの次の開始時に有効になります。

0x017C INTER_LINE_OFFSET RW

行間アドレスのインクリメント。

このレジスターへの変更は、その後COMMITレジスターへの書き込みを行う必要があり、フィールドの次の開始時に有効になります。

0x01800x0193 RESERVED
0x0194

IRQ_LINE_THRESHOLD

RW

IRQラインしきい値

0x0198 OVERWRITE_BROKEN RW 壊れたフィールドを上書きするように設定します。

レジスタービットの説明

表 724.  VID_PID
名前 ビット 説明
Frame writer version ID and product ID 31:0

このレジスターは、常に 0x6AF7_0249 を返します。

  • 15:0は製品IDであり、常に0x0249を返します。
  • 31:16はベンダーIDであり、常に0x6AF7を返します。
表 725.  VERSION
名前 ビット 説明
Register map version 7:0 レジスターマップ・バージョン。0x01を返します。
QPDS patch revision 15:8 0x00を返します。
QPDS update revision 23:16 リリースごとに更新されます。23.2の場合、0x02を返します。
QPDS major revision 31:24 リリースごとに更新されます。23.2の場合、0x17を返します。
表 726.  LITE_MODE
名前 ビット 説明
Lite mode parameterization bit 0 lite modeをオンにすると、1を返します。
Unused 31:1 未使用
表 727.  DEBUG_ENABLED
名前 ビット 説明
Debug features parameterization bit 0 Debug featuresをオンにすると、1を返します。
Unused 31:1 未使用
表 728.  MAX_HEIGHT
名前 ビット 説明
Max height 31:0 サポートされている最大のフレームの高さを返します。
表 729.  MAX_WIDTH
名前 ビット 説明
Max width 31:0 サポートされている最大のフレームの幅を返します。
表 730.  BITS_PER_SYMBOL
名前 ビット 説明
Bits per symbol 31:0 インテル・ストリーミング・ビデオ出力がコンフィグレーションされているシンボルあたりのビット数を返します。
表 731.  NUMBER_OF_COLOR_PLANES
名前 ビット 説明
Number of color planes 31:0 インテル・ストリーミング・ビデオ出力がコンフィグレーションされているカラープレーンの数を返します。
表 732.  PIXELS_IN_PARALLEL
名前 ビット 説明
Number of pixels in parallel 31:0 このレジスターは、インテル・ストリーミング・ビデオ出力がコンフィグレーションされている並列ピクセル数を返します。
表 733.  PACKING
名前 ビット 説明
Packing 31:0

このレジスターは、IPが使用するパッキングスキームを返します。

0 = 完全なパッキング

1 = カラーパッキング

2 = ピクセルのパッキング

表 734.  IRQ_CONTROL
名前 ビット 説明
Field_write_irq 0

IRQ_CONTROL レジスターの field_write_irq ビットを設定して、フィールド書き込み完了時の割り込みをイネーブルします。クリアすると、フィールド書き込み完了時の割り込みがディスエーブルになります。

Line_write_irq 1

IRQ_CONTROL レジスターの line_write_irq ビットを設定して、ライン書き込み完了時の割り込みをイネーブルします。line_write_irq ビットをクリアして、ライン書き込み完了時の割り込みをディスエーブルします。

IRQ_LINE_THRESHOLD に必要な行番号をプログラムすることで、どの行が割り込みを生成するかを選択します。行番号は0から始まります。

表 735.  IRQ_STATUS
名前 ビット 説明
Field_write_irq 0

割り込みが発生すると、IPは IRQ_STATUS レジスターの field_write_irq ビットを設定します。

IRQ_STATUS レジスターの field_write_irq ビットに書き込み、割り込みをクリアします。

line_write_irq 1 割り込みが発生すると、IPは IRQ_STATUS レジスターの line_write_irq ビットを設定します。IRQ_STATUS レジスターの line_write_irq ビットに書き込み、割り込みをクリアします。
表 736.  IMG_INFO_WIDTH
名前 ビット 説明
width 16:0

ライターIPがメモリーに書き込むときに使用するフィールド幅。

Lite modeがオンの場合、このレジスターはRWになります。受信フィールドの予想される幅をピクセル単位で書き込みます。

Lite modeモードがオフでデバッグ機能がオンの場合、このレジスターはROであり、画像情報パケットを介して受信したフィールド幅が含まれます。

IPは、IMG_INFO_WIDTH より広い受信フィールドから余分なピクセルを削除します。IPは、バッファー内の以前のフィールドのピクセルを変更しないまま、より狭いフィールドを書き込みます。

このレジスターに変更を加えた後は、COMMITレジスターに書き込みます。これは次のフィールドの開始時に有効になります。

表 737.  IMG_INFO_HEIGHT
名前 ビット 説明
height 16:0

ライターがメモリーに書き込むときに使用するフィールドの高さ。

Lite modeがオンの場合、このレジスターはRWになります。受信フィールドの行に予想される高さを書き込みます。

Lite modeがオフでデバッグ機能がオンの場合、このレジスターはROであり、画像情報パケットを介して受信したフィールドの高さが含まれます。

IPは、受信したフィールドから IMG_INFO_HEIGHT を超える余分な行を削除します。

フィールドが短い場合は、バッファー内の以前のフィールドのピクセルが変更されないままになります。

このレジスターに変更を加えた後は、COMMITレジスターに書き込みます。これは次のフィールドの開始時に有効になります。

表 738.  IMG_INFO_INTERLACE
名前 ビット 説明
interlace 3:0

Lite modeがオンの場合、IPはフレームライターによるプログレッシブ・フレームと同じ方法でインターレース・フィールドを格納するため、このニブルを設定する必要はありません。

Lite modeがオフでデバッグ機能がオンの場合、このレジスターはROであり、画像情報パケットを介して受信したインターレース・ニブルが含まれます。

表 739.  IMG_INFO_COLORSPACE
名前 ビット 説明
colspace 6:0

Lite modeがオンの場合は未使用。

Lite modeがオフでデバッグ機能がオンの場合、このレジスターはROであり、画像情報パケットを介して受信したカラースペースが含まれます。

表 740.  IMG_INFO_SUBSAMPLING
名前 ビット 説明
subsampling 1:0

Lite modeがオンの場合は未使用。

Lite modeがオフでデバッグ機能がオンの場合、このレジスターはROであり、画像情報パケットを介して受信したサブサンプリングが含まれます。

表 741.  IMG_INFO_COSITING
名前 ビット 説明
co-siting 1:0

Lite modeがオンの場合は未使用。

Lite modeがオフでデバッグ機能がオンの場合、このレジスターはROであり、画像情報パケットを介して受信したコサイティングが含まれます。

表 742.  IMG_INFO_FIELD_COUNT
名前 ビット 説明
field_count 5:0

Lite modeがオンの場合は未使用。

Lite modeがオフでデバッグ機能がオンの場合、このレジスターはROであり、画像情報パケットを介して受信した field_count が含まれます。

表 743.  STATUS
名前 ビット 説明
Status 0 このレジスターを読み出して、フレームライターのステータスを確認します。書き込みが現在フレームを書き込んでいる場合、IPはステータス ビットを設定し、フレーム間で0に戻ります。
Pending run-time control 1 このレジスターを読み出して、IPにコミットすべきペンディング中のレジスター書き込みがあるかどうかを判断します。このビットは、コントロール・レジスターの1つに書き込みが行われるとHighになり、COMMIT レジスターへの書き込み後の現在のフレームの終わりにLowに戻ります。フレームライターがアイドル状態の場合、このビットは COMMIT レジスターへの書き込み直後にLowになります。
表 744.  BUFFER_AVAILABLE
名前 ビット 説明
Buffer available 0

フィールドを書き込んだ後、IPはこのビットを設定し、BUFFER_START_ADDRESSBUFFER_FIELD_WIDTH、BUFFER_FIELD_HEIGHT、およびBUFFER_F1_FLAG レジスターを設定します。

BUFFER_ACKNOWLEDGE レジスターに書き込むことによって、BUFFER_AVAILABLE ビットをクリアします。BUFFER_AVAILABLE がクリアされるまで、IPは BUFFER_START_ADDRESSBUFFER_FIELD_WIDTH、BUFFER_FIELD_HEIGHT、およびBUFFER_F1_FLAG レジスターを更新しません。

安定したビデオ入力の場合、ソフトウェアは1フィールドの期間 (通常は約5から20ミリ秒) でバッファーを読み出し、バッファー情報が失われる前に BUFFER_AVAILABLE をクリアします。

表 745.  BUFFER_WRITE_COUNT
名前 ビット 説明
Write count 31:0

IPが書き込むバッファーごとにインクリメントし、COMMIT レジスターへの書き込みでリセットします。

OVERWRITE_BROKEN レジスターを設定すると、IPが書き込むフィールドに対してこのカウンターは増加せず、その後上書きされます。

表 746.  BUFFER_START_ADDRESS
名前 ビット 説明
Start address 31:0

最後に書き込まれたバッファーの開始アドレスを提供します。

IPは、BUFFER_BASE で指定したアドレスに最初のバッファーを書き込みます。

表 747.  BUFFER_F1_FLAG
名前 ビット 説明
F1 flag 0

Lite modeがオンの場合、このビットは最後に書き込まれたバッファーの TUSER[1] の状態を提供します。IPは、インターレースF1フィールドに書き込むときにこのビットを設定します。

Lite modeがオフの場合、IPはこれを画像情報パケットの IntlaceNibble ビット3と2のバイナリーANDに設定します。

表 748.  BUFFER_FIELD_WIDTH
名前 ビット 説明
Field width 31:0

Lite modeがオンの場合、IPは IMG_INFO_WIDTH の現在の値を返します。

Lite modeがオフの場合、IPはこれらのビットを画像情報パケットの幅に設定します。

表 749.  BUFFER_FIELD_HEIGHT
名前 ビット 説明
Field height 31:0

Lite modeがオンの場合、IPは IMG_INFO_HEIGHT の現在の値を返します。

Lite modeがオフの場合、IPはこれらのビットを画像情報パケットの高さに設定します。

表 750.  FIELD_COUNT
名前 ビット 説明
Field count 15:0

Lite modeがオンの場合、0を返します。

Lite modeがオフの場合、IPは最後に書き込まれたバッファーのフィールドパケットの終わりから値を取得します。

表 751.  COMMIT
名前 ビット 説明
Commit 0

COMMIT レジスターに任意の値を書き込み、新しいRWレジスター値をコミットし、新しい設定への更新を要求します。

フレームバッファーは、次のフィールドの開始時に新しいRWレジスター設定に更新されます。

現在の設定を書き込むと、IPは新しい設定に従って動作を開始します。この時点で、IPはステータスレジスターのpending_rtcビットを下げます。

BUFFER_ACKNOWLEDGE レジスターは、その後に書き込みを行ってコミットする必要がない唯一のレジスターです。

表 752.  BUFFER_ACKNOWLEDGE
名前 ビット 説明
Acknowledge 0

Acknowledgeビットに書き込み、BUFFER_AVAILABLE レジスターをリセットします。

BUFFER_ACKNOWLEDGE レジスターへの書き込みをイネーブルするために、COMMIT レジスターへの書き込みを行う必要はありません。

表 753.  RUN
名前 ビット 説明
Run 0

実行ビットを設定して、IP書き込みフィールドを開始します。

現在のフィールドの終わりでIP書き込みを停止するには、実行ビットをクリアします。

Single shot 1

シングルショット・ビットを設定してシングルショット・モードを設定します。フレームライターは、NUM_BUFFERS バッファーに達するまでバッファーを書き込み、その後消費モードに切り替えます。最初のフィールドの書き込みが完了した後、IPは BUFFER_AVAILABLE レジスターを設定します。別のシングルショット書き込みを実行するには、BUFFER_ACKNOWLEDGE に書き込んで、BUFFER_AVAILABLE をクリアします。

このビットがクリアされている場合、IPは連続フリーランニング・モードで動作し、NUM_BUFFERS バッファーに達した後、再び BUFFER_BASE から開始して書き込みが続行されます。

このモードは、NUM_BUFFERS を1または小さい値に設定して使用します。

このレジスターに変更を加えた後、COMMITレジスターに書き込みます。これは次のフィールドの開始時に有効になります。

表 754.  NUM_BUFFERS
名前 ビット 説明
Num_buffers 23:0

バッファーの数。すべてのバッファーがいっぱいになると、フレームライターはラップアラウンドして書き込みを開始します。BUFFER_BASE シングルショット・ビットを設定しない限り、RUN レジスターが設定されています。

このレジスターに変更を加えた後、COMMITレジスターに書き込みます。これは次のフィールドの開始時に有効になります。

表 755.  BUFFER_BASE
名前 ビット 説明
Buffer_base 31:0 フレーム書き込みは、RUN レジスターへの書き込みをコミットするたびに、buffer_base アドレスにリセットされます。

このレジスターに変更を加えた後、COMMITレジスターに書き込みます。これは次のフィールドの開始時に有効になります。

表 756.  INTER_BUFFER_OFFSET
名前 ビット 説明
Inter-buffer offset 31:0

バッファー間アドレスのインクリメント。メモリー内でフィールドが互いに上書きされないようにするには、バッファー間の間隔がメモリー内の個々のフィールドのサイズよりも大きくなるように設定する必要があります。

バッファー間オフセットはワードでアライメントされている必要があります。

このレジスターに変更を加えた後は、COMMITレジスターに書き込みます。これは次のフィールドの開始時に有効になります。

表 757.  INTER_LINE_OFFSET
名前 ビット 説明
Inter-line offset 31:0

行間アドレスのインクリメント。

通常は、次のワードアドレスの下位バイトに設定され、

ピクセルあたりのバイト数 * IMAGE_WIDTHを上回ります。

メモリー内で行が互いに上書きされないようにするには、メモリー内の行の幅以上になるようにこのビットを設定する必要があります。

行間オフセットはワード位置にアライメントする必要があります。

このレジスターに変更を加えた後は、COMMITレジスターに書き込みます。これは次のフィールドの開始時に有効になります。

表 758.  IRQ_LINE_THRESHOLD
名前 ビット 説明
IRQ line threshold 31:0 IPがフィールドに行番号 IRQ_LINE_THRESHOLD を書き込むたびに割り込みを発生させるには、IPの IRQ_CONTROL のビット1の設定と組み合わせて、IRQラインしきい値を設定します。
表 759.  OVERWRITE_BROKEN
名前 ビット 説明
overwrite_broken 0 overwrite_brokenビットを設定すると、IPは、EOFで壊れたビットが設定されている位置、または高さが予想される高さと一致しない受信フィールドを上書きします。またIPは、そのフィールドの BUFFER_AVAILABLE ビットおよびその他のバッファー情報レジスターを設定しません。