P Channel Mosfet symbols and footprints

I think everyone does this; I laid out a board with three banks of connectors and a hex inverter IC; while drawing the schematic I connected bank 1 to inverter 1, bank 2 to inverter 2, etc. When routing the board I realized this was making my job harder, so I changed the bank-to-inverter connections in the schematic so that the trace routing would be more logical.

This is the idea for pin and gate swapping. AFAIK pin and gate swapping is in development (or at least on the milestone list) for v6. But, I’m not sure if it is planned to implement PCBNew driven pin/gate swapping or if it will only be done in the schematic.

Not for a pick and place machine, which will carefully rotate a smd resistor to match the assembly file.
Also not for my QA inspector 40 years ago, who would have rejected a board because the THT resistor colour bands were the wrong way round

2 Likes

ROFLMAO!

They were just to lazy to decode it bassakwards!

That is not a QC reject for flight hardware as far as I know.

I hope that everyone concerned is grinning (as I am) as they discuss this. I am a person who delights in designing something while ignoring cosmetics. But for functionality…I do like silkscreens to be placed in a way that makes them easily understandable.

But my reason for wanting to ignore resistor pin numbers is that I have sometimes connected the wrong end of a resistor momentarily during layout. If it costs me 10 seconds to fix it, then that is 10 seconds of the software telling me to do something silly and I have a philosophical objection to doing that. It just should not matter.

I am not so intimate with pick and place machines but I think that when the resistors are placed onto tape, they may be randomly disoriented end-end. What might make more difference is placement of some chip ceramic capacitors which are as tall as they are wide…now there are 8 positions in which it could reasonably be mounted onto its pads. Half of those options have the ceramic layers perpendicular to the pcb. That might actually affect series inductance slightly!

I think that some pick and place machines start with loose parts in a cup of some sort…disoriented randomly…but then we have to make sure that the pick and place head does not swap the ends. This seems like a lot of nonsense. I am shaking my head and grinning as I write this…no worries.

Shamless plug:
You can use Swap pins action plugin and Swap units action plugin action plugins for this.

To tell you truth I don’t understand whay you need these three schematics at one PCB. I would just do three PCBs. PCB manufacturer we use counts some price for each PCB documentation and then price for dm². To pay once for documentation I would put them all at one PCB to cut them myself.

The use for this one PCB is worth inputting a schematic. It takes about 10…20% of whole time of PCB design (I don’t count time used for element selections/decisions typically made during schematic inputting).

Yeah, you are right, I do it like that also, but I believe Videostar (whom has said his job was drawing the pcb layout for many years) doen’t like that the software “forces” him to go back to the schematic to make such a change.

Hi Piotr

Earlier I did say that I will be making the PCBs myself (not using a manufacturer). The board will have a “break-off” section either end - one end will have a bridge diode and smoothing cap (only required for the AC supply input) and the other end will have an FET “H-bridge” output stage (only required on two versions). I am doing it that way to allow me to only draw the board once yet etch all three together. Finally I will break off the non-required sections during hand construction. The centre section with the PIC will have some pads which are only used in certain versions (so I need to add “blank” pads in some schematics ?).

You say the inputting of the schematic is only 10-20% of the time to design the PCB - I would struggle to input a simple scematic in under a day. My 3-way PCB took me less than 1 hour to draw but I already knew how I wanted it laid out and what connected to what, which I suppose is what a schematic is doing but I had already worked everything out in my head. Incidentally, I made the 3 PCBs over weekend and have started building the first one which doesn’t have any errors.

I really don’t understand that discussion. Drain/Gate/Source is the only property a schematic should decide upon. NOT pin numbering. Pin numbering (and what pin is what) is a property of the assigned part. If you change a part in the schematics, drain still is drain, gate still is gate and source still is source. The only thing that gets to be fixed after the replacement is the layout.
So naming a gate in a schematic 1 or 2 or 3 is providing information for a different domain and not the domain I’m working in.

Pin swapping for resistors/caps: Well, I don’t care. In layout I just press “r” twice. Job done.
Gate swapping is a different story …

Nick

This is how it already works. In kicad this connection simply is made using the pin number field of every pin (a pin has a name for the schematic side plus a pin number for telling kicad how this pin is connected to the footprint.)

This means if you use a fully specified symbol you really only care about the part number. If you however use a generic symbol then part of this responsibility is forced onto the circuit designer. As the designer then needs to know the mapping. (You need to select the correct symbol for the required mapping.) And this is the exact reason why fully specified parts make sense as it moves this responsibility from the circuit designer to the library maintainer.

Showing footprint pin numbers does not mean you need to think about that at the time of making the schematic. There is no knowledge domain interference. Showing them is simply done for better documentation to diagnose problems with the hardware sometime down the road.

1 Like

These two statements are logically contradictory. If schematic shouldn’t care about pin numbering of transistors, even less for resistors/caps which don’t care about pin functions at all (both pins are identical functionally). And I have to do much unnecessary work rotating those parts, just because the software forces me to do so (cares about pin numbers).

Using the generic symbols from the standard library, I do need to think about pin numbers. Because at the moment when I choose the physical part I have to know which variant to choose - GDS, GSD etc. If I didn’t care or didn’t know at first I now possibly have to change the symbol. This would be easier if there were different pin order variants inside one symbol, selectable from a drop-down list.

No, they don’t!
I said that I don’t care for rotating a resistor or a cap. It is just an annoyance I can well live with. If fixing this breaks the DRC, I’m more than happy to wear out the “r”-key on my keyboard.

I’m mainly a software developer. So I do know that wishes that do sound simple might have terrible implications on the software. I imagine that this would require an attribute like “swappable” and what pins can be swapped with what.
But I also wouldn’t like if KiCAD swaps pins unasked. I bet there are situations with unwanted results.
Keep things simple, clear and foreseeable!

Nick

1 Like

I kind of included that in my response already :wink:

There would then need to be a way to change this somewhere central for example in cvpcb. Right now the symbol name takes care of this.

And that’s exactly where the problem is!
I don’t care at all what the pinning of the MOS is. I just know it is an N-MOS. What one exactly will be decided at a later step. After I have searched for a good match for my requirements.
It is like asking what size and technology a resistor has if you place it. It is just an R. No specification if THT or SMT, no wattage, no tolerance, no temperature coefficient. This is decided at a later step.

Nick

Wow - I found @nickm have the similar ideal to Some thoughts on the underlying data model (symbols). So I just make sure everyone aware to not double talk in to place :-).

@nhatkhai Thanks for directing me to that thread. I wasn’t aware of it.
Seems we are both on the same track.
In short, I think in a schematic, pins should be defined by function, not pin number.
I’ll read that thread and post accordingly.

Nick

Then the later step involves matching pins 1, 2 and 3 of the symbol with pins 1, 2 and 3 of the footprint.

Basically, all of you are saying more or less the same thing and in any case, this late step must be done before generating the netlist.
Kicad libraries allow the selection of the pin numbering as the last step or the first one. Not a big difference.

Not really. The pin numbering is fixed in the symbol so you select the numbering when selecting the symbol from the library. What the guys want is a way to have this determined at some later stage.

1 Like