微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > Xilinx FPGA的FIFO IP 问题

Xilinx FPGA的FIFO IP 问题

时间:10-02 整理:3721RD 点击:
我现在调用了Xilinx的fifo IP,直接就是数据输入和输出,但是在数据输出过程中,发现前面几位数没办法读出;而且输出数据也不对齐。
周期: clk     : 1  2  3  4  5  6  7  8  9  10  11
输入: VPO   :  1  2  3  4  5  6  7  8  9  10  11
输出:VPO_O:  0  0  0  0  0  0  4  5  6   7   8
情况类似于上面的样子,我该怎么解决的呢?谢谢各位大神帮忙。
主要代码:     
                    U1: FIFO_HD PORT MAP (RST,PCLK,PCLK,VPO,WR_Y,RE_Y,VPO_O_Y,FULL_Y,EMPTY_Y);
                    RE_Y <= '1';
                    WR_Y <= '1';

rst过了一段时间后再开始读写试试?

写之前看afull,
读之前看empty。这些注意了吗?



对的,就是empty的问题,我有数据输入,但是empty一直是高,要过好几个数据之后empty才会变成低,论坛里有人说是延迟,但是不知道有没有好的方法解决呢?现在读书的数据是正确的了,只是延迟很大。
类似于
周期: clk     : 1  2  3  4  5  6  7  8  9  10  11  。
输入: VPO   :  1  2  3  4  5  6  7  8  9  10  11  。
输出:VPO_O:  0  0  0  0  0  0  1  2  3   4   5   。



    。
你要求读数据和写数据没有延迟?那你干嘛用fifo,直接打寄存就行了。
你的读使能和读数据对应起来就行了。



是这样,对于我用来说的确是没有任何问题了。关键是我挺想知道FIFO内部为什么会有这么大的延迟?

对于Xilinx 的fifo,当它为空的时候,并不是说你一写入数据它就立即部位空了,你就可以读了,它有一定的延迟的,请看Xilinx fifo ipcore的相关资料或者Xilinx 讲memory resoures的文档里会讲到fifo的特性,如我用的k7的片子,ug473就是讲ram和fifo的。里边有特别提到标志位如empty和full等的延迟问题。
毕竟是两个时钟与,需要考虑亚稳态等问题,有一定延迟也正常。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top