|
Teaching them to Fish
Xilinx Expands Services
We’ll finally admit it.
Designing with FPGAs is hard.
We hear all the marketing pitches - you download the free software, plug in the development kit, push the sequence of “Go” buttons, and voila! The simulator plots out little waveforms. The synthesis tool thinks for about two seconds and says you met timing. Place and route successfully locates all six LUTs of the design and connects them together. The bitstream blasts through the jtag port into your demo board. You press the reset button. There they are! The blinking lights! Congratulations! You’ve just completed your first FPGA design. It couldn’t be any simpler than that, right?
Uh, yeah.
The thing is, you probably didn’t get into FPGA design so that you could add a traffic light controller to your company’s next product. Chances are, they won’t even be impressed that you can make the LEDs blink in sequence. Probably, you got into FPGA design because your company needed something added to the product that wasn’t available off-the-shelf as a pre-engineered chipset.
The plot thickens.
If you’re going to make real, practical use of that FPGA, you’re probably going to be designing something quite a bit more sophisticated than a traffic light controller. You’ll probably be pushing the envelope a bit. You may be taking a DSP function that requires too much performance for a software implementation and implementing a high-performance, low-power parallel implementation using hard-wired DSP blocks. You might even be dropping a processor, peripherals, and memory down on the FPGA, connecting them with an on-chip switch fabric or bus, and figuring out how to boot, debug, and tune the embedded soft-core processor to do your bidding. [more]
|