An AFI is created using an AWS API called aws ec2 create-fpga-image
. When calling the API, the developer passes a pointer to an S3 bucket which contains a tar file. The tar file includes the encrypted and compiled fpga image(a.k.a. Design Checkpoint or DCP) and a mandatory manifest.txt
file.
Example API Usage:
$ aws ec2 create-fpga-image \
--name <afi-name> \
--description <afi-description> \
--input-storage-location Bucket=<dcp-bucket-name>,Key=<path-to-tarball> \
--logs-storage-location Bucket=<logs-bucket-name>,Key=<path-to-logs> \
[ --client-token <value> ] \
[ --dry-run | --no-dry-run ]
Errors can occurs when calling this API and this document provides the specification for the error codes.
-
INACCESSIBLE_INPUT
Error accessing resource in S3. Check permissions, naming, and ensure the bucket is within the same region as the API endpoint. -
INPUT_SIZE_ILLEGAL
Input file size is not valid -
DCP_INTEGRITY_UNVERIFIED
The DCP integrity SHA-256 hash does not match the provided DCP -
MANIFEST_NOT_FOUND
No manifest file was found. See AWS FPGA HDK documentation for valid input format. We recommend using the scripts provided with AWS FPGA HDK -
MANIFEST_PARSE_FAILED
Parsing the manifest file failed. We recommend using the scripts provided with AWS FPGA HDK -
SHELL_VERSION_INVALID
The Shell Version provided is invalid -
SHELL_VERSION_DEPRECATED
The Shell Version provided is deprecated -
PCIID_SYNTAX_INVALID
PCI ID is not provided, wrongly formatted, or value is out of range valid range 1-65535 or 0x0001-0xFFFF -
PCIID_FORBIDDEN
PCI ID value used is reserved. See AWS FPGA HDK documentation for reserved PCI -
CLK_ILLEGAL
Provided clocks configuration is illegal. See AWS FPGA HDK documentation for supported clocks configuration -
CORRUPT_ARCHIVE
Failed to parse the input tarball archive -
DCP_NOT_FOUND
No DCP file was found with the supplied filename. See AWS FPGA HDK documentation for valid input format. We recommend using the scripts provided with AWS FPGA HDK -
DCP_CORRUPT
Could not parse the input DCP. The DCP files seems to be corrupt -
DCP_NOT_ENCRYPTED
The DCP was not encrypted -
UNKNOWN_BITSTREAM_GENERATE_ERROR
An error occurred generating the FPGA image bitstream. If an S3 LogsStorageLocation was provided in the CreateFpgaImage request, review the captured bitstream generation logs saved to S3 under the FpgaImageId for this AFI.- Note: This is a catch-all error and could be caused due to a variety of issues, for eg:
- We found a combinatorial loop in the CL design. Bitstream generation logs might show errors like `ERROR: [DRC LUTLP-1] Combinatorial Loop Alert: 2 LUT cells form a combinatorial loop. Combinatorial loops are not allowed in CL designs and AFI's are not generated in such a case.
- Note: This is a catch-all error and could be caused due to a variety of issues, for eg: