Prototyping of embedded systems : an analysis of industrial
approaches aimed at reducing time-to-market
Citation for published version (APA):
Rensink, A. M. (2000). Prototyping of embedded systems : an analysis of industrial approaches aimed at reducing time-to-market. Technische Universiteit Eindhoven. https://doi.org/10.6100/IR538632
DOI:
10.6100/IR538632
Document status and date: Published: 01/01/2000
Document Version:
Publisher’s PDF, also known as Version of Record (includes final page, issue and volume numbers)
Please check the document version of this publication:
• A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website.
• The final author version and the galley proof are versions of the publication after peer review.
• The final published version features the final layout of the paper including the volume, issue and page numbers.
Link to publication
General rights
Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain
• You may freely distribute the URL identifying the publication in the public portal.
If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please follow below link for the End User Agreement:
www.tue.nl/taverne Take down policy
If you believe that this document breaches copyright please contact us at: openaccess@tue.nl
providing details and we will investigate your claim.
ototypin
Prototyping of Embedded Systems
An Analysis of Industrial Approaches Aimed
Prototyping of Embedded Systems
An Analysis of Industrial Approaches Aimed
at Reducing Time-to-Market
PROEFSCHRIFT
ter verkrijging van de graad van doctor aan de Technische Universiteit Eindhoven, op gezag van de Rector Magnificus, prof. dr. M. Rem, voor een commissie aangewezen door het College voor Promoties in het openbaar te verdedigen op maandag 4 december 2000 om 16.00 uur
door
Alexander Michael Rensink
Dit proefschrift is goedgekeurd door de promotoren:
prof. Dr.-Ing. J.A.G. Jess en
prof. ir. M.P.J. Stevens
©Copyright 2000 A.M. Rensink, 's-Hertogenbosch
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written consent of the copyright owner.
Druk: Drukkerij Elka B.V., Tilburg
CIP-DATA LIBRARY TECHNISCHE UNIVERSITEIT EINDHOVEN
Rensink, Alexander M.
Prototyping of embedded systems : an analysis of industrial approaches aimed at reducing time-to-market I by Alexander M. Rensink. -Eindhoven:
Technische Universiteit Eindhoven, 2000. Proefschrift. - ISBN 90-3 86-1780-1 NUGI 832
Trefw.: ingebedde systemen I software-ontwikkeling; prototypes I programmeerbare logische schakelingen I grote geintegreerde schakelingen ; CAD I produktontwikkeling.
Subject headings: embedded systems I rapid prototyping industrial I programmable logic devices I hardware-software codesign I CAD I product development.
Chapter
IChapter 2
Contents
List of Figures v List of Tables ix Abstract xiii Samenvatting xv Acknowledgments xvii Introduction 11.1 Electronic Design in Retrospect ... 2
1.2 Prototyping of Embedded Systems ... .4
1.2.1 Characteristics of Embedded Systems ... .4
1.2.2 Difficulties in Designing Embedded Systems ... 5
1.2.3 Properties of a Prototype ... 6
1.2.4 Prototyping: Extension Instead of Substitute ... 10
1.3 Research Motivation and Approach ... 11
1.3 .1 Scientific Motivation ... 11
1.3.2 Industrial Motivation ... 12
1.3 .3 Research Approach ... 13
1.4 Outline and Conventions of the Thesis ... 14
1.4.1 Thesis Outline ... 14
1.4 .2 Thesis Conventions ... 16
Background 21 2.1 Complexity of Embedded Systems: Fast-Paced Evolution ... 22
2.2 Fundamentals of Embedded System Design ... 26
2.2.1 Overview ... 26
2.2.2 The Need for Early Feedback in Modem Time-Driven Product Development Processes ... 28
2.2.3 Requirements Analysis ... 30
2.2.4 Architecture Definition ... 30
2.2.5 Module Development ... 33
11 Contents Contents llJ
2.2.7 Product Engineering ... 38
Chapter 5
Industrial Cases, Part Ill:2.3 Fundamentals of Prototype Design ... 39 Alternative Prototyping Approaches 147
2.3.1 Overview ... 39
2.3.2 Benefits of Prototyping ... .41
2.3.3 Programmability, enabler for flexibility, observability and time-to-implementation-availability ... .43
2.3.4 Mapping and Remapping Methodologies ... .45
2.4 Programmable Logic Devices ... 50
2.4.1 PLD Technology ... 50
2.4.2 PLD Complexity Growth ... 51
2.4.3 Partitioning into PLDs ... 55
5.1 Development of a 100 Hz TV Feature Box ... 148
5.1.1 PrinciplesoflOOHzTV ... 148 5 .1.2 System Architecture and Characteristics ... 151
5 .1.3 Architecture and Characteristics of the Prototyped Module 152 5 .1.4 Design Flows and Prototyping Method ... 156
5.1.5 Development Results ... 163
5 .1.6 Discussion ... 168 5.2 Development of an MPEG-2 Video Encoder for Consumer Applications ... 174 5.2. l Principles ofMPEG-2 Video Encoding ... 175
Chapter 3
Industrial Cases, Part I: Development of a DVB Integrated Receiver Decoder 59 5.2.2 System Architecture and Characteristics ... 1775.2.3 Architecture and Characteristics of the Prototyped Module 178 5.2.4 Design Flows and Prototyping Method ... 180
3.1 Principles of Digital Video Broadcasting ... 60 5.2.5 Development Results .................................. 187 3.2 System Architecture and Characteristics ... 64 5.2.6 Discussion ............................ 190
3.3 Architecture and Characteristics of the Prototyped Modules ... 69
3.3.1 Descrambler ... 69
3.3.2 Demultiplexer ... 71
Chapter 6
Conclusions 195 3 .4 Design Flows and Prototyping Method ... 733.4.1 Overview of the Design Process ... 74
3 .4.2 Incentives for Prototyping ... 77
Bibliography 205 3.4.3 Module Development ... 78
3 .4.4 Prototype Development ... 81 Glossary 219 3.5 Development Results ... 85
3.6 Discussion ... 96 Curriculum Vitae 225 Index 227
Chapter 4
Industrial Cases, Part II: Development of a DVD-Video Player 103 4.1 Principles of Digital Versatile Disk ... 1044.2 System Architecture and Characteristics ... 106
4.3 Architecture and Characteristics of the Prototyped Modules ... 111
4.3.1 DVD Stream Manager (DSM) ... 112
4.3.2 DVD Video Post-Processor (DVP) ... 114
4.4 Design Flows and Prototyping Method ... 117
4.4.1 Overview of the Design Process ... 117
4.4.2 Incentives for Prototyping ... 119
4.4.3 Module Development ... 121
4.4.4 Prototype Development ... 124
4. 5 Development Results ... 129
IV Contents v
List of Figures
Figure 1.1 Properties in comparison: simulation (acceleration) of design description
vs. prototype implementation vs. target implementation ... 7
Figure 1.2 Basic design methodology: ideal (left) and actual ... 17
Figure 2.1 Transistor density and memory size of DRAM devices ... 23
Figure 2.2 Transistor density oflntel microprocessors ... 24
Figure 2.3 Design phases for embedded systems design ... 27
Figure 2.4 Architecture definition phase (example) ... 31
Figure 2.5 Design phases for module development ... 33
Figure 2.6 The concept of hierarchical design ... 34
Figure 2.7 Software module interconnection architecture ... 37
Figure 2.8 Design phases for prototype development of a hardware module ... 39
Figure 2.9 Benefits of prototyping over traditional design ... .42
Figure 2.10 Mapping methodologies for prototype development ... 46
Figure 2.11 Example of a prototype remapping methodology: design reuse of a prototype implementation through network remapping ... .49
Figure 2.12 Logic and memory capacity of Altera PLDs ... 54
Figure 3.1 First generation DVB integrated receiver decoder (Philips) ... 59
Figure 3.2 Sequence of encoding operations in a DVB transmitter ... 62
Figure 3.3 Functional decomposition of the DVB integrated receiver decoder ... 65
Figure 3.4 DVB integrated receiver decoder hardware architecture ... 67
Figure 3.5 Top-level architecture of the Descrambler [ 107] ... 70
Figure 3.6 Top-level architecture ofthe Demultiplexer [108] ... 72
Figure 3.7 Design flow for module development of the Descrambler and Demultiplexer ... 79
VI List of Figures List of Figures VII
Figure 3.8 Design flow for prototype development of the Figure 5.9 Top-level architecture of the prototype implementation
Descrambler and Demultiplexer ... 82 of the MPEG-2 Video Encoder [144] ... 179
Figure 3.9 Photograph of the Demultiplexer prototype ... 88 Figure 5 .10 Design flow for module development of the MPEG-2 Video Encoder ... 181
Figure 3. I 0 Utilization of PLD resources within the Descrambler prototype ... 92 Figure 5.11 Design flow for prototype development of the MPEG-2 Video Encoder ... 182
Figure 3.11 Utilization of PLD resources within the Demultiplexer prototype ... 92 Figure 5.12 Progress of prototype and module development Figure 3.12 Progress of module and prototype development for the for the MPEG-2 Video Encoder ... 189
Descrambler and Demultiplexer ... 95
Figure 4.1 DVD-Video player (Philips) ... 103
Figure 4.2 Functional decomposition of the DVD-Video player ... I 07 Figure 4.3 DVD-Video player hardware architecture ... 109
Figure 4.4 Top-level architecture of the DSM [122] ... 112
Figure 4.5 Top-level architecture of the DVP [123] ... 115
Figure 4.6 Design flow for module development of the DSM and DVP ... 122
Figure 4.7 Design flow for prototype development of the DSM and DVP ... 125
Figure 4.8 Photograph of the DSM (left) and DVP prototypes ... 133
Figure 4.9 Utilization of PLD resources within the DSM prototype (based on first silicon) ... 137
Figure 4.10 Utilization of PLD resources within the DVP prototype (based on first silicon) ... 137
Figure 4.11 Progress of module and prototype development for the DSM and DVP .... 139
Figure 5 .1 Straightforward field repetition adversely affects motion portrayal [ 136]. .. 149
Figure 5 .2 Fifth-generation 100 Hz feature box hardware architecture ... 151
Figure 5.3 Top-level architecture of the PICNIC [138] ... 153
Figure 5.4 Design flow for module development of the PICNIC ... 158
Figure 5.5 Design flow for prototype development of the PICNIC ... 162
Figure 5 .6 Progress of module and prototype development for the PICNIC ... 167
Figure 5.7 Relationships between the three MPEG-2 picture types ... 177
VIII List of Figures
IX
List of Tables
Table 1.1 Two examples illustrating the concepts of methodology, flow and tool. ... 16
Table 1.2 Glossary of symbols ... 19
Table 2.1 Characteristics of Altera PLDs from 1984 till 1999 ... 52
Table 3.1 Status of the DVB integrated receiver decoder hardware modules at project start-up ... 76
Table 3.2 Design phases for module development of the Descrambler and Demultiplexer ... 80
Table 3.3 Design descriptions for module development of the Descrambler and Demultiplexer ... 81
Table 3.4 Design phases for prototype development of the Descrambler and Demultiplexer ... 84
Table 3.5 Design descriptions for prototype development of the Descrambler and Demultiplexer ... 85
Table 3.6 Characteristics of the Descrambler and Demultiplexer ASIC implementations ... 86
Table 3. 7 Characteristics of the Descrambler and Demultiplexer prototypes ... 87
Table 3.8 PLD implementation results of the Descrambler prototype ... 89
Table 3 .9 PLD implementation results of the Demultiplexer prototype ... 90
Table 3 .10 Characteristics of the PLDs used for prototyping of the Descrambler and Demultiplexer ... 91
Table 3.11 Approximate development effort of the individual phases of the Descrambler and Demultiplexer ... 94
Table 4.1 Characteristics of (read-only) CD and DVD ... 105
Table 4.2 Global overview of DVD coding formats and information types ... 106 Table 4.3 Status of the DVD-Video player hardware modules at project start-up ... 118
x
-Table 4.5 Table 4.6 Table 4.7 Table 4.8 Table 4.9 Table 4.10 Table 4.11 Table 4.12 Table4.13 Table 4.14 Table 5.1 Table 5.2 Table 5.3 Table 5.4 Table 5.5 Table 5.6 Table 5.7 Table 5.8 Table 5.9 Table 5.10 Table 6.1 Table 6.2 Table 6.3 List of TablesDesign descriptions for module development of the DSM and DVP ... 124
Design phases for prototype development of the DSM and DVP ... 126
Design descriptions for prototype development of the DSM and DVP ... 128
Characteristics of the DSM and DVP ASIC implementation ... 130
Characteristics of the DSM and DVP prototypes ... 132
PLD implementation results of the DSM prototype representing first silicon ... 134
PLD implementation results of the DVP prototype representing first silicon ... 135
Characteristics of the PLDs used for prototyping of the DSM and DVP ... 136
Approximate development effort of the individual phases of the DSM and DVP ... 138
Maturity of the ASIC versions containing the DSM and DVP ... 140
Design phases for module development of the PICNIC ... 159
Design descriptions for module development of the PICNIC ... 161
Design phases for prototype development of the PICNIC ... 163
Characteristics of the PICNIC ASIC implementation ... 164
Characteristics of the PICNIC prototype ASICs ... 165
Approximate development effort of the prototype and module development activities for the PICNIC ... 167
Design phases for prototype development of the MPEG-2 Video Encoder .184 Design descriptions for prototype development of the MPEG-2 Video Encoder ... 186
Characteristics of the MPEG-2 Video Encoder prototype ASIC ... 188
Approximate development effort of the prototype development activities for the MPEG-2 Video Encoder.. ... 189
Annual Growth Rate of Device Complexity ... 195
Summary of the characteristics of the applied prototyping methodologies . 197 Performance of the prototypes with respect to the four key properties ... 198
I
I
list of Tables Table 6.4 Table 6.5 XI Summary of quantitative analysis ... 199Xll List of Tables
Abstract
Today, the enotmous complexity of embedded systems is the primary obstacle for the design of these systems. The newly defined ASIC hardware modules of an embedded system cannot be verified adequately anymore by means of techniques that are based on simulation. Simulation runs require vast amounts of time, while a high test coverage cannot feasibly be obtained. In addition, the extensive hardware/software interaction is hard to model and its execution spans long periods of time. As a result, embedded systems design often has to cope with a so-called 'hardware availability gap' as well as disjoint hardware and software design flows, ultimately leading to undesirable ASIC redesigns and to a loss of precious time- to-market.
These design difficulties can be overcome by means of prototyping the newly defined hardware modules of an embedded system. Prototyping facilitates a quick implementation which possesses, in comparison with the target implementation of the hardware module, a higher level of flexibility and observability. On the other hand, the execution speed is much higher than those common to techniques based on simulation (acceleration). Real-time performance may even be feasible. When prototyping is applied concurrently with the 'regular' activities of the embedded design process, these properties allow for a reduced ASIC design risk, hardware/software co-verification, and an early system integration. In this way, the incorporation of prototyping during embedded systems design facilitates a cut in development time.
The research that has been carried out as part of this thesis has assessed the effectiveness of prototyping on the time-to-market of embedded systems. With a cut in development time as leitmotiv in mind, prototyping has been incorporated in four real-life industrial development projects which dealt with the design of embedded systems for state-of-the-art consumer electronics products: a first generation DVB integrated receiver decoder, a first generation DVD-Video player, a fifth generation I OOHz TV feature box, and a first generation single chip MPEG-2 video encoder. For each of these industrial cases, the effects of prototyping have been analyzed in terms of both time and effort.
It has been shown that prototyping can reduce the development time by several months and thus increases speed-to-market. As such, prototyping provides an answer to the growing paradox of ever higher product complexity versus market pressures demanding a shorter time-to-market. Especially, the industrial projects that deployed highly-programmable prototypes were effective in reducing the overall time-to-market of the embedded system. Furthermore, the design effort that was associated with prototyping specific activities represented only a small part of the entire hardware design process. The ongoing unsurpassed complexity growth of programmable logic devices implies that prototyping will become even more valuable for future designs.
XIV Abstract
Samenvatting
Tegenwoordig vormt de zeer grote complexiteit van elektronische ingebedde systemen het grootste obstakel voor hun ontwerp. De nieuw gedefinieerde en nog te ontwikkelen applicatie-specifieke gelntegreerde schakelingen van ingebedde systemen kunnen niet meer adequaat geverifieerd worden met behulp van simulatie-technieken. De simulaties nemen zeer veel tijd in beslag. Voor het testen is daarom een hoge dekkingsgraad niet praktisch haalbaar.
Bovendien is de intensieve interactie tussen de hardware en de software moeilijk te modelleren en de geassocieerde rekenprocessen beslaan lange tijdsperioden. Hierdoor krijgt men gedurende het ontwerp van ingebedde systemen vaak te maken met niet onderling gekoppelde ontwikkelprocessen voor de hardware en de software, alsmede een late beschikbaarheid van de nieuwe hardware. Als gevolg hiervan wordt de kans op een fout in het ontwerpproces vergroot en gaat kostbare tijd verloren.
Door het prototyperen van de nieuw gedefinieerde hardware modules kunnen deze klassieke moeilijkheden overnonnen worden. In vergelijking met de uiteindelijke hardware implementatie beschikt het prototype over een hoge mate van flexibiliteit en is het beter observeerbaar. Voorts kan het prototype sneller beschikbaar zijn. Ten opzichte van simulatie-technieken is het prototype in staat om sneller data te verwerken, waarbij 'rea l-time' tot de mogelijkheden behoort.
Van deze eigenschappen kan handig gebruik gemaakt worden door het prototype gelijktijdig
te ontwikkelen met de uiteindelijke implementatie. Hierdoor kan de kans op een fout in het
ontwerpproces van de hardware aanzienlijk verkleind worden. Tevens kunnen de hardware
en de software in een vroegtijdig stadium gezamenlijk getest worden en kan eerder tot
systeemintegratie overgegaan worden. Dit alles zorgt ervoor <lat het hanteren van
prototypering kan leiden tot een reductie van de ontwikkeltijd.
Het onderzoek <lat ten grondslag ligt aan <lit proefschrift analyseert de effectiviteit van
prototypering voor wat betreft de tijd die nodig is om ingebedde systemen op de markt te
brengen. Prototypering is binnen vier industriele ontwikkelprojecten voor geavanceerde
consumentenelektronica toegepast met als belangrijkste doelstelling een verkorting van de
ontwikkeltijd. Het betrof hier de ontwikkeling van een eerste generatie DVB set-top box,
een eerste generatie DVD-Video speler, een vijfde generatie lOOHz TV module en een
eerste generatie gelntegreerde MPEG-2 video encoder. De gevolgen van de toepassing van
prototypering zijn voor elk van deze projecten geanalyseerd inzake doorlooptijd alsmede
manuren.
XVI Samenvatting
Het resultaat van dit onderzoek toont aan dat prototypering de ontwikkeling van ingebedde systemen met enkele maanden kan versnellen. Met behulp van deze methode kan de paradox
van een steeds hogere complexiteit binnen kortere ontwikkeltijd ondervangen worden. Met name prototypes die in hoge mate programmeerbaar zijn, blijken effectief in termen van
tijdswinst en inspanning. Tenslotte wordt geconcludeerd dat in de toekomst betere resultaten
verwacht kunnen worden gezien het feit dat de complexiteitstoename van programmeerbare
logica onovertroffen is.
Acknowledgments
To a large extent, the research of this thesis was based upon various development projects at Royal Philips Electronics. From a scientific point of view, the work was supervised by the
Eindhoven University of Technology. Therefore I thank all the people of these two
organizations who have enabled and supported this research.
I am especially grateful to professor Jess for giving me the opportunity to perform this Ph.D.
thesis in his group, and for providing guidance throughout the entire project. To Wim
Crooijmans, who initially created this project at Philips and who also provided support
during the first two years, I am particularly grateful. During the remaining period of another
two years, Ton Biemans provided a great contribution. For his dedication to this endeavour,
and the many constructive discussions we had, I owe him special thanks. Besides these
people, I thank many of my colleagues at various departments within Philips for their
fantastic assistance and the vast amount of time that they allowed me to consume for the
sake of this piece of research.
Special thanks goes to Ruud Eland, who generously scrutinized this entire thesis by
carefully proofreading the manuscript. In addition, he acted as a great sounding board for my
thoughts. Also, many thanks to my family for their everlasting support. And last but
definitely not least, I particularly thank Danielle for her invaluable contribution and the
motivation she gave me in pursuing this opportunity. The fact that, among others, a large
number of our joint weekends had to be sacrificed to create this thesis will neither be
forgotten by her nor by me.
XVlll Acknowledgments
In
troduction
This new electronic device consists of a block of germanium (excess semi-conductor) with two point electrodes, < 0.025 cm apart, and one low resistance base electrode. Each point contact has rectifying properties. One (the "emit-ter") is biased positively with respect to the base; the other (the "collector") is biased negatively, until the two currents are almost equal. Small changes in the emitter current then give rise to amplified changes in collector current. The device can also be used as an oscillator. Power gains up to 20 db have been obtained. The operation of the transistor is thought to depend on the existence of a thin surface film of Ge which is a deficit semi-conductor, i.e. different in electrical character from the bulk of the material.
Chapter I
The above quotation is part of "The transistor, a semi-conductor triode" [1], an article published by John Bardeen (1908 - 1991) and Walter Brattain (1902 - 1987) in Physical Review about their historical discovery at Bell Telephone Laboratories. On December 23 in 1947 these two Bell physicists performed an experiment in which two closely spaced gold-wire probes were pressed into the surface of a germanium crystal. For the first time, amplifi-cation within a solid had been observed. Ergo, the solid-state amplifier in the form of the point-contact transistor (a contraction of the words transfer and resistor) was born, a device that characterized a major turning point in the development of electronics. Shortly after the discovery of the transistor effect [2], fellow Bell scientist William Shockley (1910 - 1989) proposed the bipolar junction transistor [3], a better performing device without the need for point-contacts. In July 1951, Bell Telephone Laboratories announced its creation, and soon transistors were produced commercially.
The invention of the transistor would initiate a new era of fast-paced technology revolution with broad effects at a scale hitherto unknown to mankind. Only a mere four years before Bardeen's and Brattain's experiment, Thomas Watson (1874 - 1956), who was Chairman of IBM at that time, said "I think there is a world market for maybe jive computers". Ignorant of the advent of transistor, his forecast that there would never be a mass market for computers was based on the assumption that vacuum tubes would become and remain the enabling technology for computers. Today, it is stating the obvious that forecasting the future of technology is difficult, and that Watson's prediction was entirely wrong: modern society accommodates many hundreds of millions of computers.
The ancestor of the transistor, the vacuum tube [4], was introduced in 1904 with Sir John Amrose Fleming's (1849 - 1945) invention of the vacuum diode, a valve capable of controlling or rectifying alternating current. In spite of subsequent improvements, power
2 Chapter 1 - Introduction
consumption and heat production of vacuum tubes have remained high. As a result of the high dissipation the filaments bum out easily, requiring frequent tube replacement. In conjunction with a high tube price, building and maintaining a vacuum tube-based computer is expensive, while reliability is poor. These characteristics probably led Watson to his prediction. Besides serving as an economical as well as reliable replacement of the vacuum tube, transistors allowed for more efficient ways of electronic circuit fabrication. By combining transistors, capacitors and resistors in a single layer of semiconductor material, which is called the substrate, an entire circuit may be formed on a common wafer. The first circuits created using this miniaturization technique were announced by Jack Kilby of Texas Instruments in 1959 which he called solid circuits [ 5]. Later this type of circuit was renamed the integrated circuit or simply IC, as opposed to the discrete transistor. The trend toward miniaturization has continued ever since, permitting the integration of an ever-increasing number of transistors into a single IC.
By 1961, integrated circuit technology had been improved to such an extent that ICs were produced commercially. Another 10 years of ongoing device integration resulted in the first IC that embedded all building blocks required to design a computer (e.g. central processing unit, memory, controller, buffers). This device, i.e. the Intel 4004 microprocessor, packed 2,300 transistors on a silicon area smaller than a thumbnail, consumed about 1 I 1,000,000 of the power and did cost 1 I 2,500 of the price of the ENIAC, the first all-electronic computer based on the usage of 17,468 vacuum tubes. Yet, this "computer on a chip" delivered as much computing power as the 30,000 kilograms, ballroom-sized ENIAC from the year 1946. As a result of a persisting rapid increase in device complexity, high-performance computers packing millions of transistors have eventually become an affordable commodity good. Watson could not have imagined the genesis of these so-called personal computers (PCs). In addition to the origin of the computer industry, the phenomenal advances in semiconductor fabrication have led to the growth of other major businesses such as the consumer electronics and telecommunications industries. Consumer products like the television (TV) set and radio receiver have also evolved via vacuum tubes and transistors to ever more complex ICs, giving these products a large functionality at an affordable price. At present, semiconductor integration levels allow for a wide variety of entirely new consumer applications such as mobile telephony, digital pay-TV, and various multi-media products. Moreover, there are currently no signs that the rapid complexity increase will soon come to an end [6], which will open up the gateway to new future applications.
I. I Electronic Design in Retrospect
Throughout the years, the design of increasingly complex ICs as well as the design of electronic systems applying these ICs have required a continuous revision of the design
meth-odologies, design flows and design tools that constitute the design process. Only by means of revising the design process, the design productivity can be increased to such an extent that the design complexity can be mastered in an economically sound manner. Without the various improvements of electronic design that took place since the introduction of the integrated
1.1 Electronic Design in Retrospect
circuit, designing a current state-of-the-art electronic system (holding millions of transistors in a large number of ICs closely mounted and interconnected on several multi-layer printed circuit boards (PCBs)) would be a mission impossible. Moreover, further improvements remain necessary to design the electronic systems of the future in a remunerative way. Hence, evolution of system complexity and the design process go hand in hand.
Initially, pencil and paper have made way for computer-aided design (CAD) tools providing more efficient design entry of ICs and PCBs, and stimulating design re-use. In a second phase, various CAD analysis tools for behavioral simulation (e.g. the SPICE simulator for analog circuits [7]) and timing verification [8] have become an integral part of design flows. Over time, digital hardware design has increasingly employed formal specifications using language-based design descriptions as opposed to schematic entry via graphical symbols. Higher levels of abstraction for these formal design descriptions that model the design have facilitated hierarchical top-down design methods [9] [IO] reducing the amount of design data at the top, so that the design remains tractable for the design team. Moreover, higher level design descriptions reduce the speed problem of simulation, as they allow for faster execution. Yet, a complete test coverage cannot be achieved for complex designs by means of a simulation-based design methodology. In practice, the actual test coverage is unknown, which is a fundamental drawback of simulation.
In turn, hierarchical design methods have eventually been accompanied by various automated synthesis tools for physical design (i.e. layout synthesis) [11], logical design (i.e. logic synthesis) [ 12], and architectural design (i.e. high-level synthesis) [13] [ 14] of digital circuits. By means of automated synthesis a design description is automatically translated into a lower level design description through adding more detailed implementation information to the nascent design. Besides reducing design time, automated synthesis permits fast exploration of different design alternatives, in the search for the optimal trade-off between the relevant implementation parameters. Some synthesis tools are even capable of optimizing towards timing, (chip I board) area, or power dissipation. Although the advent of automated synthesis tools has implied a substantial improvement of the design productivity [ 15], they appear to be error-prone in practice [ 16]. Consequently, (logic) simulation remained the primary means to verify the initial description as well as the result of automated synthesis [17].
In an attempt to alleviate the problems of simulation-based design verification of digital circuits, formal verification has been introduced [ 16]. The first commercial CAD tools incor-porating these formal methods have recently become available. In some cases, they can be used for checking the equivalence of two design descriptions. Others allow for the assessment of certain system properties. Yet, the practical applicability of formal verification is still fairly limited and restricted to a specific class of verification problems.
Similar to the design of hardware, modern embedded software engineering techniques have adopted hierarchical design methods (using several levels of design abstraction), automated synthesis (which is referred to as programming language compilation), and simulation [18] [19]. To manage both the rapid increase in the amount of embedded software and the intensifying hardware/software interaction within modem electronic systems, a generic design methodology called hardware/software co-design [20] [21] [22] has been put forward
4 Chapter 1 - Introduction
in the nineties. In addition to embedded software, other aspects of the design, such as testability (23] (24], reliability [25] (26], manufacturability (27] and electromagnetic compat-ibility (EMC) (28], must be addressed within current engineering practice.
Along with higher technical requirements resulting from the increase in complexity, the commercial constraints that apply for the design of electronic systems are tightening. Within e.g. the consumer electronics market, fierce competition has induced a heavy price erosion and shorter product life-cycles. As a result, the players that are competing in this marketplace are forced to shorten the time-to-market (primarily) through a reduction of the critical path through their product creation process. For this purpose, concurrent engineering has been devised (29] (30]. Via short phases that are executed in parallel, concurrent engineering techniques (31] (32] (33] should lead to a sho1i time-to-market, while optimizing the utilization of resources.
In spite of the aforementioned advances in electronic design, recent development projects have often exceeded time and cost budgets, and the design process has remained error-prone. Consequently, there exists a legitimate reason to research, develop and apply new design methodologies, flows, and tools. With the ongoing fast-paced increase of IC and system complexity, revisions of the design process are of paramount importance for future competi-tiveness of companies involved in the development of electronic products. In the quest for continuous improvement of design productivity and time-to-market, prototyping is one of the approaches put forward within the field of electronic design. In literature prototyping is often referred to as rapid prototyping or emulation, albeit in a narrower sense and only applicable to digital circuits. This thesis analyzes several industrial cases that applied various prototyping methodologies as a way to try to deal with the paradox of a shorter time-to-market for more complex consumer electronics products.
1.2 Prototyping of Embedded Systems
Originally, the word prototype is derived from the Greek word protos-typos which means 'first model'. Webster's dictionary defines a prototype as "an original model or pattern from which subsequent copies are made, or improved specimens developed". Throughout modem history, people have frequently built a physical (scale) model before constructing the 'real thing'. Since a model permits cheap and fast construction, the respective concept or design can be analyzed, demonstrated and tested without having to build the final object. Furthermore, changes can be incorporated quickly and at a low cost. By means of these properties, prototyping (i.e. building and analyzing a prototype) provides a means to exclude errors and misunderstandings with respect to the final object. Consequently, prototyping can reduce and even eliminate expensive and time consuming rework on the final object.
1.2.1 Characteristics of Embedded Systems
This old reasoning is still valid for the design of modem electronic systems. Within the context of electronic design, a prototype provides a functional equivalent of (a part of) the final product, i.e. the prototype behaves in the same manner as the target implementation. By
1.2 Prototyping of Embedded Systems
means of this behavioral equivalence, which explains the aforementioned term "emulation", the functionality of an electronic system can be assessed in an early stage of the design. Addi-tionally, the functionality can be changed rapidly due to the programmable nature of most prototype implementations. In addition to an early availability and a flexible implementation, the observability of a prototype implementation is in general superior to the target implemen-tation whereas the functionality can be assessed much quicker than by means of simulation. Especially to the design of so-called embedded systems, these properties offer several distinct advantages (Section 1.2.2).
Although there exists no single and widely accepted definition of what an embedded system exactly is, it is generally characterized by a heterogeneous implementation technology comprising various hardware and software components, which perfom1 dedicated functions in a larger 'host system'. For instance, such a hybrid implementation structure may encompass several application specific integrated circuits (ASICs), a digital signal processor (DSP), various memory chips, a microcontroller, a power supply unit, and various discrete analog components. Since embedded systems have become increasingly digital, components that interact with the analog environment, such as analog-to-digital and digital-to-analog convertors (ADCs and DACs), are often included. In general, this versatile set of hardware components is interconnected and mounted on a PCB or multi-chip-module (MCM), although a 'system-on-a-chip' is also referred to as an embedded system. In addition to the hardware, modem embedded systems include a substantial amount of software that controls, possibly assisted by a real-time operating system, the programmable hardware components of the embedded system, e.g. DSPs and microcontrollers.
At present, embedded systems are pervasive in consumer as well as professional products. A wide variety of products 'hosts' an embedded system, e.g. consumer electronics, automotive vehicles, household appliances, aeroplanes, and communication systems. The attribute 'embedded' is meant to distinguish them from more general purpose systems that are not part of a larger product, such as standard PCs, workstations, and mainframes. Moreover, embedded systems are characterized by a complex interaction with the environment they operate in. Frequently real-time constraints apply to this interaction. During the design of an embedded system, the interaction with the environment must therefore be carefully considered.
1.2.2
Difficulties in Designing Embedded Systems
For consumer electronics, the development of an embedded system mostly involves the design of several newly defined modules and their subsequent integration with already existing components. The newly defined modules are a mixture of hardware and software. They include, for instance, one or more complex AS I Cs and a substantial amount of software which executes on a (few) programmable core(s) such as general purpose processors that are available off-the-shelf and application specific processors. The ASICs perform several new functions which are best implemented in hardware, whereas e.g. the software for the
6 Chapter 1 - Introduction
programmable core(s) performs a large variety of tasks best implemented in software including system control and user interface handling, and possibly some signal processing functions. In general, the interaction between the hardware and the software is extensive. The aforementioned characteristics of embedded systems impose several difficulties on their design process. First of all, the interaction of the newly defined hardware modules with the rest of the embedded system as well as the environment is extremely hard to model. Yet, this interaction should be described for a substantial period in time and cover many different
situations to allow for the design of a properly working system. Secondly, the high complexity of modern hardware implies that even a single second of real-time system operation translates into many hours of simulation time. For example, a paper about emulation of the Motorola 68060 processor [34] reports that booting the UNIX operating system takes 100 seconds of real-time operation, whereas this requires 13 years of simulation time. Furthermore, the hardware/software interaction must be taken into account to properly evaluate the hardware as well as the software. This interaction unfortunately spans substantial periods in time.
As a consequence, hardware and software are mostly developed using disjoint design flows, which increases the risk of errors in both hardware and software. Especially, ASIC hardware bugs jeopardize the development schedule as a result of a long design turnaround-time. Redesigning an ASIC and a new fabrication run in general takes a considerable number of months during which period software testing has to wait upon the availability of the new hardware. This may lead to an iterative process in which hardware and software redesigns alternately succeed each other. Although hardware/software co-simulation as part of a
general hardware/software co-design strategy tries to address the issue of disjoint hardware and software development, the limited execution performance remains a fundamental problem to thoroughly check the hardware as well as the software.
1.2.3 Properties of a Prototype
Prototyping of the newly defined and yet to be implemented ASICs allows for a substantial reduction of the aforementioned design difficulties that are characteristic for embedded systems. For this class of systems, the use of hardware prototyping during product development significantly improves the execution performance as compared with simulation-based strategies, while achieving in less time a more flexible and better observable implemen-tation in comparison with the design of the target ASIC implemenimplemen-tation. With respect to these principal and relevant properties, Figure 1.1 compares prototyping with both simulation of the design description and the design of the corresponding target implementation. The figure portrays the possible range for each technique with respect to a certain property. This indicative range, which is displayed by the slope at the top of a shaded area, originates from the fact that Figure 1.1 portrays a gathering of possible applications and ways to perform the
respective design technique by means of various design flows and tools.
Simulation is characterized by a very poor execution performance, even when the design
description that models the design is at a high level of abstraction. Although a technique
which is known as simulation acceleration [35] may improve the performance of
logic-1. 2 Prototyping of Embedded Systems
simulation up to approximately two orders of magnitude, the resulting performance is under all circumstances far from real-time (Figure 1.1). In addition, such an improvement can only be achieved for lower level design descriptions. In comparison with the execution speed of high level design descriptions, the improvement is much less or not present at all.
Execution Performance
- - - - real-time - - -
-Flexibility, Observability,
(Time-to-lmplementation-Availabilityr 1
simulation (acceleration)
D
prototypeD
targetFigure I. I Properties in comparison: simulation (acceleration) of design description vs. prototype implementation vs. target implementation
Only by means of a so-called hardware modeler, higher speeds may be achieved. This technique, which uses the actual component, is however restricted to already existing components and therefore not applicable to newly defined functions. More general techniques for simulation acceleration deliver much less performance. They are based upon parallel data processing and may be one of the following types:
a cluster of workstations, providing a maximum speed-up factor of about 4 [35] dedicated processor arrays contained in a so-called hardware accelerator [36], providing speed-up factors up to two orders of magnitude in comparison with simulation of low level design descriptions
In comparison with non-accelerated simulation, the performance within these acceleration systems with respect to the properties of the lower part of Figure 1.1, i.e flexibility, observ-ability and time-to-implementation-availobserv-ability, is in general equally good or slightly worse.
8 Chapter 1 - introduction
Within the context of this thesis, a prototype is defined as an implementation, different from the target implementation, yet with an identical fimctional behavior, which offers a considerable improvement of the execution speed as compared with simulation (accelera-tion). This speed-up is achieved by implementing the design in special hardware, such as various types of programmable components. Depending on, among others, the chosen imple-mentation technology of the prototype, the maximum execution speed ranges from several orders of magnitude slower than real-time up to real-time (i.e. the execution performance of the target implementation (Figure 1.1 )).
In contrast to simulation as well as simulation acceleration, test stimuli and test results are not necessarily (directly) supplied by and stored in the standard computer system, e.g. a workstation, used during the design of the respective device(s). Instead, a prototype also allows for system integration, which is referred to as in-circuit emulation or the emulation mode of the prototype, as opposed to the simulation mode [35]. Due to a high execution speed and readily available high-speed input and output interfaces, the prototyped modules of the embedded system can be physically integrated with the yet existing components. In this way, an entire embedded system can be built before implementation and fabrication of the newly defined modules in the target technology. By means of in-circuit emulation, these newly defined modules as well as the entire system can be assessed in the final operating environment at an early stage of the design. Because the prototyped modules are integrated in their final physical environment, modeling of the interaction with existing components, software as well as the external environment is not required within this design approach. The increase in execution performance comes at a price however. As a result of the use of special hardware components, the useful properties of simulation (acceleration), i.e. high flexibility, high observability and a short time-to-implementation-availability, are partially .sacrificed. For instance, if programmable components are used to prototype the design, programming these components takes in general more time (and effort) than straightforward compilation and subsequent execution on a workstation of the design description that models the design. Likewise, the incorporation of design modifications requires more time (and effort) or possibly a complete revision of the chosen prototype architecture. Furthermore, the observability of the prototype implementation is for many prototyping techniques less in comparison with a simulation run in which all nodes of the design may be observed without notable additional effort.
On the other hand, with respect to the compound of the three previously mentioned figures of merit, the prototype implementation clearly outperforms the target implementation. Within this thesis, this characteristic is considered as a prerequisite for prototyping. Otherwise, developing a prototype is of no use for a time-to-market reduction of the embedded system. The use of for instance programmable components provides the prototype with additional flexibility and observability over the rigid and difficult to debug target implementation in an integrated circuit, e.g. an ASIC. Additionally, the use of prefabricated components allows for a shorter time-to-implementation-availability than the time required to implement and
1. 2 Prototyping of Embedded Systems
fabricate the target ASIC. As is the case with the simulation and prototyping, the performance of the target implementation with respect to these properties depends upon, among others, the design flow, the design tools, the application and the target technology.
The performance of a prototype implementation with respect to the aforementioned properties depends on, among others, the chosen prototyping methodology as well as the target implementation. In principal, all combinations with respect these properties may occur within the distinguished ranges of Figure 1.1. The team of engineers which is responsible for the design of the embedded system should aim to achieve the highest possible execution speed while maximizing flexibility and observability, and minimizing design time and effort. Unfortunately, flexibility and observability are in general inversely proportional to execution speed. When making the decision whether or not to prototype (some of) the newly defined modules that are part of an embedded system, among others, the expected abilities of the prototype should be carefully considered for the possible candidate prototyping techniques. In conclusion, it can be said that prototyping of newly defined hardware modules, as far as the aforementioned properties are concerned, fills the gap that exists between simulation (acceleration) and the target (e.g. ASIC) implementation. In this way, prototyping may provide a means to comply with the (conflicting) requirements of successfully designing more complex embedded systems and a reduction of the time-to-market. This thesis, named "Prototyping of Embedded Systems: an Analysis of Industrial Approaches Aimed at Reducing Time-to-Market" tries to assess the effects of the incorporation of ASIC prototyping within the industrial development of several embedded systems.
In addition to hardware prototyping, (rapid) prototyping of software is possible as well. For instance, several design methodologies exist that allow for a rapid implementation of the basic user interface, so that the interaction with a future user can be tested in an early stage of the design. As this helps to overcome the communications barrier between the users and the development team, rapid prototyping can be an effective approach to specify the requirements of an interactive system. In literature [37] [38] [39] [ 40] these and other meth-odologies are extensively discussed. This thesis focuses however entirely on prototyping of hardware modules of embedded systems. Rapid prototyping of software is therefore not addressed.
Although this thesis addresses a reduction of the time-to-market, also hardware prototyping techniques may be deployed for other reasons than shortening the development time. Since a prototype has in general a short time-to-implementation-availability, companies can use it as a demonstrator during trade shows, exhibitions, and meetings with dealers and retailers. The feedback from these events is a valuable source of information to determine product strategy and planning. Also by means of field trials with end-users, a prototype can be used to obtain feedback about a future product. The flexibility of the prototype implementation allows to perform this in an iterative way. By adapting the functional behavior of the prototype based upon the feedback of the user group, the product can be tuned towards the needs of the consumers.
10 Chapter 1 -introduction
As such, sequential development of a prototype and the final product provides a means to obtain better (functional) specifications leading to better quality products. In the case of such a sequential development approach, the prototype can furthermore serve as a proof-of-concept to convince the own organization of the feasibility of a particular application or technology. Likewise, it can be used to attract for instance external investors. Within this
thesis, the use of prototyping is however only targeted at a reduction of the time-to-market.
Instead of sequential development, it therefore mainly discusses the parallel development of prototype and corresponding product.
1.2.4 Prototyping: Extension Instead of Substitute
It should be noted that the incorporation of prototyping does not make simulation of the
design obsolete. Due to the fact that the time-to-implementation-availability, observability and flexibility of a prototype are not optimal, prototyping generally does not serve as a replacement of simulation. The latter technique remains necessary to analyze the behavior in
the early phases of the design where many design modifications need to be carried out. The superior flexibility and observability of simulation can be usefully exploited to mature the design by executing smaller parts of the design description and subsequent integration runs
of the total description during a limited period of real-time. Next, the prototype can be implemented and thoroughly analyzed, often integrated with the rest of the embedded system including its software.
Possibly, simulation of the design description and analysis of the corresponding prototype may coexist. The superior flexibility and observability of simulation can be usefully
combined with the high execution speed of the prototype implementation. For instance, upon
error detection by means of the prototype, simulation can be used for precise error localiza-tion. The very high observability may allow for more rapid debugging. Likewise, the superior flexibility, i.e. shorter design turnaround-times, facilitates quick incorporation of design
modifications. Here, the resulting functional changes are analyzed first by means of simulation before extensive (in-circuit) evaluation with the prototype.
In summary, prototyping is not a substitute for simulation. Instead, it is an extension and the
two design analysis techniques may even coexist for a certain period during the design. As soon as sufficient confidence in the embedded system has been achieved through simulation and prototyping, the target implementation may eventually be finalized and subsequently fabricated and analyzed. Hence, the order of design techniques is simulation (acceleration), prototyping, and target implementation. Although prototyping offers a number of distinct
benefits, it is not a 'must' when designing an embedded system. Ifit is clear beforehand that
the added value of its application does not outweigh the time, effort and costs associated with its implementation and fabrication, prototyping should certainly be omitted. In that case, only simulation (acceleration) precedes the implementation and fabrication of the target device.
1.3 Research Motivation and Approach
1.3
Research
Motivation
and Approach
The research part of this thesis tries to assess the benefits of several prototyping approaches
m a qualitative and quantitative fashion. Since there is a clear lack of publications about the
industrial added value of prototyping, this research objective is of scientific as well as
industri_al rele~ance. The research approach that has been followed is based upon an analysis
of the mdustnal development of four embedded systems meant for consumer electronic
products. Each of these 'industrial cases' relies upon a different prototyping methodology.
1.3.1
Scientific Motivation
I~ literature [20] _[34] [41] [42] [43] [44] [45] the benefits of(rapid) prototyping are widely discussed m qualitative terms. In summary, prototyping of e.g. newly defined AS/Cs, that are part of an embedded system under construction, can lead to three primary design benefits:
I. reduction of (AS)IC design risk
2. early system integration
3. improved parallel development of hardware and software
Prototyping aUows for a reduction of ASIC design risk, as it facilitates an early and thorough
functional venfication and validation of newly defined hardware via high-speed execution of a well observable prototype implementation that accurately represents the newly defined fun.ctionality. The design risk may be further reduced as in-circuit emulation of the prototype
fac1htates true hardware/software co-verification. In this way, functional flaws can be
detected and localized in an early stage of the design process. As the costs of an engineering
chan~e increases rapidly when an error is detected in a later phase of phase of the product
creat10n process, early detection is also critically important to development costs, besides development ~ime. Moreover, as a result of the high flexibility of the prototype, subsequent
design mod1f1cations may be rapidly incorporated. As such, the design can be properly
analyzed and improved before committing it to silicon integration, which possibly results in
a redu~tion or elimination of redesigns. In tum, this may lead to a shorter development time,
reduction of development costs, and even improved product quality as the performance can be properly assessed, and easily adapted, early in the design process.
The other two benefits basically allow for a speed-up of the design process by means of
concurrent en~ineering. By using the prototype, system integration can be carried out during
A_SIC design mstead of after ASIC fabrication, leading to a reduction of the critical path.
L1kew1_se, software testing does not have to wait upon availability of the 'first silicon'
imple-mentation of the target ASIC. The prototype allows to test the execution of software programs
on programmable hardware, thus retaining the ability of changing the hardware and software
implementation concurrently [20]. This technique is referred to as hardware/software co-emulation. It also allows to evaluate the trade-offs which have been made during the design
(such as hardware/software partitioning) before sending the ASIC to a foundry.
In contrast to this qualitative view on the usage of prototyping, which is discussed quite
extensively in academia, literature does not quantify the effects of various prototyping
meth-odologies for the industrial development of embedded systems. Similar to the publications on 11
12 Chapter 1 - Introduction
software prototyping (e.g. [ 46]), the scarce quantitative literature about prototyping of
hardware functionality is limited to prototyping productivity (e.g. [ 4 7]), i.e. the design effort required to develop a prototype, or the time-to-implementation-availability of the prototype (e.g. [ 48]). Yet, the consequences for the development schedule, and those for the design
effort of the entire embedded system, are in general not addressed. Due to the lack of a
cost-benefit analysis and relevant background information with respect to the design flow and design complexity, the added value of prototyping cannot be derived.
To summarize, there is few public information available with respect to the amount of time
and effort required to prototype an IC. Especially the effects of prototyping are unknown in
academia as far as the important parameters of time-to-market, costs and product quality of the entire embedded system are concerned. The quantitative analysis which is performed within this thesis therefore provides new insights in the lessons that can be learned from the
usage of various prototyping approaches as part of embedded systems design. Among others,
this may indicate the direction in which academic as well as industrial research on
prototyping methodologies, flows and tools should evolve.
1.3.2
Industrial Motivation
In order to obtain a competitive advantage over others, high-tech electronics companies must
apply a state-of-the-art design process that gives them a short time-to-market, efficient
development, and competitive high-quality products. Within this context, prototyping may be
a powerful approach as it allows for improvements of these three important business
parameters. Yet, considering both the main benefits offered by prototyping and the costs that are associated with the development of a prototype, the design methodology's greatest asset
is most likely not a reduction of development costs or an improvement of product quality.
Instead, prototyping is especially suited to cut development time.
This links up particularly well with modem industrial practices, in which time-to-market
pre-dominantly seems to affect economic success. Studies on the effects of time-to-market have
been done by McKinsey & Company and others. "According to a study released in January
1990 by United Research Co. of Morristown, N.J., six out often chief executive officers listed
shorter product development cycles as vital to their company." [49] Likewise, the McKinsey
& Company survey [50] [51] [52], which was the first study to quantify the value of
development speed, identifies time-to-market as a key business parameter for profitability. It reports that, on average, a company will lose a massive 33% of after-tax profit when it ships a product, which is characterized by a five year life-cycle and 12% annual price erosion, six months late in a market with a 20% growth rate. The same study states that coming out on time, while exceeding the product development budget by 50%, only cuts profits by 3.5%. Based on this survey, one could conclude that increasing the development budget by
allocating more people to the project is an economic method to secure the desired
time-to-market. However, people and time are in general not interchangeable. Adding more people to
a project is not a guarantee for meeting the deadline. It might even delay the project further
1.3 Research Motivation and Approach
due to communication overhead and additional training. If a project can be completed in one
year by 6 people, it does not mean 72 people can do it in one month (Brooks' Law, [53]). To
reduce time-to-market, companies therefore need to improve their development process.
Considering this from the viewpoint of the semiconductor as well as consumer electronics
industry, a clear motivation exists to research the added value of prototyping. Since over half
of the new ASIC designs do not operate correctly in the system [ 42], design methodologies
leading to an improvement of this efficiency are attractive. Furthermore, as a large part of the
design time and effort is spent on design verification and validation, the analysis capabilities
belonging to prototyping are useful for both hardware and software design. Within this
context it is illustrative to mention that verification and validation of complex (software) designs currently requires 30% to 80% of the total design time [54].
The software content of today's embedded systems has become very high. The analyst firm
Embedded Systems Research estimates that as much as 70% of the total development cost for
the average 1994 embedded system is attributable to software. Although the actual software
load will heavily depend on the amount of newly defined hardware functionality, this
estimate is supported by others: according to literature [55] software typically accounts for
80% of total project costs. Given this fact, sequential execution of hardware and software
development implies additional cycle time in which software testing has to wait upon a usable
ASIC implementation. By means of prototyping, however, software testing can be done with
the prototype instead of the target ASIC, thus allowing for parallel execution of hardware and
software development. Since testing consumes the aforementioned 30% to 80% of the total
design time, this may imply a significant reduction of the time-to-market.
Given these facts, the industrial importance of prototyping is evident, which strengthens the
case for an assessment of its effectiveness. Research on the actual effectiveness of various prototyping methodologies can therefore reveal valuable information. Among others, this
may assist future development projects in making the cost-benefit analysis of prototyping that
leads to the decision whether or not to incorporate prototyping in the design process. The
research may also assist in constituting the desired design flow. Furthermore, the research
results can be used to improve design methodologies, flows and tools for prototyping,
ultimately leading to a faster time-to-market.
1.3.3
Research Approach
In order to assess the added value of prototyping for the development of embedded systems,
empirical research must be performed. The research which is described within this thesis analyzes four major development projects that have been carried out by Royal Philips Electronics. Within each development project, a novel embedded system for a specific consumer electronics product has been designed. In each of these industrial cases a specific prototyping approach has been applied, primarily to enable rapid development, so that the applicable time-to-market constraints of the product could be met. For each of the industrial cases, a design flow for prototype development has been devised, exercised and subsequently applied to the development of a prototype implementation of one or more newly defined
ASICs that were part of the embedded system.