5. Video and Vision Processing IP Registers
Every IP has a standard address map when you turn on Memory-mapped control interface. If you turn off Memory-mapped control interface, the IP always processes video data when it is available.
Generally, video and vision processing IP register maps have these distinctive areas:
- A common area, which contains parameterization information. You can read from IPs to determine their parameters, which allows portability of software and binaries between different video and vision processing platforms.
- An IP-specific video and vision processing area, which contains functional configuration information for the specific IP.
- An optional control and debug register area, which allows you to write video field information in lite variants, read video field information in full variants, and to perform other control functions.
Control interfaces use Avalon memory-mapped interfaces. Platform Designer natively supports AXI4-Lite protocols and can automatically adapt to and from Avalon memory-mapped interfaces. Memory interfaces also use Avalon memory-mapped interfaces.
|0x0008 to 0x00FF||IP-specific parameterization registers.|
|0x0100 to 0x011F||Reserved for future use.|
Reserved for optional Control and debug registers
|0x012C||Reserved for future use.|
|0x0144 to RW_BASE||Optional additional read-only registers|
|RW_BASE||Optional COMMIT register (must be present if any other read-write registers are present)|
|RW_BASE+4 onwards||Optional additional read-write registers|
The parameterization registers address space occupies from the base address of the IP to a maximum address of 0x011F. The first two registers in this section are the product ID and version registers, so you can identify the IP and the structure of its register map.
The next registers are an optional set of further parameterization information which IPs may populate to inform software on how to control the IP.
For example, a clipper describes clipping using either offsets from the edge of the video or using a top-left corner offset with required height and width. Control software can interrogate the Clipper IP’s parameterization registers to determine which is correct and drive clipping control register accesses accordingly. You can use the same control software across different video pipeline configurations.
The parameterization registers section is followed by an unused area from 0x0100 to 0x011F.
Control and debug registers
You control the IPs in two ways:
- Provide the input video field information. For example the type of video packets you send to the IP with respect to height, width, or interlacing.
- Instruct the IP. For example which clipper offsets, mixer offsets, or scaling behavior to apply.
Full variants send image information packets down the video processing pipeline to communicate video field information. Image information packets handle the communication of any resolution changes to downstream IPs. You can control IP functions for full variants via the IP-specific registers.
Communicate video field information and control IP functions for lite variants via the control and IP-specific registers, using the register interface.
Registers 0x0120 to 0x0138 (IMG_INFO_WIDTH to IMG_INFO_COSITING) are the image information registers. For lite variants, write to these to set the dimensions and properties of incoming video fields. For full variants, ignore these registers. However, if you turn on debug features, you can read these registers to retrieve details of the image information fields that the IP receives via the last received image information packet.
Register 0x013C is the IMG_INFO_FIELD_COUNT register. Read this register for full variants when you turn on Debug features for the field count field of the last received image information packet.
Register 0x0140 is the STATUS register. IPs hold the LSB of this register high while they process video packets. The LSB returns low in-between video fields. Bit 1 of this register is the pending register updates bit. The IP sets this bit when you make writes to the IP's register map. The IP automatically clears this bit.
The COMMIT register is at address RW_BASE or later. Write to this register after writing new values to any of the registers in the IP-specific portion of the address map. The IP sets the pending register updates bit of the STATUS register in response and clears it when the new settings take effect.
This section of the register map is different for every IP and comprises read and write registers required to control the IP, such as clipping, mixing offsets, color space, or scaling coefficients.
IPs without a memory-mapped control interface
If you turn off Memory-mapped control interface, the IP always processes video data when it is available.