synopsys dw_axi_dmac 使用集成经验

#总体简介
synopsys dw_axi_dmac 使用集成经验_第1张图片
AHB/APB用于寄存器配置和访问,2个AXI Master port用于实现数据src和dst的搬运,带perh请求握手接口,独立的debug interface,中断接口

 

#主要特性
▲共32个channel,每个通道都对应一对src和dst
▲每个channel都是单向的
▲2个AXI Master支持多层级连接访问
▲mem2mem,mem2perh,perh2mem,perh2perh
▲端模式可选,可引脚选择
▲仲裁可lock
▲内部状态output pin指示,最后一次写传输output pin指示
▲支持AXI非对其传输
▲低功耗配置
▲channel的ID,独立可配,每个channel都带单FIFO,深度可配。

#通道控制
busrt transfer size
channel priority 可配置
链表传输模式

dma一般都不支持wrapping传输

#一些参数描述
DMAX_UNALIGNED_XFER_EN非对其传输
DMAX_CH_ABORT_EN通道异常停止使能
DMAX_CH_MEM_EXT支持外部SRAM,FIFO memory
DMAX_MSTIF_MODE为AXI版本选择
AXI参数配置
DMAX_SLVIF_MODE配置模式选择参数
DMAX_SAFETY_FEATURE_EN ECC校验功能。
低功耗相关参数配置

#感悟
因为整个DMAC的功能比较全,所以其面积也不小,因此在配置时,注意结合自己需求来配置,比如假如配置接口和主时钟本来就是同步的,那就没必要配成异步,否者会在同步处理上耗费大量寄存器,若是在消费量产品上面,也没必要打开AXI Safety特性,根据实际数据最大长度,配置busrt的长度。DEBUG过程中,抓住数据流向。

你可能感兴趣的:(加速器,fpga开发)