Skip to content

Commit 837f2e7

Browse files
authored
Release Notes for **GHRD for Agilex 5 FPGA E-Series 25.1.1** (#3)
## Release Information: Quartus Version: 25.1.1 Build 125 07/31/2025 SC Pro Edition Tag: QPDS25.1.1_REL_GSRD_PR Build: socfpga_ghrd_a5e_base/25.1.1/1354 ## New Features and Enhancements - EMIF ECC is enabled for all designs. - Premium Development Kit with Out of Box Experience (OOBE) daughter card designs support USB3.1. ## Issues Resolved - Corrected usb31_phy_refclk_p_clk and usb31_phy_refclk_p_clk(n) pin for Agilex 5 FPGA E-Series 065B Modular Development Kit. - Fixed wrong value in agilex_hps.ip file, that creates wrong handoff to powerdown the SDMMC controller. ## Latest Known Issues - Remove support for HPS NAND board due to ECC issue.
1 parent 9d96be2 commit 837f2e7

File tree

230 files changed

+31974
-104343
lines changed

Some content is hidden

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

230 files changed

+31974
-104343
lines changed

.clang-format

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
# Linux Coding Style, but with 4-space indent
2+
# Source: https://github.com/torvalds/linux/blob/master/.clang-format
3+
# Guide: https://github.com/torvalds/linux/blob/master/Documentation/process/coding-style.rst
4+
#
5+
# clang-format configuration file. Intended for clang-format >= 11.
6+
#
7+
# For more information, see:
8+
#
9+
# Documentation/process/clang-format.rst
10+
# https://clang.llvm.org/docs/ClangFormat.html
11+
# https://clang.llvm.org/docs/ClangFormatStyleOptions.html
12+
#
13+
---
14+
AccessModifierOffset: -4
15+
AlignAfterOpenBracket: Align
16+
AlignConsecutiveAssignments: false
17+
AlignConsecutiveDeclarations: false
18+
AlignEscapedNewlines: Left
19+
AlignOperands: true
20+
AlignTrailingComments: false
21+
AllowAllParametersOfDeclarationOnNextLine: false
22+
AllowShortBlocksOnASingleLine: false
23+
AllowShortCaseLabelsOnASingleLine: false
24+
AllowShortFunctionsOnASingleLine: None
25+
AllowShortIfStatementsOnASingleLine: false
26+
AllowShortLoopsOnASingleLine: false
27+
AlwaysBreakAfterDefinitionReturnType: None
28+
AlwaysBreakAfterReturnType: None
29+
AlwaysBreakBeforeMultilineStrings: false
30+
AlwaysBreakTemplateDeclarations: false
31+
BinPackArguments: true
32+
BinPackParameters: true
33+
BraceWrapping:
34+
AfterClass: false
35+
AfterControlStatement: false
36+
AfterEnum: false
37+
AfterFunction: true
38+
AfterNamespace: true
39+
AfterObjCDeclaration: false
40+
AfterStruct: false
41+
AfterUnion: false
42+
AfterExternBlock: false
43+
BeforeCatch: false
44+
BeforeElse: false
45+
IndentBraces: false
46+
SplitEmptyFunction: true
47+
SplitEmptyRecord: true
48+
SplitEmptyNamespace: true
49+
BreakBeforeBinaryOperators: None
50+
BreakBeforeBraces: Custom
51+
BreakBeforeInheritanceComma: false
52+
BreakBeforeTernaryOperators: false
53+
BreakConstructorInitializersBeforeComma: false
54+
BreakConstructorInitializers: BeforeComma
55+
BreakAfterJavaFieldAnnotations: false
56+
BreakStringLiterals: false
57+
ColumnLimit: 120
58+
CommentPragmas: '^ IWYU pragma:'
59+
CompactNamespaces: false
60+
ConstructorInitializerAllOnOneLineOrOnePerLine: false
61+
ConstructorInitializerIndentWidth: 4
62+
ContinuationIndentWidth: 4
63+
Cpp11BracedListStyle: false
64+
DerivePointerAlignment: false
65+
DisableFormat: false
66+
ExperimentalAutoDetectBinPacking: false
67+
FixNamespaceComments: false
68+
69+
# Taken from:
70+
# git grep -h '^#define [^[:space:]]*for_each[^[:space:]]*(' include/ tools/ \
71+
# | sed "s,^#define \([^[:space:]]*for_each[^[:space:]]*\)(.*$, - '\1'," \
72+
# | LC_ALL=C sort -u
73+
# ForEachMacros:
74+
75+
IncludeBlocks: Preserve
76+
IncludeCategories:
77+
- Regex: '.*'
78+
Priority: 1
79+
IncludeIsMainRegex: '(Test)?$'
80+
IndentCaseLabels: false
81+
IndentGotoLabels: false
82+
IndentPPDirectives: None
83+
IndentWidth: 4
84+
IndentWrappedFunctionNames: false
85+
JavaScriptQuotes: Leave
86+
JavaScriptWrapImports: true
87+
KeepEmptyLinesAtTheStartOfBlocks: false
88+
MacroBlockBegin: ''
89+
MacroBlockEnd: ''
90+
MaxEmptyLinesToKeep: 1
91+
NamespaceIndentation: None
92+
ObjCBinPackProtocolList: Auto
93+
ObjCBlockIndentWidth: 4
94+
ObjCSpaceAfterProperty: true
95+
ObjCSpaceBeforeProtocolList: true
96+
97+
# Taken from git's rules
98+
PenaltyBreakAssignment: 10
99+
PenaltyBreakBeforeFirstCallParameter: 30
100+
PenaltyBreakComment: 10
101+
PenaltyBreakFirstLessLess: 0
102+
PenaltyBreakString: 10
103+
PenaltyExcessCharacter: 100
104+
PenaltyReturnTypeOnItsOwnLine: 60
105+
106+
PointerAlignment: Right
107+
ReflowComments: false
108+
SortIncludes: false
109+
SortUsingDeclarations: false
110+
SpaceAfterCStyleCast: false
111+
SpaceAfterTemplateKeyword: true
112+
SpaceBeforeAssignmentOperators: true
113+
SpaceBeforeCtorInitializerColon: true
114+
SpaceBeforeInheritanceColon: true
115+
SpaceBeforeParens: ControlStatementsExceptForEachMacros
116+
SpaceBeforeRangeBasedForLoopColon: true
117+
SpaceInEmptyParentheses: false
118+
SpacesBeforeTrailingComments: 1
119+
SpacesInAngles: false
120+
SpacesInContainerLiterals: false
121+
SpacesInCStyleCastParentheses: false
122+
SpacesInParentheses: false
123+
SpacesInSquareBrackets: false
124+
Standard: Cpp03
125+
TabWidth: 4
126+
UseTab: Never

Makefile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,6 @@ endef
128128
# Create rules for subdirs
129129
TARGET_SUBDIR := \
130130
a5ed065es-premium-devkit-oobe \
131-
a5ed065es-premium-devkit-nand \
132131
a5ed065es-premium-devkit-emmc \
133132
a5ed065es-premium-devkit-debug2 \
134133
a5ed065es-modular-devkit-som
@@ -175,6 +174,7 @@ venv-freeze:
175174
prepare-tools : venv
176175

177176
# Include not_shipped Makefile if present
177+
# Should be included before Toplevel Targets to get all not_shipped dependency targets.
178178
-include not_shipped/Makefile.mk
179179

180180
###############################################################################
@@ -205,7 +205,7 @@ sw-build: $(ALL_SW_BUILD_TARGETS)
205205

206206
# Run all tests
207207
.PHONY: test
208-
test : build
208+
test : $(ALL_TEST_TARGETS)
209209

210210
.PHONY: install-sof
211211
install-sof: $(ALL_INSTALL_SOF_TARGETS)
@@ -220,11 +220,12 @@ all: $(ALL_TARGET_ALL_NAMES)
220220
help:
221221
$(info GHRD Build)
222222
$(info ----------------)
223+
$(info all : Run and "all" target on each of the target designs)
224+
$(info ----------------)
223225
$(info All Targets : $(ALL_TARGET_ALL_NAMES))
224226
$(info Stem names : $(ALL_TARGET_STEM_NAMES))
225227
$(info Pre-Prep Targets : $(ALL_PRE_PREP_TARGETS))
226228
$(info Prep Targets : $(ALL_PREP_TARGETS))
227229
$(info Build Targets : $(ALL_BUILD_TARGETS))
228230
$(info Test Targets : $(ALL_TEST_TARGETS))
229231
$(info Package Targets : $(ALL_PACKAGE_DESIGN_TARGETS))
230-

README.md

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Golden Hardware Reference Design (GHRD) for Agilex 5 FPGA E-Series
1+
# Agilex 5 E-Series Golden Hardware Reference Design (GHRD)
22

33
This repository contains Golden Hardware Reference Design (GHRD) for Agilex 5 E-Series System On Chip (SoC) FPGA.
44
The GHRD is part of the Golden System Reference Design (GSRD), which provides a complete solution, including exercising soft IP in the fabric, booting to U-Boot, then Linux, and running sample Linux applications.
@@ -16,7 +16,7 @@ This is applicable to all designs.
1616
- HPS Peripheral and I/O. eg, NAND, SD/MMC, EMAC, USB, SPI, I2C, UART, and GPIO. (depends on the daughter card).
1717
- HPS Clock and Reset
1818
- HPS FPGA Bridge and Interrupt
19-
- HPS EMIF configuration
19+
- HPS EMIF configuration (starting 25.1.1 ECC is enabled by default)
2020
- System integration with FPGA IPs
2121
- Peripheral subsystem that consists of System ID, Programmable I/O (PIO) IP for controlling DIPSW, PushButton, and LEDs.
2222
- Debug subsystem that consists of JTAG-to-Avalon Master IP to allow System-Console debug activity and FPGA content access through JTAG
@@ -32,27 +32,27 @@ This is only applicable if the feature is enabled.
3232
3. modify and compile the [designs](#designs) with Quartus Prime.
3333

3434
## Dependency
35-
* Altera Quartus Prime 25.1
35+
* Altera Quartus Prime 25.1.1
3636
* Supported Board
3737
- Agilex 5 FPGA E-Series 065B Premium Development Kit DK-A5E065BB32AES1
3838
![Agilex 5 E-Series Premium Development Kit](images/agilex5-premium-devkit-es.png)
3939
- Agilex 5 FPGA E-Series 065B Modular Development Kit MK-A5E065BB32AES1
4040
![Agilex 5 E-Series Modular Development Kit](images/agilex5-modular-devkit-es.png)
4141

4242
## Tested Platform for the GHRD Build Flow
43-
* SUSE Linux Enterprise Server 12 SP5
43+
* SUSE Linux Enterprise Server 15 SP4
4444

4545
## Setup
4646

4747
Several tools are required to be in the path.
4848

49-
* Altera Quartus Prime 25.1
49+
* Altera Quartus Prime 25.1.1
5050
* Python 3.11.5 (only required when using command line to build)
5151

5252
### Example Setup for Altera Quartus Prime tools
5353
This is recommended, when using command line to build.
5454
```bash
55-
export QUARTUS_ROOTDIR=~/intelFPGA_pro/25.1/quartus
55+
export QUARTUS_ROOTDIR=~/intelFPGA_pro/25.1.1/quartus
5656
```
5757
Note: Adapt the path above to where Quartus Prime is installed.
5858

@@ -62,6 +62,10 @@ export PATH="$QUARTUS_ROOTDIR/bin:$QUARTUS_ROOTDIR/../qsys/bin:$QUARTUS_ROOTDIR/
6262
6363
## Quick start
6464
65+
### Notes
66+
- Command line and Quartus GUI should not be used intertwined.
67+
- Mixing both might not generate some fileset correctly and fail the build.
68+
6569
### using command line
6670
Copy and run the desired make command from [designs](#designs) in the root directory.
6771
After build, the design files (zip, sof and rbf) can be found in install/designs folder.
@@ -102,12 +106,6 @@ make a5ed065es-premium-devkit-debug2-legacy-baseline-legacy_baseline-all
102106
make a5ed065es-premium-devkit-emmc-legacy-baseline-legacy_baseline-all
103107
```
104108
105-
* [a5ed065es-premium-devkit-nand/legacy-baseline](a5ed065es-premium-devkit-nand/legacy-baseline/README.md) :
106-
Legacy baseline GHRD for the A5ED065 ES Premium Devkit with HPS NAND Board.
107-
```bash
108-
make a5ed065es-premium-devkit-nand-legacy-baseline-legacy_baseline-all
109-
```
110-
111109
### Agilex 5 FPGA E-Series 065B Modular Development Kit MK-A5E065BB32AES1
112110
113111
* [a5ed065es-modular-devkit-som/legacy-baseline](a5ed065es-modular-devkit-som/legacy-baseline/README.md) :

a5ed065es-modular-devkit-som/Makefile

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,5 +117,3 @@ help:
117117
$(info Prep Targets : $(ALL_PREP_TARGETS))
118118
$(info Build Targets : $(ALL_BUILD_TARGETS))
119119
$(info Test Targets : $(ALL_TEST_TARGETS))
120-
121-

a5ed065es-modular-devkit-som/legacy-baseline/Makefile

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ endif
4141
# Set defaults
4242
INSTALL_ROOT ?= $(THIS_MK_DIR)
4343
ARCHIVE_NAME ?= $(PROJECT_NAME)
44+
4445
##############################################################################
4546
# Set default goal before any targets. The default goal here is "test"
4647
##############################################################################
@@ -76,8 +77,12 @@ ALL_INSTALL_SOF_TARGETS += $(addsuffix -install-sof,$(strip $(1)))
7677

7778
$(strip $(1))-prep : output_files/prep-$(strip $(1)).done
7879

80+
$(strip $(1))-qsys-ip-file-upgrade: pre-prep
81+
$(MAKE) --no-print-directory ip-upgrade-helper
82+
quartus_sh --ip_upgrade $(PROJECT_NAME) -revision $(strip $(1)) -mode all
83+
7984
$(strip $(1))-ip-upgrade: pre-prep | output_files
80-
flock --verbose output_files/ipupgrade.lock quartus_sh --ip_upgrade $(PROJECT_NAME) -revision $(strip $(1))
85+
flock --verbose output_files/ipupgrade.lock $(MAKE) $(strip $(1))-qsys-ip-file-upgrade
8186

8287
$(strip $(1))-generate-design :
8388

@@ -109,8 +114,8 @@ output_files/pre-prep.done: | output_files
109114

110115
output_files/prep-%.done: output_files/pre-prep.done | output_files
111116
chmod a-w $(PROJECT_NAME).qpf
112-
flock --verbose output_files/ipgenerate.lock quartus_ipgenerate top -c $* --simulation=verilog --synthesis=verilog
113-
ip-setup-simulation --quartus-project=top --revision=$* --output-directory=sim_setup_$*
117+
flock --verbose output_files/ipgenerate.lock quartus_ipgenerate top -c $* --simulation=verilog --synthesis=verilog --simulator=modelsim,vcsmx,riviera,xcelium |& tee output_files/$*.ipgen.rpt
118+
ip-setup-simulation --quartus-project=top --revision=$* --output-directory=sim_setup_$* --simulator=modelsim,vcsmx,riviera,xcelium |& tee -a output_files/$*.ipgen.rpt
114119
touch $@
115120

116121
.PHONY: pre-prep
@@ -164,6 +169,9 @@ test : $(ALL_TEST_TARGETS)
164169
print-targets:
165170
$(info $(ALL_TARGET_STEM_NAMES))
166171

172+
# run script to upgrade IP and QSYS files
173+
ip-upgrade-helper:
174+
qsys-script --qpf=top --script=qsys_update.tcl --system-file=qsys_top.qsys --search-path="custom_ip/**/*, $$"
167175

168176
###############################################################################
169177
# SW Build Targets

a5ed065es-modular-devkit-som/legacy-baseline/README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ This reference design demonstrates the following system integration between Hard
1818
- Enable dual core Arm Cortex-A55 processor
1919
- HPS Peripheral and I/O (SD/MMC, EMAC, MDIO, USB, I2C, JTAG, UART, and GPIO) - HPS Clock and Reset
2020
- HPS FPGA Bridge and Interrupt
21-
- HPS EMIF configuration
21+
- HPS EMIF configuration (starting 25.1.1 ECC is enabled by default)
2222
- System integration with FPGA IPs
2323
- Peripheral subsystem that consists of System ID, Programmable I/O (PIO) IP for controlling DIPSW, PushButton, and LEDs
2424
- Debug subsystem that consists of JTAG-to-Avalon Master IP to allow System-Console debug activity and FPGA content access through JTAG
@@ -27,13 +27,14 @@ This reference design demonstrates the following system integration between Hard
2727
## Project Details
2828

2929
- **Family**: Agilex 5 E-Series
30-
- **Quartus Version**: 25.1
30+
- **Quartus Version**: 25.1.1
3131
- **Development Kit**: Agilex 5 FPGA E-Series 065B Modular Development Kit MK-A5E065BB32AES1
3232
- **Device Part**: A5ED065BB32AE6SR0
3333
- **Category**: Golden Hardware Reference Design (GHRD)
3434
- **Source**: Quartus Prime Pro
3535
- **URL**: https://www.github.com/altera-fpga/agilex5e-ed-gsrd
3636
- **Design Package**: a5ed065es-modular-devkit-som-legacy-baseline.zip
37+
- **Documentations**: https://altera-fpga.github.io/latest/embedded-designs/agilex-5/e-series/modular/gsrd/ug-gsrd-agx5e-modular/
3738

3839
## GHRD Overview
3940
![GHRD_overview](/images/agilex5_ghrd_overview.svg)

0 commit comments

Comments
 (0)