- 博客(11)
- 收藏
- 关注
原创 使用VIVADO HLS工具封装ORB算法
ORB特征是将FAST特征点的检测方法与BRIEF特征描述子结合起来,并在它们原来的基础上做了改进与优化。该算法的旋转不变性、特征点和特征描述字等概念自行百度。 这里主要提供封装思路:a、对不了解的算法,算法的每一步都要用F10单步一遍,这是最起码的。
2017-08-07 17:56:10 2955 3
原创 OV5640开机自动配置IP编写
许久不写I2C驱动,注意事项都忘了,现总结如下:1、在数据变化的时候,一定要保证SCL是为低电平!2、开始通信之前和开始通信之后,都要将总线和时钟放高3、每个字节之后,要拉低总线一个周期,给器件应答时间4、在传数据之前和传数据之后,要保持SDA总线干净!放出最后截图,输入时钟和复位,输出为CMOS_clk_out,CMOS_DATA.
2017-10-24 14:51:19 799
原创 优化HLS IP核的运行速度以及VIVADO工程中VDMA的配置
1、优化HLS ip核的运行速度,需要修改算法的并行度,大概提高运行速度的5~10%2、需要给LOOP,加pipeline,有些算法可以所有循环层全加,有些只能在最内层以及次内层两层循环中,提高速度1000~2000%,同时占用资源迅速增加,需要折中
2017-10-10 14:51:54 2072
原创 使用Z702构建摄像头+HLS图像处理模块+HDMI显示数据流工程
首先拜大神http://blog.csdn.net/rzjmpb/article/details/50212875然后记录一下最近的心路:1、构建上述数据流,需要两部分准备工作,也就是完整的摄像头+hdmi的工程和完整的HLS图像处理模块+hdmi的工程,两个工程都跑通的基础上,才能进行这一步2、其中涉及很多地址和指针,以及裸奔zynq的套路,需要对两个工程和大神的文章反复阅读
2017-09-22 15:04:55 1066
原创 关于HLS中SVD分解的精度研究
近期对SVD分解的精度进行初步的测试:对比如下方法1、采用VS上的opencv代码进行SVD分解2、采用matlab进行SVD分解3、采用HLS进行SVD分解VS和MATLAB,奇异值在0附近的算法精度比较统一。而HLS在奇异值0附近精度,二维或者三维矩阵上精度还可以,随维度的变化精度变差,甚至正负号都会与前面两者有差别。VS的V矩阵与matlab 保持统一
2017-09-19 19:04:44 1108 3
原创 在HLS的IP核中声明默认逻辑引脚
函数的参数列表中写入bool useExtrinsicGuess = false在.h中编译没有问题,放到.cpp中就会报如下错误:error: default argument given for parameter 9 of 也就是说作为IP核外部输入变量仿真可以,如果作为IP核的一个引脚来使用会出错。原因未知
2017-09-05 14:17:00 567
转载 开源飞控OpenPilot的扩展卡尔曼滤波(EKF)学习笔记
转自http://bbs.loveuav.com/forum.php?mod=viewthread&tid=108看到大神的文章,转载对多维扩展卡尔曼系统有帮助
2017-08-22 11:53:17 1209
原创 HLS中SVD解最小二乘
在HLS 库中,有很多很好的函数是没有说明的,需要我们去自己读源码,当然也有很多有说明的函数,也需要我们去读源码!------忍不了的,可以自己写了。。。svd这个函数在线代运算里是非常有用的,采用svd_balanced这个IP实现了求U ,V 的分解,注意这个函数用的时候,在头文件里作者直接例化了函数里的所有数组大小。相当于给FPGA里的存储单元分配了空间。对硬件程序员还是蛮有用的。
2017-08-17 20:17:56 984 1
原创 关于vivado HLS IP核仿真中的消费机制
创造了一个类C的新语言,至少也要给起个名字吧惯例吐一下官方没有这方面说明,不知是何居心。在HLS仿真IP核时:main函数代码中调用该IP,貌似是调用一个函数,其实是映射到一个底层电路,而输入如果是stream格式的话,说明输入是一段不存在内存里的,而是时间域上的数据流,所以用完就没了。此时,如果这个调用写到循环里,那么,一定要注意将输入重新复制,否则就没数可仿。举个不恰当的例子:
2017-08-16 20:04:24 1261
原创 问题记录:在HLS中使用矩阵乘法
HLS中有两个给出介绍的矩阵乘法:hls::Mul和hls::matrix_multiply。hls::matrix_multiply在902中有很详细的解释,读懂了还是蛮好用的。实现了部分cv:gemm的功能hls::Mul比较坑,因为没有个给实例,可以做个例子自己试一试。其实还有一个乘法hls::mul,没错就比楼上改了一个大小写,不小心就会出错。并且没有任何介绍,不看源码
2017-08-15 18:14:00 2686 1
原创 遇到一个天坑CR-975103错误
今天检查到vivado2017.1的一个天坑,CR-975103错误。这个错误目前还不知道是在哪里公布的。。吐槽混乱的官方渠道。该错误让vivado2017.1的HLS在win10-64上无法运行 math.h,预计在vivado2017.3会修复。。。。能不能愉快的合作了。。。报错 out of memory allocating XXXXX bytes +vivado2017.1
2017-08-14 17:11:55 580
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人