20
\$\begingroup\$

As my designs (and PCB designs too) become more complicated, I'm interested if there are best practices or industry standards for schematic design. I know there's a schematic checklist but I'm looking to go further with my designs. I've been following a simple design methodology based on signal inputs & outputs go left to right, with power flowing from top to bottom, which has worked well for simple schematics. Some of the questions I have thought about but can't find an answer:

  • What's considered the maximum number of parts on a single page?
  • What to consider when making a schematic multiple pages?
  • When should I consider putting multiple tracks into a buss?
  • How should I name busses, netlists, and the references to other pages?
  • How should I place components to minimize the number of nets?
  • What kind of comments should I include on a schematic?
  • Where should I place the designation and value for horizontal and vertical components? Does it matter as long as I stay consistent?
  • Should I note component packaging & rating on the schematic? Meaning discrete vs SMD or if a specific resistor is high powered?
  • Should I customize nets in different colors or widths?
  • How should I version control schematics?
  • What workflow should a single person use to keep designs organized?

I'm sure there's more to consider on schematic design, this is just what I've run into with my own work. I'd appreciate additional topics on schematic design too.

\$\endgroup\$
4
  • 4
    \$\begingroup\$ This would make an excellent wiki! \$\endgroup\$ Feb 8, 2012 at 4:54
  • \$\begingroup\$ I think so too but lets see what the community thinks about the subject. Thanks @Nick! \$\endgroup\$ Feb 8, 2012 at 6:09
  • 2
    \$\begingroup\$ Some of the answers are here \$\endgroup\$
    – clabacchio
    Feb 8, 2012 at 7:43
  • \$\begingroup\$ I would like to link this: Rules and guidlines for drawing good schematics. This is a thorough white paper by Olin. \$\endgroup\$ Apr 2, 2012 at 19:23

2 Answers 2

10
\$\begingroup\$

What's considered the maximum number of parts on a single page?

Depends on the size of the page. You can fit more on a D-sized plotter sheet than a B-sized (roughly A4) sheet. Don't crowd things to the point it gets difficult to read.

What to consider when making a schematic multiple pages?

Almost all my designs end up as multiple sheets. Sometimes the manufacturing guys cut them all up and paste them together in one big plotter sheet to make it easier to follow the signal flow. But normally I don't print out bigger than 11x17 so I work at that size.

Something you didn't ask: I tend to make the first sheet be the critical input and output connections of my circuit, and work up towards more complex circuits on later pages. Other people like to put the critical signal path parts on the first page, and the input and output connections end up deep in the stack of schematics. I'm not sure which is really better.

When should I consider putting multiple tracks into a buss?

I rarely do this, but its a matter of style (and convention in your workgroup).

How should I name busses, netlists, and the references to other pages?

I tend toward all-caps net names, but otherwise I don't have fixed rules. More disciplined organizations might have more detailed rules.

How should I place components to minimize the number of nets?

I prefer to place components to make the signal flow clear. I don't worry about the number of named nets.

What kind of comments should I include on a schematic?

Anything important for the layout guy to know (matched length traces, place bypass caps near ICs, etc.) Anything a future engineer might need to know if they're looking to replace an obsolete part. Non-obvious critical specs like higher-than-normal resistor power requirements or tight tolerances. Anything that has to be tuned in production (Like "tune pot to achieve 50% duty cycle" or whatever).

Where should I place the designation and value for horizontal and vertical components? Does it matter as long as I stay consistent?

I use vertical text for vertical components to allow more parts to fit cleanly on a sheet. Others (apparently) consider this a grave sin. Be consistent and be consistent with others in your organization.

Should I note component packaging & rating on the schematic? Meaning discrete vs SMD or if a specific resistor is high powered?

Specifying the package type for each part visibly on the schematic would be clutter. But obviously that information has to be in the design to get transferred to layout. As mentioned above mention nonobvious specs that might trip someone up if they have to replace an obsolete part or find an alternate vendor due to a shortage.

Your BOM (Bill of Materials) will need to specify an exact manufacturers part number (or a list of acceptable alternates called an AVL "approved vendor list") for each part.

Should I customize nets in different colors or widths?

I don't recommend this. I'd prefer to get schematics that make sense if printed out in black & white.

How should I version control schematics?

I store datecoded backups (like "mydesign_20120205.zip" on my own pc and a remote share drive. Definitely store a backup whenever you release a design (either to layout or to manufacturing).

Edit: There are better ways to do this (see comments) but a simple process like dated zip files is also perfectly workable.

What workflow should a single person use to keep designs organized?

Keep backups. Use all the tools you have available. If you aren't doing your own layout, keep good communication with the layout guy.

\$\endgroup\$
9
  • 1
    \$\begingroup\$ I would add: please either connect the pins that need to be connected or at least write where the connection goes to. I see some diagrams that have, for example, a named signal wire but do not show where it goes - I have to read all pins on all pages to find out that, say, pin on U20 on page 3 is connected to a pin on U5 on page 1. At least write "this goes to U5"/"this goes to U20" if actually drawing a line is not possible (the components are in different pages or it would result in too much clutter). \$\endgroup\$
    – Pentium100
    Feb 8, 2012 at 5:31
  • 2
    \$\begingroup\$ @Pentium100, I've not been lucky enough to work with a tool that can do a decent job with cross-refs. They always clutter up the schematic more than they help. Good net names are more helpful, IMO. And usually if you understand the circuit you know where the signal goes ... to the CPLD, or to the power supply, for example...On the other hand I had to rev my last design after sending it out to fab because I forgot to hook up one control signal to the CPLD. \$\endgroup\$
    – The Photon
    Feb 8, 2012 at 5:49
  • \$\begingroup\$ Usually when I am reading a circuit diagram it is because the device in question is not working properly and I want to repair it :). As such, knowing where the signal goes is quite helpful. I also encounter these when I want to build something and am trying to analyze the circuit diagram to understand how that circuit is supposed to work. Again, not knowing where to look for the other end of the wire is not helpful. When repairing, I can usually find out where it goes in the circuit board, but then I still have to find, say, U5 on the multiple-page diagram. \$\endgroup\$
    – Pentium100
    Feb 8, 2012 at 7:34
  • 5
    \$\begingroup\$ @ThePhoton - Datecoded backups are...dated. At least try using a VCS, like SVN or git. \$\endgroup\$ Feb 8, 2012 at 16:49
  • 2
    \$\begingroup\$ @ThePhoton - (1)-SVN does binary diffs so you'd save disk space over dated backups and the binary files really don't matter to it, (2)-Altium has awesome diff facilities if you have your data in SVN (see comments here), (3)-tortiseSVN is trivial for any other engineers to learn, just right-click in Windows Explorer and follow the prompts, (4)-You can put your SVN repository on the shared drive for automatic backups, just right-click->Tortise->'Create Repository Here'. \$\endgroup\$ Feb 8, 2012 at 17:45
6
\$\begingroup\$

For the version control, I use the same technique as with firmware.

Everything to do with a particular project gets put into one directory, with folders named e.g. "Firmware" "Hardware" "Documentation", etc. Then I use GIT with Assembla to commit/push any changes daily.
This means GIT takes care of all the tracking, I can go back to any point from the start of the project and does away with saving 20 different versions of something.

I have a standard backup that runs daily on my important folders too just in case.

\$\endgroup\$
4
  • 1
    \$\begingroup\$ Question on the subject of version control in schematics. Can your schematic capture program compare 2 schematics and highlight differences (similar to what WinMerge does with text)? \$\endgroup\$ Feb 8, 2012 at 7:36
  • 2
    \$\begingroup\$ Not in the schematic software itself, no - I have recently(ish) moved to Kicad which I actually like better than the commercial version of Diptrace and some others I have tried. However, since all Kicad files are text based you can easily diff them in GIT and see what's changed. So I guess the answer is sort of yes, but in GIT, not Kicad (and using text, not graphically) \$\endgroup\$
    – Oli Glaser
    Feb 8, 2012 at 8:03
  • 2
    \$\begingroup\$ Altium can do diffs on it's binary PCB files (but only if they're in a SVN/CVS repository (the two SCMs it supports natively), and it's expensive). \$\endgroup\$ Feb 8, 2012 at 10:31
  • 1
    \$\begingroup\$ @FakeName - Yes, I seem to recall Altium being able to do that, sure some of the other high end tools can do similar too. I've used Altium a few times and from what I've seen it's a great tool, makes life much easier when laying out high speed boards with controlled impedance routing, board level simulation, the excellent SQL type rule/inspector tool and all that nice stuff. Pretty expensive (not as bad as some though..) but I'd say it's probably worth the money if you are likely to make use of all the bells and whistles regularly. \$\endgroup\$
    – Oli Glaser
    Feb 8, 2012 at 10:58

Your Answer

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

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