在进行了一些数据手册粗略的阅读和一些内容的相关了解以后,我开始了一些系统的搭建。
一、FIFO系统搭建
在进行系统搭建时,我参考了翔瑞学长的博客,先进行了FIFO系统的搭建。因为FIFO系统中所用到的IP Core是系统自带的,相对于自己生成的IP Core成功率会更高一些。
首先什么是FIFO呢?FIFO是先进先出。关于怎样创建工程和选择芯片之类的在这里就先不说了,之前的博客里有关于开发流程的详细介绍。
我们要搭建FIFO系统,首先点击来进行IP Core的添加。
在这里我就遇到了问题,我们应该添加什么样的IP Core?添加了之后怎么进行设置?怎么进行连线?这些都是目前遇到的问题,在搭建的时候很迷茫,所以只好摸索着前进,在搭建的过程中慢慢理解。
要进行系统的搭建,必定会出现DMA和AXI的相关内容。这里我参考的是学长的一篇博客,关于DMA和AXI总线的介绍DMA和AXI总线。
从其中的处理器和DMA的交换图中,可以看到,我们需要一个处理器和一个DMA核。这里我们添加的是以下两个IP Core。
因为我们搭建的是FIFO系统 ,所以要把相应的IP Core加进来。我们用的是AXI4 stream进行传输。
这时点击自动连接,除了FIFO核意外,处理器核DMA之间连接完成,并且会根据需要自动增加了相应的核。我们接下来要做的就是把FIFO核加进去。这就牵扯到连线问题。
根据下图,我们可以看到DMA和FIFO之间的接口连线。对于FIFO的输入和DMA之间通过AXIS_MM2S连接,而FIFO的输出和DMA之间通过AXIS_S2MM连接。
对应的颜色进行连接。
这里MM2S是memory-mapped to stream,
S2MM是stream to memory-mapped
这时需要进行时钟的链接。
上述DMA上的这三个时钟不能自动连接,需要我们手动链接到处理器的时钟上。然后 之后点击 进行比特流的生成。vivado会先进行综合,完成以后进行比特流的生成,在右上角会显示