作者sasako (模糊地让我看不清)
看板Electronics
标题Re: [问题]数位电路关於cross clock domain的问题?
时间Mon May 10 01:12:15 2010
http://w2.cadence.com/whitepapers/cdc_wp.pdf
除了推文中的连结外,我觉得这也满有用的,
double sync其实是工程师满常用的方法,是用来处理
level且是1 bit的讯号,若是两个bit以上,就必须参
考推文中的内容,需要有gary code转换的动作,目前
在project中满常看到是处理fifo或是momory的addr讯
号..
上面讲到的是处理level,若是要处理1T的pulse,不能
只做double sync而已,不过这有点难解释,详细的情形
还是参考文件的图吧!
笼统的描述大概是
step1:先在原本的clk_a做出一个很长的pulse
step2:然後在triple sync到clk_b做成一个讯
号叫syn_d3(随便取的名字),最後把syn_d2和
syn_d3做X-or出来一个pulse
不过这不是唯一的方法...
强调一点,上面讲的都是对於"控制讯号",不是data...
data要cross clock domain参考一下文件说明...
以上的东西其实在网路上都可以找到现成的module,工作上
只要知道怎麽用就行了,而真正最难的地方在於,crossing
clock domain的问题,在於整体的电路都会因为sync的处理
造成电路会有时间差,很多判断讯号都会有延迟,有时候会
跟你预期的相差几T的时间..
coding完成後,最好还要用cdc的tool做check,以免有些讯
号没做同步化的处理..
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.169.72.208
※ 编辑: sasako 来自: 118.169.72.208 (05/10 01:30)