Retro-Computing with FPGAs 183
zoid.com writes "I ran across a couple of really interesting projects using Field Programmable Gate Array (FPGA) processors. First is the C-ONE project that is a reconfigurable computer. The default mode is a C64 compatible one, but the machine just boots the FPGA from an IDE device at
power on, so it could theoretically be pretty much anything. The second one is the FPGA Arcade. This site is about recreating gaming hardware from the past in modern programmable devices. They currently have Pacman, Space Invaders and Galaxian implemented in FPGAs."
This has been posted before (Score:2, Informative)
I remember people mentioning that this thing is uneconomical compared to an emulator because of how expensive FPGAs are.
Re:Hardware emulation (Score:1, Informative)
Re:Hardware emulation (Score:5, Informative)
FPGA's are a different beast altogether. An FPGA is similar to a ROM in that patterns can be burned into it but they are far more versatile. FPGA's can have logic burned into them which makes them malleble hardware. An FPGA with a 6502 processor and supporting logic burned into it is NOT emulating say Pac-Man. It is a re-implementation of Pac-Man.
This guy is implementing an Atari 2600 on an FPGA:
http://www.mindspring.com/~2600onachip/
If he pulls it off, one could do neat things like make a super battery efficient handheld. The FPGA is for all intents and purposes a 2600 so there isn't the overhead a StrongARM chip running at 200Mhz would have.
Re:Jeez! (Score:4, Informative)
Not that that's anything new for Slashdot.
FPGAs are cool... (Score:5, Informative)
One really cool application is the implementation of various crypto algorithms for realtime simple uses, like this [eleves.ens.fr].
There is also something called the FPGA Design Contest [sharif.edu] - amazing stuff!
Games are entertaining I guess, but if we could implement crypto algos and cool AI stuff at home using FPGAs, nothing quite beats that
Re:Hardware emulation (Score:5, Informative)
Close. You're actually describing a PAL. An FPGA is more similar to RAM. Think of it as the high speed memory of programmable logic devices. When it loses power, it loses it's programming. An FPGA usually reads it's configuration on power-up from ROM or a PC's parallel port if you're prototyping. There's really no "burning" involved.
It uses a CPU, not an FPGA (Score:5, Informative)
FPGAs are no more uneconomical (Score:1, Informative)
Re:FPGAs are cool... (Score:1, Informative)
Damn second-level Slashdot effect =)
Re:Custom SETI@Home chip. (Score:5, Informative)
Open Core's project list [opencores.org] gives a list of cores you can download *right now* under the *GPL* and do stuff with. Shows you the kind of things you can do. (I believe you can combine multiple cores onto one FPGA as well, if they'll fit, and they can intercommunicate.)
I have heard of people talking about a PCI card with a few FPGA's on it; so dedicated programs could download their own accellerator programs to them. It's just an idea at the moment, AFAIK, but hey.
Re:It uses a CPU, not an FPGA (Score:3, Informative)
It is still possible to emulate the Atari 2600 or whatever - but it involves switching the processor.
http://www.geocities.com/profdredd/commodoreone
It's not entirely clear where the "monster-sid" is located; it seems it's in (one of the two) FPGAs.
I think. Unless I'm rong.
Re:Jeez! (Score:3, Informative)
Re:Transmeta (Score:5, Informative)
No -the opposite - code morphing dynamically adapts the software to fit the hardware- an FPGA dynamically adapts the hardware to fit the software.
If you want to play with FPGA stuff, then one of the best is the Quickstart Technology board [quickstart...nology.com] - this includes the download/programming interface and power supply on board - you just plug the board into your parallel port, and you have hardware that can be anything. Powerful enough to do a VAX. (You also have to download the software to do your design, but that's free as in beer!
Re:FPGAs are no more uneconomical (Score:3, Informative)
You can (for example) do a 4096 point FFT in a few milliseconds on an el-cheapo FPGA (20$ for 1-off pricing) whereas to get almost 1/10th the performance, you could buy a $400 P4/Athlon. Hmmm $20 vs $4000...
Horses for courses - the FPGA is a very low-barrier-to-entry solution, but it's not a general-purpose device - the speed tops out around about 400MHz anyway (and that's not a $20 FPGA!)
Simon.
Re:FPGAs are no more uneconomical (Score:3, Informative)
MS strikes again
Simon.
Re:It uses a CPU, not an FPGA (Score:2, Informative)
Though I really hope that one day someone is nuts enough to produce a SID compatible synth chip, the chip was awesome for its time and still has a distinguished sound that can't be really emulated with curent anlog or virtual synths. And maybe with a new, cheap SID chip the SIDstation wouldn't be so terribly expensive...
Parallelizing FFT (Score:2, Informative)
In that sense an FPGA is no less serial on FFTs than a CPU, right?
Sure, you have to clock the FFT data into the internal memory of both an FPGA and a CPU. However, on an FPGA, unlike on a CPU, you can make as many multiply-accumulate units as you want up to the size of the FPGA, all operating in parallel. Large n-point FFTs can be parallelized with up to n multipliers.
Re:FPGAs are no more uneconomical (Score:3, Informative)
Pins aren't that limited either - you can get an FPGA with well over 1000 i/o pins, 168 1-clock-cycle 18-bit multipliers in hardware, and as many as will fit in firmware - with 8M "gates", that's a pretty nifty piece of hardware.
Not that you would, but clocking 512 pins at 200MHz gives you 12.8 GByte/sec both in and out...
The way you'd more likely use it though is to embed some of the processing subsequent to the FFT onboard as well, to reduce the output overhead - say you're looking for zero-crossing, or correlation, or anything where the output bandwidth is significantly less than the input (most signal processing tasks are...)
Simon.