| 
 | 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