1
\$\begingroup\$

I have PCB with a clearance rule for nets that can be exposed for higher voltages:

enter image description here

In the schematic I put a blanket around the area I need to be assigned as higher voltages nets (I called this class "Line"):

enter image description here

However the unconnected pin (pin 12 of K2 relay) has no net assigned - no net class consequently. So in the topology the clearance is not corret:

enter image description here

Until I put some arbitrary net label (NC1).

This can be solved for simple cases like mine. But if there will be an IC with many unconnected pins needed to have a net class - it will be a tricky thing.

Any thoughts?

UPDATE

As Matt suggested I tried to put Net Class directive directly to the pin as the following: strange but this didn't work, the pin still has wrong clearance.

enter image description here

\$\endgroup\$
5
  • \$\begingroup\$ Does putting a directive assigning the pin to a class not work? \$\endgroup\$
    – Matt Young
    Commented May 13, 2019 at 14:10
  • \$\begingroup\$ Does the clearance rule work if you use a pad class for the pad instead of a net class for the net? \$\endgroup\$
    – The Photon
    Commented May 13, 2019 at 16:16
  • \$\begingroup\$ @MattYoung please see the UPDATE \$\endgroup\$ Commented May 13, 2019 at 18:43
  • \$\begingroup\$ @ThePhoton, there is no such directive in the chematic editor. Could you make your idea more clear? \$\endgroup\$ Commented May 13, 2019 at 18:44
  • \$\begingroup\$ Because the pin is "No Net" I don't think you can put a Net Class on it unless you can change all "No Net" pins to have that class (but that's probably not what you want). You can assign pad classes in the layout editor, or maybe in the pcb library editor. \$\endgroup\$
    – The Photon
    Commented May 13, 2019 at 18:56

2 Answers 2

2
\$\begingroup\$

Short answer: You can't assign a net class to something that has no net.

But, there are potentially some workarounds; unfortunately, none of them are perfect.

  1. Add an additional rule that looks for non-connected pads and give them additional spacing, using the custom query ((Not InAnyNet) And IsPad)1.

    In addition to this, you could make the first object more specific, such as to a particular net. The downside to this approach is that it will add the additional spacing to ALL the unconnected pads in your board. Is that a big deal? Up to you.

Custom Query

  1. As others mentioned (and I think yourself), you could add an arbitrary net to each unconnected pin on connectors you are interested in. In addition, to be a little more elegant, and to catch mistakes, you could add a DRC check that gives you a warning whenever a pin is unconnected - and then for pins you are actually not interested in adding a net or an arbitrary net to, you can place the DRC error nullifier (the red 'X') on those pins.

    In this photo you can see that my connector J24 has unconnected pins 1, 2, 6 and 7. Pad 2 has a non-specific DRC no error marker on it (Red 'X'). See how warnings are thrown for Pins 1, 6 and 7, but now pin 2? The matrix in the photo is found under Project/Project Options/Connection Matrix.

DRC Check Method

\$\endgroup\$
1
\$\begingroup\$

I've had the same problem and the solution is pretty straightforward.

The solution is:

  1. As it's shown in the second image the component to be isolated are located inside the "blanket" (it's not necessary to add any specific Net Class directive in the unconnected pins)

  2. In the schematic: Project --> Project Options --> Options --> Mark the option "Allow Single Pin Nets"

  3. In the schematic update the PCB as: Design --> Update Schematics in "Your_pcb.PrjPCb" and select to include all the "single pin net" in the corresponding class. All the changes can be selected, even though you only interested in a few of them.

With this the single pin will have an associated net, and this net can belong to a class and it will follow all the rules applied to it.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.