COVID-19 Update: We are currently shipping orders daily. However, due to transit disruptions in some geographies, deliveries may be delayed. To provide all customers with timely access to content, we are offering 50% off Science and Technology Print & eBook bundle options. Terms & conditions.
System Level Design with Rosetta - 1st Edition - ISBN: 9781558607712, 9780080498379

System Level Design with Rosetta

1st Edition

Author: Perry Alexander
Paperback ISBN: 9781558607712
eBook ISBN: 9780080498379
Imprint: Morgan Kaufmann
Published Date: 13th November 2006
Page Count: 384
Sales tax will be calculated at check-out Price includes VAT/GST
Price includes VAT/GST

Institutional Subscription

Secure Checkout

Personal information is secured with SSL technology.

Free Shipping

Free global shipping
No minimum order.

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 8.1 Defining New Types 8.2 Defining Types By Extension 8.3 Defining Types By Comprehension 8.4 Defining Constructed Types 8.5 Functions as Type Definition Tools

Part III: The Facet Language

Chapter 9: Facet Basics 9.1 A First Model - An AM Modulator 9.2 Composing Models - Adding Constraints 9.3 Combinational Circuits - A Simple Adder 9.4 Defining State - A 2-bit Counter 9.5 Defining Structure - A 2-bit Adder 9.6 Specification Reuse - Using Packages 9.7 Abstract Specification - Architecture Definition

Chapter 10: Defining Facets 10.1 Direct Facet Definition 10.2 Separable Definitions 10.3 Facets and Hardware Description Languages 10.4 Facet Styles 10.5 Scoping Rules 10.6 Basics of Facet Semantics

Chapter 11: Packages, Libraries and Components 11.1 Packages 11.2 Libraries 11.3 Components

Part IV: Domains and Interactions

Chapter 12: Domains 12.1 Elements of a Domain 12.2 The Standard Domains 12.3 Domains and Facet Types

Chapter 13: Reflection 13.1 Template Expressions and AST Structures 13.2 Interpreting AST Structures 13.3 Defining Domains 13.4 Domain Declarations 13.5 Defining Engineering Domains 13.6 Defining New Model-of-Computation Domains 13.7 Defining New Unit-of-Semantics Domains 13.8 Defining Ticked and Dereferencing Expressions 13.9 Consistent Domain Extension

Chapter 14: The Facet Algebra 14.1 Facet Products and Sums 14.2 Facet Homomorphism and Isomorphism 14.3 Conditional Expressions 14.4 Let Expressions 14.5 Higher-Order Facets

Chapter 15: Domain Interactions 15.1 Projection Functions, Functors and Combinators 15.2 Defining Interactions 15.3 Including and Using Interactions 15.4 Existing Rosetta Interactions

Part V: Case Studies

Chapter 16: Case Studies 16.1 Methodology 16.2 Before Proceeding

Chapter 17: RTL Design 17.1 Requirements Level Design 17.2 Basic Components 17.3 Structural Design 17.4 Design Specification 17.5 Wrap Up

Chapter 18: Power Aware Design 18.1 The Basic Models 18.2 Composing System Models 18.3 Constructing the Simulations 18.4 Wrap Up

Chapter 19: Power Aware Modeling Revisited 19.1 Technology Specific Functional Models 19.2 Configurable Components 19.3 Decomposition 19.4 Mixed Technology Systems 19.5 Wrap Up

Chapter 20: System-Level Networking 20.1 The Basic Models 20.2 Composing System Models 20.3 Constructing the Analysis Models 20.4 Wrap Up


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


No. of pages:
© Morgan Kaufmann 2007
13th November 2006
Morgan Kaufmann
Paperback ISBN:
eBook ISBN:


“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

Ratings and Reviews

About the Author

Perry Alexander

Affiliations and Expertise

University of Kansas and Developer of Rosetta system design language