板子是picosdr?或者ZC702、ZC706、Zedboard?
Xilinx的axi_dma这个IP虽然有scatter/gather的模式,还可以cyclic dma,能实现每个时钟周期都在传输不断流,但是使用起来局限太大。尤其是S2MM的每一组传输最后一个样本必须有TLAST。1年多前我稍微研究了它的VHDL代码,本来打算简化和改造它,发现它实质上是axi_datamover的一个AXI-Lite命令外壳,于是直接转用axi_datamover。
Analog对AD9361公开的FPGA参考设计很值得仔细研究。Analog自己写了一个DMA,估计它也认为Xilinx的DMA不适合直接用。Analog自己的IP基本都是Verilog,比VHDL分析起来轻松一些。但是把这个Reference Design转化为自己的项目,需要花点力气。我后来自己完全重写了一个,从24根差分数据线和若干时钟、控制线,转化到61.44MHz频率的两个AXI-Stream收发双工接口,总共只消耗几十个LUT,比官方设计简化了很多,把资源尽量留给后面的数据处理。
【 在 jxj (纸飞机-BH1RXH@Radio) 的大作中提到: 】
: 是在搞zynq ad9361
: 您说的这个方法有参考设计或者例子吗?
: 有点类似于scatter gather DMA? 预先把一系列的dma配置存到内存供dma调用?
: ...................