By Eddie Glenn
My colleague Jakob Engblom and I had the opportunity to meet with Atul Kwatra, Principal Engineer at Intel recently. Atul is responsible for driving virtual platform strategy and technical direction for the Intelligent Systems Group (ISG) at Intel. ISG focuses on products for the embedded, networking, and communications markets.
Specifically, we wanted to learn more about Atul’s vision on how Intel leverages virtual platforms to improve their product lifecycle to reduce risks, time to market, and costs.
Eddie Glenn: Atul, what are your main responsibilities at Intel?
Atul Kwatra: I provide technical leadership for ISG’s Virtual Platform efforts including functional modeling, performance modeling, high level synthesis, and external customer enabling. I am responsible for driving cross-disciplinary efficiencies across the architecture, design, software, and validation organizations using Virtual Platforms to improve the overall product development flow.
EG: What do you think are the primary product development challenges that semiconductor companies face in today’s world?
AK: The embedded and communications market is very fragmented with several strongly entrenched and successful silicon solution providers. To win in this market, semiconductor companies need to be agile enough to provide multiple application specific products with a low cost and extremely fast time to market. Increasingly, products require an efficient integration of hardware and software to win on the basis of time-to-market, power, and performance metrics.
Jakob Engblom: How can virtual platforms address those challenges?
AK: Virtual platforms provide a critical ability to optimize both hardware and software during the very early stages of the product development cycle. This is essential for delivering optimal products with the lowest possible development cost and time to market.
JE: How has Intel leveraged virtual platforms to improve its product development lifecycle?
AK: At Intel, virtual platforms enable cross-functional efficiencies across Architecture, Design, Validation, and Software disciplines to improve the overall product development cycle.
EG: What are the main benefits that you see Simics bringing to the table?
AK: Simics provides a capability to enable full-system simulation very early in the product development cycle. In addition to being a very fast simulator, Simics provides several advanced capabilities including full-determinism, multi-system synchronization, reverse execution, fault injection, and checkpointing (Editor’s Note: checkpoints provide the ability to save the complete system state & then later resume execution from the exact same point in time). This allows development teams to efficiently complete their validation and production software development in the pre-silicon timeframe and thus reduces the amount of time it normally takes to integrate hardware and software once Silicon arrives. This also allows our customers & partners to get early access to a full platform prior to silicon thus enabling an overall improvement in end customer Time-To-Market.
JE: What are virtual platforms used for at Intel?
AK: Virtual Platforms are typically associated with a functional modeling capability for software development. At Intel, in addition to register accurate functional modeling, virtual platforms are used for performance modeling, power modeling, simulating hybrid systems involving a mix of simulation and emulation/FPGA implementations, and early customer enabling.
JE: How early can you start working compared to when you had no virtual platforms?
AK: The product development flow based on virtual platforms involves early development of functional and performance models at the architecture definition phase. The functional models are initially used by the architecture definition team including both hardware and software architects to validate the architecture itself. The functional models of individual system components are later plugged into a virtual platform for the development of pre-silicon & post-silicon validation collateral; and early SW enabling. Before virtual platforms, hardware-software integration did not start before availability of stable RTL models that could be emulated, so virtual platforms provide a multi-month advantage.
JE: Which types of virtual platforms do you use (TLM, CC, ...)?
AK: We develop and use virtual platform models at various levels of abstraction. Several of our models have been developed in a non-proprietary simulation infrastructure based on industry standards (OSCI TLM – Open SystemC Initiative Transaction Level Modeling). We use the LT (Loosely-Timed) models for functional modeling and AT (Approximately-Timed) models for close to cycle accurate performance modeling. These models can be plugged into the Simics simulation infrastructure to complement the vast library of native-Simics functional models.
JE: What kind of data do you collect from the virtual platforms?
AK: In addition to using virtual platforms for developing software early in the product development cycle, we use them in conjunction with performance and power models to project and optimize performance and power characteristics of next generation products.
JE: What is the typical work flow?
AK: Typically, for ISG products, we leverage Intel’s core technology developed by the CPU and Chipset teams as much as possible and strive to innovate at the seams. We start with a core platform (CPU core, memory sub-system, Graphics – if needed) and add additional internal and/or external IP components required to provide the specific features for the embedded, networking, and communications markets. Our products include multi-core SoC’s and companion chips that go along with standard Intel platforms and provide hardware acceleration capabilities for market specific workloads.
JE: What kind of models do you write yourself, and which do you get from other parts of Intel?
AK: We usually get the CPU core models from other parts of Intel and develop models for components required to provide the specific features required for the embedded, networking, and communications markets.
JE: How do you validate the platforms?
AK: One of the key internal goals of virtual platforms is to enable development of the validation test suite early in the development cycle. This has the added benefit of validating the virtual platform itself based on running legacy tests from prior platforms and newly-developed focus tests for new features and capabilities. The virtual platform simulation environment also allows integration of RTL blocks to provide a system level context for newly developed IP blocks or blocks with pre-existing RTL. This allows validation of new IP blocks in a full-system environment. The RTL blocks can be synthesized into an emulation/FPGA system and connected to the virtual platform for speeding up the overall simulation as well.
JE: How important is TLM modeling compared to detailed modeling?
AK: Transaction Level functional models and detailed cycle-accurate performance models both have their places in the development flow. Functional models are used for early SW enabling, while performance models are used to optimize the micro-architecture and for early performance projections. Models derived from the functional/performance models are also fed into High Level Synthesis tools for studying power, area, and performance trade-offs much earlier in the development flow.
JE: Do you model actual boards, or just the core chipset?
AK: The goal is to model a complete system using an incremental phased approach.
JE: What types of engineers use the models?
AK: The models are used by hardware, software, and validation engineers.
EG: What is the primary business value that Intel receives from Virtual Platforms?
Atul: Virtual Platforms can help significantly improve product development efficiency and enable early HW/SW development. This leads to lower development costs and faster TTM/TT$ for Intel and its customers.
EG: How do you see Simics fitting into the Intel Virtual Platform strategy?
AK: Simics is an integral part of Intel’s Virtual Platform Strategy going forward. As it is relatively new to Intel, its role will continue to evolve over time. The goal is to deploy Simics as a fast functional simulation tool that provides a full-system capability and incrementally add new features to support additional usages.
Thank you Atul for your time! We look forward to working with you more in the future.
For additional information from Wind River, visit http://www.facebook.com/WindRiverSystems.