之前在纠结这个FIFO的FULL信号延后一个时钟的输出的,会导致通过判断FULL拉高再将wr_en拉低,会导致丢一个数。
又想了一下,FIFO作为跨时钟或缓冲,FIFO写数据不丢是最优先的,而且wr_en在过程中也不会拉低(一直拉高一直写,不写就会丢数)。而这个一直写 用programble full 就可以解决了。programble full为1时开始读,而写端fifo写 由于是programble full还剩很大空间 也不会导致写入数据overflow。 这就没问题了。
之前在纠结这个FIFO的FULL信号延后一个时钟的输出的,会导致通过判断FULL拉高再将wr_en拉低,会导致丢一个数。
又想了一下,FIFO作为跨时钟或缓冲,FIFO写数据不丢是最优先的,而且wr_en在过程中也不会拉低(一直拉高一直写,不写就会丢数)。而这个一直写 用programble full 就可以解决了。programble full为1时开始读,而写端fifo写 由于是programble full还剩很大空间 也不会导致写入数据overflow。 这就没问题了。