What?s in your platform?Other
March 23, 2009
Designing embedded computer systems is always difficult. Innovative technologies with increasing performance levels and smaller packaging present new obstacles every day. Fortunately, suppliers are making design easier by promoting the concept of a Platform-Oriented Architecture (POA), which provides a way to move up the supply chain and make the design and integration efforts go more smoothly. Just as politicians use their platforms to kick-start their programs, POAs provide a launching pad for embedded devices. So the question is, what should you know about platforms before starting your next project?
"In today's challenging business environment, developers are looking for ways to reduce cost through extensive software reuse and by leveraging turnkey platforms that combine best-of-breed hardware and software." - Tony Massimini, chief of technology, Semico Research Corporation
The definition of Platform-Oriented Architecture varies slightly from software to chips to boards to systems, but the concept remains the same. It is a bounded and integrated suite of components consisting of either or both software and hardware optimized to enable further integration into a final product for a specific application. Advanced platforms combine hardware and associated software designed to serve as the basis for a number of different systems to be integrated. Many other devices - Systems-on-Chip (SoCs), Application-Specific Standard Products (ASSPs), SBCs, and systems in a variety of combinations - are now considered platforms.
"The ultimate Platform-Oriented Architecture is an FPGA because you can do anything with it," asserts Craig Rawlings, senior director of product management at Certicom. "The idea of doing something universal is a pipe dream. But if we bind the problem, then it makes a lot of sense, and you can scope things in a way that streamlines a number of options, plus save on R&D and manufacturing."
How platforms evolved
In the early days of electronics, devices were usually custom-designed for a specific objective. Hardware and software were designed from scratch and took forever to develop. As the market matured, suppliers started to anticipate the needs of developers, but they did so in haphazard ways. They tried to maximize their market coverage and design products that served as many users as possible. General-purpose processors, computer boards, and Real-Time Operating Systems (RTOSs) emerged. Developers had to force-fit or tweak components to meet their specific application requirements.
From Rawlings' perspective, the first POA was really a CPU because it was programmable; you could do anything with it. But microcontrollers were among the first to formally embrace the platform concept. Suppliers would package together the core processor with various configurations of memory and I/O to target specific controller applications such as industrial control or medical devices.
Rawlings speculates that system architects stepped in and said, "Let's not build an architecture that tries to be everything to everybody." They proposed building a platform for a PDA or a mobile telephone - something more specific with binded features that are known requirements. Instead of building three chips or boards, designers could build one chip or board with selectable modes that can be turned off and on.
Eventually, suppliers started making alliances with others in the market to provide more complete solutions for embedded systems developers. Early attempts were loose alliances or ecosystems that covered as many of the design bases as possible. This made it easier for developers to get all the right pieces in place, but it still was a long road to product completion. Designers had to contact and work with multiple sources, lacking the assurance that pieces were fully compatible or even available.
Figure 1: Like matryoshka dolls, POAs can be nested in different layers, with additional features and value incorporated at each layer.
These alliances and ecosystems evolved over time. In many cases, the technologies were combined in packages that made the development path smoother and more efficient. Suppliers started talking about moving up the supply chain by offering more complete and integrated solutions. This strategy became even more effective as the electronic hardware and software suppliers began addressing specific application segments. Various hardware and software components were integrated, and the platform concept stuck.
In time, the PC emerged as a dominant general-purpose platform. However, many embedded applications cannot use a PC platform because they have size, weight, and power restrictions that make it impractical to use a PC. This issue led to the development of platforms that address the specific needs of embedded applications. Functions specific to market applications, from mobile devices to communications infrastructure, were defined and developed.
In many ways, POAs are like matryoshka dolls in that they can be nested beginning at the IP layer and moving through to the packaged system level (see illustration in Figure 1). Additional features and value are incorporated at each layer as integration becomes more complex. IP is packaged into a platform that can make integration into a chipset easier; chipsets are packaged into devices that make board design easier; boards are packaged into platforms that make systems integration easier; and systems are packaged in ways that make adding the final layers of value easier.
Chips, boards, and systems
Hardware platforms include the processing element, memory, and user I/O appropriate to certain applications. SoCs are usually targeted at specific applications, making them entry-level platforms by definition. ASSPs are designed for very targeted applications and thus are considered platforms. Add some specific software to support the hardware, and you get an even more robust and complete platform. Semiconductor suppliers often go the next step and develop reference designs that include not only the processor, but also a fabricated board and software package that speeds the use of the product in a final design.
Platforms were mentioned prominently in Xilinx's recent launch of its Spartan-6 and Virtex-6 products. "We are reaching the tipping point at which FPGAs become the prevailing silicon platform of choice for electronics manufacturers who need customization to differentiate their products but are faced with incredibly unattractive ASIC development costs," remarks Moshe Gavrielov, Xilinx president and CEO. "But in order for customers to increase their adoption of FPGAs, it's essential that we provide a comprehensive design environment that enables global design teams to address the programmable imperative and deliver products faster under these challenging economic and business conditions."
The Xilinx targeted design platform strategy encompasses the integration of five key elements:
- New Xilinx Virtex-6 and Spartan-6 FPGAs
- Design environments supporting and integrating industry-proven methodologies
- Scalable boards and kits adopting the industry-standard FPGA mezzanine connector
- Socketable IP cores
- Robust reference designs
These elements were emphasized as important features in another recent product debut. The CEVA HD-Audio solution is supported by a Software Development Kit (SDK) that includes software development tools, development boards, software system drivers, and an RTOS to enable quick and easy system development and integration. The CEVA-HD-Audio is further complemented by extensive algorithms and applications from a third-party development community.
OS platforms consist of an integrated suite of modules: the OS, firmware, and device drivers to run the target device's peripherals, file system, libraries, communications protocols for connectivity, and user application. OS suppliers have expanded the integration layer of additional software into their core OSs to incorporate much of the software that makes it easier to focus on the final application. They have continually improved the API, eliminating the need to worry about the routine middleware needed within an industry.
The platform strategy also applies to development tools. Greg Sykes, director of architecture and modeling at IBM Rational, points out that tools benefit from being packaged into platforms specific to certain market segments. Many companies such as cell phone and automotive manufacturers have their own methods for program management and development. Crafting platforms that conform to a familiar look and feel and providing tools that let designers quickly create modules needed by the application can save significant time in the lab.
The benefits of using a platform
Platforms resolve the problems involved in hardware and software component selection and ease the challenges of integrating and debugging the design, not to mention reduce the hassle of tracking down all the various components needed to develop a complete product. Today, suppliers tend to specialize in facets of the hardware or software needed for an embedded computer system. Because of this specialization, it can be very difficult to chase down remaining components for the final design.
Other suppliers have eased this challenge by integrating the specialized components into a platform. The level of integration can range from simply providing a reference, in which case it probably is not a true platform solution, to a fully integrated and tested configuration. The more integrated the platform, the higher the quality and reliability of the final product, if all goes to plan.
According to Wind River, development tools that are designed and tested with a platform strategy in mind can provide developers with visibility into the entire platform: application code, third-party libraries, and the OS. Developers can monitor variables, optimize performance, and find memory problems - all while the system is still running.
"Increasing competition coupled with challenging economic conditions place further demands on organizations to implement innovative services that reduce costs and streamline operations," states Greg Buzek, president of IHL Group. "By allowing plug-and-play connectivity with peripherals, embedded OSs such as Windows Embedded POSReady 2009 provide the flexibility in system components and software that retailers need, allowing them to lower the cost of ownership and increase efficiencies at the front end."
Targeted POAs help enable software and hardware designers alike to leverage open standards, common design methodologies, development tools, and runtime platforms. This allows designers to spend less time developing application infrastructure and more time building differentiating features into the end application.
Integration drives many of the other benefits of a platform, making it easier to add and replace components with some level of plug-and-play support. "We do the work of integrating all of this stuff together and making it work for a specific architecture," remarks Dan Cauchy, director of marketing at MontaVista. "In some cases, we write a lot of this stuff ourselves - for example, the porting of the Mozilla browser to ARM."
Cauchy mentions that getting integration to work at a high-quality level requires many staff-years of work. "Device manufacturers are telling us that this is really valuable because they get to start with an entire solution, and on top of that, it is fully supported by MontaVista," he says.
Features and common interfaces
Targeted POAs have the right set of features and interfaces for the target application. The choices have been well thought out and vetted through the target industry. Suppliers need to know their customers' markets to make the right choices.
OS platforms provide a common API, minimizing or even eliminating the need to agonize over hardware. Programmers can write a more generic interface and not worry about the details of the device. On the hardware side, interfaces like Ethernet, USB, CAN, and other application-specific choices are supplied.
As companies have tried to get to market faster and others have attempted to specialize, the use of third-party IP has skyrocketed. This has created a huge hurdle in the form of licensing, which can be very complex and expensive to manage and monitor. Passing the burden of IP management on to the platform supplier can ease this pain.
A POA can impact inventory in many positive ways. A well-designed platform can be quickly configured to meet the needs of multiple customers in custom configurations. For instance, a chipset supplier can build a single superset product in mass volumes while enabling specific features on demand as required by each customer. This allows the supplier to forecast an aggregate of parts instead of each individual configuration. This means less inventory, improved operational efficiency, and less price erosion because they are not trying to clear inventory.
Using a platform means that all of the modules do not need to be touched when troubleshooting. Platform components usually go through a rigorous debugging process before being deployed in many other related designs by other customers. POAs often have a better debugging interface that can make the whole process easier because it is designed with the complete platform in mind.
Many interfaces have industry test suites to ensure that the feature operates properly. For example, USB has test suites and compliance testing developed by the USB Implementers Forum. If the platform provider has completed the testing, this eliminates or reduces the need to test to the same level at the next step. In highly complex systems with many interfaces, this can save time and costs.
Standards and the ability to support changing standards
Organizations throughout the embedded community develop and evangelize standards necessary to the success of the industry. Platform suppliers are frequently key members of standards organizations, influencing the direction of the standard and ensuring its successful development. Many standards used in today's embedded devices are new or changing. Platform developers can reduce the burden on the design engineer by keeping track of the latest developments, incorporating them into the platform as they become available. You don't have to track all the nuances, develop solutions, and then figure out how to integrate and test.
In reality, device manufacturers always need some level of customization because each device is a bit different. Well-developed POAs leave room for some degree of customization either by the customer or with the help of the platform provider. Many suppliers have design service teams that can be employed to add just the right degree of customization to help your product stick out in the market. Suppliers have the inside advantage because they know the platform well. They use the input they receive from customers when assisting with customization to incorporate additional value in next-generation platforms.
Figure 2: Montabello is a Linux-based software platform that offers an integrated set of applications for mobile Internet devices.
Time to market
Anyone who has ever tried to round up, integrate, and test all the right pieces knows how much time can be saved using a well-developed POA. "It's important for manufacturers to be able to deliver products to market quickly, efficiently, and on budget," states Russell Harris, CEO of MontaVista Software. "By leveraging a platform like Montabello (Figure 2), our device customers can focus on building the best products, not developing a complex software infrastructure. Device manufacturers get a 6-12 month head start on their project, improving time to market and enabling them to realize significant development cost savings."
All of the previously mentioned benefits involve some cost-savings element. Learning how to take advantage of these benefits can maximize your investments.
Figure 3: Windows Embedded POSReady 2009 helps transition Point-Of-Service (POS) systems from transaction processing to enhanced customer service.
POAs can significantly reduce risks in your design. Many customers contribute to the platform architecture and expose it to a myriad of testing and usage scenarios that measure the design in ways you may not have considered. The platform supplier provides an additional level of expertise that you can lean on if you run into design issues.
Every vendor strives to develop a loyal base of customers, and POAs are an excellent way to develop that loyalty. All the benefits are evident to customers, and they show their appreciation by sticking with their suppliers. The pressure is on the suppliers to keep the platforms relevant and high quality.
"In an increasingly connected world, retail and hospitality businesses need technologies that help the transition from transaction processing to enhanced customer service and relationship building," asserts Ilya Bukshteyn, senior director of Windows Embedded marketing at Microsoft. "Windows Embedded POSReady 2009 (Figure 3) is specifically designed to help enable this transition. With Windows technologies such as Microsoft Silverlight, .NET Framework 3.5, and Windows Presentation Foundation, the platform enables a differentiated and compelling user experience that can lead to greater customer loyalty."
The downside: Getting locked in
The disadvantages of POAs begin with getting locked into a particular platform containing a subcomponent that might not fully or correctly meet your product's needs. Changing a subcomponent can sometimes be difficult or impossible because of its integration into the POA. If you think this is going to be something that you may need to do during development, then you should ask if the platform components are interchangeable. This is where standards can provide assistance. Correct implementation of strategic standards can make subcomponents more interchangeable.
Sometimes the platforms have too little or too much functionality. Adding or deleting subcomponents can be very difficult or cost-prohibitive. Again, make sure to verify the platform architecture's scalability.
The future of platforms
"Platform design is the wave of the future," contends Bryan Lewis, semiconductor research VP for Gartner. "Design reuse, time to market, and risk management are of top importance to system designers in general and especially in this troubled economy. Platform design brings clear benefits to the market while controlling the cost for both chip suppliers and system designers."
Suppliers of components used in embedded computing devices will continue to roll out new platforms that are more specific to existing and future applications. Platforms have an untangible advantage that is difficult to measure with traditional ROI - the advantage of supplier focus. For suppliers to develop credible, industry-acceptable platforms, they must understand the market problems and needs on both sides of their position in the supply chain. Not having this knowledge prevents them from developing winning platforms.
Microsoft's Mike Hall, technical product manager for Windows Embedded, sees a strong future for platforms and is looking at new market segments to determine the next step. Platforms benefit everyone along the supply chain by easing the pain of integration and managing IP and licensing costs yet leaving the door open to quick customization that lets developers differentiate their products from the competition.