ebook img

Embedded System Design: Modeling, Synthesis and Verification PDF

365 Pages·2009·3.482 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Embedded System Design: Modeling, Synthesis and Verification

Daniel D. Gajski (cid:127) Samar Abdi Andreas Gerstlauer (cid:127) Gunar Schirner Embedded System Design Modeling, Synthesis and Verification Daniel D. Gajski Samar Abdi Center for Embedded Computer Systems Center for Embedded Computer Systems University of California, Irvine University of California, Irvine 2010, AIR Bldg. 2010, AIR Bldg. Irvine, CA 92697-2620 Irvine, CA 92697-2620 USA USA [email protected] [email protected] Andreas Gerstlauer Gunar Schirner Department of Electrical & Center for Embedded Computer Systems Computer Engineering University of California, Irvine University of Texas at Austin 2010, AIR Bldg. 1 University Station C0803 Irvine, CA 92697-2620 Austin, TX 78712 USA USA [email protected] [email protected] ISBN978-1-4419-0503-1 e-ISBN978-1-4419-0504-8 DOI10.1007/978-1-4419-0504-8 Springer Dordrecht Heidelberg London New York Library of Congress Control Number: 20099931042 ©SpringerScience + BusinessMedia,LLC2009 Allrightsreserved. Thisworkmaynotbetranslatedorcopiedinwholeorinpartwithoutthewritten permissionofthepublisher(SpringerScience+BusinessMedia,LLC,233SpringStreet,NewYork,NY 10013,USA),exceptforbriefexcerptsinconnectionwithreviewsorscholarlyanalysis.Useinconnection withanyformofinformationstorageandretrieval,electronicadaptation,computersoftware,orbysimilar ordissimilarmethodologynowknownorhereafterdevelopedisforbidden. Theuseinthispublicationoftradenames,trademarks,servicemarks,andsimilarterms,eveniftheyare notidentifiedassuch,isnottobetakenasanexpressionofopinionastowhetherornottheyaresubject toproprietaryrights. Printedonacid-freepaper Springer is part of Springer Science+Business Media (www.springer.com) Preface RATIONALE Inthelasttwentyfiveyears,designtechnology,andtheEDAindustryinpartic- ular, have been very successful, enjoying an exceptional growth that has been paralleled only by advances in semiconductor fabrication. Since the design problems at the lower levels of abstraction became humanly intractable and timeconsuming earlierthenthoseathigherabstraction levels,researchers and the industry alike were forced to devote their attention first to problems such as circuit simulation, placement, routing and floorplanning. As these prob- lemsbecomemoremanageable, CADtoolsforlogicsimulation andsynthesis were developed successfully and introduced into the design process. As de- signcomplexitieshavegrownandtime-to-markethaveshrunkdrastically,both industry and academia have begun to focus on levels of design that are even higher then layout and logic. Since higher levels of abstraction reduce by an orderofmagnitudethenumberofobjectsthatadesignerneedstoconsider,they haveallowedindustrytodesignandmanufacturecomplexapplication-oriented integrated circuitsinshorterperiodsoftime. Followinginthefootstepsoflogicsynthesis,register-transferandhigh-level synthesis have contributed to raising abstraction levels in the design method- ology to the processor level. However, they are used for the design of a sin- glecustomprocessor, anapplication-specific orcommunication componentor an interface component. These components, along with standard processors and memories, are used as components in systems whose design methodol- ogy requires even higher levels of abstraction: system level. A system-level design focuses on the specification of the systems in terms of some models of computations using some abstract data types, as well as the transformation or refinement of that specification into a system platform consisting of a set of processor-level components, including generation of custom software and hardware components. To this point, however, in spite of the fact that sys- vi EMBEDDEDSYSTEMDESIGN: tems have been manufactured foryears, industry and academia have not been sufficientlyfocusedondevelopingandformalizingasystem-leveldesigntech- nology andmethodology, eventhough therewasaclearneedforit. Thisneed has been magnified by appearance of embedded systems, which can be used anywhereandeverywhere,inplains,trains,houses,humans,environment, and manufacturingandinanypossibleinfrastructure. Theyareapplicationspecific andtightlyconstrained bydifferent requirements emanating fromtheenviron- ment they operate in. Together with ever increasing complexities and market pressures,thismakestheirdesignatremendouschallengeandthedevelopment ofaclearandwell-definedsystem-level designtechnology unavoidable. Therearetworeasonsforemphasizingmoreabstract,system-levelmethod- ologies. Thefirstisthefactthathigh-levelabstractionsareclosertoadesigner’s usual way of reasoning. It would be difficult to imagine, for example, how a designer could specify, model and communicate asystem design by means of a schematic or hundred thousand lines of VHDL or Verilog code. The more complex the design, the more difficult it is for the designer to comprehend its functionality when it is specified on register-transfer level of abstraction. On theotherhand,whenasystemisdescribedwithanapplication-oriented model of computation as a set of processes that operate on abstract data types and communicate results through abstract channels, the designer willfind itmuch easiertospecifyandverifyproperfunctionality andtoevaluatevariousimple- mentations using different technologies. The second reason is that embedded systemareusuallydefinedbytheexpertsinapplicationdomainwhounderstand applicationverywell,buthaveonlybasicknowledgeofdesigntechnologyand practice. System-level design technology allows them to specify, explore and verify their embedded system products without expert knowledge of system engineering andmanufacturing. Itmustbeacknowledgedthatresearchonsystemdesigndidstartmanyyears ago; at the time, however, it remained rather focused to specific domains and communities. Forexample, thecomputer architecture community has consid- eredwaysofpartitioningandmappingcomputationstodifferentarchitectures, suchashypercubes, multiprocessors, massivelyparallelorheterogeneous pro- cessors. The software engineering community has been developing methods forspecifyingandgeneratingsoftwarecode. TheCADcommunityhasfocused onsystemissuessuchasspecificationcapture,languages,andmodeling. How- ever, simulation languages and models are not synthesizable or verifiable for lack of proper design meaning and formalism. That resulted in proliferation of models and modeling styles that arenot useful beyond themodeler’s team. By introduction of well-defined model semantics, and corresponding model transformations fordifferent design decision, itispossible togenerate models automatically. Suchmodelsarealsosynthesizableandverifiable. Furthermore, modelautomation relieves designers fromerror-prone modelcoding andeven PREFACE vii learningthemodelinglanguage. Thisapproach isappealing toapplication ex- pertssincetheyneedtoknowonlytheapplicationandexperimentwithasetof design decisions. Unfortunately, auniversally accepted theoretical framework and CAD environments that support system design methodologies based on theseconceptsarenotcommerciallyavailableyet,althoughsomeexperimental versions demonstrated several orders of magnitude productivity gain. On the other hand, embedded-system design-technology based on these concepts has maturedtothepointthatabooksummarizingthebasicideasandresultsdevel- opedsofarwillhelpstudents andpractitioners inembedded systemdesign. In this book, wehave tried to include ideas and results from awide variety of sources and research projects. However, due to the relative youth of this field, we may have overlooked certain interesting and useful projects; for this we apologize in advance, and hope to hear about those projects so they may beincorporated intofuture editions. Also,thereareseveralimportant system- level topics that, for various reasons, we have not been able to cover in detail here, such as testing and design fortest. Nevertheless, webelieve that abook on embedded system techniques and technology will help upgrade computer scienceandengineeringeducationtowardsystem-levelandtowardapplication oriented embedded systems, stimulate design automation community tomove beyondsystem levelsimulationanddevelopsystem-level synthesis andverifi- cation tools and support the new emerging embedded application community tobecomemoreinnovativeandself-sustaining. AUDIENCE This book is intended for four different groups within the embedded system community. First, it should be an introductory book for application-product designers and engineers in the field of mechanical, civil, bio-medical, electri- cal, and environmental, energy, communication, entertainment and other ap- plication fields. This book may help them understand and design embedded systems in their application domain without an expert knowledge of system design methods bellow system-level. Second, this book should also appeal to system designers and system managers, who may be interested in embedded system methodology, software-hardware co-design and design process man- agement. Theymayusethisbooktocreateanewsystemlevelmethodologyor toupgradeoneexistingintheircompany. Third,thisbookcanalsobeusedby CAD-tooldevelopers,whomaywanttousesomeofitsconceptsinexistingor futuretoolsforspecificationcapture,designexplorationandsystemmodeling, synthesis and verification. Finally, since the book surveys the basic concepts andprinciplesofsystem-designtechniquesandmethodologies, includingsoft- ware and hardware, it could be valuable to advanced teachers and academic viii EMBEDDEDSYSTEMDESIGN: programs that want to teach software and hardware concepts together instead of in non-related courses. That is particularly needed in today’s embedded systems where software and hardware are interchangeable. From this point, the book would also be valuable for an advanced undergraduate or graduate course targeting students who want to specialize in embedded system, design automation and system design and engineering. Since the book covers multi- ple aspects of system design, it would be very useful reference forany senior projectcourseinwhichstudentsdesignarealprototypeorforgraduateproject forsystem-leveltooldevelopment. ORGANIZATION Thisbook hasbeenorganized into eightchapters thatcanbedivided intofour parts. Chapter 1 and 2 present the basic issues in embedded system design anddiscussvarioussystem-designmethodologiesthatcanbeusedincapturing system behavior and refining it into system implementation. Chapter 3 and 4 deal with different models of computations and system modeling at different levelsofabstractionaswellassystemsynthesisfromthosemodels. Chapter5, 6, and 7 deal with issues and possible solutions in synthesis and verification of software and hardware component needed ina embedded system platform. Finally,Chapter8reviewsthekeydevelopmentsandselectedcurrentacademic andcommercialtoolsinthefieldofsystemdesign,systemsoftwareandsystem hardwareaswellascasestudyofembedded systemenvironments. Given an understanding of the basic concepts defined in Chapter 1 and 2, eachchaptershouldbeself-contained andcanbereadindependently. Wehave used the same writing style and organization in each chapter of the book. A typicalchapterincludesanintroductory example,definesthebasicconcepts,it describes the main problems to be solved. It contains a description of several possiblesolutions,methodsoralgorithmstotheproblemsthathavebeenposed, andexplainstheadvantagesanddisadvantagesofeachapproach. Eachchapter alsoincludesrelationshiptopreviouslypublishedworkinthefieldanddiscusses someopenproblemsineachtopic. Thisbook could be used inseveral different courses. Onecourse would be forapplication expertswithonlyabasicknowledgeofcomputersengineering. Itwouldemphasize application issues, system specification inapplication ori- ented models of computation, system modeling and exploration as presented in Chapter 1 - 4. The second course for embedded system designers would emphasizesystemlanguages, specification capture, systemsynthesisandveri- ficationwithemphasisonChapter3,Chapter4,andChapter7. Thethirdcourse mayemphasizesystemdevelopmentwithcomponentsynthesisandtoolsasde- scribed inChapter5-Chapter8. Inwhicheveritisused, though, wefeelthat PREFACE ix thisbookwillhelptofillthevacuumincomputerscienceandengineering cur- riculum where there is need and demand for emphasis on teaching embedded system design techniques inaddition to supporting lowerlevels ofabstraction dealingwithcircuit, logicandarchitecture design. Wehopethatthematerialselectionandthewritingstylewillapproachyour expectations; wewelcomeyoursuggestions andcomments. DanielGajski,AndreasGerstlauer, SamarAbdi,GunarSchirner Acknowledgments Thisbookwasinthemakingformanyyears: fromconceptstomethodologies to experiments. Many generations of researchers at the Center for Embedded SystemsatUCIparticipated infindingandprovingwhatworksandwhatdoes not. Wewouldliketothankthemembersofthefirstgenerationthatestablished basicprinciplesofembeddedsystems: FrankVahid,SanjivNarayan,JieGong and Smita Bakshi. We would also like to acknowledge the second generation thatbroughtusSpecCandSystemonChipEnvironment: JianwenZhu,Rainer Doemer, Lukai Cai, Haobo Yu, Sequin Zhao, Dongwan Shin, and Jerry Peng. Andthethirdgeneration thatmadeEmbeddedSystemEnvironment available: LochiYu,HansuCho,YongyunHwang,InesViskic. Inaddition,wewouldlike to acknowledge the NISC team: Mehrdad Reshadi, Bita Gorjiara and Jelena Trajkovic for their high-level synthesis contributions and Pramod Chandraria forhisworkondesigndrivers. We would also like to thank Quoc-Viet Dang, who helped us with book formatting,figurecreation,generation, andwithoutwhomthisbookwouldnot be possible. We also want to thank our editors Matt Nelson and Brian Thill whomadethesentencesreadableandideasflowwithoutinterruptions. Wealso wanttothankSimoneLacinafromgrafikdesign-lacina.de foranexcellent and artisticcover. However,thehighestcreditsgotoGraceWuandMelanieKilianformaking ourcenterworkflawlesslywhilewewereworkingandthinkingaboutthebook. Last but not the least, we would like to thank Carl Harris from Springer forencouragement andasking ateveryconference inthelast5yearsthesame question: "WhenistheOrangebookcoming?" Contents Preface v Acknowledgments xi ListofFigures xix ListofTables xxv 1. INTRODUCTION 1 1.1 System-DesignChallenges 1 1.2 AbstractionLevels 3 1.2.1 Y-Chart 3 1.2.2 Processor-LevelBehavioralModel 5 1.2.3 Processor-levelstructuralmodel 7 1.2.4 Processor-levelsynthesis 10 1.2.5 System-LevelBehavioralModel 13 1.2.6 SystemStructuralModel 14 1.2.7 SystemSynthesis 14 1.3 SystemDesignMethodology 18 1.3.1 Missingsemantics 20 1.3.2 ModelAlgebra 21 1.4 System-LevelModels 23 1.5 PlatformDesign 27 1.6 SystemDesignTools 29 1.7 Summary 32 2. SYSTEMDESIGNMETHODOLOGIES 35 2.1 Bottom-upMethodology 35 2.2 Top-downMethodology 37 2.3 Meet-in-the-middleMethodology 38 xiv EMBEDDEDSYSTEMDESIGN: 2.4 PlatformMethodology 40 2.5 FPGAMethodology 43 2.6 System-levelSynthesis 44 2.7 ProcessorSynthesis 45 2.8 Summary 47 3. MODELING 49 3.1 ModelsofComputation 50 3.1.1 Process-BasedModels 52 3.1.2 State-BasedModels 58 3.2 SystemDesignLanguages 65 3.2.1 NetlistsandSchematics 66 3.2.2 Hardware-DescriptionLanguages 66 3.2.3 System-LevelDesignLanguages 68 3.3 SystemModeling 68 3.3.1 DesignProcess 69 3.3.2 AbstractionLevels 71 3.4 ProcessorModeling 72 3.4.1 ApplicationLayer 73 3.4.2 OperatingSystemLayer 75 3.4.3 HardwareAbstractionLayer 78 3.4.4 HardwareLayer 80 3.5 CommunicationModeling 83 3.5.1 ApplicationLayer 84 3.5.2 PresentationLayer 88 3.5.3 SessionLayer 90 3.5.4 NetworkLayer 92 3.5.5 TransportLayer 93 3.5.6 LinkLayer 94 3.5.7 StreamLayer 98 3.5.8 MediaAccessLayer 99 3.5.9 ProtocolandPhysicalLayers 100 3.6 SystemModels 102 3.6.1 SpecificationModel 103 3.6.2 NetworkTLM 104 3.6.3 ProtocolTLM 106 3.6.4 BusCycle-AccurateModel(BCAM) 107 3.6.5 Cycle-AccurateModel(CAM) 108

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.