|
| 1 | +**Frequently Asked Questions** |
| 2 | + |
| 3 | +**What do I need to get started on building accelerators for FPGA |
| 4 | +instances?** |
| 5 | + |
| 6 | +Getting started requires downloading the latest HDK and SDK from the AWS |
| 7 | +FPGA GitHub repository. The HDK and SDK provide the needed code and |
| 8 | +information for building FPGA code. The HDK provides all the information |
| 9 | +needed on building source code for use within the FPGA. The SDK provides |
| 10 | +all the information needed on building software for managing FPGAs on an |
| 11 | +F1 instance. |
| 12 | + |
| 13 | +FPGA code requires a simulator to test code and a Vivado tool set for |
| 14 | +synthesis of source code into compiled FPGA code. The FPGA Developer AMI |
| 15 | +includes the Xilinx Vivado tools for simulation and synthesis of |
| 16 | +compiled FPGA code. |
| 17 | + |
| 18 | +**How do I develop accelerator code for an FPGA in an F1 instance?** |
| 19 | + |
| 20 | +Start with the Shell interface specification: |
| 21 | +AWS\_Shell\_Interface\_Specification.md. This document describes the |
| 22 | +interface between Custom Logic and the AWS Shell. All Custom Logic for |
| 23 | +an accelerator resides within the Custom Logic region of the F1 FPGA. |
| 24 | + |
| 25 | +**What are the major areas of the GitHub repository?** |
| 26 | + |
| 27 | +The HDK side of the GitHub repository contains the AWS Shell code, Build |
| 28 | +scripts, Documentation, and Examples. Shell code is contained in |
| 29 | +aws-fpga/hdk/common. Build scripts are in |
| 30 | +aws-fpga/hdk/common/shell\_current/build. Documentation is in |
| 31 | +aws-fpga/hdk/docs. Custom Logic examples are in aws-fpga/hdk/cl. |
| 32 | + |
| 33 | +The SDK side of the GitHub repository contains the FPGA Management |
| 34 | +Tools, a preview of the AWS CLI for F1, and software for Xilinx XDMA and |
| 35 | +SDAccell. The FPGA Management Tools are for loading/clearing AFIs and |
| 36 | +getting status of the FPGAs mapped to an instance. FPGA Management Tools |
| 37 | +are in aws-fpga/sdk/management. The AWS CLI preview is in |
| 38 | +aws-fpga/sdk/aws-cli-preview. |
| 39 | + |
| 40 | +**What is included in the HDK?** |
| 41 | + |
| 42 | +The HDK includes documentation for the Shell interface and other Custom |
| 43 | +Logic implementation guidelines, the Shell code needed for Custom Logic |
| 44 | +development, simulation models for the Shell, software for exercising |
| 45 | +the Custom Logic examples, a getting started guide for Custom Logic, and |
| 46 | +examples for starting a Custom Logic Design. |
| 47 | + |
| 48 | +**What is in the AWS Shell?** |
| 49 | + |
| 50 | +The AWS Shell includes the PCIe interface for the FPGA, a single DDR |
| 51 | +interface, and necessary FPGA management functionality. Also provided as |
| 52 | +part of the Shell code, but implemented within the Custom Logic region |
| 53 | +of the FPGA are three DDR interfaces. These interfaces are provided for |
| 54 | +implementation within the Custom Logic region to provide maximum |
| 55 | +efficiency for the developer. |
| 56 | + |
| 57 | +**Are there examples for getting started on accelerators?** |
| 58 | + |
| 59 | +Yes, examples are in the aws-fpga/hdk/cl/examples directory. The |
| 60 | +cl\_hello\_world example is a simple example to build and test the CL |
| 61 | +development process. The cl\_simple example provides an expanded example |
| 62 | +for testing access to the DDR interfaces. |
| 63 | + |
| 64 | +**How do I get access to the Developer AMI?** |
| 65 | + |
| 66 | +Start with an AWS account and request access to the Developer AMI in AWS |
| 67 | +Marketplace. Currently, the FPGA Developer AMI is private. You will |
| 68 | +receive permission on the AWS account you submitted for access to the |
| 69 | +FPGA Developer AMI. The AMI can be launched directly from AWS |
| 70 | +Marketplace on any EC2 instance. See the FPGA Developer AMI README for |
| 71 | +more details. |
| 72 | + |
| 73 | +**What is an AFI?** |
| 74 | + |
| 75 | +An AFI stands for Amazon FPGA Image. That is the compiled FPGA code that |
| 76 | +is loaded into an FPGA for performing the Custom Logic function created |
| 77 | +by the developer. AFIs are maintained by AWS according to the AWS |
| 78 | +account that created them. An AFI ID is used to reference a particular |
| 79 | +AFI from an F1 instance. The AFI ID is used to indicate the AFI that |
| 80 | +should be loaded into a specific FPGA within the instance. |
| 81 | + |
| 82 | +**What is the process for creating an AFI?** |
| 83 | + |
| 84 | +The AFI process starts by creating Custom Logic code that conforms to |
| 85 | +the Shell Specification. Then, the Custom Logic must be compiled using |
| 86 | +the Vivado tools to create a Design Checkpoint. That Design Checkpoint |
| 87 | +is submitted to AWS for generating an AFI using the API. |
| 88 | + |
| 89 | +See aws-fpga/hdk/cl and aws-fpga/hdk/cl/examples for more detailed |
| 90 | +information. |
| 91 | + |
| 92 | +**Is there any software I need on my instance?** |
| 93 | + |
| 94 | +The required AWS software is the FPGA Management Tool set found in the |
| 95 | +SDK directory. This software manages loading and clearing AFIs for FPGAs |
| 96 | +in the instance. It also allows developers to retrieve status on the |
| 97 | +FPGAs from within the instance. See the README in aws-fpga/sdk for more |
| 98 | +details. |
| 99 | + |
| 100 | +**Why do I see error “vivado not found” while running hdk\_setup.sh** |
| 101 | + |
| 102 | +This is an indication that Xilinx vivado tool set are not installed. Try |
| 103 | +installing the tool, or alternative use AWS FPGA Development AMI |
| 104 | +available on AWS Marketplace, which comes with pre-installed Vivado |
| 105 | +toolset and license |
| 106 | + |
| 107 | +**Do AWS Marketplace customers see FPGA source code or a bitstream?** |
| 108 | + |
| 109 | +Neither: AWS Marketplace customers that pick up an AMI with with one our |
| 110 | +more AFIs associated with it will not see any source code nor bitstream. |
| 111 | +Marketplace customers actually have permission to use the AFI but not |
| 112 | +permission to see its code. The only reference to the AFI is through the |
| 113 | +AFI ID. The Customer would call fpga-local-load-image with the correct |
| 114 | +AFI ID for that Marketplace offering, which will result in AWS loading |
| 115 | +the AFI into the FPGA. No FPGA internal design code is exposed. |
0 commit comments