异步fifo中由二进制转化成格雷码一定有用吗
时间:10-02
整理:3721RD
点击:
在异步FIFO中格雷码如果是由二进制码转化而来,格雷码还能起到相应的作用吗?不用二进制码是因为二进制码的跳变可能涉及到多位,跳变的过程可能会出现很多中间过程(每一位不可能同时改变),时钟可能会采样到跳变过程中间的值。但二进制码转化成格雷码时,格雷码也可能是由中间过程的值转化而来,格雷码的改变可能也不止一位,这种情况怎么办?
在输出端,格雷码每次只有一位改变。在接收端,为了保证也只有1bit改变,必须约束从输出端到输入端的布线延时,一般要求在一个输出端的时钟周期之内。
http://micrortl.com/?p=449
推荐你看看这篇文章,讲解的还挺清楚的
这是两码事,采用gray 的目的是为了更加安全的跨读写时钟域,而binary 和gray 之间的转换时在同一个时钟域完成的,一般时序到位了不会出问题吧。
异步fifo中的二进制计数器是永远递增+1的,格雷码的特点就是在递增状态下永远只有一个bit有跳变,这样就能解决同一时间有2个或以上bit变化的问题了
ls正解!
