2
\$\begingroup\$

Using Altium, one has the option to split schematic components into multiple parts. The examples given within the Altium documentation split chips with multiple discrete components in them, but I have also seen others split large ICs or MCUs into multiple parts. The image below shows how this applies to a small MCU, with both a part for power, and a part for "everything else":

enter image description here

I'm not aware of any standards (like you might have for electrical schematics for example) for PCB schematics, but are there any good guidelines for how/where it is appropriate to split large devices?

For example:

In a board I'm currently working on, we plan to use this 8 way ethernet switch chip. It's got 208 pins; ~70 of these are power pins and ~30 are factory test pins, neither of which do I need/want near my (slightly more complex) signalling circuitry. There are also chip config pins that again, don't necessarily group with the main switching function of the chip. The example schematics for the eval board include the chip drawn pin for pin which I don't like personally, but is this the best way to do it?

enter image description here

My current thinking is to have a "switch" part, which includes all the data and LED lines for the 8 ports, a "power" part with all the different VCCs and GNDs, and a third part with switch configuration pins and factory test pins. Can anyone suggest flaws with this method? Does it go against any "best practice" type rules?

TLDR; how should large ICs be split on PCB schematics

\$\endgroup\$
  • 4
    \$\begingroup\$ I have never seen this other than for opamps and some 74 logic gates, as such following the principle of least surprise, I would never do it \$\endgroup\$ – PlasmaHH Nov 16 '17 at 10:30
  • 5
    \$\begingroup\$ It makes no sense to have a single symbol for a 200 (or more) pin part. It's just too awkward to use, and results in 100's of global net names as you try to connect to it across several sheets. As you suggest, split it into functional blocks to suit your design. \$\endgroup\$ – Steve G Nov 16 '17 at 10:43
  • 1
    \$\begingroup\$ You don't want to get into the mess of continually changing the symbols either. You need to think about how it will be used and if need be break it up into functional blocks that logically go together. That might not be as simple as you think and, for reusability, you do not want to make it too application specific either. \$\endgroup\$ – Trevor_G Nov 16 '17 at 10:55
  • 1
    \$\begingroup\$ @PlasmaHH: When you have an FPGA with almost 1900 contacts, it becomes very necessary. \$\endgroup\$ – Peter Smith Nov 16 '17 at 10:55
  • 1
    \$\begingroup\$ It is largely a house style thing. Personally, I tend to favour splitting the power out on everything, it seldom adds much to the understanding of the circuit but should not be a hidden net or such, so splitting it out and putting it (plus its associated decoupling) somewhere out of the way seems reasonable. Other then that, whatever makes sense, and in some cases I even break the power down further (FPGAs tend to have dozens of ground pins that should be represented somewhere on the diagram but are otherwise completely uninteresting). \$\endgroup\$ – Dan Mills Nov 16 '17 at 13:13
3
\$\begingroup\$

A schematic should read like a book.

E.g. (In English) The convention is that we expect books to read front to back left to right.

A schematic is the same, you want people to be able to read it and in doing that they expect certain conventions.

As a result I will use multiple parts whenever I can (within reason):

  1. The part has logical seperable functional blocks. E.g. FPGA banks, power and function, multiple identical functions (e.g. logic blocks).
  2. When there are too many pins, e.g. multiple power & ground banks.
  3. When doing so will reduce clutter

I would avoid it when the blocks are more 'fuzzy' e.g. Microcontroller non-dedicated IO pins as the function is defined later not by the manufacturer.

I would also avoid it when it gains nothing, e.g. a Dual Red/Green LED. It makes it more readable if there is just one part as with two they could get separated in the schematic reducing readability.

Remember the schematic symbol need look nothing like the PCB footprint, indeed this should (usually) be avoided as it often makes the schematic much more difficult to read with wires crossing everywhere.

I never put internally unconnected, unused pins in the schematic unless they have some phantom function (e.g. a pin which must float)

To use your switch chip as an example, I'd make at least 10 'parts'. One for control signals, 8 identical switch ports and a power/ground part. Organise the switch ports so that the pins look neat in the schematic WRT the signal that go to the magjack or whatever you are using.

Another trick is to combine multiple power pins of the same voltage and function into a single 'stack' of power pins. That way a single schematic connection make all power connections with far less risk of error and less clutter.

\$\endgroup\$
  • 2
    \$\begingroup\$ I disagree on the internally unconnected pins. I usually have them visible on the schematic, so that I know what they are. E.g. if I see pins 1-6 and 8 on a symbol, I might think, where is pin 7 and what should I do about it. When it is marked as NC I know that is supposed to be left not connected. \$\endgroup\$ – TemeV Dec 20 '18 at 11:22
  • \$\begingroup\$ It is impossible and impractical for the schematic to detail all possble information about the function of every part. For that the reader should refer to the datasheet. I would argue that for 'missing' pins, indeed a proper description of any pin, that information should come from the datasheet. Altium won't let you connect absent 'NC' pins in the PCB to any signal. \$\endgroup\$ – Jason Morgan Dec 20 '18 at 14:22
  • \$\begingroup\$ I understand this is a matter of opinion. Just wanted to make the alternative visible. It is always balancing on what should be visible on the schematic and what nott. \$\endgroup\$ – TemeV Dec 20 '18 at 14:41
  • \$\begingroup\$ The oft-debated issue is when unused pins can be connected to any signal. So a trace can route through a pin though it has no function.(e.g. a guard trace on an opamp package) To do this in Altium you need to have the pin present in the schematic and then connect it to a net, though that net need not have any relationsip to the owner of the pin. Though fine in a PCB it could make a schematic horrid to read. \$\endgroup\$ – Jason Morgan Dec 20 '18 at 15:01
0
\$\begingroup\$

It's purely an aesthetic issue, depending on the standards your company follows and your own opinions on readability. I've seen people use an actual pinout to design their schematics...it works, but not readable. I've even seen extreme cases where each major component has its own sheet and nothing but net names tie them together.

If you have distinct functional blocks, break them out. If a certain set of I/Os goes to a major circuit block, go ahead and make that a separate piece. If your schematic fits on one page, a single block may be adequate. It's often convenient to make a separate block for power and ground and put it on a dedicated sheet, especially if your power requirements demand certain overall design rules apply to all parts.

If the schematic makes sense to most engineers that look at it, it's fine.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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