ARTICLE DETAIL

资讯详情

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

Allegro 17.4差分对等长检查:三种方法详解与避坑指南

Allegro 17.4差分对等长检查:三种方法详解与避坑指南 1. 差分对等长检查到底在查什么差分对组内等长检查说白了就是确认一对差分信号的两根走线从驱动端到接收端的传播延迟是否足够接近。在Allegro 17.4里这件事之所以被单独拎出来做是因为它跟普通的单端等长完全是两码事。单端等长你只需要关心一条线的总长度而差分对等长要同时盯住两个维度组内两根线的长度差以及整个差分对与其他差分对之间的组间偏差。很多人第一次做高速板子的时候只看了组间等长结果板子回来跑不起来一查才发现组内两根线差了200mil差分信号直接退化成共模噪声。我在实际项目里踩过最典型的一个坑是一块带PCIe Gen3接口的板子。当时约束管理器里明明设了差分对组内公差5milDRC也全绿但实测眼图闭合得厉害。后来用Allegro的延迟分析工具一查发现其中一对差分线在BGA出线区域绕了一个小弯两根线的实际传播延迟差了将近12ps。问题出在哪儿约束管理器里的等长规则只检查了蚀刻长度没有把过孔和引脚内部的延迟算进去。这就是为什么我说差分对等长检查不能只看长度数字必须结合延迟分析一起做。Allegro 17.4在这块提供了三种比较成熟的检查路径分别对应不同的设计阶段和精度要求。第一种是约束管理器里的实时DRC检查适合布线过程中随时监控第二种是用Analysis菜单下的Diff Pair Phase Tolerance报告适合阶段性批量核查第三种是借助Skill脚本做自定义的延迟比对适合对精度要求极高的场景。这三种方法各有各的适用场景下面我会逐一拆开讲包括具体的菜单路径、参数设置和我在使用中总结出来的避坑点。注意差分对等长检查的前提是约束管理器里已经正确设置了差分对属性。如果差分对都没有识别出来后面所有检查都是白搭。2. 三种检查方法的选型逻辑与适用场景2.1 为什么Allegro要提供三种不同的检查方式这个问题我刚开始用Allegro的时候也想不通觉得一个等长检查搞这么多入口干嘛。后来做的板子多了才明白不同的设计阶段对检查的实时性、精度和覆盖面要求完全不同。布线过程中你需要的是即时反馈线拉歪了马上就能看到红色高亮布线完成之后你需要的是批量报告一次性把所有差分对的偏差列出来而做信号完整性签核的时候你需要的是把过孔延迟、引脚延迟都算进去的精确比对。约束管理器的实时DRC属于第一类。它的优势是快你一边拉线它一边算偏差超了立刻变红。但它的局限也很明显只算蚀刻长度不算过孔和引脚延迟而且当差分对数量很多的时候DRC刷新会拖慢操作流畅度。我一般建议在布局阶段就把差分对规则设好布线时开着DRC但到了后期如果板子上有几百对差分线可以考虑暂时关掉实时DRC改用批量报告来查。Diff Pair Phase Tolerance报告属于第二类。这个功能在Allegro 17.4里的入口是Analysis → Diff Pair Phase Tolerance跑完之后会生成一个表格列出每一对差分线的正负端长度、差值以及是否超标。它的好处是覆盖面全一次能查整板而且可以导出成CSV方便存档。缺点是它同样只基于蚀刻长度不包含过孔和引脚延迟。不过对于大多数消费类电子和工业控制板来说蚀刻长度已经足够指导设计了因为过孔延迟在总延迟里占的比例很小除非你的信号速率跑到10Gbps以上。Skill脚本自定义比对属于第三类。Allegro 17.4支持通过Skill语言调用底层数据库你可以写脚本把过孔延迟、引脚延迟、甚至板材的Dk值变化都纳入计算。这个方法精度最高但门槛也最高需要你对Skill语法和传输线理论都有一定了解。我一般只在做25Gbps以上的背板或者测试仪器板子的时候才会动用这个方法普通项目用前两种就够了。2.2 三种方法的横向对比为了让你更直观地做选择我把三种方法的关键指标整理成了下面这个表。表格里的数据是我在多个项目里实测总结出来的不同规模的板子可能会有浮动但量级上可以参考。对比维度约束管理器实时DRCDiff Pair Phase Tolerance报告Skill脚本自定义比对检查时机布线过程中实时布线完成后批量签核阶段精确分析计算依据蚀刻长度蚀刻长度蚀刻长度过孔引脚延迟精度等级中等中等高操作门槛低低高适用速率≤5Gbps≤10Gbps≥10Gbps整板检查耗时持续占用约30秒到2分钟约5到15分钟是否支持导出否支持CSV支持自定义格式我的推荐场景布局布线阶段设计评审阶段高速签核阶段从表里能看出来这三种方法不是互相替代的关系而是递进的关系。我通常的做法是布局阶段设好规则并开启实时DRC布线完成后跑一遍Phase Tolerance报告做全面检查如果板子上有超过10Gbps的高速通道再针对这些通道单独跑Skill脚本做精确比对。这样既保证了效率又不会在关键通道上漏掉细节。提示如果你的板子上差分对数量超过200对建议在布线后期关闭实时DRC改用批量报告。实时DRC在差分对密集的区域会明显拖慢Allegro的响应速度我实测过一块有340对差分线的背板开着实时DRC拉线的时候光标都有点飘。3. 约束管理器里的差分对规则设置实操3.1 差分对识别与属性赋值在检查等长之前第一件事是确认Allegro有没有正确识别你的差分对。很多人以为在原理图里标了差分对名称PCB里就自动认了其实不是。Allegro 17.4识别差分对有两种方式一种是通过原理图传递过来的Diff Pair属性另一种是在PCB里手动创建。我建议优先用第一种因为手动创建容易漏。具体操作路径是打开Constraint Manager在Electrical → Routing → Differential Pair下面找到你的差分对。如果这里空空如也说明原理图没有正确传递属性。这时候你需要回到OrCAD Capture里在差分对的两根线上分别加上DIFF_PAIR属性值设成同一个名称比如PCIE_TX0和PCIE_TX0_N。注意命名规则Allegro默认把_P和_N或者和-作为正负端后缀如果你用的是其他后缀需要在Allegro的User Preferences里改diff_pair_suffix的配置。我遇到过最折腾的一次是原理图里差分对命名用了_H和_L后缀结果Allegro死活认不出来。查了半天才发现是后缀配置没改。所以你在做第一版原理图的时候最好就按Allegro的默认规则来命名省得后面来回折腾。3.2 组内等长公差与组间等长公差的设置差分对识别出来之后接下来要设公差。这里有两个参数需要区分清楚组内公差和组间公差。组内公差管的是同一对差分线里正负端之间的长度差组间公差管的是不同差分对之间的长度差。很多人把这两个搞混结果规则设错了DRC要么全绿要么全红。在Constraint Manager里组内公差在Differential Pair的Phase Tolerance列设置组间公差在Relative Propagation Delay里设置。我一般会这样设组内公差按信号速率的1/10波长来算比如5Gbps的信号上升沿大概100ps对应在FR4板材上的传播速度大约是6mil/ps所以100ps对应600mil。取1/10就是60mil但实际项目中我一般会收紧到10到20mil留足余量。组间公差则根据接口协议的规范来比如PCIe Gen3要求组间偏差不超过2ps对应大约12mil。这里有个细节要注意Allegro 17.4的Phase Tolerance默认单位是mil但你可以改成ps。我建议改成ps因为高速信号看的是延迟而不是长度。改的方法是在Constraint Manager的Analysis Modes里把Phase Tolerance的单位从mil切换成ps。切换之后Allegro会自动根据你设置的板材Dk值把长度换算成延迟。注意单位切换之后之前设的mil值不会自动换算需要重新输入。我建议在项目开始的时候就统一用ps避免中途切换导致规则混乱。3.3 实时DRC的开启与偏差高亮规则设好之后开启实时DRC。路径是Setup → Constraints → Modes在Online DRC里把Differential Pair Phase勾上。勾上之后你在布线的时候如果正负端长度差超过公差Allegro会用红色高亮显示超标的线段。这个高亮是动态的你一边绕线它一边更新非常直观。但这里有个坑实时DRC的高亮有时候会延迟。我遇到过拉线拉快了高亮跟不上等停下来才变红。所以不能完全依赖实时高亮拉完一段线之后最好停下来看一眼。另外实时DRC在差分对换层的时候会暂时失效因为换层瞬间过孔还没算进去。所以换层之后要特别留意最好手动跑一次Phase Tolerance报告确认。我在实际项目里的做法是布线阶段开着实时DRC但每完成一个区域就手动跑一次局部Phase Tolerance报告。Allegro 17.4支持在Phase Tolerance报告里选择只检查当前选中的差分对这样速度很快几秒钟就能出结果。4. Diff Pair Phase Tolerance报告的完整操作流程4.1 报告生成的具体步骤与参数解读Phase Tolerance报告的入口在Analysis → Diff Pair Phase Tolerance。点开之后会弹出一个对话框里面有几个关键选项需要设置。第一个是Select让你选择检查范围可以选整板也可以选当前选中的对象。我一般先跑整板看看整体情况然后再针对超标的差分对单独跑。第二个是Tolerance这里显示的是你在Constraint Manager里设的公差值。如果这里显示的是0说明你的差分对没有设Phase Tolerance规则需要回去补设。第三个是Report可以选择生成报告的形式我一般选Detailed这样会列出每一对差分线的正端长度、负端长度、差值和状态。跑完之后的报告长这样每一行是一对差分线列包括Diff Pair Name、Positive Length、Negative Length、Delta、Status。Status列会显示OK或者FAIL。我一般会先把所有FAIL的挑出来按Delta从大到小排序优先处理偏差最大的。这里有个细节报告里的长度是蚀刻长度不包括过孔和引脚。如果你需要包含过孔延迟需要在Analysis Modes里把Include Via Delay勾上。勾上之后Allegro会把过孔的延迟折算成长度加到总长度里。这个功能在17.4里是支持的但默认是关闭的。我建议在做高速板子的时候把它打开虽然报告跑起来会慢一点但结果更准确。4.2 偏差定位与绕线补偿的实操技巧报告出来之后下一步是定位偏差发生在哪里。Allegro 17.4提供了一个很实用的功能在报告里双击某一行PCB编辑器会自动缩放到那对差分线的位置并且高亮显示。你可以直接看到是哪一段线导致了偏差。定位到之后补偿的方法有两种一种是加长较短的那根线另一种是缩短较长的那根线。实际项目中缩短通常比较难因为线已经布好了重新走线可能影响其他信号。所以大多数时候是加长较短的那根。加长的方式有几种蛇形绕线、在空闲区域绕小弯、或者利用过孔换层来增加延迟。我一般优先用蛇形绕线因为可控性最好。绕的时候要注意几个参数振幅、间距和段数。振幅一般取3到5倍的线宽间距取4到6倍的线宽段数根据需要的补偿量来算。比如你需要补偿20mil线宽是5mil振幅取20mil那么每段蛇形大约能补偿40mil左右的长度一段就够了。但蛇形绕线有个副作用会增加串扰和阻抗不连续。所以绕的时候要尽量远离其他信号线特别是不要和其他差分对平行走太长。我通常会在蛇形区域周围留出至少3倍线宽的禁布区减少耦合。提示Allegro 17.4有一个Auto Interactive Delay Tune功能可以自动帮你绕蛇形。路径是Route → Delay Tune选中要补偿的线段Allegro会自动生成蛇形。但这个自动生成的蛇形有时候不太美观我一般会用它做初稿然后手动微调。4.3 报告结果的存档与版本对比Phase Tolerance报告支持导出成CSV这个功能在项目评审的时候特别有用。我一般会在每个设计阶段结束时导出一份存档备查。导出的时候注意把Include Via Delay的选项也记下来不然不同版本之间没法对比。Allegro 17.4本身没有提供报告版本对比的功能但我一般会用Excel把两份CSV拉出来做差集。具体做法是把两次报告的关键列复制到同一个表里用VLOOKUP按差分对名称匹配然后算Delta的变化量。这样能快速看出哪些差分对的偏差在变大哪些在变小。如果某个差分对的偏差在两次报告之间突然变大说明那个区域可能被其他操作影响了需要重点检查。我在一个通信板项目里就靠这个方法抓到了一个隐蔽的问题有一对差分线在第一次报告里是OK的第二次报告突然FAIL了。查了半天发现是后来加了一块铜皮铜皮离差分线太近改变了有效Dk值导致延迟变了。所以报告存档和对比这个习惯能帮你抓到很多肉眼看不出来的问题。5. Skill脚本自定义延迟比对的进阶玩法5.1 为什么需要Skill脚本前面两种方法都是基于蚀刻长度的对于大多数板子够用。但如果你做的是25Gbps以上的高速通道过孔延迟和引脚延迟就不能忽略了。一个典型的过孔在FR4板材上的延迟大约是10到20ps如果一对差分线里有一个过孔而另一个没有这10到20ps的偏差就足以让眼图闭合。Allegro自带的Phase Tolerance报告虽然可以勾选Include Via Delay但它对引脚延迟的处理比较粗糙只算了一个固定值没有考虑引脚内部的封装延迟差异。Skill脚本的好处是你可以完全控制计算逻辑。比如你可以从Allegro的数据库里读出每个过孔的焊盘尺寸、钻孔尺寸、反焊盘尺寸然后根据传输线理论算出实际的过孔延迟。引脚延迟也可以从封装的IBIS模型里读出来精确到每个引脚。这样算出来的偏差才是真正意义上的延迟偏差而不是长度偏差。5.2 一个可复用的Skill脚本框架下面这个Skill脚本框架是我在实际项目中用的功能是遍历所有差分对计算包含过孔延迟的总延迟并输出偏差报告。你可以根据自己的需求修改计算逻辑。; diff_pair_delay_check.il ; 差分对延迟比对脚本框架 ; 适用Allegro 17.4 procedure( diffPairDelayCheck() let( (diffPairs pairName posLen negLen posViaDelay negViaDelay totalDelta) ; 获取所有差分对 diffPairs axlDBGetDesign()-diffPairs printf(Diff Pair Name, Pos Delay(ps), Neg Delay(ps), Delta(ps), Status\n) foreach( pair diffPairs pairName pair-name posLen pair-positive-length negLen pair-negative-length ; 计算过孔延迟这里用简化公式 ; 实际项目中需要根据过孔参数精确计算 posViaDelay countVias(pair-positive) * 15.0 negViaDelay countVias(pair-negative) * 15.0 ; 总延迟 蚀刻长度换算 过孔延迟 ; FR4板材传播速度约6mil/ps posDelay posLen / 6.0 posViaDelay negDelay negLen / 6.0 negViaDelay totalDelta abs(posDelay - negDelay) if( totalDelta 5.0 then printf(%s, %.2f, %.2f, %.2f, FAIL\n, pairName, posDelay, negDelay, totalDelta) else printf(%s, %.2f, %.2f, %.2f, OK\n, pairName, posDelay, negDelay, totalDelta) ) ) ) ) ; 辅助函数统计一条线上的过孔数量 procedure( countVias( net ) let( (viaCount) viaCount 0 foreach( obj net-children if( obj-objType via then viaCount viaCount 1 ) ) viaCount ) )这个脚本的核心逻辑是先拿到所有差分对然后分别计算正负端的蚀刻延迟和过孔延迟加起来得到总延迟最后算差值。countVias函数用来统计每条线上的过孔数量每个过孔按15ps估算。这个15ps是个经验值实际项目中你需要根据过孔的具体参数来调整。加载脚本的方法是在Allegro的命令行里输入skill load(diff_pair_delay_check.il)然后输入diffPairDelayCheck()就能跑。跑完之后会在命令行窗口输出一个CSV格式的表格你可以直接复制到Excel里做进一步分析。5.3 脚本调试与常见报错处理Skill脚本最容易出的问题是语法错误和对象访问越界。比如pair-positive在某些情况下可能是nil如果你直接访问pair-positive-length就会报错。所以我在脚本里加了很多判断但上面的框架为了简洁省略了。实际用的时候建议加上nil检查。另一个常见问题是axlDBGetDesign()-diffPairs返回的列表可能包含非差分对对象。这个在Allegro 17.4里偶尔会出现特别是当你的设计里有一些手动创建的差分对属性但没有实际走线的时候。解决办法是在循环里加一个判断检查pair-positive和pair-negative是否都存在。我遇到过一次比较诡异的问题脚本跑出来的结果和Phase Tolerance报告对不上。查了半天发现是脚本里用的传播速度是6mil/ps但实际板材的Dk值不是标准的4.2而是4.5对应的传播速度是5.8mil/ps。所以脚本里的常数要根据实际板材参数来改。这个细节很容易被忽略但影响不小Dk从4.2变到4.5延迟会差3%左右对于25Gbps的信号来说就是几个ps的偏差。注意Skill脚本修改的是内存中的数据不会自动保存到设计文件里。如果你在脚本里做了修改操作记得手动保存。另外跑脚本之前最好先备份设计文件避免意外情况。6. 差分对等长检查的常见问题与排查实录6.1 为什么DRC全绿但实测眼图还是差这个问题我被问过无数次也是我自己踩过最深的坑。DRC全绿只能说明蚀刻长度在公差范围内但眼图差可能是由其他原因导致的。我总结下来主要有这么几个过孔延迟不匹配、引脚延迟不匹配、板材Dk不均匀、参考平面不完整。过孔延迟不匹配是最常见的。一对差分线里如果一根换了两次层另一根只换了一次那过孔延迟就差了一个过孔的量大约15ps。这个偏差在DRC里是看不出来的因为DRC只算蚀刻长度。解决办法是在布线的时候尽量让正负端换层次数一致如果实在做不到就在较短的那根上多加一个假过孔来补偿延迟。假过孔就是只放一个过孔焊盘但不连接任何网络纯粹用来增加延迟。引脚延迟不匹配通常发生在BGA封装上。BGA的球到芯片内部引脚的延迟是不一样的有些差几ps有些差十几ps。这个需要从封装的IBIS模型里读出来然后在约束管理器里设成Pin Delay。Allegro 17.4支持在Constraint Manager里为每个引脚设置延迟值设好之后DRC会把引脚延迟也算进去。板材Dk不均匀是个比较隐蔽的问题。FR4板材的Dk值在板子不同区域会有波动特别是靠近板边和靠近大铜皮的地方。这个波动会导致同样的蚀刻长度对应不同的延迟。解决办法是在关键差分线周围留出足够的禁布区避免大铜皮影响。如果板子对延迟要求极高可以考虑换用Dk更稳定的板材比如 Rogers 4350B。6.2 差分对识别失败的几种原因差分对识别失败是另一个高频问题。Allegro 17.4识别差分对依赖两个条件命名规则匹配和属性传递正确。命名规则方面默认支持_P/_N、/-、_H/_L等几种后缀但如果你用的是自定义后缀需要在User Preferences里配置。属性传递方面原理图里的DIFF_PAIR属性必须正确传递到PCB如果中间经过了层次化设计或者复用模块属性可能会丢失。我遇到过一次比较特殊的情况原理图里差分对属性设对了但PCB里就是认不出来。查了半天发现是复用模块的问题。那个项目用了层次化设计差分对在子模块里定义的但子模块被复用了两次导致属性冲突。解决办法是在顶层原理图里重新定义差分对属性或者在Allegro里手动创建差分对。手动创建差分对的方法是在Constraint Manager里右键选择Create → Differential Pair然后分别选择正端和负端的网络。这个方法比较直接但缺点是如果原理图改了手动创建的差分对不会自动更新。所以我还是建议尽量从原理图传递属性手动创建只作为临时补救措施。6.3 常见问题速查表下面这个表是我在实际项目中整理出来的差分对等长检查常见问题速查表涵盖了问题现象、可能原因和解决办法。你可以把它当成一个检查清单遇到问题的时候逐条排查。问题现象可能原因排查方法解决办法DRC全绿但眼图差过孔延迟不匹配检查正负端换层次数加假过孔补偿或调整换层差分对识别失败命名后缀不匹配检查User Preferences配置修改后缀配置或重命名网络Phase Tolerance报告为空未设Phase Tolerance规则检查Constraint Manager补设组内公差规则报告显示长度与实际不符未包含过孔延迟检查Analysis Modes设置勾选Include Via Delay蛇形绕线后DRC变红绕线导致线间距不足检查绕线区域间距调整振幅和间距参数换层后偏差突然变大过孔延迟未补偿对比换层前后报告在较短端加补偿过孔整板报告跑不出来差分对数量过多分批选择差分对分区域跑局部报告Skill脚本报错对象访问越界检查nil判断加nil检查或异常处理这张表里的每一条都是我或者同事实际遇到过的不是从文档里抄的。特别是“换层后偏差突然变大”这一条我在一个背板项目里遇到过当时查了两天才定位到是过孔延迟的问题。后来养成了一个习惯每次差分对换层之后立刻手动跑一次局部Phase Tolerance报告确认偏差没有超标再继续布线。6.4 几个容易被忽略的细节第一个细节是测试点的处理。很多板子会在差分线上加测试点测试点会引入额外的电容和延迟。如果正负端的测试点位置不对称就会导致延迟偏差。我一般建议在差分线上尽量避免加测试点如果一定要加确保正负端的测试点对称放置并且测试点的焊盘尺寸一致。第二个细节是线宽变化。差分线在从BGA出线的时候线宽通常会从细变粗这个变化点如果正负端不在同一位置就会导致延迟偏差。解决办法是在线宽变化的地方让正负端同步变化或者把变化点放在差分对的对称中心。第三个细节是参考平面的裂缝。如果差分线跨越了参考平面的裂缝会导致阻抗不连续和延迟变化。这个在DRC里是看不出来的需要手动检查。我一般会在布线完成后用Allegro的Cross Section工具检查一遍确认差分线没有跨越平面裂缝。第四个细节是温度影响。板材的Dk值会随温度变化虽然常温下差异不大但如果你的板子工作在高温环境延迟会发生变化。这个在消费类产品里通常不用考虑但如果是汽车电子或者工业设备就需要在极端温度下重新核算延迟。7. 我的实操心得与效率提升技巧7.1 把检查前置到布局阶段很多人习惯布线完成之后再做等长检查发现问题再回头改这样效率很低。我的做法是把检查前置到布局阶段。具体来说在布局完成之后、布线开始之前先跑一次Phase Tolerance报告看看当前的布局有没有导致某些差分对天然就不等长。比如一个差分对从BGA到连接器如果BGA的出线点和连接器的入口点不在一条直线上那布线的时候必然要绕线绕线就会导致偏差。如果在布局阶段就发现这个问题可以调整连接器的位置或者BGA的旋转角度从源头上减少偏差。这个习惯帮我省了很多时间。在一个交换机板项目里我在布局阶段发现有一组PCIe差分对的路径长度天然差了300mil如果等到布线完成再改至少要花半天时间重新绕线。在布局阶段调整了连接器位置之后布线时几乎不需要额外绕线偏差自然就控制在公差范围内了。7.2 用颜色标记快速识别偏差Allegro 17.4支持给差分对设置颜色标记。我一般会把所有差分对按偏差大小分成三组绿色表示偏差在公差50%以内黄色表示在50%到100%之间红色表示超标。设置方法是在Constraint Manager里右键选择Color然后按Phase Tolerance的值来分配颜色。这样在PCB编辑器里一眼就能看出哪些差分对需要关注。绿色的可以暂时不管黄色的需要留意红色的必须处理。这个方法在差分对数量多的时候特别有用我做过一块有500多对差分线的板子用颜色标记之后排查效率至少提升了一倍。7.3 批量补偿的脚本化处理如果你有大量差分对需要补偿手动一个一个绕线太慢了。我一般会写一个简单的Skill脚本自动找出所有偏差在公差50%到100%之间的差分对然后批量加蛇形补偿。脚本的逻辑是遍历所有差分对计算偏差如果偏差在设定范围内就在较短的那根线上自动生成蛇形。这个脚本我用了好几个项目稳定性还不错。但要注意自动生成的蛇形可能不够美观而且可能会和其他信号线冲突。所以脚本跑完之后我一般会手动检查一遍调整一下蛇形的位置和参数。另外脚本里要设置一个最大补偿量避免偏差太大的差分对被过度补偿。7.4 建立自己的检查清单最后分享一个我一直在用的方法建立自己的差分对等长检查清单。每次做新项目的时候按照清单逐条检查避免遗漏。我的清单大概长这样差分对命名是否符合Allegro默认规则原理图DIFF_PAIR属性是否正确传递Constraint Manager里组内公差和组间公差是否设置实时DRC是否开启布局阶段是否跑过Phase Tolerance报告布线过程中是否定期跑局部报告换层后是否检查过孔延迟测试点是否对称放置线宽变化点是否对称参考平面是否完整最终报告是否导出存档高速通道是否跑过Skill脚本精确比对这个清单我每次做新项目都会过一遍虽然看起来繁琐但能避免90%以上的常见问题。特别是对于刚接触Allegro 17.4差分对等长检查的朋友建议你也建一个自己的清单把踩过的坑都记下来下次做项目的时候直接对照检查效率会高很多。提示Allegro 17.4的Constraint Manager支持导出规则集你可以把设好的差分对规则导出成.dcf文件下次做类似项目的时候直接导入省去重新设置的时间。导出路径是File → Export → Constraints。差分对等长检查这件事说到底就是细心加经验。工具提供了三种方法但工具本身不会告诉你什么时候该用哪种也不会告诉你DRC全绿之后还要检查什么。这些都需要在实际项目中慢慢积累。我刚开始做高速板的时候也经历过DRC全绿但板子跑不起来的阶段后来踩的坑多了才慢慢摸清楚里面的门道。希望上面这些内容能帮你少走一些弯路。
返回列表