请教:分频器输出时钟和原来时钟对齐的问题
芯片外部输入一时钟,为CLK;在芯片内部需要用分频器将CLK进行2倍,4倍,8倍分频。得到CLK/2,CLK/4,CLK/8.由于在分频器的具体实现过程中存在延时,因此CLK,CLK/2,CLK/4,CLK/8的上升之间沿存在一定的延时,并不是完全的对准,即:不是完全的同步,存在一定的相差。
目前我能够想到的方法就是插入buffer,对某些路的时钟进行延时,但是效果均不好,特别是CLK频率发生变化及在不同的corner下,插Buffer很不理想。另外一个想法就是采用PLL,但是这个方法代价太大。。。
请教版上的大牛,如何用简单的方法将这几路时钟对齐?模拟的数字的都行。CLK的数量约在3GHz左右。采用0.18的工艺;
另外一个问题是:如果用英语准确的描述这个问题,好方便找相关的文献。
非常感谢!
新手,可能问的问题比较简单,希望版上的大牛指教。。。
绝对的对齐不可能吧,好像我觉得也没有必要吧
所有的逻辑都是以clk为基准,那么至少都必然要比clk有一个器件delay吧。话说回来2分频也就是慢一个器件delay吧?
能讲讲具体怎么操作的么?不是很明白你说的。谢谢!
不是绝对对齐,但是几个时钟之间的延迟小于CLK的半周期的1/5。分频出来的时钟供低速
数据通路使用。并且会和告诉时钟路径发生关系,因此对时钟之间的偏差要求比较严格。
对的,3GHz的信号,半个周期也就165ps左右,一个器件的延迟都有几十个ps,如果三个
加起来,差不多快到半个周期了。。。。
用三个D触发器,Clock端接CLK,每个D触发器的D端分别接CLK/2
CLK/4,CLK/8,这样出来的三个Q信号的沿不就是对齐的了吗?
不过楼上那家伙说CLK的沿就和其他三个没法对齐了,差一个D触发器的延时
看你在乎不在乎了。
唉?,我很好奇啊
直接用clk做时钟,分出来CLK/2,CLK/4, CLK/8(比如用个3bit count实现)跟 把分出了的CLK/2/4/8再用CLK触发一次,结果会有提高吗?
我怎么觉得是一样的啊。
但是我觉得他这样做是不对的
因为clk/2要比clk慢一点,所以clk采到的很可能是翻转前的状态,也就是说这样采出来的
clk/2要往后推了半个周期
已经试过了,这种方法没有达到目的。不过这样的好处是:CLK/2,CLK/4,CLK/8会相差
整数倍CLK周期。而直接分频出来的话,CLK/2,CLK/4,CLK/8之间的时间差只与触发器的
延迟有关,不一定是CLK的整数倍。
确实是这样的。最关键的问题是:没有解决几个时钟上升沿对齐的问题。不过我做之前也
没有考虑到这么多,cadence里面仿真后看到的。
不会有提高
但是3bit counter在0.18um可能比较难跑到3GHz
我觉得clk/2应该不用clk再踩了
clk/4和clk/8用clk再踩一次就能对齐了
中间要加异或门等逻辑,0.18速度可能上不去,开始担心速度。anyway, 先试试。谢谢
拉
CML结构,当模拟设计的,3GHz肯定没有问题。