top of page
  • Writer's picturerehsd

16-Bit Processor (Approach to Bus and Modules)

Updated: Jul 15, 2022

I have previously built an 8-bit processor (my 8-bit) using Ben Eater's video series. Since then, I have been spending time on 6502 and 65816 system development. I think it would be a fun challenge to extend Ben's 8-bit processor to 16-bit (registers, bus). I see many nice examples of 16-bit processors that people have built. I am not sure exactly where I will end up with this project, but I need to start somewhere.


My first step is to come up with an approach for the bus and "modules." I will have plenty of breadboard-based work to do, but I would like to have a PCB for distribution of clock, address, data, and a few other miscellaneous signals. Hopefully, this will save me a bunch of effort in wiring. I will probably use the bus PCB to distribute power also, going with a four-layer board with inner VCC and GND planes (just on the bus PCB).


The following comes to mind. Dimensions are not fully dialed in yet, but this should illustrate what I am thinking.


This layout gives me room for a dozen PCB modules, and in its entirety will be approximately 19 inches (480 mm) wide by 22 inches (560 mm) high. Initial modules that come to mind:

  1. Bus monitor

  2. Clock, reset

  3. Program counter, instruction counter, instruction register

  4. Memory

  5. Register A

  6. Register X

  7. Register Y

  8. ALU

  9. Microcode

  10. To be determined

  11. To be determined

  12. Debug or to be determined

Each module is sized so that a BB830 breadboard will fit on the PCB. As I start to layout actual PCB modules, I will get a better feel for whether the sizing above will work out. If I can consolidate, I will. For example, if I can fit both A and B registers on a single module, that would be great. I can widen the overall setup, too (I do not want to go any taller, though, as it will not fit on my workbench 😂).


I expect I am overlooking many things at this stage. I would love to hear any and all suggestions.


As I wait to get some initial PCBs to help with the build, I am going to work on prototyping some concepts in an FGPA. I have an 8-bit processor running in VHDL. I might try to extend that to 16-bit. More to come on that later.


Postscript

My FPGA build of a 16-bit processor has been coming along fairly well. I am now going to start working on hardware implementation of the registers. For this, I plan to use the following ICs.

To support my initial work, I have ordered a PCB for the bus and an adapter PCB for the ICs (to fit them into breadboards). I guess I will be able to practice my surface mount soldering with the adapter. 😏




Tentative component list (what I have so far, at least):

The above list is based on what I could cost-effectively source. In-depth analysis of voltage levels and timing hasn't been done yet.

214 views0 comments
bottom of page