The Nibbler: a 4-bit CPU built with 7400 logic

nibbler-schematic

Maybe we shouldn’t say “built” since [Steve Chamberlin] hasn’t actually heated up his iron yet. From the finished schematic above that is puzzling at first, until you realize the scope of the project. His Nibbler implements a 4-bit CPU using 7400 logic chips. Because he’s come up with the architecture himself he’s taking a lot of steps to check all of his work before committing to a PCB.

We linked to his category for the project which is still in progress. Most recently he wrote a program to prove that it’ll run on the hardware. That’s a feat considering this is still just a design idea. It was made possible because he wrote a simulator based on the design. The C++ tool simulates data and control buses and features a full set of debugging tools.

Careful testing of the design before the build is the best possible way to go. The simulator and debugging tools will be useful for software development even after the hardware is built. And testing before wiring is a must as these things get out of control quickly in terms of soldering complexity.

[via Dangerous Prototypes]

Comments

  1. jpgjpo says:

    1. buy a cheap fpga board
    2. test your design
    3. ???
    4. PROFIT!

  2. Fotis says:

    For a 16-bit mini computer built out of 74xxx integrated circuits:
    http://www.bedroomlan.org/hardware/cft

  3. Eric says:

    Takes a lot of effort to design a CPU from the ground. It’d be interesting to see what this is for and where it goes

  4. t&p says:

    Make sure you did the k-maps correctly!

    • Trui says:

      Karnaugh maps can be somewhat helpful, but not really all that valuable in real life where you’ll have common sub expressions, real gates (not just and/or/not, but also xor, nand, nor, and limited range of number of inputs), devices with multiple gates that you want to share efficiently, and timing requirements.

  5. rewolff says:

    Shouldn’t this be portable to an FPGA in like a few hours work?

    • Alex says:

      Certainly, in fact the author is no stranger to such things. Check out his site; he’s built CPUs on FPGAs and CPLDs as well as a larger CPU than this one on wire a wire wrap board.

  6. jimbo says:

    This is cute. We had to do this for my sophomore EE classes. Each student had to draw up all the K-maps, find the optimal solution, and then demonstrate it. We built everything up on breadboards. Of course, DIP packages were a lot easier to obtain in the 90′s than they are now. But you could still easily build all this by soldering the parts to surfboards and then putting them in breadboards, if you didn’t want the expense of a PCB.

  7. Poose says:

    For a project like this I’d bypass the PCB and go wire wrap-or am I showing my age here?

  8. Albert C. Baker III says:

    This, exactly this, was the final project for U.C. Berkeley’s CS150 class, Intro to Computer Hardware, when I took it back in 1990. The teaching team had spent the entire semester’s labs showing us how to use 7400 series chips, but the very last two labs were how to use these Xilinx FPGA programmable boards some grad students had made. My team asked the teacher and lab assistant if we could use the Xilinx boards since they were in the lab, and they shrugged and said, ‘why not?’ So we did. Our final project was two Xilinx chips with a half dozen or so other chips on a single breadboard. Every other project in the class was four or five breadboards worth of 7400 series chips with what looked like miles of wire connecting them…..Ours worked…not everyone else’s did.

    But as far as proving it’ll work? It works….it did 23 years ago when our class did it.

  9. schamberlin says:

    The Nibbler handmade CPU is now built and running! Check out some demos like “Frogger” at http://www.bigmessowires.com/2013/09/27/nibbler-demos/ . There’s also a TON of info on the instruction set, architecture, simulation tools, and wire wrap photos at http://www.bigmessowires.com/nibbler/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s