8
\$\begingroup\$

I am working on a 8-bit computer and using KiCAD for the schematics and PCB design. I have a working first version, where I could place everything on a single sheet. I am adding some extra features (clock generation, sound) and need to use extra sheets. It all works fine and I am using Global Labels to connect the several parts together.

See for example below how I connected the CPUs databus to the input buffers of the sound circuit:

global labels from the CPU same global labels for the sound input

Would this be a valid/ok/right way to design more complex circuits?

\$\endgroup\$
2
  • 1
    \$\begingroup\$ That's kind of opinion-based. Depending on how complex things are, it may be a valid way, especially if doing it in the most correct way would be too complex. Basically, what kind of work flow KiCad documentation suggests how to do it? \$\endgroup\$ Commented Jun 9 at 11:22
  • \$\begingroup\$ Usually it just comes down to clarity; also if you ever plan to print it out. I tend to work with A3 or A2 reduced onto A4. An alternative is lots of small sheets, of which Gigatron's diagrams are good example. Your diagram is a little cramped in places (top left connector) and spaced out in others (D0..7). Here's another answer about layout electronics.stackexchange.com/questions/741533/… \$\endgroup\$ Commented Jun 9 at 13:35

3 Answers 3

8
\$\begingroup\$

The KiCAD-suggested way (and I'd agree with that) would be to give these data lines local net names (hotkey: small L) D0-D7 (you can recreate the last created label increased by +1 by pressing "Insert"), and them combine them into a bus (thick blue line).

What you do with the bus then is really a matter of preference: you're probably not going have dozens of buses in your computer, so global names might be fine. Personally, I'd rather organize my complex schematic in sheets and give the buses sheet labels (like your $4003_out) and connect the buses on the overview sheet.

Generally, not using D0-D7 as global labels sounds like a good idea; you might later add e.g. a RAM extension with an address / page switch gate, and suddenly you need to rename a lot of things instead of being able to recycle the same schematic.

\$\endgroup\$
0
\$\begingroup\$

Yes your schematic looks very well drawn.

Wires take up a lot of space and make you spread your schematic design over more sheets. Also wires make it more difficult to edit schematics (you are constantly moving wires around).

Having lots of sheets may seem like a good idea but it makes it harder to see the whole picture, you are constantly swopping between sheets, sometimes breaking schematics into sheets is done deliberately to obfuscate the design.

Take your approach a step further and try doing it like this:-

enter image description here

The advantage is treating each IC as a "postage stamp" easy to move around and duplicate. Ports connect in the netlist on a single sheet and between several sheets. This "postage stamp" method of drawing is used extensively for automotive wiring diagrams.

This method is not always popular, some people wish for fully drawn wires.

\$\endgroup\$
6
  • 1
    \$\begingroup\$ The downside: debugging a multipage schematic of this type when all you have is a printout is a complete nightmare. Think of your use cases, then pick the design style that works best for your situation. The suggestion by @Marcus is often the best route (pun intended). \$\endgroup\$ Commented Jun 9 at 13:35
  • 2
    \$\begingroup\$ @ChrisKnudsen Chris if you are commenting on my answer I don't propose a multipage schematic far from it. I clearly said "Having lots of sheets may seem like a good idea but it makes it harder to see the whole picture, you are constantly swopping between sheets, sometimes breaking schematics into sheets is done deliberately to obfuscate the design" My answer is about using as few sheets as possible for the reason you give - please don't discount this method without studying my answer carefully. \$\endgroup\$ Commented Jun 9 at 13:46
  • 2
    \$\begingroup\$ honestly, this feels like it actually tries to be a table instead of a schematic; it's only readable if the buses are always contiguous on packages, and your five pull-down resistors there in random order are already a good illustration of how this can get very confusing, very quickly, especially if you allow the lack of need to route a bus for putting more ICs on one sheet. You lose the advantage of having a schematic instead of having text that says "Address bus A0–A18 is connected to pins P1–P19 on U1, P8–P18,P20–28 on U2": The graphical connections! \$\endgroup\$ Commented Jun 9 at 13:59
  • \$\begingroup\$ @MarcusMüller I'm sorry if you just don't get it. As I said in my answer "Be aware though that its not always popular, some people crave after fully drawn wires" Your comment your objections are just wrong. I will post a second answer with a different example if SE allows. Seriously please don't knock it until you think about it for much longer. Its a really powerful tool for designers. \$\endgroup\$ Commented Jun 9 at 14:43
  • 2
    \$\begingroup\$ no, I just say, "some people don't crave that, but they'd be better served with a table than a schematic" \$\endgroup\$ Commented Jun 9 at 14:45
0
\$\begingroup\$

Bus notation (e.g., D[i], D[7:0]) can help in two ways. It groups signals together, and they can be represented by a single thick bus in the schematic. This makes the drawing cleaner and highlights the grouping.

If you intend to simulate your design using buses makes even more sense.

\$\endgroup\$

Your Answer

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

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.