AR# 76381

|

Versal AI Core ACAP 2020.2/2020.3, AI Engine: AIE mem clear operation can fail by consuming very high power

Description

In a Versal AI Core device, if the user performs an AIE mem clear operation for the entire AIE at once by clearing the MEM_CLEAR_EN_ALL bit, it results in mem clear operation failures.

Solution

This is an known issue with the 2020.2/3 PLM.

To fix this issue, you will need to apply the attached patch.

Root Cause:

In Versal AI core devices, the AIE mem clear operation can fail due to consuming very high power and this will result in PDI programming failures while loading the AIE partition.

As a result, the AIE mem clear operation needs to be done in low power mode.

PetaLinux:

The patch should be applied to <plnx-proj-root>/project-spec/meta-user/recipes-bsp/plm/plm_%.bbappend recipes

Note: For information on how to apply a patch to recipes in PetaLinux, please refer to (UG1144) or https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842475/PetaLinux+Yocto+Tips

1) Copy the attached patch from the Attachments section to the plm directory as shown below.

If these directory and recipes do not exist then manually create <plnx-proj-root>/project-spec/meta-user/recipes-bsp/plm/files/

$ mkdir -p <plnx-proj-root>/project-spec/meta-user/recipes-bsp/plm/files
$ cp 0001-xilpm-versal-server-stagger-AIE-mem_clear-operation.patch <plnx-proj-root>/project-spec/meta-user/recipes-bsp/plm/files

2) Modify the plm_%.bbappend file with the below content using a text editor:

$ vim <plnx-proj-root>/project-spec/meta-user/recipes-bsp/plm/plm_%.bbappend
# plm_%.bbappend content
SRC_URI_append = " \
    file://0001-xilpm-versal-server-stagger-AIE-mem_clear-operation.patch \
"
 
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"

3) Clean the plm sstate cache and rebuild the plm recipes:

$ petalinux-build -c plm -x cleansstate
$ petalinux-build -c plm

Yocto:

The patch should be applied to <yocto-proj-root>/sources/meta-xilinx-tools/recipes-bsp/plm/plm_%.bbappend recipes 

1) Copy the attached patch from the Attachments section to the plm directory as shown below. 

If these directory and recipes do not exist then manually create <yocto-proj-root>/sources/meta-xilinx-tools/recipes-bsp/plm/files

$ mkdir -p <yocto-proj-root>/sources/meta-xilinx-tools/recipes-bsp/plm/files

$ cp 0001-xilpm-versal-server-stagger-AIE-mem_clear-operation.patch <yocto-proj-root>/sources/meta-xilinx-tools/recipes-bsp/plm/files

2) Modify the plm_%.bbappend file with the below content using a text editor:

$ vim <yocto-proj-root>/sources/meta-xilinx-tools/recipes-bsp/plm/plm_%.bbappend
# plm_%.bbappend content
SRC_URI_append = " \
    file://0001-xilpm-versal-server-stagger-AIE-mem_clear-operation.patch \
"
 
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"

3) Clean the plm sstate cache and rebuild the plm recipes:

$ bitbake plm -c cleansstate
$ bitbake plm

Attachments

Associated Attachments

AR# 76381
Date 04/19/2021
Status Active
Type General Article
Devices
Tools
Boards & Kits
People Also Viewed