I just got off the phone with Bob Garrett at Altera. He walked me through the Nios II Embedded Evaluation Kit, which is intended to make FPGA technology accessible to software developers. From what I've seen, it succeeds in a big way. The kit boots Linux (yes, you can run Linux on an FPGA—the secret is to use the Nios II soft processor); it comes packed with tons of evaluation software; and it is amazingly easy to use. My colleague Clive Maxfield describes the setup process as:
(a) Plug one side of the power supply unit into a power outlet on the wall, (b) plug the other end into the evaluation kit's power input, and (c) follow the on-screen instructions.
OK, so why do I feel like an idiot? I told Bob that many vendors claim that their FPGA tools are so easy to use that you can eliminate the hardware team. I like the sound of that, but I'm skeptical: FPGAs are very complicated devices; how can any tool make them that easy to use?
Bob gently pointed out that he made no such claim. In his view, a software team can't handle FPGA development on its own, but that's OK because you need hardware guys anyway. For example, developers often use FPGAs to create custom peripheral interfaces. For work like this, you need a hardware team—it doesn't make sense to hand this work to a software team.
In Bob's view, the real goal is to minimize the size of the hardware team, and to enable them to hand off the design to the software team as quickly as possible. The ideal mix might be 2-3 hardware developers and 20-30 software developers.
This view makes a lot of sense to me. In fact, I feel silly for not coming to this idea on my own. At least I get the idea now—and so do you.