semiconductor development in ireland: reducing development...

316
Semiconductor Development in Ireland: Reducing Development Stress Caused by Digital Hardware and Embedded Software Team Interaction. Ivan J. Griffin Ph.D. Thesis 2010 1

Upload: others

Post on 27-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

  • Semiconductor Development inIreland: Reducing Development

    Stress Caused by DigitalHardware and EmbeddedSoftware Team Interaction.

    Ivan J. Griffin

    Ph.D. Thesis 2010

    1

  • Semiconductor Development inIreland: Reducing Development

    Stress Caused by DigitalHardware and Embedded Software

    Team Interaction

    Ivan J. GriffinB.Eng., The University of Limerick, 1995M.Eng., The University of Limerick, 1997

    A thesis submitted in fulfilment of the requirements

    for the degree of Doctor of Philosophy

    Supervised by Dr. Ita Richardson

    Submitted to the UNIVERSITY of LIMERICK, April 2010

  • Declaration

    Title: Semiconductor Development in Ireland: Reducing Development Stress

    caused by Digital Hardware and Embedded Software Team Interaction.

    Author: Ivan Griffin.

    Award: Doctor of Philosophy in Computer Science

    Supervisor: Dr. Ita Richardson.

    I hereby declare that this thesis is entirely my own work, and does not contain material

    previously published by any other author, except where due reference or acknowledgement has

    been made. Furthermore, I declare that it has not previously been submitted for any other academic

    award.

    21st April 2010 17h25

    Except where excerpts from the contributions of others are explicitly noted, this text is copyright ©

    2004-2010 Ivan Griffin.

    i

  • Abstract

    Semiconductor Development in Ireland: Reducing Development Stress caused by

    Digital Hardware and Embedded Software Team Interaction.

    Ivan J. Griffin

    TODAY’S consumer electronic products are complex, multi-discipline systems, far beyond justphysical gates on a semiconductor chip. Their development involves a delicate mix ofengineering disciplines and technologies such as analog hardware, digital hardware, software, boarddesign, semiconductor physics and chemical engineering.

    The research presented in this dissertation examines the specific relationship between theintegration of digital hardware and software development activities and the successful creationof modern consumer electronics devices and embedded computing platforms, to determine whichaspects of inter-discipline development caused the most difficulty to a semiconductor device for theconsumer electronics market as it progressed in life-cycle through from design to tape-out/massproduction.

    As of 2010, Semiconductor Fabrication techniques continue to (broadly) follow Gordon Moore’sLaw (Moore, 1965), which states that the number of transistors on a chip doubles approximatelyevery two years. In addition, incremental improvements in fabrication techniques has resulted insuccessively smaller chip geometries—greater functionality requiring less silicon area and consuminglower power than the previous generation. Embedded computing devices are omnipresent inconsumer electronics in modern society. Consumer desire and expectations of product improvementhas lead to rampant innovation in the consumer electronics market, with terrific pressures to be firstto market with a new innovative feature or design. Along with this increase in capability comes anunfortunate but necessary increase in complexity.

    Consequently, the semiconductor devices (Application Specific Integrated Circuit (ASIC),System-on-Chip (SoC), System-in-Package (SiP), modules) that power consumer electronic productsrequire significant resource investments in both hardware and software design, implementation andtest—investments that are increasing in direct relationship with the device complexity.

    The research presented in this thesis is a grounded theory which shows various categories ofinteractions that occur between Irish digital hardware and software development teams who worktogether in SME organisations on such product. The contribution of this research is in six parts:

    (a) it identifies that digital IC hardware engineering is very similar in many respects to softwareengineering;

    (b) it illustrates that the business models that survive in the ecosystem rely on engineering that issufficient to meet market needs;

    (c) it shows that the social and geographical degrees of separation play a more significant role inadversely affecting and impeding performance than technical or techno-cultural issues betweenthe two groups;

    (d) it acknowledges that there is a growing separation of technical mindset between software anddigital IC hardware;

    (e) it provides strong evidence for the applicability of Agile methods in the development ofconsumer electronics SoC devices;

    (f) it presents a list of patterns of organisation and workflow for semiconductor projects that mayhelp in the development process.

    Expert opinion and comparison against existing literature was used to validate the results. Scopefor potential future work in the area of digital hardware and software team interaction is alsopresented and discussed.

    Supervisor: Dr. Ita Richardson.Keywords: ASIC Semiconductor SoC Digital IC Hardware Software Grounded Theory

    ii

  • Acknowledgements

    I would like first and foremost to thank my supervision, Dr. Ita Richardson, for all her support,advice and encouragement during my research. A Ph.D. is a difficult endeavour at the best oftimes. Dr. Richardson has a subtle yet profound knowledge and understanding of social sciences

    techniques which she was generously willing to share with me. My circumstances changed quite

    significantly during the course of my research—I got married, became a father, changed to an

    employment with considerably more responsibilities. . . As a result, I occasionally found myself

    lacking in free time, and direction when pursing this goal. I also on occasion experienced the

    self-doubt described in Miles and Huberman (1994): ‘we have encountered many students launched on

    qualitative dissertations or research projects who feel overwhelmed and under-trained.’ Nevertheless, Dr.

    Richardson kept me on the straight and narrow, academically speaking. She was a true source of

    inspiration and ideas when I had become lost in my research; and she was equally a source of great

    confidence to me when I had become concerned with the uncertainty in direction my work often

    experienced, particularly in comparison to my starting point.

    I sincerely appreciate the contribution of Professor Emeritus Eamonn McQuade in proof-reading

    and providing valuable suggestions and recommendations for the improvement of this dissertation.

    I would also like to offer special thanks to my former lecturer, M.Eng. supervisor, and

    engineering manager in Parthus Technologies, Dr. John Nelson, for both professional and academic

    encouragement over the last decade or so. I consider him very much a mentor who helped me to

    shape my entire career to date.

    Indeed, all my colleagues and ex-colleagues of Parthus deserve credit for educating me in the

    real-world antics of embedded software and custom ASIC design—as well as some great fun and

    antics along the way:

    • To the old ‘Wireless Business Unit’ of Parthus Technologies, particularly the ‘Drua’ crew, and

    the ‘UPF Pack-Horse Gang’—having accidentally started with a platform that we thought was

    25MIPs (but in actuality was closer to 7MIPs), we ended up with a great lightweight Bluetooth

    Solution;

    iii

    http://www.ceva-dsp.com/

  • • To Alan Donnelly, for teaching me more than I ever intended, or wanted, to know about

    RF devices, Field Programmable Gate Array (FPGA) devices and boards—especially how to

    accidentally pour hot, steaming, coffee over them;

    • To Jerry O’Brien for showing me the light—there is no money to be made in engineering—for

    our drives across Route 101 in California with a GPS navigation unit that kept speaking in

    Japanese, and our tour of the Hollywood sign in Los Angeles;

    • To Pat Lehane for his consistent brilliance, as an engineer, as a Verilog hacker, as a project

    manager—and for listening when the software guys insisted that there was definitely a problem

    with a particular hardware clock;

    • to Damien Nolan for his immaculately safe pair of hands when it comes to a chip tape-out,

    for his meticulous attention to detail, and for, unknownst to him, confirming to me that

    TEX and LATEX are by far the most appropriate tools to typeset a thesis—based primarily on

    his grumblings over the inadequacies of Microsoft Word and its master book feature when

    compiling the Paradiso chip functional specification;

    • To David Moloney for his foresight, his unparallelled ability at systems architecture, his

    anticipation of market evolution, and his unbridled enthusiasm—one of the few true geniuses

    I know;

    • To Niall Ó hEarcáin and Roger Maher for giving me the opportunity to lead an embedded

    software development team through a few interesting and challenging projects, and most of

    all for being very decent chaps to work for;

    • To David Airlie, ‘our man down under’, for sticking to his guns on open source software, and

    for ensuring the Fedora desktop on which I pulled this document together had sufficient 3D

    eye candy;

    • To Peter Flynn and Marc van Dongen for LATEX help, allowing me to automatically generate

    CSV logs of codes versus quotations from the LATEX typesetting run;

    • To the late Martin Mellody (1975–2009), a true friend, entrepreneur and engineering

    brilliance—how sad it is that you didn’t live to see the fruits of your labour.

    I would not be permitted to return to work without offering some recognition of my colleagues

    and friends in Frontier Silicon, especially the Shannon firmware team and Dublin SoC and DSP

    teams.

    iv

    http://www.fedoraproject.org/http://www.frontier-silicon.com/

  • Finally, an acknowledgement is due to advice I came across when pursuing this endeavour—after

    a prolonged period of inertia, frustration, and procrastination:

    • Firstly, Tveit (2008) had some genuinely useful tips on finishing a Ph.D., but the one that I

    appreciated was:

    . . . ‘doers’ are more likely to finish their Ph.D. than ‘smarties’. Thinking doesn’t create yourthesis, but writing might!

    • Secondly, Lamott (1995) offers some sage-like wisdom and advice in suggesting:

    The first draft is the child’s draft, where you let it all pour out and then let it romp all over theplace, knowing that no one is going to see it and that you can shape it later. You just let thischildlike part of you channel whatever voices and visions come through and onto the page.

    In typically engineering fashion,Young and Raymond (2001) explains this as being due to

    the fact that ‘you often don’t really understand the problem until after the first time you implement a

    solution’, and Brooks, Jr. (1995) echoes this advice in ‘plan to throw one away: you will, anyhow’.

    This research is partially supported by the Science Foundation Ireland funded projects, Global Software Development

    in Small to Medium Sized Enterprises (GSD for SMEs) grant number 03/IN3/1408C within Lero—the Irish Software

    Engineering Research Centre (http://www.lero.ie/).

    Funding for portions of this work was generously provided by Science Foundation Ireland / Enterprise Ireland through

    the B4Step Project—‘Building a Bi-Directional Bridge Between Software Theory and Practice’ grant number 02/IN1/I108.

    v

    http://www.lero.ie/

  • This thesis is especially dedicated in loving memory of

    my late parents, John and Marie Griffin.

    Both my sister Yvonne and I miss you dearly.

    You always encouraged me to make the effort to pursue a Ph.D.

    so mum and dad, this is for you. . .

    also to my wife Triona,

    for her support, love and kindness,

    and especially for keeping me sane. . .

    vi

  • Glossary of Terms

    Acronyms

    ASIC Application Specific Integrated Circuit

    ATS Abstract Test Suite

    BoM Bill of Materials

    CSV Comma-Separated-Variables file

    DSP Digital Signal Processing

    EDA Electronic Design Automation

    FPGA Field Programmable Gate Array

    GDS-II “Graphics Data System revision II”, the industry de-facto file format standard for IC

    layout data exchange

    GSD Global Software Development

    HDL Hardware Description Language

    IC Integrated Circuit

    IP Intellectual Property

    LT Lower Tester

    MPW Multi Project Wafer

    OEM Original Equipment Manufacturer

    ODM Original Design Manufacturer

    PCO Point of Control and Observation

    QDA Qualitative Data Analysis

    vii

  • RF Radio Frequency

    UML Unified Modeling Language

    UT Upper Tester

    VHDL VHSIC Hardware Description Language

    VHSIC Very High Speed Integrated Circuit

    SiP System-in-Package

    SoC System-on-Chip

    Definitions

    Block Test The testing of a hardware component in isolation, equivalent to a unit test in software

    terminology

    Blog A web diary or commentary (contraction of ‘weblog’)

    Design Flow The series of steps that combine the use of Electronic Design Automation (EDA) tools

    to design an Integrated Circuit

    Fab Silicon wafer fabrication facility

    Hardware Simulation Modelling of the hardware at different levels of abstraction (functional, gate

    level, etc.) for the purposes of hardware verification

    Mask A tool that contains a single pattern image that is applied to an entire wafer to define the

    integrated circuit

    Reticle A tool that contains a pattern image that needs to be stepped and repeated across a wafer

    to define the integrated circuit

    Shuttle Run A periodic engineering lot of MPW silicon wafers, containing designs from numerous

    customers which has transferred through the use of a reticle

    System-on-Chip A System-on-Chip is a complex IC device which integrates the major functional

    elements of a product into a single chip—for example, processor, on-chip memory, custom

    acceleration logic etc.

    viii

  • Unit Test Testing of a software component in isolation

    Wafer A silicon wafer is thin round slice of a single crystal (highly pure) semiconductor substrace

    (usually silicon) that used in the fabrication of integrated circuits and other microelectronic

    devices.

    Wiki A wiki is a web-based content management tool designed to enable those who access it to

    contribute and easily modify its content, using a very simple markup language.

    Tape-Out Tape-out is the last phase of the design of a new chip, where the design is sent to the

    semiconductor foundry for manufacturing. The term dates back to when physical paper tapes

    were sent, whereas nowadays the transfer is electronic.

    ix

  • Contents

    1 Introduction 1

    1.1 Embedded Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.1.1 Electronic Devices Everywhere! . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.1.2 Business Models and Market Interception . . . . . . . . . . . . . . . . . . . 2

    1.1.3 Coping with Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.1.4 Embedded Software Skills . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    1.1.5 Architecture of an SoC device . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    1.1.6 Software in IC Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    1.2 Summary of Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    1.2.1 Outline of Thesis Structure and Content . . . . . . . . . . . . . . . . . . . . 9

    1.3 My background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    I Initial Literature Review 14

    2 Semiconductor Ecosystem 15

    2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    2.2 Semiconductor Market . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    2.2.1 Intellectual Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    2.2.2 Chip Manufacture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    2.2.3 Product Design Companies . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    2.2.4 Characterisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    2.2.5 Embedded Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    2.2.6 The Global Marketplace—and Global Competitive Landscape . . . . . . . . 26

    2.2.7 Maintaining a Competitive Edge in the Marketplace . . . . . . . . . . . . . . 29

    2.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    3 Etymology of Hardware and Software 33

    x

  • 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    3.2 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    3.2.1 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    3.2.2 Digital Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    3.2.3 Design Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    3.2.4 Coding as an Art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    3.3 Duality of Computing Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    3.3.1 The Techno-Philosophical Argument . . . . . . . . . . . . . . . . . . . . . . 44

    3.3.2 Hardware Design Language as a Variant of Software . . . . . . . . . . . . . 46

    3.4 Cognitive Effects of Modelling and Abstraction, Linguistics and Culture . . . . . . . 48

    3.4.1 Psychological Aspects of Logic Modelling . . . . . . . . . . . . . . . . . . . 49

    3.4.2 Scientific Advance through Abstraction . . . . . . . . . . . . . . . . . . . . . 51

    3.4.3 Linguistic Relativity Hypothesis . . . . . . . . . . . . . . . . . . . . . . . . . 54

    3.4.4 Mediation of Culture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    3.4.5 Computer Programming Languages . . . . . . . . . . . . . . . . . . . . . . . 56

    3.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

    3.5.1 Research Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

    4 Digital Hardware Flows vs. Software Development Processes 62

    4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

    4.2 Technical Discipline Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

    4.2.1 History of Hardware Development Approaches . . . . . . . . . . . . . . . . 64

    4.2.2 Design Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

    4.3 Highlevel SoC Design Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    4.4 Computational Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    4.5 Testing: Validation and Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    4.6 Abstraction Breakdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

    4.6.1 Trend towards Higher-Level Synthesis and Functional Programming . . . . . 78

    4.7 Detailed Integrated SoC Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

    4.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

    II Research Design 82

    5 Research Design and Investigation 83

    xi

  • 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

    5.2 Conceptual Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

    5.2.1 Conceptual Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

    5.3 Method of Investigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

    5.3.1 Qualitative versus Quantitative versus Mixed Methods . . . . . . . . . . . . 88

    5.3.2 Philosophical Perspectives of Research Paradigms . . . . . . . . . . . . . . . 89

    5.3.3 Selection of Interpretation Methodology . . . . . . . . . . . . . . . . . . . . 92

    5.3.4 Grounded Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

    5.3.5 Phases of Grounded Theory Research . . . . . . . . . . . . . . . . . . . . . . 98

    5.4 Data Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

    5.4.1 Data Collection Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

    5.4.2 Interviewing Risks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

    5.5 Data Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

    5.5.1 Open Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

    5.5.2 Axial Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

    5.5.3 Selective Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

    5.6 Data Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

    5.7 Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

    5.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

    III Theoretical Model and Solutions 121

    6 Emergence of Theoretical Model 122

    6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

    6.2 Theory Building . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

    6.3 Business Realities: Impact on Technical Flow . . . . . . . . . . . . . . . . . . . . . . 124

    6.3.1 Consumer Electronics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

    6.4 Risk: Approach to it . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

    6.4.1 System Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

    6.4.2 The influence of discipline specialisation on inter-team cultural differences . . 135

    6.5 Social/Geographical Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

    6.5.1 Social Factors Independent of Location . . . . . . . . . . . . . . . . . . . . . 137

    6.5.2 Social Factors that are Exacerbated by Geographical Separation . . . . . . . 141

    xii

  • 6.6 Techno-cultural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

    6.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

    7 Emergent Toolbox of Patterns for SoC Project Organisation 150

    7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

    7.2 What are Patterns? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

    7.3 The Pattern Groupings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

    7.4 Patterns of Social Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

    7.4.1 Mitigate tacit knowldge loss through Social Networking Tools . . . . . . . . 153

    7.4.2 Actively Seed Social Interaction amongst Groups . . . . . . . . . . . . . . . . 154

    7.4.3 Provide Project-level Focal Point through Core Team Structure . . . . . . . . 156

    7.4.4 Drive continual progress through Daily Calls during Crunch Issues . . . . . . 157

    7.4.5 Manage IP Deliveries Efficiently . . . . . . . . . . . . . . . . . . . . . . . . . 158

    7.5 FPGA Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

    7.5.1 Automate FPGA Design Traceability through Version Tracking . . . . . . . . 159

    7.5.2 ASIC Synthesis Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

    7.5.3 Automate FPGA Programming . . . . . . . . . . . . . . . . . . . . . . . . . 162

    7.5.4 Implement Best Practises for FPGA Development . . . . . . . . . . . . . . . 163

    7.5.5 Keep ASIC/SoC team involved in FPGA Development . . . . . . . . . . . . . 164

    7.6 Development Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

    7.6.1 Perform Regular Builds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

    7.6.2 Share Code across Test Platforms and Technical Disciplines . . . . . . . . . . 166

    7.6.3 Minimum Working Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

    7.6.4 Keep the Firmware Design Simple . . . . . . . . . . . . . . . . . . . . . . . . 169

    7.6.5 Keep the Firmware team involved in C code for simulations . . . . . . . . . 170

    7.6.6 Consider Agile Methods, Test-Driven Development . . . . . . . . . . . . . . 171

    7.6.7 Communicate in Diagrams Early On . . . . . . . . . . . . . . . . . . . . . . 172

    7.6.8 Implement Recovery Mechanisms for Boot ROMs . . . . . . . . . . . . . . . 173

    7.6.9 Provide Software Test Plans Early, Hardware Features Early . . . . . . . . . 175

    7.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

    8 Validation of Theoretical Model 178

    8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

    8.2 Business Themes in Literature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

    xiii

  • 8.2.1 Commercial Realities of Software Development . . . . . . . . . . . . . . . . 182

    8.3 Risk Themes in Literature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

    8.4 Socio-Geographic Themes in Literature . . . . . . . . . . . . . . . . . . . . . . . . . 185

    8.4.1 The Sociology of Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

    8.4.2 Globally Distributed Teams . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

    8.5 Technical Themes in Literature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

    8.5.1 Techno-Cultural Perspective Differences . . . . . . . . . . . . . . . . . . . . 198

    8.5.2 Technical Determinism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

    8.5.3 A Language Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

    8.5.4 Importance of Mixed Skill Sets . . . . . . . . . . . . . . . . . . . . . . . . . 211

    8.6 An Opportunity for Agility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

    8.6.1 Agile Manifesto versus Agility . . . . . . . . . . . . . . . . . . . . . . . . . . 217

    8.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

    9 Conclusions 223

    9.1 Overall Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

    9.2 Research Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

    9.2.1 Implications for Practitioners . . . . . . . . . . . . . . . . . . . . . . . . . . 229

    9.2.2 Implications for Educators . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

    9.3 Scope for Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

    9.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

    IV Appendices 235

    A Interviewee Biographies 236

    B Interview Guides 238

    B.1 Initial Interview Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238

    C Historical Roots of Computational Logic 242

    C.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

    C.2 Advances in Mathematical Logic, and the Entscheidungsproblem . . . . . . . . . . . 242

    C.3 Computing Advances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

    D Digital Hardware Toplevel Design 248

    xiv

  • D.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

    D.1.1 Digital Toplevel Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

    E Interview Codes 252

    E.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

    E.2 Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

    E.2.1 Coding through Typesetting . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

    E.2.2 Visualisation of the Ontology . . . . . . . . . . . . . . . . . . . . . . . . . . 254

    E.2.3 Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

    E.3 Source Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

    E.3.1 Coding Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

    E.3.2 GraphViz graph description input file generation . . . . . . . . . . . . . . . . 264

    F Academic Papers 267

    F.1 Academic Papers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

    F.1.1 Globally Distributed Development of Complex Systems for the Consumer

    Electronics Semiconductor Industry . . . . . . . . . . . . . . . . . . . . . . . 267

    F.1.2 Other Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

    Bibliography 269

    Index 293

    xv

  • List of Figures

    1.1 High Level Abstraction to Physical Layout . . . . . . . . . . . . . . . . . . . . . . . 5

    1.2 Generalised SoC Block Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    1.3 Thesis Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    2.1 Semiconductor Ecosystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    2.2 8-inch silicon wafer during manufacture. . . . . . . . . . . . . . . . . . . . . . . . . 19

    2.3 Wafer is cut into separate silicon die, which are then individually wire-bonded and

    packaged . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    2.4 65nm Digital Radio ASIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    2.5 Decapped ASIC in QFN package, showing bond wiring . . . . . . . . . . . . . . . . 20

    2.6 65nm ASIC—bare silicon die . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    2.7 Embedded Software Market—2003 . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    2.8 IC Complexity - Moore’s law for memory and microprocessors . . . . . . . . . . . . 27

    3.1 A Perspective on Engineering Endeavour and its Relationship to Systems Analysis

    and Science . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    3.2 Boolean Logic is Instantiated as Hardware, Firmware and Software Models . . . . . 46

    3.3 Design Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

    4.1 The Cycle of Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

    4.2 Naïve Digital Hardware Flow/Software Process Comparison . . . . . . . . . . . . . 65

    4.3 ASIC Abstraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

    4.4 Gajski-Kuhn Y-chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

    4.5 Gajski-Kuhn Y-chart showing levels of abstraction . . . . . . . . . . . . . . . . . . . 68

    4.6 Gajski-Kuhn Y-chart showing Design Methodologies . . . . . . . . . . . . . . . . . 70

    4.7 High-level ASIC Design Flow Overview . . . . . . . . . . . . . . . . . . . . . . . . . 71

    4.8 FPGA-based Verification Flow Overview . . . . . . . . . . . . . . . . . . . . . . . . 76

    4.9 Detailed SoC Flow Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

    xvi

  • 5.1 Initial Conceptual Framework for the Study . . . . . . . . . . . . . . . . . . . . . . 86

    5.2 Reasoning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

    5.3 Components of Data Analysis: Iterative Model . . . . . . . . . . . . . . . . . . . . . 93

    5.4 Hermeneutic Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

    5.5 Representative Memo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

    5.6 Grounded Theory Method employed in this research . . . . . . . . . . . . . . . . . 101

    5.7 Model of Symbolic Interactionist View of Question-Answer Behaviour . . . . . . . . 110

    5.8 Visualisation of Open Codes as Tag Cloud . . . . . . . . . . . . . . . . . . . . . . . 113

    5.9 Early Selective Coding Data Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 116

    6.1 Theoretical Model of Influence on Hardware / Software Interworking . . . . . . . . 123

    6.2 Axial Coding of Business Reality Concepts . . . . . . . . . . . . . . . . . . . . . . . 126

    6.3 Emergence of Business Realities Theme . . . . . . . . . . . . . . . . . . . . . . . . . 127

    6.4 Competing Influences of Time, Quality and Cost . . . . . . . . . . . . . . . . . . . . 127

    6.5 Radar Plot of Market Pressures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

    6.6 Perceived Consequence Effect of Influencing Factor contribution to Total Project Risk 131

    6.7 Axial Coding of Risk Theme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

    6.8 Emergence of Risk Theme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

    6.9 Axial Coding of Social Theme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

    6.10 Emergence of Social Theme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

    6.11 Axial Coding of Techno-cultural Theme . . . . . . . . . . . . . . . . . . . . . . . . 147

    8.1 Influence of Business Themes in Theoretical Model . . . . . . . . . . . . . . . . . . 179

    8.2 Gartner ‘New Technology Hype Cycle’ . . . . . . . . . . . . . . . . . . . . . . . . . 180

    8.3 Components of the Hype Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

    8.4 Influence of Risk Themes in Theoretical Model . . . . . . . . . . . . . . . . . . . . . 184

    8.5 Influence of Social Themes in Theoretical Model . . . . . . . . . . . . . . . . . . . . 186

    8.6 Domain Bounds of Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

    8.7 Layered Behavioural Model of Software Development . . . . . . . . . . . . . . . . . 191

    8.8 Wilson’s Concept of (Social) Interface in SoC Design . . . . . . . . . . . . . . . . . . 192

    8.9 Refined Model of Trust (from Literature) . . . . . . . . . . . . . . . . . . . . . . . . 196

    8.10 Influence of Techno-Cultural Themes in Theoretical Model . . . . . . . . . . . . . . 197

    8.11 Triadic Reciprocal Causation of Social Cognitive Theory . . . . . . . . . . . . . . . 199

    8.12 Modified Concept of (Social) Interface in SoC Design . . . . . . . . . . . . . . . . . 201

    xvii

  • 8.13 Influence of Technical Determinism Themes in Theoretical Model . . . . . . . . . . 202

    8.14 Naur’s Symmetrical Relation between Tools, Problems and People . . . . . . . . . . 203

    8.15 System Architecture: HW/SW Boundary . . . . . . . . . . . . . . . . . . . . . . . . 214

    8.16 The Embedded Software Education Gap . . . . . . . . . . . . . . . . . . . . . . . . 215

    8.17 Cornerstones of Agility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218

    8.18 The C.HI.D.DL typology of Organisational Cultures . . . . . . . . . . . . . . . . . 220

    8.19 Implications of Agility for SoC Development . . . . . . . . . . . . . . . . . . . . . . 221

    C.1 Timeline of Fundamental Developments in Computational Logic . . . . . . . . . . . 245

    C.2 Turing Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

    D.1 Digital Hardware Toplevel Design Flow . . . . . . . . . . . . . . . . . . . . . . . . . 249

    E.1 Qualitative Data Analysis (QDA) Workflow . . . . . . . . . . . . . . . . . . . . . . 252

    E.2 Typesetting Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

    E.3 Typesetting Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

    E.4 Visualisation of Open Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

    E.5 Visualisation of Axial Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

    E.6 Axial Coding of Business Realities Theme . . . . . . . . . . . . . . . . . . . . . . . 257

    E.7 Axial Coding of Risk Theme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

    E.8 Axial Coding of Social Theme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

    E.9 Axial Coding of Techno-cultural Theme . . . . . . . . . . . . . . . . . . . . . . . . 260

    xviii

  • List of Tables

    2.1 Semiconductor Market Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    2.2 12 inch Integrated Circuit (IC) Mask Costs—2008 . . . . . . . . . . . . . . . . . . . 21

    2.3 IC Technology Evolution 1971–2008 . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    4.1 The Tasks of Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

    5.1 Key difference in Grounded Theory approaches . . . . . . . . . . . . . . . . . . . . 96

    6.1 Emergent Themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

    6.2 Digital Hardware vs. Software Vocabulary . . . . . . . . . . . . . . . . . . . . . . . 145

    7.1 Toolbox of Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

    7.2 Example FPGA Naming Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

    A.1 Biographies for Interviewees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236

    E.1 QDA Open Codes for Interviews . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

    E.2 QDA Open Codes and Interview Excerpts . . . . . . . . . . . . . . . . . . . . . . . 261

    xix

  • List of Research Statements

    Research Problem

    Statement of Problem and Definition of ‘Development Stress’ . . . . . . . . . . . . . . . . 31

    Fundamental Terms

    Definition of ‘Software’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    Definition of ‘Hardware’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    Research Questions

    Question 1—‘Frame of Reference’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

    Question 2—‘Effects due to Intrinsic Qualities of Discipline’ . . . . . . . . . . . . . . . . 61

    Question 3—‘Effects due to Technical Specialisation’ . . . . . . . . . . . . . . . . . . . . 61

    Question 4—‘Relieving Development Stress’ . . . . . . . . . . . . . . . . . . . . . . . . . 61

    Research Contribution

    Research Contribution (Summary) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

    Question 1 addressed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

    Question 2 addressed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

    Question 3 addressed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

    Question 4 addressed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

    xx

  • Chapter 1

    Introduction

    “There is nothing more difficult to take in hand, more perilous toconduct or more uncertain in its success than to take the lead in theintroduction of a new order of things. ”— NICCOLÒ DI BERNARDO DEI MACHIAVELLI

    1469–1527, Italian Diplomat, Political Philosopher, Musician and Writer

    1.1 Embedded Systems

    CONSUMER electronic devices are developed through the output of two main technologicaldisciplines—electronic hardware and software. Whilst it is important in many marketsegments that the devices look attractive, and have form factors and skins (“plastics”) that are fit for

    purpose, it is primarily the feature sets enabled by advances in hardware and software technology

    that fuel the continuing consumer appetite and desire for such devices.

    Device and technology convergence is well documented in the industry (Wilson, 2004), and

    disruptive technologies such as the 2007 Apple iPhone (Ranger, 2008) have encouraged a renewed

    vigour for “featuring-up” market entry-level mobile devices.

    Park (1998) mentions the need for highly integrated System-on-Chip (SoC) devices in order to

    remove cost and reduce the size of high volume electronic devices:

    ‘With the marketplace hungry for smaller, faster and cheaper products, highly integrated systemson a chip (SOCs) are a practical necessity.’

    Lavagno et al. (1999) additionally noted that:

    ‘in the near future, most objects of common use will contain electronics to augment theirfunctionality, performance, and safety.’

    1

  • 1. INTRODUCTION 1.1. EMBEDDED SYSTEMS

    1.1.1 Electronic Devices Everywhere!

    Indeed, semiconductor devices are ubiquitous in our modern day world. They are used to enable

    practically every single electronic device we use—from our digital cameras, games consoles and

    mobile cellular phones, to the ignition and traction control systems of our cars, to the avionics in

    our aircraft.

    The computing power of a smartphone device in 2010 (for example, Apple iPhone 3G S

    600MHz ARM Cortex-A8 processor / Google Nexus One 1GHz Qualcomm Snapdragon

    processor), or of a portable games console in 2008 (for example Sony PSP, 333MHz R4000

    processor), is equivalent or even superior to that of a desktop computer of even desktop computing

    of 10 years ago (for example, Intel® Pentium® III 1GHz in 2000). Home games console processing

    power has unleashed tremendous potential for scientific computing (Williams et al., 2006) and

    mainframe development (Ferguson, 2007).

    In these devices, digital hardware and embedded software systems combine to provide the logic

    that provide their basic functionality, with analogue hardware components interfacing the world of

    digital logic to the outside environment.

    1.1.2 Business Models and Market Interception

    The semiconductor business that provides these highly integrated systems depends on tight margins

    and large volumes. Paul Otellini, Chief Executive Officer of Intel Corporation1, describes the

    semiconductor business very well in the following:

    ‘Our business model is one of very high risk: We dig a very big hole in the ground, spend threebillion dollars to build a factory in it, which takes three years, to produce technology we haven’tinvented yet, to run products we haven’t designed yet, for markets which don’t exist.

    ‘We do that two or three times a year.’ (BBC News, 2008)

    Semiconductor designers need to anticipate an early market requirement two to three years

    hence, estimate what will still be a competitive technical solution at that time period (in other words,

    an extremely aggressive and challenging solution at the current time) and aim for this—hoping to

    intercept a rising market with the right technology and feature set at the right time at some point in

    the future.

    1As of 21st April 2010.

    2

  • 1. INTRODUCTION 1.1. EMBEDDED SYSTEMS

    As if this wasn’t a difficult enough undertaking, two eponymous adages conspire together to

    impart ever greater complexity to the system designs. Moore’s Law states that the number of

    transistors on a silicon design doubles roughly every 18 months (Moore, 1965), whereas Wirth’s

    Law (‘Software is getting slower more rapidly than hardware becomes faster.’ (Wirth, 1995)2) deals

    with the increasing software complexity that Moore’s devotees enable.

    Coudert (2002) notes that ‘designs keep getting bigger and more complex’. These elaborate

    and intricate designs require significant investment of designer time to ensure they are correctly

    validated and verified. Due to the severe market pressures and the rampant pace of improvement,

    it is not surprising, perhaps, that very often consumers end up dealing with slightly under-cooked

    products—the rise of the so called “Beta culture” (Boran, 2009) where product is rushed to market

    and the initial early adopters form part of the extended beta test phase.

    1.1.3 Coping with Complexity

    Coveney and Highfield (1995) describe the exploration of manifestations of complex process and

    systems:

    ’Within science, complexity is a watchword for a new way of thinking about the collectivebehaviour of many basic but interacting units, be they atoms, molecules, neurons, or bits withina computer. To be more precise, our definition is that complexity is the study of the behaviour ofmacroscopic collections of such units that are endowed with the potential to evolve in time.’

    Semiconductor projects, with multi-million lines of HDL and software code, and even larger sizes

    test bench code, definitely qualify as complex systems. Those tasked with developing, integrating

    and debugging these systems into existence as devices fit for the end consumer can certainly attest

    to the difficulty in comprehending complex systems:

    ‘Their interactions lead to coherent collective phenomena, so-called emergent properties that canbe described only at higher levels than those of the individual units. In this sense, the wholeis more than the sum of its components, just as a van Gogh painting is so much more than acollection of bold brushstrokes’. (Coveney and Highfield, 1995)

    As Michael Fister, President and CEO of Cadence Design System put it:

    ‘Development is not only about having a billion transistors on a chip but also about having themall work.’ (Banks and Fister, 2008)

    2Wirth, for his part, attributes the saying to Martin Reiser in Wirth (1995).

    3

  • 1. INTRODUCTION 1.1. EMBEDDED SYSTEMS

    In order to deal with this increasing complexity, it was necessary for engineers and scientists to

    raise the level of abstraction to cope. This precipitated the eventual specialisation into the disciplines

    of hardware engineering and software engineering:

    • Initially, analogue electrical circuits were used to model calculus, trigonometry and complex

    number theory;

    • Analog circuits became digital with the use of valves enabling the use of Discrete Logical

    Algebra to raise the abstraction to the new digital level;

    • Values were replaced with transistors over time;

    • Software changed from punch-tape instruction sequences to bit patterns stored in computer

    memory;

    • Assembler mnemonics were abstracted from the binary machine code to program the machine;

    • Higher level languages such as C and Pascal allowed greater productivity (Brooks, Jr., 1995;

    Davis et al., 1998), simplifying common tasks to language constructs (if...else etc.) and

    allowing greater portability;

    • Early computer hardware had a significant influence on software, with high-level languages

    ‘strongly influenced by the von Neumann architecture: they were sequential and imperative at the

    beginning. Writing such a program was guided by the capabilities the machine offered, instead of by the

    ideas on how to solve the particular problem’ (Kloos, 1987);

    • Hardware engineers use logical circuit elements of digital metaphor to raise the abstraction

    bar beyond the electrical physics transistor or semiconductor level: digital hardware design

    evolved from transistors to Boolean logic, from logic cells to to HDLs capable of describing

    logic blocks and of algorithmic expression, and to system level design—Figure 1.1 illustrates

    the abstraction of working in a HDL language (Figure 1.1(a)), and the ultimate schematics

    that end up being generated for fabrication (Figure 1.1(b));

    • Languages evolved into object oriented, dynamically typed, virtual machines running byte

    code, and subsequently into higher level domain specific languages.

    Current (~2010) 45nm fabrication technology is actually below the wavelength of the laser

    light used, and so immersion lithography is now—purified water or other liquid replacing air as

    the medium as it reduces the effective wavelength (Owa and Nagasaka, 2003). For the purposes

    4

  • 1. INTRODUCTION 1.1. EMBEDDED SYSTEMS

    (a) Source VHDL Fragment (b) Layout of Complex Digital Media ASIC, 65nm lowpower process (without metals)

    Figure 1.1: High Level Abstraction to Physical Layout

    of comparison, 45nm transistors are 2,000 times smaller than a human hair (Intel Corporation,

    2007a), and 400 or so would fit on a human red blood cell3 (Intel Corporation, 2007b).

    Vannevar Bush noted that the benefits of specialisation are not without consequences:

    ‘. . . there is increased evidence that we are being bogged down today as specialization extends.The investigator is staggered by the findings and conclusions of thousands of other workers—conclusions which he cannot find time to grasp, much less to remember, as they appear. Yetspecialization becomes increasingly necessary for progress, and the effort to bridge betweendisciplines is correspondingly superficial.’ (Bush, 1945)

    1.1.4 Embedded Software Skills

    There are differences in skill sets and differences in mindset and approach required in the

    development of software for embedded systems versus desktop software. For instance, (Anderson,

    2008) remarks that:

    ‘Embedded systems are frequently resource-limited. These systems have low-power processors,possible battery operation, and limited memory and storage. And yet, there are increasingdemands from consumers for high-end features. . . ’ ‘. . . virtually all embedded system developers

    3Red Blood Cells, RBCs, have a mean diameter of approx. 8µm (Hillman et al., 2005)

    5

  • 1. INTRODUCTION 1.1. EMBEDDED SYSTEMS

    need an intimate knowledge of the hardware and how the software will interact with it. Thisknowledge is often times down to the hardware-register level of the device.’

    Wolf (2006) describes the growth of the embedded computing profession, including some of its

    growing pains. Wolf states that:

    ‘Many consumer devices now run millions of lines of software code to support the range of servicesand connectivity that consumers demand. An increasing number of devices also allow loadingand running of third-party software. In addition to creating a demand for new application-levelsoftware, this also makes the foundational software in the device more complex.’

    Keating and Bricaud (1998) concurs with this viewpoint, stating:

    ‘System-on-a-Chip designs have a significant software component. . . Software plays an essentialrole in the design, integration and test of SoC systems, as well as in the final product itself.’

    The International Technology Roadmap for Semiconductors is a fifteen-year assessment of the

    semiconductor industry’s future technology requirements. It is sponsored by the semiconductor

    industry associations in the five leading chip manufacturing regions in the world: Europe, Japan,

    Korea, Taiwan and the United States. The ITRS Update (2008) recognises the trend of increasing

    software importance in the industry, confirming ‘software as an integral part of semiconductor

    products, and software design productivity as a key driver of overall design productivity’.

    Additionally, it notes that ‘embedded software. . . has emerged as the most critical challenge to SOC

    productivity’.

    There are a number of reasons why this is the case: for example, Goldman (2009) mentions

    platform based designs (one chip, many products customisations in software), bug risk avoidance,

    extending the hardware lifecycle, and general product differentiation.

    1.1.5 Architecture of an SoC device

    Figure 1.2 illustrates the blocks that might be found in a contemporary (~2010) SoC device for

    the consumer electronics markets (e.g. cellular, digital home multimedia etc.) This includes a boot

    ROM (and possibly ROM libraries with a patch table in RAM), various types of RAM, a micro-

    processor, function-specific core logic, general purpose I/O, a variety of transport peripherals for

    talking to other chips and devices, and a variety of hardware accelerators.

    All of these blocks require individual verification, and the entire SoC design needs validation to

    ensure blocks can be used in tandem to implement the product’s market use cases—to ensure, for

    instance, there is sufficient bus bandwidth, that there are no resource conflicts in the system, that all

    interlocking and signal handshaking is correct.

    6

  • 1. INTRODUCTION 1.1. EMBEDDED SYSTEMS

    TCM RAM,System RAM

    ROM

    NAND Flash

    E2PROM

    Micro-Processor(possibly multi-core)

    Function-Specific Core

    JTAG

    GPIO

    DMAC

    PLL

    Clock & PowerManagement

    Crypto Accelerator

    Transport Peripherals(e.g. USB, I2C, SPI, UART,SDIO, WiFi, Bluetooth, . . . )

    ADC / DAC

    PDM / PWM

    2D/3D Accelerator,TFT Control

    Figure 1.2: Generalised SoC Block Structure

    Semiconductor programmes, and particular SoC designs, typically require large quantities of

    deliverables to be managed in parallel with very tight timescales, with cross functional teams, on

    multiple sites, and with limited project management resource.

    1.1.6 Software in IC Design

    The software aspects of semiconductor Intellectual Property (IP) design are often overlooked, and

    yet end up contributing disproportionately to the perceived quality of the end product. Many of

    the design flaws and oversights from the earlier hardware phase are left for resolution by software

    workaround.

    Additionally, tight market opportunities mean that whilst hardware teams possibly run late,

    software teams must deliver on time and to changing customer specifications. To some degree,

    semiconductor IP design is, by virtue of the very marketplace demands, an extreme example of an

    agile system development industry (Beedle et al., 2001).

    Meanwhile, system architects and hardware design teams face the significant problem of trying

    to predict the pace of technology 2–3 years out, and to achieve what is called the market intercept

    7

  • 1. INTRODUCTION 1.2. SUMMARY OF RESEARCH

    point—making sure the technology is competitive and relevant at time it becomes available in mass-

    production.

    1.2 Summary of Research

    The research presented in this thesis is concerned with investigating the environment and factors

    which influence system-on-chip development in this industry, with a specific focus on inter-discipline

    team interaction that occurs between digital hardware and embedded software, and with the

    development of process patterns that address the particular problems faced.

    The aim of this research is the development of a grounded theory showing various categories

    of interactions that occur between the digital hardware and software development teams that work

    together on complex semiconductor product. The contribution of this research is in six parts:

    (a) it identifies that digital IC hardware engineering is very similar in many respects to software

    engineering.

    (b) it illustrates that the business models that survive in the consumer electronics semiconductor

    ecosystem rely to a tailoring of engineering work that is sufficient to meet market intercept

    windows;

    (c) in contradiction to the original premise of the research, it shows that the social and

    geographical degrees of separation play a more significant role in adversely affecting and

    impeding performance than technical or techno-cultural issues between the two groups—

    specifically, it indicates that geographical separation of design teams is the greatest detraction

    of productivity potential in complex consumer electronics semiconductor projects;

    (d) it acknowledges that, despite the shared ancestry, there is a growing separation of technical

    mindset between software and digital IC hardware;

    (e) it provides strong evidence for the applicability of Agile methods in the development of

    embedded devices, specifically for consumer electronics semiconductor devices;

    (f) it presents a list of patterns of organisation and workflow for semiconductor projects that may

    help in the development process.

    8

  • 1. INTRODUCTION 1.2. SUMMARY OF RESEARCH

    1.2.1 Outline of Thesis Structure and Content

    In presenting an outline of the structure of this dissertation, it is helpful to first identify the separate

    phases that constitute empirical research4 (Creswell, 2003):

    • Identification of a research problem;

    • Review of the existing literature;

    • Specification of a purpose;

    • Collection of Data;

    • Analysis and Interpretation of data;

    • Reporting on and evaluating data.

    This introduction chapter provides for the identification of the specific research problem. With

    a view to matching with the remaining phases presented op. cit, the remainder of this dissertation is

    divided into five parts, as illustrated in Figure 1.3:

    • Part I (“Initial Literature Review”) presents a literature review to describe the semiconductor

    market place, compare the disciplines of digital hardware and embedded software, and

    formulate research questions to tackle the identified research problem;

    • Part II (“Research Design”) describes the steps employed to plan and conduct the research;

    • Part III (“Theoretical Model and Solutions”) describes the outcomes of the research, presents

    my validation of the research—through post-mortem pre-existing literature review—and

    identifies scope for future work;

    • Part IV (“Appendices”) provides some ancillary information, in the form of a set of

    appendices.

    Part I—Initial Literature Review

    Literature in qualitative study is commonly employed a deductive manner, as a basis for advancing

    and framing the research problem, and for validating the results. Bearing this in mind, the use of

    scholarly literature serves three distinct aims within this thesis:

    4Research in which the knowledge or theory derived from it is as the result of observations or experiments.

    9

  • 1. INTRODUCTION 1.2. SUMMARY OF RESEARCH

    Chapter 1: Introduction

    Chapter 2: Semiconductor Ecosystem(identifies and introduces Research Problem)

    Chapter 3: Etymology ofHardware and Software

    (formulates Research Questions)

    Chapter 4: Digital Hardware Flows vs. Software Development Processes

    Part I: Initial Literature Review

    Chapter 5: Research Design and Investigation

    Part II: Research Design

    Chapter 6: Emergence of Theoretical Model

    Chapter 7: Emergent Toolbox of Patterns for SoC Project Organisation

    Chapter 8: Validation of Theoretical Model

    Chapter 9: Conclusions

    Part III: Theoretical Model and Solutions

    Figure 1.3: Thesis Structure

    • Firstly, as this research is an exploratory qualitative analysis of digital hardware and software

    team interaction, literature is used at the outset to set the scene (as opposed to any direct

    hypothesis construction) and to establish the ecosystem of semiconductor market.

    In this regard, Chapter 2 (“Semiconductor Ecosystem”) provides some background

    information on the ecosystem of semiconductor development, including detail on the various

    business models that are present. It describes the semiconductor market place, especially

    market dynamics.

    • Secondly, literature is used to provide a basis for the comparison of digital hardware and

    software activities as very closely related manifestations of computational logic.

    10

  • 1. INTRODUCTION 1.2. SUMMARY OF RESEARCH

    Chapter 3 (“Etymology of Hardware and Software”) presents an etymology on embedded

    systems to clarify what constitutes digital hardware and software. It traces the historical

    roots of computing science in order to further highlight the common ancestry between these

    disciplines.

    Chapter 4 (“Digital Hardware Flows vs. Software Development Processes”) compares

    and contrasts software and hardware development flows, and presents some conceptual

    similarities between the various process stages.

    • Thirdly, literature is used to validate the outcomes from the research. This is presented later, in

    Part III (“Theoretical Model and Solutions”), Chapter 8 (“Validation of Theoretical Model”).

    Part II—Research Design

    Chapter 5 (“Research Design and Investigation”) discusses the conceptual framework used in

    designing the research. This framework is used to choose and develop a suitable research strategy,

    based on the inputs of what is known about the topic, what the intent of the study is, and the specific

    scientific methods applicable. It presents a discussion of the strategy used in the research. The

    methods employed for data collection and analysis are examined in detail. It describes the selection

    of candidates, the interview process, and the coding of data collected during the interviewing of field

    experts.

    Part III—Theoretical Model and Solutions

    Chapter 6 (“Emergence of Theoretical Model”) describes how the codes obtained from data

    analysis were subsequently used in the construction of a grounded theory illustrating the areas

    of development stress and impediment in digital hardware and software team interaction.

    Chapter 7 (“Emergent Toolbox of Patterns for SoC Project Organisation”) presents a toolbox

    of semiconductor project design patterns, which emerged through analysis of the data collected. It

    is my contention that these patterns of management and project organisation, evolved during the

    course of the research, are viable techniques for empowering team and project productivity.

    Chapter 8 (“Validation of Theoretical Model”) validates the results of the research, with

    reference to pre-existing literature—mainly sourced from other areas of study within software

    research—for example, the phenomenon of Global Software Development (GSD).

    11

  • 1. INTRODUCTION 1.3. MY BACKGROUND

    Finally, Chapter 9 (“Conclusions”) summarises this work, provides conclusions to my identified

    research questions, implications for practitioners and educators, and also proposes potential

    opportunities for follow-on research.

    Part IV—Appendices

    Appendix A (“Interviewee Biographies”) presents biographies for the main individuals interviewed

    in the collection of data for this thesis.

    Appendix B (“Interview Guides”) presents the initial interview guides, used initially to frame

    and semi-structure discussions.

    Appendix C (“Historical Roots of Computational Logic”) describes the evolution and

    development of computing, placing the (relatively) recent specialisations into the disciplines of

    Hardware and Software Engineering in an historical context, and is useful background reading

    for Chapter 3 (“Etymology of Hardware and Software”).

    Appendix D (“Digital Hardware Toplevel Design”) looks at the steps involved in digital

    hardware toplevel design, for the purpose of better understanding the tasks involved—in particular,

    the additional considerations that bear an impact upon digital hardware design.

    Appendix E (“Interview Codes”) describes how the coding of collected data was converted

    through subsequent analysis into various facts.

    Appendix F (“Academic Papers”) presents some of the work contained in this thesis, as published

    in other forums during the course of the work.

    1.3 My background

    The role of the researcher as the primary data collection instrument within a study requires careful

    treatment, in order to transparently convey any personal biases or opinions at the outset of this

    work. Locke et al. (2000) suggests that the researcher’s individual viewpoints and effect on the

    research environment can contribute positively to the research.

    As my role in this dissertation is that of the active researcher, I will now present my background

    in order to address any concerns of ‘strategic, ethical, and personal issues’ (Creswell, 2003; Locke

    et al., 2000).

    I graduated from the University of Limerick with a Bachelor of Engineering in Computer

    Engineering in 1995, and a Masters of Engineering in Computer Engineering by Research and

    12

  • 1. INTRODUCTION 1.3. MY BACKGROUND

    Thesis (Griffin, 1997). During these studies, I was exposed to a mixture of analog and digital

    hardware electronics theory, although I chose to specialise in software. From 1997, I worked as a

    research officer in the University on a variety of telecommunications related projects.

    From 1999 through to 2005, I worked in an IP creation company, developing wireless

    communication stack software for mobile devices. I was particularly involved at the hardware /

    software interface: working on such tasks as hardware abstraction layer development, low-level

    real-time state machines, device drivers.

    More recently, from 2005 to 2010, I have worked as IC Firmware Manager in a fabless

    semiconductor company, where we have been concerned with the integration of third-party

    intellectual property, the development of firmware for Mobile Digital TV, Digital Radio and Internet

    Radio/Connected Audio receiver chipsets, and the verification of complex ASIC designs.

    Bolker (1998) suggests that ‘Some people seem always to have known what they want to write their

    dissertations about . . . ’ Whilst not entirely true in my case, my métier is semiconductor firmware, and

    I have a very deep professional interest in better understanding how to get digital hardware and

    embedded software teams working effectively towards a common goal. As such, Bolker (op. cit)

    might term me one of:

    ‘. . . the lucky ones who have a burning question that they want to spend time answering . . . Youfollow your curiosity, and, if you’re lucky, your passion.’

    13

  • Part I

    Initial Literature Review

    Chapter 1: Introduction

    Chapter 2: Semiconductor Ecosystem

    Chapter 3: Etymology of Hardware and Software

    Chapter 4: Digital Hardware Flows vs. Software Development Processes

    Part I: Initial Literature Review

    Chapter 5: Research Design and Investigation

    Part II: Research Design

    Chapter 6: Emergence of Theoretical Model

    Chapter 7: Emergent Toolbox of Patterns for SoC Project Organisation

    Chapter 8: Validation of Theoretical Model

    Chapter 9: Conclusions

    Part III: Theoretical Model and Solutions

    14

  • Chapter 2

    Semiconductor Ecosystem

    “ . . . when they were first invented, nobody could have imaginedthe possible applications of shrinking transistors down until theywere almost invisible—in slabs of processed sand!—and then wiring

    millions of them together into a circuit. Turing, von Neumann,

    Shannon and Shockley couldn’t possibly have anticipated many of the

    modern-day applications of their work—WiFi and the web, iPods and

    the Internet. ”— MARTYN AMOSTaken from ‘Genesis Machines: The New Science of Biocomputing’, Atlantic

    Books, London, 2006

    2.1 Introduction

    THIS chapter discusses the ecosystem of the consumer electronics marketplace for semiconductordevices. The reason for doing this is to establish a view of the competitive landscape within thisindustry, and to clearly identify the distinct business models involved and their related commercial

    pressures and requirements.

    First, I describe the various functional roles in the ecosystem, and how they correspond to

    business models. Then, I present an insight into semiconductor manufacture, and the proliferation

    of embedded semiconductor software. Finally I discuss the global landscape for semiconductor

    development in which Irish semiconductor companies compete.

    2.2 Semiconductor Market

    Semiconductors are tiny devices made from silicon. The semiconductor industry produces

    microchips, or integrated circuits (“ICs”) that are required to build most common electronic

    products.

    15

    http://en.wikipedia.org/w/index.php?title=Special%3ABookSources\&isbn=159020039X

  • 2. SEMICONDUCTOR ECOSYSTEM 2.2. SEMICONDUCTOR MARKET

    These devices have enabled tremendous changes to modern society—improving the safety and

    comfort of our standards of living, and providing us new forms of interactive entertainment. Writing

    in Byte magazine on the 25th anniversary of the microprocessor, Wayner (1996) describes how, after

    the arrival of devices ‘small enough and cheap enough to fit inside business machines, toys, appliances, tools,

    and entertainment devices’, the ‘world hasn’t been the same since’. The same article predicts that its

    analysis of the microchip’s ‘impact on society is only a snapshot in time. The revolution continues’.

    The market for semiconductor products is endemic in the value chain of the electronics industry.

    The virus-like connotations associated with the word endemic are deliberate—as silicon capacity

    has increased and expectations of functionality have swollen, developers have relied more and more

    on ever-mode sophisticated components of software logic for reasons of time to market, risk and

    flexibility. Kumar (2008) describes how:

    ‘The semiconductor industry has been a fertile ground for the nurturing electronics industry. Overthe last 40 years, various different markets have driven the growth of the industry and haveprovided the impetus for innovations.’

    The market for semiconductors has expanded by 14% per annum on average between 1960 and

    2002, while the cost per function have historically fallen by approximately 25% (Wojahn, 2002).

    Sales for semiconductor amounted to US $143 billion in 2001, and US $272 billion in 2007—as

    shown in Table 2.11.

    Table 2.1: Semiconductor Market Size

    Year % Growth Amount(US Dollars)

    2007 — $272.0 billion

    2008 -2.0% $266.6 billion

    2009 -9.4% $241.5 billion∗

    2010 6.4% $257.9 billion∗

    2011 10.8% $284.8 billion∗

    ∗Figures for years 2009 through2011 are forecasted estimates.Taken from LaPedus (2008a,b).

    1For up to date figures, the Semiconductor Industry Association (http://www.sia-online.org/) publishes its GlobalSales Report, a three-month moving average of sales activity.

    16

    http://www.sia-online.org/

  • 2. SEMICONDUCTOR ECOSYSTEM 2.2. SEMICONDUCTOR MARKET

    IP Creation

    Chip Manufacture

    Product Design

    Sales Channel

    Design Services Intellectual Property Provider

    Brand

    Design House

    Packaging House

    Foundary Partner

    ODM

    OEM

    ASIC Design

    Figure 2.1: Semiconductor Ecosystem

    The semiconductor market growth rate, having been impacted in recent years since the global

    economic downturn, represents roughly twice that of the electronics industry in general. The reason

    for this faster growth rate is the increase in semiconductor content in end electronic products.

    Semiconductor manufacturing processes are very sophisticated and there is a significant capital

    investment in plant and equipment. The semiconductor fabrication plants (“fabs”) require larger

    and larger quantities of production to break-even.

    In order to achieve this, they need the new product designs that will excite and entice the end

    markets. As these designs become increasingly intricate, the investment in doing the design work

    internally quite often becomes prohibitive. To address this, a very sophisticated ecosystem has

    emerged around the development of semiconductor systems—my own interpretation of which is

    illustrated in Figure 2.1. In the ecosystem, each oval represents a functional aspect/role, and not

    necessarily a discrete organisation. Depending on their business models and technical competencies,

    companies may take take on many roles, or specialise in as few as one.

    Wolf (2006) states that:

    17

  • 2. SEMICONDUCTOR ECOSYSTEM 2.2. SEMICONDUCTOR MARKET

    ‘The embedded computing application space is growing and will continue to do so for quitesome time as we figure out better ways to design new microprocessors and better ways to designembedded software.’

    2.2.1 Intellectual Property

    Intellectual Property (IP) creation is the function of generating hardware and software designs to

    address market requirements. With more discerning consumer markets comes the demand for

    more sophisticated featureful product, in tandem with shortening market windows. This results in

    potential competitive advantages to being first to market2. To address this demand for accelerated

    design cycles, the chip manufacturer has a few choices: either develop the intellectual property for

    the design internally, out-source it to an intellectual property provider (paying a license fee and

    potentially a royalty per unit volume), or underwrite its development via a bespoke design services

    company. Many companies are providing semiconductor IP—essentially reference designs for what

    are anticipated to be large volume consumer devices and peripherals. Intellectual property can

    consist of analog hardware, digital hardware, and software—all in either formats of source code,

    obfuscated source code, or libraries.

    2.2.2 Chip Manufacture

    The chip manufacturing function has a number of distinct aspects to it. With modern sophisticated

    System-on-Chip products, IP from a variety of sources (internal, from IP, open source, etc.)

    providers is integrated into a single design. This design is validated and verified through various

    techniques. It is floor-planned in terms of the placement of various functionality in silicon, and a

    final layout created. The layout is in the form of a vector graphics file format (GDS-II) that the

    foundry uses to create the silicon masks and wafers.

    Once the design reached a sign-off as being fit for purpose, it is “taped-out”. Tape-out is a

    historical term, with its roots from a time when the design was stored on magnetic tape. Tape-

    out today involves in the layout vector image of the silicon being transferred electronically to the

    foundry.

    Semiconductor ASIC devices are incrementally created as a number of layers—some of which are

    the actual chemical dopings for the transistors, the rest of which are various layers of insulator and

    2Although serial-entrepreneur Jason Calacanis remarked that ‘the first guy up the hill gets the arrows’ whendiscussing early mover advantage in business (Calacanis et al., 2008).

    18

  • 2. SEMICONDUCTOR ECOSYSTEM 2.2. SEMICONDUCTOR MARKET

    Figure 2.2: 8-inch silicon wafer during manufacture.Image courtesy of Taiwan Semiconductor Manufacturing Co., Ltd.

    Figure 2.3: Wafer is cut into separate silicon die, which are then individually wire-bonded and packaged

    19

    http://www.tsmc.com/

  • 2. SEMICONDUCTOR ECOSYSTEM 2.2. SEMICONDUCTOR MARKET

    Figure 2.4: 65nm Digital Radio ASICSilicon die encased and wire bonded in a QFN plastic package.

    Image courtesy of Frontier Silicon Ltd.

    Figure 2.5: Decapped ASIC in QFN package, showing bond wiringThe silicon die is approx. 18mm2, and the plastic package is approx. 100mm2.

    Image courtesy of Gavin Marrow

    20

    http://www.frontier-silicon.com/

  • 2. SEMICONDUCTOR ECOSYSTEM 2.2. SEMICONDUCTOR MARKET

    logic in metal. A mask set corresponds to the collection of masks required to create each of these

    layers through some form of ultraviolet etching / acid washing. Creating a mask set requires very

    precision engineering. Current state of the art technology is 32nm, in which the track widths are

    below the wavelength of the ultraviolet light. This requires some innovating diffraction techniques

    in order to successfully etch the tracks at the required tolerance levels. As a result, it is a very

    expensive process. The cost of a mask set varies depending on the process technology, but the

    figures in Table 2.2 are a rough approximation for 2008:

    Table 2.2: 12 inch IC Mask Costs—2008

    Technology Mask Cost Wafer CostProcess (US Dollars) (US Dollars)

    130nm $500,000 n/a

    90nm $800,000 $1,000

    65nm $1,000,000 $4,000

    SOURCE: Interviewee David, personalconversation, April 2008.

    The cost of a 12-inch wafer is approximately $4,000, so the main upfront costs are the mask set.

    Subject to anticipated volumes of chip sales, the mask set may or may not be the significant portion

    of the overall project cost.

    Depending on the size and shape of the integrated circuit being etched, each mask will yield

    a number of individual silicon ICs, called die. Each die needs to be tested, as the process usually

    performs to a certain level of expected yield. Good die is then packaged at a Packaging House in

    plastic with bond wires added. This is the visual form factor that people are most familiar with when

    silicon or computer chips are mentioned. Packaged parts are tested again to ensure the packaging is

    okay. There are various packaging format options, but the rule of thumb is the smaller the size, the

    more sophisticated and costly the packaging technology.

    Prototype hardware may often be scheduled for a shuttle run, to lower costs, as only small

    quantities are required. Shuttles are a mechanism by which the fabrication plants fill temporary

    gaps in their production lines. Each shuttle wafer may contain silicon from a number of vendors.

    Due to the extra organisation overheads involved, shuttle runs cost slightly more than a full wafer,

    but each vendor shares proportionally in the cost thereby reducing the individual outlay and risk.

    For example, one tenth of a 12-inch shuttle wafer (90nm) could cost $90,000 whereas a full wafer

    could cost $800,000 (SOURCE: Interviewee David, personal conversation, April 2008).

    21

  • 2. SEMICONDUCTOR ECOSYSTEM 2.2. SEMICONDUCTOR MARKET

    Another consequence of the additional organisational overheads of shuttle runs is the inflexibility

    on the date the shuttle “leaves”—if a company does not have its design ready in time, the shuttle

    will leave without them.

    With such high costs in the creation of the mask, it is important that every possible preventative

    and anticipatory measure is taken to ensure the success of the design. The cost of the mask set is

    typically apportioned across the anticipated market sales volume of the chip, so without a successful

    product it is important to recoup this significant investment expenditure.

    2.2.3 Product Design Companies

    Successful packaged parts are either sold directly to product design companies (“chip-down” sales),

    or, depending on the complexity of the part and its required external and ancillary circuitry, as

    modules of chip components for ease of integration. The competitiveness of a particular part is

    determined by a number of factors:

    • Its technical competitiveness—can it compete with solutions from peers within the

    marketplace?

    • Its direct cost—which consists of silicon and packaging costs, amortised IP licensing costs and

    royalties, patent pool licenses, and margin;

    • Its size—size affects cost (wafer cost divided by number of chips per wafer determines the

    silicon cost of the chip), and for certain market segments (e.g. small form-factor mobile

    handsets) it also affects technical competitiveness;

    • Its power consumption, particularly for mobile devices but also increasingly to address eco-

    aware end consumers (SOURCE: Interviewee David, personal conversation, April 2008).

    These factors and others are discussed in greater detail in Subsection 2.2.7.

    The number of external passive and active components that a product design company must use

    to successfully integrate SoC product into their design has a direct bearing on the bill-of-materials

    costs of any product that incorporated it; and, with typical volumes in the millions for successful

    chips, even a couple of cent per component adds up pretty quickly.

    Hardware developers (and to some degree also embedded software developers) need to be

    cognisant of the implications of their actions on the BoM cost through the realisation of the design.

    Anderson (2008) elaborates further on this:

    22

  • 2. SEMICONDUCTOR ECOSYSTEM 2.2. SEMICONDUCTOR MARKET

    ‘Due to the desire to keep costs down, embedded developers need to squeeze every last bit ofperformance from the hardware. . . So, at least some embedded designers need to understandthermal loading and MIPS/watt ratios.’

    Chip-down designs are cheaper for larger volumes, but require greater technical acumen

    on the part of the product manufacturer. Original Equipment Manufacturers (OEMs) take

    product reference designs from a Design House and manufacture product from them, including

    creating consumer facing plastics enclosures, and shrink-wrapped product with manuals etc.

    Original Design Manufacturers (ODMs) are like OEMs, with the exception that they are

    capable of taking semiconductor modules or chips, and creating product themselves. In general,

    companies that sell mobile cellular phone devices are incredibly sophisticated and capable of

    handling sophisticated levels of technology integration—whereas some other commodity consumer

    electronics manufacturers are just about able to handle board manufacture.

    Sometimes the large OEMs become well known consumer brands, such as Samsung, Sony, LG.

    Othertimes, established brands buy devices directly from the OEMs or ODMs, and perform the

    branding and marketing themselves.

    2.2.4 Characterisation

    Once silicon returns from the fab, it needs to be characterised for mass production across a variety

    of metrics and measures:

    • Correct functional operation—despite the rigorous level of testing, verification and validation

    pre tape-out, there is no guarantee that what was taped-out is functionally correct;

    • Power consumption in various operating use-cases (generally it is only possible to crudely

    estimate power consumption values through the use of spreadsheet models pre-tape-out);

    • Performance of any analog components, particularly analog-to-digital converters, RF tuners,

    high-speed PHYs etc.;

    • Operation across various temperature ranges;

    • EMC emission testing.

    At the same time, production testing procedures need to be established in order to quickly test

    packaged parts on the production line. This testing is usually charged by the second, so the quicker

    product can be tested for basic functionality and wiring, the better.

    23

  • 2. SEMICONDUCTOR ECOSYSTEM 2.2. SEMICONDUCTOR MARKET

    With all these new electronic features and components comes, of course, the need for extra

    software (complexity) to control it.

    2.2.5 Embedded Software

    Embedded software is found throughout in the modern world. It is used to control many different

    electronic products that are not normally considered “computer” products such as televisions,

    DVD players, automotive systems, flight control and navigation systems, mobile phones and digital

    cameras. The embedded software market is a large market, estimated to be worth around $23

    billion in 2003, as shown in Figure 2.7.

    Software has been described by the International Technology Roadmap for Semiconductors

    (ITRS Update, 2008) as ‘an integral part of semiconductor products’, with software design productivity

    recognised as ‘a key driver of overall design productivity.’ Furthermore, ‘embedded software . . . has emerged

    as the most critical challenge to SOC productivity’ (ITRS Update, 2008).

    Aart de Geus, chairman and CEO of EDA company Synopsys (as of 2009), noted that:

    ‘The growth of software has been faster than hardware and today (2008), semiconductorcompanies are hiring more software engineers than hardware engineers. This brings greatopportunities and huge challenges. Thinking that “software is great, because it’s easy to change” isa recipe for disaster when people make little changes and, before you know it, everything becomesvery difficult to verify . . . Very complex systems need (an) enormous amount of prototyping andverification.’ (Ben-Artzi, 2008)

    Borgstrom and Gopalan (2009) explain that whilst ‘embedded software used to be a minor or

    nonexistent deliverable for typical semiconductor devices’, at 45nm and beyond ‘software accounts for a

    full 60 percent of total chip-development cost, with major implications on how chips and systems are verified’.

    Wolf (2006) suggests between 500,000 and 800,000 people were employeed in 2006 as embedded

    computing programmers. In addition, the increasing proliferation of electronic media within the

    home (e.g. digital cameras, MP3 players, home media centers, mobile digital TV) is driving a new

    wave of growth within the consumer electronics segment of the industry.

    Wolf (2006) describes how:

    ‘Embedded computing sits at the intersection of computer science and engineering. It serves as thepillar that holds up the bridge connecting computer science with traditional engineering.’

    Embedded software usually executes on internal micro-controllers or Digital Signal Processors

    (DSPs) used to control other hardware components. These platforms are often difficult to develop

    and test during the development cycle, and equally difficult to replace and repair when deployed in

    the field—for reasons of cost, accessibility, etc.

    24

  • 2. SEMICONDUCTOR ECOSYSTEM 2.2. SEMICONDUCTOR MARKET

    Figure 2.6: 65nm ASIC—bare silicon die