Skip to main content

2009 | Buch

Embedded System Design

Modeling, Synthesis and Verification

verfasst von: Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner

Verlag: Springer US

insite
SUCHEN

Über dieses Buch

Embedded System Design: Modeling, Synthesis and Verification introduces a model-based approach to system level design. It presents modeling techniques for both computation and communication at different levels of abstraction, such as specification, transaction level and cycle-accurate level. It discusses synthesis methods for system level architectures, embedded software and hardware components. Using these methods, designers can develop applications with high level models, which are automatically translatable to low level implementations. This book, furthermore, describes simulation-based and formal verification methods that are essential for achieving design confidence. The book concludes with an overview of existing tools along with a design case study outlining the practice of embedded system design. Specifically, this book addresses the following topics in detail:

. System modeling at different abstraction levels

. Model-based system design

. Hardware/Software codesign

. Software and Hardware component synthesis

. System verification

This book is for groups within the embedded system community: students in courses on embedded systems, embedded application developers, system designers and managers, CAD tool developers, design automation, and system engineering.

Inhaltsverzeichnis

Frontmatter
Chapter 1. Introduction
Abstract
In this chapter we will look at the emergence of system design theory, practice and tools. We will first look into the needs of system-level design and the driving force behind its emergence: increase in design complexity and widening of productivity gap. In order to find an answer to these challenges and find a systematic approach for system design, we must first define design-abstraction levels; this will allow us to talk about design-flow needs on processor and systems levels of abstraction. An efficient design-flow will employ clear and clean semantics in its languages and modeling, which is also, required by synthesis and verification tools. We will then analyze the system-level design flow and define necessary models, define each model separately and its use in the system design flow. We will also discuss the components and tools necessary for system design. We will finish with prediction on future directions in system design and the prospects for system design practice and tools.
Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner
Chapter 2. System Design Methodologies
Abstract
In this chapter we will look at different design methodologies, or design flows, for multi-processor systems. Design methodologies have evolved together with manufacturing technology, design complexity, and design automation. Improvements in technology have increased design complexity to the point that designers are no longer capable of making complex designs manually. To solve this problem, design automation tools, also known as computer-aided design (CAD) tools, were introduced. In order to make CAD tools more efficient and design algorithms more manageable, design-automation researchers as well as tool developers were forced to introduce more stringent design rules, parameterize components and minimize component libraries. As design complexities continued to increase, tool developers created new design abstraction levels and tried to use the same design strategy from the circuit level, to the logic level, to the processor level, and finally to the system level.
In this chapter, we will explain some basic system design methodologies related to the different abstraction levels in the Y-chart we introduced in Chapter 1.
Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner
Chapter 3. Modeling
Abstract
In this chapter, we will discuss concepts and techniques for modeling of systems at various levels of abstraction. We first present Models of Computation (MoCs) and design languages, which together provide the foundation for defining system behavior and models throughout the design flow. Based on these general principles, we then describe details of computation and communication modeling in the system components. The basic system component for computation is a processor with functionality that can be separated into application, operating system, hardware abstraction and hardware layers. Communication functionality can be modeled as stacks of network and protocol layers that are inserted into processors and CEs to realize drivers and interface hardware. In the end, we will show how these concepts and layers are combined into system models for application, system, and implementation designers in the form of a Specification Model (SM), a Transaction-Level Model (TLM) and a Cycle-Accurate Model (CAM), respectively
Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner
Chapter 4. System Synthesis
Abstract
Synthesis is one of the key automation techniques for improving productivity and developing efficient implementations from a design specification. Synthesis refers to the creation of a detailed model or blueprint of the design from an abstract specification, typically a software model of the design. Synthesis takes different forms during different stages of the design process. In hardware system design, several synthesis steps automate various parts of the design process. For instance, physical synthesis automates the placement of transistors and the routing of interconnects from a gate level description, which itself has been created by logic synthesis from a register transfer level (RTL) model. The same principle of translation from higher level model to a lower level model applies to system synthesis.
Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner
Chapter 5. Software Synthesis
Abstract
This chapter describes software synthesis. As discussed in the previous chapter and shown in Figure 5.1, software synthesis, together with hardware synthesis and interface synthesis, is part of the component synthesis. We should recall that system synthesis produces a system model to describe the system's components and their communication. The bottom portion of the flow uses the system model as an input and generates an implementation for each component. Hardware synthesis, which we describe in the next chapter, generates an RTL description of custom hardware components. Software synthesis, topic of this chapter, produces binary code for programmable processing elements.
Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner
Chapter 6. Hardware Synthesis
Abstract
HW components are synthesized as standard or custom processors or as special custom hardware units which are also called intellectual property components (IPs). As we explained in the previous chapter the synthesis process starts with speci_cation (usually an instruction set or C code) and ends with a RTL code in an HDL that is ready for further processing with RTL tools. This synthesis process is sometimes called C-to-RTL design.
Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner
Chapter 7. Verification
Abstract
Verification is one of the key components of any system design effort. As opposed to device testing, verification involves analysis and reasoning on a computer model of the system before it is manufactured. It is crucial for a designer to ascertain the highest degree of confidence in a product's functional correctness before it is shipped. Economic as well as safety reasons make verification so central to systemdesign. Safety critical systems like pace-makers or other healthcare equipment that do not behave according to their functional specification may cause loss of life. Even for non-critical systems, failure after shipment will result in a product recall which means wasted money and a loss of reputation for the company. The importance of functional correctness, therefore, infiuences system design methodology. In each step of the design, a designer needs to make sure that the model reflects the original intent of the design and that it performs efficiently, safely and successfully. This is achieved by verification of each system design model.
Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner
Chapter 8. Embedded Design Practice
Abstract
Both commercial and academic tools are available for the design of embedded systems. These tools come in three categories: system-level design, software design, and hardware design.
In this chapter, we will discuss the tools and frameworks available for these various examples of system design. We will also present examples of embedded system design and results for applications, such as JPEG encoder and an MP3 decoder. These results demonstrate the potential impact of the embedded system modeling, synthesis and verification technologies that have been discussed in this book.
Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner
Backmatter
Metadaten
Titel
Embedded System Design
verfasst von
Daniel D. Gajski
Samar Abdi
Andreas Gerstlauer
Gunar Schirner
Copyright-Jahr
2009
Verlag
Springer US
Electronic ISBN
978-1-4419-0504-8
Print ISBN
978-1-4419-0503-1
DOI
https://doi.org/10.1007/978-1-4419-0504-8

Neuer Inhalt