How should one use schematic sheets?

I’ve been working on a new prototype controller and IO extensions for our machines. When playing around with the schematic sheets, my root schematic eventually looks like the actual board. I figured that that root schematic may act as a good block schematic. So I would like to show you what this design looks like and I have some questions in what would be a better or more logical design choise (though this is somewhat opinion based)

At this moment I believe that it is not a bad idea to solely use sheets and connectors in the root schematic and to make use of buses .

The root schematic of my output PCB looks like: (the sheets themselfes aren’t filled yet). I am personally content with it. But I am ever looking for improvements.

And the near empty board design:

As you can see the positions of the connectors in the schematic have the same layout as in the board. I ofcourse understand that the schematic is supposed to be an abstracted representation of the board. But I figured that my schematic isn’t too bad in terms of readability right?

Issue 1
About the connectors. I am not sure what to do. I am still in doubt whether I should put them inside the sheets or keep them at the root sheet. In terms of reuseability it would be better to keep them in the sheets. I have for instance an other project which has 2x RJ12 connectors in the sheet. I always need those and sometimes I delete one of them. In order to bring more clarity to the schematic I ‘draw’ them by hand in the schematic.

Opposed to this…


( I care little about input output symbols for hierarchial labels atm)

What would you do in this case? what would you most definately not do? and why?

Issue 2
The 2nd issue where I also could use an opinion are the hierarchial power labels (or my implementation of them as Kicad does not have any). You see that I have 2 ports of 8 channels.

One such a port looks like this. There are more details inside here than I care to have in the root.


As you can clearly I have more schematic sheets for the actual mosfets. And those are filled in with actual circuitry.

I have reasons to use hierarchial power labels
1). I don’t really want all those GND and 24V labels inside the root schematic. That is partially why I made 2 ports of 8 of these mosfet sheets.
2). I have chosen to use hierarchial labels for the power symbols and I stuck with it ever since. It does give some extra clarity to where which voltages go… despite I find this construction:


‘slightly questionable’

The alternative would be to use global power labels.
This would allow me to simplify the sheets as I have them. I could do something in the root schematic like this instead:

So again I ask you: What would you use? what would you most definately not use? and why?

Any comments would ofcourse be appreciated :tumbler_glass:

Kind regards,

Bas

I would put the connectors on the sub sheet, and keep the root sheet as a block diagram. Breaking out all those signals out of the hierarchical sheets jut to put a connector on the root sheet is much more work with little benefit. For assembly it can be useful to put texts near the connector pins to show their function.

I nearly always use global labels for power in hierarchical sheets. Although routing of power and GND is an important part of a good PCB design, in the abstract schematic they are “just” logical connections to me, and reducing the wiring clutter improves readability of the actual function of the schematic. Some people are against this. They show extensive routing of Power and GND, put decoupling capacitors near the IC’s they decouple (how does that work with pin stacking?) but I just put all decoupling capacitors in a row and often hidden on some power supply sub sheet.

There can be good reasons to route power and GND though the hierarchy, and I do this only when it is necessary. For example when multiple isolated power supplies are used. About the whole lot of GND labels. When GND connections line up like that I usually just connect them with a wire. A wire makes it immediately clear they are all connected, while with labels you have to check them all for a deviation. Combining them also reduces work and eases maintenance. For example when hierarchial labels are replaced with global GND symbols.

Are you aware of the Replicate Layout plugin? It can replicate layouts of hierarchical sheets and it can be a great boost of productivity on repetitive designs (also because you can just run it again after modifications). Sometimes I fine tune the schematic to work better with the replicate layout plugin. For example, you have a lot of repetition on your MOSfet section, and the replicate layout is nice to use for that, but if the layout of a mosfet circuit is difficult to fit in a rectangular box, but the layout of two mosfet circuits does fit nicely in a rectangular box, then I would be tempted to put two mosfet circuits on a single sheet.

I do not like your last screenshot where you have stacked hierarchical sheets on top of each other. It makes it more difficult to identify what those boxes are. Together they look a lot like an IEEE symbol.

But the most important part:
You clearly put a lot of effort into drawing your schematics in a logical and easy to understand way. The other things are just small differences and personal style. I tend to design ease of maintenance / refactoring into the schematic whenever possible (such as combining the GND labels), but readability comes first.

Thnx for your input.

Yeah, totally. That is why every mosfet part has it’s own sheet. That plugin is truly a great invention, nobel price worthy imo :rofl: .

put decoupling capacitors near the IC’s they decouple

Guilty… I am one of those. I do that because I find it A common sense (but this differs per person :smiley:) and I am not opposed to the features that they get the same pre-fix in their reference numbers and get packed along side that IC it is supposed to decouple, during board creation

I agree that having connectors inside the sheets are better. You gain… less and it costs more. So I devised these changes. I think it is for the best. And it increases reusability.

I do will keep using hierarchial power labels. We may or may not use a separate power connector for outputs. It is was that we do. It is the the way :smiley:

To further gain productivity I should make a copy, delete the mosfets and create a template with the rest. :thinking:

Kind regards,

Bas

To further gain productivity, it’s probably better to stop fiddling with all these (not so important) details and just leave the project as is. Then only make the changes when there is a reason to. (a needed refactoring job, or do it in the next project). Making changes like this can be a huge time sink with very little profit. A few months ago I drew a PCB for a quite simple back plane, and did the project in a few hours. After that I probably spent some 20+ hours fiddling with small changes, and only a few of those hours were spend on noticeable improvements and “real” refactoring.

1 Like

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