Visible to Intel only — GUID: hsa1716892387411
Ixiasoft
Visible to Intel only — GUID: hsa1716892387411
Ixiasoft
11.4. Advanced Test Pattern Generator IP 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:
|
0x00210 | PATTERN_0_TYPE | RO | Read this register to determine the pattern type of test pattern configuration 0. This register returns:
|
0x0024 | PATTERN_1_TYPE | RO | Read this register to determine the pattern type of test pattern configuration 1. This register returns:
|
0x002C | PATTERN_2_TYPE | RO | Read this register to determine the pattern type of test pattern configuration 2. This register returns:
|
0x002C | PATTERN_3_TYPE | RO | Read this register to determine the pattern type of test pattern configuration 3. This register returns:
|
0x0030 | PATTERN_4_TYPE | RO | Read this register to determine the pattern type of test pattern configuration 4. This register returns:
|
0x0034 | PATTERN_5_TYPE | RO | Read this register to determine the pattern type of test pattern configuration 5. This register returns:
|
0x0038 | PATTERN_6_TYPE | RO | Read this register to determine the pattern type of test pattern configuration 6. This register returns:
|
0x003C | PATTERN_7_TYPE | RO | Read this register to determine the pattern type of test pattern configuration 7. This register returns:
|
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). 24 |
0x0160 + (n-1) *0x14 | LAYER_N_HEIGHT | RW | Use this register to set the height of layer or pattern n (excluding pattern 0). 24 |
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). 24 |
0x016C + (n-1) *0x14 | LAYER_N_V_OFFSET | RW | Use this register to set the vertical offset of layer/pattern n (excluding pattern 0). 24 |
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.
Address | Register | Access | Description 25 |
---|---|---|---|
0x01EC | PATTERN_X_BARS_SELECT | WO | Write to this register to set the variant of the bars pattern to use. Write: .
|
Address | Register | Access | Description 26 |
---|---|---|---|
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. |
Address | Register | Access | Description 27 |
---|---|---|---|
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. |
Address | Register | Access | Description 28 |
---|---|---|---|
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
Name | Bits | Description |
Advanced test pattern generator version ID and product ID | 31:0 | This register always returns 0x6AF7_0252.
|
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. |
Name | Bits | Description |
Lite mode parameterization bit | 31:0 | Returns 1 if Lite mode is on and 0 otherwise |
Name | Bits | Description |
Lite mode parameterization bit | 31:0 | Returns 1 if Debug features is on and 0 otherwise |
Name | Bits | Description |
Number of enabled patterns | 31:0 | Returns the number of enabled test patterns |
Name | Bits | Description |
Bits per color sample | 31:0 | Returns the number of bits per color sample |
Name | Bits | Description |
Lite mode parameterization bit | 31:0 | Returns the number of pixels processed per clock cycle |
Name | Bits | Description |
Color space and subsampling | 31:0 | Returns:
|
Name | Bits | Description |
Pattern type for pattern number X | 31:0 | Returns the pattern type of pattern number X:
|
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 |
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 |
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 |
Name | Bits | Description |
Unused | 31:0 | Unused. (The value you write value is unimportant). |
Name | Bits | Description |
Field/frame width | 16:0 | Set the width (in pixels) of outgoing fields. |
Unused | 31:17 | Unused. |
Name | Bits | Description |
Field/frame height | 16:0 | Set the height (in pixels) of outgoing fields. |
Unused | 31:17 | Unused. |
Name | Bits | Description |
Field/frame width | 3:0 | Set the interlace configuration for outgoing fields. |
Unused | 31:4 | Unused. |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
Name | Bits | Description |
Scale factor | 10:0 | Sets the scaling multiplier of the digital clock display. |
Unused | 31:11 | Unused |
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 |
The IP ignores the value in this register for pattern X if it does not use the digital clock pattern.