1. PCIe DMA应用屏蔽了复杂的协议,将FPGA的RAM直接映射到PC的物理地址内存中,A10 pcie DMA控制器可以例化在IP核内部,DMA的寄存器端口被接到BAR0上,pc通过对BAR0地址的读写就可以操作DMA,BAR0-BAR1都是32位,组合起来成为1个64位的空间。BAR2用于寄存器访问,FPGA 端对Avalon MM的读写进行响应。
2.DMA读写都是通过PC主动配置FPGA的dma控制,由fpga的dma发起tlp mem读写请求。pc在内存中写好读或者写描述符,将描述符的物理地址写到BAR0寄存器中,告诉DMA去这个地址取描述符,按照描述符的指示搬移数据,搬移完成后,DMA回来写status =1,PC提前清除status,发送DMA后(最后一步操作写PTR),轮询最后一个status==1即可知道何时DMA结束。
3.dma例化时一般都有2种接口,avalon mm和avalon st。avalon mm可以后端自己写一个dma控制器,tlp包转mm由ip实现。avalon st由用户组tlp包和解tlp包。
————————————————
版权声明:本文为CSDN博主「同年纪_」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/q774318039a/article/details/97689218