关于昨天异步fifo最后交换时钟问题
首先增加两个标志位来表明,正在写和正在读:wr_running和rd_running。目的是可以清楚观察读写效率。
下面为读时钟20MHz,写时钟为10MHz:
- 读数据和写数据都不+1
上图可知,读写依然交替进行。 - 都+1操作:读写都在进行,不会出现写满状态,写一直进行。
- 写数据+1操作,读数据不+1:
- 读数据+1,写数据不+1:
所以昨天猜想慢时钟+1操作,增加效率的想法使作物的。原因应该是忽略了数据需要先写入才可以读取。
首先增加两个标志位来表明,正在写和正在读:wr_running和rd_running。目的是可以清楚观察读写效率。
下面为读时钟20MHz,写时钟为10MHz: