VOGONS


First post, by meisterister

User metadata
Rank Newbie
Rank
Newbie

Since we're busily living in the future, I'd like to give a bit of an elevator pitch for an idea I had:

One of the biggest difficulties with running retro hardware besides the various compatibility problems is that CPUs can sometimes be pretty hard to come by. This fact has been exasperated by the excessively high price of gold, which has driven many people to destroy otherwise perfectly functioning processors, which in turn reduces supply and increases costs for us. We currently have available to us several very well written 486-compatible cores (like this one https://github.com/alfikpl/ao486) that can readily be put onto fairly cheap and small FPGA or CPLD devices. It's possible that because of the massive improvements in manufacturing technology since the early '90s, it's possible to run these cores far faster than technology at the time would have allowed. Furthermore, due to the relatively low barriers to entry imposed by verilog and VHDL (vs. designing a state-of-the-art CPU in the early '90s), it should be possible to implement far wider and more efficient cores than a pure 486.

My idea is this: we should try to connect a modern FPGA to an older socket (like Socket 3)? The pinouts should be fairly well known, the cores are available, and the voltages used (3.3 or 5 volts) are commonly used by FPGAs to signal external devices.

The biggest challenges I can think of:
1. Getting timing and synchronization to work correctly (an FPGA board would be situated farther away than a normal CPU would, and those delays could cause instability)
2. Various chipset-based errata. (Once again, a huge problem for stability).
3. Actually doing the wiring. (While schematics and such are available, the 486 still does have an impressively large number of pins).
4. The core presented is a 486SX, and I could imagine that implementing an FPU would be terrifying.
5. It's arguably not a "real" 486.

Advantages in brief:
1. Can be widespread and future-proof (in that FPGAs and CPLDs aren't going anywhere anytime soon).
2. Can allow for (theoretically) higher clock speeds. Note: Spartan 3 boards, which are kind of a baseline, cheap part, can only really manage in the low 100s of megahertz with a good design. Inserting pipeline stages could potentially help this, but then we'd have a bit of a Pentium 4-86. Newer boards should be better.
3. Can allow for wider/more efficient cores. While doing so would be a complete PITA, it could be possible to have better FPUs, branch prediction, multiple pipelines, and other such coolness.
4. If the FPGA is big enough (this is a big sticking point), more cache could be allocated, which could allow boards with fake cache to become far more useful.
5. Can allow for updates. The CPU could be reprogrammed if a bug is found in the HDL design.

Dual Katmai Pentium III (450 and 600MHz), 512ish MB RAM, 40 GB HDD, ATI Rage 128 | K6-2 400MHz / Pentium MMX 166, 80MB RAM, ~2GB Quantum Bigfoot, Awful integrated S3 graphics.

Reply 2 of 11, by meisterister

User metadata
Rank Newbie
Rank
Newbie

To be completely honest, raw coolness is a very big factor.

The only other way I can answer the question is by asking, "Why overclock a 5x86 to 133 MHz?" So you want a Cyrix 5x86-133?
It could also be a good testbed for people who want to learn about serious verilog design, as they could tweak a real computer running a large base of real software.

Also, why bother with a 486 at all vs a pentium or a 386? The software that will run too quickly is better served by a 2/386 and the software that would run too slowly is better served by a pentium.

Dual Katmai Pentium III (450 and 600MHz), 512ish MB RAM, 40 GB HDD, ATI Rage 128 | K6-2 400MHz / Pentium MMX 166, 80MB RAM, ~2GB Quantum Bigfoot, Awful integrated S3 graphics.

Reply 4 of 11, by shock__

User metadata
Rank Oldbie
Rank
Oldbie

Just read the first point ... why not a drop-in replacement rather than physically going all the way to an FPGA (dev?-)board? If the FPGA doesn't need too many passives outcome shouldn't be much bigger than an original CPU intended for a socket.

But not too interested either ... FPGAs aren't exactly my world and I'm quite well covered with CPUs and/or spares. But would definitely get a thumbs up if this gets put into development.

Current Project: new GUS PnP compatible soundcard

[Z?]

Reply 5 of 11, by meisterister

User metadata
Rank Newbie
Rank
Newbie

The reason I mentioned the connections going to a dev board is twofold:

1. It would greatly simplify debugging when doing an initial implementation.
2. It's a lot easier and cheaper to get an FPGA dev board at the moment.

A drop-in replacement would be really neat, but would require enough interest to justify having PCBs and such made.

Dual Katmai Pentium III (450 and 600MHz), 512ish MB RAM, 40 GB HDD, ATI Rage 128 | K6-2 400MHz / Pentium MMX 166, 80MB RAM, ~2GB Quantum Bigfoot, Awful integrated S3 graphics.

Reply 6 of 11, by shock__

User metadata
Rank Oldbie
Rank
Oldbie

Last time I checked high class Altera MAX FPGAs were like $20 ... can you get dev boards as cheap as that?
But yeah, a devboard would probably be way better for initial development/debugging/testing.

Thing is ... expanding the connections from a 486 socket shouldn't be that hard (at least if you're staying under let's say 50MHz) as long as you keep the leads long enough and possibly add drivers in case of voltage drops ... latency isn't too important there yet (30cm signal length ~1microsecond)

Current Project: new GUS PnP compatible soundcard

[Z?]

Reply 7 of 11, by meisterister

User metadata
Rank Newbie
Rank
Newbie

Hm. Alright. I'm seriously thinking of starting this as a project. I have a Digilent FPGA (it's one of the Spartan 3 models, but meh), a socket 3 board, and a Cx486 to use as a reference. I can't wait to get home in a few days...

Dual Katmai Pentium III (450 and 600MHz), 512ish MB RAM, 40 GB HDD, ATI Rage 128 | K6-2 400MHz / Pentium MMX 166, 80MB RAM, ~2GB Quantum Bigfoot, Awful integrated S3 graphics.

Reply 8 of 11, by shock__

User metadata
Rank Oldbie
Rank
Oldbie

Cool 😀

Just don't expect it to be too easy ... someone I roughly know did something similar with a Z80 based system (Pentagon, which is a russian incarnation of the ZX Spectrum), using the T80 FPGA core - which resulted in an "emulated" Z80 which performed like a real Z80 would at 90MHz (I don't think Z80s were produced beyond 20MHz). Sadly he never really finished it due to the softcore being the source of a lot of trouble.

Current Project: new GUS PnP compatible soundcard

[Z?]

Reply 9 of 11, by meisterister

User metadata
Rank Newbie
Rank
Newbie

Yeah, I'll definitely have to check whether the bus used by whichever soft core I go with actually matches and follows a 486 bus spec. It looks like its creator was actually running fairly complex software (like Windows 95) on it, which does lead me to be somewhat hopeful for it not giving much trouble.

The interesting thing when looking through the project's page on OpenCores (http://opencores.org/project,ao486,Overview) is that the sound hardware actually takes up more resources than the CPU. After checking the Spartan 3E's spec, it looks like it won't even fit on my FPGA. I think I'll need to get something far newer.

Maybe a good first step would be for me to study how the CPU interfaces with the rest of the system and try cutting parts until it'll fit. The first clear candidate for cutting would be the 32kb of combined instruction/data cache, since earlier 486es had far less.

Dual Katmai Pentium III (450 and 600MHz), 512ish MB RAM, 40 GB HDD, ATI Rage 128 | K6-2 400MHz / Pentium MMX 166, 80MB RAM, ~2GB Quantum Bigfoot, Awful integrated S3 graphics.

Reply 10 of 11, by feipoa

User metadata
Rank l33t++
Rank
l33t++

This sounds like a massive undertaking, but if you have the time and motivation, this should be a lot of fun. Have you considered turning this into a kickstarter-like project?

It would be nice to see a plug-in socket3 CPU with twice the performance of the almighty Cyrix 5x86-133, and with a similar micro-architecture similar.

As an alternate idea, perhaps you could use the FPGA (or PALs?) to create a socket3-to-socket7 interposer board?

Plan your life wisely, you'll be dead before you know it.

Reply 11 of 11, by Anonymous Coward

User metadata
Rank l33t
Rank
l33t

I wanna see a 486 kick some pentium butt.

"Will the highways on the internets become more few?" -Gee Dubya
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium