Skip to content

Commit b99c8d8

Browse files
committed
Updating design files
1 parent 1d6c3f2 commit b99c8d8

File tree

78 files changed

+15150
-5331
lines changed

Some content is hidden

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

78 files changed

+15150
-5331
lines changed

README.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,7 @@ The following table contains the list of the designs on Agilex 5 FPGA E-Series 0
3636

3737
| No # | Design Name Prefix (Nios V core) | Design Name Suffix (Functions) | Description |
3838
| - | --- | ------ | ----------- |
39-
| 1 | Nios V/m | Nios V/m DMA OCM Design | This design demonstrates the transaction between the Nios® V processor with DMA and OCM core<br>[Design details](niosv_m/niosv_m_dma_ocm/docs/NiosV_m_Processor_DMA_OCM_Design_on_Agilex_5_FPGA.md) |
39+
| 1 | Nios V/m | Nios V/m Webserver Ping Design | This design demonstrates the transaction between the Nios® V processor with DMA and OCM core<br>[Design details](niosv_m/niosv_m_dma_ocm/docs/NiosV_m_Processor_DMA_OCM_Design_on_Agilex_5_FPGA.md) |
4040
| 2 | Nios V/g | Nios V/g TinyML LiteRT | This design demonstrates the TinyML application using LiteRT for microcontrollers software with Nios® V/g processor<br>[Design details](niosv_g/tinyml_liteRT/docs/Nios_Vg_Processor_TinyML_Design_on_Agilex_5_FPGA.md) |
41-
| 3 | Nios V/g | Nios V/g Helloworld Design | Nios® V/g Processor-based Helloworld example design<br>[Design details](niosv_g/niosv_g_helloworld/docs/Nios_Vg_Processor_Hello_World_Design_on_Agilex_5_FPGA.md) |
42-
| 4 | Nios V/g | Nios V/g OCM Memory Tese Design | Nios® V/g Processor-based OCM memory test example design<br>[Design details](niosv_g/niosv_g_ocm_mem_test/docs/Nios_Vg_Processor_OCM_Mem_Test_Design_on_Agilex_5_FPGA.md) |
43-
| 5 | Nios V/c | Nios V/c Helloworld OCM Memory test Design | Nios® V/c Processor-based Helloworld and OCM memory test example design<br>[Design details](niosv_c/niosv_c_helloworld_ocm_mem_test/docs/Nios_Vc_Processor_Helloworld_OCM_Memory_Test_Design_on_Agilex_5_FPGA.md) |
44-
| 6 | Nios V/m | Nios V/m Baseline Golden Hardware Reference Design (GHRD) | This design demonstrates the baseline Golden Hardware Reference Design (GHRD) for a Nios V/m processor with basic bare minimum peripherals required for any application execution <br>[Design details](niosv_m/niosv_m_baseline_ghrd/docs/NiosV_m_Processor_baseline_ghrd_on_Agilex_5_FPGA.md)|
41+
| 3 | Nios V/c | Nios V/c Helloworld OCM Memory test Design | Nios® V/c Processor-based Helloworld and OCM memory test example design<br>[Design details](niosv_c/niosv_c_helloworld_ocm_mem_test/docs/Nios_Vc_Processor_Helloworld_OCM_Memory_Test_Design_on_Agilex_5_FPGA.md) |
42+
| 4 | Nios V/m | Nios V/m Full Feature Golden Hardware Reference Design (GHRD) | This design demonstrates the baseline Golden Hardware Reference Design (GHRD) for a Nios V/m processor with basic bare minimum peripherals required for any application execution <br>[Design details](niosv_m/niosv_m_baseline_ghrd/docs/NiosV_m_Processor_baseline_ghrd_on_Agilex_5_FPGA.md)|

niosv_c/niosv_c_helloworld_ocm_mem_test/docs/Nios_Vc_Processor_Helloworld_OCM_Memory_Test_Design_on_Agilex_5_FPGA.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@
1313
### Release Contents
1414

1515
#### Binaries
16-
- Prebuilt binaries are located [here](https://github.com/altera-fpga/agilex5e-nios-ed/blob/rel/25.1.1/niosv_c/niosv_c_helloworld_ocm_mem_test/ready_to_test).
16+
- Prebuilt binaries are located [here](https://github.com/altera-fpga/agilex5e-nios-ed/blob/rel/25.3/niosv_c/niosv_c_helloworld_ocm_mem_test/ready_to_test).
1717
- The sof and elf files required to run the design can be found in "ready_to_test" folder
1818
- Program the sof and download the elf file on board
1919

2020
### Nios® V/c Helloworld OCM Memory test Design Architecture
2121
This example design includes a Nios® V/c processor connected to the On Chip RAM-II, JTAG UART IP, Parallel-IO and System ID peripheral core. The objective of the design is to accomplish data transfer between the processor and soft IP peripherals.
2222

23-
![Block Diagram](https://github.com/altera-fpga/agilex5e-nios-ed/blob/rel/25.1.1/niosv_c/niosv_c_helloworld_ocm_mem_test/img/hello_world_ocm.png)
23+
![Block Diagram](https://github.com/altera-fpga/agilex5e-nios-ed/blob/rel/25.3/niosv_c/niosv_c_helloworld_ocm_mem_test/img/hello_world_ocm.png)
2424

2525
#### Nios® V/c Processor
2626
- Microcontroller- Balanced (For interrupt driven baremetal and RTOS code)
@@ -79,10 +79,10 @@ Refer to [Agilex™ 5 FPGA Premium Development Kit User Guide](https://www.intel
7979
#### Tools Download and Installation
8080
1. Quartus Prime Pro
8181

82-
- Download the Quartus® Prime Pro Edition software version 25.1.1 from the FPGA Software Download Center webpage of the Intel website. Follow the on-screen instructions to complete the installation process. Choose an installation directory that is relative to the Quartus® Prime Pro Edition software installation directory.
82+
- Download the Quartus® Prime Pro Edition software version 25.3 from the FPGA Software Download Center webpage of the Intel website. Follow the on-screen instructions to complete the installation process. Choose an installation directory that is relative to the Quartus® Prime Pro Edition software installation directory.
8383
- Set up the Quartus tools in the PATH, so they are accessible without full path.
8484
```console
85-
export QUARTUS_ROOTDIR=~/intelFPGA_pro/25.1.1/quartus/
85+
export QUARTUS_ROOTDIR=~/intelFPGA_pro/25.3/quartus/
8686
export PATH=$QUARTUS_ROOTDIR/bin:$QUARTUS_ROOTDIR/linux64:$QUARTUS_ROOTDIR/../qsys/bin:$PATH
8787
```
8888

niosv_c/niosv_c_helloworld_ocm_mem_test/sources/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
Nios® V/c Processor-based Helloworld example design on the Agilex 5 FPGA E-Series 065B Premium Development Kit DK-A5E065BB32AES1
88

9-
![image](https://github.com/altera-fpga/niosv-ed/blob/rel/25.1.1/niosv_c/niosv_c_helloworld_ocm_mem_test/img/hello_world_ocm.png)
9+
![image](https://github.com/altera-fpga/niosv-ed/blob/rel/25.3/niosv_c/niosv_c_helloworld_ocm_mem_test/img/hello_world_ocm.png)
1010

1111

1212
## Project Details
@@ -15,12 +15,12 @@
1515
- **Source**: Github
1616
- **Design Support**: SCTH
1717
- **Family**: Agilex 5
18-
- **Quartus Version**: 25.1.1
18+
- **Quartus Version**: 25.3.0
1919
- **Development Kit**: Agilex 5 FPGA E-Series 065B Premium Development Kit DK-A5E065BB32AES1
2020
- **Device Part**: A5ED065BB32AE6SR0
2121
- **Design Package**: agilex5_niosv_c_helloworld_ocm_mem_test.zip
2222
- **Category**: Memory
23-
- **URL**: https://github.com/altera-fpga/agilex5e-nios-ed/tree/rel/25.1.1/niosv_c/niosv_c_helloworld_ocm_mem_test
23+
- **URL**: https://github.com/altera-fpga/agilex5e-nios-ed/tree/rel/25.3/niosv_c/niosv_c_helloworld_ocm_mem_test
2424
- **download URL**: https://github.com/altera-fpga/agilex5e-nios-ed/releases/download/25.1.1-v1.0/agilex5_niosv_c_helloworld_ocm_mem_test.zip
2525

2626
## Documentation

niosv_g/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@ This directory contains the following example designs based on the Nios V/g core
33
a. Hello World
44
b. OCM Memory Test
55
c. TinyML LiteRT Example Design
6+
d. Webserver - Ping operation
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
# Nios® V/g Ping Design
2+
3+
This design demonstrates the Ping application on a Nios® V/g processor using the Triple Speed Ethernet IP for the Agilex™ 5 FPGA E-Series 065B Premium Development Kit.
4+
5+
## Description
6+
7+
The example design demonstrates ping application. The Nios V/g acts as the core. The Triple Speed Ethernet (TSE) IP is configured in RGMII mode and connectes to the onboard 88E1512 PHY via RGMII interface.
8+
The design has 2 MSGDMA IPs configured in Memory Mapped to Stream (MM2S) mode for Transmission and Stream to Memory Mapped (S2MM) mode for Reception.
9+
10+
To test the application, connect the RGMII Interface of the Agilex 5 Development Kit to the Link Partner using RJ-45 cable.
11+
Ensure that the IP addresses are modified accordingly in the application code under the following location - sw/app_freertos/main.c
12+
Once the application binaries are downloaded (See section 3.d below for the steps), the board starts pinging the link partner automatically.
13+
Observe the Ping Request and Response prints on the terminal.
14+
15+
16+
![image](https://github.com/altera-fpga/agilex5e-nios-ed/blob/rel/25.3/niosv_g/niosv_g_webserver_ping/img/web_server_block_diagram.png)
17+
18+
## Project Details
19+
20+
- **Title**: Nios® V/g Ping Design
21+
- **Source**: Github
22+
- **Design Support**: CTH
23+
- **Family**: Agilex 5
24+
- **Quartus Version**: 25.3
25+
- **Development Kit**: Agilex 5 FPGA E-Series 065B Premium Development Kit DK-A5E065BB32AES1
26+
- **Device Part**: A5ED065BB32AE6SR0
27+
- **Design Package**: agilex5_niosv_g_webserver_ping.zip
28+
- **Category**: Web Server
29+
- **URL**: https://github.com/altera-fpga/agilex5e-nios-ed/blob/rel/25.3/niosv_g/niosv_g_webserver_ping
30+
- **download URL**: https://github.com/altera-fpga/agilex5e-nios-ed/releases/download/25.3-v1.0/agilex5_niosv_g_webserver_ping.zip
31+
32+
## Documentation
33+
34+
- **URL**: https://github.com/altera-fpga/agilex5e-nios-ed/blob/rel/25.3/niosv_g/niosv_g_webserver_ping/docs/NiosV_g_Processor_ping_on_Agilex_5_FPGA.md
35+
36+
37+
# Getting Started
38+
39+
Vendor: Altera
40+
41+
1. Directory structure
42+
2. Using existing files (sof and elf) to run on hardware
43+
3. Building the design from scratch
44+
45+
a. Required directory structure
46+
47+
b. Use of build_sof.py to compile the design
48+
49+
c. Steps to create the bsp and build software sources
50+
51+
d. Hardware Validation
52+
53+
54+
### 1. Directory Structure:
55+
56+
The directory structure is explained below:
57+
58+
- hw- necessary hardware files (.qpf, .qsf, .sv, .v, .ip) of the design
59+
60+
- sw- This folder contains software application files
61+
62+
- scripts- This folder consists of scripts to build the design
63+
64+
65+
### 2. Using existing files to run the design on hardware
66+
67+
- The sof and elf files required to run the design can be found in "ready_to_test" folder
68+
69+
- Refer the Hardware validation section (3.d) for the steps
70+
71+
72+
### 3. Building the design from scratch
73+
74+
The steps to build the project from scratch are mentioned below:
75+
76+
a. Required directory structure
77+
- The top-level project folder should have directory structure as mentioned in Section 1 (Directory Structure).
78+
79+
b. Using build_sof.py to compile the design
80+
- Invoke the quartus_py shell in the terminal
81+
82+
- Run the following command in the terminal from top level project directory:
83+
```
84+
quartus_py ./scripts/build_sof.py
85+
```
86+
- The quartus tool will compile the design and generate the output files
87+
88+
c. Creating the bsp, build software sources and download elf
89+
- To create software app, run the following commands in the terminal:
90+
91+
- Clean the app build project before regenerating elf
92+
93+
```
94+
niosv-bsp -c --quartus-project=hw/top.qpf --qsys=hw/qsys_top.qsys --type=freertos --cmd="enable_sw_package altera_freertos_tcpip" sw/bsp_freertos/settings.bsp
95+
niosv-app --bsp-dir=sw/bsp_freertos --app-dir=sw/app_freertos --srcs=sw/app_freertos/main.c
96+
cmake -S ./sw/app_freertos -B sw/app_freertos/build
97+
make -C sw/app_freertos/build
98+
```
99+
Note:The software can be compiled using the Ashling Visual Studio Code Extension for Altera FPGAs
100+
101+
For information on the build process, please refer to the following document- [Ashling VSCode Extension](https://www.intel.com/content/www/us/en/docs/programmable/730783/current/ashling-visual-studio-code-extension.html)
102+
103+
d. Hardware Validation
104+
- Program the generated sof and then download the elf file on the board
105+
```
106+
quartus_pgm --cable=1 -m jtag -o 'p;ready_to_test/top.sof'
107+
```
108+
- Reduce the JTAG clock frequency to 6MHz before programming the application .elf file on the board.
109+
```
110+
jtagconfig --setparam 1 JtagClock 6M
111+
```
112+
- Toggle the In-System-Sources and Probe (ISSP) IP to initialize PHY and set it to 1G.
113+
```
114+
quartus_stp -t ready_to_test/toggle_issp.tcl
115+
```
116+
- Download the elf file on the board
117+
```
118+
niosv-download -g ready_to_test/app.elf -c 1
119+
```
120+
- Verify the output on the terminal by using the following command in the terminal:
121+
```
122+
juart-terminal -d 1 -c 1 -i 0
123+
```
82.5 KB
Loading
1.21 MB
Binary file not shown.
2.89 MB
Binary file not shown.

niosv_m/niosv_m_baseline_ghrd/sources/README.md renamed to niosv_g/niosv_g_webserver_ping/sources/README.md

Lines changed: 28 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,37 @@
1-
# Nios® V/m Baseline Golden Hardware Reference Design (GHRD)
1+
# Nios® V/g Ping Design
22

3-
This design demonstrates the baseline Golden Hardware Reference Design (GHRD) for a Nios® V/m processor with basic bare minimum peripherals required for any application execution for the Agilex™ 5 FPGA E-Series 065B Premium Development Kit.
3+
This design demonstrates the Ping application on a Nios® V/g processor using the Triple Speed Ethernet IP for the Agilex™ 5 FPGA E-Series 065B Premium Development Kit.
44

55
## Description
66

7-
This example design includes a Nios® V/m processor connected to the On Chip RAM-II, JTAG UART IP, Parallel-IO and System ID peripheral core. The objective of the design is to accomplish data transfer between the processor and soft IP peripherals.
7+
The example design demonstrates ping application. The Nios V/g acts as the core. The Triple Speed Ethernet (TSE) IP is configured in RGMII mode and connectes to the onboard 88E1512 PHY via RGMII interface.
8+
The design has 2 MSGDMA IPs configured in Memory Mapped to Stream (MM2S) mode for Transmission and Stream to Memory Mapped (S2MM) mode for Reception.
89

9-
![image](https://github.com/altera-fpga/agilex5e-nios-ed/blob/rel/25.1.1/niosv_m/niosv_m_baseline_ghrd/img/baseling_ghrd_block_design.png)
10+
To test the application, connect the RGMII Interface of the Agilex 5 Development Kit to the Link Partner using RJ-45 cable.
11+
Ensure that the IP addresses are modified accordingly in the application code under the following location - sw/app_freertos/main.c
12+
Once the application binaries are downloaded (See section 3.d below for the steps), the board starts pinging the link partner automatically.
13+
Observe the Ping Request and Response prints on the terminal.
14+
15+
16+
![image](https://github.com/altera-fpga/agilex5e-nios-ed/blob/rel/25.3/niosv_g/niosv_g_webserver_ping/img/web_server_block_diagram.png)
1017

1118
## Project Details
1219

13-
- **Title**: Nios® V/m Baseline Golden Hardware Reference Design (GHRD)
20+
- **Title**: Nios® V/g Ping Design
1421
- **Source**: Github
15-
- **Design Support**: SCTH
22+
- **Design Support**: CTH
1623
- **Family**: Agilex 5
17-
- **Quartus Version**: 25.1.1
24+
- **Quartus Version**: 25.3
1825
- **Development Kit**: Agilex 5 FPGA E-Series 065B Premium Development Kit DK-A5E065BB32AES1
1926
- **Device Part**: A5ED065BB32AE6SR0
20-
- **Design Package**: agilex5_niosv_m_baseline_ghrd.zip
21-
- **Category**: GHRD
22-
- **URL**: https://github.com/altera-fpga/agilex5e-nios-ed/tree/rel/25.1.1/niosv_m/niosv_m_baseline_ghrd
23-
- **download URL**: https://github.com/altera-fpga/agilex5e-nios-ed/releases/download/25.1.1-v1.0/agilex5_niosv_m_baseline_ghrd.zip
27+
- **Design Package**: agilex5_niosv_g_webserver_ping.zip
28+
- **Category**: Web Server
29+
- **URL**: https://github.com/altera-fpga/agilex5e-nios-ed/blob/rel/25.3/niosv_g/niosv_g_webserver_ping
30+
- **download URL**: https://github.com/altera-fpga/agilex5e-nios-ed/releases/download/25.3-v1.0/agilex5_niosv_g_webserver_ping.zip
2431

2532
## Documentation
2633

27-
- **Title**: Design Document
28-
- **URL**: https://github.com/altera-fpga/agilex5e-nios-ed/blob/rel/25.1.1/niosv_m/niosv_m_baseline_ghrd/docs/NiosV_m_Processor_baseline_ghrd_on_Agilex_5_FPGA.md
34+
- **URL**: https://github.com/altera-fpga/agilex5e-nios-ed/blob/rel/25.3/niosv_g/niosv_g_webserver_ping/docs/NiosV_g_Processor_ping_on_Agilex_5_FPGA.md
2935

3036

3137
# Getting Started
@@ -43,8 +49,7 @@ Vendor: Altera
4349
c. Steps to create the bsp and build software sources
4450

4551
d. Hardware Validation
46-
47-
4. Running simulation
52+
4853

4954
### 1. Directory Structure:
5055

@@ -86,12 +91,10 @@ c. Creating the bsp, build software sources and download elf
8691
- Clean the app build project before regenerating elf
8792

8893
```
89-
niosv-bsp -c --quartus-project=hw/top.qpf --qsys=hw/qsys_top.qsys --type=hal sw/bsp/settings.bsp
90-
niosv-app --bsp-dir=sw/bsp --app-dir=sw/app --srcs=sw/app/main.c
91-
niosv-shell
92-
cmake -S ./sw/app -B sw/app/build -G "Unix Makefiles"
93-
make -C sw/app/build
94-
elf2hex sw/app/build/app.elf -b 0x0 -w 32 -e 0xfffff sw/app/build/onchip_mem.hex -r4
94+
niosv-bsp -c --quartus-project=hw/top.qpf --qsys=hw/qsys_top.qsys --type=freertos --cmd="enable_sw_package altera_freertos_tcpip" sw/bsp_freertos/settings.bsp
95+
niosv-app --bsp-dir=sw/bsp_freertos --app-dir=sw/app_freertos --srcs=sw/app_freertos/main.c
96+
cmake -S ./sw/app_freertos -B sw/app_freertos/build
97+
make -C sw/app_freertos/build
9598
```
9699
Note:The software can be compiled using the Ashling Visual Studio Code Extension for Altera FPGAs
97100

@@ -106,25 +109,15 @@ quartus_pgm --cable=1 -m jtag -o 'p;ready_to_test/top.sof'
106109
```
107110
jtagconfig --setparam 1 JtagClock 6M
108111
```
112+
- Toggle the In-System-Sources and Probe (ISSP) IP to initialize PHY and set it to 1G.
113+
```
114+
quartus_stp -t ready_to_test/toggle_issp.tcl
115+
```
109116
- Download the elf file on the board
110117
```
111118
niosv-download -g ready_to_test/app.elf -c 1
112119
```
113120
- Verify the output on the terminal by using the following command in the terminal:
114121
```
115122
juart-terminal -d 1 -c 1 -i 0
116-
```
117-
118-
### 4. Running simulation
119-
120-
Simulation is enabled for this design where the memory is initialized with the application hex. Use the following commands to run the simulation:
121-
122-
- Generate Testbench from Platform Designer. Generate -> Generate Testbench System
123-
```
124-
cp ./sw/app/build/onchip_mem.hex ./qsys_top_tb/qsys_top_tb/sim/mentor
125-
cd hw/qsys_top_tb/qsys_top_tb/sim/mentor/
126-
vsim &
127-
source msim_setup.tcl
128-
ld_debug
129-
run -all
130123
```

0 commit comments

Comments
 (0)