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

37.4. Video Frame Reader IPのレジスター

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

メインレジスター設定

表 683.  Video Frame Reader IPのレジスター

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

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

このレジスターを読み出して、Lite modeモードがオンかオフかを判断します。

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

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

0x002C~ 0x00FF

予約済み
Interruptレジスター
0x0100 IRQ_CONTROL RW

フィールド読み出しの完了時に割り込みをイネーブルするには、ビット0を1に設定します。

0x0104 IRQ_STATUS RW

ステータスレジスターを読み出して、割り込みが発生したかどうかを確認します。発生した場合、IPはビット0を設定します。割り込みをクリアするには、ビット0に1を書き込みます。

0x0107 から 0x013F

予約済み
Control and Debugレジスター
0x0140 STATUS RO

ビット0: ステータスビット

1はVideo Frame Readerがビデオフィールドを出力していることを意味し、それ以外の場合は0を示します。

ビット1: ペンディング中のRTC制御ビット。コントロール・レジスターの1つに書き込みが発生するとHighになります。IPが COMMIT レジスターに書き込みを行うと、現在のフレームの終了時にLowになります。

0x0144 LAST_BUFFER_READ RO IPが最後に生成したフレームのベースアドレスを返します。リセット以降IPがバッファーを読み出していない場合、このレジスターは0xFFFF_FFFFを返します。
0x0147-0x018F 予約済み
0x0190 COMMIT RW コミットレジスター
0x0194 NUM_BUFFER_SETS RW

フレームリーダーにコンフィグレーションするバッファーセットの数を指示します。

0x0198 BUFFER_MODE RW バッファーモード
0x019C STARTING_BUFFER_SET RW バッファーセットを開始します。
0x01A0 RUN RW

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

0 = フレームリーダーが実行されていない (停止状態)

1 = フレームリーダーがフリーランニング・モード

2 = フレーム リーダーがフレーム同期モード。このモードでは、リーダーはフレーム同期を受信すると出力を開始し、フィールドが出力されると停止します。

3 = フレームリーダーがシングルショット・モード。このモードでは、BUFFER_N_NUM_BUFFERS によって読み出すバッファーの数が決まります。IPが現在のセット (または BUFFER_MODE が1に設定されている場合はすべてのセット) からすべてのバッファーを読み出した後、出力が停止します。別のシングル ショット読み出しを実行するには、COMMIT レジスターに書き込みます。

0x01A4 FSYNC_PULSE_MODE RW フレーム同期パルスモード

バッファーセットのレジスターバンク

メインレジスターのセットに加えて、IPにはコンフィグレーションされたバッファーセットごとに1つのレジスターバンクがあります。バッファーセットのレジスターバンクを各セットの関連詳細でプログラムします。IPでは、バッファーセット番号 (0から MAX_BUFFER_SETS までの整数) に従って、各レジスターバンクのベースアドレスを16進数で計算します。

例えば、バッファーセット0のレジスターは、0x01B0 + 0 = 0x01B0にあります。

例えば、バッファーセット1レジスターは、0x01B0 + 1x 0x40 = 0x01F0にあります。

例えば、バッファーセット3レジスターは、0x01B0 + 3x 0x40 = 0x0270にあります。

表 684.  バッファーセットのレジスターバンク
アドレス レジスター アクセス 説明
0x01B0 + N*0x40 BUFFER_N_BASE RW バッファーのベースアドレス
0x01B4 + N*0x40 BUFFER_N_NUM_BUFFERS RW このバッファーセット内のバッファーの数。一般的なダブルバッファリング・アプリケーションでは、多くの場合1に設定されます。
0x01B8 + N*0x40 BUFFER_N_INTER_BUFFER_OFFSET RW

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

BUFFER_N_NUM_BUFFERS が1に設定されている場合、このレジスターは使用されません。

0x01BC + N*0x40 BUFFER_N_INTER_LINE_OFFSET RW 行間アドレスのインクリメント
0x01C0 + N*0x40 BUFFER_N_WIDTH RW Lite modeがオフの場合、送信される画像情報パケット用
0x01C4 + N*0x40 BUFFER_N_HEIGHT RW Lite modeがオフの場合に送信される画像情報パケット用。BASEアドレスから読み出す行数を決定します。
0X01C8 + N*0x40 BUFFER_N_INTERLACE RW Lite modeがオフの場合、送信される画像情報パケット用。BUFFER_0_PACKED_INTERLACE がゼロでない限り、TUSER[1] を設定します。
0x01CC + N*0x40 BUFFER_N_COLORSPACE RW Lite modeがオフの場合、送信される画像情報パケット用
0x01D0 + N*0x40 BUFFER_N_SUBSAMPLING RW Lite modeがオフの場合、送信される画像情報パケット用
0x01D4 + N*0x40 BUFFER_N_COSITING RW Lite modeがオフの場合、送信される画像情報パケット用
0x01D8 + N*0x40 BUFFER_N_BPS RW Lite modeがオフの場合、送信される画像情報パケット用
0x01DC + N*0x40 BUFFER_N_FIELD_COUNT RW Lite modeがオフの場合、送信される画像情報 (下位7ビット) およびフィールドカウント量のEOFパケット用。

レジスタービットの説明

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

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

  • 15:0は製品IDであり、常に0x024Aを返します。
  • 31:16はベンダーIDであり、常に0x6AF7を返します。
表 686.  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を返します。
表 687.  LITE_MODE
名前 ビット 説明
Lite mode parameterization bit 0 lite modeをオンにすると、1を返します。
Unused 31:1 未使用
表 688.  DEBUG_ENABLED
名前 ビット 説明
Debug features parameterization bit 0 Debug featuresをオンにすると、1を返します。
Unused 31:1 未使用
表 689.  MAX_BUFFER_SETS
名前 ビット 説明
Max buffer sets 5:0 このレジスターは、サポートされているバッファーセットの最大数を返します。
表 690.  MAX_WIDTH
名前 ビット 説明
Max width 31:0 このレジスターは、サポートされている最大フレーム幅を返します。
表 691.  MAX_HEIGHT
名前 ビット 説明
Max height 31:0 このレジスターは、サポートされている最大フレームの高さを返します。
表 692.  BITS_PER_SYMBOL
名前 ビット 説明
Bits per symbol 31:0 このレジスターは、インテル・ストリーミング・ビデオ出力がコンフィグレーションされているシンボルあたりのビット数を返します。
表 693.  NUMBER_OF_COLOR_PLANES
名前 ビット 説明
Number of color planes 31:0 このレジスターは、インテル・ストリーミング・ビデオ出力がコンフィグレーションされているカラープレーンの数を返します。
表 694.  PIXELS_IN_PARALLEL
名前 ビット 説明
Number of pixels in parallel 31:0 このレジスターは、インテル・ストリーミング・ビデオ出力がコンフィグレーションされている並列ピクセル数を返します。
表 695.  PACKING
名前 ビット 説明
Packing 31:0

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

  • 0 = 完全なパッキング
  • 1 = カラーパッキング
  • 2 = ピクセルのパッキング
表 696.  IRQ_CONTROL
名前 ビット 説明
Field_read_irq 0

IRQ_CONTROL レジスターの field_read_irq ビットを設定すると、フィールド読み出しの完了時に割り込みがイネーブルになります。

クリアすると、フィールド読み出しの完了時に割り込みがディスエーブルになります。

表 697.  IRQ_STATUS
名前 ビット 説明
Field_read_irq 0

割り込みが発生した場合、IRQ_CONTROL レジスターの field_read_irq ビットが設定されます。

割り込みをクリアするには、IRQ_CONTROL レジスターの field_read_irq ビットに書き込みます。

表 698.  STATUS
名前 ビット 説明
Status 0 このレジスターを読み出して、フレームリーダーのステータスを確認します。リーダーが現在フレームを出力している場合はステータスビットが設定され、フレーム間で0に戻ります。
Pending run-time control 1 このレジスターを読み出して、まだコミットされていないペンディング中のレジスター書き込みが存在するかどうかを判断します。このビットは、コントロール・レジスターの1つに書き込みが発生するとHighになり、COMMIT レジスターに書き込みが行われると現在のフレームの最後にLowに戻ります。フレームリーダーがアイドル状態の場合、このビットは COMMIT レジスターへの書き込み直後にLowになります。
表 699.  LAST_BUFFER_READ
名前 ビット 説明
Last buffer read 31:0 このレジスターを読み出して、最新の出力バッファーのベースアドレスを決定します。リセット後、バッファーが表示されない場合、このレジスターは 0xFFFF_FFFF を返します。
表 700.  COMMIT
名前 ビット 説明
Commit 0 現在のレジスター設定をコミットするには、このレジスターに書き込みます。IPは、現在のフレームを生成するときに、新しい設定に従って動作を開始します。
表 701.  NUM_BUFFER_SETS
名前 ビット 説明
Number of buffer sets 31:0

このレジスターを必要なバッファーセットの数に設定します。

IPは、各バッファーセット内のバッファーから順番に読み出します。

一般的なメモリーマップド・グラフィックス・ダブルバッファー・アプリケーションでは、それぞれ1つのバッファーを含む2つのバッファーセットを設定する場合があります。ソフトウェアは、STARTING_BUFFER_SET レジスターを使用して、API制御下でバッファー間をティックトックします。

有効な値は、1からGUIで設定したバッファーセットの最大数までです。領域を節約するために、GUIで設定したバッファーセットの最大数によって、IPが使用できるバッファーセットの数が制限されます。これは、各セットに独自のレジスターバンクが必要になるためです。このレジスターを MAX_BUFFER_STRUCTURES より大きい値に設定すると、IPは1つのバッファーセットのみをコンフィグレーションします。

このレジスターは、IPがアクティブに使用するバッファーセットの数です。GUIで設定したバッファーセットの最大数と混同しないでください。

表 702.  BUFFER_MODE
名前 ビット 説明
Buffer mode 1

必要な動作に応じて、このレジスターを設定します。

0 = STARTING_BUFFER_SET 内のバッファーのみを読み出します。

1 = STARTING_BUFFER_SET から順にすべてのバッファーセットを読み出します。

表 703.  STARTING_BUFFER_SET
名前 ビット 説明
Starting buffer set 31:0 このレジスターを0から NUM_BUFFER_SETS までの値に設定して、開始バッファーセットを識別します。

このレジスターは、読み出し元のバッファーセットを示すように設定します。例えば、BUFFER_3_BASE, のバッファーセットから最初のバッファーを読み出すには、このレジスターを3に設定します。

新しいセットから読み出しを開始すると、セットの最初のバッファーが最初に出力されます。

セットから最後に読み出されて出力されたバッファーを特定するには、LAST_BUFFER_READ(0x0144) を読み出します。

読み出しは、COMMIT レジスターを使用して STARTING_BUFFER_SET からこのレジスターに従って新しいバッファーセットから開始されます。

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

IPを開始するには、このビットを設定します。

このビットをクリアし、MSBをクリアしてIPを停止します。

Run MSB 1

LSBが設定され、このビットがクリアされている場合、IPは連続 (フリーランニング) モードで動作します。

LSBが設定されている場合は、このビットを設定してIPをシングルショット・モードでコンフィグレーションします。このモードでは、BUFFER_N_NUM_BUFFERS によって、現在のセットNから読み出されるバッファーの数が決まります。IPが現在のセットからすべてのバッファーを読み出した後 (BUFFER_MODE が1に設定されている場合)、出力は停止します。別のシングルショット読み出しを実行するには、COMMIT レジスターに書き込みます。

LSBがクリアされている場合は、このビットをクリアして、現在のフレーム読み出しの終了時にIPを停止します。

LSB がクリアされている場合は、このビットを設定してフレーム同期モードをコンフィグレーションします。このモードでは、リーダーはフレーム同期ごとに1つのフレームを生成します。

表 705.  FSYNC_PULSE_MODE
名前 ビット 説明
FSYNC pulse mode 0

設定されている場合、フレーム同期モードで動作しているときに、フレーム同期コンジットの立ち上がりエッジによってフレームの読み出しがトリガーされます。

クリアされている場合、フレーム同期モードで動作しているときに、フレームの読み出しはフレーム同期コンジットの立ち上がりエッジまたは立ち下がりエッジによってトリガーされます (トグルモード)。

表 706.  BUFFER_N_BASE
名前 ビット 説明
buffer set N base address 31:0 これをバッファーセットNのベースアドレスに設定します。
表 707.  BUFFER_N_NUM_BUFFERS
名前 ビット 説明
buffer set N number of buffers 31:0 これをセットNのバッファー数に設定します。
表 708.  BUFFER_N_INTER_BUFFER_OFFSET
名前 ビット 説明
buffer set N inter-buffer offset 31:0

これをセットNのバッファー間アドレスのインクリメントに設定します。

通常、これは1行あたりのバイト数 * BUFFER_N_HEIGHT と等しいかそれより大きくなります。

表 709.  BUFFER_N_INTER_LINE_OFFSET
名前 ビット 説明
buffer set N inter-line offset 31:0

これをセットNの行間アドレスのインクリメントに設定します。

通常はピクセルあたりのバイト数 * BUFFER_N_WIDTH です。

表 710.  BUFFER_N_WIDTH
名前 ビット 説明
buffer set N buffer width 16:0 これをセットNのバッファーの幅 (ピクセル単位) に設定します。lite modeがオフの場合、IPは送信される画像情報パケットにもそれを使用します。
表 711.  BUFFER_N_HEIGHT
名前 ビット 説明
buffer set N buffer height 16:0 これをセットNのバッファーの高さ (ピクセル単位) に設定します。lite modeがオフの場合、IPは送信される画像情報パケットにもそれを使用します。
表 712.  BUFFER_N_INTERLACE
名前 ビット 説明
buffer set N interlace nibble 3:0 Lite modeがオフの場合は送信される画像情報パケット用。Lite modeがオンの場合は TUSER[1] を設定します。
表 713.  BUFFER_N_COLORSPACE
名前 ビット 説明
buffer set N buffer colorspace 6:0 Lite modeがオフの場合、送信される画像情報パケット用。Lite modeがオンの場合は使用されません。
表 714.  BUFFER_N_SUBSAMPLING
名前 ビット 説明
buffer set N buffer subsampling 1:0 Lite modeがオフの場合、送信されるイメージ情報パケット用。Lite modeがオンの場合は使用されません。
表 715.  BUFFER_N_COSITING
名前 ビット 説明
buffer set N buffer cositing 1:0 Lite modeがオフの場合、送信される画像情報パケット用。Lite modeがオンの場合は使用されません。
表 716.  BUFFER_N_BPS
名前 ビット 説明
buffer set N buffer BPS 4:0 Lite modeがオフの場合、送信される画像情報パケット用。Lite modeがオンの場合は使用されません。
表 717.  BUFFER_N_FIELD_COUNT
名前 ビット 説明
buffer set N starting field count 15:0 Lite modeがオフの場合、送信される画像情報とEOFパケットの開始フィールドカウント。画像情報とEOFフィールドのカウントはフレーム出力ごとに増加し、COMMIT への書き込み後にこの値にリセットされます。Lite modeがオンの場合は使用されません。