要在XDMA的PCIE接口下调通FIFO,此处选择的IP是AXI4-Stream Data FIFO(2.0)
一、首先看FIFO的配置
FIFO depth按照实际的数据深度选择即可;
independent clocks由读写是否在同一个时钟域决定,比如AXI-Stream1总线写,从AXI-Stream2总线读,就需要用到不同的时钟域;
TDATA width由AXI总线的数据宽度决定,比如XDMA选择的是128bit,那么此处选择16,*8即为128;
TKEEP必须使能,TKEEP表示该数据位是有效的;
TLAST信号必须使能,该信号表示的是数据包的最后一个数;
二、AXI Stream总线知识
TVALID,该信号表示的是主机端已经准备好了发送;
TREADY,该信号表明的是接收端已经准备好了接收;
三、AXI Stream总线的握手
1. 写FIFO的握手,FIFO非空时,TREADY信号一直处于高电平,上位机给XDMA发写的命令时,XDMA的TVALID信号拉高,开始写FIFO;
2. 读FIFO的握手,FIFO有数据时,FIFO的TREADY信号将一直处于高电平,上位机给XDMA发读命令时,XDMA的TREADY信号拉高,开始读FIFO
四、工作思维框架刷新
1. 在研发时,调试遇到问题时,一定先借鉴别人是怎么做的,拿现成的产品先做参考,再不济要上官网搜参考例程,搜数据手册
2.在研发调试时,一定要从最小的模块开始调试,调试成功了再一步步慢慢往上加模块;