Saturday, September 22, 2007

Increasing Popularity of FPGAs

FPGAs are becoming more and more popular with every year of their existence. Previously slow and ignored by system designers working on speed-hungry applications, the newest FPGAs are reaching 600 MHz internal clock speeds. Altera announced it's Stratix III 65nm device at the end of 2006 (link). Xilinx Virtex 5, also 65nm, runs at around the same clock rates (link). Their ease of use, inexpensiveness and availability of read-on-your-own reference material on the internet makes them attractive not only to system designers, but also to students and DIY enthusiasts with a wide variety of applications.

From my experience in semiconductor industry I see that these devices create a serious competition for ASIC manufacturers. They caused at least one project to be canceled during the last year at my company. Companies choose to pay more for flexibility of re-programmable FPGA, rather than investing into a faster ASIC. With the increase of capacity and speed of FGPAs, ASICs will play a less important role then they did years ago.

As an interesting example of FPGA use, Pete Finnigan's security blog mentions that they could be used for faster password cracking. Read it here.

The low price, availability of development boards and easy to use integration software packages make FPGAs attractive to a wider range of users, interested in projects, for example, requiring custom hardware acceleration of simulations. One of my friends used FPGAs for neural net simulation during his Master's. FPGAs really speed up functional computations. A function that lasts hundreds of cycles in software can be computed in few clock cycles given that enough logic gates are used.

More and more FPGA fast prototyping software packages become available on the market. For example, LabView's FPGA kit allows a quick assembly of a system out of precoded optimized blocks ready to be wired together with a few mouse clicks. Even without prior HDL knowledge, one can add hardware accelerated functionality to their designs with ease, using these tools and FPGA development kits.

Numerous learning resources are easily accessible online for free. Xilinx has eLearning section and a quick Google search would reveal dozens of other sources of learning information. Check out www.fpgafromscrtach.com for a step-by-step guide of designing an embedded system on Virtex 4 FPGA.

Related links:
FPGA Design Tutorial from Scratch
Xilinx eLearning

No comments: