The steady and unabated increase in the capacity of silicon has brought the semiconductor industry to a watershed challenge. Now a single chip can integrate a radio transceiver, a network interface, multimedia functions, all the "glue" needed to hold it together as well as a design that allows the hardware and software to be reconfigured for future applications. Such complex heterogeneous systems demand a different design methodology. A consortium of industrial and government labs have created a new language and a new design methodology to support this effort. Rosetta permits designers to specify requirements and constraints independent of their low level implementation and to integrate the designs of domains as distinct as digital and analog electronics, and the mechanical, optical, fluidic and thermal subsystems with which they interact. In this book, Perry Alexander, one of the developers of Rosetta, provides a tutorial introduction to the language and the system-level design methodology it was designed to support.

Key Features

* The first commercially published book on this system-level design language * Teaches you all you need to know on how to specify, define, and generate models in Rosetta * A presentation of complete case studies analyzing design trade-offs for power consumption, security requirements in a networking environment, and constraints for hardware/software co-design


system designers, verification engineers, EDA & CAD tool developers, graduate students

Table of Contents

Part I: Introduction Chapter 1: Introduction 1.1 What is System-Level Specification? 1.2 Rosetta’s Design Goals 1.3 Anatomy of a Specification 1.4 Learning Rosetta Part II: The Expression Language Chapter 2: Items, Values, Types and Declarations 2.1 Labels, Values, and Types 2.2 Item Declarations and Type Assertions 2.3 Universal Operations Chapter 3: Expressions 3.1 Atomic Expressions 3.2 Function Application 3.3 Operator Application 3.4 If Expressions 3.5 Case Expressions 3.6 Let Expressions 3.7 Compound Expressions Chapter 4: Elemental Types 4.1 The Boolean Type 4.2 The Number Types 4.3 The Character Type 4.4 The Element Type 4.5 The Top and Bottom Types 4.6 Element Literals 4.7 Operator Result Types Chapter 5: Composite Types 5.1 Type Formers 5.2 Set Types 5.3 Multiset Types 5.4 Sequence Types Chapter 6: Functions 6.1 Direct Function Definition 6.2 Function Values and Function Types 6.3 Evaluating Functions 6.4 Universally Quantified Parameters Chapter 7: Higher-Order Functions 7.1 Domain, Range and Return Functions 7.2 Alternate Higher-Order Function Notation 7.3 Minimum and Maximum 7.4 Quantifiers and Comprehension 7.5 Sequences and Higher-Order Functions 7.6 Function Inclusion and Composition Chapter 8: User Defined Types


No. of pages:
© 2007
Morgan Kaufmann
Print ISBN:
Electronic ISBN:

About the editor

Perry Alexander

Affiliations and Expertise

University of Kansas and Developer of Rosetta system design language


“In his forward to Perry Alexander's System Level Design with Rosetta, Grant Martin observes that “every new language seems to require at least one book be written to promote understanding and further interest and use, so [for Rosetta] this milestone has now been achieved.” Alexander, one of the fathers of the Rosetta language, has produced what may prove to be the seminal text on Rosetta, and one that helps it move from an academic exercise to a real-world language. The book is packed with clear code examples that explain all the language’s elements, both individually and in combination. Inasmuch as Rosetta represents more than a simple language but also a methodology, that methodology is also clearly detailed. Anyone who’s curious about Rosetta and, indeed, interested in a holistic approach to system-level design, should find this volume highly useful.” — David Maliniak, Electronic Design Online, December 18, 2006