Skip to content

Commit 35a9016

Browse files
committed
Incorporate a global change
1 parent ef74d46 commit 35a9016

File tree

2 files changed

+49
-48
lines changed

2 files changed

+49
-48
lines changed

DirectProgramming/C++SYCL_FPGA/Tutorials/Features/optimization_levels/minimum_latency/README.md

+43-42
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ This FPGA tutorial demonstrates how to compile your design with the minimum late
55
| Optimized for | Description
66
|:--- |:---
77
| OS | Linux* Ubuntu* 18.04/20.04 <br> RHEL*/CentOS* 8 <br> SUSE* 15 <br> Windows* 10
8-
| Hardware | Intel&reg; Programmable Acceleration Card (PAC) with Intel Arria&reg; 10 GX FPGA <br> Intel&reg; FPGA Programmable Acceleration Card (PAC) D5005 (with Intel Stratix&reg; 10 SX) <br> Intel&reg; FPGA 3rd party / custom platforms with oneAPI support <br> **Note**: Intel&reg; FPGA PAC hardware is only compatible with Ubuntu 18.04*
8+
| Hardware | Intel® Agilex™, Arria® 10, and Stratix® 10 FPGAs
99
| Software | Intel® oneAPI DPC++/C++ Compiler
1010
| What you will learn | How to use the minimum latency flow to compile low-latency designs<br>How to manually override underlying controls set by the minimum latency flow
1111
| Time to complete | 20 minutes
@@ -18,6 +18,8 @@ This FPGA tutorial demonstrates how to compile your design with the minimum late
1818
> - ModelSim® SE
1919
>
2020
> When using the hardware compile flow, Intel® Quartus® Prime Pro Edition must be installed and accessible through your PATH.
21+
>
22+
> :warning: Make sure you add the device files associated with the FPGA that you are targeting to your Intel® Quartus® Prime installation.
2123
2224
## Prerequisites
2325

@@ -100,26 +102,26 @@ Part 3 also compiles the design with the minimum latency flow, as well as manual
100102

101103
1. Generate the `Makefile` by running `cmake`:
102104

103-
```bash
104-
mkdir build
105-
cd build
106-
```
107-
108-
To compile for the Intel&reg; PAC with Intel Arria&reg; 10 GX FPGA, run `cmake` using the command:
109-
110-
```bash
111-
cmake ..
112-
```
113-
114-
Alternatively, to compile for the Intel&reg; PAC D5005 (with Intel Stratix&reg; 10 SX FPGA), run `cmake` using the command:
115-
116-
```bash
117-
cmake .. -DFPGA_DEVICE=intel_s10sx_pac:pac_s10
118-
```
119-
You can also compile for a custom FPGA platform. Ensure that the board support package is installed on your system. Then run `cmake` using the command:
120-
```bash
121-
cmake .. -DFPGA_DEVICE=<board-support-package>:<board-variant>
122-
```
105+
```
106+
mkdir build
107+
cd build
108+
```
109+
To compile for the default target (the Agilex™ device family), run `cmake` using the command:
110+
```
111+
cmake ..
112+
```
113+
114+
> **Note**: You can change the default target by using the command:
115+
> ```
116+
> cmake .. -DFPGA_DEVICE=<FPGA device family or FPGA part number>
117+
> ```
118+
>
119+
> Alternatively, you can target an explicit FPGA board variant and BSP by using the following command:
120+
> ```
121+
> cmake .. -DFPGA_DEVICE=<board-support-package>:<board-variant>
122+
> ```
123+
>
124+
> You will only be able to run an executable on the FPGA if you specified a BSP.
123125
124126
2. Compile the design using the generated `Makefile`. The following build targets are provided, matching the recommended development flow:
125127
@@ -147,28 +149,29 @@ Part 3 also compiles the design with the minimum latency flow, as well as manual
147149
make fpga
148150
```
149151
150-
3. (Optional) As the above hardware compile may take several hours to complete, FPGA precompiled binaries (compatible with Linux* Ubuntu* 18.04) can be downloaded <a href="https://iotdk.intel.com/fpga-precompiled-binaries/latest/minimum_latency.fpga.tar.gz" download>here</a>.
151-
152152
### On a Windows* System
153153
154154
1. Generate the `Makefile` by running `cmake`.
155-
```
156-
mkdir build
157-
cd build
158-
```
159-
To compile for the Intel&reg; PAC with Intel Arria&reg; 10 GX FPGA, run `cmake` using the command:
160-
```
161-
cmake -G "NMake Makefiles" ..
162-
```
163-
Alternatively, to compile for the Intel&reg; PAC D5005 (with Intel Stratix&reg; 10 SX FPGA), run `cmake` using the command:
164155
165-
```
166-
cmake -G "NMake Makefiles" .. -DFPGA_DEVICE=intel_s10sx_pac:pac_s10
167-
```
168-
You can also compile for a custom FPGA platform. Ensure that the board support package is installed on your system. Then run `cmake` using the command:
169-
```
170-
cmake -G "NMake Makefiles" .. -DFPGA_DEVICE=<board-support-package>:<board-variant>
171-
```
156+
```
157+
mkdir build
158+
cd build
159+
```
160+
To compile for the default target (the Agilex™ device family), run `cmake` using the command:
161+
```
162+
cmake -G "NMake Makefiles" ..
163+
```
164+
> **Note**: You can change the default target by using the command:
165+
> ```
166+
> cmake -G "NMake Makefiles" .. -DFPGA_DEVICE=<FPGA device family or FPGA part number>
167+
> ```
168+
>
169+
> Alternatively, you can target an explicit FPGA board variant and BSP by using the following command:
170+
> ```
171+
> cmake -G "NMake Makefiles" .. -DFPGA_DEVICE=<board-support-package>:<board-variant>
172+
> ```
173+
>
174+
> You will only be able to run an executable on the FPGA if you specified a BSP.
172175
173176
2. Compile the design through the generated `Makefile`. The following build targets are provided, matching the recommended development flow:
174177
@@ -189,8 +192,6 @@ Part 3 also compiles the design with the minimum latency flow, as well as manual
189192
nmake fpga
190193
```
191194
192-
> **Note**: The Intel&reg; PAC with Intel Arria&reg; 10 GX FPGA and Intel&reg; FPGA PAC D5005 (with Intel Stratix&reg; 10 SX) do not support Windows*. Compiling to FPGA hardware on Windows* requires a third-party or custom Board Support Package (BSP) with Windows* support.
193-
194195
> **Note**: If you encounter any issues with long paths when compiling under Windows*, you may have to create your ‘build’ directory in a shorter path, for example c:\samples\build. You can then run cmake from that directory, and provide cmake with the full path to your sample directory.
195196
196197
## Examining the Reports
@@ -232,7 +233,7 @@ Navigate to **Clock Frequency Summary** (**Summary > Clock Frequency Summary**)
232233
set CL_CONTEXT_MPSIM_DEVICE_INTELFPGA=
233234
```
234235

235-
3. Run the sample on the FPGA device
236+
3. Run the sample on the FPGA device (only if you ran `cmake` with `-DFPGA_DEVICE=<board-support-package>:<board-variant>`):
236237

237238
```bash
238239
./no_control.fpga (Linux)

DirectProgramming/C++SYCL_FPGA/Tutorials/Features/optimization_levels/minimum_latency/src/CMakeLists.txt

+6-6
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ set(FPGA_TARGET_MANUAL_REVERT ${TARGET_NAME_MANUAL_REVERT}.fpga)
1919

2020
# FPGA board selection
2121
if(NOT DEFINED FPGA_DEVICE)
22-
set(FPGA_DEVICE "intel_a10gx_pac:pac_a10")
23-
set(DEVICE_FLAG "-DA10")
24-
set(MANUAL_REVERT_FLAGS "-Xssfc-exit-fifo-type=default")
22+
set(FPGA_DEVICE "Agilex")
23+
set(DEVICE_FLAG "-DAgilex")
24+
set(MANUAL_REVERT_FLAGS "-Xshyper-optimized-handshaking=on -Xssfc-exit-fifo-type=default")
2525
message(STATUS "FPGA_DEVICE was not specified.\
26-
\nConfiguring the design to run on the default FPGA board ${FPGA_DEVICE} (Intel(R) PAC with Intel Arria(R) 10 GX FPGA). \
27-
\nPlease refer to the README for information on board selection.")
26+
\nConfiguring the design to the default FPGA family: ${FPGA_DEVICE}\
27+
\nPlease refer to the README for information on target selection.")
2828
else()
2929
if(FPGA_DEVICE MATCHES ".*a10*")
3030
set(DEVICE_FLAG "-DA10")
@@ -36,7 +36,7 @@ else()
3636
set(DEVICE_FLAG "-DAgilex")
3737
set(MANUAL_REVERT_FLAGS "-Xshyper-optimized-handshaking=on -Xssfc-exit-fifo-type=default")
3838
endif()
39-
message(STATUS "Configuring the design to run on FPGA board ${FPGA_DEVICE}")
39+
message(STATUS "Configuring the design with the following target: ${FPGA_DEVICE}")
4040
endif()
4141

4242
if(NOT DEFINED DEVICE_FLAG)

0 commit comments

Comments
 (0)