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?

gefragt vor 3 Jahren226 Aufrufe
2 Antworten
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

beantwortet vor 3 Jahren
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
beantwortet vor 3 Jahren

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen