
Hardware-Software Co-Design of Embedded Systems WAYNE H. WOLF, SENIOR MEMBER, IEEE Invited Paper This paper surveys the design of embedded computer systems, techniques were sufficient to satisfy functional and perfor- which use software running on programmable computers to im- mance goals in a reasonable amount of time. However, plement system functions. Creating an embedded computer system modem embedded systems may include megabytes of code which meets its performance, cost, and design time goals is a hardware-software co-design problewhe design of the hard- and run at high speeds to meet tight performance deadlines. ware and software components influence each other. This paper In such large projects, building a machine and seeing emphasizes a historical approach to show the relationships be- whether it works is no longer satisfactory. To be able to tween well-understood design problems and the as-yet unsolved continue to make use of the ever-higher performance CPU’s problems in co-design. We describe the relationship between hard- made possible by Moore’s Law (which predicts that the ware and sofhvare architecture in the early stages of embedded system design. We describe analysis techniques for hardware and number of transistors per chip doubles every year), we software relevant to the architectural choices required for hard- must develop new design methodologies and algorithms ware-software co-design. We also describe design and synthesis which allow designers to predict implementation costs, techniques for co-design and related problems. incrementally refine a design over multiple levels of abstraction, and create a working first implementation. I. INTRODUCTION We will use the embedded system design process as a This paper surveys the state of the art in the design framework for the study of co-design. The goal of this of embedded computer systems products which are im- paper is to identify technologies which are important to plemented using programmable instruction-set processors. co-design and to provide examples which illustrate their While embedded systems range from microwave ovens role in co-design. We must, due to space limitations, ignore to aircraft-control systems, there are design techniques certain topics, such as the design of fault-tolerant systems common to these disparate applications. Furthermore, em- and verification. Our description of the literature on covered bedded system design often requires techniques somewhat topics is also meant to be illustrative, not encyclopedic. In different than those used for either the design of general- spite of these limitations, we hope that the juxtaposition purpose computers or application software running on those of topics presented here will help to illustrate both what is machines. Embedded computing is unique because it is a known about co-design and what remains to be done. hardware-software co-design problem-the hardware and The next section surveys the uses of embedded comput- software must be designed together to make sure that the ers and the embedded system design process. Section 111 implementation not only functions properly but also meets describes performance analysis of hardware and software performance, cost, and reliability goals. elements. Section IV surveys techniques for the design of While a great deal of research has addressed design hardware-software systems. methods for software and for hardware, not as much is 11. EMBEDDEDSYSTEMS AND SYSTEM DESIGN known about the joint design of hardware and software. Microprocessors, and in particular high-performance 32-bit A. Characteristics of Embedded Systems microprocessors cheap enough to use in consumer prod- The earliest embedded systems were banking and trans- ucts, have stimulated research in co-design for embedded action processing systems running on mainframes and ar- systems. So long as embedded processors were small and rays of disks. The design of such a system entails hard- executed only a few hundred bytes of code, hand-crafted ware-software co-design: given the expected number and Manuscript received December 29, 1993; revised April 4, 1994. type of transactions to be made in a day, a hardware The author is with the Department of Electrical Engineering, Princeton University, Princeton, NJ 08544 USA. configuration must be chosen that will support the expected IEEE Log Number 9402008. traffic and a software design must be created to efficiently 0018-9219/94$04.00 0 1994 IEEE PROCEEDINGS OF THE IEEE. VOL. 82, NO. 7. JULY 1994 961 make use of that hardware. Because early transaction pro- a belief by the designers that implementing some of the cessing systems were built from very expensive equipment, system’s functions on microprocessors will make one or they were used for relatively few but important applica- more of those goals easier to achieve. One lurking prob- tions. However, the advent of microprocessors has made lem with any kind of software design that also holds the average embedded system very inexpensive, pushing for embedded systems is the desire, well documented by microprocessor-based embedded systems into many new Brooks [7], to add features at the expense of schedule application areas. When computers were used for only and design elegance. In addition, embedded systems have a few types of applications, design techniques could be added problems due to their design constraints. Designing developed specific to those applications. Cusumano [ 161 code to meet a performance deadline or squeezing code documented the labor-intensive techniques used by Japan- into the given amount of ROM can be very difficult ese computer system manufacturers to build mainframe- without a well-understood design methodology to help and minicomputer-based systems for industrial automation, guide decisions. The design of embedded systems is not as banking, and other capital-intensive applications. When the well understood as the design of integrated circuits, which hardware is expensive, it is easier to justify large personnel have several methodologies for different cost-performance budgets to design, maintain, and upgrade embedded soft- tradeoffs-sea-of-gates, standard cell, full-custom-and de- ware. When microprocessors are used to create specialized, sign tools for the phases of design in each methodology. low-cost products, engineering costs must be reduced to While embedded system designers can make use of ex- a level commensurate with the cost of the underlying isting tools for the hardware and software components hardware. Now that microprocessors are used in so many once the design has been partitioned, much remains to be different areas, we need a science of embedded system learned about how a system is partitioned into hardware design which can be applied to previously unforeseen and software components. Methodologies and tools for application areas. hardware-software co-design are critical research topics for Because microprocessors can be used in such a wide embedded system design. range of products, embedded systems may need to meet Hardware-software co-design of embedded systems must widely divergent criteria. Examples of embedded systems be performed at several different levels of abstraction, but the highest levels of abstraction in co-design are more include: abstract than the typical software coder or ASIC designer simple appliances, such as microwave ovens, where may be used to. Critical architectural decisions are made the microprocessor provides a friendly interface and using abstract hardware and software elements: CPU’s and advanced features; memories in hardware, processes in software. As a result, an appliance for a computationally intensive task, such the initial hardware and software design problems are high- as laser printing; level: the first hardware design decision is to build a a hand-held device, such as a cellular phone, for which network of CPU’s, memories, and peripheral devices; the power consumption and size are critical but digital first software design problem is to divide the necessary signal processing and other sophisticated tasks must functions into communicating processes. At first blush, a be performed; hardware designer in particular may not consider CPU an industrial controller in a factory, for which reliabil- selection to be true hardware design. For example, the ity, maintainability, and ease of programmability are major hardware architectural decision may be to choose often concems; between a 386-based or 486-based PC. However, that task a safety-critical controller, such as an anti-lock brake is not so different from the design choices faced by VLSI controller in a car or an autopilot. designers. A chip designer does not design the threshold Most readers would agree that each of these examples voltage, transconductance, and other transistor parameters is an embedded computing system, but a comprehensive to suit a particular application-rather, digital logic design definition of embedded computing has not yet achieved requires choosing a circuit topology and computing transis- wide acceptance. There are clearly examples which may tor WIL’s. The typical ASIC designer will not deal with or may not fit varying definitions of a system. For exam- transistors at all, but will choose logic gates from a library ple, many industrial and scientific control applications are and wire them together to implement the desired function. implemented on PC’s. Since these applications are dedi- Whether the components to be selected and interconnected cated, many (though
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages23 Page
-
File Size-