学习 altera FPGA调用FIFO ip核出现的问题

最近在学习FPGA,在准备毕业设计的摄像头的使用的时候,由于没有FIFO,要调用IP核,但是在写程序时,出现的一些问题。

按照官方的文档,在采用异步时钟FIFO时,在写入端,当写入请求(Wr_req)为高,且写入数据到来时候,我原来以为会下个时钟把数据存进去,但是从仿真结果来看,是立刻就送进去的,如下图是写入的时候,写入的是1:

学习 altera FPGA调用FIFO ip核出现的问题_第1张图片

        在读取端口:

学习 altera FPGA调用FIFO ip核出现的问题_第2张图片

由于存在延时,所以我个人认为应该设立一个寄存器,将前一次的数据保存进去,待下一个时钟到来临之前,将Wr_req拉高,然后把准据准备好,上升沿的时候,送进去。

    从输出端看:

学习 altera FPGA调用FIFO ip核出现的问题_第3张图片

Rd_empty是在写入几个数据后才拉低,故我认为该信号是可靠的。可以直接使用

学习 altera FPGA调用FIFO ip核出现的问题_第4张图片

Rd_full也是在数据写满的一段延时后才拉高,我认为也可以直接使用该信号。

       以上就是我对FIFO的一些认识,由于是初学不就,可能还有很多不懂,或者认知上的错误,希望大神指点,小弟会感激不尽。

你可能感兴趣的:(FPGA,modelsim,fpga)