I remember when the first FPGAs appeared on the scene. 8 x 8 arrays of programmable logic cells where each cell held a 4-input lookup table (LUT), register, multiplexer, and not much more. Applications for these little scamps where pretty much lmited to gathering glue logic and implementing simple stste machines.
Look at them now -- dual hard core MUCus, programmable digital, programmable analog, huge amounts of on-chip memory, vast numbers of high-speed multipliers, large numbers of high-speed tranceivers, high-speed external memory interfaces...
So yes, I agree that development boards based on these modern devices can make ideal prototyping platforms for a vast range of applications.
Several of our customers, our engineers, and engineering students use FPGA boards to make quick prototypes and test fixtures. In some cases it's for a one-off prototype, demo, or as part of a production test system. In others, it's an application where the chosen processor simply "ran out of gas" and just didn't have the throughput required to handle the processing in a timely fashion. And sometimes we've used an FPGA board to provide a quick solution to a component obsolescence problem. That replaces the obsolete part with a current production part and uses the FPGA as an intermediary between the processor and the new IC. The FPGA emulates the software interface on the processor side and translates signals from the processor into those compatible with the replacement part. While adding an FPGA might seem expensive, modifying the software, retesting, and requalifying the system may be far more costly and time intensive than the cost of requalifying the replacement hardware. This is especially true in the case of an FDA approved medical device or other application which has similarly long and painful requalification cycles.
For our purposes, we needed a better way than using the various demo and eval boards, which always had stuff we didn't need, and were ususally too big or had inconvenient connections for prototyping. That's a major reason why we implemented a bare bones design for the Ahtlatl FPGA board we developped for OEM ans student projects. It has just an FPGA, power supply, USB / JTAG configuration interface, and two 50 pin 0.1" header connector postions. (See http://DIYchips.com and http://htevp.com ) The typical eval board I/O was left off the FPGA board and placed on a separate PC board, so that most of the FPGA pins are available to the user. The board was also designed with constant impedance traces placed for high speed differential signals and selectable logic signal levels on the two 50-pin connectors to handle level translation.
Overall, an FPGA board is probably the closest thing we've got to a "universal digital translator / adapter" between two digital devices that otherwise won't play well together!
@Ken: I've been looking at your Ahtlatl FPGA board and I think it's very interesting, especially when combined with all the support documentation and examples you and your students are working on -- I'm planning on looking into this further in the not-so-distant future.
As one of the MCU people that Warren referenced, I have to say that FPGAs bring some incredible new capabilities to the table. They'd had a pretty steep learning curve for me, but I'm very glad to have embarked on that journey.
The Xilinx Zynq - one of those big FPGAs with two hard silicon ARM A9 cores - could lead an entirely new revolution, as far as I'm concerned. It covers the best of both worlds.
A few smaller MCUs are starting to show up with small amounts of programmable / configurable logic integrated. I haven't used any of these in an actual applications, but I can very much see the utility.
Differentiation is key and I couldn't agree with you more. That's one of the reasons I think FPGA development boards might be a good prototype choice. I believe FPGAs will allow for more 'exploration' of possible differentiators that a traditional MCU board where the features are less flexible.
You can spend more money on an MCU development board and get many more features than you need as a way to improve flexibility but even spending alot more money you ill still be limited. As standard 'plug-in' boards become more available for MCUs this might change, but FPGAs will be able to use them too!
I'm probably too biased toward FPGAs to be objective so readers comments can be a big help in getting me to see things more clearly. Thanx!
Yes Sir, that is quite ture but one problem with this boards is, they can not be directly used as a product, due the heavy costs of FPGAs, If low cost FPGA in the price range of controllers will be made avalialbe will change the complete perspective of the electronics industry.
I have experieneced that a FPGA development board always helps in carrying out the FPGA/firmware development activity much ahead in the schedule, not waiting for the actual prototype hardware. I could not use an FPGA development board as a prototype as the board design itself is a big part of the developments we do. Hence we always perform validation testing on the actual hardware proototype board. But the FPGA development/Firware work based on the FPGA development board always helps in faster proto board bring-up for the first time.
Definitely the boards with standard configuration will help the engineers to evaluate the software before building the actual boards. The FPGA suppliers have certainly become more aggressive and they strongly belive the ARM mixed FPGA's will find their place in more designs in future.
A Book For All Reasons Bernard Cole1 Comment Robert Oshana's recent book "Software Engineering for Embedded Systems (Newnes/Elsevier)," written and edited with Mark Kraeling, is a 'book for all reasons.' At almost 1,200 pages, it ...