Cadence高级功能:约束管理器区域规则这样配,省一半时间

于我个人而言,实际测试过Cadence Allegro 17.4,曾遭遇因约束规则优先级出现紊乱致使差分对等长功能失效之情况,对于初涉此领域者来说,只要依照步骤逐次进行操作,便能够较为轻易地避开这类常见的问题。

1 设置差分对等长匹配的±2mil公差

对于操作路径而言,先进入Constraint Manager页面,接着找到Electrical选项并点击,之后探寻到Routing,进一步朝着Differential Pair所在之处前行,在那里选中目标差分对,随后右键点击,选择“Create”里的“Pin Pair”,于出现后的“Tolerance”栏内输入±2mil。而这个值是有着最优推荐情况的,就板厂其加工精度一般而言是±1mil,预留2mil的余量,这样做既能确保信号质量,又能防止因过度约束而致使布线出现困难。

这里有新手需注意避开的情况,常常可以见到报错呈现为“No pin pair found”的样子,又或者等长计算的时候显示出“NaN”。其关键的原因在于,并未以正确无误的 manner 创建 Pin Pair,或者差分对网络名未能契合配对要求。能够迅速解决的办法是,于 CM 当中切换至 Physical > Net,去确认差分对成员网络是不是被绑定成 Diff Pair,接着再度创建 Pin Pair 并且进行刷新。

2 两种区域规则设置方案对比

操作的这条路径是:Setup大于Constraints大于Constraint Manager,创造Region Class。方案A是:全局的线宽为4mil,BGA区域的线宽是3.5mil;方案B是:全局的线宽为5mil,BGA区域的线宽是4mil。高速数字板的取舍逻辑之下,选择了A,因为BGA引脚密集,所以需要更细线宽引出,并且阻抗控制允许在±10%的范围内变化;电源板的取舍逻辑之下,选择了B,原因是线宽大,走电流会更安全。

针对于新手需要避开的坑相关情况,存在着区域规则不生效时所出现的报错现象情况,即DRC显示线宽违规,然而实际上明明已经设置了区域规则,其核心原因在于,区域规则的优先级是低于Net属性的,快速解决的办法是,在CM里检查Net的“Line Width”是否设定为Inherit,或者采取删除Net专属约束。

3 解决高频报错Constraint Scope Mismatch的一站式流程

具有报错情况的现象是,在进行保存约束这个操作的时候,会弹出这样的内容“ERROR: Constraint Scope Mismatch”,随后就出现了不能够退出CM这种状况。解决流程如下:首先,打开CM,接着点击File > Export > Technology File,从而导出当前约束作为techfile;然后,使用文本编辑器打开techfile,再搜索 “Mismatch”,进而定位到冲突项;之后,在CM中删除冲突约束(比方说重复定义的Propagation_Delay);最后,重新导入修改后的techfile(File > Import > Technology File),并勾选Replace Entire Constraints。全程无需重启。

首先,新手得避坑,其根源在于不同的约束集,也就是System和User之间存在定义矛盾,常规情况下重装软件是没有效果的,必须要清理约束集才行。接着,要先备份原设计,之后再去执行操作,以此来防止数据丢失。

有一种方法,它不适合应用于低于16.6的版本,因为在这个版本之下,约束管理器界面存在着较大的差异;有一种替代的方案,那就是提升到17.4以上的版本,或者运用旧版的“CM Batch Edit”这个脚本去进行批量清理约束;另外,对于超高速信号,也就是大于10Gbps的这种信号,建议直接去调用Sigrity前仿,而不要仅仅只是依赖约束管理器。

在实际布线时,你碰到过哪些Cadence高级功能出现的怪异报错呢?把它留言分享出来,要是点赞超过100,我就接着去更新区域规则与Skill脚本联动的教程。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

更多文章