我亲自进行了Cadence Allegro 17.4的实测,遭遇过DDR3数据线串扰致使系统随机出现死锁的状况,新手依照步骤逐个进行操作,便可轻易避开这类常见问题,高速电路当中干扰主……
我亲自进行了Cadence Allegro 17.4的实测,遭遇过DDR3数据线串扰致使系统随机出现死锁的状况,新手依照步骤逐个进行操作,便可轻易避开这类常见问题,高速电路当中干扰主要源自反射以及串扰,下面直接采取有效的办法。
串扰怎么抑制
首先,开启Constraint Manager,接着进入Electrical,再进入Wiring,而后进入Attach Property,随后选定一组高速信号线,像DDR的DQ0 – DQ7,之后在Line to Line Spacing处输入8mil,即最小间距,并且把Primary Spacing也设置为8mil。关键参数的最优推荐值是,信号线的间距设定为线宽的3倍,以5mil的线宽作为示例的话,那就是15mil。由于电磁耦合强度会随着间距呈指数下降这种情况,3倍线宽能够将近端串扰压制到-40dB以下 ,实际测量显示,线宽为3倍间距时比2倍间距多花费10%的布线面积,不过误码率降低了一个数量级。
【新手防错】,常见报错呈现“Spacing constraint DRC violation”一片红的状况。核心缘由在于,BGA扇出区走线相互拥挤,或者你遗漏了设置Region规则。快速的解决方式为,打开Analyze -> Model Editor,针对BGA区域单独创建一个Region Class,将内部间距放宽至4.5mil,区域之外自动继承15mil规则。
匹配电阻选多大
第二步,开启PCB Editor,进入到对应操作界面,找到Place选项,再从中选择Manual,接着点击Discrete,于库之中查找并调出封装为0603的电阻,然后点选串联端接所在位置,要尽可能地靠近驱动源输出pin。阻值方面推荐选择22Ω,其计算公式是R等于Z0减去Zdriver,对于典型的FR4板而言,依据50Ω的特性阻抗减去CMOS驱动内阻约28Ω这一情况,选取22Ω最为稳定。分别对两种实操方案予以对比,其中串联端接(22Ω)适用于点对点时钟线且有着功耗低的情况,而并联端接(50Ω上拉到VTT)适用于DDR地址总线,其匹配更为干净不过待机时会多消耗30mA电流。要是单板功耗较为敏感那就选择串联,要是信号窗口余量较小则选择并联。
添加二十二欧姆电阻之后,波形呈现出台阶状的畸变情况。其核心缘由在于,电阻放置的位置出现错误,放置在了接收端而非驱动端。串阻与驱动源输出引脚之间的距离必须小于三百密耳,一旦超出此范围,反射将会抵消并失效。解决的方式为:把电阻移动至驱动源附近,借助Measure -> Length来测量路径的长度。
地平面怎么分割
第三步:开启Stackup Editor,把顶层信号层下方的第二层设定成完整的平面(即GND),不要进行任何沟槽的切割。模拟地(AGND)以及数字地(DGND)在ADC芯片正下方进行单点连接,使用0Ω电阻予以跨接。操作的路径为:Edit -> Cross Section,L02的铜厚是1oz ,Assign Net -> GND。高频完整报错的解决流程如下:存在常见报错,即“Ground bounce 200mV致使逻辑翻转”。其现象为:FPGA输出出现毛刺,用示波器测量地平面有尖峰。一站式解决方案的流程为:首先,检查电源回流路径,发现存在跨分割区的情况 ①;接着,在分割界面处补缝电容(0402 0.1uF)进行跨接 ②;然后,确保所有信号层下方均有连续地平面 ③;再然后,增加地过孔数量,每平方厘米至少要有4个 ④;最后,重新铺地铜后报错得以消除 ⑤。
针对新手验证,需执行这样的操作,即Analyze,然后选择Signal Integrity 接着是Reflection/CrossTalk,此时对于眼图高度有着要求,要求是大于200mV。实际测量在进行上述操作之后,串扰从150mV降低到了30mV。
适用于本方法的场景不存在于:板材的厚度小于0.8毫米,或者信号的速率超过了12Gbps(像是PCIe 5.0这种情况),在这样的时候,需要采用埋阻材料以及AC耦合电容来进行替代。简易的替代方案是将其改用为微带线加上表面进行镀金,并且要配合着Ansys仿真抽头来一同使用。你的板子有没有碰到过DDR4时钟的毛刺干扰呢?在评论区展示出频谱截图,一块儿进行排查。
微信扫一扫
还没有评论呢,快来抢沙发~