SoC FPGA 的 OpenCL 开发流程包含两部分:

首先需要编写内核,然后使用 AOC 编译器编译内核,它会产生一个.aocx文件,我们使用这个文件可用来配置FPGA。

然后编写主机代码,并用标准的C编译器编译主机程序并生成一个可执行文件。

在内核程序和主机程序都编译完成后,可先用aocx文件来配置FPGA,FPGA配置完成后,主机程序将根据主机算法与FPGA进行沟通,获取计算后的数据。

 

相比于X86 CPU+FPGA的开发流程类似,只是FPGA与CPU通讯的接口方式有区别 X86 CPU和FPGA是通过PCIe进行数据交互的,CPU和FPGA板卡都有各自的物理内存 而SoC FPGA中HPS和FPGA之间通过AXI总线异构紧耦合,而且他们共享内存空间,负责数据基本零开销。