Skip to content

Commit 20fe901

Browse files
authored
Merge pull request #777 from aws/rc/2.3.0
rc/2.3.0
2 parents 5d383f4 + 4191b56 commit 20fe901

193 files changed

Lines changed: 10859 additions & 8212 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ vivado*.log
120120

121121
# pytest artifacts
122122
.cache/
123+
docs-rtd/source/.pytest-cache/
123124

124125
# Patches
125126
patches/*

.gitmodules

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
[submodule "vitis/examples/Vitis_Accel_Examples"]
2-
path = vitis/examples/Vitis_Accel_Examples
3-
url = https://github.com/Xilinx/Vitis_Accel_Examples.git
4-
branch = 2024.1
51
[submodule "hdk/common/ip"]
62
path = hdk/common/ip
73
url = https://github.com/aws/aws-fpga-resources.git
84
ignore = dirty
5+
branch = Vivado_2025.2-hdk/common/ip
96
[submodule "hdk/common/shell_stable/hlx"]
107
path = hdk/common/shell_stable/hlx
118
url = https://github.com/aws/aws-fpga-resources.git

ERRATA.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Shell errata is [documented here](./hdk/docs/AWS_Shell_ERRATA.md)
3232

3333
5. XSIM simulator does not support a cycle-accurate simulation model for the HBM IP. We’re observing significantly longer simulation times compared to VCS and Questa simulators. This is caused by the HBM BFM used in XSIM. Therefore, running HBM simulation using VCS or Questa is strongly recommended.
3434

35-
6. Simulation of the [HBM monitor interface](./hdk/docs/AWS_Shell_Interface_Specification.md/#hbm-monitor-interface) is not supported in this release. The HBM IP always passes initialization and remains in an operating state for all tests. Simulation support for the HBM monitor will be added in a future release.
35+
6. Simulation of the [HBM monitor interface](./hdk/docs/AWS_Shell_Interface_Specification.md#hbm-monitor-interface) is not supported in this release. The HBM IP always passes initialization and remains in an operating state for all tests. Simulation support for the HBM monitor will be added in a future release.
3636

3737
7. AFIs created based on HDK XDMA shell or Vitis are not supported on F2 instances at this time.
3838

@@ -41,6 +41,8 @@ Shell errata is [documented here](./hdk/docs/AWS_Shell_ERRATA.md)
4141
9. Vivado 2025.1 introduces a `set_property DONT_TOUCH` to the HBM model that makes meeting
4242
timing difficult in the implementation stage. AMD has responded to this issue on their AR, stating that it will be fixed in a future version of Vivado. [See here for more details](https://adaptivesupport.amd.com/s/article/000038502?language=en_US&t=1754923887312). All HDK CL examples have been updated to address this issue. Customers should follow this AR when creating their own designs.
4343

44+
10. Due to a XSIM bug in Vivado 2025.2, simulation library compilation with VCS and Questa requires a double compilation workaround, already added to `Makefile.common.inc`, until AMD releases a fix. This results in slightly longer compilation time and generation of a `cxl_error.log` file with an expected error caused by the `sc_ultralite_v1_0_rfs.vhd` file (which can be safely ignored).
45+
4446
## HLx
4547

4648
1. When executing the `aws::make_ipi` command in Vivado to set up the HLx IPI environment, the AWS IP instance may default to the name `f1_inst`. This is a known Vivado behavior and can be safely ignored. Users can rename this instance according to their preference.

README.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,14 @@
33

44
# AWS F2
55

6-
## F2 FPGA Developer Kit Documentation on ReadTheDocs
7-
8-
The documentation for the F2 FPGA Developer Kit including our User Guide, tutorials, code snippets, and more can now be found on [our ReadTheDocs website](https://awsdocs-fpga-f2.readthedocs-hosted.com).
9-
10-
**Please note that the documentation and assets provided on this branch and others prefixed with `f2` are relevant to F2 instances only!**
11-
126
## F2 FPGA Development Kit Overview
137

148
The F2 FPGA Development Kit is a hardware-software development kit that enables developers to create accelerators for the high-performance accelerator cards on EC2 F2 instances. Using the development kit, you can architect, simulate, optimize, and test your designs.
159

10+
## F2 FPGA Developer Kit Documentation on ReadTheDocs
11+
12+
The documentation for the F2 FPGA Developer Kit including our User Guide, tutorials, code snippets, and more can now be found on [our ReadTheDocs website](https://awsdocs-fpga-f2.readthedocs-hosted.com).
13+
1614
# Support
1715

1816
For any issues with this developer kit documentation or code, please open a [GitHub issue](https://github.com/aws/aws-fpga/issues) with all steps to reproduce.

RELEASE_NOTES.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
# F2 Developer Kit Release Notes
22

3+
## v2.3.0
4+
5+
* Vivado/Vitis 2025.2 Support
6+
* Both the [FPGA Developer AMI (Ubuntu) - 1.19.0](https://aws.amazon.com/marketplace/pp/prodview-tcl7sjgreh6bq) and [FPGA Developer AMI (Rocky Linux) - 1.19.0](http://aws.amazon.com/marketplace/pp/prodview-7mukkbz7l2uvu) are available with 2025.2 tools installed and ready to use
7+
* [See what's new in Vivado 2025.2 here](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/vivado/vivado-whats-new.html#tabs-de9b056824-item-d69fba5dd6-tab)
8+
* [See what's new in Vitis 2025.2 here](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/vitis/vitis-whats-new.html)
9+
* AWS EC2 F2 Runtime AMI Builder (RAB) Update
10+
* Added support for [Vivado Lab Edition 2025.2](https://docs.amd.com/r/en-US/ug908-vivado-programming-debugging/Vivado-Lab-Edition)
11+
* Virtual Ethernet Driver
12+
* Updated to use natively-available kernel modules instead of DPDK ones
13+
* HDK Devkit Updates
14+
* Cleaned up the legacy code in the [`power_up()` simulation task](./hdk/common/verif/models/sh_bfm/sh_bfm.sv#L1218-L1253) to align with the correct shell clock scheme.
15+
* Due to a XSIM bug in Vivado 2025.2, a double compilation workaround is added in `Makefile.common.inc` (see [ERRATA](./ERRATA.md#hdk) for more details)
16+
* AFI and AMI Creation Permission Requirements
17+
* Added [Setting Up IAM Roles for DevKit Use](./developer_resources/Setting_up_IAM_roles_for_devkit_use.md) doc that shows how to set up an IAM role and the minimum permission configurations needed to create each of these artifacts
18+
319
## v2.2.2
420

521
* Introducing the AWS EC2 F2 Runtime AMI Builder (RAB)
@@ -41,10 +57,10 @@
4157
## v2.1.1
4258

4359
* Added global register offset for the SDE IP. See [CL_SDE software examples](./hdk/cl/examples/cl_sde/software/src/README.md).
44-
* Added [CL_SDE software exmaple](./hdk/cl/examples/cl_sde/software/src/sde_c2h_user_buffers.c) for a user allocated DMA buffer.
60+
* Added [CL_SDE software example](./hdk/cl/examples/cl_sde/software/src/sde_c2h_user_buffers.c) for a user allocated DMA buffer.
4561
* [Documentation](./hdk/docs/List_AFI_on_Marketplace.md) to assist F2 customers with releasing AFIs and AMIs on the AWS Marketplace.
4662
* [Documentation](./developer_resources/Amazon_DCV_Setup_Guide.md) to assist in creating a virtual desktop based on the FPGA Developer AMI running graphics-intensive applications remotely on Amazon EC2 instances.
47-
* Fixed the BW calculation and tolerance calculation in the test_hbm_perf_random in the [cl_mem_perf](./hdk/cl/examples/cl_mem_perf/verif/README.md#test_hbm_perf_randomsv).
63+
* Fixed the BW calculation and tolerance calculation in the test_hbm_perf_random in the [cl_mem_perf](./hdk/cl/examples/cl_mem_perf/verif/README.md#system-verilog-tests).
4864

4965
## v2.1.0
5066

User_Guide_AWS_EC2_FPGA_Development_Kit.md

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,19 @@
22

33
The development kit includes example designs to get you familiar with developing for AWS EC2 FPGA Instances.
44

5-
- [AWS EC2 FPGA Development Kit](#aws-ec2-fpga-development-kit)
6-
- [AWS EC2 F2 Instance Overview](#aws-ec2-f2-instance-overview)
7-
- [Instance Types](#instance-types)
8-
- [2nd Generation On-Cloud FPGA Accelerator Card](#2nd-generation-on-cloud-fpga-accelerator-card)
9-
- [Comparison to F1](#comparison-to-f1)
10-
- [AWS EC2 F2 FPGA Development Kit](#aws-ec2-f2-fpga-development-kit)
11-
- [Development Environments](#development-environments)
12-
- [Quick Start Links](#quick-start-links)
13-
- [AWS Shells](#aws-shells)
14-
- [Hardware Development Kit (HDK)](#hardware-development-kit-hdk)
15-
- [Software-Defined Development Environment](#software-defined-development-environment)
16-
- [FPGA Developer AMI](#fpga-developer-ami)
17-
- [Getting Familiar with AWS](#getting-familiar-with-aws)
18-
- [Next Steps](#next-steps)
5+
- [AWS EC2 F2 Instance Overview](#aws-ec2-f2-instance-overview)
6+
- [Instance Types](#instance-types)
7+
- [2nd Generation On-Cloud FPGA Accelerator Card](#f2-2nd-generation-on-cloud-fpga-accelerator-card)
8+
- [Comparison to F1](#comparison-to-f1)
9+
- [AWS EC2 F2 FPGA Development Kit](#aws-ec2-f2-fpga-development-kit)
10+
- [Development Environments](#development-environments)
11+
- [Quick Start Links](#quick-start-links)
12+
- [AWS Shells](#aws-shells)
13+
- [Hardware Development Kit (HDK)](#hardware-development-kit-hdk)
14+
- [Software-Defined Development Environment](#software-defined-development-environment)
15+
- [FPGA Developer AMI](#fpga-developer-ami)
16+
- [Getting Familiar with AWS](#getting-familiar-with-aws)
17+
- [Next Steps](#next-steps)
1918

2019
## AWS EC2 F2 Instance Overview
2120

@@ -27,7 +26,7 @@ This documentation is relevant to F2 only. Therefore, it applies to all branches
2726

2827
![f2_instances](./docs-rtd/source/_static/instance_sizes.png)
2928

30-
### 2nd Generation On-Cloud FPGA Accelerator Card
29+
### F2 2nd Generation On-Cloud FPGA Accelerator Card
3130

3231
![accel_card_specs](./docs-rtd/source/_static/accel_card_specs.png)
3332

@@ -43,11 +42,10 @@ This table lists the F2 development flows currently enabled and supported in the
4342

4443
| Development Environment | Description | Accelerator Language | Hardware Interface | Debug Options | Typical Developer |
4544
| ------------------------|-------------|----------------------|--------------------|---------------|-------------------|
46-
| Hardware accelerator development using Vivado (HDK) | This environment supports the Hardware Development Kit (HDK) design flow, which empowers FPGA developers to create accelerator designs from scratch, using HDL source code and IPs. <br><br>The AMD Vivado tool synthesizes, implements, and generates the Design Check Point (DCP) file used in F2 AFI creation. AWS FPGA developers benefit from the suite of scripts supplied in the HDK that help to automate different design steps. This allows for flexibility in architecting, implementing, and optimizing accelerator designs while using the HDK.| Verilog/SystemVerilog/VHDL | User-implemented DMA engine or Streaming Data Engine (SDE) | Simulation, Virtual JTAG | Hardware developers with advanced FPGA experience |
45+
| Hardware accelerator development using Vivado (HDK) | This environment supports the Hardware Development Kit (HDK) design flow, which empowers FPGA developers to create accelerator designs from scratch, using HDL source code and IPs. The AMD Vivado tool synthesizes, implements, and generates the Design Check Point (DCP) file used in F2 AFI creation. AWS FPGA developers benefit from the suite of scripts supplied in the HDK that help to automate different design steps. This allows for flexibility in architecting, implementing, and optimizing accelerator designs while using the HDK.| Verilog/System Verilog/VHDL | User-implemented DMA engine or Streaming Data Engine (SDE) | Simulation, Virtual JTAG | Hardware developers with advanced FPGA experience |
4746
| Hardware accelerator development using Vitis | This environment supports the Vitis design flow, which enables software developers to write C++ code, which may then be compiled into RTL and used in cycle-accurate hardware simulation. After it may then be built into an accelerator design. This step is not necessary, but is encouraged. Vitis may also be used to implement accelerator designs from scratch, using HDL and IPs directly, similar to Vivado. Vitis offers additional analysis tools to aid in the refinement of designs. | Verilog/System Verilog/VHDL | XDMA Engine (coming soon) | Hardware Emulation | Advanced software developers or hardware developers with intermediate to advanced FPGA experience |
4847
| Hardware accelerator development using Vivado IP Integrator (IPI) and High Level Design (HLx) | This environment supports the Vivado high-level design flow using IP integrator in the GUI. | Block Design in IP Integrator | AWS IP for HLx | Simulation, Virtual JTAG | Hardware developers with intermediate FPGA experience |
49-
50-
On-premise environment: Customers can set up a [on-premise development (with licensing requirements listed)](./hdk/docs/on_premise_licensing_help.md) environment for [supported AMD tool versions.](#hardware-development-kit-hdk).
48+
| On-premise environment | Customers can set up a [on-premise development (with licensing requirements listed)](./hdk/docs/on_premise_licensing_help.md) environment for [supported AMD tool versions.](#hardware-development-kit-hdk). | | | | |
5149

5250
### Quick Start Links
5351

@@ -65,7 +63,7 @@ On-premise environment: Customers can set up a [on-premise development (with lic
6563
<td style="text-align: center" rowspan="4"><a href="https://github.com/aws/aws-fpga/tree/f2/hdk/cl/examples/cl_mem_perf">cl_mem_perf</a></td>
6664
<td style="text-align: center" rowspan="4">Demonstrates fine-tuned paths to memory to maximize bandwidth</td>
6765
<td style="text-align: center" rowspan="4"><a href="./hdk/README.md#build-accelerator-afi-using-hdk-design-flow">Guided Example</a></td>
68-
<td style="text-align: center"><a href="./hdk/cl/examples/cl_mem_perf/README.md">Design Spec</a></td>
66+
<td style="text-align: center"><a href="https://github.com/aws/aws-fpga/tree/f2/hdk/cl/examples/cl_mem_perf/README.md">Design Spec</a></td>
6967
</tr>
7068
<tr>
7169
<td style="text-align: center"><a href="./hdk/cl/examples/cl_mem_perf/design/">Design Source Code</a></td>
@@ -187,11 +185,11 @@ The [HDK directory structure](./hdk/README.md) contains:
187185
- [cl/examples](./hdk/cl/examples): Multiple CL examples to demonstrate connectivity between CL logic, the F2 Shell, and accelerator resources like DDR and HBM.
188186
- Support for 3rd party simulators
189187

190-
191188
The HDK currently supports the following tool versions:
192189

193190
| AMD Vivado Design Suite | Synopsys VCS (Bring your own license) | Siemens Questa (Bring your own license) |
194191
|:------------------------|:---------------------------------------|:----------------------------------------|
192+
| 2025.2 | X-2025.06-SP1 | 2025.2_2 |
195193
| 2025.1 | W-2024.09-SP1 | 2024.3_3 |
196194
| 2024.2 | V-2023.12-SP1 | 2024.1_2 |
197195
| 2024.1 | U-2023.03-SP2 | 2023.3 |
@@ -202,7 +200,6 @@ Our scripts require a minimum Python version of 3.10, under `/usr/bin/env python
202200
|:-------|:----------------|
203201
| Python | 3.10+ |
204202

205-
206203
### Software-Defined Development Environment
207204

208205
The software-defined development environment allows customers to compile their C/C++/OpenCL code into AFIs and use C/C++/OpenCL APIs to interface with the accelerator, running on the FPGA. Software developers with little or no FPGA experience will be able to quickly familiarize themselves with the development experience that accelerates cloud applications. The optimized compiler, Vitis, allows easy F2 accelerator development using C/C++/OpenCL and/or Verilog/VHDL.
@@ -217,8 +214,8 @@ A free-to-use FPGA developer AMI is available for on-cloud F2 development with A
217214

218215
| FPGA Developer AMI Version | FPGA Developer AMI ID (us-east-1) | Vivado/Vitis Version Supported | Operating System Version |
219216
|----------------------------|-----------------------------------|--------------------------------|-----------------------------|
220-
| 1.18.0 | [ami-0cb1b6ae2ff99f8bf](http://aws.amazon.com/marketplace/pp/prodview-7mukkbz7l2uvu) | 2025.1 | Rocky Linux 8.10 (4.18.0-553.36.1.el8_10.x86_64)|
221-
| 1.18.0 | [ami-098b2ed4c92602975](http://aws.amazon.com/marketplace/pp/prodview-tcl7sjgreh6bq) | 2025.1 | Ubuntu 24.04 (kernel 6.8.0-1021-aws)|
217+
| 1.19.0 | [ami-06691812f80312a04](http://aws.amazon.com/marketplace/pp/prodview-tcl7sjgreh6bq) | 2025.2 | Ubuntu 24.04 (kernel 6.8.0-1021-aws)|
218+
| 1.19.0 | [ami-0648ba8008e805297](http://aws.amazon.com/marketplace/pp/prodview-7mukkbz7l2uvu) | 2025.2 | Rocky Linux 8.10 (4.18.0-553.36.1.el8_10.x86_64)|
222219
| 1.16.1 | [ami-092fc5deb8f3c0f7d](https://aws.amazon.com/marketplace/pp/prodview-f5kjsenkfkz5u) | 2024.1 | Ubuntu 20.04.6 (kernel 5.15)|
223220

224221
Given the large size of the FPGA used for F2, AMD tools work best with at least 4 vCPU’s and 32GiB Memory. We recommend [Compute Optimized and Memory Optimized instance types](https://aws.amazon.com/ec2/instance-types/) to successfully run the synthesis of acceleration code. Developers may start coding and run simulations on low-cost `General Purpose` [instances types](https://aws.amazon.com/ec2/instance-types/).

developer_resources/Amazon_DCV_Setup_Guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ graphical user interface (GUI) to visualize FPGA development in the cloud.
3333

3434
1. [Instance and IAM Configuration for DCV Licensing](https://docs.aws.amazon.com/dcv/latest/adminguide/setting-up-license.html#dcv-lic-req)
3535
2. [Dependency Installation](https://docs.aws.amazon.com/dcv/latest/adminguide/setting-up-installing-linux-prereq.html#linux-prereq-gui)
36-
- :warning: DO NOT PERFORM STEP 3! Upgrading may impact the stability of development kit software!
36+
- ⚠️ DO NOT PERFORM STEP 3! Upgrading may impact the stability of development kit software!
3737
3. [Protocol Setup](https://docs.aws.amazon.com/dcv/latest/adminguide/setting-up-installing-linux-prereq.html#linux-prereq-wayland)
3838
4. [Driver Installation and Setting Virtual Display Resolution](https://docs.aws.amazon.com/dcv/latest/adminguide/setting-up-installing-linux-prereq.html#linux-prereq-nongpu)
3939

0 commit comments

Comments
 (0)