ESL Design and Verification: A Prescription for Electronic System Level Methodology (Hardcover)

Grant Martin, Brian Bailey, Andrew Piziali

  • 出版商: Morgan Kaufmann
  • 出版日期: 2007-03-09
  • 售價: $1,200
  • 貴賓價: 9.8$1,176
  • 語言: 英文
  • 頁數: 488
  • 裝訂: Hardcover
  • ISBN: 0123735513
  • ISBN-13: 9780123735515
  • 相關分類: 電子學 Eletronics
  • 下單後立即進貨 (約5~7天)

買這商品的人也買了...

商品描述

Description

Electronic System Level (ESL) design has mainstreamed – it is now an established approach at most of the world’s leading system-on-chip (SoC) design companies and is being used increasingly in system design. From its genesis as an algorithm modeling methodology with ‘no links to implementation’, ESL is evolving into a set of complementary methodologies that enable embedded system design, verification and debug through to the hardware and software implementation of custom SoC, system-on-FPGA, system-on-board, and entire multi-board systems.

This book arises from experience the authors have gained from years of work as industry practitioners in the Electronic System Level design area; they have seen "SLD" or "ESL" go through many stages and false starts, and have observed that the shift in design methodologies to ESL is finally occurring. This is partly because of ESL technologies themselves are stabilizing on a useful set of languages being standardized (SystemC is the most notable), and use models are being identified that are beginning to get real adoption.

ESL DESIGN & VERIFICATION offers a true prescriptive guide to ESL that reviews its past and outlines the best practices of today.

 

Table of Contents

CHAPTER 1 WHAT IS ESL?
So, What is ESL?
Who Should Read this Book
Chapter Listing
The Prescription
References
CHAPTER 2 TAXONOMY AND DEFINITIONS FOR THE ELECTRONIC SYSTEM LEVEL
Taxonomy
Introduction
Model Taxonomy
Temporal Axis
Data Axis
Functionality Axis
Structural Axis
ESL Taxonomy
Concurrency
Communication
Concurrency and Communications
Configurability
Examples
Languages
Processors
Flows
Definitions
Acronyms
CHAPTER 3 EVOLUTION OF ESL DEVELOPMENT
Introduction
Motivation for ESL Design
Traditional System Design Effectiveness
System Design with ESL Methodology
Behavioural Modelling Methodology
VSP: Potential Value
VSP: Programmer’s View
VSP: Programmer’s View Plus Timing
VSP: Cycle Accurate View
Behavioural Modelling Environments
Commercial Tools
The Trailblazer: VCC
Latest Generation Tools
POLIS
Ptolemy Simulator
SpecC Language
OSCI SystemC Reference Simulator
Historical Barriers to Adoption of Behavioural Modelling
The Demand Side
The Standards Barrier
Open SystemC Initiative
Open Core Protocol International Partnership
SpecC Technology Open Consortium
The System Level Language War
Automated Links to Chip Implementation
Automated Implementation of Fixed-Function Hardware
Commercial Tools
Mathematical Algorithm Development Tools
Graphical Algorithm Development Tools
The Trailblazer: Behavioral Compiler
Latest Generation High-Level Synthesis Tools
Open Source and Academic Tools
SPARK Parallelising High Level Synthesis (PHLS)
Automated Implementation of Programmable Hardware
Processor Design Using EDA Tools
Processor Designer and Chess/Checkers
CriticalBlue Cascade Coprocessor Synthesis
Processor Design Using IP-Based Methods
Configurable IP: Tensilica Xtensa and ARC 600/700
IP Assembly: ARM OptimoDE
Mainstreaming ESL Methodology
Who Bears the Risk?
Adoption by System Architects
Acceptance by RTL Teams
Behavioural Modelling IDEs
ASIP Processor Design
Effect of ESL on EDA Tool Seats
ESL and the Big 3 Three Companies
The Prescription
References
CHAPTER 4 WHAT ARE THE ENABLERS OF ESL?
Introduction
Tool and Model Landscape
System Designer Requirements
Accuracy
Time and Speed
Traffic Generator Models
Tool Cost and Value Proposition
Software Team Requirements
Accuracy
Register Accuracy
Cycle Count Accuracy
Concurrent and State Accuracy
Model Creation Time
Model Execution Performance
Tool Chain Cost
Hardware Team Requirements
Model Refinement
Verification Environment Provision
Verification
Verification Simulation
Cost
Who Will Service These Diverse Requirements?
Free or Open Source Software
F/OSS Community and Quality Effects
F/OSS Licenses
Copyright Ownership
License Terms
OSCI’s License
License Compatibility
The Scope of F/OSS Within ESL
Direct Benefits
Other Effects of F/OSS
Enabling (Academic) Research
Economics of F/OSS Business Models
Summary
References
CHAPTER 5 ESL FLOW
Introduction
Specifications and Modelling
Pre-Partitioning Analysis
Partitioning
Post-Partitioning Analysis and Debug
Post-Partitioning Verification
Hardware Implementation
Use of ESL for Implementation Verification
Provocative Thoughts
Summary
The Prescription
CHAPTER 6 SPECIFICATIONS AND MODELLING
Introduction
The Problem of Specification
The Implementation and Ambiguity Problems
The Heterogeneous Technology and Single-Source Problems
Architectures, Attributes and Behaviour
Formal and Executable Specifications and Modelling
Case Study: Requirements Management Process at Vandelay Industries
ESL Domains
Dataflow and Control flow
Protocol Stacks
Embedded Systems
Executable Specifications
Transaction Level Modelling and Executable Specifications
Executable Specifications and the Single-Source Problem
Some ESL Languages for Specification
MATLAB
Rosetta
SystemC
SystemVerilog
SDL
The UML
XML
Bluespec
Aspect Oriented Languages
Provocative Thoughts: Model Based Development
Model Driven Architecture
Software/Hardware Co-Design
Hardware
How to Use MDD
Summary
The Prescription
References
CHAPTER 7 PRE-PARTITIONING ANALYSIS
Introduction
Static Analysis of System Specifications
The Software Project Estimation Heritage—Function Point Analysis
Analysis of Hardware and Hardware-Dominated System Specifications
Traditional “ility” Analysis of Systems
Requirements Analysis
New Specification Methods – Rosetta
Conclusions on Static Analysis
The Role of Platform-Based ESL Design in Pre-Partitioning Analysis
Dynamic Analysis
Algorithmic Analysis
Commercial Tools for Algorithmic Analysis
Research Tools
Analysis Scenarios and Modelling
Example of Analysis of Signal Processing Algorithms
Filter Design Example
Complete System Specification to Silicon Methodology for Communications and Multimedia Signal Processing
Software Radio Example
How Much Analysis is Enough?
Downstream Use of Analysis Results
Case Study – JPEG Encoding
Summary and Provocative Thoughts
The Prescription for Pre-Partitioning Analysis
References
CHAPTER 8 PARTITIONING
Introduction
Functional Decomposition
Architecture Description
Platforms
Architectural Components
Modelling Levels
Partitioning
Refinement Based Methods
System Scheduling and Constraint Satisfaction
The Hardware Partition
Module Refinement
The Software Partition
Partitioning Over Multiple Processors
Partitioning over Multiple Tasks
Worst-Case Execution Time Analysis
The Operating System
Commercial Operating Systems
Custom Operating Systems
Memory Partitioning
Reconfigurable Computing
Reconfigurable Computing Architectures
Dynamic Online Partitioning
Communication Implementation
Interface Template Instantiation
Interface Synthesis
Provocative Thoughts
Summary
The Prescription
References
CHAPTER 9 POST-PARTITIONING ANALYSIS AND DEBUG
Introduction
Roles and Responsibilities
Hardware and Software Modelling and Co-Modelling
Single Model
Separate Model: Filtered/Translated
Separate Hosted Model
Modelling Infrastructure and Inter-Model Connections
Partitioned Systems and Re-Partitioning
Pre-Partitioned Model Components
Abstraction Levels
Standardising Abstraction Levels for Interoperability
Moving Between Abstraction Levels
Communication Specification
Dynamic and Static Analyses
Metrics and the Importance of Experience
Functional Analysis
Performance Analysis
Interface Analysis
Power Analysis
Area Analysis
Cost Analysis
Debug Capability Analysis
Observability
Controllability
Correctability
Provocative Thoughts
Summary
The Prescription
CHAPTER 10 POST-PARTITIONING ANALYSIS AND VERIFICATION
Introduction
Facets of Verification
Verification Planning
What is the Scope of the Verification Problem?
Specification Analysis
Bottom-Up Specification Analysis
Top-Down Specification Analysis
Coverage Model Top Level Design
Coverage Model Detailed Dsign
Hybrid Metric Coverage Models
What is the Solution to the Verification Problem?
Stimulus Generation
Response Checking
Verification Planning Automation
Verification Environment Implementation
Write
Verification
Environment
Failure Analysis
Coverage Analysis
Abstract Coverage
Other Approaches
Turning the Tables
Mutation Analysis
The Role of Prototyping
Platform Verification
Provocative Thoughts
Summary
The Prescription
CHAPTER 11 HARDWARE IMPLEMENTATION
Introduction
Extensible Processors
DSP Co-processors
Customised VLIW Co-Processors
Application Specific Co-Processors
High-level Hardware Design Flow for ASIC and FPGA
Behavioural Synthesis
Differences between RTL and Behavioural Code
Multicycle Functionality
Loops
Memory Access
Behavioural Synthesis Shortcomings: Input Language
Behavioural Synthesis Shortcomings: Timing
Behavioural Synthesis Shortcomings: Verification
ESL Synthesis
Language
Structure
Concurrency
Data types
Operations
Example
Input and Output
Verification
Timing
Scheduling
Allocation
Back-end Friendliness
Example Results
Hardware Design or Silver Bullet?
Role of Constraints
Pragmas
Code Changes
Example
Constraints
Code Modification
Design Exploration
Provocative Thoughts
Summary
The Prescription
References
CHAPTER 12 SOFTWARE IMPLEMENTATION
Introduction
Classical Software Development Methods for Embedded Systems and SoCs
Performance Estimation
Classical Development Tools
Developing Run-Time Software from ESL Models
UML Code Generation Case Study
Developing Software Using ESL Models as Run-Time Environments
Classes of ESL Models for Software Development
Observability for Debug and Analysis
Software Debug and Analysis Tools for Highly Observable Systems
Summary
Provocative Thoughts
The Prescription
References
CHAPTER 13 USE OF ESL FOR IMPLEMENTATION VERIFICATION
What This Chapter is Not About
Positive and Negative Verification
Verification Focus
Clear Box Verification
Verification IP
Dynamic Verification IP
Assertion Libraries
Properties and Assertions
Assertions
Formal Methods
Starting State
Limiting the Future
Speeding Up the Design
Limiting States
Coverage
System Verification
Post-Silicon Debug
Observability and Debug
Internal Logic Analyser
Dynamic Modifications
Provocative Thoughts
Sequential Equivalence Checking
Property-Based Design
Summary
The Prescription
CHAPTER 14 RESEARCH, EMERGING AND FUTURE PROSPECTS
Research
Metropolis
Space
Multiple Processors
Emerging Architectures
ROSES
Globalisation
Value Migration
Education
The Academic View
The Health of the Commercial EDA Industry
Summary
The Prescription

商品描述(中文翻譯)

描述


電子系統級(ESL)設計已成為主流 - 現在已成為大多數世界領先的系統單晶片(SoC)設計公司的一種成熟方法,並在系統設計中越來越多地被使用。從其作為一種“沒有與實現相關聯”的算法建模方法的起源,ESL正在演變為一套互補的方法,通過這些方法可以實現嵌入式系統設計、驗證和調試,從而實現定制SoC、系統級FPGA、系統級板卡和整個多板系統的硬件和軟件實現。



本書源於作者多年在電子系統級設計領域的實踐經驗;他們見證了“SLD”或“ESL”經歷了許多階段和錯誤的開始,並觀察到設計方法論向ESL的轉變終於發生。這部分是因為ESL技術本身正在穩定在一套有用的標準化語言上(最著名的是SystemC),並且正在確定使用模型,這些使用模型開始得到真正的應用。



《ESL設計與驗證》提供了一個真正的ESL指南,回顧了其過去並概述了當今的最佳實踐。

 


目錄


第1章 什麼是ESL?

那麼,什麼是ESL?

誰應該閱讀本書

章節列表

處方

參考文獻

第2章 電子系統級的分類和定義

分類

介紹

模型分類

時間軸

數據軸

功能軸

結構軸

ESL分類

並發性

通信

並發性和通信

可配置性

示例

語言

處理器

流程

定義

縮寫

第3章 ESL發展的演進

介紹

ESL設計的動機

傳統系統設計的效果

使用ESL方法論的系統設計

行為建模方法論

VSP:潛在價值

VSP:程序員的視角

VSP:程序員的視角加上時間

VSP:週期準確的視角

行為建模環境

商業工具

開拓者:VCC

最新一代工具

POLIS

Ptolemy模擬器

SpecC語言

OSCI SystemC參考模擬器

歷史上對行為建模的障礙

需求方

標準障礙

開放的SystemC倡議

開放核心協議國際合作

SpecC技術開放聯盟

系統級語言之爭

與芯片實現的自動鏈接

固定功能硬件的自動實現

商業工具

數學算法開發工具

圖形算法開發工具

開拓者:行為編譯器

最新一代高級綜合工具

開源和學術工具

SPARK並行高級綜合(PHLS)

可編程硬件的自動實現

使用EDA工具進行處理器設計

處理器設計師和Chess/Checkers

CriticalBlue Cascade協處理器綜合

使用基於IP的方法進行處理器設計

可配置IP:Tensilica Xtensa和ARC 600/700

IP組件:ARM OptimoDE

ESL方法論的主流化

誰承擔風險?

系統架構師的接受

RTL團隊的接受

B