Zahead的个人空间 https://blog.eetop.cn/1777474 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

2025-07-01

已有 29 次阅读| 2025-7-1 22:54 |个人分类:MMD|系统分类:芯片设计

MMD中,你的retiming可能错了

PLL中的retiming

我们在PLL中,MMD常常会使用retiming将MMD的输出噪声优化,但,如果不合理设计,你的retiming可能会亚稳态。image-20250701203916045

有人可能会说,我直接使用打两拍,是不是就可以解决这个问题,其实不然。打两拍虽然可以解决亚稳态问题,但是并不能让MMD的分频正确。因为出现亚稳态后,稳定在电平1还是电平0是随机的,所以当第二个触发器打拍的时候,采样的值是不确定的,因此最终分频比也会有区别。

image.pngimage-20250701205151002

要分析这个问题,我们首先要考虑,需要怎样才不会发生亚稳态,答案就是要让触发器在合适的地方采样,静态时序分析给我们提供了依据。

image.png

静态时序分析

要让触发器正确采样,需要满足两个重要的式子,也就是我们常说的建立时间检查和保持时间检查。

这里贴一下静态时序分析书中的图

image.png

建立时间检查

image-20250701205740743

用式子表示就是Tlaunch + Tck2q +Tdp < Tcapture + Tcycle -Tsetup

这个式子也能计算时序电路中的最大工作频率,我们的电路设计,经常会涉及到最高工作频率,为什么会考虑减小组合逻辑延时,换速度setup时间小的触发器,其实就是源于此。

保持时间检查

image.pngimage-20250701210122486

保持时间检查的式子是

Tlaunch + Tck2q + Tdp > Tcapture + Thold

你会发现,保持时间检查的式子不包含CLK的周期,这个式子会比建立时间检查用的少,但也挺重要的。

MMD的时序分析

 回到MMD中,如下图所示,当2/3分频的级联数太多时,如果最后的MMD输出要等待最后一级经过多个与门才到最终的retimer,那么在上述中的式子,Tdp(组合逻辑延时)会变的非常大,而VCO的频率往往会比较高,所以会很难满足建立时间检查,亚稳态往往就会发生,MMD的分频比就会出现错误。image-20250701210548430

image.png

 除了多级的组合逻辑延时的问题,还有一个问题是,当你的MMD分频比范围很大时,有可能在某个分频是4个与门延迟,在某个分频又是6个与门的延时,加上PVT的因素,这个组合逻辑延时的范围会变得很大,这个时候,你的建立时间检查就更难保证了。

保证retiming不会产生亚稳态的办法

笔者看到的论文中,主要有三种方法:

第一种,让你的分频输出信号的逻辑延时只有一个与门

这种方法适合用于特定的两个触发器组成的MMD。

这个是高通公司的一个论文。从截图就可以看出年代久远,VLSIC-2004 A 4GHz Fractional-N synthesizer for IEEE 802.11a

image-20250701212433235image.png

他的2/3分频cell是上一篇我提到的2个触发器的的2/3分频,也就是下图中的2/3分频cellimage-20250701213130866image.png

截取之前我发过的时序图,下面分别是是两个2/3分频cell级联电路图,3切换到4分频的时序图,你会发现,CLKOUT的上升沿和下降沿都是随着Q0(F1的N)的上升沿和下降沿变化。

image-20250701213014710image.png

image.pngimage-20250701212914368

也就是说,不管你的电路级联了多少级,你的CLKout输出延时总是只有一个dff和一个与门,这就更好控制了。当然,占空比可能会比较差,所以在高通的论文中使用了其他信号作为复位,保证合适的占空比。

第二种,数字校准

这种方法的基本思路就是如果没有良好的时序,我就创造良好的时序关系。在分频输出加入合适的buffer增加延时,通过数字校准选择合适的buffer。

这个方法适用于任何MMD。

论文是TCAS-2 Low-Power Divider Retiming in a 3–4 GHz Fractional-N PLL.来自米兰理工的一个fellow的论文

image-20250701213827738image.png

基本思路就是,尽量将分频输出的div 经过buffer后对其vco的下降沿,这样就能保证延时后的输出肯定不会在vco上升沿变化。当然,vco下降沿对延时后的div信号采样可能会产生亚稳态,但是我可以用打两拍啊,这个校准算法的数据传输时发生错误其实不会影响我的MMD输出分频。

这个方法还有一个优点是,可以只使用一个retiming DFF,功耗不会很高,校准结束之后,校准部分就可以关闭。

第三种,pipeline

基本思路就是,既然我一个周期不能满足,那我通过流水线方法,将多个组合逻辑分在多个clk中进行处理。

论文是JSSC-2023 A 20-GHz PLL With 20.9-fs Random Jitter 拉扎维学生的论文

这个论文的MMD用的就是典型的两个latch组成的论文,因为这个2/3分频确实会一级 一级传导,所以不得不考虑处理长链路的延时问题

image-20250701214745815image.png

image-20250701215008767

他这个方法使用了多级打拍,最后才用VCO的输出打拍,真是复杂!

image.png

不过基本思路其实就是流水线方法。最后给大家看一下有retimer和没有retimer的噪声区别。

image.png

在这个论文中相差了16dB,vco/2频率大概是10GHz。差别还是比较大的。

image-20250701215312545

大家会用哪一种呢

想问一下大家会用哪种?我个人比较喜欢偷懒,用第一种或者第二种吧,第二种做了一次,后面改频率范围好像不用做了?大家有更简单的方法吗?教教我!

参考文献

1.VLSIC-2004 A 4GHz Fractional-N synthesizer for IEEE 802.11a

2.TCAS-2 Low-Power Divider Retiming in a 3–4 GHz Fractional-N PLL

3.JSSC-2023 A 20-GHz PLL With 20.9-fs Random Jitter



点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 11

    周排名
  • 4

    月排名
  • 0

    总排名
  • 1

    关注
  • 1

    粉丝
  • 1

    好友
  • 3

    获赞
  • 1

    评论
  • 23

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-7-2 09:36 , Processed in 0.014981 second(s), 9 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部