| Avalda FPGA Developer for the working programmer |
|
|
| Written by Stephen |
| Monday, 22 September 2008 15:46 |
|
"It's so rare to be able to see the future like that. I can't promise it'll happen to you. But when you see it, you know it. If this ever happens to you, leap at the chance to get involved. Trust your instincts. It isn't often that the future lets you in like that." –Steve Wozniak, iWoz, p. 294.
With the release of Avalda FPGA Developer, Avalda is gladly offering its services to the global software community. All software developers, whether experienced, newbies, old, young, male, or female should download Avalda FPGA Developer and begin extending their art over new computing territory. With their flexible, real-time morphing, massively parallel nature, field programmable gate array chips (FPGAs) are too exciting for the working programmer to ignore. He or she can expand existing skills to a field with a promising future, and/or simply have fun with homebrew FPGA projects. The simple F# scripting language that Avalda FPGA Developer compiles to parallel FPGA hardware description files is expressive enough to enable developers to fluidly think what they code and code what they think. As a software developer, you have been trained to mentally separate software and hardware. Avalda FPGA Developer is taking a big step in breaking that division by enabling you to easily create parallel hardware with code. At the end you will only think of software issues and get rid of difficult constructs that have been introduced over the years to cope with limitations of hardware, software, and the hardware/software division. This division was introduced for good reasons of cost and efficiency in 1945 by the mathematician John Von Neumann at my alma matter. But thanks to Moore's law and massive innovations in integrated circuit technology you can now put most of the digital computing functions needed on a single, small FPGA chip that re-wires itself at your bidding with true fine-grained parallelism and a huge performance boost at reasonable cost. The current CPU/memory architectures will continue to have a huge impact on the computing industry for quite some time. But parallel programming is hard and its difficulties will grow if we only rely on multicore CPUs and multi-threaded programming. Even some of the simplest code can display quite intricate difficulties when ran in parallel. Avalda's solution to many of these problems is simple: create parallel hardware designs with code and make the hardware change on the fly in an FPGA to implement your code. Preferably, the solution involves coding in a functional programming language like F#. The world works in parallel, hardware works in parallel, you think in parallel, and so will you code in parallel! Functional programming languages like F# (and its cousins OCAML and SML) have evolved over the decades through the tireless work of a great number of outstanding computer scientists. Similar to writing in html, they tend to be declarative - which means that you describe your solution in a manner that does not force the compiler to follow detailed steps meant to closely relate to the concrete rendering of the solution. Their design makes them naturally express parallelism and they were built with the mathematical rigor required to tackle and solve the intricate problems inherent in parallel programming. The best way to see why functional programming is fun, natural, and easy is to do it! With F# Microsoft has produced a great innovation and its designers' love of software programming shines through their work. They have even gone as far as giving us a free F# Visual Studio IDE with the Visual Studio 2008 integrated shell. The beta release of Avalda FPGA Developer has been tested on the low cost Xilinx Spartan FPGA using Xilinx's free ISE tool. An excellent board with the Spartan is provided by Xess. Xilinx's Spartan FPGA is like Intel's 8088 chip back in the early days of the microprocessor revolution. In the near future Avalda FPGA Developer will support FPGA technologies from other vendors like Altera. Do your Google to learn more about FPGAs and check out sites like Xess's projects section, fpga4fun, and Programmable Gaming Hardware. Jeri Ellsworth gives a great intro to the hardware side of FPGAs in this video of a talk she gave entitled "CPU not required: Making Demos with FPGAs". Keep in mind that you can basically put aside the soldering iron and, with Avalda FPGA Developer, focus on implementing parallel algorithms and systems on FPGAs. We have many interesting projects lined up for you so don't forget to keep coming back here at www.avalda.com and letting us know how we can better serve you. Enjoy!
|
| Last Updated ( Friday, 31 October 2008 20:06 ) |