Allegro Constraint Manager中电气规则集与物理规则集的层级优先级设置
一、规则域(Constraint Domain)的定位差异
在Allegro Constraint Manager中,电气规则集(Electrical CSet,ECSet)和物理规则集(Physical CSet)属于并列的两个不同规则域,分别管理设计对象在电气性能和物理几何两个维度的约束。
电气规则主要约束信号时序与质量,包括差分对相位容差(Phase Tolerance)、组内等长(Relative Propagation Delay)、最大最小传输延迟、阻抗要求(结合层叠结构间接控制)等。该规则域没有默认值,设计对象必须显式指定或通过继承获得。
物理规则主要约束布线的几何尺寸,包括线宽(Min/Max Line Width)、差分对尺寸(Primary Gap/Width)、过孔类型、盲埋孔堆叠等。该规则域存在系统默认值,但通常需要根据具体设计修改。
两个规则域并非直接比较优先级,而是作用于设计对象的不同属性。例如,一条差分线同时受ECSet中的相位容差和PCSet中的线宽线距约束,两个参数独立生效。
二、规则对象层级与继承顺序
两个规则域共用同一套对象层级(Object Hierarchy),规则的优先级由该层级决定。从高到低的典型层级顺序为:
System(系统) > Design(设计) > Net Class(网络类) > Net Group(网络组) > Bus(总线) > Differential Pair(差分对) > Xnet/Net(扩展网络/网络) > Match Group(匹配组) > Pin Pair(管脚对) > Region(区域规则)
在物理域和间距域中,区域规则(Region)的优先级最高,可覆盖区域内所有对象的其他规则。
三、规则继承(CSet)机制
当规则以约束集(CSet)形式应用时,继承遵循以下逻辑:
在约束管理器界面中,CSet作为一组预设值被引用到不同的对象上。以差分对为例,流程如下:
先在Electrical或Physical域中定义ECSet或PCSet,设置好参数后,再将此CSet指派给具体的Net、Bus或Differential Pair对象。
若在Net层级单独修改了某个参数(如将某条网络的线宽从5mil改为4mil),该覆盖值(Override)的优先级高于其所在Net Class甚至设计级规则。这一机制允许在保持整体约束一致的前提下,针对具体信号做个性化调整。
四、电气与物理规则配合使用原则
两个规则域的设置需协同配合才能实现设计目标。以差分对为例,典型的配合方式如下:
步骤一:在Physical域创建PCSet。此步设置Primary Width(标准线宽)、Primary Gap(标准间距)、Neck Width(颈缩模式线宽)、Neck Gap(颈缩模式间距)。这些参数直接决定差分线的几何尺寸,是阻抗控制的基础。
步骤二:在Electrical域创建ECSet。此步设置Phase Tolerance(相位容差,P线和N线的长度匹配要求)、Uncoupled Length(允许的最大非耦合长度,即无法按差分规则走线的总长度)。这些参数约束差分线的时序一致性。
步骤三:将ECSet和PCSet分别指派到同一个差分对对象上。两个规则集独立生效且缺一不可。

阻抗控制是两域配合的典型场景。在设计文件中设置层叠结构(Cross Section)后,Electrical域的阻抗要求(Impedance)本质上是驱动物理域的线宽选择——根据目标阻抗值反推所需线宽,再将此线宽值填入PCSet中。
五、实际案例与设置路径
以USB 2.0差分信号(90Ω阻抗)为例的完整设置路径如下:
差分定义:在Electrical → Net → Routing工作表中选中DP和DN网络,右键Create → Differential Pair。
创建ECSet:在Electrical → Electrical Constraint Set → Routing → Differential Pair中右键Create → Electrical CSet,命名USB_90R。设置Phase Tolerance(如5mil)和Uncoupled Length(如150mil)。
创建PCSet:在Physical → Physical Constraint Set → All Layers中右键Create → Physical CSet,命名PHY_USB_90R。设置Primary Width(4mil)、Primary Gap(5mil)、Neck Width(3mil)、Neck Gap(4mil)。
指派规则:回到Net层级,选中USB差分对,在Referenced Electrical CSet栏选择USB_90R,在Referenced Physical CSet栏选择PHY_USB_90R。
设置完成后的参数会以蓝色粗体显示,继承值以普通字体显示。若后续需修改某条差分线的单独参数,可直接在该Net行修改,该覆盖值将高于CSet的继承值。
六、优先级冲突的处理
当Physical CSet与直接在Net层级设置的物理参数冲突时,Net层级的具体参数覆盖CSet继承值。
当Electrical CSet与直接在Pin Pair层级设置的等长约束冲突时,Pin Pair的约束优先于其所属Net继承的CSet。
区域规则(Region)的优先级最高,可覆盖其覆盖范围内所有对象的物理规则和间距规则。此特性常用于BGA区域设置更小的线宽/线距,而不影响板内其他区域。
七、总结
Allegro Constraint Manager中电气规则集(ECSet)与物理规则集(PCSet)的优先级设置,应遵循以下核心原则:
两域分立、协同生效。两个规则域分别约束不同的设计属性,不存在直接的优先级高低比较,但同一对象必须同时满足两者的要求。设计者应在Electrical域管理时序和长度约束,在Physical域管理几何尺寸和过孔约束。
规则采用层级化继承机制,以CSet方式管理,CSet比分散的Property更易于维护和复用。在顶层(Design级)定义通用CSet,在底层(Net或Pin Pair级)做针对性的覆盖。
实际设置时,应遵循先ECSet后PCSet的流程,并将设置好的约束集应用到对应对象。区域规则具有最高优先级,适用于局部特殊约束的场景。