Building a CPU out of logic gates is a great way to learn about the inner workings of microprocessors, and we’ve seen several impressive projects in this area. [c0pperdragon] set himself the task of designing a very capable 8-bit CPU using just 74HC type logic chips on a large plug-in breadboard. To emphasize the “bread” theme, he put the whole thing inside an actual bread bin and named the accompanying software BERND after an anthropomorphic loaf from a German TV channel.
Getting a reliable breadboard big enough for the task at hand required some engineering by itself: cheap breadboards often have trouble making a reliable contact at each and every pin, while the length of the ground path and lack of shielding cause trouble for high-speed circuits. [c0pperdragon] therefore bought high-quality breadboards and soldered the ground wires together to get a proper low-resistance path. A ground plane made of aluminium foil should also help to prevent signal integrity issues.
The total circuit is incredibly compact for a complete CPU, using just 33 chips. This includes 64 KB of flash to store programs as well as a 555 timer to generate a clock signal. I/Os are limited to simple eight-bit input and output buses, but a sixteen-bit address bus gives it plenty of space to add ROM, RAM or fancier interfaces.
The aforementioned BERND program is an emulator that allows the BreadBin to run code written for the 65C816 processor, the 16-bit CPU used in the Super Nintendo and the Apple IIGS. This makes it easy to re-use programs developed for [c0pperdragon]’s earlier OS816 system, which uses an actual 65C816 chip.
This has to be one of the cleanest breadboard CPU designs we’ve seen so far, certainly a lot cleaner than this one. If you’d like to watch a detailed guide to building an 8-bit CPU on a breadboard, we recommend this project.
Unfortunately, parallel wiring is susceptible to cross talk, depending on clock speeds. Neat is less noise tolerant than rats nest in some situations.
Don’t see much of a ratsnest here. Looks pretty neat to me.
That’s the point. This work of art could be less noise-tolerant than a rats nest.
I doubt he is getting crosstalk on 4-5in runs with a 555 timer. We are talking a couple orders of magnitude slower than a pata.
Actually the author of the article got this slghtly wrong. The machine is clocked by a 12MHz crystal driven by a 74hc04 inverter. The 555 timer is just for the power-on reset delay.
Well the “less clean” project at the “this one” link won’t have that problem.
This is almost entirely 74HC logic, which isn’t all that fast or problematic on breadboard, in my experience. The days of designing anything in a professional setting with a few dozen logic chips are now long gone, but I’ve never had an identifiable problem put down to cross-talk when bread boarding such circuits with 74HC or slower, wired neatly or not. Grounding was always the biggest issue, especially when your prototype starts growing to a footprint larger than an A4 sheet of paper, but the maker of that CPU went to significant lengths to address that problem.
But even without going to such lengths, you can still get away with a lot if all you want is a hasty prototype to verify some logic design.
https://www.youtube.com/watch?v=dClOHNcpnVw
That’s just one of many breadboarded logic circuits I’ve ultimately gotten to operate stably without too much hassle. Of course, YMMV.
Would be funny if the guy’s name who built it was Brad
You have me thinking.
Place in-progress projects into bread box when not working on them.
When no more projects can fit in bread box do not allow self to start any more projects.
I do that using 6 qt. Sterilite bins. 14″ x 8″ x 5″. (Sorry “rest of the world”, too lazy to convert.) Much cheaper than a bread box, and the lid snaps on, so parts stay in.
Brings back memories of wire wrapping logic boards together back in the early 70s. Ahh those were the days. :-)