Q: What is FPGA and what do I have to do with it?
A: It stands for Field Programmable Gate Array (cool name uh?). These are chips that
can be (re)programmed with low-level logic like flip-flops, AND-ports, multiplexers by uploading a bitmask that defines how the signal s can flow. With all the logic cells in an FPGA, you can create virtually any custom digital hardware that will fit. These chips are relatively cheap because it's mass-produced. The signals can flow either asynchronous or synchronous and most FPGA's have several clock inputs. Timing can be critical sometimes. The fun things with FPGA's is, that you can also get someone else's code (for example a CPU core) and then use it in your own design. FPGA's are one step closer to hardware/software hybrids.
[ Page is under construction... sorry]
Anyway, here's my FPGA development board (BurchED) stuffed in a simple PC mainboard box and screwed at the bottom...
Modules can be be attached to the connectors. Here's a list of my modules:
- Main board: BurchED Spartan IIe 300K, no 5V outputs!
- SRAM module (self made): 64K x 16 (two chips), 15ns. Upside-down with still rather long wires :)
- Test module (self made): 5x7 dot matrix display (can do two tiny hex digits), serial DAC (sound), buttons
- LED module: 16 LED's (for status, address, data)
- I/O module (self made): UART (COM port), PS/2 (keyboard/mouse), buzzer, VGA (2 bits per colorchannel)
- I/O module2 (self made): GameCube controller + port cable, PSX controller, N64 controller, infrared module
- Pokemon Mini ROM emulator cartridge
- Programming module: Allows programming of FPGA using JTAG or other serial protocol. Also user I/O to parallel port.
Here's another FPGA board I have...
Designed by a friend.
Specs: 300K FPGA, VGA DAC, audio DAC, flashrom, SDRAM, PS/2, RTC, one fixed and one programmable clock
And here's a school project...
Specs: 100K FPGA, 5 bit composite video resistor DAC, dual 1-bit audio, CompactFlash, flashrom, SRAM, joystick/gamecontroller support