ZYNQ开发之HLS图像处理入门
HLS(High Level Synthesis)即高层次综合,和以前Verilog及VHDL不一样,通过它可以用C/C++、SystemC及OPENCL编写FPGA程序,实现相应功能,大大加快开发的速度,使软件工程师可以参与到项目中,使硬件工程师可以增加工作效率
OPENCV是开源计算机视觉库,支持C/C++、PYTHON等多种语言,OPENCV的设计可以直接运行在ZYNQ的PS上,但是用ARM处理高清视频处理的时候,可能就会处理不过来。于是HLS OPENCV就这样出现了(硬件加速),HLS Opencv是HLS自带的、可综合成HDL的OpenCV库函数(因为并不是所有的OpenCV库函数都可以综合成HDL),HLS OPENCV具体的函数操作方法,将写在理论系列(一) HLS OPENCV函数,本文主要是针对HLS的入门操作
一、运行环境
这个HLS的版本很重要!!!
之前尝试用HLS普通的仿真没问题,但是对图像进行C仿真(调用HLS带的函数),仿真编译的时间就很长,而且结果报错:
cc1plus.exe:-1: error: out of memory allocating ……
解决方法:不要使用2017.1和2017.2的HLS,降到2016.4,或者升级到2017.3(本文2017.3)
二、搭建HLS工程
1.新建工程,根据向导设置相关参数
新建工程的最后一步,新建了一个solution1,时钟周期就默认10ns,然后选择芯片型号,完成工程的创建2.新建文件
新建三个文件test.cpp(测试文件)、image_core.cpp(算法核心)以及image_core.h,文件内容
test.cpp:
#include "image_core.h"
#include "opencv/cv.h"
#include "opencv/cxcore.h"
#include "opencv/highgui.h"

本文介绍了ZYNQ开发中使用HLS进行图像处理的入门步骤。通过HLS工具,开发者可以用C/C++实现FPGA程序,提高开发效率。由于OpenCV在ARM上的处理能力有限,HLS Opencv应运而生,它是可综合成硬件的OpenCV库。文章详细阐述了环境配置,特别是HLS版本选择的重要性,以及如何搭建HLS工程,包括新建工程、编写源文件、运行仿真和生成IP核的过程。
7497

被折叠的 条评论
为什么被折叠?



