Issues with symbols w/ sub symbols?

So I am updating a project I did with kicad 4.x and LTV-847S is divided into ABCD “subfootprints” … this seems completely illogical to me what am I missing?

How do you match part’s to what is effectively 4 symbols now? I presume this is because each submodule can just alias a single component symbol but frankly it’s kind of breaking my mind as to how this matches up with my BOM and it also seems quite confusing since you can flip the symbols around differently than how the device si physically laid out.

The correct therm for such this way of making symbols is called multi unit symbol.
It has nothing to do with footprints or aliases.

Kicad knows which units are part of one physical device by the reference designator assigned to the units. Lets say the component gets the reference designator U1. Then the 4 units of it will have designators U1A, U1B, U1C and U1D. All of these 4 parts will be connected to the same footprint. (The footprint will have the reference U1)

If you place another one of these then it will have for example reference U2. Meaning its 4 units would have U2A, U2B, U2C and U2D.

The letter of the reference designator is generated automatically. You can not edit it. (If you edit the reference of a multi unit part you will not see the letter at the end in the edit dialog)

An alias is simply a different name for the same symbol. Aliases use the same graphical elements and the same symbol fields as their parent. The only thing that differs are the Datsheet and description field plus the symbol name.
Aliases are used to define slight variants of the same component. An example would be different output voltages of a voltage regulator.

1 Like

Would it be possible to add a feature where when selecting the parent of these it just puts them down as a grouped symbol by default… and people that need to swap around the orientations could unlink the group to declutter their schematics?

For instance in this case it’s at least 4x more clicking to put this symbol down…

You’re free to create your own symbol any way you like. But generally, with things like logic gates, flip-flops, op-amps, etc … it makes sense to have the symbols as seperate elements (units) as that is how many people draw their schematics.

If you read my comment I’m aware of that, it is however a change from how these particular symbols used to be. My suggestion was to enhance the schematic editor so that it isn’t an either or proposition.

So you select a multi unit symbol and leave it as or ungroup it to reorient the units however you wish… for 2 unit parts it would be a wash, however for 3 or more units laying down a grouped symbol and reorienting would require fewer clicks to get your parts on the schematic.

You couldn’t just “group” and “ungroup” the symbols as the separate units are usually drawn differently when grouped in a package than they are as individual units so it would require having to different symbol representations, which you can do now. So there would be no benefit to having such a feature.

It wouldn’t require separate symbol representations. I envisioned just automatically spacing them a certain amount from the edge of each other. The only assumption this really makes is that muti unit symbols couldn’t use the left and right side of the symbol… which isn’t likely anyway from the few I’ve looked at.

Even if they weren’t grouped per say, clicking on the top level symbol name could dump them on the schematic for you all at once at least. I’m just saying there is room for improvement here, some of us were accustomed to the old all in one symbols, the split out symbols have some drawbacks that seem to be low hanging fruit for improvements.

Another draw back to this currently is say I spread these 4 sub unit of the optoisolator across the drawing I don’t get the full properties of the chip if I click on UxB-D only UxA.

Also splitting out units seems more appropriate to large packages > 16 pins it would totally make sense on an optoisolator in a TQFP package.

The behavior proposed by @cb88 has merit. Some people prefer to think in terms of “packages” containing multiple functional units, rather than the individual units. After all, my circuit may require only one or two logic inverters but I will probably have few options except buying six of the things in a 74HC04 package, then finding real estate on the board for a 14-pin package, etc. Since I’ll consume those inverters six at a time it’s reasonable to put all six on the table at once. Then, as @cb88 proposed, an efficient solution would let the user approach them either as a group of six units, or as six separate units. A side benefit is that, even if I un-group the units, I don’t have to wonder, “Have I used all six inverters from that package, or is there one still unassigned?”. If there’s a lonesome gate sitting in some corner of the schematic, I know it’s available. Otherwise, I need to grab six more.

That way of thinking is probably less common among the Analog Artisans. They tend to lay down an opamp, and wait until later to decide whether it’ll be implemented as, e.g., a TL071, TL072, or TL074 (one, two, or four unit packages, respectively). Even for these folks, who treat active functional units as individual units rather than multi-unit packages, it’s still common to show multi-unit passive devices (e.g., resistor arrays) as a package rather than individual units.

I don’t recall ever using a schematic capture tool that allowed you to lay down a complete multi-unit package, then optionally break out the individual units for placement wherever desired. I’ll speculate that it will take a lot of thought to work out the desired behavior, and even more work to implement it, but it could become a useful feature that sets KiCAD apart from other tools.


P.S. - Hmmmm . . . . how about connectors? Each pin is (in concept) a separate functional unit. I hate it when I have to draw connection lines all the way across a page to terminate it on a connector terminal. Using Net Labels is aesthetically not much better because each label must be placed in two locations and the labels’ text strings tend to run together at the connector. On the other hand, it can be maddening when some pins from a connector are grouped in one location while other pins are grouped elsewhere - perhaps even three or more such groupings. Should we allow connector pins to be grouped/ungrouped like other functional units?

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