CPU boards 2

I finally managed to complete the PCB design for the CPU core. New schematics and Eagle files are available for download here. It was not an easy task and it took few months of work in short weekend bursts. The finished CPU layout consists of seven euro-boards (100x160mm), all manually routed, with 16 mils track width and conservative spacing rules. The intention was to prepare a layout superior to what would come out of Eagle’s autorouter (hence manual routing), and to make it possible to manufacture these boards at home using a photo-positive method I have mastered recently (hence the spacing). Yet since I am too impatient to employ my homebrew method on seven boards (given the current project pace it would probably take me another few months), I will just go ahead and order the boards at a fab house. Somehow I am eager to turn this into a software project again.

My original schematics was not done with PCB layout in mind but for better readability. I had to change it now, and ended up moving chips from sheet to sheet so that one schematic sheet now corresponds to one board (as per Eagle standards). This was neither fun nor fast. I had to rip-up large portions of schematics and do them again. Many things could have gone wrong there so I am expecting some quality debugging time. Eagle’s electrical rules check (ERC) passed afterwards but I may have incidentally swapped signals, or pins, or both.

The new design assumes that assembled boards will be stacked, forming a sort of a sandwich. All boards are equipped with neatly aligned connectors for that purpose and all boards except the bottom one will use pin headers with wire-wrap leads which will be pressed together. Here is how individual CPU components are arranged on the boards (click on image for larger view).

Board # Image Modules
0 (bottom) cpu0
  • Bus interface
  • Clock generation
  • Reset circuitry
1 cpu1
  • Microcode sequencer
  • Instruction register (IR)
2 cpu2
  • Microcode ROM
  • Field decoders
3 cpu3
  • Machine Status Word (MSW)
  • ALU flags
4 cpu4
  • Arithmetic Logic Unit (ALU)
  • Shifter
5 cpu5
  • Registers (MDR, DP, A, X, Y, PPC)
6 (top) cpu6
  • Registers (MAR, PC, KSP, SP)

I am eager to see how and if all this will work. The CPU was running stable in its wire-wrapped incarnation but will it work on the boards? Have I done everything right? Will I not run into trouble with signal integrity, power distribution, capacitance? There is only one way to find out so stay tuned for first assembly and power-up reports.

2 thoughts on “CPU boards

  1. Reply Pong74LS Jan 28,2015 2:23 am

    I was just going through my old bookmarks of homebrew CPUs and it is nice to see this project is still alive. With the price of PCB fabrication I find it very hard to go back to the mess and quality issues of home etching.

  2. Reply Armando Acosta Feb 3,2015 4:52 am

    Hi, Dawid, a long time I don’t visit your site. Nice to see you are still at the fight!

    I agree with Pong74LS in the sense that home etching is something to be reconsidered. I would advice to take a prove of concept before going full ahead. You may encounter the task much difficult that it seemed at first to end up with the chinese PCB manufacturer.

    Good luck either case!

Leave a Reply




Time limit is exhausted. Please reload the CAPTCHA.