From 846fd71b5614f1cf7640551ca3b424ce9b9c2051 Mon Sep 17 00:00:00 2001 From: Winefred Washington Date: Wed, 19 Apr 2017 12:24:16 -0700 Subject: [PATCH] Placing SDK/HDK 1.2.0 onto master Change-Id: I5940a6675e33bbaeda1395909217eaa9c4f628d0 --- hdk/cl/examples/README.md | 8 +- .../new_cl_template/build/README.md | 96 ++----------------- 2 files changed, 11 insertions(+), 93 deletions(-) diff --git a/hdk/cl/examples/README.md b/hdk/cl/examples/README.md index 35ae13f74..7fff73916 100644 --- a/hdk/cl/examples/README.md +++ b/hdk/cl/examples/README.md @@ -163,11 +163,11 @@ Once your policy passes the checks, your ready to start AFI creation. The output of this command includes two identifiers that refer to your AFI: - **FPGA Image Identifier** or **AFI ID**: this is the main ID used to manage your AFI through the AWS EC2 CLI commands and AWS SDK APIs. This ID is regional, i.e., if an AFI is copied across multiple regions, it will have a different unique AFI ID in each region. - An example AFI ID is **`afi-01234567890abcdef`**. + An example AFI ID is **`agfi-0f0e045f919413242`**. - **Glogal FPGA Image Identifier** or **AGFI ID**: this is a global ID that is used to refer to an AFI from within an F1 instance. For example, to load or clear an AFI from an FPGA slot, you use the AGFI ID. Since the AGFI IDs is global (by design), it allows you to copy a combination of AFI/AMI to multiple regions, and they will work without requiring any extra setup. - An example AGFI ID is **`agfi-01234567890abcdef`**. + An example AGFI ID is **`agfi-0f0e045f919413242`**. After the AFI generation is complete, AWS will put the logs into the bucket location (```s3:///```) provided by the developer. The presence of these logs is an indication that the creation process is complete. Please look for either a “State” file indicating the state of the AFI (e.g., available or failed), or the Vivado logs detailing errors encountered during the creation process. For help with AFI creation issues, see [create-fpga-image error codes](../../docs/create_fpga_image_error_codes.md) @@ -218,7 +218,7 @@ If the describe returns a status 'Busy', the FPGA is still performing the previo Now, let us try loading your AFI to FPGA `slot 0`: ``` - $ sudo fpga-load-local-image -S 0 -I agfi-0123456789abcdefg + $ sudo fpga-load-local-image -S 0 -I agfi-0f0e045f919413242 ``` @@ -229,7 +229,7 @@ Now, you can verify that the AFI was loaded properly. The output shows the FPGA $ sudo fpga-describe-local-image -S 0 -R -H Type FpgaImageSlot FpgaImageId StatusName StatusCode ErrorName ErrorCode ShVersion - AFI 0 agfi-0123456789abcdefg loaded 0 ok 0 + AFI 0 agfi-0f0e045f919413242 loaded 0 ok 0 Type FpgaImageSlot VendorId DeviceId DBDF AFIDEVICE 0 0x6789 0x1d50 0000:00:0f.0 ``` diff --git a/hdk/common/shell_v04151701/new_cl_template/build/README.md b/hdk/common/shell_v04151701/new_cl_template/build/README.md index 41a1baf02..6ba182111 100644 --- a/hdk/common/shell_v04151701/new_cl_template/build/README.md +++ b/hdk/common/shell_v04151701/new_cl_template/build/README.md @@ -2,12 +2,12 @@ # Table of Contents -1. [Overview of AFI Build process] (#buildoverview) -2. [Build procedure step by step] (#stepbystep) -3. [Build strategies and parallel builds] (#strategies) -4. [About Encrption during build process] (#buildencryption) -5. [Advanced Notes] (#buildadvanced notes) -6. [Build Frequently Asked Questions] (#buildfaq) +1. [Overview of AFI Build process](#buildoverview) +2. [Build procedure step by step](#stepbystep) +3. [Build strategies and parallel builds](#strategies) +4. [About Encrption during build process](#buildencryption) +5. [Advanced Notes](#buildadvanced notes) +6. [Build Frequently Asked Questions](#buildfaq) @@ -139,89 +139,7 @@ You need to prepare the following information: **NOTE**: *The PCI IDs for the example CLs should be found in the README files in the respective CL example directory. If you are building a custom CL, then you need to incorporate these values in your design as shown in the [AWS Shell Interface Specifications](./../../../../docs/AWS_Shell_Interface_Specification.md#pcie-ids).* -To upload your tarball file to S3, you can use any of [the tools supported by S3](http://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html)). -For example, you can use the AWS CLI as follows: - - $ aws s3 mb s3:// # Create an S3 bucket (choose a unique bucket name) - $ aws s3 cp *.Developer_CL.tar \ # Upload the file to S3 - s3:/// - -Now you need to provide AWS (Account ID: 365015490807) the appropriate [read/write permissions](http://docs.aws.amazon.com/AmazonS3/latest/dev/example-walkthroughs-managing-access-example2.html) to your S3 buckets. -Below is a sample policy. - -**NOTE**: *The AWS Account ID has changed, please ensure you are using the correct Account ID listed here.* - - { - "Version": "2012-10-17", - "Statement": [ - { - "Sid": "Bucket level permissions", - "Effect": "Allow", - "Principal": { - "AWS": "arn:aws:iam::365015490807:root" - }, - "Action": [ - "s3:ListBucket" - ], - "Resource": "arn:aws:s3:::" - }, - { - "Sid": "Object read permissions", - "Effect": "Allow", - "Principal": { - "AWS": "arn:aws:iam::365015490807:root" - }, - "Action": [ - "s3:GetObject" - ], - "Resource": "arn:aws:s3:::/" - }, - { - "Sid": "Folder write permissions", - "Effect": "Allow", - "Principal": { - "AWS": "arn:aws:iam::365015490807:root" - }, - "Action": [ - "s3:PutObject" - ], - "Resource": "arn:aws:s3:::/*" - } - ] - } - -You can verify that the bucket policy grants the required permissions by running the following script: - - $ check_s3_bucket_policy.py \ - --dcp-bucket \ - --dcp-key \ - --logs-bucket \ - --logs-key - -To create an AFI execute the following command: - - $ aws ec2 create-fpga-image \ - --name \ - --description \ - --input-storage-location Bucket=,Key= \ - --logs-storage-location Bucket=,Key= \ - [ --client-token ] \ - [ --dry-run | --no-dry-run ] - -The output of this command includes two identifiers that refer to your AFI: -- **FPGA Image Identifier** or **AFI ID**: this is the main ID used to manage your AFI through the AWS EC2 CLI commands and AWS SDK APIs. - This ID is regional, i.e., if an AFI is copied across multiple regions, it will have a different unique AFI ID in each region. - An example AFI ID is **`afi-01234567890abcdef`**. -- **Glogal FPGA Image Identifier** or **AGFI ID**: this is a global ID that is used to refer to an AFI from within an F1 instance. - For example, to load or clear an AFI from an FPGA slot, you use the AGFI ID. - Since the AGFI IDs is global (by design), it allows you to copy a combination of AFI/AMI to multiple regions, and they will work without requiring any extra setup. - An example AGFI ID is **`agfi-01234567890abcdef`**. - -After the AFI generation is complete, AWS will put the logs into the bucket location provided by the developer and notify them -by email. - -**NOTE**: *Attempting to associate the AFI to an AMI before the AFI is ready will result in an `InvalidFpgaImageID.Unavailable` error. -Please wait until you receive a confirmation email from AWS indicating the creation process is complete.* +[Refer to step 3 for instructions on how to submit the Design Checkpoint to AWS](./../../../../cl/examples/README.md) ## Build Strategies and Parallel Builds