Close

Great Advice

A project log for SPAM-1 - 8 Bit CPU

8 Bit CPU in 7400 with full Verilog simulator and toolchain

john-lonerganJohn Lonergan 08/16/2019 at 00:260 Comments

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