Page 3 of 3

Posted: Wed Dec 27, 2006 5:09 pm
by viskr
This is a bit belated post to this message, but I was wondering if you made any progress.

My history goes back to building CPUs out of ECL and later a group of 3 custom CMOS chips laid out by hand a transistor at a time. While you could still use TTL to do this some of the chips may be hard to find.

I also designed a CPU emulation using FPGAs (20 some for a simple 8 bit CPU). Actually I'd suggest going that route unless you really want a lot of practice soldering. You can pick up an FPGA evaluation board from most of the manufacturers for fairly cheap, and then start with your own design or other available CPUs.

It was actually a lot of fun to do the FPGA design (this was before tools really existed, and it was done a gate at a time). I remember when I got the CPU to execute a series of NOPs, I was pretty excited, didn't know why nobody else was. But it was only a few days later to get it to start running more complex programs.

Posted: Wed Jan 03, 2007 5:55 am
by wd5gnr
I'd second the notion of an FPGA project to save wear and tear on soldering and wirewrapping. I particularly like the Spartan 3 Starter Board from Digilent. If you buy it from Xilinx directly, you get a free CPLD board (or at least you did last time I bought one). On the other hand, if you buy it direct from Digilent (the people who actually make it) you can upgrade the FPGA to a larger one for a small extra charge. So plan on $100-$150. Either way you get a cable for the parallel port. If you need USB (have no printer ports, for example), plan on extra money there. The software is a free download. In fact, you can use the software with no hardware at all if you don't mind only simulated results.

Be careful, however, not to get the Spartan 3E starter kit which is probably harder to get started with (less I/O, LCD display, and DRAM as opposed to the 3 kit which has 8 flip switches, 4 push buttons, 8 LEDs, 4 LED 7 segment displays, RS232, VGA, PS2 ports, and static RAM).

I've done 2 CPU designs around this board. One is a "classic" 16-bit minicomputer with some neat features. It makes good use of all the I/O (read this ... puter.html for more about the switches on this computer). The other CPU is a full 32-bit machine with some very modern features that I use a research platform. But I just ordered the "bigger" board because I am running out of room on the stock board.

I did an article a while back in N&V about using Xilinx CPLDs and FPGAs (it was called "a truly solderless breadboard" or something like that, can't remember the exact issue). You can also find some info at

What memories!

Posted: Fri Jan 12, 2007 2:01 pm
by Tommy Phillips
When I was getting my EE/CS degree in Boulder, one of the classes was called "Computer Lab", and the project for the class is exactly what you describe: Building a functional CPU out of discrete TTL logic.

That was one of the three most fun classes in the entire program.

Our team built around a microcode design with a 48-bit microcode word, stored in 2k x 8-bit EPROMS. There was a 10-phase instruction clock so each microcode instruction performed up to 10 micro-operations, and we reserved 8 words for each instruction, so we had 256 8-bit instructions. Some of them were reserved, because two or three instructions required more than 8 words. We designed it to run at 10MHz base clock rate. Eight-bit ALU, 16 x 8-bit register file, two internal busses, 16-bit address counter ... We wire-wrapped and socketed everything, and at the end of the class, we had a working CPU.

The one problem we had was that we couldn't get it to run at more than about 100 Hz, so it was hard to show anything complex on demo day.

When we disassembled everything, we found the problem: a NOR chip that was open collector. Gaaaaahhh! We were lucky it worked at all. At that point, it didn't seem worth it to track down whether we had ordered the wrong part, or if it was a shipping error, or some other disaster.

I dearly wish I had a copy of our design documents from that class, or a photograph of the working board.

What's my point? It took a team of four or five dedicated, high-energy engineering seniors a semester to get it _almost_ right. If you jump into this project, be prepared for a real workout. If you do it, it will be one of those things you will be very proud of, but it will be almost impossible to explain to most people why you did it.

That's okay. The rest of us understand.

-Tommy Phillips

Posted: Mon Jan 15, 2007 5:29 pm
by stevech
In the late 70's, I and several others at my company designed/built a micro-coded computer that emulated a PDP-11's instruction set, and the instruction set of a company-proprietary computer for industrial process control. (It ran CBS TV for quite some time).

In that time frame, it was quite a challenge - we used PROMs that were burned by a PROM Programmer which in turn got its code via paper tape (!). Debugging was a real challenge.

From those experiences, and a couple of other computers that we designed from TTL parts, I got a basic distrust of the accuracy of data from computers. It took me many years of using mass produced chips like the Intel 8080 and successors to get to a point where I first assumed that an esoteric bug in my program was my fault rather than the computer hardware or compiler.

2 cents worth!

Posted: Mon Jan 15, 2007 9:05 pm
by Lenp
I just have to say that almost a lifetime ago I built an 'adding machine' with stepper relays and nixie tubes. Does that count for anything? (:-!)


Posted: Wed Jan 17, 2007 10:55 pm
by stevech
Surely it was half a lifetime ago!

Posted: Thu Jan 18, 2007 4:00 am
by Lenp

To help better date the 'adder' it used seleniun rectifiers.
Hands up, who knows what a bad selenium rectifier makes the room smell like!


Posted: Fri Jan 19, 2007 5:26 pm
by wd5gnr
Rotten, rotten, rotten eggs....

Posted: Fri Jan 19, 2007 8:48 pm
by Lenp

Hey, it sounds, or rather smells, like you've been there before! Nobody ever forgets the aroma!

Bet you didn't know that if you disassembled the plates of a selenium rectifier, cleaned the paint from them with paint remover, made electrical connections to the selenium coated side and the metal plate, it became a weak photovoltaic cell. Why do I know that, too much time on my hands maybe!


Posted: Fri Jan 19, 2007 9:28 pm
by rshayes
I never tried the experiment, but I usually saw the smell of burning selenium described as "burning hair". Apparently distinguishable from the "burning tar" that you got from overloaded transformers. Unless you got both at the same time.

The selenium rectifiers used in AC/DC receivers usually weren't painted. These were usually about an inch square with five or six plates held together with a brass rivet through the middle. Sometime in the late 50's I remember taking one apart and making a pressure contact to the face of one plate with a piece of wire. There was some current generated with light, but I suspect that it was in the tens of microamps. A larger area contact would probably have given more current.

After nixie tubes were available but before selenium rectifiers disappeared would probably put Lenp's adder in the early sixties.

Then there was the Hewlett Packard frequency counter that used four columns of ten neon lamps to indicate the most significant digits and two analog meters to display the two least significant digits. That makes stepper relays and nixie tubes look like high tech.

Or there was the Non-Linear Systems digital voltmeter that used stepping relays controlled by thyratrons and a display wsing light bulbs that edge illuminated stacked plexiglass sheets with numbers engraved on them. The numbers jumped in and out over about an inch range depending on the input voltage.

Be thankful for LED displays and silicon solar cells.

Posted: Fri Jan 19, 2007 10:36 pm
by Lenp
Right on target about the 60's, buy hey, I still have nixies and steppers someplace!

OK, I'll kick it back again about the nimble nixies.

I remember well the ANITA calculator. I think that ANITA was an acronym for A New Inspiration Towards Arithmetic

This temperature and votage sensitive critter used nixies and three element neons for logic elements. Best of all, the neons got flaky when they aged and would not fire in the dark, with the case on, but would fire in the lighted room with the case off. One tech wanted to string lights inside to improve the stability! Just Google for ANITA calculator, it is well represented.

Here's a picture of a typical card, and notice no LSIs or SMDs!
'How dey do dat?



Posted: Sun Jan 21, 2007 11:37 am
by stevech
neat-o. I esp. Like the bracket to hold the tube in its socket.

now that's Modularization!

Posted: Sun Jan 21, 2007 1:29 pm
by Lenp
Just a fine point...There was no socket for the nixie!
That tube was hard wired and you know ahead of time what we techs thought about replacements! Fortunately we changed out the board and then tossed coins to see who would bench service them when we ran out. The most common problem was partial numerals being displayed. We boosted the voltage and it fixed some, for awhile. The nixies were made by Mullard and didn't seem to be the same quality as the Burroughs and National that were more common in the U.S.