异步FIFO要确保不满和不空,关键在于对读写指针的精确管理。通过比较读写地址,FIFO可以判断其满空状态。然而,由于读写地址属于不同的时钟域,比较前需进行同步处理。同时,为区分写满和读空状态,读写指针前需加一位最高位。
这样,当写指针越过FIFO最后一个地址时,最高位变化,表示写满;读指针同理。精确控制这些指针,就能有效保证异步FIFO不满和不空。