本人亲自测试了, Cadence 17.4版本, 踩过那种会出现DRC报错进而刷屏并且金属间距怎么都调整不对情况的坑。新手, 凭借跟着给出步骤一个一个地依次做出动作那么去操作, 就能够容易地避开这类似是常见的问题。
打开DRC设置面板精准定位错误
别急着在版图上随意乱点,先打开菜单栏, 找到Constraints这一项, 然后点击进入Constraint Manager, 在弹出的窗口当中, 选择Electrical Constraint Set这一选项, 在这里能够看到所有默认规则, 对于新手而言, 最容易被忽略的是“Spacing Constraint”这一项。向后翻, 寻得 Default via spacing, 此数值要是小于4 mil, 往后打孔密密麻麻肯定会报错。
【新手避坑】
好多新手一开始会发觉DRC报错全都是“Spacing < 0.45um”, 实际上并非规则设置有误, 而是Constraint.Manager里未勾选相应的层。查看左侧的树状目录, 要保证物理层以及布线层前面的方框内打了勾, 否则即便你修改了参数也是徒劳无功的。
设置关键参数推荐值并对比两种方案
这里直接给出推荐值, 最小线宽设定为5mil, 其理由非常简单, 低于这个数值, 工厂良率会直线下降, 并且后期当你手动修改走线时极其容易出现尖角, 倘若非要走细线, 那么请至少把同层间距拉开到6mil以上。
两种实操方案对比
具有保守性质的方案A, 是要于Physical Constraint Set当中, 把最小线宽设定为5mil, 还得把最小间距设定为5mil的情况才成, 它比较适宜多层板以及信号密集的区域, 运行DRC时基本上一次就能通过。
计划B里面的激进类型: 线的宽度设定成3.5mil, 之间的间隔设定成4mil。它适合芯片级封装或者空间被极度限制的状况, 不过往后那是一定要拿手去检验金属的密度的, 不然进行流片的风险就很高。
取舍的逻辑是, 首先优先运用方案A于布局实现, 最终跟着实际空间按照最后这部分的情况再局部转换到方案B。
【新手避坑】
改完参数之后, DRC 有可能依旧报出 “Same net spacing” 这个错误情形。这是由于你只是更改了层间距, 却没有对同网络间距做出修改导致的。你需要去进入 Spacing Constraint Set → Same Net Spacing这个选项中, 然后把值调整到和最小间距保持一致, 比如说调整到5mil这么一个数值才可以。别询问我缘由, Cadence将此数值预设为0, 若不对其进行更改, 那就等同于许可短路情况发生。
高频完整报错一站式解决
那个最能把人逼到崩溃边缘的报错是, “DRC: M1_M1.1 Spacing 小于 0.45um (M1_M1.1)”。
完整解决流程:
1. 单击开启, Constraints, 接着选择进入, Constraint Manager。
2. 对 Spacing Constraint Set 进行选中操作, 去找到 M1_M1.1 这一行。
3. 将Spacing这一列当中的值, 转变为从0.45微米成为0.5微米。
4. 倘若改完之后仍旧出现报错的情况, 那就表明你当下所处的金属层存在着孤岛, 进而就要执行Shape → Delete Islands这个操作, 将面积小到小于0.5平方微米的那些小块铜皮给彻底删干净。
5. 再者运行一回 Update DRC, 万一仍旧存在报错状况, 极大可能是手动进行画线操作之际出现了重叠现象, 直接借助 Edit → Delete 这种方式把重复的线段予以删除便可。
【新手避坑】
这个报错根源常常在于, 你于不同各层之间进行切换走线之际, 未曾运用正确无误之过孔。Cadence默认的via_0类型, 有可能无法契合你经手动修改之后的最小间距要求, 建议手动增添一个via_custom, 将其外径设定为10mil, 把内径设定为6mil, 如此一来能够全然彻底避免间距冲突。
此方法存在一不适用的场景, 即当你所使用的是二十层以上的超高速数字板, 其规则必须严格依照芯片厂家所提供的最小值(如零点三五微米), 此时硬性调整间距将会致使信号完整性出现问题。那替代方案为, 保留原本的规则, 不过要手动针对每个报错点进行Waive处理, 只有在确认物理上不会发生短路的情况下方可操作。
