Visible to Intel only — GUID: fan1639651427015
Ixiasoft
Visible to Intel only — GUID: fan1639651427015
Ixiasoft
37.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 0x6AF7_0234. |
0x0004 | VERSION | RO | Read this register for the IP version information. |
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 mode and 1 when you turn on Lite mode. |
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 neighbor, 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-initialized coefficients at reset. Returns 1 if the coefficients are preinitialized 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 0x0067 | - | - | Reserved. |
0x0068 | V_PARTIAL_SCALING_ENABLED | RO | Read this register to determine if vertical partial scaling is on |
0c006C | H_PARTIAL_SCALING_ENABLED | RO | Read this register to determine if horizontal partial scaling is on |
0x0070to 0x011F | - | - | Unused. |
Address | Register | Access | Description | |
---|---|---|---|---|
Lite 103 | Full | |||
0x0120 | IMG_INFO_WIDTH | RW | RO | When you turn on Lite mode, use this register to set the expected width of incoming video fields. When you turn off Lite mode and turn on Debug features, this register returns the width that the scaler derives from information in the image information packet. When you turn on Horizontal partial scaling, the value in this register specifies the number of pixels that this scaler receives in each incoming video line, including any overscan data. |
0x0124 | IMG_INFO_HEIGHT | RW | RO | When you turn on Lite mode, use this register to set the expected height of incoming video fields. When you turn off Lite mode and turn on Debug features, this register returns the height that the scaler derives from information in the image information packet. When you turn on Vertical partial scaling, the value in this register specifies the number of lines that this scaler receives in each incoming frame, including any overscan data. |
0x0128 | IMG_INFO_INTERLACE | - | RO | When you turn off Lite mode 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 mode 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 mode 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 mode 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 mode 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 mode: 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 scaling 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 mode. 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. If you turn on Horizontal partial scaling, the value in this register specifies the number of output pixels that this scaler produces for each line. |
|
0x014C | OUTPUT_HEIGHT | RW | Write to this register to set the output field height. Unused if vertical scaling is not enabled. If you turn on Vertical partial scaling, the value in this register specifies the number of output lines that this scaler produces for each frame. |
|
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 | TOTAL_IN_WIDTH | RW | Only if you turn on Horizontal partial image scaling. Write to this register to set the overall width of the tiled input frame. | |
0x015C | TOTAL_OUT_WIDTH | RW | Only if you turn on Horizontal partial image scaling. Write to this register to set the overall width of the tiled output frame. | |
0x0160 | H_POS_ERROR | RW | Only if you turn on Horizontal partial image scaling. Write to this register to set the horizontal sub-pixel offset. If o s is the index of the first output pixel within the complete output frame that this scaler should produce, the horizontal sub-pixel offset is calculated as: |
|
0x0164 | H_PHASE_OFFSET | RW | Only if you turn on Horizontal partial image scaling. Write to this register to set the horizontal phase offset. If o s is the index of the first output pixel within the complete output frame that this scaler should produce, the horizontal phase offset is calculated as: |
|
0x0168 | H_PHASE_ERROR | RW | Only if you turn on Horizontal partial image scaling. Write to this register to set the horizontal sub-phase offset. If o s is the index of the first output pixel within the complete output frame that this scaler should produce, the horizontal sub-phase offset is calculated as: |
|
0x016C | H_EXTENDED_FILL | RW | Only if you turn on Horizontal partial image scaling. Write to this register to enable the left edge overscan feature. Write 1 to bit 0 to enable overscan, or 0 to bit 0 to disable overscan | |
0x0170 | TOTAL_IN_HEIGHT | RW | Only if you turn on Vertical partial image scaling. Write to this register to set the overall height of the tiled input frame (). | |
0x0174 | TOTAL_OUT_HEIGHT | RW | Only if you turn on Vertical partial image scaling. Write to this register to set the overall height of the tiled output frame (). | |
0x0178 | V_POS_ERROR | RW | Only if you turn on Vertical partial image scaling. Write to this register to set the vertical sub-pixel offset. If o s is the index of the first output line within the complete output frame that this scaler should produce, the vertical sub-pixel offset is calculated as: |
|
0x017C | V_PHASE_OFFSET | RW | Only if you turn on Vertical partial image scaling. Write to this register to set the vertical phase offset. If o s is the index of the first output line within the complete output frame that this scaler should produce, the vertical phase offset is calculated as: |
|
0x0180 | V_PHASE_ERROR | RW | Only if you turn on Vertical partial image scaling. Write to this register to set the vertical sub-phase offset. If o s is the index of the first output line within the complete output frame that this scaler should produce, then the vertical sub-phase offset is calculated as: |
|
0x0184 | V_EXTENDED_FILL | RW | Only if you turn on Vertical partial image scaling. Write to this register to enable the top edge overscan feature. Write 1 to bit 0 to enable overscan, or 0 to bit 0 to disable overscan | |
0x0188 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 0x6AF7_0234.
|
Name | Bits | Description |
Register map version | 7:0 | Register map version. |
IP patch revision | 15:8 | - |
IP update revision | 23:16 | Updated when the IP version changes. |
IP major revision | 31:24 | Updated when the IP version changes. |
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 neighbor, 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 initialized | 31:0 | Returns 1 if the scaling filter coefficient memory is preinitialized 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 |
Vertical partial image scaling enabled | 31:0 | Returns 1 if you turn on vertical partial image scaling and 0 otherwise |
Name | Bits | Description |
Horizontal partial image scaling enabled | 31:0 | Returns 1 if you turn on horizontal partial image scaling and 0 otherwise |
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 |
Total input frame width | 15:0 | Width of the complete, tiled input frame (only used if Horizontal partial image scaling is turned on) |
Unused | 31:4 | Unused. |
Name | Bits | Description |
Total output frame width | 15:0 | Width of the complete, tiled output frame (only used if Horizontal partial image scaling is turned on) |
Unused | 31:4 | Unused. |
Name | Bits | Description |
Horizontal sub-pixel offset | 15:0 | Horizontal subpixel offset (only used if Horizontal partial image scaling is turned on) |
Unused | 31:4 | Unused. |
Name | Bits | Description |
Horizontal phase offset | 15:0 | Horizontal phase offset (only used if Horizontal partial image scaling is turned on) |
Unused | 31:4 | Unused. |
Name | Bits | Description |
Horizontal sub-phase offset | 15:0 | Horizontal subphase offset (only used if Horizontal partial image scaling is turned on) |
Unused | 31:4 | Unused. |
Name | Bits | Description |
Enable horizontal left edge overscan | 0 | Enable horizontal left edge overscan (only used if Horizontal partial image scaling is turned on) |
Unused | 31:1 | Unused. |
Name | Bits | Description |
Total input frame height | 15:0 | Height of the complete, tiled input frame (only used if Vertical partial image scaling is turned on) |
Unused | 31:4 | Unused. |
Name | Bits | Description |
Total output frame height | 15:0 | Height of the complete, tiled output frame (only used if Vertical partial image scaling is turned on) |
Unused | 31:16 | Unused. |
Name | Bits | Description |
Vertical sub-pixel offset | 15:0 | Vertical subpixel offset (only used if Vertical partial image scaling is turned on) |
Unused | 31:16 | Unused. |
Name | Bits | Description |
Vertical phase offset | 15:0 | Vertical phase offset (only used if Vertical partial image scaling is turned on) |
Unused | 31:16 | Unused. |
Name | Bits | Description |
Vertical sub-phase offset | 15:0 | Vertical subphase offset (only used if Vertical partial image scaling is turned on) |
Unused | 31:16 | Unused. |
Name | Bits | Description |
Enable vertical top edge overscan | 0 | Enable vertical top edge overscan (only used if Vertical partial image scaling is turned on) |
Unused | 31:1 | 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.