我实际测过Cadence 17.4以及Altium Designer 22,经历过布局布线之后信号反射格外严重、还有电源完整性仿真出现报错且无法收敛这样的情况。
第一条路 信号完整性仿真参数怎么调
许多工程师在绘制完板子后紧接着就去进行投板操作,最终导致高速信号眼图闭合出现情况,而问题产生的根源恰恰落在叠层设计以及端接电阻上锁定。先步这种而为,在Allegro PCB Editor里将ConstraintManager设法打开,进而在其中找到Electrical Constraint Set下所对应的SI Model Assignment。再歩采取行动,针对于像DDR4时钟线这类关键高速信号而去附加IBIS模型,并且模型文件路径必须要选对无误做到精准,在导入之后还要勾选Auto Assign。第三步,在Analysis菜单下,挑选出SI/PI Simulation,将激励信号的频率设定成你实际处于工作状态的时钟频率,像是1.6GHz,把仿真类型选定为Reflection。
需要规避的情况是,常常出现报错,此报错是IBIS模型版本不相匹配所致,并且在模型文件里, Pin Mapping与实际封装存在无法对齐的情况。而解决该问题的办法为,前往芯片官网,去下载最新的IBIS 5.0版本文件,通过手工方式核对封装引脚名,特别要留意电源以及地的标识差异。
最为关键的参数所推荐的最优数值是端接电阻为49.9Ω,其理由在于这个电阻所占的阻值十分接近PCB所具备的特征阻抗50Ω,这种接近程度能够在很大程度上以及最大的范围内抑制住信号出现反射的情况,假如对于走线的时候,其阻抗控制方面做得比较良好的情况下,使用这个具体的值直接粘贴0603封装的电阻就行,而在这种情况下就不用再进行计算了。
第二条路 电源完整性仿真报错怎么整
因为电源的平面出的声响达到了过于大的程度,所以导致了ADC进行采集时精准度出现了下降的情况。先的步骤是在Ansys SIwave里头把ODB++文件导入进去,随后在Nets这个分支下将VCC以及GND网络选中。下面的第二个步骤是在点击选用Simulation菜单当中的DC IR Drop,把电流源设置为IC实际所消耗的功率数值,就像举例来说一颗FPGA核心电流设置为3.2A这样。运行仿真的第三步,观察此刻热图的分布情况,针对电流密度超过每平方毫米十五安的区域,加大对铜皮的加宽力度,或以增加过孔的方式来应对!
新人需留意,仿真时出现报错显示“不收敛”这种情况比较常见。主要原因在于做网格划分的时候太过粗略,或者存在电流源约束相互抵触这种情况。有能快速解决的办法,就是于进行Mesh设置时,将全局网格尺寸由原本默认的5mm变更为1mm,同时在电流源那里增添一个起始电压0.1V,以此推动求解器能够稳定地开启求解进程。
进行两种实操方案的对比,其中方案一是采用2oz铜箔并打满过孔,方案二则采用内层埋铜块,方案一成本较低且易于实现,适用于一般产品,方案二散热效果更佳且压降更小,不过加工周期较长且费用较高,取舍的逻辑为,要是板子厚度超过2mm且功耗超过15W,那就采用方案二,不然,方案一便完全能够满足需求。
第三条路 差分对等长布线怎么省时间
第一步,在Allegro交互布线模式当中,选中一对差分信号,执行Route→Unsupported Prototypes→Auto-Interactive Phase Tune,难道手动绕线会绕到让人崩溃吗? 第二步,在Option面板里,设定目标等长误差为±5mil,转角类型选择45度,振幅设置成2倍线宽。先进行第三步,启动自动绕线,接着查看波形图,实时地逼近目标长度,然后等待误差条变绿,之后才收工。
存在这样一种需要避开的问题:在进行自动绕线之后,出现了小尖角,或者绕线超出了板边。为什么会出现这种情况? 之所以如此,是因为在约束规则里,绕线区域没有画好。那么该如何去解决这个问题? 解决的办法是,先画一个Route Keepin,以此把绕线范围框定在板内,同时将最小线间距设置成八百密尔,也就是大于八密耳的数值。
快速高频出现的完整报错是: “差分布线网络未被定义”。有一种一步到位的解决流程是这样的,先要查看原理图是不是已经将差分网络添加了Differential Pair属性,如果没有添加就需要手动去添加;接着要进入到PCB Editor的Net Class中,把这两根线归类到属于同一对;最后在Constraint Manager里将耦合间距设置成是6mil,线宽设置成4mil。当这三步全部完成后,报错就会自动消逝不见的。
这个法子并非适用于全部场景,要是你的板子层数低于四层,并且信号频率小于100MHz,那就无需进行这种繁杂的仿真以及等长控制,直接使用走线拉直工具将线拉通便可,其替代方案是多铺设几层地铜皮,焊工需留意焊接质量才行。










