原创
【我要崛起】第三章 跨时钟域最常用的方法同步法(更新)
按照惯例,先上图,再解说,如下图所示:
正如特权同学所说,异步时钟域所涉及的两个时钟之间可能存在相位差,也可能没有任何频率关系,即不同频不同相。
由图可知,VGA模块我是用50MHZ来驱动的液晶屏,而SDRAM控制模块是用100MHZ的,这样就产生特权同学所说的不同频,甚至不同相。这样就会存在诸多亚稳态危害爆发的可能。关于亚稳态的解析就不再多说了,网上,教科书很多都提及到了,这个要自己回去参透参透。
说到异步时钟域的信号如何处理的问题,才是这章书的重点,常用的方法就是同步设计。我记得还有一个握手通信也是解决异步时钟域的方法之一的,这个我还没有遇到和使用过。
其实同步设计很简单,如果有看过上一章的脉冲边沿检测法就可以轻松的理解这个同步设计,只是打慢一拍,同步信号而已,就这么简单。
更新点:(2014.02.19 22:35)
无意中读到这样的一段话,发现我上面的说法不够完美。看图:
转:http://blog.sina.com.cn/s/blog_4e00cfd30100a1wk.html
这段话给了我一个启发,我一直以为vga_valid是一个标志信号,其实它真正的身份是门控时钟,先看看下面的两幅图的对比:(一幅是分频时钟,一幅是vga_valid信号)
不对比不知道,一对比吓一跳。原理都是一样,只是名字不同而已,都属于门控时钟的一类,顿时觉得自己对基本知识的理解真TM的烂。
接下来项目里跨时钟域的同步化,其实本质就是同步这异步过来的门控时钟信号vga_valid
用户443437 2014-2-20 10:57
用户97846 2014-2-20 10:17