Been speaking to Warren Toomey of Crazy Small CPU fame and The Unix Heritage Society.
I strongly recommend you check out CrazySmallCPU and the Youtube playlist for the build. Also see CSCvon8 the 8 bit successor. There are some really interesting compromises in there that will probably directly influence my own build, in particular the ALU.
Many other have also used a ROM of some kind, typically an EEPROM, for the combinatorial logic of an ALU (and other components) but I've struggled a bit with most of them as they are typically 4 bit or don't support features like the full set of typical ALU flags out etc. I wanted an 8 bit ALU that would support exploring arbitrary arithmetic and also a full set of flags and compare and I also wanted more than just Add and Sub, I wanted a much more complete set of arithmetic and logic ops. The problem was I couldn't work out how to do it on the EEPROMs I was able to locate.
Doing all that with a pair of 8 bit wide ROMs seemed complicated as well, but Warren identified a 2Megx16 bit wide EPROM that has all the data pins necessary for his (and my needs) and also has a wide enough address range to support 2 sets of 8bits of data in, plus 5 bits left over for ALU operations. Also they are also cheap , however hard'ish to find, need UV erasure and won't program using the Arduino that most folk use for the EEPROMs - so there are some other challenges.
Anyway - that was incredibly useful to me.
Also useful was Warren's recent blog post on control signal timing that covered in detail some questions I had. Ben Eater's series and others don't go into a great deal of info on this and I'm grateful for the experiences shared by Warren.
Also useful to me were pointers about I/O which I will almost certainly implement.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.