Skip to content

Commit 3f1aa89

Browse files
authored
FPGA: Platform designer readme touchup (#1449)
1 parent bf29eba commit 3f1aa89

File tree

3 files changed

+66
-21
lines changed

3 files changed

+66
-21
lines changed

DirectProgramming/C++SYCL_FPGA/Tutorials/Tools/experimental/platform_designer/README.md

+26-10
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,8 @@ Follow these steps to compile and test the design:
111111
```
112112
$> cd ../../
113113
$> mkdir add-quartus
114-
$> cp add-quartus/add.sv add-quartus
115-
$> cp add-quartus/jtag.sdc add-quartus
114+
$> cp add-quartus-sln/add.sv add-quartus
115+
$> cp add-quartus-sln/jtag.sdc add-quartus
116116
$> cd add-quartus
117117
$> quartus
118118
```
@@ -122,8 +122,8 @@ Follow these steps to compile and test the design:
122122
```
123123
> cd ..\..\
124124
> mkdir add-quartus
125-
> xcopy add-quartus\add.sv add-quartus
126-
> xcopy add-quartus\jtag.sdc add-quartus
125+
> xcopy add-quartus-sln\add.sv add-quartus
126+
> xcopy add-quartus-sln\jtag.sdc add-quartus
127127
> cd add-quartus
128128
> quartus.exe
129129
```
@@ -134,13 +134,13 @@ Follow these steps to compile and test the design:
134134

135135
![](assets/quartus_new_project.png)
136136

137-
3. Choose **Empty Project** when prompted to select a project type.
137+
3. Make sure you choose an appropriate device. See **Board-specific Considerations** above.
138138

139-
4. Add the source file `add.sv` and `jtag.sdc` to the design when the wizard prompts you. These may be copied from `add-quartus-sln`.
139+
4. Choose **Empty Project** when prompted to select a project type.
140140

141-
![](assets/add-files.png)
141+
5. Add the source file `add.sv` and `jtag.sdc` to the design when the wizard prompts you. These may be copied from `add-quartus-sln`.
142142

143-
5. Make sure you choose an appropriate device. See **Board-specific Considerations** above.
143+
![](assets/add-files.png)
144144

145145
3. Copy the generated IP to the Intel Quartus® Prime project. This design uses host pipes, which generates additional internal SYCL kernels. The `fpga_ip_export` build target uses the `-fsycl-device-code-split=per_kernel` flag to separate these additional kernels from your kernel, but these kernels have their own reports and associated RTL. You must locate the the `.prj_X` directory that contains the IP you want to use in your design.
146146

@@ -222,11 +222,13 @@ Follow these steps to compile and test the design:
222222
223223
7. Save the system by clicking `File` > `Save`
224224

225-
8. Generate the system so that it can be included in the Intel® Quartus® Prime project by clicking `Generate HDL...`
225+
8. Make sure there are no errors in the 'System Messages' panel.
226+
227+
9. Generate the system so that it can be included in the Intel® Quartus® Prime project by clicking `Generate HDL...`
226228

227229
![](assets/generate-hdl.png)
228230

229-
9. Close Platform Designer.
231+
10. Close Platform Designer.
230232

231233
6. In the Intel® Quartus® Prime window, run Analysis and Elaboration by clicking 'Start Analysis and Elaboration'.
232234

@@ -250,6 +252,8 @@ Follow these steps to compile and test the design:
250252
>
251253
> ![](assets/all-pins.png)
252254
255+
> **Note**: Make sure you choose 'LVDS' for the I/O standard of `i_clk`, the pin location will be automatically populated for `i_clk(n)`.
256+
253257
8. Add the timing constraints.
254258

255259
1. If you are using the Intel® Arria® 10 SX SoC Dev Kit, you can find a timing constraints file for the JTAG interface (jtag.sdc) in the GHRD. This file was added during project creation.
@@ -275,6 +279,18 @@ Follow these steps to compile and test the design:
275279
276280
10. Copy the generated `add.sof` file to the `system_console` directory.
277281
282+
Linux:
283+
284+
```
285+
$> cp add-quartus/output_files/add.sof system_console
286+
```
287+
288+
Windows:
289+
290+
```
291+
> xcopy add-quartus\output_files\add.sof system_console
292+
```
293+
278294
### Additional Documentation
279295
- [Intel® Arria® 10 SoC Golden System Reference Design](https://rocketboards.org/foswiki/Documentation/Arria10SoCGSRD) describes a reference design you can use with your Intel® Arria® 10 SX SoC Developer kit.
280296
- [Intel® Arria® 10 SX SoC Development Kit](https://www.intel.com/content/www/us/en/products/details/fpga/development-kits/arria/10-sx.html) describes the Intel® Arria® 10 SX SoC Development kit in greater detail.

DirectProgramming/C++SYCL_FPGA/Tutorials/Tools/experimental/platform_designer/README_2023-0.md

+40-11
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ This example design shows how to use an FPGA IP produced with the Intel® oneAPI
1515
> To use the simulator flow, Intel® Quartus® Prime Pro Edition and one of the following simulators must be installed and accessible through your PATH:
1616
> - Questa*-Intel® FPGA Edition
1717
> - Questa*-Intel® FPGA Starter Edition
18+
> - Questa* Advanced Simulator
1819
> - ModelSim® SE
1920
>
2021
> To use the hardware compile flow, Intel® Quartus® Prime Pro Edition must be installed and accessible through your PATH.
@@ -54,7 +55,7 @@ This example is intended for users interested in creating standalone modules tha
5455

5556
### Board-specific Considerations
5657

57-
This design is intended to work with the Intel® Arria® 10 SX SoC Development Kit. The board-specific configurations that you should specify in Intel® Quartus® Prime are as follows:
58+
This design is intended to work with the Intel® Arria® 10 SX SoC Development Kit. These board-specific configurations are not guaranteed to work with different boards:
5859
1. Choose `10AS066N3F40E2SG` device to match the devkit
5960
2. Choose pin `PIN_AM10` to drive the `i_clk` signal
6061
3. Choose pin `PIN_AR23` to drive the `fpga_led` signal
@@ -101,7 +102,7 @@ Follow these steps to compile and test the design:
101102
> nmake fpga_ip_export
102103
```
103104

104-
2. **From the same terminal**, launch the Intel® Quartus® Prime Pro Edition GUI, and create a new Intel® Quartus® Prime project using the 'New Project' wizard.
105+
2. **From the same terminal**, prepare a project directory for the Intel® Quartus® Prime project and copy the source files `add.sv` and `jtag.sdc` from the `add-quartus-sln` into it. Then launch the Intel® Quartus® Prime Pro Edition GUI, and create a new Intel® Quartus® Prime project using the 'New Project' wizard.
105106

106107
> **Note**: You may confirm your Intel® Quartus® Prime project settings by comparing with the sample Intel® Quartus® Prime project included in the `add-quartus-sln` directory.
107108
@@ -110,6 +111,8 @@ Follow these steps to compile and test the design:
110111
```
111112
$> cd ../../
112113
$> mkdir add-quartus
114+
$> cp add-quartus-sln/add.sv add-quartus
115+
$> cp add-quartus-sln/jtag.sdc add-quartus
113116
$> cd add-quartus
114117
$> quartus
115118
```
@@ -119,27 +122,29 @@ Follow these steps to compile and test the design:
119122
```
120123
> cd ..\..\
121124
> mkdir add-quartus
125+
> xcopy add-quartus-sln\add.sv add-quartus
126+
> xcopy add-quartus-sln\jtag.sdc add-quartus
122127
> cd add-quartus
123128
> quartus.exe
124129
```
125130

126-
1. Set the project directory to be the `add-quartus` directory of this code sample.
131+
1. Set the project directory to be the `add-quartus` directory.
127132

128133
2. Set the top-level entity to be `add` to make project management easier.
129134

130135
![](assets/quartus_new_project.png)
131136

132-
3. Choose **Empty Project** when prompted to select a project type.
137+
3. Make sure you choose an appropriate device. See **Board-specific Considerations** above.
133138

134-
4. Add the source file `add.sv` and `jtag.sdc` to the design when the wizard prompts you. These may be copied from `add-quartus-sln`.
139+
4. Choose **Empty Project** when prompted to select a project type.
135140

136-
![](assets/add-files.png)
141+
5. Add the source file `add.sv` and `jtag.sdc` to the design when the wizard prompts you. These may be copied from `add-quartus-sln`.
137142

138-
5. Make sure you choose an appropriate device. See **Board-specific Considerations** above.
143+
![](assets/add-files.png)
139144

140145
3. Copy the generated IP to the Intel Quartus® Prime project. This design uses host pipes, which generates additional internal SYCL kernels. The `fpga_ip_export` build target uses the `-fsycl-device-code-split=per_kernel` flag to separate these additional kernels from your kernel, but these kernels have their own reports and associated RTL. You must locate the the `.prj_X` directory that contains the IP you want to use in your design.
141146

142-
You can identify the correct `.prj_X` folder by looking for the folder that contains `*_di_inst.v` file where the interfaces match your kernel. For example, in this project, `add_xample.fpga_ip.prj_1` is the correct `.prj_x` directory, because `add_example_fpga_ip_1_di_inst.v` contains only a CSR Agent interface in addition to the clock/reset signals:
147+
You can identify the correct `.prj_X` folder by looking for the folder that contains `*_di_inst.v` file where the interfaces match your kernel. For example, in this project, `add.fpga_ip_export.prj_1` is the correct `.prj_x` directory, because `add_fpga_ip_export_1_di_inst.v` contains only a CSR Agent interface in addition to the clock/reset signals:
143148

144149
```verilog
145150
add_fpga_ip_export_1_di add_fpga_ip_export_1_di_inst (
@@ -211,19 +216,25 @@ Follow these steps to compile and test the design:
211216

212217
![](assets/add-ip-platform-designer.png)
213218

219+
> **Note**: If you cannot see the oneAPI IP component, refresh Platform Designer by clicking `File` > `Refresh System`
220+
>
221+
> ![](assets/refresh-system.png)
222+
214223
3. Connect the modules as shown:
215224

216-
![](assets/complete-system_platform-designer.png)
225+
![](assets/complete-system_platform-designer_2023-0.png)
217226

218227
Don't forget to export the `irq_add` and `exception_add` signals. The provided top-level RTL file (`add.sv`) uses the generated IP. Following these naming conventions allows the IP to connect to this handwritten RTL.
219228

220229
4. Save the system by clicking `File` > `Save`
221230

222-
5. Generate the system so that it can be included in the Intel® Quartus® Prime project by clicking `Generate HDL...`
231+
5. Make sure there are no errors in the 'System Messages' panel.
232+
233+
6. Generate the system so that it can be included in the Intel® Quartus® Prime project by clicking `Generate HDL...`
223234

224235
![](assets/generate-hdl.png)
225236

226-
6. Close Platform Designer.
237+
7. Close Platform Designer.
227238

228239
6. In the Intel® Quartus® Prime window, run Analysis and Elaboration by clicking 'Start Analysis and Elaboration'.
229240

@@ -243,6 +254,12 @@ Follow these steps to compile and test the design:
243254

244255
![](assets/pins-from-design.png)
245256

257+
> **Note**: If you cannot see the pin details, click the `All Pins` button in the bottom left corner of the Pin Planner GUI.
258+
>
259+
> ![](assets/all-pins.png)
260+
261+
> **Note**: Make sure you choose 'LVDS' for the I/O standard of `i_clk`, the pin location will be automatically populated for `i_clk(n)`.
262+
246263
8. Add the timing constraints.
247264

248265
1. If you are using the Intel® Arria® 10 SX SoC Dev Kit, you can find a timing constraints file for the JTAG interface (jtag.sdc) in the GHRD. This file was added during project creation.
@@ -268,6 +285,18 @@ Follow these steps to compile and test the design:
268285
269286
10. Copy the generated `add.sof` file to the `system_console` directory.
270287
288+
Linux:
289+
290+
```
291+
$> cp add-quartus/output_files/add.sof system_console
292+
```
293+
294+
Windows:
295+
296+
```
297+
> xcopy add-quartus\output_files\add.sof system_console
298+
```
299+
271300
### Additional Documentation
272301
- [Intel® Arria® 10 SoC Golden System Reference Design](https://rocketboards.org/foswiki/Documentation/Arria10SoCGSRD) describes a reference design you can use with your Intel® Arria® 10 SX SoC Developer kit.
273302
- [Intel® Arria® 10 SX SoC Development Kit](https://www.intel.com/content/www/us/en/products/details/fpga/development-kits/arria/10-sx.html) describes the Intel® Arria® 10 SX SoC Development kit in greater detail.

0 commit comments

Comments
 (0)