18.4. Scaler IP Registers
Address | Register | Access | Description | |
---|---|---|---|---|
Parameterization registers | ||||
0x0000 | VID_PID | RO | Read this register to retrieve scaler product ID.
This register always returns 0x6FA7_0234.
|
|
0x0004 | VERSION | RO | Read this register to retrieve the version information for the Intel Quartus release that Intel uses to build the scaler.
|
|
0x0008 | LITE_MODE | RO | Read this register to determine if lite mode is on or off. This register returns 0 when you turn off lite and 1 when you turn on lite. | |
0x000C | DEBUG_ENABLED | RO | Read this register to determine if debug features is on or off. This register returns 1 if reads to other registers designated as RW return the last value the IP writes to the register, or an undefined value. | |
0x0010 | PIXELS_IN_PARALLEL | RO | Read this register to determine the number of pixels processed per clock cycle. | |
0x0014 | MAX_INPUT_WIDTH | RO | Read this register to determine the maximum supported input field width. | |
0x0018 | MAX_OUTPUT_WIDTH | RO | Read this register to determine the maximum supported output field width. | |
0x001C | ALGORITHM | RO | Read this register to determine which algorithm the scaler is configured to use. Returns 0 for nearest neighbour, 1 for bilinear and 2 for polyphase. | |
0x0020 | COEFFS_RUNTIME_LOAD | RO | Read this register to determine if updates to the coefficients at runtime via the Avalon memory-mapped agent interface are supported. Returns 1 if updates are supported and 0 otherwise. | |
0x0024 | COEFF_MEM_INIT | RO | Read this register to determine if the scaler is configured with pre-initialised coefficients at reset. Returns 1 if the coefficients are preinitialised and 0 otherwise. | |
0x0028 | V_SCALING_ENABLED | RO | Read this register to determine if the scaler is configured to support vertical scaling. Returns 1 if vertical scaling is supported and 0 otherwise. | |
0x002C | V_NUM_TAPS | RO | Read this register to determine the number of vertical scaling filter taps. | |
0x0030 | V_NUM_PHASES | RO | Read this register to determine the number of vertical scaling filter phases. | |
0x0034 | V_NUM_BANKS | RO | Read this register to determine the number of vertical scaling filter coefficient banks. | |
0x0038 | V_COEFFS_SIGNED | RO | Read this register to determine if the vertical scaling filter uses signed coefficients. Returns 1 is the coefficients are signed and 0 otherwise. | |
0x003C | V_COEFFS_INT_BITS | RO | Read this register to determine the number of integer bits used to represent the vertical scaling filter coefficients. | |
0x0040 | V_COEFFS_FRAC_BITS | RO | Read this register to determine the number of fraction bits that represent the vertical scaling filter coefficients. | |
0x0044 | H_SCALING_ENABLED | RO | Read this register to determine if the scaler supports horizontal scaling. Returns 1 if horizontal scaling is supported and 0 otherwise. | |
0x0048 | H_NUM_TAPS | RO | Read this register to determine the number of horizontal scaling filter taps. | |
0x004C | H_NUM_PHASES | RO | Read this register to determine the number of horizontal scaling filter phases. | |
0x0050 | H_NUM_BANKS | RO | Read this register to determine the number of horizontal scaling filter coefficient banks. | |
0x0054 | H_COEFFS_SIGNED | RO | Read this register to determine if the horizontal scaling filter uses signed coefficients. Returns 1 is the coefficients are signed and 0 otherwise. | |
0x0058 | H_COEFFS_INT_BITS | RO | Read this register to determine the number of integer bits to represent the horizontal scaling filter coefficients. | |
0x005C | H_COEFFS_FRAC_BITS | RO | Read this register to determine the number of fraction bits to represent the horizontal scaling filter coefficients. | |
0x0060 to 0x011F | - | - | Unused. |
Address | Register | Access | Description | |
---|---|---|---|---|
Lite 45 | Full | |||
0x0120 | IMG_INFO_WIDTH | RW | RO | When you turn on lite, use this register to set the expected width of incoming video fields. When you turn off lite and turn on Debug features, this register returns the width that the scaler derives from information in the image information packet. |
0x0124 | IMG_INFO_HEIGHT | RW | RO | When you turn on lite, use this register to set the expected height of incoming video fields. When you turn off lite and turn on Debug features, this register returns the height that the scaler derives from information in the image information packet. |
0x0128 | IMG_INFO_INTERLACE | - | RO | When you turn off lite and turn on Debug features, this register returns the interlace nibble that the scaler derives from information in the image information packet. Unused in lite mode. |
0x012C | Reserved | - | - | Reserved |
0x0130 | IMG_INFO_COLORSPACE | - | RO | When you turn off lite and turn on Debug features, this register returns the color space that the scaler derives from information in the image information packet. Unused in lite mode. |
0x0134 | IMG_INFO_SUBSAMPLING | - | RO | When you turn off lite and turn on Debug features, this register returns the subsampling that the scaler derives from information in the image information packet. Unused in lite mode. |
0x0138 | IMG_INFO_COSITING | - | RO | When you turn off lite and turn on Debug features, this register returns the cositing that the scaler derives from information in the image information packet. Unused in lite mode. |
0x013C | IMG_INFO_FIELD_COUNT | - | RO | When you turn off lite and turn on Debug features, this register returns the field count that the scaler derives from information in the image information packet. Unused in lite mode. |
0x012C to 0x013C | - | - | - | Unused. |
0x0140 | STATUS | RO | Bit 0 : Status bit. 1 means scaler is processing a video field, 0 otherwise. When you turn off lite: Bit 1 : Pending register updates bit. Any writes to the settings register (0x0148 - 0x0154) cause the IP to raise pending register updates bit, to indicate outstanding changes to the clipping settings. The IP lowers this bit at the next field boundary after a write to the COMMIT register. |
|
0x0144 | COMMIT | RW | Only use when you turn off lite. The IP holds any changes to the scaling settings (not coefficients) via the register map until you issue a write to this register. The value you write is unimportant. | |
0x0148 | OUTPUT_WIDTH | RW | Write to this register to set the output field width. Unused if horizontal scaling is not enabled | |
0x014C | OUTPUT_HEIGHT | RW | Write to this register to set the output field height. Unused if vertical scaling is not enabled | |
0x0150 | H_BANK | RW | Write to this register to set the read bank for the horizontal scaling filter coefficients. | |
0x0154 | V_BANK | RW | Write to this register to set the read bank for the vertical scaling filter coefficients | |
0x0158 to 0x01FC | - | - | Unused. | |
0x0200 | RT_COEFF_LOAD_BANK_SELECT | WO | Write to this register to set the index of the scaling filter coefficient bank that is being updated | |
0x0204 | RT_COEFF_LOAD_PHASE_SELECT | WO | Write to this register to set the index of the scaling filter phase that you are updating | |
0x0208 | RT_COEFF_LOAD_COMMIT | WO | Write 1 to this register to commit the coefficient information in the RT_COEFF_LOAD_TAP_X registers to the horizontal scaling filter coefficient bank and phase specified in RT_COEFF_LOAD_BANK_SELECT and RT_COEFF_LOAD_PHASE_SELECT respectively. Write 0 to this register to commit the coefficient information in the RT_COEFF_LOAD_TAP_X registers to the vertical scaling filter coefficient bank and phase specified in RT_COEFF_LOAD_BANK_SELECT and RT_COEFF_LOAD_PHASE_SELECT respectively. | |
0x020C-0x0308 | RT_COEFF_LOAD_TAP_0 - RT_COEFF_LOAD_TAP_63 | WO | Up to 64 registers to set the new coefficient values for a vertical or horizontal scaling filter phase. If the vertical scaling filter has N taps, only the first N registers need to update before writing to the RT_COEFF_LOAD_COMMIT register. If the horizontal scaling filter has M taps, only the first M registers need to update before writing to the RT_COEFF_LOAD_COMMIT register. |
Register Bit Descriptions
Name | Bits | Description |
Scaler version ID and product ID | 31:0 | This register always returns 0x0000_0234.
|
Name | Bits | Description |
Lite mode parameterization bit | 7:0 | Register map version. This returns 0x01. |
QPDS patch revision | 15:8 | Returns 0x00 . |
QPDS update revision | 23:16 | Updated for each release. For 214, returns 0x04 . |
QPDS major revision | 31:24 | Updated for each release. For 21.4, returns 0x15. |
Name | Bits | Description |
Lite mode parameterization bit | 31:0 | Returns 1 if lite mode is on and 0 otherwise. |
Name | Bits | Description |
Debug features parameterization bit | 31:0 | Returns 1 if debug features is on and 0 otherwise. |
Name | Bits | Description |
Pixels in parallel | 31:0 | Number of pixels processed per clock cycle. |
Name | Bits | Description |
Maximum input width | 31:0 | Maximum supported input field width. |
Name | Bits | Description |
Maximum output width | 31:0 | Maximum supported output field width. |
Name | Bits | Description |
Algorithm | 31:0 | Returns 0 for nearest neighbour, 1 for bilinear and 2 for polyphase. |
Name | Bits | Description |
Runtime load | 31:0 | Returns 1 if Runtime coefficient updates is on and 0 otherwise. Only valid for polyphase. |
Name | Bits | Description |
Coefficient memory initialised | 31:0 | Returns 1 if the scaling filter coefficient memory is preinitialised at reset and 0 otherwise. Only valid for polyphase. |
Name | Bits | Description |
Vertical scaling enabled | 31:0 | Returns 1 if Enable vertical scaling is on and 0 otherwise |
Name | Bits | Description |
Vertical scaling filter taps | 31:0 | Returns the number of vertical scaling filter taps. |
Name | Bits | Description |
Vertical scaling filter phases | 31:0 | Returns the number of vertical scaling filter phases. Only valid for polyphase. |
Name | Bits | Description |
Vertical scaling filter coefficient banks | 31:0 | Returns the number of vertical scaling filter coefficient banks. Only valid if polyphase scaling is selected. |
Name | Bits | Description |
Vertical scaling filter coefficients signed | 31:0 | Returns 1 if the vertical scaling filter coefficients are signed values and 0 otherwise. Only valid for polyphase. |
Name | Bits | Description |
Vertical scaling filter coefficients integer bits | 31:0 | Returns the number of integer bits used to represent the vertical scaling filter coefficients. Only valid for polyphase. |
Name | Bits | Description |
Vertical scaling filter coefficients fraction bits | 31:0 | Returns the number of fraction bits to represent the vertical scaling filter coefficients. Only valid for polyphase. |
Name | Bits | Description |
Horizontal scaling enabled | 31:0 | Returns 1 if horizontal scaling is enabled and 0 otherwise. |
Name | Bits | Description |
Horizontal scaling filter taps | 31:0 | Returns the number of horizontal scaling filter taps. |
Name | Bits | Description |
Horizontal scaling filter phases | 31:0 | Returns the number of horizontal scaling filter phases. Only valid for polyphase. |
Name | Bits | Description |
Horizontal scaling filter coefficient banks | 31:0 | Returns the number of horizontal scaling filter coefficient banks. Only valid for polyphase. |
Name | Bits | Description |
Horizontal scaling filter coefficients signed | 31:0 | Returns 1 if the horizontal scaling filter coefficients are signed values and 0 otherwise. Only valid for polyphase. |
Name | Bits | Description |
Horizontal scaling filter coefficients integer bits | 31:0 | Returns the number of integer bits to represent the horizontal scaling filter coefficients. Only valid for polyphase. |
Name | Bits | Description |
Horizontal scaling filter coefficients fraction bits | 31:0 | Returns the number of fraction bits to represent the horizontal scaling filter coefficients. Only valid for polyphase. |
Name | Bits | Description |
Width bits | 15:0 | When lite mode is on, write to this register to set the expected width of the incoming video fields. For full parameterizations with debug features enabled, this register returns the width-1 field from the most recently received image information packet and adds 1 to return a value for width. |
unused | 31:16 | Unused. |
Name | Bits | Description |
Height bits | 15:0 | When lite mode is on, write to this register to set the expected height of the incoming video fields. For full parameterizations with debug features enabled, this register reads the height-1 field from the most recently received image information packet and adds 1 to return a value for height. |
unused | 31:16 | Unused. |
Name | Bits | Description |
IntlaceNibble bits | 3:0 | When lite mode is on, this register has no function. When lite mode is off with debug features on, this register returns the intlaceNibble field from the most recently received image information packet . |
unused | 31:4 | Unused. |
Name | Bits | Description |
CSP code bits | 6:0 | When lite mode is on, this register has no function. When lite mode is off with debug features on, this register returns the 7 bit CSP field from the most recently received image information packet . |
unused | 31:7 | Unused. |
Name | Bits | Description |
SubSa code bits | 1:0 | When lite mode is on, this register has no function. When lite mode is off with debug features on, this register returns the SUBSA field from the most recently received image information packet. |
unused | 31:2 | Unused. |
Name | Bits | Description |
Cosite code bits | 1:0 | When lite mode is on, this register has no function. When lite mode is off with debug features on,, this register returns the COSITE field from the most recently received image information packet. |
unused | 31:2 | Unused. |
Name | Bits | Description |
Count bits | 6:0 | When lite mode is on, this register has no function. When lite mode is off with debug features on,, this register returns the 7 bit FIELD_COUNT field from the most recently received image information packet. |
unused | 31:7 | Unused. |
Name | Bits | Description |
Status bit | 0 | 1 means scaler is processing a video field, 0 otherwise. |
Pending register updates bit | 1 | 1 means scaler has pending updates, 0 otherwise |
unused | 31:2 | Unused. |
Name | Bits | Description |
unused | 31:0 | Unused. |
Name | Bits | Description |
Output width | 15:0 | Output field width |
unused | 31:16 | Unused. |
Name | Bits | Description |
Output height | 15:0 | Output field height |
unused | 31:16 | Unused. |
Name | Bits | Description |
Horizontal scaling filter coefficient read bank | 3:0 | Horizontal scaling filter coefficient read bank. |
unused | 31:4 | Unused. |
Name | Bits | Description |
Vertical scaling filter coefficient read bank | 3:0 | Vertical scaling filter coefficient read bank. |
unused | 31:4 | Unused. |
Name | Bits | Description |
Coefficient write bank | 3:0 | Index of coefficient bank to be updated |
unused | 31:4 | Unused. |
Name | Bits | Description |
Coefficient write phase | 7:0 | Index of coefficient phase to be updated |
unused | 31:8 | Unused. |
Name | Bits | Description |
unused | 31:0 | Unused. |
Name | Bits | Description |
Coefficient value | coeff_width-1:0 | Coefficient value for filter tap X |
unused | 31:coeff_width | Unused. |
When you turn on lite mode, registers are RW only if you turn on Debug features, otherwise they are WO. For full, turn off lite mode.