齐步走,不许抖:芯片时钟漫谈(2)

 

集成电路系统里的时钟就像摇滚乐队的“动次打次”一样,负责将节奏带稳。集成电路系统里的时钟一旦high起来节奏乱了那整个系统就不工作了。...



小肥羊目前在UCLA师从Abidi研究时钟电路设计,在老头子夜以继日智商碾压下,终于对时钟电路有了一些理解,写下一些认识,与广大硅工探讨,此为第二篇。标题是我编的顺口溜,片上时钟希望每一拍都恰好在节奏上而且抖动很低。以下为正文。

社会的飞速发展,要求整个人类社会必须以时间为参考,进行高效的协同工作。还记得在老派的动作电影里,在小组分头行动前都会要对一下表然后约定某时见面。 正由于这种工作的高效性和准确性, 人类也将这种基于时间的工作方式移植到了集成电路系统中,即时钟时序系统。绝大多数现代集成电路芯片,只要系统中包括任何数字或者混合信号模块,都会使用时钟来控制各个模块的动作顺序(时序)。就像行军需要行军鼓,摇滚乐队需要“动次打次”一样,每个模块踏着时钟的节奏有条不紊各司其职,在规定的时间内完成自己的工作(详情请见本系列上一篇文章,回复CLK1可看)。 然而就如手表会走不准一样, 电路的时间系统同样存在着不精确性 (即时钟抖动,jitter) (下图),其产生的原因是由于电路本身的电噪声导致,在以后我们会详细讲述它。本文就主要讨论jitter对不同电路系统的影响。

Wireline通信:努力撑开的眼睛

下图是有线(wireline)通信中用来描述信道码间干扰(ISI)作用的眼图,实际上每一根粗壮的橙色信号线都是无数经过相同信道的信号交叠而成的,最后形成一个眼睛一样的图形,这个眼睛越大,说明信道的ISI作用越小,信道越理想。同时,每一个周期,我们只采样一组数据,因此,采样的点也同样希望在眼睛睁得最开的地方,这样信噪比最好,正如图中的红箭头所示,在这种情况下,需要出现特别大的噪声,才会使信号出错。但是由于采样时钟的jitter,电路获取的最终值会是一些次理想的值如蓝色箭头所示,极端的情况下,如果jitter过大,电路甚至会采样到眼角处,这时,电路稍微有一点噪声都会导致最后接收结果的错误。在目前高速wireline电路(如PCIe)中,眼图的横向开口甚至会小于200 ps,需要仔细设计以减小jitter。因此wireline电路设计师所努力克服的挑战好比是为眼睛做美容一样,挑选眼睛睁得最大的位置,再在此处加上矫正装置,用力让眼睛撑得更大(是不是有点像美图秀秀?)。
Wireline通信中的眼图


无线通信:不能把别人媳妇抱回家

时钟(载波)在无线通讯RF电路中,主要是用于乘法器(即混频器)中,与接收器接收到的射频信号相乘,实现频谱上的卷积,从而完成频谱的搬移。但时钟是有jitter的,在频谱上,这种时钟沿的不稳定性将会以相位噪声(phase noise)的形式体现出来。如下图所示,在进行频谱搬移时,相位噪声会把其他频段的信号也搬移到低频处,与真正想要搬移的信号交叠在一起无法区分。结果自然是收到的信号嘈杂无比,这就好比是抱老婆时抱错了人,碰碰别人手(噪声搬移的信号小)可能自己老婆的怒骂声还可以忍受(还能听得到音乐),要是整个人都抱了(噪声搬移的信号大),你家觉得吵得不可开交(整个电台只有嘈杂的噪音)。
频谱搬移,看准了可不能把别人家的媳妇(信号)搬回家


数字电路: 从一个latch聊起

下图是一个标准的latch。
在时钟信号(CLK)为高电平时,latch就是两个串联的非门(下图左),当数据(data)由低电平转换为高电平后,1号非门会使电容C1放电,拉低A点的电平值。如果时钟经过很长时间(td-c)之后才关断,那么1号非门有足够的时间使A点电平降低至低电平. 之后2号非门可以迅速使B点升值高电平。 但是如果在数据转换后,时钟很快就转换为低电平,那么A点无法降到低电平,B点也无法升至高电平。如下图右所示,时钟关断那一刻,A,B 点电压分别为VA和VB。此时,2,3号非门工作为放大器,分别使A点电压进一步减小,B点电压进一步增大,经过一轮轮的放大后,A点最终也降至低电平,B点也升至高电平,但是相对于第一种情况,这会花费更长时间。
工程师门为了更好的了解latch,测量了不同td-c的情况下,tc-q的大小,从而总结出了下图左latch的setup time. 当td-c 小于setup time时, latch输出稳定的时间tc-q会迅速的增加。我们称这个区域为亚稳态区(metastable region)。对于追求速度和稳定的电路,这个区域是需要极力避免的,因此时钟的一个周期必须涵盖住两个latch间的逻辑电路的延迟tlogic,前一级latch的输出稳定时间tc-q,以及当前一级latch的setup time要求。
亚稳态(左)与时序约束(右)


但是由于jitter的存在,时钟的真实周期会在理想时钟周期附近左右偏移,可能使某一个latch进入亚稳定区,严重的滞后该latch的输出稳定时间,使整个系统的数据传输发生错乱。所以在设计时钟周期的时候,还必须考虑jitter存在情况下的最坏情况,以满足该情况的时钟周期作为最后的电路时钟周期。可见,jitter的存在会进一步限制数字电路的速度。

信号采样: ADC中的时钟问题

在功耗和采样频率固定的情况下,衡量一块ADC的好坏就是ADC输出的信噪比(SNR)高低。ADC的输出噪声主要由ADC本身的有限精度导致的量化噪声(quantization noise), ADC电路内部的电子噪声,以及控制ADC采样的时钟jitter引起的,前两者都是ADC电路本身设计所需要解决的问题,可是时钟jitter引起的噪声却不是ADC设计者可以解决的问题。如下图所示,原本希望采样的信号,是三角波的零电平点,但是由于采样时钟的jitter,真实采样的值会在零电平附近偏移,这个偏移产生的误差就是时钟jitter引起的额外噪声。在绝大多数ADC的论文里面, 测量者为了好的ADC测量结果,会使用极高精度的时钟进行测试,但是在结果中,他们并不会记入高精度时钟的功耗和面积,但是实际上,这也是能量和面积使用大户。所以论文有时也就是大家自high一下的yy产物。
采样时钟抖动会造成ADC SNR降低


结语

集成电路系统里的时钟就像摇滚乐队的“动次打次”一样,负责将节奏带稳。不过,摇滚乐队里鼓手high起来节奏突变会嗨翻全场让整场演出变成摇滚乐史上的经典,而集成电路系统里的时钟一旦high起来节奏乱了那整个系统就不工作了。本文介绍了集成电路系统里时钟抖动对各种系统带来的影响。我们会在接下来的文章里进一步分析集成电路里的时钟。


矽说旨在为大家提供半导体行业深度解读和各种福利

您的支持是我们前进的动力,喜欢我们的文章请长按下面二维码,在弹出的菜单中选择“识别图中二维码”关注我们!

微信号:


    关注 SiliconTalks


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册