Skip to content

Commit 6c707ab

Browse files
authored
Merge pull request #455 from aws/RC_v1_4_8
Release V1.4.8
2 parents 5c2be56 + 0f67805 commit 6c707ab

File tree

130 files changed

+3429
-11483
lines changed

Some content is hidden

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

130 files changed

+3429
-11483
lines changed

.gitmodules

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,8 @@
55
[submodule "SDAccel/examples/xilinx_2018.2"]
66
path = SDAccel/examples/xilinx_2018.2
77
url = https://github.com/Xilinx/SDAccel_Examples.git
8-
branch = master
8+
branch = 2018.2
9+
[submodule "SDAccel/examples/xilinx_2018.3"]
10+
path = SDAccel/examples/xilinx_2018.3
11+
url = https://github.com/Xilinx/SDAccel_Examples.git
12+
branch = master

ERRATA.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,12 @@
77
## HDK
88
* Multiple SDE instances per CL is not supported in this release. Support planned for future release.
99
* DRAM Data retention is not supported for CL designs with less than 4 DDRs enabled
10+
* Combinatorial loops in CL designs are not supported.
11+
* Shell Model (sh_bfm) provided with testbench for design simulations, continues to drive read data on PCIM AXI rdata channel even when rready is de-asserted. Will be fixed in future release.
1012

1113
## SDK
1214

1315
## SDAccel (For additional restrictions see [SDAccel ERRATA](./SDAccel/ERRATA.md))
1416
* Virtual Ethernet is not supported when using SDAccel
1517
* DRAM Data retention is not supported for kernels that provision less than 4 DDRs
18+
* Combinatorial loops in CL designs are not supported.

Jenkinsfile

Lines changed: 411 additions & 436 deletions
Large diffs are not rendered by default.

RELEASE_NOTES.md

Lines changed: 44 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,41 @@
2626
* 1 DDR controller implemented in the SH (always available)
2727
* 3 DDR controllers implemented in the CL (configurable number of implemented controllers allowed)
2828

29+
## Release 1.4.8 (See [ERRATA](./ERRATA.md) for unsupported features)
30+
* FPGA developer kit supports Xilinx SDx/Vivado 2018.3
31+
* We recommend developers upgrade to v1.4.8 to benefit from the new features, bug fixes, and optimizations. To upgrade, use [Developer AMI v1.6.0](https://aws.amazon.com/marketplace/pp/B06VVYBLZZ) on AWS Marketplace. The Developer Kit scripts (hdk_setup.sh or sdaccel_setup.sh) will detect the tool version and update the environment based on requirements needed for Xilinx 2018.3 tools.
32+
* Ease of Use features:
33+
* Support for importing results into SDx GUI - By importing results from a script-based flow into SDx IDE, developers can leverage the tools for debug/profiling while keeping flexibility of the script-based flow
34+
* Vivado HLS developers can now import designs into SDAccel environment to leverage emulation, debug and run-time software
35+
* New functionality:
36+
* The following HLS Video Processing cores are now license free and come installed with Vivado (VPSS, Video Mixer, Video TPG, Frame Buffer WR/RD, Gamma LUT, Demosaic, VTC)
37+
* Improved XCLBIN utilities designed for automating the management of accelerator designs
38+
* Incremental compile reduces build times
39+
* [Python bindings for AWS FPGA MGMT Tools](sdk/userspace/python_bindings/README.md)
40+
41+
* Fixed Issues
42+
* [Fixes printf in main of fpga_local_cmd](https://github.com/aws/aws-fpga/pull/450)
43+
* [Fixes SV dma read function to work with unprintable chars](https://github.com/aws/aws-fpga/pull/412)
44+
* [Fixes Segmentation Fault in cl_sde simulation test](https://forums.aws.amazon.com/thread.jspa?threadID=298946&tstart=0)
45+
* [Fixes test issues in cl_dram_dma example when using the AXI memory model for faster simulations](./hdk/cl/examples/cl_dram_dma/verif/README.md)
46+
47+
* Deprecated Features
48+
* As announced in HDK 1.4.6 all EDMA driver code has been removed and deprecated from the developer kit.
49+
* AWS recommends using the [XDMA](sdk/linux_kernel_drivers/xdma/README.md) driver for your applications.
50+
51+
* Package versions used for validation
52+
53+
| Package | AMI 1.6.0 [2018.3] |AMI 1.5.0 [2018.2] | AMI 1.4.0 [2017.4] |
54+
|---------|------------------------|------------------------|-----------------------|
55+
| OS | Centos 7.6 | Centos 7.5, 7.6 | Centos 7.4 |
56+
| kernel | 3.10.0-957.5.1.el7.x86_64 | 3.10.0-862.11.6.el7.x86_64, 3.10.0-957.1.3.el7.x86_64 | 3.10.0-693.21.1.el7.x86_64 |
57+
| kernel-devel | 3.10.0-957.5.1.el7.x86_64 | 3.10.0-862.11.6.el7.x86_64, 3.10.0-957.1.3.el7.x86_64 | 3.10.0-693.21.1.el7.x86_64 |
58+
| LIBSTDC++ | libstdc++-4.8.5-36.el7.x86_64 | libstdc++-4.8.5-36.el7.x86_64 | libstdc++-4.8.5-16.el7_4.2.x86_64 |
59+
60+
61+
62+
63+
2964
## Release 1.4.7 (See [ERRATA](./ERRATA.md) for unsupported features)
3065

3166
* Adds [Xilinx Runtime (XRT)](https://github.com/Xilinx/XRT/releases/tag/2018.2_XDF.RC5) Support for Linux kernel 3.10.0-957.1.3.el7.x86_64 & Centos 7.6
@@ -50,7 +85,7 @@
5085
* Please see XRT installation instructions [here](hdk/docs/SDxPatch_AR71715_and_XRT_installation_instructions.md#installing-xilinx-runtime-xrt-20182_xdfrc4)
5186
* EDMA Driver is no longer supported.
5287
* AWS strongly recommends moving your applications to [XDMA](sdk/linux_kernel_drivers/xdma/README.md).
53-
* [EDMA Driver](sdk/linux_kernel_drivers/edma/README.md) will be fully removed from Developer kit 1.4.7+.
88+
* EDMA Driver will be fully removed from Developer kit 1.4.7+.
5489
* Fixed Issues
5590
* [NULL definition include in header file](https://github.com/aws/aws-fpga/pull/414)
5691
* [Improved messaging for AFI builder script](https://github.com/aws/aws-fpga/pull/407)
@@ -122,7 +157,7 @@
122157
* Developers that choose to develop on-premises need to have Xilinx license 'EF-VIVADO-SDX-VU9P-OP' installed. For more help, please refer to the [on-premises licensing help](./hdk/docs/on_premise_licensing_help.md)
123158
* The following simulators are supported with this HDK:
124159
**Vivado XSIM RTL simulator
125-
** MentorGraphic's Questa RTL simulator (with a separate license from MentorGraphics)
160+
** Mentor Graphics' Questa RTL simulator (with a separate license from MentorGraphics)
126161
** Synopsys' VCS RTL simulator (with a separate license from Synopsys)
127162

128163
## License Requirements
@@ -177,8 +212,8 @@ The following major features are included in this HDK release:
177212
* Multi-queue in each direction is now supported
178213
* The DMA bus toward the CL is multiplexed over sh_cl_dma_pcis AXI4 interface so the same address space can be accessed via DMA or directly via PCIe AppPF BAR4
179214
* DMA usage is covered in the new [CL_DRAM_DMA example](./hdk/cl/examples/cl_dram_dma) RTL verification/simulation and Software
180-
* A corresponding AWS Elastic DMA ([EDMA](./sdk/linux_kernel_drivers/edma)) driver is provided.
181-
* [EDMA Installation Readme](./sdk/linux_kernel_drivers/edma/edma_install.md) provides installation and usage guidelines
215+
* A corresponding AWS Elastic DMA (EDMA) driver is provided.
216+
* EDMA Installation Readme provides installation and usage guidelines
182217
* See [Kernel_Drivers_README](./sdk/linux_kernel_drivers/README.md) for more information on restrictions for this release
183218

184219

@@ -245,7 +280,7 @@ See example for more details [CL_HELLO_WORLD_VHDL](./hdk/cl/examples/cl_hello_wo
245280

246281
### Release 1.3.5 (See [ERRATA](./ERRATA.md) for unsupported features)
247282
* [Amazon FPGA Images (AFIs) Tagging](hdk/docs/describe_fpga_images.md) - To help with managing AFIs, you can optionally assign your own metadata to each AFI in the form of tags. Tags are managed using the AWS EC2 CLI commands create-tags, describe-tags and delete-tags. Tags are custom key/value pairs that can be used to identify or group EC2 resources, including AFIs. Tags can be used as filters in the describe-fpga-images API to search and filter the AFIs based on the tags you add.
248-
* [EDMA driver fixes and improvements](sdk/linux_kernel_drivers/edma/README.md), including polled DMA descriptor completion mode which improves performance on smaller IO (<1MB).
283+
* EDMA driver fixes and improvements, including polled DMA descriptor completion mode which improves performance on smaller IO (<1MB).
249284
* [AFI Power metrics and warnings](hdk/docs/afi_power.md) – developers can avoid power violations by monitoring metrics that provide recent FPGA power, maximum FPGA power, and average FPGA power. CL designs can use power state pins to help developers throttle CL to avoid power violation.
250285
* Improved IPI 3rd party simulator support.
251286
* Simulation model fixes.
@@ -326,16 +361,16 @@ See example for more details [CL_HELLO_WORLD_VHDL](./hdk/cl/examples/cl_hello_wo
326361
#### 2. Integrated DMA in Beta Release. AWS Shell now includes DMA capabilities on behalf of the CL
327362
* The DMA bus toward the CL is multiplexed over sh_cl_dma_pcis AXI4 interface so the same address space can be accessed via DMA or directly via PCIe AppPF BAR4
328363
* DMA usage is covered in the new [CL_DRAM_DMA example](./hdk/cl/examples/cl_dram_dma) RTL verification/simulation and Software
329-
* A corresponding AWS Elastic DMA ([EDMA](./sdk/linux_kernel_drivers/edma)) driver is provided.
330-
* [EDMA Installation Readme](./sdk/linux_kernel_drivers/edma/edma_install.md) provides installation and usage guidelines
364+
* A corresponding AWS Elastic DMA (EDMA) driver is provided.
365+
* EDMA Installation Readme provides installation and usage guidelines
331366
* The initial release supports a single queue in each direction
332367
* DMA support is in Beta stage with a known issue for DMA READ transactions that cross 4K address boundaries. See [Kernel_Drivers_README](./sdk/linux_kernel_drivers/README.md) for more information on restrictions for this release
333368

334369

335370
#### 3. CL User-defined interrupt events. The CL can now request sending MSI-X to the instance CPU
336371
* * Usage covered in new [CL_DRAM_DMA example](./hdk/cl/examples/cl_dram_dma)
337-
* A corresponding AWS EDMA driver is provided under [/sdk/linux_kernel_drivers/edma](./sdk/linux_kernel_drivers/edma)
338-
* [EDMA Installation](./sdk/linux_kernel_drivers/edma/edma_install.md) provides installation and usage guidlines
372+
* A corresponding AWS EDMA driver is provided under `/sdk/linux_kernel_drivers/edma`
373+
* EDMA Installation Readme provides installation and usage guidelines
339374
* The initial release supports a single user-defined interrupt
340375

341376
#### 4. Added a Mandatory Manifest.txt file submitted with each DCP via create-fpga-image API

SDAccel/ERRATA.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Known Restrictions
22
* OpenCL support is limited to OpenCL 1.0 core specifications.
3-
* For complete list of the supported OpenCL APIs, please refer to [Appendix B in Xilinx' UG1023](https://www.xilinx.com/support/documentation/sw_manuals/xilinx2017_1/ug1023-sdaccel-user-guide.pdf)
3+
* For a complete list of the supported OpenCL APIs, please refer to [Appendix B in Xilinx' UG1023 2018.3](https://www.xilinx.com/support/documentation/sw_manuals/xilinx2018_3/ug1023-sdaccel-user-guide.pdf)
44
* On device - only Global memory (i.e. external DRAM) is supported.
55
* Shared Virtual Memory (SVM) is not supported.

SDAccel/FAQ.md

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,10 @@ A: First double check that your AFI has been generated successfully by reviewin
66

77
## Q: During AFI generation (create_sdaccel_afi.sh), how do I resolve this error: "An error occurred (AuthFailure) when calling the CreateFpgaImage operation: AWS was not able to validate the provided access credentials"?
88

9-
A: The script has output an error, therefore, for AFI generation to complete you will need to resolve this error.
10-
"An error occurred (AuthFailure) when calling the CreateFpgaImage operation: AWS was not able to validate the provided access credentials"
11-
12-
This error message means your AWS credentials were not setup properly or your IAM does not have access to the API (CreateFpgaImage). Here is some additional info on how to setup IAM privileges.
9+
A: For an AFI generation to complete all errors must be resolved. This error ("An error occurred (AuthFailure) when calling the CreateFpgaImage operation: AWS was not able to validate the provided access credentials") message means your AWS credentials were not setup properly or your IAM does not have access to the API (CreateFpgaImage). Here is some additional info on how to setup IAM privileges.
1310
http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ec2-api-permissions.html
1411

15-
You may want to test you IAM policy using DescribeFpgaImage API:
12+
AWS Accounts require IAM permisions to access API functions. To test your IAM permissions use DescribeFpgaImage API:
1613
https://github.com/aws/aws-fpga/blob/master/hdk/docs/describe_fpga_images.md
1714

1815
## Q: During AFI generation (create_sdaccel_afi.sh), my AFI failed to generate and I see this error message in the log: "Provided clocks configuration is illegal. See AWS FPGA HDK documentation for supported clocks configuration. Frequency 0 is lower than minimal supported frequency of 80", how do I debug this message?
@@ -26,12 +23,12 @@ AWS uses a modified version of the xclbin called awsxclbin. The awsxclbin conta
2623

2724
## Q: What can we investigate when xocc fails with a path not meeting timing?
2825
A: An example is WARNING: [XOCC 60-732] Link warning: One or more timing paths failed timing targeting <ORIGINAL_FREQ> MHz for <CLOCK_NAME>. The frequency is being automatically changed to <NEW_SCALED_FREQ> MHz to enable proper functionality.
29-
1. Generally speaking, lowering the clock will make the design functional in terms of operations (since there will not be timing failures) but the design might not operate at the performance needed due this clock frequency change. We can review what can be done.
30-
1. If CLOCK_NAME is `kernel clock 'DATA_CLK'` then this is the clock that drives the kernels. Try reduce kernel clock frequency see --kernel_frequency option to xocc in [latest SDAccel Environment User Guide]
26+
1. Generally speaking, lowering the clock will make the design functionally operational in terms of operations (since there will not be timing failures) but the design might not operate at the performance needed due this clock frequency change. We can review what can be done.
27+
1. If CLOCK_NAME is `kernel clock 'DATA_CLK'` then this is the clock that drives the kernels. Try reducing the kernel clock frequency see --kernel_frequency option to xocc in [latest SDAccel Environment User Guide]
3128
1. If CLOCK_NAME is `system clock 'clk_main_a0'` then this is the clock clk_main_a0 which drives the AXI interconnect between the AWS Shell and the rest of the platform (SDAccel peripherals and user kernels). Using --kernel_frequency as above does not have any direct effect but might have side effect in changing the topology/placement of the design and improve this issue.
3229
1. If OCL/C/C++ kernels were also used, investigate VHLS reports / correlate with kernel source code to see if there are functions with large number of statements in basic block, examples: might have unrolled loops with large loop-count, might have a 100++ latency; the VHLS runs and log files are located in the directory named `_xocc*compile*`
3330
1. Try `xocc -O3` to run bitstream creation process with higher efforts.
34-
1. Open vivado implementation project ```vivado `find -name ipiimpl.xpr` ``` to analyze the design; needs Vivado knowledge; see [UltraFast Design Methodology Guide for the Vivado][latest UG949]
31+
1. Open a Vivado implementation project using ```vivado `find -name ipiimpl.xpr` ``` to analyze the design; needs Vivado knowledge; see [UltraFast Design Methodology Guide for the Vivado][latest UG949]
3532

3633
## Q: xocc issues message WARNING: [XOCC 204-69] Unable to schedule ...due to limited memory ports.
3734
A: This may lower the performance of the implementation.
@@ -41,24 +38,23 @@ Details on this are provided in [Debug HLS Performance: Limited memory ports]
4138
A: Examine utilization reports. If OCL/C/C++ kernels were also used, look into the source code for excessive unroll happening.
4239

4340
## Q: How do I open the design as a Vivado project (.xpr)?
44-
A: There are 2 vivado project files:
41+
A: There are 2 Vivado project files:
4542
1. CL Design - from command line: ```vivado `find -name ipiprj.xpr\` ``` to see the connectivity of the created design
4643
1. Implementation project - from command line: ```vivado `find -name ipiimpl.xpr\` ``` to analyze the design in the place and routing design phases. For an additional Vivado Design reference, see [UltraFast Design Methodology Guide for the Vivado][latest UG949]
4744

4845
## Q: What should I do if FPGA instance execution gets the wrong results or gets stuck?
4946
A:
50-
1. Verify hw_emu works as expected. Using less data in hw_emu
51-
1. Add assert where run fails and check same conditions for hw_emu
47+
1. Verify hw_emu works as expected
5248
1. See "Chapter 4 - Debugging Applications in the SDAccel Environment" in [latest SDAccel Environment User Guide]
5349

5450
## Q: Bitstream creation fails to create design less that 60 MHz?
55-
A: SDAccel flow does not allow clocks running less that 60 MHz kernel clock, therefore, you will need to debug further using [HLS Debug suggestions](./docs/SDAccel_HLS_Debug.md)
51+
A: SDAccel flow does not allow clocks running less than 60 MHz kernel clock, therefore, you will need to debug further using [HLS Debug suggestions](./docs/SDAccel_HLS_Debug.md)
5652

5753
## Q: Using the .dcp file generated from xocc results in an error?
58-
A: Directly using the .dcp file without conversion to .xclbin file will result in an error - Error: ... invalid binary. See [Instructions on how to create AFI and subsequent execution process](./README.md#createafi)
54+
A: Directly using the .dcp file without conversion to .awsxclbin file will result in an error - Error: ... invalid binary. See [Instructions on how to create AFI and subsequent execution process](./README.md#createafi)
5955

6056
## Q: Debugging using gdb in SDX gui is not working?
61-
A: Please make sure you executed the following commands before launching SDX gui.
57+
A: Please make sure you executed the following commands before launching the SDx gui.
6258
1. mv /usr/local/Modules/init init.bak
6359
2. unset –f switchml
6460
3. unset –f _moduleraw

0 commit comments

Comments
 (0)