8080 FSGA model in an FPGA

I would like to eventually make an 8080 out of Field Solderable Gate Arrays. ;) (trasistors)

First, I want to design the whole thing in an FPGA for logic proofing There will be a LOT of circuit boards required for this and I want to limit failure... My idea was to create small macro blocks that emulate standard TTL chips and use those TTL chips (or customized versions) to build the processor.

Any recomendations on how to proceed? I want to make the core I/O compatible with the 8080, which means full status signal support and a

2 phase clock.

Thanks, Grant

Reply to
logjam
Loading thread data ...

I seem to recall from the distant past that the 8080 (some versions) used depletion load; i.e. a depletion mode device with gate tied to source instead of a resistive load. Not that it reduces the components (an in fact adds a pin per active transistor).

Cheers

PeteS

Reply to
PeteS

Logjam sounds like a good name for this project. A google search turns up it was built from 6000 transistors. Well, each transistor is going to need a drain (or collector) resistor at the least. What will you use for gating, diodes? Add at least one more resistor to pull up the diode gate's output to the transistor's gate or base. Well, assuming most of the transistors are for 2-input gates, now we have 6000 times 5 components (2 diodes, 2 res, one trans) = 30,000 components. Does this still sound practical?

I don't know the specific logic design for the 8080 other than it was some form of NMOS. So, it may be that this can be done in a lot less than 6000 transistors if you use diode gates.

Anyway, it should be fairly easy to design the CPU for FPGA implementation. I'd forget the TTL component emulation, and use either VHDL or Verilog, or maybe one of the RTL synthesis tools. These are able to specify a CPU very concisely.

Jon

Reply to
Jon Elson

Why ?!

Do you also want this voltage compatible ? What is the target of this project ?

-jg

Reply to
Jim Granville

Not practical, but fun! I have a 88x40 inch display made out of 19,008 T 1 3/4 LEDs for example... ;)

Would there be a simple way of generating some sort of human understandable information that would help generate a schematic?

Thanks, Grant

Reply to
logjam

I want to be able to use it in place of a real 8080. I don't care about the 12 and -5v power supply. The whole project is just for fun.

The reason I thought TTL would be a good place to start is because of the AMD 2901 9080 emulator book. Also, if standard TTL devices were replicated using transistors then each "module" of the processor could possibly be tested with an IC tester.

I figure it will have a few thousand LEDs too. Like an LED for every register, microcode bit, etc.

Grant

Reply to
logjam

Since this is for fun and not practicality you could try and google for home built computers using TTL or better still CMOS etc. There really are a few souls out there that have built TTL boxes in this day and age. I almost contemplated this 20yrs ago for a PDP8 with a real core stack and transistors but I found some sense.

Also you could actually reverse engineer a real 8080 with a modest microscope, the details are pretty clear after you remove the passivation, a dead device will be okay too. It only used IIRC 1 layer of metal, poly, active area and hidden poly diff contacts. I did some reverse engineering on this part so its no so bad.

As for circuit design the 8080 was an NMOS design with mostly dynamic logic and some sparing use of static logic (not sure) so the schematic could be recovered with some basic knowledge of chip design circa

1975. Adison Wesley had a couple of old 1984 VLSI books that describe all the basic NMOS tricks used in the day, you would need to follow gate clocking, bootstrapping, cheap C latches etc. The clocks would have been used to strobe latches and flops and logic might well have been merged.

The 8085 might be a whole lot easier being IIRC all static (and 5V) so you wouldn't find as much mind boggling circuit tricks, just logic. IIRC it was mostly pin compatible so would be alot easier.

I would atleast stick to TTL compatible CMOS parts to save yourself SI hell.

John Jakson transputer guy

Reply to
JJ

Many years ago, on a visit to Amdahl I saw a complete 470 built with wire-wrapped TTL. How about doing the 8080 with a giant wire-wrap board of CMOS PALs. One PAL per "logical chunk," with lots of outputs reserved for the LEDs. It might even be possible to buy an old wire-wrap X-Y frame on eBay. Maybe cook up a standard module with a little PAL, LEDs, some drivers, I/O pins, and JTAG. You would be the defining case for JTAG's ability to program hundreds of PALs in series ;-)

And good luck with the clock tree...

Tim

Reply to
Tim

I saw someone did a 4004, as plug-able device.

So do you want to run some real 8080 SW on this ? Over what memory bus/sizes ?

Why not follow that line, with a bit-slice emulation of the 8080 ?

A very good starting point there, would be to take something like the open source Mico8 8 bit CPU from lattice, and tweak/tune it to allow a SW emulation layer of 8080, as you will have MHz to spare :)

If you have one available. Transistors I'd take as a dead-end, unless you have a soldering fetish !

Tiny logic maybe, but that's going to be more a PCB design problem, not an 8080 design problem, and you will chew $$ on the PCBs

CPLDs, or FPGAs are probably the best level to do this project. Low enough that you CAN get to every logic element, but still high enough to be affordable, small and low power.

Or, a TV/VGA output that emulates such LEDs ?

-jg

Reply to
Jim Granville

Or use the one that already exists on

formatting link
:-)

Scott Moore

Reply to
scott moore

See my Simplex page

formatting link
links to a webring of such designs.

Back in the 70's, all kinds of dirty logic tricks were used: the circuitry was not the clean, canonical stuff you are forced to build using TTL or other stock logic family. Dynamic gates for instance: first clock charges the node, then the logic optionally discharges it on the next clock. If you are building with discrete transistors, bear in mind that the standard discrete flipflop was a master-slave design, with the master implemented in just such dynamic logic (as 2 capacitors). By transistors, I assume you mean bipolars? This precludes another MOS logic dodge: the pass gate. This is a series switch, which exploits the symmetry of a basic MOS device (source & drain are interchangeable).

A good reference would be Mead & Conway's "Introduction to VLSI Systems", Addison Wesley, 1984.

Reply to
David R Brooks

Without looking at a 8080 datasheet properly we may have a platform for you to play on if that is what you need. Craignell1/2/3 info and maybe even some pictures will be up our website next week, or possibly week after that if we get delayed. They are in manufacture currently. You may have to do a minor rewire using stripboard for the power pins as Craignell modules follow standard 5V DIL pinout for which I think the 8080 varies.

Before anyone asks the module uses 5V as power I/P, pins are 5V tolerant, and it even has 5V pullups to make 5V CMOS levels to the outside world. It's designed as an obsolete component replacement but equally good for hobby or student electronic projects with 0.1 inch leg pitch. Standard offerings will have 100K gate Spartan-3E on-board but 250K and 500K gate varieties can also be made.

John Adair Enterpoint Ltd. - Home of Craignell1/2/3. The DIL Spartan-3E Development Module.

formatting link

Reply to
John Adair

I guess you can build an 8080 out of TTL logic blocks, but that will not be the way it was designed in the NMOS technology of the day. When I was in high school we were given an old (even for 1967) weather computer that did not use ICs. Each logic function; NAND gate, NOR gate, FF, etc; was made from transistors using RTL logic technology. But the main thing to consider was that it was made in modules about 2" square with edge pin connectors based on standard functions. If you are going to build your own 8080 from transistors, it is going to be large and you need to modularize it to make it practical.

Other than very low level primatives such as AND/OR/FF, you might consider building large functions such as registers or perhaps even a

22V10 type module. It could be designed to provide the full functionality of a 22V10 with jumpers or even just solder bridges for programming. I'd be willing to bet you can make an 8080 out of just a few dozen 22V10 modules. With today's packaging technology, this could be smaller than the 2" square modules in the old weather computer my high school had.

What will you be using for memory, diode arrays? The weather computer used a magnetic drum as its memory. Timing is everything!

BTW, if you want to start a little smaller, you might consider the

8008. It had similar registers, but used an 8 bit multiplexed address/memory bus and was quite a bit smaller inside with fewer instructions. But then that would give you a pretty limited CPU wouldn't it? ;^)
Reply to
rickman

rickman:

As I recall, that's how DEC got started.

If you decide to go with the 2900, Mick and Brick has a complete worked-through design, though not for an 8080. The book is worth buying (second hand only) for the alliterative authors' names.

Reply to
Tim

There was a Schottky TTL chip slice implementation of the 8080 by Plessey. Size was several DoubleEuro-Cards and speed abt. 20 MHz(?), probably for the military market or who else could afford it. Name was Miproc or sth. like that.

regards, Gerhard

Reply to
Gerhard Hoffmann

So do these depletion loads count in the 8000 transistors? Then, the

8080 function could maybe be performed by 4000 active devices and 4000 resistors. (Im sort of thinking that it was 8000 amplifying transistors in the count, 4000 just seems too low, as you'd need 2 for every FF, and the 8080 actually had a lot of registers, for the time.)

Jon

Reply to
Jon Elson

Yes, RTL was used as a descriptive tool for YEARS before there ever was a synthesis tool that accepted it.

Jon

Reply to
Jon Elson

The depletion load devices did not count in the 'transistor' count - they were load devices - active resistors, really

Cheers

PeteS

Reply to
PeteS

Every transistor counts whether it is a logic pull down (enhancemenet) or load (depletion). or clocked pass gate or even any capacitors which are usually free in area, its always distinct mos gate area. A depletion transitor is usually used as a constant current source rather than resistor, but as a resistor if the gate has fixed voltage. Typically for all static logic I would expect 3 logic and 1 load device on avg, but in this case most logic was precharged and conditionally discharged. Only the register flops had to be static.

Since it had a 12v supply, it may have not had any depletion device loads, using long thin enhacment t's s as loads, mucho area and power and poor speed. The 8085, Z80 definitely had depletion and hidden poly-diff contacts to simplify everthing.

I did have the schematic for the datapath area and thats about 30% of the chip. IIRC maybe 8-10 registers included umdocumented, each was probably a 4t asymetric cross couple with an extra t to read and and t for write. An ALU bit slice is probably 20-30 t's so 1 datapath bitslice is probably

Reply to
JJ

Even as a gate-level schematic it would be a pretty busy sheet of paper! I hope the OP is not going to go through with this project. There is Seymour Cray's first computer at the Computer History Museum, a big box with hundreds of small boards he etched by hand in his garage. Of course, he got to sell the thing to the Navy when he finished it. The OP is going to go through the same level of effort, but he won't make a dime on it.

I'm reminded of the guy in Germany, I think, who built a digital clock using vacuum tubes for all the amplifying elements. Even using some very tricky designs with multi-grid tubes, it was a monster with over 100 tubes.

Jon

Jon

Reply to
Jon Elson

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.