“FPGA云服务能提供给用户可选择的高配FPGA资源,以及开发工具及环境。主要面向IP开发商和有硬件加速需求的用户。”
01 FP1套件
—
注:以华为FP1实例演练说明,需从github下载huaweicloud-fpga。
1) HDK(硬件开发套件)
存放在huaweicloud-fpga/fp1/hardware目录下,包括vivado和SDAccel两种开发工具条件;
2) SDK(应用开发套件)
存放在huaweicloud-fpga/fp1/software目录下,包括实例运行时所需要的运行环境配置文件、驱动、工具以及相关应用程序。
3) FPGA镜像管理工具(fisclient)
4) FPGA镜像加载工具
下面小编将分享通用型架构FPGA开发体验
通用型架构的硬件开发是基于SDaccel,完成工程创建、工程编译、工程仿真、生成xclbin文件,最终完成FPGA镜像(AEI, Accelerated Engine Image)的注册。
02 SDaccel环境配置
—
配置服务器端SDaccel环境(进入huaweicloud-fpga/fp1目录)
1 设置setup.cfg文件中FPGA_DEVELOP_MODE=”sdx”。(默认为vivado)
2 设置setup.cfg文件中XILINX_LIC_SETUP的值为所在区的License (华南区)。
3 设置setup.cfg文件中VIVADO_VER_REQ的值为“2017.4.op”
4 source huaweicloud-fpga/fp1/setup.sh。
03 创建用户工程
—
1 创建模板工程
cd huaweicloud-fpga/fp1/hardware/sdaccel_design/user
sh create_prj.sh hello temp_cl
2 编写主机程序与kernel代码等
将huaweicloud-fpga/fp1/hardware/sdaccel_design/example/vadd/src中的主机程序、kernel代码和Makefile拷贝到hello工程下的src目录中。
3 编译工程
cd huaweicloud-fpga/fp1/hardware/sdaccel_design/user/script
sh compile.sh hw
04 仿真用户工程
—
类似上述工程的编译,只需改变编译模式为cpu_em或hw_em,小编这里只演示sh compile.sh hw_em,并进行sdaccel_profile_summary性能分析。
1硬件仿真运行结果
2 修改Makefile
设置KERNEL_DEBUG = 1。
3 在cd huaweicloud-fpga/fp1/hardware/sdaccel_design/user/prj/bin目录下新建sdaccel.ini文件,内容如下:
[Debug]
profile=true
device_profile=true
注:此步骤必须在执行完sh compile.sh hw_em之后操作。
4 执行仿真
cd huaweicloud-fpga/fp1/hardware/sdaccel_design/user/script
sh run.sh emu ../prj/bin/vadd ../prj/bin/bin_vadd_hw_emu.xclbin
5 仿真数据分析
cd huaweicloud-fpga/fp1/hardware/sdaccel_design/user/prj/bin
ls
sdx_analyze profile sdaccel_profile_summary.csv
sdx_analyze profile -i sdaccel_profile_summary.csv -f html
05 总结
—
由于FPGA镜像生成颇耗时,小编中间又打断多次,导致现在还没跑完;因此剩下的内容只能明天再分享了。其实,小编只是FPGA硬件系统的开发者,云端服务器作用不是很大。但是,云的确是个好东西,小编在使用Linux操作系统时好多应用都找不到很好的app,但google云应用给予了极大的便利。
领取专属 10元无门槛券
私享最新 技术干货