Global Sources
EE Times-India
EE Times-India > EDA/IP

Rising software complexity dictates FPGA-based prototyping

Posted: 01 Nov 2007     Print Version  Bookmark and Share

Keywords:ASIC SoC prototyping  design verification methodology  software hardware complexity 

The spiraling cost of ASIC and SoC devices is forcing semiconductor vendors to seek satisfactory returns on their investment by serving broader markets with each device. The trend towards increased use of software provides an effective mechanism to do so, because increased software content equates to more features. Software variations, in turn, offer market-specific product differentiation.

As a result, it's common to find a million lines of software code in an ASIC or SoC. Furthermore, the growing use of multicores is adding to the tremendous growth of software used in these devices, further increasing their complexity. What does this trend toward increased software mean for the overall design process?

FPGA-based prototypes
Rising software complexity dictates that software development start much earlier in the design cycle if a company wants to hit its time-to-market goals. Because software complexity is high for new applications, development can take up to 18 months, so companies need to start software development well in advance of the chip roll-out date. Waiting until after the hardware is developed is way too late.

FPGA-based prototypes are an ideal software development platform because they can run software at least 10 times faster than alternative verification methodologies such as emulation and simulation. While each verification alternative has its place in the verification flow, only FPGA-based prototypes run fast enough to exercise very complex software applications and operating systems. Optimal system integration and software testing require speeds above 10-50MHz or even 100MHz. Moreover, FPGA-based prototypes are the only solution that can achieve these speeds, which is why their use is on the rise.

Lower cost is another key reason for the growing use of FPGA-based prototyping. These days it's not unusual to have 100 to 200 software developers working on a complicated SoC. Because FPGA-based prototypes are both affordable and deployable, they can be distributed widely to various members of the software development team. This means that most of the software development team members—regardless of location—can be up and running months earlier than with other approaches.

Integrating software with hardware is an arduous process. Design teams must ensure that all the specifications have been implemented as planned. This is normally done after the hardware design has been thoroughly tested and is deemed free of bugs.

Inevitably though, even after extensive verification, hard-to-find bugs are revealed late in the game when software and hardware come together. Bugs in complex SoCs can be buried deep in the system and manifest themselves in non-deterministic ways because of complex and unexpected interactions between the hardware and software. Simply detecting these bugs can require extremely long and time-consuming test sequences, which are impractical with slower verification methods. Moreover, once a problem is detected, the actual debugging of the design also requires a significant amount of time and effort. New approaches for prototype debug, such as Synplicity's TotalRecall full visibility technology, simplify these efforts by capturing test benches for hard-to-find bugs so that they can be replayed in a simulator.

FPGA-based prototypes have another interesting and powerful application unrelated to design verification—they can be used for architectural exploration at the very outset of the design. For example, an architect might want to explore DSP or graphics algorithms to see how performance varies with different algorithms or different implementations. In this case, hardware performance is required to evaluate the impact of architectural changes on a video graphics algorithm. With FPGA-based prototyping, an architect can accomplish this exploration early in the design cycle. This is to assure that an effective choice was picked prior to seeing the performance of the actual SoC.

Based on interaction with customers, customer surveys and vendor interactions, Synplicity has estimated that over 90 percent of SoCs and ASICs are being prototyped with FPGAs today. The demand for ASIC and SoC prototypes is growing at double-digit rates, and given industry predictions of multicore use by market research firm Gary Smith EDA, it will continue.

In spite of these benefits, prototyping with FPGAs does not replace other verification approaches. Instead, FPGA-based prototyping is an important addition to the techniques available today. In fact, better integration with the panoply of verification methodologies is a major avenue for future development.

Much can be done to make prototypes faster to bring up and easier to change. The ultimate goal is to create an environment where designers can get to work quickly, debug rapidly and make changes without delay. In this new era, FPGA-based prototyping will have a key position along with other verification methodologies. The ability to run "at-speed" will be an indispensable part of SoC verification. Only then will designers be equipped to deal with the emerging challenges associated with increased device and software complexity.

- Andrew Haines
Senior VP of Marketing
Synplicity Inc.

Comment on "Rising software complexity dictates ..."
*  You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.


Go to top             Connect on Facebook      Follow us on Twitter      Follow us on Orkut

Back to Top