图像采集处理之Vivado设计
2016-01-26 16:56
239 查看
在这之前给出了整个硬件工程数据流向,在此首先给出整个硬件工程架构:
这里面主要讨论的是AXI_HP接口、VDMA相关参数的配置和Vivado使用的一点技巧。软件方面的设计在以后的讨论的时候给出
AXI_HP接口为PL访问DDR和OCM提供了高带宽的数据通路。每个AXI_HP接口都有两个FIFO缓冲器,一个是读缓冲,一个是写缓冲。为了强调它们具有缓冲的能力,AXI_HP端口也常称为AFI(AXI_FIFO接口)
AXI_HP分成两部分,一部分连接到PL,另一部分量接到AXI Interconnect,从而访问DDR和OCM,除此之外,AXI_HP不能访问别的从设备。
每个AXI_HP都包括数据和控制FIFO(为大数据突发传输提供缓冲)1200MB/S是PS中的DMAC速度的两倍(空间换时间)。如果控制流需要CPU专门配置,那么这部分配置信息的数据量很小,可用M_AXI_GP做一些配置用户IP要访问的存储器地址和交易状态的任务。
VDMA是硬件设置中重点,以前没用DMA之类的外设传输过数据,这次利用这个类似DMA的VDMA搞清楚这一点。
stream data width是每个像素占用的比特位
frame buffer的个数和后面再软件设计中的帧起始地址个数相对应(起始地址合理的设计在DDR空间中)
通过VDMA的基地址配置VDMA的寄存器,用以实现数据传输需要的读写功能
本设计使用一个HP接口实现读写功能。根据视频数据每帧的大小来设计帧的起始地址(可以稍稍大点)
vivado设计的时候主要注意HLS IP核的添加,将生成的HLS IP Core添加到IP仓中,以便调用。首先在在IP Setting的界面中--->用add reposiyory添加包含HLS IP的xxx.zip ip文件夹----->用add ip添加相应的.zip IP核文件
Reference:1、http://comm.chinaaet.com/adi/blogdetail/35965.html vivado轻松实现IP封装
2、http://www.wtoutiao.com/p/hf3xe7.html 利用Vivado实现IP核封装
3、http://blog.chinaaet.com/fuxiao/p/37142 如何快速在Vivado IPI中使用HLS生成的IP
4、http://xilinx.eetop.cn/viewnews-1542 十招加速Vivado IP Integrator设计
5、http://blog.csdn.net/rzjmpb/article/details/50516181 使用VDMA在PL和PS之间传输视频流数据
下一次开始软件方面的设计工作,欢迎大神指正讨论。。。。。
这里面主要讨论的是AXI_HP接口、VDMA相关参数的配置和Vivado使用的一点技巧。软件方面的设计在以后的讨论的时候给出
AXI_HP接口为PL访问DDR和OCM提供了高带宽的数据通路。每个AXI_HP接口都有两个FIFO缓冲器,一个是读缓冲,一个是写缓冲。为了强调它们具有缓冲的能力,AXI_HP端口也常称为AFI(AXI_FIFO接口)
AXI_HP分成两部分,一部分连接到PL,另一部分量接到AXI Interconnect,从而访问DDR和OCM,除此之外,AXI_HP不能访问别的从设备。
每个AXI_HP都包括数据和控制FIFO(为大数据突发传输提供缓冲)1200MB/S是PS中的DMAC速度的两倍(空间换时间)。如果控制流需要CPU专门配置,那么这部分配置信息的数据量很小,可用M_AXI_GP做一些配置用户IP要访问的存储器地址和交易状态的任务。
VDMA是硬件设置中重点,以前没用DMA之类的外设传输过数据,这次利用这个类似DMA的VDMA搞清楚这一点。
stream data width是每个像素占用的比特位
frame buffer的个数和后面再软件设计中的帧起始地址个数相对应(起始地址合理的设计在DDR空间中)
通过VDMA的基地址配置VDMA的寄存器,用以实现数据传输需要的读写功能
本设计使用一个HP接口实现读写功能。根据视频数据每帧的大小来设计帧的起始地址(可以稍稍大点)
vivado设计的时候主要注意HLS IP核的添加,将生成的HLS IP Core添加到IP仓中,以便调用。首先在在IP Setting的界面中--->用add reposiyory添加包含HLS IP的xxx.zip ip文件夹----->用add ip添加相应的.zip IP核文件
Reference:1、http://comm.chinaaet.com/adi/blogdetail/35965.html vivado轻松实现IP封装
2、http://www.wtoutiao.com/p/hf3xe7.html 利用Vivado实现IP核封装
3、http://blog.chinaaet.com/fuxiao/p/37142 如何快速在Vivado IPI中使用HLS生成的IP
4、http://xilinx.eetop.cn/viewnews-1542 十招加速Vivado IP Integrator设计
5、http://blog.csdn.net/rzjmpb/article/details/50516181 使用VDMA在PL和PS之间传输视频流数据
相关文章推荐
- hdu acm 3018 Ant Trip
- 详解c++ 引用(reference)与 指针(pointer)的区别与联系
- 硬盘接口类型
- Win8快速开机到底隐藏了什么秘密
- Python 连接 Hbase
- 232,下载图片到沙盒的整个流程
- MATLAB.NET混合编程之二~~由C#调用MATLAB编译生成的dll
- 证明01分数背包问题具有贪心选择性质
- [转]nodejs npm常用命令
- Win7 桌面应用图标不见了
- css 权重 特殊性
- HUST 1027 Enemy Target!
- 高可用可伸缩架构实用经验谈
- 函数参数之 传常引用(passed by reference to const)替换 传值(passed by value)
- 作用域
- C# 微信公众平台开发(5)--添加图文素材
- MyEclipse 8.5整合Git,并在Github上发布项目【转】
- 回流与重绘
- ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
- SpringMVC深度探险(四) —— SpringMVC核心配置文件详解