make kernels: Compiling PL Kernels - make kernels: Compiling PL Kernels - 2025.2 English - XD100

Vitis Tutorials: AI Engine Development (XD100)

Document ID
XD100
Release Date
2026-03-27
Version
2025.2 English

In this step, the Vitis compiler takes any Vitis compiler kernels (RTL or HLS C) in the PL region of the target platform (xilinx_vck190_base_202420_1). It also takes the AI Engine kernels and graph. The compiler then compiles them into their respective XO files. The following commands compile the kernels (default TARGET=hw_emu, GEMM_INSTS=1, GEMM_SIZE=32, ITER_CNT=1 and EN_TRACE=0).

make kernels

The command with the options used is as follows (for dma_hls):

$(BUILD_TARGET_DIR)/$(DATAMOVER_KERNEL_XO).xo: 
	mkdir -p $(BUILD_TARGET_DIR); \
	cd $(BUILD_TARGET_DIR); \
	v++ --target $(TARGET) $(DATAMOVER_KERNEL_VPP_FLAGS) \
		$(VPP_FLAGS) -c -k $(DATAMOVER_KERNEL_TOP) \
		$(DATAMOVER_KERNEL_SRC) -o $@

Refer to this page for a detailed description of all Vitis compiler switches. The following table provides a summary of the switches used.

Switch

Description

–target | -t [hw|hw_emu]

Specifies the build target.

–platform | -f

Specifies the name of a supported acceleration platform as specified by the $PLATFORM_REPO_PATHS environment variable or the full path to the platform XPFM file.

–save-temps | -s

Directs the Vitis compiler command to save intermediate files/directories created during the compilation and link process. Use the --temp_dir option to specify a location to write the intermediate files to.

–temp_dir

Lets you manage the location where the tool writes temporary files created during the build process. The Vitis compiler writes temporary results and then removes them unless you specify the --save-temps option.

–verbose

Displays verbose/debug information.

–compile | -c

Required for compilation to generate XO files from kernel source files.

–kernel <arg>|-k <arg>

Compiles only the specified kernel from the input file. Only one -k option is allowed per Vitis compiler command.

–output | -o

Specifies the name of the output file generated by the V++ command. The DMA HLS kernels output must be XO.

Input

Description

$(PL_SRC_REPO)/dma_hls.cpp

Defines the data mover PL kernel

Output

Description

$(BUILD_TARGET_DIR)/dma_hls.hw_emu.xo

The data mover kernel object file