Registers Description - 1.2 English

Multi-Scaler LogiCORE IP Product Guide (PG325)

Document ID
PG325
Release Date
2023-12-20
Version
1.2 English
Control (0x00000) Register
This register controls the operation of the core. Bit[0] of the Control register, ap_start, kicks off the core from software. Writing 1 to this bit, starts the core to generate a video frame. Bit[1] of the Control register, ap_done, indicates when the IP has completed all operations in the current transaction. A logic 1 on this signal indicates that the IP has completed all operations in this transaction.

Bit[2] of the Control register, ap_idle, signal indicates if the IP is operating or idle (no operation). The idle state is indicated by logic 1. This signal is asserted low once the IP starts operating. This signal is asserted high when the IP completes operation and no further operations are performed

Bit[3] of the Control register, ap_ready, signal indicates when the IP is ready for new inputs. It is set to logic 1 when the IP is ready to accept new inputs, indicating that all input reads for this transaction are completed. If the IP has no operations in the pipeline, new reads are not performed until the next transaction starts. This signal is used to make a decision on when to apply new values to the input ports and whether to start a new transaction

Bit[5] of the Control register, is for flushing pending AXI transactions. This bit should be set and held (until reset) by software to flush pending transactions. When this is set, the hardware is expecting a hard reset.

Bit[6] of the Control register is the flush status bit and is asserted when the flush is done. Bit[7] of the Control register, auto_restart, can be set to enable the auto-restart mode. Thereafter, the IP restarts automatically at the end of each transaction.

Global Interrupt Enable (0x00004) Register
This register is the master control for all interrupts. Bit[0] can be used to enable/disable all core interrupts.
IP Interrupt Enable (0x00008) Register
This register allows interrupts to be enabled selectively. Currently, two interrupt sources are available ap_done and ap_ready. ap_done is triggered after the frame processing is complete, while ap_ready is triggered after the core is ready to start processing the next frame.
IP Interrupt Status (0x0000C) Register
This is a dual purpose register. When an interrupt occurs, the corresponding interrupt source bit is set in this register. In readback mode (Get status), the interrupting source can be determined. In writeback mode (Clear interrupt), the requested interrupt source bit is cleared.
IP Number of Outs (0x00010) Register
This register allows to configure the number of outputs generated by the IP. To avoid processing errors, you should restrict values written to this register to the range supported by the core instance.
IP Width In 0 (0x00100) Register
This register allows to program the width of the first input color image which is to be scaled and written to destination buffer as the first output. Supported values are between 64 and the value provided in the Maximum Number of Columns field in the Vivado Integrated Design Environment (IDE). To avoid processing errors, you should restrict values written to this register to the range supported by the core instance.
IP Width Out 0 (0x00108) Register
This register allows to program the width of the first output color image which is to be written to the destination buffer. Supported values are between 64 and the value provided in the Maximum Number of Columns field in the Vivado Integrated Design Environment (IDE). To avoid processing errors, you should restrict values written to this register to the range supported by the core instance.
IP Height In 0 (0x00110) Register
This register allows to program the height of the first input color image which is to be scaled and written to destination buffer as the first output. Supported values are between 64 and the value provided in the Maximum Number of rows field in the Vivado Integrated Design Environment (IDE). To avoid processing errors, you should restrict values written to this register to the range supported by the core instance.
IP Height Out 0 (0x00118) Register
This register allows to program the height of the first output color image which is to be written to the destination buffer. Supported values are between 64 and the value provided in the Maximum Number of Columns field in the Vivado Integrated Design Environment (IDE). To avoid processing errors, you should restrict values written to this register to the range supported by the core instance.
IP Line rate for Output 0 (0x00128) Register
This register allows to program the Line Rate related to the first output.
IP Pixel Rate for Output 0 (0x00130) Register
This register allows to program the Pixel Rate related to the first output.
IP Pixel Format In 0 (0x00138) Register
This register allows to program the pixel format of the first input image which is to be read from the source buffer.
IP Pixel Format Out 0 (0x00150) Register
This register allows to program the pixel format of the first output image which is to be written to the destination buffer.
IP Stride In 0 (0x00158) Register
This register allows to program the stride required for the first input image.
IP Stride Out 0 (0x00160) Register
This register allows to program the stride required for the first output image.
IP Address Offset of Plane 0 of Input 0 (0x00170) Register
This register allows to program the address of the source memory buffer0 which points to the first input image. If the IP is configured to 64 bit address width in the IP GUI, the IP internally creates another register in the register space by adding 0x4 to the existing buffer address register offset. For example, HwReg_srcImgBuf0_0_V register addresses are 0x00170 and 0x00174. Register addresses for all outputs are also calculated in a similar way.
IP Address Offset of Plane 1 of Input 0 (0x00190) Register
This register allows to program the address of the source memory buffer1 which points to the first input image.
Note: For semi-planar formats such as Y_UV8, Y_UV8_20, Y_UV10, Y_UV10_420, luma buffer is specified by srcImgBuf0_0 register and chrome buffer is specified by the srcImgBuf1_0 register.
IP Address Offset of Plane 0 of Output 0 (0x00200) Register
This register allows to program the address of the destination memory buffer0 which points to the first output image.
IP Address Offset of Plane 1 of Output 0 (0x00300) Register
This register allows to program the address of the destination memory buffer1 which points to the first output image.
IP Vertical Filter Coefficients Address for Output 0 (0x02000) Register
This register allows to program the vertical scaler filter coefficients which are required to generate the first output.
IP Horizontal Filter Coefficients Address for Output 0 (0x02800) Register
This register allows to program the horizontal scaler filter coefficients which are required to generate the first output.
Note: In this section only the registers related to the first output are explained, the same description is applicable for all the remaining seven outputs. For the address offsets of all the registers related to the remaining seven outputs check the top level registers of the Register Space table.