双面布局的DDR表底走线居然不一样,这么低级的错误都没看出来?
发布时间:2025-11-20 10:21:52
高速先生成员-- 黄刚
最近Chris都在出差,在各地的研讨会上与众多的硬件工程师交流,发现现在硬件工程师除了对前端的硬件原理很了解之外,也慢慢的对PCB设计有了很深的认知。在某一次交谈中,Chris给他们去分享DDR的仿真设计这个话题,发现他们也有了很多优化的想法。例如这篇文章的例子,是一个比较复杂的1拖多的DDR4拓扑,然后双方就围绕着这个case展开了激烈但是很礼貌的讨论。。。

像上图这个1拖多的fly-by+T的混合拓扑,Chris和大家分享这个拓扑有哪些点比较影响DDR颗粒的信号质量,没想到这家客户还是比较懂的,一语中的就指出了最大的优化方向,那就是从主干道到颗粒的这段分支要越短越好,也就是下图所示的这几段走线。

这个客户还是比较的爱学习,除了硬件本身的知识外,还花很多时间去了解PCB设计的知识,也看了很多主流芯片的PCB设计指导书,对DDR设计包括高速设计有比较深的认识。的确,对于上面这个DDR的混合拓扑而言,分支长度越短越好,而且还越对称越好。

从一些理论的仿真结果来看,这个分支(也叫stub)越长,对颗粒,尤其是靠近芯片的第一组颗粒的信号质量影响越大。

这个客户越讲越兴奋,还顺手拿出了我们SI团队今年帮他做过仿真的DDR4设计来调侃。这是一款客户自己设计,然后我们去做仿真帮他们验证信号质量的case。
这是一个1拖9的DDR4负载,表层5个颗粒,底层4个颗粒的fly-by+T的混合拓扑。

客户首先根据他们看到过的设计指导书先做了初始版本的设计给我们仿真,我们SI团队就先对这个版本进行仿真,然后仿真发现拓扑中有优化的地方就把优化意见给到客户,客户进行修改后,再把新版本给我们进行仿真迭代。所以通过这个流程,大家就能知道,如果设计是客户自己做,我们去做仿真的话,我们的工作量其实会大一点,因为涉及到可能双方的多次迭代过程。

这个客户自己也有一些优化的想法,所以前面的一些走线长度和阻抗的优化调整意见给到他们的时候,他们也能够接受,并且表示赞同。当我们提出最后一项优化方案后,他们就表示出了深深的不太理解了。
这一条意见就是让表底层的走线特意做成不一样长。这是1拖9的地址控制信号,由于地址控制信号的数量比较多,需要分为3到4层才能走完,板子是3mm厚,一共是22层设计。其中有若干根地址控制信号的主干道,客户走到了第20层。下图是客户本身的设计,如下所示:

客户设计的版本已经考虑到了表底层这段分支的影响,把这段表底层走线尽量做短,而且还严格的对称,stub线长做到了才77mil,表底层长度也一样。

客户觉得这个设计是很不错的,所以他们没法理解,我们SI团队仿真验证完后,居然做成了不等长的设计。表层的走线保持77mil不变,但是把底层的走线做成了139mil。不仅stub变长了,而且还不对称!客户越说越激动,感觉真的很难接受。

Chris看到这个例子,瞬间就明白缘由了。按照目前很多地址控制信号线主干道走到了18和20层的这个原始版本,我们SI团队进行了全通道的仿真,发现信号质量的确不怎么样,如下所示:

如果能把这把地址控制信号走线保持表底层都是77mil不变,然后挪到靠中间层去走主干道,例如挪到L7,L9,L14层这几层中间层去走的话,效果会怎么样呢?虽然在这个项目中,中间层需要走其他高速信号,没法真正实现DDR的地址控制信号走到这些层去,但是我们先在仿真上看看效果是可以操作的哈。

没错,这个就是跟客户的理论预期是一样的,信号质量就比较完美了,如下所示:

客户看到这里之后,其实也开始有点懵了,为什么我的表底层分支长度都是77mil,只是主干道放到了不同的层去走,信号质量影响就那么大了?

最后在Chris耐心地给他们讲述下当中的差异和更深层次的原理,并给出在原始版本基础中加长底层走线后的仿真结果后,对比发现,原始版本在底层加长走线的case虽然看起来达不到直接放在中间层的效果好,但是也比原始不加长的设计要有一定的改善了。客户最终信服了,觉得理论终归是理论,还是要结合到设计本身的情况来应用才是王道啊!

