Cadence Allegro PCB设计避坑实战 跟着老工程师三步搞定DRC错误

发布于 更新于
827
详情介绍
智行者IC社区持续更新技术干货、实操教程、案例分享与常见问题解答,为学习者提供实用的学习参考资料。

实测Cadence Allegro 17.4版本的我,踩过DRC报错疯狂弹窗的坑,踩过规则设置无效的坑,踩过铜皮避让异常的坑。

第一步 打开约束管理器并设置线宽线距

将Allegro PCB Editor打开,把菜单栏Setup点开,再点击其中的Constraints,接着点击Constraint Manager 在弹出的那个窗口里,把左侧的导航树展开,展开Physical,之后展开All Layers。

【新手避坑】

常在出现某种情况时报告错误,即设置之后规则却没有产生预期效果, DRC依旧会出现报错现象。其原因在于没有挑选正确的对象类型,一定要确认当下处于Physical标签页面,而且是在All Layers下开展操作行为。要是仍然逗留于Spacing标签页面来设置线宽,那么根本就不会产生效果。

第二步 设置差分对规则

在约束管理器里,轻点 Physical,接着点击 Differential Pair,而后右键单击,选择 Create,随后再选择 Differential Pair。在弹出的对话框里,自左侧的 Unassigned 列表里挑选出两条网络,像 TXP 以及 TXN 这种,而后点击中间的箭头,将其增添至右侧的 Assigned 列表。将Primary Gap设置成8mil,把Primary Width设定为5mil。这儿存在两种方案对此:在方案A借助8mil间距搭配5mil线宽,它适合4层以上的板子,信号的完整性能良好;方案B采用6mil间距配合4mil线宽,其适合2层的板用以节省空间,不过串扰的风险较大。如果板层充裕,优先选方案A。

【新手避坑】

高频率出现报错情况:在进行相关设置之后,差分对走线却仍然会报“unspecified”这个错误。其原因在于,没有在Electrical标签页下进行Min Line Spacing的设置。恰当的做法是,切换操作,切换到Electrical这个选项,接着进入Spacing,再进入All Layers,从中找寻与差分对相对应的Differential Pair规则,将Min Line Spacing设置为5mil,不然的话就会出现规则冲突的情况。

第三步 铜皮避让规则调整

轻点 Shape,而后朝着 Global Dynamic Shape Parameters 操作。在弹出的窗口当中,挑选 Void Controls 这个标签页,接着把 Minimum allowed gap 自默认的 10mil 更改为 4mil。如此这种,铜皮跟过孔或者焊盘彼此间的避让间距会变得更为紧凑,这是适配高密度板的情况。紧接着,在Shape Fill标签页那里,将X hatch以及Y hatch均设定为5mil,以此避免铜皮铺排得过于密集而引发加工方面的问题了。

【新手避坑】

报错解决流程序全包括:报错信息为“Shape has no vertices”,或者是“Shape is not a closed polygon”。其原因在于:铜皮边界存在未闭合情况,或者出现了自相交情况。提供一次解决办法:先运用Shape → Edit Boundary这个操作来选中铜皮,接着,在命令窗口当中输入shape,随后敲击回车键,然后输入o(o在这里代表的意是optimize),之后再按下回车键。要是依旧出现报错情况,借助 Shape 指向 Decompose Shape 这种操作,将铜皮拆分成基本图形,把异常段给删除掉之后,再绘制出边界。

此套方法针对于常规 4 至 6 层板而言效果颇佳,然而如果你的板子层数超出 16 层或者涉及到射频区域,那么铜皮避让规则就得单独去设置局部约束,而不能够进行全局统一的简单处理。其替代方案是专门为射频区域单独构建一个 Physical 约束集,在区域规则当中手动去设置超过 20mil 的避让间距,以此来确保信号质量。

常见问题(FAQ)

设置了线宽线距但DRC仍报错是什么原因?
常见原因是没有选对对象类型。一定要确认当前处于Physical标签页面,并且是在All Layers下操作,如果还停留在Spacing标签页面设置线宽,规则根本不会生效。
差分对的间距和线宽该怎么设置?
在约束管理器的Physical下点击Differential Pair,右键创建差分对,把两条网络加入Assigned列表。Primary Gap设为8mil、Primary Width设为5mil,这组参数适合4层以上的板子;另外还要在Electrical标签页把差分对的Min Line Spacing设为5mil,否则会报unspecified错误。
铜皮报出 Shape has no vertices 这类错误怎么处理?
这通常是铜皮边界未闭合或者出现自相交。先用Shape下的Edit Boundary选中铜皮,在命令窗口输入shape回车,再输入o回车执行优化;若仍报错,用Decompose Shape把铜皮拆分成基本图形,删除异常段后重画边界。也可以把Shape参数里Void Controls的Minimum allowed gap从默认10mil改为4mil,以适配高密度板。
0 / 600
0 讨论
热门最新
总结
暂无总结
嗨,下午好!
学硬件设计・来智行者 IC 社区
相关文章