基于DE1-SOC开发板的oneAPI实验教程(1)
- 期货快讯
- 2025-07-16
- 33714
01 前言
在算力需求爆炸式增长的时代,异构计算已成为突破性能瓶颈的首选路径。然而,多架构编程困境、传统硬件开发高门槛(如FPGA)、硬件优化与算法快速迭代,这些无不制约着创新的效率。
而此时作为开放的、跨架构的统一编程模型英特尔 oneAPI,正是破局之钥。对于FPGA的开发来说,oneAPI让开发者能用高级语言(如C++))转换为用于硬件加速的RTL IP代码。通过oneAPI实现了FPGA开发周期大幅度缩短,编译器自动优化数据流与流水线,以及同一代码库跨CPU/GPU/FPGA无缝部署。
02 基于DE1-SOC的oneAPI实验
本教程介绍如何使用Intel oneAPI工具包将高级语言代码(特别是C++风格的代码)转换为用于硬件加速的RTL(Register-Transfer Level,寄存器传输级) IP代码。关于Intel oneAPI的详细介绍可以浏览Intel oneAPI官网。
教程中的示例基于Nios II处理器嵌入式系统构建并在DE1-SoC开发板上运行,演示如何使用oneAPI工具包将用C++编写的高级直接内存访问(Direct Memory Access,DMA)代码转换为 RTL IP 代码,然后将生成的 IP 集成到Nios II嵌入式系统中。开发者按照这种方法可以为任何计算密集型任务生成 RTL IP 代码,从而显著提升硬件加速性能。
以下是运行示例所需的软硬件要求:
DE1-SoC开发板
Win 10/11 PC
Visual Studio Community 2022
Intel oneAPI Base Toolkit
FPGA Support Package for oneAPI
Altera Quartus Prime Standard v23.1
一、 安装Visual Studio Community 2022
本节介绍下载并安装Visual Studio Community 2022。
1. 下载Visual Studio Community。
2. 下载完成后运行VisualStudioSetup.exe,点击Continue。
3. 在Installing界面选择Desktop&Mobile里的Desktop development with C++,保持其它默认设置不变,然后点击Install开始安装。
4. 安装界面里取消勾选Start after installation,等待安装完成。
5. 安装完成后关闭Visual Studio Installer。
二、安装Intel oneAPI Base Toolkit
本节介绍下载安装Intel oneAPI Base Toolkit。Intel oneAPI Base Toolkit是一套核心工具和库,用于跨多种架构创建和部署高性能、以数据为中心的应用程序,它提供了用于高效创建高性能跨架构应用程序的基础工具。
1. 按下图所示选择下载Intel oneAPI Base Toolkit。
2. 运行intel-oneapi-base-toolkit-2025.0.1.47_offline.exe,点击下图中的Extract。
3. 点击Continue继续。
4. 勾选I accept the terms of the license agreement,然后点击Continue。
5. 接下来一直保持默认设置安装。
6. 等待安装完成后,点击Finish。
三、安装FPGA Support Package for oneAPI
通过扩展Intel oneAPI DPC++/C++ 编译器,FPGA Support Package使开发者能够遵循简化的FPGA工作流程,它支持创建和优化 FPGA 工作负载,并通过仿真进行功能验证。此外还提供详细的报告和图形分析功能,帮助检查生成的SystemVerilog 输出。
1. 下载FPGA Support Package。
2. 运行intel-fpga-support-for-compiler-2025.0.0.585_offline.exe,点击Extract。
3. 点击Continue继续。
4.勾选I accept the terms of the license agreement,点击Continue。
5. 勾选I Consent to the collection of my information,点击Install。
6. 等待安装完成后,点击Finish。
四、安装Quartus Prime Standard v23.1.1
1. 下载Quartus Prime Standard v23.1.1以及Cyclone V FPGA器件包。
2. 运行QuartusSetup-23.1std.1.993-windows.exe开始安装,持续点击Next保持Quartus默认方式安装。在选择安装路径界面也可以更改安装路径,并确保Cyclone V FPGA器件包也一起安装。
3. 安装完成后,修改PC的环境变量,新增变量名QUARTUS_ROOTDIR_OVERRIDE,变量值指向Quartus安装路径,比如E:intelFPGA23.1stdquartus。
五、验证软件环境
本节介绍如何验证软件是否成功安装,以及检查PC环境变量设置是否正确。
1. 在PC的开始菜单栏选择Intel oneAPI 2025-->Intel oneAPI command prompt for Intel 64 for Visual Studio 2022,打开Intel oneAPI命令行窗口。
2. 执行cl和cmake -version命令,验证Visual Studio是否完全安装。
3. 执行icx-cl --version命令验证Intel oneAPI Base Toolkit已安装。
4. 执行aoc -version命令验证FPGA Support Package for oneAPI已安装。
5. 执行%QUARTUS_ROOTDIR_OVERRIDE%/bin64/quartus_sh --version命令验证Quartus已安装。
六、编译执行oneAPI示例--Simple DMA
oneAPI CLI Samples Browser可用于浏览在线oneAPI系列示例。在浏览oneAPI 示例时,可以将它们复制保存到PC本地文件夹。在PC主机的CPU上运行的FPGA Emulator可以生成设备端(FPGA)内核所用的线程。FPGA Emulator并非FPGA的完美复制品,运行速度也慢得多。Emulator允许我们在不启动完整器件编译的情况下检查代码的正确性。
1. 打开Intel oneAPI命令窗口,执行chcp 65001命令将语言编码更改为UTF-8。
2. 执行oneapi-cli.exe命令打开oneAPI CLI Samples Browser。
3. 按键盘上的<和>键移动光标,选择(1) Create a project再按Enter键进入Select sample language界面。
4. 选择(1) cpp再按Enter键。
5. 移动光标依次选择Toolkit > oneAPI Direct Programming > C++ SYCL FPGA > Reference Designs> Nios V,再按Enter键。
6. 在此界面可更改保存工程的路径,举例D:InteloneAPI iosv,再按Enter键可将工程保存在该路径下。
7. 按Quit键退出回到Intel oneAPI命令行窗口,使用cd命令切换到niosv/ReferenceDesigns/niosv/kernels/simple_dma工程路径。
8. 执行以下命令创建并切换到build文件夹,配置build系统并指定FPGA为Cyclone V。
mkdir build && cd build
cmake .. -G "NMake Makefiles" -DFPGA_DEVICE=CycloneV
9. 执行nmake fpga_emu命令编译Simple DMA,使用FPGA emulator验证Simple DMA内核。
10. 执行simple_dma.fpga_emu.exe验证Simple DMA内核,结果显示为PASSED。