微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请问用IP核做的FIFO复位信号为何不管用?

请问用IP核做的FIFO复位信号为何不管用?

时间:10-02 整理:3721RD 点击:

开发环境是Xilinx ISE 7.1i

芯片是SPARTAN3 XC3S400

用IP核FIFO generator做个一个异步FIFO,在工作过程中需清空一次,因此加了一个复位信号(复位信号应该是高电平有效,复位信号保持时间芯片手册上没有说,从几十ns到几十毫秒都试过)

可是复位后,不知道是没有清空还是什么原因,再次写入时发现FIFO容量变小了

设计容量是1024比特,可是写入200或300个us之后FIFO标志 Prog_full就为“1”,导致无法继续写入,不知道是什么原因?

复位之前工作正常,每次复位之后就出现FIFO容量变小的情况,写入时钟速率60K,大概只写了200个比特左右,而且每次都不一样,但都达不到我设的门限值。

具体设置见附图:



   管用的,

   现在确实不对啊

今天把FIFO深度又加大试了试(由1024bit增加到2048bit)

结果更糟了

复位之后深度只有一个bit

每次复位之后写时钟只走一个时钟周期,PROG_full就变为“1”导致无法继续写入

FIFO复位是上升沿有效

   


这样的时序没问题吧



   没有错的,是上升沿有效

设计一个测试程序,统计FIFO写入数据的个数,ISE ANALYSIS抓取PRO_FULL,看能统计到多少?令读时钟域 如何控制的?

异步FIFO IP核怎么写满读,读空写控制?请大神指教

复位的时候,你给FIFO时钟了吗?我也遇到过这种情况,原因在于 给FIFO复位的时候读写时钟也复位了。解决办法:复位的时候,不要把时钟复位,就可以成功复位FIFO了。

清空用clr或者aclr试试。

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

网站地图

Top