4
\$\begingroup\$

Say I'm designing a device with a lot of repeated elements, like an 8-channel audio mixer. Each channel will have functional units that are identical and repeated, for example, an amplifier.

To keep the top-level schematic readable, my schematic capture software allows schematics to be hierarchical, where the top schematic has symbols which represent subcircuits.

An example:

schematic

simulate this circuit – Schematic created using CircuitLab

What conventions are there for visually representing this? Are there conventions to give the reader of a schematic a hint that A1, A2, and A3 are not discrete components or ICs, but a circuit defined on another page?

What conventions exist for naming (for printing on the PCB) the discrete components that compose these sub-circuits? Would it make sense to concatenate the name of the symbol and the components, so in the example above I'd end up with A1R1, A1R2, A2R1, A2R2, ...? Is there a conventional prefix for the names of the symbols, A1-A3 in the example, which hints at their nature? (As C1 suggests a capacitor, etc...)

\$\endgroup\$
  • \$\begingroup\$ Have you considered hierarchical (rather than flat) schematic designs Phil? OrCAD for one supports these and seem to do what you ask. You have one top level schema that connects all the subsystems together and identical sub-systems are drawn only once. \$\endgroup\$ – Andy aka Jan 6 '15 at 13:55
  • \$\begingroup\$ @Andyaka That's exactly what I'm considering, although I'm using gschem. I'm just wondering if there are conventions I can follow in drawing the schematic and naming the components that will make it easier for others to understand what's going on. gschem itself doesn't impose any such conventions: the symbols for subcircuits get drawn just like the symbols for discrete components. \$\endgroup\$ – Phil Frost Jan 6 '15 at 13:59
  • 2
    \$\begingroup\$ Hierarchical is all good in concept and does actually work quite well when you use it for the likes of FPGA design where the massaging of the design is done almost 100% via automated tools. On the other hand it falls apart when you work at the PC board level where you need to inject manual effort to first layout the board and then later use more effort to trouble shoot the board. I strongly recommend that you use the cut and paste features of your schematic tool to keep the schematic design flat. A well drawn schematic will be a blessing when it comes to debugging and testing the board. \$\endgroup\$ – Michael Karas Jan 6 '15 at 14:11
  • \$\begingroup\$ I think I agree with @Michael - I've always resisted going down hierarchical routes for the reasons given - another guy I used to work with preferred doing hier dwgs but it always got in a mess when testing the PCBs - you had to hunt for circuit references because they were not explicitly drawn (rather they were created) and it p****d me off greatly because of that. \$\endgroup\$ – Andy aka Jan 6 '15 at 14:15
  • 1
    \$\begingroup\$ It'll depend on what plays nicely with Gschem, (and presumably Geda PCB and the netlister tools). I've used these but not hierarchically yet. I've seen R1008,C2003 etc where the first digit is the channel and R47 is on the top level sch but don't know if gschem supports this. \$\endgroup\$ – Brian Drummond Jan 6 '15 at 14:16
2
\$\begingroup\$

Sadly there is no accepted standard. As with most schematics, whatever works to convey the information best for your group is all that matters.

Each tool is also going to implement hierarchical designs in different ways. Altium for example, allows you to add suffixes to reference designators. One way for you to do it would be to have R1_1, R1_2, R1_3 .. U1_1 U1_2 U1_3.

http://techdocs.altium.com/display/ADOH/Multi-Channel+Design+Concepts

It's a handy feature in theory but sacrifices the ability to set reference designators based on PCB placement which is much handier when you need to change out R1_2 but now have no idea where it is without searching your layout.

\$\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.