BANGALORE, INDIA: This commentary on the growing importance of embedded software in the hardware world is based on the presentation made by Raju Pudota, managing director, Denali Software, at the recently concluded ISA Vision Summit 2009.
Pudota focused on major prevailing trends, such as growth in UMPC (ultra mobile PCs) designs, multimedia and automotive. For hardware, it would involve higher integration, multiple embedded processors in one SoC, and multiple microcontrollers (MCUs) with independent functions. Most importantly, embedded software would be required to make all of this happen!
More software is required to run all of the IPs integrated on the chip. This software can be either procured from hardware IP vendors, or developed in-house, or even contracted to third party providers.
Next, the different types of processors would require having different skills and capabilities. Finally, integration and embedded OS level capabilities. Incidentally, embedded software has become a requirement on the semicon provider. However, third-party IP has been evolving slowly, he added.
Coming on to the role of semicon providers, he said that their activities are manifold. These involve developing software for in-house hardware components, sourcing software from hardware IP providers, integrating various software components, and also test software offered to the system integrator.
All of these growing activities present their own challenges. Typically, these are: the quality of software provided by hardware IP vendors, high integration time, software verification, and increased investment in software capabilities, such as the emergence of a new area of core competence.
Role of the ecosystem
The ecosystem, therefore, has a major role to play. These would include:
Ease integration of embedded software
Ease of generation of hardware-aware software: Define methods to abstract design to enable auto-generation of device drivers; define methods to auto-generate device drivers; few companies are investing in this area.
Define framework/platform to integrate software: Similar to on-chip interconnect; leverage mature general software development processes; and customize to specific requirements of embedded area.
Finally, make software offerings open-source; leverage large independent developer community.
Ease testing of embedded software
According to him, the leading semicon providers have home grown software integration and testing platforms
* Work very well for in-house developed software.
* Pressure on third-party IP provider to customer delivery.
* Increases cost and delivery pressure on IP providers.
* Performance issues with integration of multiple IPs.
They are making use of traditional methods, such as hardware-software co-simulation, simulation acceleration, emulation, and FPGA testing. However, no standard methodology is said to be evolving.
Many industry solutions currently exist for hardware-software integrated testing, such as CoWare, SystemC, Mirabilis, etc. There are also things like simulation accelerators (parallel processing), and emulators (FPGA based).
Challenges involved
Challenges include a huge investment in model development, high cost of ownership, the ability of third party IP provider to enable integration, and large turnaround time per test.
A proper framework for the integration and testing of IPs and embedded software is the need of the hour. This would involve:
* Being embedded processor agnostic.
* Have the ability to handle multiple local processors.
* Facilitate ease of integration of embedded software IP.
* Facilitate quick and reliable migration path from RTL to this framework.
* Performance.
Pudota added that while this is a tough challenge, it would improve time-to-market for complex SoCs. A third-party IP ecosystem could also be developed. Thereby, it would enable the semicon provider to focus on its core competencies.