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天)
買這商品的人也買了...
-
$6,508VLSI Digital Signal Processing Systems: Design and Implementation (美國原版)
-
$1,200$1,176 -
$3,550$3,373 -
$650$553 -
$680$646 -
$280$252 -
$490Introduction to Wireless and Mobile Systems, 2/e
-
$580$458 -
$550$468 -
$1,200$1,176 -
$1,680$1,646 -
$3,490$3,316 -
$450$383 -
$1,121DSP Software Development Techniques for Embedded and Real-Time Systems (Paperback)
-
$580$493 -
$1,127Networks on Chips: Technology and Tools (Hardcover)
-
$1,290System Level Design with Rosetta
-
$880$695 -
$580$452 -
$750$638 -
$550$495 -
$4,860$4,617 -
$2,020$1,919 -
$4,170$3,962 -
$10,780$10,241
相關主題
商品描述
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
商品描述(中文翻譯)
描述
電子系統級(Electronic System Level, ESL)設計已成為主流 - 現在它已成為世界上大多數領先的系統單晶片(System-on-Chip, SoC)設計公司的既定方法,並在系統設計中越來越多地被使用。從其作為一種「與實現無關」的演算法建模方法的起源,ESL 正在演變為一組互補的方法論,這些方法論使嵌入式系統的設計、驗證和調試能夠延伸到自定義 SoC、FPGA 系統、板上系統以及整個多板系統的硬體和軟體實現。
本書源於作者在電子系統級設計領域多年工作所獲得的經驗;他們見證了「SLD」或「ESL」經歷了許多階段和錯誤的開始,並觀察到設計方法論向 ESL 的轉變終於正在發生。這部分是因為 ESL 技術本身正在穩定於一組有用的標準化語言(SystemC 是最顯著的),並且正在識別出開始獲得實際採用的使用模型。
ESL 設計與驗證提供了一本真正的指導手冊,回顧了 ESL 的過去並概述了當今的最佳實踐。
目錄
第一章 什麼是 ESL?
那麼,什麼是 ESL?
誰應該閱讀本書
章節列表
處方
參考文獻
第二章 電子系統級的分類法與定義
分類法
介紹
模型分類法
時間軸
數據軸
功能軸
結構軸
ESL 分類法
並行性
通信
並行性與通信
可配置性
範例
語言
處理器
流程
定義
縮寫
第三章 ESL 開發的演變
介紹
ESL 設計的動機
傳統系統設計的有效性
使用 ESL 方法論的系統設計
行為建模方法論
VSP:潛在價值
VSP:程序員視角
VSP:程序員視角加上時序
VSP:週期精確視圖
行為建模環境
商業工具
開創者:VCC
最新一代工具
POLIS
Ptolemy 模擬器
SpecC 語言
OSCI SystemC 參考模擬器
行為建模採用的歷史障礙
需求方
標準障礙
開放 SystemC 計畫
開放核心協議國際夥伴關係
SpecC 技術開放聯盟
系統級語言之戰
自動鏈接到晶片實現
固定功能硬體的自動實現
商業工具
數學演算法開發工具
圖形演算法開發工具
開創者:行為編譯器
最新一代高階綜合工具
開源和學術工具
SPARK 平行高階綜合(PHLS)
可編程硬體的自動實現
使用 EDA 工具的處理器設計
處理器設計師與棋類遊戲
CriticalBlue Cascade 協處理器綜合
使用基於 IP 的方法的處理器設計
可配置 IP:Tensilica Xtensa 和 ARC 600/700
IP 組合:ARM OptimoDE
主流化 ESL 方法論
誰承擔風險?
系統架構師的採用
RTL 團隊的接受
行為建模 IDE
ASIP 處理器設計
ESL 對 EDA 工具座的影響
ESL 與三大公司
處方
參考文獻
第四章 ESL 的促成因素是什麼?
介紹
工具和模型的格局
系統設計師的需求
準確性
時間和速度
流量生成模型
工具成本和價值主張
軟體團隊的需求
準確性
寄存器準確性
週期計數準確性
並行和狀態準確性
模型創建時間
模型執行性能
工具鏈成本
硬體團隊的需求
模型精煉
驗證環境提供
驗證
驗證模擬
成本
誰將滿足這些多樣化的需求?
免費或開源軟體
F/OSS 社區和質量影響
F/OSS 授權
版權所有權
授權條款
OSCI 的授權
授權相容性
F/OSS 在 ESL 中的範圍
直接利益
F/OSS 的其他影響
促進(學術)研究
F/OSS 商業模型的經濟學
總結
參考文獻
第五章 ESL 流程
介紹
規範與建模
預分區分析
分區
後分區分析與調試
後分區驗證
硬體實現
使用 ESL 進行實現驗證
挑釁性思考
總結
處方
第六章 規範與建模
介紹
規範的問題
實現與模糊性問題
異構技術與單一來源問題
架構、屬性與行為
正式與可執行的規範與建模
案例研究:Vandelay Industries 的需求管理過程
ESL 領域
數據流與控制流
協議堆疊
嵌入式系統
可執行規範
交易級建模與可執行規範
可執行規範與單一來源問題
一些 ESL 語言的規範
MATLAB
Rosetta
SystemC
SystemVerilog
SDL
UML
XML
Bluespec
面向方面的語言
挑釁性思考:基於模型的開發
模型驅動架構
軟硬體共同設計
硬體
如何使用 MDD
總結
處方
參考文獻
第七章 預分區分析
介紹
系統規範的靜態分析
軟體專案估算遺產—功能點分析
硬體和硬體主導系統規範的分析
系統的傳統「性質」分析
需求分析
新的規範方法—Rosetta
靜態分析的結論
基於平台的 ESL 設計在預分區分析中的角色
動態分析
演算法分析
商業工具的演算法分析
研究工具
分析場景與建模
信號處理演算法分析的範例
濾波器設計範例
通訊與多媒體信號處理的完整系統規範到矽的方法論
軟體無線電範例
多少分析才算足夠?
分析結果的下游使用
案例研究—JPEG 編碼
總結與挑釁性思考
預分區分析的處方
參考文獻
第八章 分區
介紹
功能分解
架構描述
平台
架構組件
建模層次
分區
基於精煉的方法
系統調度與約束滿足
硬體分區
模組精煉
軟體分區
多處理器的分區
多任務的分區
最壞情況執行時間分析
作業系統
商業作業系統
自定義作業系統
記憶體分區
可重配置計算
可重配置計算架構
動態在線分區
通信實現
介面模板實例化
介面綜合
挑釁性思考
總結
處方
參考文獻
第九章 後分區分析與調試
介紹
角色與責任
硬體與軟體建模及共同建模
單一模型
分開模型:過濾/轉換
分開的托管模型
建模基礎設施與模型間連接
分區系統與重新分區
預分區模型組件
抽象層次
標準化抽象層次以實現互操作性
在抽象層次之間移動
通信規範
動態與靜態分析
度量與經驗的重要性
功能分析
性能分析
介面分析
功率分析
面積分析
成本分析
調試能力分析
可觀察性
可控性
可修正性
挑釁性思考
總結
處方
第十章 後分區分析與驗證
介紹
驗證的各個方面
驗證計畫
驗證問題的範圍是什麼?
規範分析
自下而上的規範分析
自上而下的規範分析
覆蓋模型的頂層設計
覆蓋模型的詳細設計
混合度量覆蓋模型
驗證問題的解決方案是什麼?
刺激生成
響應檢查
驗證計畫自動化
驗證環境實現
撰寫
驗證
環境
故障分析
覆蓋分析
抽象覆蓋
其他方法
翻轉局面
突變分析
原型製作的角色
平台驗證
挑釁性思考
總結
處方
第十一章 硬體實現
介紹
可擴展處理器
DSP 協處理器
定制 VLIW 協處理器
應用特定協處理器
ASIC 和 FPGA 的高階硬體設計流程
行為綜合
RTL 與行為代碼之間的差異
多週期功能
迴圈
記憶體訪問
行為綜合的缺陷:輸入語言
行為綜合的缺陷:時序
行為綜合的缺陷:驗證
ESL 綜合
語言
結構
並行性
數據類型
操作
範例
輸入與輸出
驗證
時序
排程
分配
後端友好性
範例結果
硬體設計或銀彈?
約束的角色
Pragmas
代碼變更
範例
約束
代碼修改
設計探索
挑釁性思考
總結
處方
參考文獻
第十二章 軟體實現
介紹
嵌入式系統和 SoC 的經典軟體開發方法
性能估算
經典開發工具
開發運行時軟體