Video and Vision Processing Suite Intel® FPGA IP User Guide

ID 683329
Date 7/08/2024
Public
Document Table of Contents
1. About the Video and Vision Processing Suite 2. Getting Started with the Video and Vision Processing IPs 3. Video and Vision Processing IPs Functional Description 4. Video and Vision Processing IP Interfaces 5. Video and Vision Processing IP Registers 6. Video and Vision Processing IPs Software Programming Model 7. Protocol Converter Intel® FPGA IP 8. 1D LUT Intel® FPGA IP 9. 3D LUT Intel® FPGA IP 10. Adaptive Noise Reduction Intel® FPGA IP 11. Advanced Test Pattern Generator Intel® FPGA IP 12. AXI-Stream Broadcaster Intel® FPGA IP 13. Bits per Color Sample Adapter Intel FPGA IP 14. Black Level Correction Intel® FPGA IP 15. Black Level Statistics Intel® FPGA IP 16. Chroma Key Intel® FPGA IP 17. Chroma Resampler Intel® FPGA IP 18. Clipper Intel® FPGA IP 19. Clocked Video Input Intel® FPGA IP 20. Clocked Video to Full-Raster Converter Intel® FPGA IP 21. Clocked Video Output Intel® FPGA IP 22. Color Plane Manager Intel® FPGA IP 23. Color Space Converter Intel® FPGA IP 24. Defective Pixel Correction Intel® FPGA IP 25. Deinterlacer Intel® FPGA IP 26. Demosaic Intel® FPGA IP 27. FIR Filter Intel® FPGA IP 28. Frame Cleaner Intel® FPGA IP 29. Full-Raster to Clocked Video Converter Intel® FPGA IP 30. Full-Raster to Streaming Converter Intel® FPGA IP 31. Genlock Controller Intel® FPGA IP 32. Generic Crosspoint Intel® FPGA IP 33. Genlock Signal Router Intel® FPGA IP 34. Guard Bands Intel® FPGA IP 35. Histogram Statistics Intel® FPGA IP 36. Interlacer Intel® FPGA IP 37. Mixer Intel® FPGA IP 38. Pixels in Parallel Converter Intel® FPGA IP 39. Scaler Intel® FPGA IP 40. Stream Cleaner Intel® FPGA IP 41. Switch Intel® FPGA IP 42. Tone Mapping Operator Intel® FPGA IP 43. Test Pattern Generator Intel® FPGA IP 44. Unsharp Mask Intel® FPGA IP 45. Video and Vision Monitor Intel FPGA IP 46. Video Frame Buffer Intel® FPGA IP 47. Video Frame Reader Intel FPGA IP 48. Video Frame Writer Intel FPGA IP 49. Video Streaming FIFO Intel® FPGA IP 50. Video Timing Generator Intel® FPGA IP 51. Vignette Correction Intel® FPGA IP 52. Warp Intel® FPGA IP 53. White Balance Correction Intel® FPGA IP 54. White Balance Statistics Intel® FPGA IP 55. Design Security 56. Document Revision History for Video and Vision Processing Suite User Guide

11.4. Advanced Test Pattern Generator IP Registers

Each register is either read-only (RO) or read-write (RW). If Debug features is off, all RW registers are write-only (WO).
Table 77.  Advanced Test Pattern Generator IP General Registers
Address Register Access Description
Parameterization registers
0x0000 VID_PID RO

Read this register to retrieve the Advanced test pattern generator product ID.

This register always returns 0x6AF7_0252.

0x0004 VERSION RO Read this register to retrieve the version information for the Quartus release that Altera uses to build the IP.
0x0008 LITE_MODE RO Read this register to determine if lite mode is on. This register returns 0 for Full mode and 1 for Lite mode.
0x000C DEBUG_ENABLED RO

Read this register to determine if Debug features is on.

This register returns 1 if reads to other registers designated as RW return the last value you write to the register, or an undefined value.

0x0010 NUM_PATTERNS RO Read this register to determine the number of test pattern configurations
0x0014 BPS RO Read this register to determine the number of bits per color plane
0x0018 PIXELS_IN_PARALLEL RO Read this register to determine the number of pixels transmitted per clock cycle at the streaming output
0x001C COLOR_SPACE RO Read this register to determine the color space and chroma sampling. This register returns:
  • 0 for RGB
  • 1 for YCbCr 4:4:4
  • 2 for YCbCr 4:2:2
  • 3 for YCbCr 4:2:0
  • 4 for monochrome
0x00210 PATTERN_0_TYPE RO Read this register to determine the pattern type of test pattern configuration 0. This register returns:
  • 0 for the bars pattern
  • 1 for constant color
  • 2 for SDI pathological
  • 3 for zone plate
  • 4 for digital clock
0x0024 PATTERN_1_TYPE RO Read this register to determine the pattern type of test pattern configuration 1. This register returns:
  • 0 for the bars pattern
  • 1 for constant color
  • 2 for SDI pathological
  • 3 for zone plate
  • 4 for digital clock
0x002C PATTERN_2_TYPE RO Read this register to determine the pattern type of test pattern configuration 2. This register returns:
  • 0 for the bars pattern
  • 1 for constant color
  • 2 for SDI pathological
  • 3 for zone plate
  • 4 for digital clock
0x002C PATTERN_3_TYPE RO Read this register to determine the pattern type of test pattern configuration 3. This register returns:
  • 0 for the bars pattern
  • 1 for constant color
  • 2 for SDI pathological
  • 3 for zone plate
  • 4 for digital clock
0x0030 PATTERN_4_TYPE RO Read this register to determine the pattern type of test pattern configuration 4. This register returns:
  • 0 for the bars pattern
  • 1 for constant color
  • 2 for SDI pathological
  • 3 for zone plate
  • 4 for digital clock
0x0034 PATTERN_5_TYPE RO Read this register to determine the pattern type of test pattern configuration 5. This register returns:
  • 0 for the bars pattern
  • 1 for constant color
  • 2 for SDI pathological
  • 3 for zone plate
  • 4 for digital clock
0x0038 PATTERN_6_TYPE RO Read this register to determine the pattern type of test pattern configuration 6. This register returns:
  • 0 for the bars pattern
  • 1 for constant color
  • 2 for SDI pathological
  • 3 for zone plate
  • 4 for digital clock
0x003C PATTERN_7_TYPE RO Read this register to determine the pattern type of test pattern configuration 7. This register returns:
  • 0 for the bars pattern
  • 1 for constant color
  • 2 for SDI pathological
  • 3 for zone plate
  • 4 for digital clock
0x0040 to 0x013C unused
0x0140 STATUS RO

Bit 0: Status bit.

1 = advanced test pattern generator is processing a video field, 0 otherwise.

Bit 1 : Pending register updates bit

Lite mode is off only.

Any writes to registers excluding pattern X registers cause the IP to raise pending register updates bit, to indicate outstanding changes yet to be committed. Refer to register Pattern X Select for more information.

The IP lowers this bit at the next field boundary after a write to the COMMIT register.

0x0144 FIELD_COUNT RO Read this register to determine the output field count. The value in this register is reset each time the IP stops.
0x0148 CONTROL RW

Bit 0: Go bit.

Write 0 to this register to stop the test pattern generator at the end of the current frame. Write 1 to this register to start or restart output generation. This register initializes to 0 at start-up and no output fields are generated until after a write of 1 to this register.

Writes to this register apply immediately, without needing to further write to COMMIT.

0x014C COMMIT RW The IP holds any changes pending to registers (excluding those prefixed with PATTERN_X_) until you send a write to this register. The value you write is unimportant.
0x0150 FIELD_WIDTH RW

Write to this register to set the width of outgoing video fields. If the output chroma sampling is 4:2:2 or 4:2:0, the width should be a multiple of 2.

The width of the canvas that applies to pattern 0. If the widths and offsets of other patterns (set via LAYER_N registers) cause that pattern to go out of the canvas boundaries, the IP does not show that pattern.

0x0154 FIELD_HEIGHT RW

Use this register to set the height for outgoing video fields. If the output chroma subsampling is 4:2:0, the height should be a multiple of 2.

The height of the canvas that applies to pattern 0. If the height and offsets of other patterns (set via LAYER_N registers) cause that pattern to go out of the canvas boundaries, the IP does not shows that pattern.

0x0158 FIELD_INTERLACE RW

Use this register to set the interlace output behavior for the first outgoing field. The value you write corresponds to the interlace identifier nibble of outgoing image information packets in full mode.

Values 0 to 7 produce progressive outputs.

Values 8 to 1 cause the field sequence to restart with F0.

Values 12 to 15 cause the field sequence to restart with F1.

0x015C + (n-1) *0x14 LAYER_N_WIDTH RW

Use this register to set the width of layer or pattern n (excluding pattern 0).

23
0x0160 + (n-1) *0x14 LAYER_N_HEIGHT RW

Use this register to set the height of layer or pattern n (excluding pattern 0).

23
0x0164 + (n-1) *0x14 LAYER_N_ALPHA RW Use this register to set the alpha value of layer or pattern n (excluding pattern 0). .
0x0168 + (n-1) *0x14 LAYER_N_H_OFFSET RW

Use this register to set the horizontal offset of layer or pattern n (excluding pattern 0).

23
0x016C + (n-1) *0x14 LAYER_N_V_OFFSET RW

Use this register to set the vertical offset of layer/pattern n (excluding pattern 0).

23
0x01E8 PATTERN_X_SELECT RW

Write to this register with values 0 to 7 to apply all pattern X registers to the given pattern number.

Only the registers that apply to the selected pattern have an effect.

Pattern configuration registers

The following sets of registers have different semantics according to the different types of test patterns, and they may share addresses. When you write a pattern number “X” to PATTERN_X_SELECT, only the registers that correspond to the test pattern type of pattern X have an effect.

Ensure you write to all registers specific for a type of pattern before committing via PATTERN_X_SELECT; values from previous writes may persist in registers otherwise, leading to unwanted behavior.

Table 78.  Advanced Test Pattern Generator IP Bars Pattern Registers
Address Register Access Description 24
0x01EC PATTERN_X_BARS_SELECT WO

Write to this register to set the variant of the bars pattern to use. Write: .

  • 0 for color bars
  • 1 for greyscale bars
  • 2 for black and white bars
  • 3 for mixed bars
Table 79.   Advanced Test Pattern Generator IP Constant color pattern registers
Address Register Access Description 25
0x01EC PATTERN_X_CONST_C0

WO

Write to this register to set the value for color plane 0 (B or Cb) by the constant color test pattern.

0x01F0 PATTERN_X_CONST_C1 WO

Write to this register to set the value for color plane 1 (G or Y) by the constant color test pattern.

0x01F4 PATTERN_X_CONST_C2 WO

Write to this register to set the value for color plane 2 (R or Cr) by the constant color test pattern.

Table 80.   Advanced Test Pattern Generator IP Zone plate pattern registers
Address Register Access Description 26
0x01EC PATTERN_X_ZONE_X_ORIGIN

WO

Write to this register to set the X coordinate of the zone plate center (origin). For example, write 960 to horizontally set the centre of the zone plate to the middle of a 1920x1080 display.

0x01F0 PATTERN_X_ZONE_Y_ORIGIN

WO

Write to this register to set the Y coordinate of the zone plate center (origin). For example, write 540 to vertically set the centre of the zone plate to the middle of a 1920x1080 display.

0x01F4 PATTERN_X_ZONE_COARSE_FACTOR

WO

This value is a rough scale up or down of the zone plate. The bigger the value, the more zoomed in the zone plate is.

This value is arbitrary, but start with a value of 14 on 1920x1080, and 20 on a 4k display.

0x01F8 PATTERN_X_ZONE_FINE_FACTOR

WO

The value of this register acts as a fine tune scaling factor of the zone plate.

It is a 16-bit unsigned fixed-point number, with 8 bits fractional part.

The IP implements this value as a constant k in f(kx) (applied after ZONE_POWER_FACTOR). The bigger the value, the more zoomed out the zone plate is.

Table 81.  Advanced Test Pattern Generator IP Digital clock pattern registers
Address Register Access Description 27
0x01EC PATTERN_X_DIGITAL_CONFIGURATION

WO

Bit 0: write 1 to pause the digital clock, 0 to resume.

Bit 1: write 1 to reset the clock to 00:00:00,00; write 0 to resume.

0x01F0 PATTERN_X_DIGITAL_BACKGROUND_B

WO

Write to this register to set the value for color plane 0 (B or Cb), which is the background color for the digital clock pattern.

0x01F4 PATTERN_X_DIGITAL_BACKGROUND_G

WO

Write to this register to set the value for color plane 1 (G or Y), which is the background color for the digital clock pattern.

0x01F8 PATTERN_X_DIGITAL_BACKGROUND_R

WO

Write to this register to set the value for color plane 2 (B or Y), which is the background color for the digital clock pattern.

0x01FC PATTERN_X_DIGITAL_FONT_B

WO

Write to this register to set the value for color plane 0 (B or Cb), which is the font color for the digital clock pattern.

0x0200 PATTERN_X_DIGITAL_FONT_G

WO

Write to this register to set the value for color plane 1 (G or Y), which is the font color for the digital clock pattern.

0x0204 PATTERN_X_DIGITAL_FONT_R

WO

Write to this register to set the value for color plane 2 (B or Y) used as the font color for the digital clock pattern.

0x0208 PATTERN_X_DIGITAL_LOCATION_X WO

Write to this register to set the X coordinate of the top-left pixel of the digital clock test pattern.

0x020C PATTERN_X_DIGITAL_LOCATION_Y WO

Write to this register to set the Y coordinate of the top-left pixel of the digital clock test pattern.

0x0210 PATTERN_X_DIGITAL_SCALE_FACTOR WO

Write to this register to set the scaling factor of the digital clock. When 1, each character of the display is 8x8 pixels; in total 88x8 pixels.

0x0214 PATTERN_X_DIGITAL_FPS WO

Write to this register to set the FPS that the digital clock; uses. Determines how many frames before a second passes. Does not effect on actual video refresh rate.

Register Bit Description

Table 82.  VID_PID
Name Bits Description
Advanced test pattern generator version ID and product ID 31:0

This register always returns 0x6AF7_0252.

  • 15:0 is the product ID and always returns 0x0252
  • 31:16 is the vendor ID and always returns 0x6AF7
Table 83.  VERSION
Name Bits Description
Register map version 7:0 Register map version. Returns 0x01.
QPDS patch revision 15:8 This returns 0x00
QPDS update revision 23:16 Updated for each release. For 24.2 this returns 0x02.
QPDS major revision 31:24 Updated for each release. For 24.2 this returns 0x18.

Table 84.  LITE_MODE
Name Bits Description
Lite mode parameterization bit 31:0 Returns 1 if Lite mode is on and 0 otherwise
Table 85.  DEBUG_ENABLED
Name Bits Description
Lite mode parameterization bit 31:0 Returns 1 if Debug features is on and 0 otherwise
Table 86.   NUM_PATTERNS
Name Bits Description
Number of enabled patterns 31:0 Returns the number of enabled test patterns
Table 87.  BPS
Name Bits Description
Bits per color sample 31:0 Returns the number of bits per color sample
Table 88.  PIXELS_IN_PARALLEL
Name Bits Description
Lite mode parameterization bit 31:0 Returns the number of pixels processed per clock cycle
Table 89.  COLOR_SPACE
Name Bits Description
Color space and subsampling 31:0

Returns:

  • 0 for RGB
  • 1 for YCbCr 4:4:4
  • 2 for YCbCr 4:2:2
  • 3 for YCbCr 4:2:0
  • 4 for monochrome
Table 90.  PATTERN_X_TYPE
Name Bits Description
Pattern type for pattern number X 31:0

Returns the pattern type of pattern number X:

  • 0 for bars pattern
  • 1 for constant color pattern
  • 2 for SDI pathological pattern
  • 3 for zone plate pattern
  • 4 for digital clock pattern
Table 91.  STATUS
Name Bits Description
Processing video status bit 0 Returns 1 if the IP is currently processing a video field; 0 otherwise
Pending register updates bit 1 Returns 1 if the IP has pending updates to any writable registers excluding pattern configuration registers (prefixed with PATTERN_X_)
Unused 31:2 Unused
Table 92.  FIELD_COUNT
Name Bits Description
Field count 15:0 Returns the number of fields or frames the IP generates since it last started.
Unused 31:16 Unused
Table 93.  CONTROL
Name Bits Description
Go bit 0 Write 1 to start the IP. Write 0 to stop the IP as soon as it has finishes generating the current frame.
Unused 31:1 Unused
Table 94.  COMMIT
Name Bits Description
Unused 31:0 Unused. (The value you write value is unimportant).
Table 95.  FIELD_WIDTH
Name Bits Description
Field/frame width 16:0 Set the width (in pixels) of outgoing fields.
Unused 31:17 Unused.
Table 96.  FIELD_HEIGHT
Name Bits Description
Field/frame height 16:0 Set the height (in pixels) of outgoing fields.
Unused 31:17 Unused.
Table 97.  FIELD_INTERLACE
Name Bits Description
Field/frame width 3:0 Set the interlace configuration for outgoing fields.
Unused 31:4 Unused.
Table 98.  LAYER_N_WIDTH
Name Bits Description
Layer n field width 16:0 Field width for layer n. LAYER_N_WIDTH where n >= NUM_PATTERNS has no effect.
Unused 31:17 Unused
Table 99.  LAYER_N_HEIGHT
Name Bits Description
Layer n field height 16:0 Field height for layer n. LAYER_N_WIDTH where n >= NUM_PATTERNS has no effect.
Unused 31:17 Unused
Table 100.  LAYER_N_ALPHA
Name Bits Description
Layer n alpha (Bits per color sample – 1):0 Alpha value for layer n. LAYER_N_WIDTH where n >= NUM_PATTERNS has no effect.
Unused 31:(Bits per color sample) Unused
Table 101.  LAYER_N_H_OFFSET
Name Bits Description
Layer n horizontal offset 16:0 Horizontal offset for layer n. LAYER_N_WIDTH where n >= NUM_PATTERNS has no effect.
Unused 31:17 Unused
Table 102.  LAYER_N_V_OFFSET
Name Bits Description
Layer n vertical offset 16:0 Vertical offset for layer n. LAYER_N_WIDTH where n >= NUM_PATTERNS has no effect.
Unused 31:17 Unused
Table 103.   PATTERN_X_SELECT
Name Bits Description
Pattern number 2:0

Write the pattern number (0-7) you want to apply all PATTERN_X settings to.

Any write to PATTERN_X registers are pending until you write to this register.

Only the relevant registers to a given pattern applies, i.e. PATTERN_X_ZONE_FINE_FACTOR only applies to pattern numbers corresponding to a zone plate test pattern and ignored for all others.

Unused 31:3 Unused
Table 104.  PATTERN_X_CONST_C0/1/2
Name Bits Description
Color value (BPS – 1):0 Constant color value for color plane 0/1/2 for pattern number X.
Unused 31:BPS Unused
Table 105.  PATTERN_X_BARS_SELECT
Name Bits Description
Bars mode select 1:0 0 = color bars, 1 = greyscale bars, 2 = black and white bars, 3 = mixed bars for pattern number X.
Unused 31:2 Unused

Table 106.  PATTERN_X_ZONE_X/Y_ORIGIN
Name Bits Description
Origin X/Y 15:0 Sets x/y part of center coordinates of zone plate for pattern number X.
Unused 31:16 Unused
Table 107.  PATTERN_X_ZONE_COARSE_FACTOR
Name Bits Description
Coarse scaling factor 4:0 Arbitrary sizing factor (same as scaling factor above). Increase factor to increase zone plate size coarsely (downshifts k in f(kx) so increased size). This value applies to pattern number X.
Unused 31:5 Unused
Table 108.  PATTERN_X_ZONE_FINE_FACTOR
Name Bits Description
Fine tune scaling factor 15:0 Fixed point operand, with 8 bits fractional part. Increase factor to decrease zone plate size smoothly (increase k in f(kx) hence decreased size). This value applies to pattern number X.
Unused 31:16 Unused
Table 109.  PATTERN_X_DIGITAL_CONFIGURATION
Name Bits Description
Pause 0 Write 1 to pause the digital clock display at its currently displayed time for pattern number X. Write 0 to resume the digital clock display for pattern number X.
Soft reset 1

Write 1 to reset and hold the digital clock display at 00:00:00,00. Write 0 to resume the digital clock display for pattern number X.

This value takes precedence over pause, so even if pause is set to 0 the display remains locked until you write 0 to this register. Similarly, if the display is paused, writing 1 to this register resets it to 00:00:00,00.

Unused 31:2 Unused
Table 110.  PATTERN_X_DIGITAL_BACKGROUND_B/G/R
Name Bits Description
Background color value 15:0 Sets B/G/R or Cb/Y/Cr component of the background color of the digital clock for pattern number X.
Unused 31:16 Unused
Table 111.  PATTERN_X_DIGITAL_FONT_B/G/R
Name Bits Description
Font color value 15:0 Sets B/G/R or Cb/Y/Cr component of the font color of the digital clock for pattern number X.
Unused 31:16 Unused
Table 112.  PATTERN_X_DIGITAL_LOCATION_X/Y
Name Bits Description
Location X/Y 15:0 Sets the X/Y coordinate of the digital clock for Pattern number X
Unused 31:16 Unused
Table 113.  PATTERN_X_DIGITAL_SCALE_FACTOR
Name Bits Description
Scale factor 10:0 Sets the scaling multiplier of the digital clock display.
Unused 31:11 Unused
Table 114.  PATTERN_X_DIGITAL_FPS
Name Bits Description
Scale factor 5:0 Sets the FPS that determines after how many frames a second passes for the digital clock display.
Unused 31:16 Unused
23 If the dimensions and offsets of layer n cause pattern n to cross the canvas boundaries, the IP does not shows the pattern.
24 The IP ignores the value in this register for pattern X if it does not use the bars pattern.
25 The IP ignores the value in this register for pattern X if it does not use the constant color test pattern.
26 The IP ignores the value in this register for pattern X if it does not use the zone plate pattern.
27

The IP ignores the value in this register for pattern X if it does not use the digital clock pattern.