fpga-load-local-image produces "(12) cl-id-mismatch"

0

Hi there,
Once I try to load my local image, I obtain the following error:
$ sudo fpga-load-local-image -S 0 -I agfi-0c5a45f4871941614
Error: (12) cl-id-mismatch
The vendor and device ID presented by the CL did not match expected
values provided at ingestion time.

The clear request runs successfully before loading.
$ sudo fpga-clear-local-image -S 0
AFI 0 none cleared 1 ok 0 0x04261818
AFIDEVICE 0 0x1d0f 0x1042 0000:00:1d.0

Describe request after failed load attempt is the following:
$ sudo fpga-describe-local-image -S 0 -H
Type FpgaImageSlot FpgaImageId StatusName StatusCode ErrorName ErrorCode ShVersion
AFI 0 none load-failed 7 cl-id-mismatch 12 0x04261818
Type FpgaImageSlot VendorId DeviceId DBDF
AFIDEVICE 0 0x1d0f 0x1042 0000:00:1d.0

What am I missing here? How can I resolve this issue?

asked 3 years ago221 views
2 Answers
0

I'm in no way employed in Xilinx or AWS, so this is just my opinion, but I'd suggest you to check the VENDOR_ID and DEVICE_ID parameters in your design (on F1 instance).

These values are what's working for me, so you might want to try with those:
set_property -dict [list CONFIG.VENDOR_ID {0x1D0F}\
CONFIG.DEVICE_ID {0xF000}\
CONFIG.SUBSYSTEM_VENDOR_ID {0xFEDD}\
CONFIG.SUBSYSTEM_ID {0x1D51}]

Good luck!

Edited by: jelicicm on Jan 13, 2021 11:49 AM

Edited by: jelicicm on Jan 13, 2021 11:49 AM

answered 3 years ago
0

Hi,

This looks like the Device ID/Vendor ID listed in the manifest file (*.manifest.txt generated as part of build process) is different than what is used by your CL design (cl_sh_id0, cl_sh_id1).

AWS performs integrity check by comparing the ID values in design with the one in manifest:
https://github.com/aws/aws-fpga/blob/master/hdk/docs/AWS_Shell_Interface_Specification.md#integrity-check

The manifest is generated by a script which parses $CL_DIR/design/cl_id_defines.vh for Device ID and Vendor IDs… But if customer hardcodes different IDs in their CL top level (by tying off cl_sh_id0, cl_sh_id1 ports) then the IDs in manifest and CL design will differ. This can result in ID mismatch error.

Script parses device and vendor IDs here:
https://github.com/aws/aws-fpga/blob/master/hdk/common/shell_v04261818/build/scripts/aws_build_dcp_from_cl.sh#L236

Example cl_id_defines.vh:
https://github.com/aws/aws-fpga/blob/master/hdk/cl/examples/cl_dram_dma/design/cl_id_defines.vh

Solution:

  1. Please update your $CL_DIR/design/cl_id_defines.vh with desired IDs.
  2. Ensure cl_sh_id0, cl_sh_id1 ports are using correct IDs.
  3. Ensure IDs in manifest file match with IDs used in the design.

Thanks!
Chakra

AWS
answered 3 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions