Acceleration Hardware

This section covers details about the HLS/RTL acceleration kernels. The kernels are HLS code that can be built using Vitis HLS and the compiled kernels are provided as .xo files. These compiled kernels then can be used with any Vitis platform.

Kernel Build Steps

The following steps are used to build the kernel.

  1. Setup the Vitis HLS 2021.1 software. Refer to Vitis Software Development Platform 2021.1.

  2. Edit the makefile to point the PLATFORM_FILE to any Vitis 2021.1 platform.

  3. Edit the options in <kernel_folder>/kernel_config.h.

  4. Make <kernel name>.

Multiscaler Kernel

VVAS releases the full HLS source code of the Multiscaler 2.0 IP, it is based on the descriptor approach for programming. This kernel produces a multiscaler kernel xo/v_multi_scaler.xo.

Kernel Configuration

The multiscaler kernel configuration can be edited by changing the <VVAS_SOURCES>/ivas-accel-hw/multiscaler/v_multi_scaler_config.h file. The parameters in the following table can be changed as required. i Table 14: Multiscaler Kernel Configuration

Parameter Macro

Possible Values

Description

H SC_SAMPLES_PER_CLOCK

1, 2, 4

Pixels per clock

HSC_MAX_WIDTH

64 to 7680

Maximum width of the resolution supported

HSC_MAX_HEIGHT

64 to 4320

Maximum height of the resolution supported

HS C_BITS_PER_COMPONENT

8, 10

Bits per component

HSC_SCALE_MODE

0: Bilinear

1: Bicubic

2: Polyphase

Scaling algorithm

HAS_RGBX8_YUVX8

0: Disable

1: Enable

RGBX8 and YUVX8 color format support

HAS_YUYV8

0: Disable

1: Enable

YUYV8 color format support

HAS_RGBA8_YUVA8

0: Disable

1: Enable

RGBA8 and YUVA8 color format support

HAS_RGBX10_YUVX10

0: Disable

1: Enable

RGBX10 and YUVX10 color format support

HAS_Y_UV8_Y_UV8_420

0: Disable

1: Enable

Y_UV8 and Y_UV8_420 color format support

HAS_RGB8_YUV8

0: Disable

1: Enable

RGB8 and YUV8 color format support

H AS_Y_UV10_Y_UV10_420

0: Disable

1: Enable

Y_UV10 and Y_UV10_420 color format support

HAS_Y8

0: Disable

1: Enable

Y8 color format support

HAS_Y10

0: Disable

1: Enable

Y10 color format support

HAS_BGRA8

0: Disable

1: Enable

BGRA8 color format support

HAS_BGRX8

0: Disable

1: Enable

BGRX8 color format support

HAS_UYVY8

0: Disable

1: Enable

UYVY8 color format support

HAS_BGR8

0: Disable

1: Enable

BGR8 color format support

HAS_R_G_B8

0: Disable

1: Enable

R_G_B8 color format support

HAS_Y_U_V8_420

0: Disable

1: Enable

Y_U_V8_420 color format support

Steps to Build Kernel

  1. Source the Vitis HLS 2021.1 software.

  2. Edit the makefile to point the PLATFORM_FILE, (.xpfm) file, to any Vitis 2021.1 platform (tested using the ZCU104 base platform).

  3. Edit the options in the multiscaler/v_multi_scaler_config.h.

  4. Make v_multi_scaler.xo. The generated output will be in the xo folder as xo/ v_multi_scaler.xo.