Diff Pair to Zone Clearance but is also getting applied to vias

I am routing a high-speed BGA design and need to create a rule to specify a clearance in between my high-speed diff pairs and adjacent copper zones on the routing layers. The custom rule I have for this works, but what happens is that it also applies the same clearance rule from the via (i.e. for BGA breakout) to all others copper zones, which screws up my power zone connections on the other layers.

Is there a way to get a custom rule to apply only to tracks of a diff pair and not to vias? I only care about maintaining clearance from the tracks on the routing layers to copper zones. I want to keep the standard clearance rule for any vias. Any ideas on how to do this?

Here is the rule that I tried to create clearance from diff pairs to zones:

Specify a larger clearance around any diff-pair to Zones

(rule “dp clearance”
(constraint clearance (min 0.8mm))
(condition “A.inDiffPair(‘*’) && B.Type == ‘Zone’”)

To me, that is the expected behaviour.

Doesn’t A.Type=='Track' not work? Maybe try:

(rule “dp clearance”
(constraint clearance (min 0.8mm))
(condition “A.inDiffPair(‘*’) && A.Type == ‘Track’ && B.Type == ‘Zone’ ”)
)

(I didn’t test it.)

A other aproch is could be to test for the layer, since you, as far as i understand, only have problems on power only layers.

Perfect, thanks! That works - I guess I didn’t realize that you can have more than two statements in the condition line…

Consider this solved.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.