ooo this looks interesting.
I am presently laying out two higher voltage cards so I want to see how this works.
The way such things are done in Mentor Xpedition are painful to say the least as they just expanded their high-speed clearance table to everything…
Is there any plan to consider 3D? ill give you the two examples that i am usual guaranteed to find a problem in a layout.
creepage due to cuts
Whether it is board edge or some NPTH, this can be a creepage path for an internal (or external ) conductor. If you require a creepage path of 3.5mm (to realise a working voltage of 900V) that is ~1.75 from any cut as it is the creep to the edge, around the edge of the card (cut or drill) and back in.
Yes this could be crudely done with the board-edge clearance but this applies larger distances universally rather than selectively.
considerations of prepreg.
FR4 is ok, Poly is better, but there could be quality issues with the weave and therefore we would use a minimum of two prepreg’s to ensure guaranteed separation. We also have intralayer separation (for FR4) to ensure there is suitable z-clearance through the prepreg (1.1mm for 900V). This one is a bugger as constantly check with x2+y2 (or we simply go… make sure you have 2mm)
the other consideration is collections of circuits which locally have the same reference and potentials (so typical 8thou:8thou rules) but need higher clearances from other circuitries
Good examples are gatedrives where the secondaries traverse the full DClink swing while the primary would be references to some processor. Equally isolated CAN or some isolated discrete.
a typical card of mine could have at least 10 higher voltage clearance type sub-circuits and another 10-20 “transient” or lower voltage clearance. These zones could also have high-speed signal concerns so controlled impedances exist.
Each one of these cases adds another rule and thus causes the conditions to grow exponentially to ensure Ch1_default is clear from Ch1_50R_SOA (8thou) which in turn are clear from CH2_default (3.5mm) and again Ch2_50R_SOA an so on.
Mentor’s approach is a big table and i would typically end up with over 200 row-column’s to ensure all conditions of rules to rules are covered… huge. Yet the grouping clearances are only about 12 but this is more in an excel for visual checks as I then apply to the constraint manager
I still have to try with up to date codebase, it’s compiling. But I wonder if the quotes in the condition have something to do with it. If I take them off, the check works, i.e. shows an error message about missing expression. With the quotes it crashes.
The new rules would work very well with your reference & potential examples. The recommended way would be to give your gatedrive/CAN bus/whatever a netclass and then specify rules between that netclass and either other types of item or other netclasses (or a combination of the two).
Because it’s not done in a table you only have to specify a general rule and then the conditions you need a more specific rule for.
We don’t yet do creepage. We’ve just added a board stackup manager which allows you to specify dielectric properties, but we don’t yet use these in DRC.
Probably there’s some problem in KiCad there, I added the rule after my rule and now when I click the bug button KiCad gets stuck in some loop eating up 100% of one processor core.