You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: FAQs.md
+81-24Lines changed: 81 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,11 +19,70 @@
19
19
20
20
## General
21
21
22
-
**Q: What is included in the HDK?**
22
+
**Q: How is developing a FPGA design for the cloud different from the common practice outside the cloud?**
23
23
24
-
The HDK includes the following major components::
24
+
AWS designed its FPGA instances to provide a developer experience with ease of use and as similar as possible to on-premises development environment with the following differences (advantages):
25
25
26
-
1) Documentation for the Shell interface and other Custom Logic implementation guidelines, the Shell code needed for Custom Logic development, simulation models for the Shell, software for exercising.
26
+
27
+
- Developers don’t need to purchase / design / bringup or debug the physical hardware where the FPGA is hosted, nor the platform/server hardware: all the hardware is verified, monitored, and maintained by AWS.
28
+
29
+
- AWS provides an [FPGA Developer AMI](https://aws.amazon.com/marketplace/pp/B06VVYBLZZ) that contains Xilinx Vivado development environment, with all the needed licenses. By using the FPGA developer AMI developers have a choice to a wide range of instance (different CPU and Memory configutation) allowing developers to optimize their development flow.
30
+
31
+
- AWS provides cloud based debug tools: [Virtual JTAG](./hdk/docs/Virtual_JTAG_XVC.md) which is equivalent to debug using JTAG with on-premise development, and Virtual LED together with Virtual DIP Switch emulation the LED and DIP switches in typical development board.
32
+
33
+
- For developers who want to develop on-premises, Xilinx provides an [on-premises license](./hdk/docs/on_premise_licensing_help.md) that matches all the needed components needed to be licensed for F1 development on premises.
34
+
35
+
- The developers' output is a Design Checkpoint (DCP) and not an FPGA bitstream: The FPGA bitstream is actually generated by AWS after the developer submits the DCP.
36
+
37
+
- The FPGA in AWS platforms are loaded using "Partial Reconfiguration" mode.
38
+
39
+
40
+
**Q: What is the extra time needed to develop on AWS FPGA instances compared with on-premises development?**
41
+
42
+
There are two parts to answerthis question:
43
+
44
+
45
+
- A one-time knowledge ramp how to use AWS and FPGA on AWS:
46
+
47
+
For developers that are familiar with AWS, there is almost no additional time to get right into F1 development environment, as long as the documentation and guidances in the [FPGA HDK/SDK](https://github.com/aws/aws-fpga) are followed.
48
+
49
+
For developers who are new to AWS, there is typically a one to two days ramp on AWS general topics such as launching EC2 instance, setting up S3 storage and its permissions, using AWS console, etc… For new developers to AWS, we recommend to start with the [FPGA Developer Forum](https://forums.aws.amazon.com/ann.jspa?annID=4448)
50
+
51
+
52
+
- On-going development flow:
53
+
54
+
Once developers complete their DCP, they submit the design through an AWS EC2 API to create the Amazon FGPA Image (aka AFI, this API call can take a few hours to complete, and the status of the process is reported in the S3 log bucket provides by the developers. AWS is working to improve the turn time of AFI generation.
55
+
56
+
57
+
**Q: What new skill sets will be requiered from an FPGA developer in the cloud?**
58
+
59
+
As AWS has taken all the non-differentiating, heavy lifting of hardware design, debug and implementation of the DRAM and PCI-express, as well as setting up the server platform pieces; AWS FPGA developers can focus on their own differentiating logic, instead of spending time on hardware bringup/debug and maintenance.
60
+
61
+
On the business side, AWS Marketplace (MP) provides FPGA developers the opportunity to sell hardware accelerations to all of AWS users: Ramping on AWS MP services, capabilities and commercial opportunities are recommend knowledge for developers interesting in offering their AFI.
62
+
63
+
Education and research institutes can use AWS MP to distribute their research work ; having access to vast amounts of free [public data-sets](https://aws.amazon.com/public-datasets/) can be of value when running research hardware accelarations on AWS.
64
+
65
+
Finally, AWS consulting and technology partners can offer their services through the [AWS Partner Network](https://aws.amazon.com/ec2/instance-types/f1/partners/) to AWS users that don’t have specific FPGA development knowledge, and in order to develop FPGA accelerations in the cloud by themselves.
66
+
67
+
68
+
**Q: How is deployment FPGA in the cloud different compared to on-premises?**
69
+
70
+
With AWS, FPGAs developers have a few deployment advantages:
71
+
72
+
- Low entry bar: AWS FPGAs are charged on an hourly rate instead of many thousands of dollars spent on hardware/licenses and 12+ months time it takes to design/manufacture and ship a working hardware solution.
73
+
74
+
- Scalability and Elasticity: Developers can ramp up / down the number of deployed FPGAs within seconds based on offered load.
75
+
76
+
- Share: FPGA developers can share their designs easily through AWS Marketplace or APN. This is important for businesses as well as education and research use.
77
+
78
+
- AWS FPGA instances can be combined with other AWS services to create a solution pipeline or integrate an accelaration into existing customer workflows/datasets
79
+
80
+
81
+
**Q: What is included in the FPGA HDK?**
82
+
83
+
The HDK includes the following main components:
84
+
85
+
1) Documentation for the Shell interface and other Custom Logic implementation guidelines, the Shell models needed for Custom Logic development, simulation models for the Shell, software for exercising.
27
86
28
87
2) Custom Logic examples, a getting started guide for building your own Custom Logic, and examples for starting a Custom Logic Design.
29
88
@@ -34,22 +93,18 @@ The HDK includes the following major components::
34
93
5) RTL Simulation models and RTL simulation.
35
94
36
95
37
-
38
96
**Q: What is in the AWS Shell?**
39
97
40
-
The AWS Shell is a piece of code provided and managed by AWS, that implements the non-differentiated development heavy lifting tasks like setting up the PCIe interface, FPGA image infrastructure, security and operational isolation, metrics and debug hooks.
98
+
The AWS Shell is the part of the FPGA that is provided and managed by AWS: it implements the non-differentiated development and heavy lifting tasks like setting up the PCIe interface, image download, security, monitoring, metrics and debug hooks.
41
99
42
100
Every FPGA deployed in AWS cloud includes an AWS shell, and the developer Custom Logic (CL) interfaces with the available AWS Shell interfaces.
101
+
43
102
44
-
The AWS shell includes the PCIe interface for the FPGA, and necessary FPGA management functionality. One of the four DRAM interface controllers is included in the Shell, while the three other DRAM interface controllers is expected to be instantiated in the CL code (A design choice that was made to achieve optimal utilization of FPGA resources from placement perspective)
45
-
103
+
**Q: What is an Amazon FPGA Image (AFI)?**
46
104
105
+
It is the compiled FPGA code that is loaded into an FPGA in AWS for performing the Custom Logic (CL) function created by the developer. AFIs are maintained by AWS according and associated with the AWS account that created them. The AFI includes the CustomLogic (CL) and AWS FPGA Shell. An AFI ID is used to reference a particular AFI from an F1 instance.
47
106
48
-
**Q: What is an AFI?**
49
-
50
-
An AFI stands for Amazon FPGA Image. It is the compiled FPGA code that is loaded into an FPGA in AWS for performing the Custom Logic (CL) function created by the developer. AFIs are maintained by AWS according to the AWS account that created them. An AFI ID is used to reference a particular AFI from an F1 instance.
51
-
52
-
The developer can create multiple AFIs at no extra cost, up to a defined limited (typically 100 AFIs per AWS account). An AFI can be loaded into as many FPGAs as needed.
107
+
The developer can create multiple AFIs at no extra cost, up to a defined limited (typically 100 AFIs per region per AWS account). An AFI can be loaded into as many FPGAs as needed.
53
108
54
109
55
110
@@ -61,18 +116,23 @@ The AFI process starts by creating Custom Logic (CL) code that conforms to the [
61
116
62
117
**Q: Can I bring my own bitstream for loading on an F1 FPGA?**
63
118
64
-
No. There is no mechanism for loading a bitstream directly onto the FPGAs of an F1 instance. All Custom Logic bitstreams are loaded onto the FPGA by the `aws ec2 fpga-local-load-image` API. Developers create an AFI by creating a Vivado Design Checkpoint (DCP) and submitting that DCP to AWS using `aws ec2 create-fpga-image` API. AWS creates the final AFI and bitstream from that DCP and returns an AFI ID for referencing that AFI.
65
-
119
+
No. There is no mechanism for loading a bitstream directly onto the FPGAs of an F1 instance. All Custom Logic are loaded onto the FPGA by calling `$ fpga-local-load-image` tool provides by [AWS FPGA SDK](https://github.com/aws/aws-fpga/sdk).
66
120
121
+
Developers create an AFI by creating a Vivado Design Checkpoint (DCP) and submitting that DCP to AWS using `aws ec2 create-fpga-image` API. AWS creates the final AFI and bitstream from that DCP and returns an AFI ID for referencing that AFI.
122
+
67
123
68
124
**Q: Can I generate my bitstream on my own desktop/server (not on AWS cloud)?**
69
125
70
-
Yes, on-premises tools can be used to develop the Design Checkpoint needed for creating an AFI. The developer needs to download HDK can be downloaded from GitHub and run on any local machine.
126
+
Yes, on-premises tools can be used to develop the Design Checkpoint needed for creating an AFI. The developer needs to download AWS FPGA HDK from GitHub and run on any local machine.
71
127
72
128
If a developer uses local tools and license, please check the [supported versions of Vivado](./hdk/supported_vivado_versions.txt) for the exact Xilinx Vivado tool version supported by the HDK. Developers have access to Xilinx Vivado running in the AWS by using the [FPGA Developer AMI on AWS Marketplace](https://aws.amazon.com/marketplace/pp/B06VVYBLZZ)
129
+
73
130
131
+
**Q: Is there a “best practice” system template? **
74
132
75
-
133
+
AWS prefers not to limit developers to a specific template in terms of how we advise to use AWS FPGAs. A good overview of these interfaces can be found [here](https://github.com/aws/aws-fpga/blob/master/hdk/docs/Programmer_View.md)
134
+
135
+
76
136
**Q: Do I need to get a Xilinx license to generate an AFI?**
77
137
78
138
If the developer uses the [FPGA Developer AMI on AWS Marketplace](https://aws.amazon.com/marketplace/pp/B06VVYBLZZ), Xilinx licenses for simulation, encryption, SDAccel and Design Checkpoint generation are included.
@@ -81,33 +141,30 @@ If the developer want to run using other methods or on a local machine, the deve
81
141
Developers that choose to not use the developer AMI in AWS EC2, need to have Xilinx license 'EF-VIVADO-SDX-VU9P-OP' installed on premise. For more help, please refer to [On-premise licensing help](./hdk/docs/on_premise_licensing_help.md)
82
142
83
143
84
-
85
144
**Q: Does AWS provide actual FPGA boards for on-premises development?**
86
145
87
146
No. AWS supports a cloud-only development model and provides the necessary elements for doing 100% cloud development including Virtual JTAG (Vivado ChipScope), Virtual LEDs and Virtual DIP-switch. No development board is provided for on-premises development.
88
-
89
-
147
+
90
148
91
149
**Q: Do I need to design for a specific power envelope?**
92
150
93
-
Yes, the design scripts provided in the HDK include checks for power consumption that exceeds the allocated power for the Custom Logic (CL) region. Developers do not need to include design considerations for DRAM, Shell, or Thermal. AWS includes the design considerations for
94
-
those as part of providing the power envelop for the CL region.
151
+
Yes, the design scripts provided in the HDK include checks for power consumption that exceeds the allocated power for the Custom Logic (CL) region. Developers do not need to include design considerations for DRAM, Shell, or Thermal. AWS includes the design considerations for those as part of providing the power envelop for the CL region.
95
152
96
153
97
154
98
155
**Q: What IP blocks are provided in the HDK?**
99
156
100
-
The HDK includes IP for the Shell and DRAM interface controllers. Inside the Shell there is a PCIe interface, DMA Engine, and one DRAM interface controller. These blocks are only accessible via the AXI interfaces defined by the Shell-Custom Logic interface. The HDK provides additional IP blocks for the other DRAM interfaces, enabling up to 3 additional DRAM interfaces instantiated by the developer in the Custom Logic region.
157
+
The HDK includes IP for AWS Shell and DRAM interface controllers. Inside the Shell, there is a PCIe interface, DMA Engine, and one DRAM interface controller. These blocks are only accessible via the AXI interfaces defined by the Shell-Custom Logic interface. The HDK provides additional IP blocks for the other DRAM interfaces, enabling up to 3 additional DRAM interfaces instantiated by the developer in the Custom Logic region.
101
158
102
-
*Notethat future versions of the HDK will include IP for the FPGA Link interface.
159
+
**Note***that future versions of the HDK will include IP for the FPGA Link interface.*
103
160
104
161
105
162
106
163
**Q: Can I use other IP blocks from Xilinx or other 3rd parties?**
107
164
108
165
Yes. Developers are free to use any IP blocks within the Custom Logic region. Those can be 3rd party IP or IP available in the Vivado IP catalog.
109
166
110
-
*Notethat AWS supports only the IP blocks contained in the HDK.
167
+
**Note***that AWS supports only the IP blocks contained in the HDK.*
0 commit comments