ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

4层板跑DDR3实战:叠层、等长与电源完整性设计指南

4层板跑DDR3实战:叠层、等长与电源完整性设计指南 1. 项目缘起与整体设计思路1.1 为什么4层板跑DDR3是个值得聊的话题DDR3在嵌入式圈子里属于那种“绕不开但又让人头疼”的存在。你去看RK3288、RV1126、AM335x这些主流SoC的参考设计DDR3几乎是标配。但很多工程师第一次画DDR3的时候心里是发虚的——因为网上铺天盖地的说法都是“DDR3必须6层起步”“4层板跑DDR3就是找死”。这话对也不对。说它对是因为DDR3的时钟频率通常在400MHz到800MHz之间数据速率能到1600MT/s信号完整性问题确实比SDRAM复杂一个量级。说它不对是因为在特定条件下——比如单颗16位DDR3、速率控制在800MT/s以内、走线拓扑合理——4层板完全可以稳定跑起来。我自己经手的项目里用4层板跑DDR3的量产板子至少有五款最长的已经连续运行三年多没出过内存相关的故障。这篇文章就是想把“4层板怎么搞定DDR3”这件事讲透。我会从叠层设计、阻抗控制、拓扑选择、等长处理、电源完整性这几个维度展开最后用嘉立创EDA专业版走一遍完整的实操流程。适合有一定PCB基础、正在做嵌入式硬件设计、手头项目又卡在成本上不得不用4层板的工程师。1.2 4层板跑DDR3的核心矛盾在哪要理解4层板跑DDR3的难点得先搞清楚6层板比4层板多解决了什么问题。6层板的典型叠层是信号-地-信号-信号-电源-信号。它比4层板多了一个完整的地平面和一个完整的电源平面更重要的是多了两个内层信号层。这意味着什么意味着DDR3的信号线可以走在内层被上下两个参考平面夹着回流路径短且可控。同时电源和地之间距离近电源分配网络的阻抗低高频去耦效果好。4层板的典型叠层是信号-地-电源-信号。只有两个信号层顶层和底层。所有DDR3的信号线要么走顶层要么走底层参考平面分别是地和电源。问题就出在这里走顶层的信号参考地平面回流路径还算干净走底层的信号参考电源平面回流路径就要经过电源平面上的去耦电容才能回到地路径长、阻抗高容易出问题。所以4层板跑DDR3的核心矛盾就是信号层不够用导致布线密度高参考平面不理想导致回流路径差电源平面阻抗高导致同步开关噪声大。这三个问题叠加在一起才是“4层板跑DDR3难”的本质。1.3 什么条件下4层板能跑DDR3不是所有DDR3设计都能往4层板上塞。我总结了几条硬性条件满足这些条件再考虑4层方案单颗DDR3颗粒位宽不超过16位。两颗32位并联的话走线数量翻倍4层板根本布不下。数据速率不超过800MT/s。也就是时钟频率400MHz。再往上时序余量太小4层板的损耗和串扰会吃掉大部分裕量。SoC的DDR控制器支持写均衡和读均衡。这个很关键有训练机制才能补偿走线带来的偏差。板子尺寸不能太小。DDR3走线需要空间来做等长和间距控制板子太密的话4层板没戏。成本敏感但性能要求不极致的场景。比如工业网关、车载中控、智能家居主控这类对内存带宽要求不是顶级的应用。如果这些条件都满足那4层板方案是可行的而且能省下不少成本。6层板和4层板的差价按嘉立创的报价10cm×10cm的板子6层比4层大概贵一倍左右。量产一万片的话这个差价就是十几万。2. 叠层设计与阻抗控制的关键细节2.1 4层板叠层的两种主流方案4层板的叠层设计直接决定了DDR3能不能跑稳。常见的方案有两种方案一顶层信号-地-电源-底层信号这是最经典的4层叠层。顶层走DDR3的信号线参考第二层的地平面底层走低速信号和电源线参考第三层的电源平面。DDR3的信号线尽量都走顶层因为顶层参考地平面回流路径最短。这个方案的优点是地平面完整顶层信号的阻抗容易控制。缺点是底层信号参考电源平面回流路径差所以底层尽量不走高速信号。方案二顶层信号-地-电源-底层信号地平面和电源平面互换也就是第二层是电源第三层是地。这个方案适合电源种类多、需要完整电源平面的场景。但DDR3的信号线如果走顶层参考的是电源平面回流路径就要经过去耦电容效果不如参考地平面。我的建议是如果DDR3是主要的高速信号优先选方案一。地平面完整比电源平面完整更重要因为DDR3的返回电流主要参考地。2.2 介质厚度与阻抗计算确定了叠层方案接下来要算阻抗。DDR3的单端信号阻抗要求通常是50欧姆差分信号时钟是100欧姆。在嘉立创EDA里你可以用内置的阻抗计算器来算但得先知道板材参数。嘉立创常用的4层板板材是FR-4介电常数在4.2到4.5之间1GHz下。层压结构一般是顶层铜厚1oz35um介质层10.2mm内层铜厚0.5oz17.5um介质层21.2mm底层铜厚1oz这个结构下顶层走线的50欧姆阻抗线宽大概在0.2mm左右。具体数值要用阻抗计算器算因为介电常数和铜厚都有公差。注意嘉立创的阻抗计算器里介电常数要选4.3左右不要用默认的4.5否则算出来的线宽偏细实际阻抗会偏高。我一般会留一点余量算出来0.2mm的话实际画0.19mm到0.21mm都可以。但同一组信号线必须用同一个线宽否则阻抗不一致会导致反射。2.3 参考平面的完整性处理4层板跑DDR3参考平面的完整性是生死线。顶层DDR3信号线的下方第二层地平面必须是完整的不能有裂缝。什么叫裂缝就是地平面被过孔、走线槽分割成了不连续的区域。我见过一个案例工程师在DDR3走线下方放了一个电源过孔阵列把地平面打出了一排孔。结果DDR3跑起来随机报错查了半个月才发现是地平面不完整导致回流路径断裂。后来把过孔挪走问题立刻消失。所以画4层板的时候DDR3信号线下方的地平面要当成“禁区”来对待。电源过孔、其他信号过孔能挪就挪实在挪不了就保证过孔之间的间距大于3倍线宽让回流电流能绕过去。底层的DDR3信号线如果有的话参考的是电源平面这时候电源平面的完整性同样重要。而且电源平面上的去耦电容要靠近信号过孔放置给回流电流提供低阻抗路径。3. 拓扑选择与等长处理的实操要点3.1 点对点拓扑是最优解DDR3的拓扑结构有几种点对点、菊花链、T型分支。4层板跑DDR3点对点拓扑是唯一推荐的选择。点对点就是SoC的DDR控制器直接连到DDR3颗粒中间没有分支。这种拓扑的信号完整性最好因为每个信号只有一个负载没有分支带来的反射和阻抗不连续。菊花链拓扑适合多颗DDR3颗粒的场景但4层板本来就走不了多颗所以不用考虑。T型分支更不用说了4层板做T型分支的等长会疯掉。点对点拓扑下地址线和控制线也是点对点但要注意DDR3的地址线和控制线是单向的从SoC到DDR3颗粒。数据线是双向的。时钟线是差分对也是单向的。3.2 等长处理的规则与计算等长是DDR3布线的重头戏。等长的目的是保证同一组信号在同一时刻到达满足建立时间和保持时间的要求。DDR3的等长规则大致如下信号组等长要求参考基准数据线DQ组内等长±5milDQS差分对DQS差分对组内等长±2mil时钟地址线组内等长±10mil时钟控制线组内等长±10mil时钟时钟差分对组内等长±2mil无这些数值不是绝对的要根据SoC的时序手册来调整。比如RV1126的DDR3时序要求就比AM335x宽松一些。等长的计算方法是先确定基准信号的长度然后其他信号通过蛇形绕线来补偿长度差。蛇形绕线的关键是绕线间距要大于3倍线宽绕线长度要均匀。如果绕线间距太小线间耦合会导致阻抗变化反而破坏信号完整性。我一般会在嘉立创EDA里先走完所有信号然后用等长调节工具来绕线。嘉立创EDA专业版有等长调节功能可以设置目标长度和公差自动生成蛇形线。但自动生成的蛇形线有时候间距不够需要手动调整。3.3 蛇形绕线的实操技巧蛇形绕线有几个坑我踩过好几次第一个坑绕线太密。为了省空间把蛇形线绕得很密线间距只有1倍线宽。结果线间耦合严重阻抗从50欧姆掉到40欧姆信号反射明显。后来改成3倍线宽间距问题解决。第二个坑绕线位置不对。把蛇形线放在信号线的末端结果末端阻抗不连续反射更严重。正确的做法是把蛇形线放在信号线的中间段两端保持平直。第三个坑绕线长度不够。等长要求是±5mil但绕线的时候只补了3mil觉得差不多了。结果时序余量不够高温下就报错。等长要尽量做到0mil不要卡着公差边缘。第四个坑差分对绕线不对称。DQS是差分对绕线的时候只绕了一根线另一根没绕。结果差分阻抗不匹配共模噪声大。差分对绕线必须两根线一起绕保持对称。实操心得蛇形绕线的时候先用嘉立创EDA的等长调节工具自动绕然后手动检查间距和对称性。自动绕线只是起点手动优化才是关键。4. 电源完整性与去耦电容的布局策略4.1 DDR3的电源需求分析DDR3的电源主要有三组VDD1.5V、VDDQ1.5V、VREF0.75V。VDD是核心电源VDDQ是IO电源VREF是参考电压。在4层板上电源平面的阻抗比6层板高因为电源和地之间的介质厚。所以去耦电容的布局就特别重要。DDR3的去耦电容一般按这个规则放每颗DDR3颗粒的VDD和VDDQ引脚旁边放0.1uF电容越近越好最好在5mm以内。每两组VDD/VDDQ引脚放一个1uF电容作为中频去耦。整板放2到3个10uF电容作为低频储能。VREF电源比较特殊它需要稳定的0.75V参考电压。VREF的去耦电容要靠近DDR3的VREF引脚一般放0.1uF和0.01uF并联。4.2 去耦电容的布局技巧去耦电容的布局有几个关键点第一电容要放在电源引脚和地引脚之间。很多人把电容放在芯片旁边但走线绕了一大圈才到引脚这样电容的等效串联电感就大了高频去耦效果差。正确的做法是电容直接跨在电源引脚和地引脚上走线尽量短。第二电容的过孔要就近打。电容的一端连电源一端连地过孔要打在电容焊盘旁边不要拉长走线。过孔到焊盘的距离最好小于1mm。第三多个电容并联时容值要错开。比如0.1uF、0.01uF、1uF并联可以覆盖不同频率的去耦需求。如果都是0.1uF谐振频率一样去耦效果反而不好。第四电容要均匀分布。不要把所有电容都堆在芯片的一侧要沿着DDR3颗粒的电源引脚均匀分布。4.3 电源平面的分割与处理4层板的电源平面通常是一整块但DDR3的1.5V电源和其他电源比如3.3V、1.8V可能需要分割。分割的时候要注意分割线要远离DDR3信号线。分割线会产生阻抗不连续如果DDR3信号线跨过分割线回流路径就断了。分割线宽度要足够。一般建议分割线宽度大于20mil减少分割带来的阻抗变化。不同电源之间的间距要大于3倍介质厚度。比如1.5V和3.3V的分割间距要大于0.6mm假设介质厚度0.2mm减少耦合。如果DDR3的1.5V电源和其他电源不需要分割那就尽量保持电源平面完整。完整的电源平面阻抗更低对DDR3更有利。5. 嘉立创EDA专业版实操全流程5.1 工程创建与叠层设置打开嘉立创EDA专业版新建一个PCB工程。在“设计”菜单里找到“层叠管理器”设置4层板叠层。嘉立创EDA专业版的层叠管理器里你可以选择预设的4层板叠层也可以自定义。我一般选“信号-地-电源-信号”这个预设然后手动调整介质厚度。介质厚度根据嘉立创的工艺能力来设。嘉立创的4层板默认介质厚度是0.2mm顶层到地和1.2mm地到电源。如果你要控制阻抗可以在层叠管理器里输入目标阻抗让软件反算线宽。设置完叠层后在“设计规则”里设置线宽和间距规则。DDR3的信号线宽设为0.2mm间距设为0.6mm3倍线宽。差分对线宽0.15mm间距0.2mm差分阻抗100欧姆。5.2 器件布局与DDR3颗粒摆放布局是DDR3布线成功的一半。DDR3颗粒要尽量靠近SoC的DDR控制器引脚走线越短越好。我一般会把DDR3颗粒放在SoC的同一面距离控制在10mm以内。如果板子空间不够放在背面也可以但要走盲埋孔成本高。4层板一般不做盲埋孔所以DDR3颗粒和SoC放在同一面。DDR3颗粒的摆放方向也有讲究。地址线和控制线是从SoC到DDR3颗粒数据线是双向的。把DDR3颗粒的地址线引脚朝向SoC数据线引脚也朝向SoC这样走线最顺。去耦电容放在DDR3颗粒的背面靠近电源引脚。VREF的分压电阻放在DDR3颗粒旁边走线尽量短。5.3 关键信号线的布线顺序布线顺序很重要我一般按这个顺序来先走时钟差分对。时钟是DDR3的基准等长要求最严。先走时钟确定基准长度。再走数据线。数据线分组走每组包括DQ和DQS。DQS是差分对要先走DQS然后DQ围绕DQS做等长。然后走地址线和控制线。地址线和控制线是单向的等长要求相对宽松但也要尽量等长。最后走电源线和低速信号。走线的时候尽量走顶层参考地平面。如果顶层走不下走底层但底层信号要参考电源平面回流路径差所以要尽量短。5.4 等长调节与蛇形绕线实操嘉立创EDA专业版有等长调节功能。选中一组信号线右键选择“等长调节”设置目标长度和公差软件会自动生成蛇形线。自动生成的蛇形线有时候间距不够需要手动调整。我一般会把蛇形线的间距调到3倍线宽以上绕线幅度均匀。差分对的等长调节要特别注意两根线要一起绕保持对称。嘉立创EDA专业版有差分对等长调节功能可以同时调节两根线。等长调节完成后用“设计规则检查”功能检查等长是否满足要求。嘉立创EDA专业版会显示每根线的长度和偏差方便核对。5.5 铺铜与接地处理布线完成后铺铜。顶层和底层都铺地铜铺铜间距设为0.3mm。铺铜的时候要注意DDR3信号线周围要铺地铜但不要铺到信号线上。铺铜和信号线的间距要大于3倍线宽减少耦合。地过孔要密集。铺铜的地和内部地平面之间要打地过孔过孔间距小于λ/20λ是最高频率的波长。DDR3的800MT/s对应400MHz波长在FR-4里大概是375mmλ/20大概是18mm。所以地过孔间距要小于18mm我一般打10mm。VREF的铺铜要隔离。VREF是参考电压容易受干扰铺铜的时候要和地铜隔离单独走线。铺铜完成后用“设计规则检查”再检查一遍确保没有间距违规和短路。6. 常见问题与排查技巧实录6.1 DDR3跑不起来怎么排查DDR3跑不起来是最常见的问题。排查思路如下第一步检查电源。用示波器测VDD、VDDQ、VREF的电压和纹波。VDD和VDDQ应该是1.5V±5%VREF应该是0.75V±2%。纹波要小于50mV。第二步检查时钟。用示波器测时钟差分对的波形看频率是否正确幅度是否足够有没有明显的过冲和振铃。第三步检查复位和初始化。DDR3上电后需要初始化序列检查SoC的复位信号和DDR3的复位信号是否正常。第四步检查走线。用嘉立创EDA的等长检查功能看等长是否满足要求。用阻抗测试仪测信号线的阻抗看是否在50欧姆±10%以内。第五步降频测试。如果高频跑不起来先降频到400MT/s试试。如果降频能跑说明是信号完整性问题需要优化走线。6.2 常见问题速查表问题现象可能原因排查方法解决方案随机报错等长不满足检查等长报告重新绕线高温报错时序余量不足高温下测时序增加等长精度开机不亮电源异常测电源电压检查去耦电容频率跑不上去阻抗不匹配测阻抗调整线宽数据错误串扰检查线间距增加线间距时钟抖动参考平面不完整检查地平面修复地平面6.3 独家避坑技巧技巧一DDR3走线不要跨分割。这是最基本的规则但很多人会忽略。走线跨分割会导致回流路径断裂信号完整性急剧恶化。技巧二去耦电容不要省。4层板的电源平面阻抗高去耦电容是唯一的补偿手段。我一般会在DDR3颗粒周围放至少10个0.1uF电容不要省这点成本。技巧三地过孔要打够。地过孔是回流路径的关键4层板的地过孔要密集。我一般会在DDR3信号线周围每5mm打一个地过孔。技巧四VREF要单独处理。VREF是参考电压容易受干扰。VREF的分压电阻要靠近DDR3颗粒走线要短周围要铺地铜隔离。技巧五测试点要留。DDR3的时钟、VREF、电源都要留测试点方便调试。测试点不要放在信号线上要放在走线的末端用短线引出。技巧六降频是最后的退路。如果所有优化都做了还是跑不稳降频到400MT/s试试。很多DDR3颗粒在400MT/s下对信号完整性的要求低很多4层板更容易跑稳。7. 个人经验总结与后续扩展7.1 我在4层板DDR3项目中的实际体会我做的第一个4层板DDR3项目用的是AM335x加一颗16位DDR3速率800MT/s。第一版板子跑不起来随机报错。查了很久发现是地平面被电源过孔打出了一排孔回流路径断了。把过孔挪走后问题解决。第二个项目是RV1126加DDR3速率也是800MT/s。这次我特别注意了地平面的完整性DDR3信号线下方没有放任何过孔。板子一次跑通连续运行72小时无报错。第三个项目是工业网关成本压得很紧只能用4层板。DDR3速率降到400MT/s走线更宽松一次成功。这些经验告诉我4层板跑DDR3不是不可能但需要更精细的设计和更严格的检查。地平面完整性、等长精度、去耦电容布局这三个是成败的关键。7.2 后续可以扩展的方向如果你已经掌握了4层板跑DDR3的基本方法可以往这几个方向扩展DDR3L低功耗设计。DDR3L的电压是1.35V比DDR3的1.5V低功耗更小。但DDR3L对电源纹波更敏感去耦电容要更多。多颗DDR3的菊花链拓扑。如果4层板跑单颗DDR3已经熟练可以尝试两颗DDR3的菊花链拓扑。但4层板做菊花链难度很大建议还是上6层板。DDR4的4层板方案。DDR4的速率更高4层板跑DDR4的难度更大。目前我还没见过成功的4层板DDR4案例但理论上如果速率降到1600MT/s以下有可能实现。最后再分享一个小技巧画DDR3的时候把嘉立创EDA的“高亮网络”功能打开选中DDR3的所有信号线这样走线的时候不容易漏掉。等长调节的时候用“长度报告”功能实时查看每根线的长度方便调整。这些工具用好了4层板跑DDR3的成功率会高很多。
返回列表