Electronic – Can poor hobbyists utilise FPGAs

fpga

I understand that FPGAs can be used for digital glue logic on a circuit board, like NOR gates. They can also directly run AES encryption, Ethernet and Linux.

I'm not very rich and not an electronics expert. Nor do I have a posh logic analyser. I could probably put together a single board 6502 computer if I copied the code from somewhere. If I wanted to rationalise my component count of AND gates, flip flops and BCD decoders, is a FPGA feasible for my position? This is the level of sophistication I'm looking for, rather than microprocessor cores. Or, is there an alternative glue technology suitable for a downbeat hobbyist?

Supplemental:

A better question might be "what can I replace 5 OR gates, 3 Schmitts and a Divide by 10 counter with?" Thing is, I'm also factoring in the cost of the design software. A £25 development board + £5000 /seat compiler + £1000 programmer isn't much good to the poor and deprived.

Best Answer

You don't need to be filthy rich to use programmable logic

In the "glue" world -- CPLDs are what you are after if you just need a small patch of programmable logic. In general, older CPLDs these days are 3.3V devices, with newer devices having 1.8V cores and 1.8 or 3.3V I/O, and can be in-circuit programmed and boundary scanned through JTAG, with the "program memory" internal to the device. (5V CPLDs existed, but are universally obsolete.)

The one downside is that they generally are only supported by a vendor-specific toolchain (such as Quartus for Altera, or ISE for Xilinx.) Fortunately, free-as-in-beer, albeit limited-size, versions are available, and they're large enough for CPLDs as well as the smaller/less expensive FPGAs that are available on not-terribly-expensive devboards these days.

Also, for FPGAs -- most of your debugging will be done at the simulation level with the aid of a testbench, as opposed to in the silicon directly. Furthermore, most FPGAs have support for internal node scan through JTAG, although the free-as-in-beer toolchains may or may not support it. Finally, some FPGA technologies require the "program" to be loaded into them at startup (Xilinx, Altera, and Atmel parts are all this way; Lattice and Actel/Microsemi parts, on the other hand, are CPLD-like in that the "program" is stored on-chip persistently.)

Related Topic