• Please review our updated Terms and Rules here

FPGA accelerator cards

Exceter

Experienced Member
Joined
May 17, 2019
Messages
286
Location
Vermont
There have been a couple posts recently about 8088/286 accelerator cards but they are pretty hard to find these days. How hard would it be to make an 8-bit isa card using an FPGA and software cores that does the same thing that the old accelerator cards did?
 
I think its feasible, but don't most accelerator cards replace the CPU rather than being an ISA card.....

http://www.electronics-sourcing.com/2013/05/30/intel-amd-and-nec-x86-processors-re-created/

The ones I've seen plug into an ISA slot(or at least get mounted into one of the slots) with an onboard 286 CPU, you move the 8088 CPU to the card, and then a ribbon cable from the card plugs into the CPU socket. I was thinking that the same could be done with FPGA's instead of the original CPU's. It's beyond my skills I'm afraid but if someone had already done it I'd happily buy one.
 
You're talking about implementing an entire microprocessor in fpga logic. You better believe it's beyond your skill level, and mine, and likely 98% of the yokels on this board. What would make better sense is to make use of an actual up, and implement the necessary support circuitry in an fpga. Still a tall order.

Some people are developing fpga uPs. Maybe their work can be apprehended to alleviate the hurculean effort needed to roll your own.

I have 2 Orchid PC-Turbo 186s somewhere in my stash. Each has a big old ugly asic smack dab in the middle of the board. It would be nice to melt the top of one of those asics and have a gander at what's going on. I think that may be the first accelerator card ever offered. Cool, groovy and rare in any event.
 
I'm having trouble understanding your point. If you're saying installing a board that gets work handed off to it, similar to a coprocessor sort of, the board being faster then the host, any number of sbc's can fulfill such a rule. And chances are you'd be spending much less money. But if you're talking about a specific implementation that's more getmain to the topic, you'll need to elaborate.
 
You're talking about implementing an entire microprocessor in fpga logic. You better believe it's beyond your skill level, and mine, and likely 98% of the yokels on this board. What would make better sense is to make use of an actual up, and implement the necessary support circuitry in an fpga. Still a tall order.

Some people are developing fpga uPs. Maybe their work can be apprehended to alleviate the hurculean effort needed to roll your own.

I have 2 Orchid PC-Turbo 186s somewhere in my stash. Each has a big old ugly asic smack dab in the middle of the board. It would be nice to melt the top of one of those asics and have a gander at what's going on. I think that may be the first accelerator card ever offered. Cool, groovy and rare in any event.

That part wouldn't be as bad as you might think because people have already implemented many of the old microprocessors in an fpga. It's not something that you'd have to do yourself. I was reading a blog post just yesterday about a guy who implemented an 8088 in an fpga and used it to boot into dos.
 
What is your target speed in terms of the original CPU? That should determine your approach.

In general, 8088-retrofit accelerators weren't all that hot. You got processor speed, but you still had to work with the original 8-bit bus restrictions. You could include memory on your accelerator to get rid of that aspect, but there are still the motherboard peripherals to keep happy.

Other than "upgrade" CPUs like the V20 or "turbo mode" motherboard mods (putting a faster clock into the 8284 EFI input and swapping between the original 14 MHz crystal using the F/C pin connected to an unused output on the 8255), I considered the more exotic "turbo' adapters a very costly mixed bag.
 
What is your target speed in terms of the original CPU? That should determine your approach.

In general, 8088-retrofit accelerators weren't all that hot. You got processor speed, but you still had to work with the original 8-bit bus restrictions. You could include memory on your accelerator to get rid of that aspect, but there are still the motherboard peripherals to keep happy.

Other than "upgrade" CPUs like the V20 or "turbo mode" motherboard mods (putting a faster clock into the 8284 EFI input and swapping between the original 14 MHz crystal using the F/C pin connected to an unused output on the 8255), I considered the more exotic "turbo' adapters a very costly mixed bag.

6-8mhz would be fantastic
 
mhz or MHz! The difference is 1 000 000 000 times.

Incorrect. The answer is non-deterministic as the H is also lower case - meaning the unit measurement is also ambiguous - eg. not referring to the unit of measure (Hz) named after the German Physicist Heinrich Hertz. 6 milli-Hogsheboygans could be pretty darned fast.
 
How hard would it be to make an 8-bit isa card using an FPGA and software cores that does the same thing that the old accelerator cards did?
There are no easily-solderable 5V-compatible FPGAs. Basically, you'd need a lot of level shifters and good soldering equipment. Also, the mainboard CPU can't be overridden by an ISA card, so you'd need to run a cable from the old CPU socket to the ISA card. Apart from that... it is nothing that hasn't been done before. It isn't hard, but comes with lots of practical annoyances, requires a lot of work, and needs knowledge from many different domains.

Performance improvements are limited by the bus speed, so there's not much point to having a fast CPU on the ISA card. One could also run a full system inside the FPGA while a host program providing I/O runs on the existing system. From a user's point of view, it would feel like regular emulation, and from a designer's point of view... you can do that without the existing system in the first place.

Peripherals are a different story.
 
There are no easily-solderable 5V-compatible FPGAs. Basically, you'd need a lot of level shifters and good soldering equipment. Also, the mainboard CPU can't be overridden by an ISA card, so you'd need to run a cable from the old CPU socket to the ISA card. Apart from that... it is nothing that hasn't been done before. It isn't hard, but comes with lots of practical annoyances, requires a lot of work, and needs knowledge from many different domains.

Performance improvements are limited by the bus speed, so there's not much point to having a fast CPU on the ISA card. One could also run a full system inside the FPGA while a host program providing I/O runs on the existing system. From a user's point of view, it would feel like regular emulation, and from a designer's point of view... you can do that without the existing system in the first place.

Peripherals are a different story.

For me I can't see the point. A vintage system is slow because its vintage or vintage because its slow. Speeding up such systems usually breaks a few things with software timing loops. If its not original its not so much fun. I did faster disks in my IBM PC Server 500 but only because the originals were becoming un reliable....
 
Moving from a pc/xt to an at presented some compatibility issues. Ok they were minor, and if a vendor had any brains they would provide a patch. There always were compatibility issues. Accelerators were very much a part of the landscape in the 80s. I can't imagine too many people who wouldn't want say an IBM PGC in their old box. But that rules out anything other then cga based software. And even then the cga emulation likely wasn't perfect.
 
Last edited:
For me I can't see the point. A vintage system is slow because its vintage or vintage because its slow. Speeding up such systems usually breaks a few things with software timing loops. If its not original its not so much fun. I did faster disks in my IBM PC Server 500 but only because the originals were becoming un reliable....

I'm the same way. You get into this because of the cool hardware and interesting software. If you need to start cramming in accelerators and enhancements because its not how you want it to feel then get ready to run into a lot of compatibility issues and skyhigh costs. Look how deep pocketed most of the Amiga community is.
 
I threw a V-20 into my Tandy 1000 to try to eke a little extra speed out of it, but I kind of consider it a special case. The 1000 line had models that covered the CPU speed spectrum from original XT to low-end AT while leaving almost all the rest of the hardware unchanged, so there's a fair body of software that "runs" on all of them but is just a *little* too laggy and slow on the first and second generation models. It's a place where even a modest 40-60% boost might get you to the other side of the usability line while retaining all the other hardware in the machine.

(Unfortunately these machines also use custom chips that, outside of some exceptions, make simple "PC Sprint"-style clock gooses hard to pull off.)

Outside of edge cases like that it probably does make more sense to just move up to the next category of machine. (IE, park a real AT next to your XT.) That is unless playing with oddball hardware like accelerator cards specifically floats your boat, in which case go hawg wild. A modern recreation of the Intel Inboard 386 with an Atom CPU would be a hoot.(*)

(*Edit: Seriously, now I want to see someone put a small SBC equipped with CPU that has modern VT/IOMMU extensions into an ISA slot/8088 CPU socket. Then use hypervisor mechanisms to allow a DOS session running on the card to directly access the hardware in the parent machine. Just think of all the wait states...)
 
Last edited:
That part wouldn't be as bad as you might think because people have already implemented many of the old microprocessors in an fpga. It's not something that you'd have to do yourself. I was reading a blog post just yesterday about a guy who implemented an 8088 in an fpga and used it to boot into dos.

Am I that guy? :)

PS: Im going to open source the MCL86 and a number of my projects onto Github very soon...
 
Back
Top