Last week at the Moscone Center in San Fransisco, the 46th annual Design Automation Conference (DAC) took place. I’ve attended this conference for the past 4 years and decided not to attend this year. This year I attended virtually using the web.
In the EDA media and for EDA trade shows, as Bob Dylan sang, the times they are a-changin’. It’s no secret that the incumbent media is struggling to find a business model that works in the uncharted waters of the future. As history repeats itself, the “hidden hand of supply and demand” will no doubt fix some shortfall with the traditional model — a shortfall that may not be fully understood until it is solved.
With the electronic media shedding their top writers, the coverage of DAC by trade publications is diminishing. At the same time, new media, such as blogs, Twitter, and LinkedIn are picking up some slack. For example, Richard Goering and Michael Santarini who historically covered DAC for EETimes and EDN now write for Cadence and Xilinx respectively. Some of the best DAC summaries that I read were blogged by:
Additionally, on Twitter, the #46DAC tag provided useful information about what was going on at the tradeshow. For me, some tweeps who provided informative DAC coverage via Twitter included:
Based on the various reports and summaries from DAC, there is an apparent need for collaboration (as mentioned by keynote Fu-Chieh Hsu of TSMC) and productivity (as mentioned by the CEO panel). The same forces that are changing EDA trade media and conferences — the power of the Internet, coupled with economic forces –may enable the solution to better collaboration and productivity. Cloud computing business models like Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS) are starting to prove themselves in other industries and will continue to find their way into commonplace. Exactly what the “hidden hand of supply and demand” has in store for EDA and cloud computing has yet to be revealed and we are just in the early stages now.
From various blogs and Twitter, without having attended DAC, I understand that:
In conclusion, I was able to absorb a lot of details about DAC without attending thanks to all the bloggers, Tweeters and trade media. EDA is changing in some exciting ways that scream opportunity for some and failure for others, and that’s what makes the future so exciting.
While on an ocean side walk, I daydreamed of being struck by a great IP/subsystem idea with potential for royalty licensing. I imagined organizing a team and jumping into action, developing the RTL logic, and processor integration. Should I choose Virtual and/or FPGA prototyping?

ocean side walk
Virtual Platform
It’s all about getting the software working as soon as possible. The Google Android Emulator is an excellent example of how Google was able to get the software working without requiring developers to possess the device hardware. The Android Emulator is described as a “mobile device emulator — a virtual mobile device that runs on your computer.” Android abstracts the hardware, ARM processor, and Linux kernel with an Eclipse based Java framework, targeting Android’s Dalvik Virtual Machine, a register-based architecture that’s more memory efficient than the Java VM.
Virtual Prototyping
Clearly the virtual Android emulator/platform makes software development easier. Similarly, a virtual prototype makes abstract product validation easier. With a virtual prototype, the developers can explore different algorithms and architectures across the hardware and software abstractions. Things like instruction set, on-chip interconnect, acceleration, memory, interrupt, and caching architecture can be explored by digital designers and firmware ahead of the VHDL and Verilog solidification. Still, despite any effort spent on virtual prototyping, physical validation is essential before offering an IP for license. FPGA prototyping is a good choice for all but the most complex and highest performance IP.
FPGA Prototyping
Those who know firmware and RTL coding, should have no problem getting basic examples running on an FPGA dev kit in the first day or two. Those with experience validating a chip in the lab understand that so much really comes down to using embedded software to drive the tests. Today’s Embedded System FPGA kits provide on-chip processors and the whole development environment. Some available embedded FPGA processor options are listed in the following table:
| Vendor/Processor | On-chip interfaces | Tools |
|---|---|---|
| Altera NIOS II
(soft core) |
Avalon | SOPC Builder
Quartus II NIOS II IDE, with Eclipse CDT & GNU compiler/debugger |
| Xilinx PowerPC
(hard core) |
CoreConnect PLB & OPB | Embedded Development Kit (EDK), with Eclipse CDT GNU compiler/debugger
Xilinx Platform Studio (XPS) ISE |
| Xilinx MicroBlaze
(soft core) |
CoreConnect PLB & OPB | Embedded Development Kit (EDK), with Eclipse CDT GNU compiler/debugger
Xilinx Platform Studio (XPS) ISE |
| Actel ARM
(soft core) |
AMBA AHB & APB | Libero IDE, CoreConsole, SoftConsole (Eclipse, GNU Compiler/debugger) |
Short of having deep pockets for an ASIC flow, or a platform provider lined up to license the IP and spin prototype silicon, FPGA prototyping makes good sense. Virtual platforms make sense for reaching software developers, so they can interface with the IP as soon as possible. One problem with providing models for developing software before the hardware is complete is that it’s difficult to keep the different perspectives aligned as the design evolves. Tools like SpectaReg that model hardware/software interfacing and auto-generate dependent code keep the different stakeholders aligned, resulting in quicker time to revenue for the IP.
So back to my oceanside daydream… how would I get the IP to market and start making money? It depends on the target market. If the end user targets embedded system FPGAs then it’s a no brainer - go straight to FPGA prototyping and don’t worry about virtual platform. If the target market is mobile silicon platforms, then virtual prototyping/platforming makes sense. Having validated silicon in hand is ideal but impractical in many circumstances. FPGA prototyping is pretty darn compelling when you consider the speedy turnaround times, and the low startup costs.