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
Shell errata is [documented here](./hdk/docs/AWS_Shell_ERRATA.md)
6
6
7
7
## HDK
8
8
* Multiple SDE instances per CL is not supported in this release. Support is planned for a future release.
@@ -22,7 +22,7 @@ Q: Which designs does this bug affect?
22
22
A: This bug only affects designs that instantiate the sh_ddr module.
23
23
24
24
Q: How do I fix my design if I am affected by this bug?
25
-
A: Pull aws-fpga release v1.4.19 or laterfrom the aws-fpga github and rebuild your cl design.
25
+
A: Pull aws-fpga release v1.4.19 or later from the aws-fpga github and rebuild your cl design.
26
26
The flop_ccf.sv files from the latest release that contain the fix are: [sh_ddr/synth/flop_ccf.sv](https://github.com/aws/aws-fpga/blob/master/hdk/common/shell_v04261818/design/sh_ddr/synth/flop_ccf.sv) &
Copy file name to clipboardExpand all lines: FAQs.md
+59-4Lines changed: 59 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -449,26 +449,81 @@ Refer to [Virtual JTAG readme](./hdk/docs/Virtual_JTAG_XVC.md) for more details.
449
449
450
450
<aname="shell"></a>
451
451
## General AWS FPGA Shell FAQs
452
+
453
+
**Q: What is the AWS Shell?**
454
+
An AWS Shell is in short the AWS platform logic implementing the FPGA external peripherals, PCIe, DRAM, and Interrupts in the FPGA.
455
+
456
+
452
457
**Q: Do I need to interface to the AWS Shell?**
453
458
454
-
Yes. The only way to interface to PCIe and the instance CPU is using the AWS Shell. The AWS Shell is included with every FPGA. There is no option to run the F1 FPGA without a Shell. The Shell takes care of the non-differentiating heavy lifting tasks like PCIe tuning, FPGA I/O assignment, power, thermal management, and runtime health monitoring.
459
+
Yes. The only way to interface to PCIe and the instance CPU is using an AWS Shell.
460
+
An AWS Shell is included with every FPGA. There is no option to run the F1 FPGA without a Shell.
461
+
The Shell takes care of the non-differentiating heavy lifting tasks like PCIe tuning, FPGA I/O assignment, power, thermal management, and runtime health monitoring.
455
462
456
463
457
464
**Q: Is a simulation model of the AWS Shell available?**
458
465
459
-
Yes. The HDK includes a simulation model for the AWS shell. See the [HDK common tree](./hdk/common/verif) for more information on the Shell simulation model.
466
+
Yes. The HDK includes a simulation model for the AWS shell.
467
+
See the [HDK common tree](./hdk/common/verif) for more information on the Shell simulation model.
460
468
461
469
462
470
**Q: What resources within the FPGA does the AWS Shell consume?**
463
471
464
-
The Shell consumes about 20% of the FPGA resources, and that includes the PCIe Gen3 X16, DMA engine, DRAM controller interface, ChipScope (Virtual JTAG) and other health monitoring and image loading logic. No modifications to the Shell or the partition pins between the Shell and the Custom Logic are possible by the FPGA developer.
472
+
AWS provides multiple families of shells.
473
+
474
+
The F1 XDMA shell F1.X.1.4 shell consumes about 20% of the FPGA resources, and that includes the PCIe Gen3 X16, DMA engine,
475
+
DRAM controller interface, ChipScope (Virtual JTAG) and other health monitoring and image loading logic.
476
+
477
+
No modifications to the Shell or the partition pins between the Shell and the Custom Logic are possible by the FPGA developer.
478
+
479
+
**Q: What different shells does AWS provide?**
480
+
481
+
AWS Provides the following families of shells:
482
+
483
+
| Shell Name| Shell Version | Dev Kit Branch | Description|
484
+
|--------|--------|---------|-------|
485
+
| F1 XDMA Shell | F1.X.1.4 |[master](https://github.com/aws/aws-fpga/)| Provides all the [interfaces listed here](https://github.com/aws/aws-fpga/blob/master/hdk/docs/AWS_Shell_Interface_Specification.md), includes DMA |
486
+
| F1 Small Shell | F1.S.1.0 |[small_shell](https://github.com/aws/aws-fpga/tree/small_shell)| Provides all the [interfaces listed here](https://github.com/aws/aws-fpga/blob/small_shell/hdk/docs/AWS_Shell_Interface_Specification.md). This shell does not include DMA engine and provides significant reduction in Shell resource usage. |
Changes with platform and also with FPGAs used within a platform.
496
+
497
+
F1
498
+
499
+
Short Shell name string
500
+
Short string to show the shell family
501
+
502
+
S = Small shell
503
+
X = XDMA shell
504
+
505
+
Major
506
+
Shell major version.
507
+
This number increments when the RL interface changes
508
+
Increments are for RL interface breaking changes
509
+
510
+
Minor
511
+
Shell minor version.
512
+
This number increments when the RL implementation/interface sees minor changes
513
+
Increments are for feature additions, non breaking changes
514
+
515
+
```
516
+
Examples of shell versions:
465
517
518
+
F1 XDMA Shell - F1.X.1.3(Deprecated), F1.X.1.4
519
+
Small Shell - F1.S.1.0
466
520
467
521
<aname="troubleshooting"></a>
468
522
## Troubleshooting FAQs
469
523
**Q: Why do I see error “vivado not found” while running hdk_setup.sh?**
470
524
471
-
This is an indication that Xilinx Vivado tool set are not installed. Try installing the tool if you are working on your own environment, or alternative use AWS FPGA Development AMI available on AWS Marketplace, which comes with pre-installed Vivado toolset and license.
525
+
This is an indication that Xilinx Vivado tool set are not installed.
526
+
Try installing the tool if you are working on your own environment, or alternative use AWS FPGA Development AMI available on AWS Marketplace, which comes with pre-installed Vivado toolset and license.
472
527
473
528
474
529
**Q: Why did my example job run and die without generating a DCP file?**
Copy file name to clipboardExpand all lines: README.md
+6-4Lines changed: 6 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -85,10 +85,12 @@ At the end of the development process, combining the Shell and CL creates an Ama
85
85
86
86
The following table provides the shells currently available to develop your CL with. Each shell provides specific interfaces and features and currently needs to be used with the Dev Kit branch listed in the table.
87
87
88
-
| Shell Version | Dev Kit Branch | Description|
89
-
| --------|---------|-------|
90
-
| v04261818 |[master](https://github.com/aws/aws-fpga/)| Provides all the [interfaces listed here](https://github.com/aws/aws-fpga/blob/master/hdk/docs/AWS_Shell_Interface_Specification.md) including DMA |
91
-
| v04182104 |[small_shell](https://github.com/aws/aws-fpga/tree/small_shell)| Provides all the [interfaces listed here](https://raw.githubusercontent.com/aws/aws-fpga/small_shell/hdk/docs/AWS_Shell_Interface_Specification.md). This shell does not include DMA engine and provides significant reduction in Shell resource usage. |
88
+
| Shell Name| Shell Version | Dev Kit Branch | Description|
89
+
|--------|--------|---------|-------|
90
+
| F1 XDMA Shell | F1.X.1.4 |[master](https://github.com/aws/aws-fpga/)| Provides all the [interfaces listed here](https://github.com/aws/aws-fpga/blob/master/hdk/docs/AWS_Shell_Interface_Specification.md), includes DMA |
91
+
| F1 Small Shell | F1.S.1.0 |[small_shell](https://github.com/aws/aws-fpga/tree/small_shell)| Provides all the [interfaces listed here](https://github.com/aws/aws-fpga/blob/small_shell/hdk/docs/AWS_Shell_Interface_Specification.md). This shell does not include DMA engine and provides significant reduction in Shell resource usage. |
92
+
93
+
For more details, check the [FAQ](./FAQs.md#general-aws-fpga-shell-faqs)
Copy file name to clipboardExpand all lines: hdk/docs/AWS_Shell_Interface_Specification.md
+2-16Lines changed: 2 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,18 +1,4 @@
1
1
# AWS Shell Interface Specification
2
-
3
-
## Revision History
4
-
5
-
2016/11/28 - Initial public release with HDK release version
6
-
7
-
2016/12/06 - Added capability to remove DDR controllers in the CL through parameters in `sh_ddr.sv`
8
-
9
-
2017/02/02 - Major updates for Feb/2017 Shell, that includes interrupts, wider and more buses, DMA, Virtual LED and other. (Please refer to [Release Notes](../../RELEASE_NOTES.md) for details)
10
-
11
-
2017/07/29 - Updates for Jul/2017 Shell
12
-
13
-
2017/11/16 - Updates for v1.3.4
14
-
15
-
2018/05/10 - Updates for 1.4
16
2
17
3
# Table of Contents:
18
4
@@ -89,7 +75,7 @@ This document specifies the hardware interface and functional behavior between t
89
75
This specification applies to Xilinx Virtex Ultrascale Plus platform available on EC2 F1, each update of the Shell
90
76
is tagged with a revision number. Note while AWS tries to keep the revision constant, sometimes it is necessary to update the revision due to discovered issues or added functionality. The HDK release includes the latest Shell version under `/hdk/common/shell_latest`
91
77
92
-
Starting from 1.4, The shell is reconfigurable, allowing, in most cases, developers to select which shell version to create the AFI with. Going forward, new shell versions will NOT require updated CL implementation and regenerating the AFI (still a requirement with 1.4 shell.)
78
+
Starting from F1.X.1.4, The shell is reconfigurable, allowing, in most cases, developers to select which shell version to create the AFI with. Going forward, new shell versions will NOT require updated CL implementation and regenerating the AFI (still a requirement with F1.X.1.4 shell.)
93
79
94
80
95
81
<aname="conventions"></a>
@@ -224,7 +210,7 @@ These parameters are used to control which DDR controllers are impemented in the
224
210
225
211
### DRAM Content Preservation between AFI Loads
226
212
227
-
Shell version 1.4 allows the DDR state to be preserved when dynamically changing CL logic. Any AFI generated with a v1.4 shell will enable DRAM content preservation by default.
213
+
Shell version F1.X.1.4 allows the DDR state to be preserved when dynamically changing CL logic. Any AFI generated with a v1.4 shell will enable DRAM content preservation by default.
228
214
Please refer to the [guide on how to use the DRAM data retention mode to preserve the content of DRAM across AFI loads](./data_retention.md) for more details on utilizing this feature.
Copy file name to clipboardExpand all lines: hdk/docs/AWS_Shell_V1.4_Migration_Guidelines.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,15 +1,15 @@
1
-
# Shell v1.4 Migration Document
1
+
# Shell F1.X.1.4 Migration Document
2
2
3
3
4
-
This document describes the changes required when migrating your design from shell v1.3 to shell v1.4.
4
+
This document describes the changes required when migrating your design from shell F1.X.1.3 to shell F1.X.1.4.
5
5
The HDK build scripts have changed to reflect the new v1.4 shell’s floorplan and newer Vivado tools. It’s strongly recommended users move to these scripts. Users who have already customized v1.3 scripts should diff those with the v1.4 scripts and be sure to include all new parameters that have been added to v1.4 scripts.
6
6
7
7
1. Upgrade Vivado Tools to version 2019.1 or later. Needs [FPGA DEVELOPER AMI 1.4 or later](../../README.md#fpga-developer-ami)
8
8
9
9
2. The hierarchy for CL & SH modules have changed. Now they are instantiated in "WRAPPER_INST" Module.
10
10
The paths in your Build scripts, constraints & verification components have to be updated.
Copy file name to clipboardExpand all lines: hdk/docs/data_retention.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,8 +6,8 @@ Workloads that require multiple AFIs to process a data set can take advantage of
6
6
7
7
For an AFI to support data retention, the following requirements must be met:
8
8
9
-
1. The AFI must be built with shell version 1.4 or higher.
10
-
2. The AFI must be built with the version of `sh_ddr.sv` shipped with 1.4 or higher.
9
+
1. The AFI must be built with shell version F1.X.1.4 or higher.
10
+
2. The AFI must be built with the version of `sh_ddr.sv` shipped with Dev Kit 1.4.0 or higher.
11
11
3. The AFI must use all four DDR controllers. (All of `DDR_A_PRESENT`, `DDR_B_PRESENT`, `DDR_D_PRESENT` must be set. DDRC is part of the shell and is always present.)
12
12
13
13
To use data retention across AFI loads, the following conditions must be met:
0 commit comments