一、参考视频
FPGA(异步FIFO原理及Verilog代码实现)_哔哩哔哩_bilibili
二、设计图

高位套圈时,格雷码和二进制不一样的地方
需要注意的问题
为什么二进制的变化位数更多,就更容易产生亚稳态呢?
格雷码
格雷码(Gray Code) 是一种特殊的二进制编码方式,它的特点是相邻的两个数只有一个二进制位不同。格雷码广泛应用于硬件电路中,例如旋转编码器、数字通信等,因为它可以有效减少由于时钟不稳定导致的错误。

空满信号
形成格雷码之后,打两拍形成读写指针,然后进行比较,就可以得到正确的空满信号了。
格雷码只有只有一位是不同的,打两拍就行了,为什么是两拍呢?