在 Cadence Allegro 中,区域规则(Area-based Constraints)用于在同一层或同一区域内对线宽、间距、过孔等施加更严格的限制,常见于 BGA 扇出区、射频区、高速总线区、天线区域等场景。
下面以 Allegro 16.6 / 17.x 为例,系统讲解 区域规则的创建与应用方法。
一、什么是区域规则(Constraint Region)
- 区域规则是 在指定几何区域内生效 的约束
优先级: 区域规则 > 物理规则 > 默认规则- 可用于: 走线线宽 走线间距(Spacing) 过孔类型 差分对规则 铜皮规则
二、创建约束区域(Room / Shape Region)
方法一:使用 Room(功能模块区域)✅【最常用】
1️⃣ 创建 Room
Setup → Room
操作:
点击 New - 输入 Room 名称(如:CPU_AREA)
- 在 PCB 上画一个矩形区域
2️⃣ 将元件加入 Room
方式 A:手动分配
Edit → Properties
- 选中元件
在 Room属性中选择 CPU_AREA - 方式 B:自动分配
Place → Room → Assign
方法二:使用 Shape 区域(几何区域)
适用于:
Shape → Rectangular
Class: Route Keepin / Route Keepout / Constraint Region
三、在 Constraint Manager 中设置区域规则
1️⃣ 打开 Constraint Manager
Setup → Constraints → Constraint Manager
2️⃣ 设置 物理区域规则(Physical)
路径:
Physical → Physical Constraint Set → Region
操作:
右键 → Create → Physical Region 命名:CPU_PHY_REG - 设置参数: Line Width Neck Mode / Neck Width Allowed Vias
3️⃣ 绑定区域规则到 Room
Physical → Region → Referenced Physical Region
将 CPU_PHY_REG分配给 CPU_AREA
4️⃣ 设置 间距区域规则(Spacing)
路径:
Spacing → Spacing Constraint Set → Region
操作:
- 新建 Spacing Region
- 设置: Line to Line Line to Pad Pad to Pad
- 绑定到对应 Room
- ✅ 常用于 BGA 扇出区、DDR 区域
四、区域规则应用示例
✅ 示例 1:BGA 扇出区线宽更小
- Room:BGA_AREA
- 区域线宽:2.5 mil
- 外部线宽:5 mil
- 结果:
- 在 BGA 区域内自动使用细线
- 出区域后自动恢复
✅ 示例 2:DDR 区域禁止过孔
- Room:DDR_REGION
- Allowed Vias:None
- 结果:
- DDR 走线不能打孔
- 强制走同层
✅ 示例 3:天线区域禁止铜皮
- Shape:Antenna_Area
- Class:Route Keepout / Etch Keepout
五、区域规则优先级总结(非常重要)
Region Constraint
↑
Physical / Spacing Constraint Set
↑
Default Constraint
📌 只要进入区域,就优先使用区域规则
六、常见问题与排查
❌ 1. 区域规则不生效
✅ 检查:
- Room 是否包含元件
- Region 是否已正确 Referenced
- Net 是否分配到规则
❌ 2. 走线仍然用默认线宽
✅ 原因:
- 没有进入 Room
- 使用了 Global Default
❌ 3. DRC 报 spacing 错误
✅ 检查:
- Region 内 spacing 是否比外部更严
- 是否多个 Region 重叠
七、推荐设计规范
✅ BGA 扇出区:
- 线宽 ≤ 3 mil
- 间距 ≤ 3 mil
- ✅ DDR/高速总线:
- 统一 Region
- 禁止过孔
- ✅ 射频区域:
- 使用 Shape Keepout
- 禁止无关走线
八、一句话总结
Allegro 区域规则 = Room/Shape + Region + Constraint Manager 绑定
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删