I’m unable to find any information in the documentation or examples about creating a custom design rule to check the height clearance between net classes. Is this possible?
This feature would be useful to prevent dielectric breakdown in high voltage designs and protect sensitive nets from crosstalk.
that would use the stack up to check the distance.
I was going to create an issue on GitLab but thought I’d ask if anyone knows if this feature already exists first.
I understand but I 'not aware of this neither. As a designer I think HV tracks should run AMAP on the same layer separated with the right clearance (you can also increase isolation drilling slots between HV tracks). Related to the crosstalk there are workarounds (see shielding) in order to avoid this.
Well, I do not agree that “do not make mistakes” is a valid alternative to drc. Z direction clearance is often part of standards.
I have boards with mixed signals where I definitely would benefit from this check. I’ve had issues where 200um wide traces crossing at 90 degrees on adjacent layers presenting enough capacitive coupling to require a redesign.
But that is besides the point, the question is not why, but rather how, to do z clearance check.
Another useful check could be to somehow require metal between net classes, in both plane and z direction, in order to enforce guard/bootstrap nets… Any idea how to check for that?
But that is besides the point, the question is not why, but rather how, to do z clearance check.
Designs which have requirements like this would probably benefit from well defined signal, power and ground layers in general, a named keepout zone in conjunction with a rule like this:
would accomplish something with a similar effect today.
A change to slightly improve upon that could be to expose the layer types as defined in the stackup to the conditions, leading to a rule similar to this:
Though this would only be useful if there also existed checks for adjacent signal layers in the stackup, maybe along with dielectric thickness in the stackup.
Another useful check could be to somehow require metal between net classes, in both plane and z direction, in order to enforce guard/bootstrap nets… Any idea how to check for that?
That sounds tricky for in-plane, a workaround that works today could be to utilise large clearance or creepage values for the net classes in question, but that does not guarantee separation by copper.
To me it sounds like generalising this for any copper would be quite difficult, but what might work is to have a test like “track A and track B may not be contained in the same inner outline of a copper zone, but have to be in one”.