Recently, I’ve started to see an interesting trend cropping up in SoC development. Companies and teams are adopting or “inheriting” the emulation platform of their vendor, partner, or customer to accelerate the SoC realization effort.
Adopting a common emulation platform allows multiple organizations to share data and replicate development environments. Emulation tests for a critical block from an IP vendor can be replicated in-house, and later used as a golden reference model for verification at the system level. Leveraging a common emulation platform and use model enables partners, vendors, and customers to share a high-performance software development environment. Integration testing, along with driver and application software development can occur at multiple sites in parallel prior to tapeout.
Although there are many potential benefits to using a common emulation platform, there are also many potential issues. Failure to address these issues can result in increased project delays and costs, effectively erasing the advantages of using a common platform.
The first potential issue to be addressed is the choice of emulator. In many cases, the choice of the emulation platform to be shared is imposed by one company over another. For example, an important customer might demand that a vendor verifies its IP using the same emulator.
However, many organizations already have a preferred emulator or FPGA prototyping platform, and have built a complex verification environment around it. Adding a new emulation platform requires more time and money. An organization that typically uses FPGA prototypes with a target hardware system may need to invest significantly in order to adopt a transaction-based emulation flow built around an Electronic System-Level (ESL) virtual platform.
Alternatively, if both parties have an equal say in the choice of emulation platform, there are other potential difficulties. Each company may have a centralized IT or CAD team that demands its own evaluation, and each could have differing criteria for success. Each company may have differing budgets for the project and differing procurement policies, creating further complications in purchasing a common platform. (more…)