LEDs and wiring

Whilst this is very clearly a Transistor Diode Logic processor, that's the detail.   To get the big picture, everyone must see the LEDs and the wiring first, then focus in on the components.

From the back of a large lecture theatre, I'd like the audience to see the functional blocks (registers, ALU, state machine, delects, etc) and see data flowing between them - that's the LED view.   From ten feet away I'd like an audience to see very clearly where information can flow, the buses and control signals - the wiring view.  Only when the audience has this big picture do I want them to think about how the logic of each of the components is implemented.

LEDs are the top level view and should only display top level information.   Earlier I though I should have LEDs at every logic gate so that you can see how everything works, but that makes it much more cluttered, obscuring the big picture as well as increasing the component count.   A GCSE level student should see the processor as a set of registers all encoding information in binary.   They should then see that you can select a couple of registers, send them to the ALU and get a result back that can be stored in another register.   Quite how the registers work can be left to the close-up detailed view.   Also transistors invert, so typically an LED is on when the input is on an the output is off.   This just makes it so much easier to use LEDs at the block functional level and not at the low level logic level. 

With that said, the aim is to have LEDs:
  • At every bit in every register
  • Where possible in the ALU, that is use an LED where it explains what's happening, for example the inversion of the B input and the carry flag
  • On the buses to show what information is flowing
  • On the select lines to show how a register is connected to a bus
  • At the memory interface to show the data/address being written to and read from memory
  • Within the state machine to show how an instruction is decoded
  • On the clock to show what phase the state machine is within an instruction cycle
At the wiring level:
  • All wiring should be visible.   It's no good showing components and not how they are wired up.
  • All wiring means the buses and the detail as to how components connect.  It's acceptable to have ground and VCC on the reverse.
  • Components should lie flat so that the value of resistors and the polarity of diodes are clearly visible.
  • Components should not obscure the wiring.   I'm going to raise the transistors and LEDs a bit so that they don't obscure what is around them.
Real printed circuit boards aren't ideal because of both the cost for low volumes and because the interconnect is on the reverse side to the components, and I want everything to be visible from the front.

I'm developing a paper-printed circuit board, probably using high quality photo paper stuck onto matrix board.   The white paper makes the components much more visible.  I've yet to decide how much to print onto the paper, but here is what things might look like:



The red map pins represent +3.3v, the black map pin connecting the two transistor collectors is missing.   I need to use heavier, whiter paper next time, perhaps photo paper.  Overall I'm quite pleased with this technique, when four legs have to go down one hole it's fiddly, but I'll get over that.   What I like is that it's compact and you can see the wiring of the whole circuit, although it's only 25mm across so you do have to look closely.