Top
Best
New

Posted by wwarren 3 days ago

Write up of my homebrew CPU build(willwarren.com)
211 points | 40 comments
P-Nuts 9 hours ago|
To get both blinkenlights for registers and tri-state for bus driving, use two ’574 chips in parallel rather than a ’377 behind a ’245. Tie the clock and input lines together on both. Tie the output enable low on the one driving the blinkenlights. This way the chip that the rest of the CPU depends on doesn’t have the extra work of driving any load and you only have one chip’s worth of propagation delays.
wwarren 1 hour ago|
Amazing tip! Will do
jacquesm 9 hours ago||
Hi Will, absolutely amazing this, I love the 'money shot' up front, there are days my desk and yours could be swapped without either of us realizing right away what happened.

The Rigol deserves a blog post of its own, I've got one too and the better I get in using it the more I'm amazed at what it can do.

I've run into the same 'all you can get is SMD' which is fine for when you're finished but a lot harder while you're still figuring things out. This is where 'proper engineers' can go straight to the finish line and I always struggle.

You also develop some kind of sixth sense for when something is misbehaving. If you haven't read it yet, 'The Soul of a New Machine' might be to your liking.

best of luck with your project!

Oh, and I did read all the way to the end.

wwarren 1 hour ago|
This is such a nice comment! Thanks for reading :)
jacquesm 26 minutes ago||
No, thank you!

Looking forward to part 4.

alnwlsn 2 hours ago||
You have to be a little mad to do this but exceptionally mad to do it on at least 8 independent breadboards using no less than 4 different styles of jumper wire!
wwarren 1 hour ago|
Gotta use what you’ve got! Thanks for recognizing the madness :)
cactacea 1 hour ago||
Any time I see rounded corners on a PCB I know someone put love into that board. Well done
Taniwha 9 hours ago||
Of course while you're doing the next version you should knock out a tiny tapeout version, it should easily fit in a single cell (maybe 2 if you want to push the 256 byte sram in as well)
tchanukvadze 7 hours ago||
Hello Will, interesting read, and happy to see 8-bit breadboard builds on HN. I used to follow Ben and James years ago and built a fully functional 256-byte ROM/RAM cpu that could accept instructions from Arduino as a IO input. I gave up on extending output to add a mini OLED. Cool to see your project and can't wait for part 4.
Mercuriusdream 9 hours ago||
Also tried to homebrew CPUs before but couldn't even start due to a wall of things to prepare;

Seeing this is just amazing to be honest. Wish you a luck on your project!

wwarren 1 hour ago|
You can do so much before needing to buy anything or even learn any electronics. There’s a lot of good simulation options out there like Digital, Logisim-Evolution, even video games like Turing Complete and Logic World! That’s before you even get into stuff like Verilog. Thanks for the kind words!
artemonster 11 hours ago||
I always applaud homebrew cpu designs but after doing so many myself I would reaaaaly advice to stay away from dip chips/breadboards/wirewraps and any attempts to put it into real physical world. Taking a build out of a logisim/verilog to real world in chips sucks away all the fun about cpu design - suddenly you have to deal with invisible issues like timing, glitchy half-dead chip, bad wire connection, etc. these are not challenges, just mundane dull work. The only exception to „stay in the sim“ rule is if you want to make an „art statement“, i.e. like BMOW (or my relay cpu https://github.com/artemonster/relay-cpu/blob/main/images/fr... /shamelessplug)
code_biologist 11 hours ago||
I'm totally with you personally, but sometimes doing the actually hard part is fun. Type 2 fun.

Long ago I took a CPU architecture class and we implemented designs in Verilog as a final project. Apparently people who took the class in the late 90s (before my time) could actually tape-out their designs and pay a few hundred dollars to get fabbed chips as part of a multiproject wafer. I was always curious if those chips actually worked, or just looked pretty.

wwarren 1 hour ago||
Type 2 fun, totally stealing that!
moring 11 hours ago|||
My advice would be to consider the possibility, not necessarily to stay out of the physical world. For some, those physical details may be the fun part. Some hate verilog. Some want to put it on an FPGA, some don't. I, personally, moved away from FPGAs due to bad documentation (looking at you, Lattice).

An alternative to Verilog is RTl simulation in a higher-level Language, or even higher-level Simulation.

Just remember that you can't define what is "fun".

__tidu 2 hours ago|||
id take it further to say dont even design your own ISA because its super rewarding watching your custom designed CPU run real software from an actual compiler (all you need is rv32i minus the CSRs)
0xffff2 3 hours ago||
Couldn't disagree more. To the extent building a homebrew CPU is interesting at all, for me it's _only_ making it actually work despite all of the real world hiccups that make it interesting. Designing it in the simulator is "easy".
hirvi74 3 hours ago|
The first image I saw gave me considerable anxiety and dread lol. I am so impressed, and have always wanted to do something like this. I took a digital logic course in university that was an absolute blast. I never wanted to stop there, but ultimately ended up doing so. However, just looking at all those wires made me feel a sense of, "Maybe I won't do this after all."
wwarren 1 hour ago|
Dread was the desired outcome haha. I was also kind of excited to prove to others that you can have fast clock speeds without spending forever bending and stripping wires (for my fellow lazy/busy people).

Honestly even though it is a bit of a rats nest, in my mind it feels like a kind of organized chaos. And easy to trace any single route.

More comments...