Embedded Software: Its Growing Influence on the Hardware world ISA Vision Summit 2009, Bangalore 16 th FEB 09 V. R. Venkatesh Head, Product Engineering Services, Wipro Technologies.
Wipro in Product Engineering Computing Telecom Semiconductors Consumer Electronics Aerospace Automotive Mobile Devices Medical Devices Industrial Started in 1981 with primary focus of providing quality computing products to India Global reach with US as primary focus Leveraged local product knowledge to help clients Investment in own IPs Largest 3 rd Party Product Engineering services provider in the world Cross learning from domains to implement best-in-class designs to reduce development times 2 1980 1990 2000 2
Medical Devices : Adding functionality through software - An empirical study Infusion Pump: A device designed to deliver drugs and/or 'biologicals', at low doses and at a constant or controllable rate. An efficient infusion pump ensures that the 5 rights of Medication Safety are never violated. 5 rights of Medication Safety: Right Person, Right Dose, Right Medicine, Right Time, Right Way 3 Software image/footprint size: 1.1MB Old Generation Pumps Basic Infusion device Supports only continuous drug delivery on 1 channel Minimal or no drug library LED display Software image/footprint size: 30 MB Current Generation Pumps Smart Infusion Pump with multiple (up to 4) channels Auto programming(1000+ drugs) Supports bolus, intermittent and continuous drug delivery Wireless connectivity Patient Safety controls Alarms(audio and visual) Detection of Proximal/distal occlusions and Air in Line Touch screen color display Software image/footprint size: ~ 60+ MB Next Generation Pumps Patient wearable and portable pump retaining all features of the smart pump Clinical decision support for disease specific therapies such as diabetes/tgc etc Hospital IT infrastructure for point of care automation Advanced safety features Localization supporting international languages 3
Adding functionality in mobile devices Device Single chip solution Client proprietary operating systems tightly coupled with middleware frameworks More dual core chip solutions to run multimedia and MIPS intensive apps on a separate apps processor Open operating systems such as symbian, linux Sensors such as motion sensors Applications Basic applications such as phonebook, call, sms etc None or little multimedia and content delivery Applications such as multimedia, messaging, email services, GPS, Browsing, Location-based services etc. Application frameworks such as J2ME, Flash UI on the phone Convergence as a consumer device eg: 12 MP camera User Interface Basic User Interface Usability is becoming the focus rather than pure user interface of the mobile UI getting differentiated eg: Touch screen 4 4
Adding functionality in mobile devices Impact on software complexity OS becoming open source to enhance innovation e.g. SMP - Symbian OS running across multiple processors Wider developer community cutting across different platforms e.g. Java, Flash, xhtml/javascripts/c/c++ apps on the same mobile Modem and stacks getting more complex and catering to specific operator needs Middleware getting complex to create enhanced UI toolkits, fast java processors, IP based protocol interface stacks such as SIP/RTP/RTSP API enhancements for developers to make more native calls to the underlying OS Latency of applications becoming a challenge and impacting the usability experience Applications need to be optimized to run faster Middleware/OS optimization to enable faster application runtimes Peripherals chipset are being added to the apps processors WIFI, BT, GPS etc 5 The operating systems and middleware are becoming more complex to enable quicker and easy to develop mobile applications and also develop complex mobile application with the right API support 5
New Advances in Automotive Telematics & Navigation Implemented thru complex software and demanding more HW features. Vehicle Connectivity: Connectivity for Entertainment Connectivity to Audio streaming BT phones, PMPs, external storage devices (mainly USB MSD) Broadband connectivity (Mobile WiMAX / 3G (UMTS LTE)) for content on demand Connectivity for Information Hands Free Telephony, SMS download and readout Internet search PND connectivity and support for Traffic Information / incident updates Connectivity for Driving Camera connectivity V2V and V2I connectivity using DSRC or Cellular Networks Remote Vehicle Control and Diagnostics Advanced 3D Navigation: Location aware services 3D mapping interface shows actual buildings, streets etc. Added Complexity: Touch screen UI, Text to Speech, Hard drive/dvd based Graphics Processing Units (GPU) for Real-time Rendering of environment and route 6 6
Increasing software adding to challenges 50 IC Design Costs (USD M) 40 30 20 10 Architecture Physical Prototype Verification Validation Software Today the share of software is ~50% of the total cost of development 0 350 nm 250 nm 180 nm 130 nm 90 nm Source: IBS Challenges in developing Embedded Software Multiple regulations Split personality : display (local & remote), compute & communicate UI (remoting, touch, gestures, Voice) Low Power Design (use of CPU & I/O stages, mostly-on on to mostly sleep duty cycles ) Application Specific Accelerators (software, FPGA combined flexibility) Wireless as de facto connectivity (RS 232/USB like ubiquity) Integrated sensors & geospatiality for enhanced apps Built for untrusted environments (security, virtualization) Integration with service providers & enterprise systems 7 7
Summary: End users requirements adding complexity to designs Price Functionality Voice SMS WAP 1990 2000 2005 Increasing Features Voice Video Messenger GPS Wi-Fi Camera PDA MP3 Price/ feature Increasing Device functionality Increased Convergence of Devices Influence on computing power, memory & connectivity (I/O) Processing units now include Media processors and even GPUs Need for Multi-core processors as multiple applications run concurrently Hardware & software in an embedded system are complimentary to each other Software (middleware & Applications) should be used as a Differentiator to add more winning features to any new product Need for a platform approach for embedded software development to enable scaling of features and usage across applications Cost vs. Functionality vs. Efficiency tradeoff 8 8
Thank You