很多人用zynq平台做视频图像开发,但是对vdma了解比较少,上手起来稍微有些困难,我针对这一现象,做了一个基于vivado和modelsim的仿真和应用测试工程,并写篇文章做些介绍,希望能对大家有帮助。
一:xilinx vdma IP例化以及接口介绍
上面图片就是在vivado2015.4中例化vdma的界面,首先对参数做些介绍:
Frame Buffers :选择vdma缓存几帧图像,这里默认是写通道和读通道都设置相同的缓存帧数,具体设置多少帧合适一般根据应用来定,比如读写带宽相同,想用ddr作为一个乒乓buffer,那就可以设置成2帧,写第一个地址,读第二个地址,写第二个地址,读第一个地址。这里面设置几帧,就要在vdma寄存器配置的时候设置几个帧起始地址。
Memory Map Data Width:代表数据到达AXI4总线上的位宽,比如这里设置成64,那就代表M_AXI_XX总线上的数据位宽是64bit,这时候如果stream上的数据是32bit,那vdma内部会有一个带宽转换模块,把数据拼成64bit。
Burst Size : AXI总线上突发传输的长度,一般设置为16
Stream Data Width:vdma与pl逻辑部分通过axi stream协议交互数据,这里代表stream数据位宽
Line Buffer Depth:vdma内部会有一个行缓存fifo,stream数据会先写入fifo,然后AXI总线逻辑会读出到总线上,这个深度就代表fifo的深度。设置原则(个人理解):如果AXI总线数据带宽是stream总线数据带宽的1.5倍以上,这个fifo深度可以设置的小一点,如果AXI总线带宽小于1.5倍的stream总线带宽,那fifo的深度至少要是图像一个有效行的一半。
Advanced : 这里面只说一下Fsync Options
72.xilinx vivado zynq vdma仿真及应用详解(一)
最新推荐文章于 2026-04-03 10:20:55 发布
本文详细介绍了Xilinx VDMA IP的配置、接口和仿真方法,包括VDMA的帧缓冲设置、数据宽度、突发大小等参数,并通过建立仿真工程,模拟视频数据流,解析了VDMA在S2MM和MM2S通道的工作流程,为Zynq平台的视频图像开发提供了指导。

2393

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



