嵌入式系统的描述与设计
作者 : Daniel D.Gajski Frank Vahid Sanjiv Narayan Jie Gong
译者 : 边计年 吴为民 等
丛书名 : 计算机科学丛书
出版日期 : 2005-07-15
ISBN : 7-111-16422-9
定价 : 33.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 253
开本 : 16开
原书名 : Specification and Design of Embedded Systems
原出版社: Prentice Hall
属性分类: 教材
包含CD :
绝版 :
图书简介

在过去的十年里,VLSI设计技术,特别是CAD产业,以异常迅猛的速度发展。这种快速的进展使得产业界能在更短的时间内设计和制造出复杂的专用集成电路和系统。本书综述了系统设计的基本概念,并提出了软件和硬件系统设计方法学的原理。可帮助投身于电子系统设计的人士跟上时代的步伐。

本书特点
●提出系统设计中的基本问题,讨论各种可用于捕获系统行为及其实现的概念
●模型研究用来描述系统功能性的语言,以及通过模拟验证系统功能的各种问题为系统划分、评估及模型细化等提供了算法和技术的综述
●将以上所有的主题结合起来,使之成为一个具有一致性的设计方法,其中还包括对系统设计的通用环境的讨论

图书特色

图书前言

基本原理  
  在过去的十年里,VLSI的设计技术,特别是CAD产业取得了很大成功,与IC制造技术同步以异常迅猛的速度发展。与高抽象层次相比,低层次的设计问题更早地变得难解和费时。因此,学术界和产业界都被迫将注意力首先投向诸如电路模拟、布局、布线及布图规划等问题。当这些问题变得易于处理时,便成功地开发出用于逻辑模拟和综合的CAD工具,并将其引入到设计过程中。随着设计复杂性的大幅度提高和产品进入市场时间要求的大幅度缩短,产业界和学术界都开始关注比逻辑级和布局级更高级别的设计问题。由于高层次的抽象使设计者需要考虑的对象数目降低了一个数量级,也就允许产业界能够在更短的时间内设计和制造出复杂的专用集成电路(ASIC)。
  继逻辑综合之后,行为综合也在设计方法学中发挥了提高抽象级别的作用。行为综合是用于设计单个专用集成电路的。当设计方法学要求更高的抽象级别时,这些专用集成电路和标准处理器及内存一起被用做系统的组件。系统级的设计方法学关注系统描述以及从描述到一组互联组件的变换和细化。系统描述依据执行于抽象数据类型上的计算,而变换和细化则包括针对标准处理器进行软件编译和根据定制的组件进行硬件综合。但在这一点上,虽然已有若干年系统制造的历史,尽管有明确的需求,产业界和学术界并未对系统级设计方法学的发展和形成给予充分关注。为解决复杂性问题和缩短设计周期,产业界最近已开始关注于建立一个一致性的系统级设计方法学。
  强调更抽象化和系统级方法学的主要原因是基于这样一个事实:高层次抽象更接近设计者的日常思维习惯。比如,难以想像设计者仅靠电路原理图如何能够对一个由10万个门或10万个布尔表达式组成的系统设计进行描述、建立文档及进行交流。系统越复杂,当设计者用电路级、逻辑级、寄存器级原理图对其进行描述时,就越会产生功能理解上的困难。另一方面,当系统被描述成操作于抽象数据类型上的一系列复杂计算,并且通过抽象通道进行通信时,设计者将发现这更易于描述和验证特定的功能,更易于采用不同技术对各种实现进行评估。
  必须承认,对系统级设计的研究虽已有很多年,但目前仍在相当程度上局限于特定领域和团体。例如,计算机体系结构界考虑的是将计算和算法映射到不同体系结构的方法。体系结构可以是脉动阵列、超立方体、多处理器以及大规模并行处理器。软件工程界则一直在研究软件代码的描述和设计方法。CAD界集中于接口综合、内存管理、系统描述捕捉以及设计空间探索等系统问题。但是,很多问题仍悬而未决,其中最重要的是缺乏一个得到普遍接受的理论框架和支持系统设计方法学的CAD环境。尽管有这些悬而未决的问题,系统设计技术也已成熟到一定程度。因此,用一本书对发展至今的基本概念和成果进行总结,希望会对系统设计领域的学生和从业者有所帮助。在本书中,我们力图涵盖多种研究项目的思想和成果。由于这个领域还比较年轻,我们仍可能忽略了某些很有趣和有益的项目,为此我们在此表示歉意,并希望得到这些技术的信息,以便将它们结合到将来的版本中。同样,由于各种原因,我们也没能在本书中详细地论及系统级的若干重要问题,包括形式验证、测试设计以及协同模拟。尽管如此,我们相信,一本有关系统级描述和设计的书将有助于电子系统设计自动化(ESDA)在未来的发展和繁荣。

读者
  本书面向计算机科学和工程界的三类读者。首先,它会吸引系统设计者和工程管理者,因为他们会对ASIC和系统设计方法学、软硬件协同设计以及设计过程管理感兴趣。其次,该书也可以被CAD工具的开发者所利用,他们会采用该书中所给出的现存或未来工具中的一些概念进行系统描述捕捉、设计空间探索以及系统建模和细化。最后,由于该书综述了系统设计的基本概念,提出了包括软件和硬件在内的系统设计方法学的原理,因此,对于一门高年级本科或研究生课程来说,该书也是有价值的。该课程可针对有志于计算机体系结构、设计自动化和/或软件工程的学生。

本书的组织
  本书组织成9章,分为四个部分。第1、2章提出系统设计的一些基本问题,讨论了可用于系统行为捕获和实现的各种概念模型。第3、4、5章论及用于描述系统功能性的语言,还涉及通过模拟验证系统功能性的各种问题。第6、7、8章提供了一个有关系统划分、评估和模型细化的算法和技术的综述。第9章将所有这些主题结合成一个一致性的设计方法学,包括对系统设计通用环境的讨论。
  在对第1、2章所定义概念理解的前提下,每一章都是独立的,可以单独阅读。本书每一章都采用了相同的写作风格和组织方法。典型的一章包含了介绍性的例子,定义了基本概念,阐述了要解决的主要问题。针对所提出的问题,每一章还描述了若干著名的算法或解法,并解释每种方法的优缺点。每一章还包括对该领域其他工作的一个小综述,以及对发展方向的讨论。
  在每章的末尾,我们还给出若干练习,分为三类:家庭作业类问题,项目类问题,以及课题类问题。家庭作业类问题旨在检测读者对每章基本内容的理解。项目类问题用一个星标记。为解决项目类问题,读者需要在对一些文献进行研究的基础上才能对题目有更深入的理解。这类问题可能需要学生用若干星期时间来完成。课题类问题用两个星标记,是尚未解决的问题,若深入研究,将是不错的硕士或博士学位论文课题。
  本书可用于两种不同的课程。一种可侧重于系统描述、建立文档以及验证方面,跳过第6、7、8章中的算法部分。另一种课程,侧重设计方法学和设计空间探索技术,跳过语言和模拟方面的内容。无论采用哪种课程,我们认为本书都会有助于填补计算机科学与工程课程中的一个空白,即除了涵盖电路设计、逻辑设计以及计算机体系结构的内容,还讲述了系统设计技术。
  我们希望本书的内容选择和写作风格接近您的期望。我们欢迎您的意见和建议。

Daniel Gajski, Frank Vahid, Sanjiv Narayan, Jie Gong
加州大学艾尔温分校

致谢
  在过去六年中,我们同许多同事和学生讨论过系统设计的基本问题。感谢他们,因为没有这些讨论,很多问题就不会得到澄清,很多思想也不会得到尝试。
  感谢帮助我们形成本书的选题和确定写作材料的人们。特别要感谢SRC的Peter
Verhofstadt和NSF的Bob Grafton鼓励我们在此领域进行研究,以及Rockwell 国际公司的Bob Larsen多年来帮助我们开发质量度量方法和用于比较分析的客观方法。
  我们对加州大学艾尔温分校的Nikil Dutt教授、Fadi Kurdahi教授和Queensland大学的Sri Parameswaran教授致以谢意。在几次会议期间,他们提供了有价值的意见,指出了系统设计的相关工作。我们也感谢松下研究和开发实验室的Peter Fung为我们的设计方法学所做的证实工作。我们同时感谢加州大学艾尔温分校CAD实验室的以下人员:Smita Bakshi、 Viraphol Chaiyakul、 Tedd Hadley、 Nancy Holmes、 Pradip Jha、 Erica Juan、 Raghava Kondepudy 以及Loganath Ramachandran,他们的审校工作和提出的有价值的建议使本书更易于理解。感谢Sarah Wilde和Judy Olson的编辑工作和在理解复杂技术材料时所付出的耐心。我们对Jon Kleinsmith在协调作者和审稿者过程中所做的工作表示感谢。
  该项工作受到美国自然科学基金(批准号 MIP8922851)和半导体研究公司(批准号 93DJ146)的部分资助。作者对他们的支持表示感谢。

作者简介

Daniel D.Gajski Frank Vahid Sanjiv Narayan Jie Gong:Daniel D.Gajski:  Daniel D. Gajski教授于宾夕法尼亚大学费城分校获得博士学位。他有十几年的从事数字电路、交换系统、巨型计算机设计以及在VLSI结构领域的从业经历。此后又在伊利诺伊大学厄巴纳-尚佩恩分校计算机科学系从事了10年的学术研究。目前他是加州大学艾尔温分校信息与计算机科学系、电子与计算机工程系的教授。他出版过多部专著。他的研究方向为嵌入式系统与信息技术、设计方法学与e设计环境、系统描述语言及CAD软件、设计科学。

译者简介

边计年 吴为民 等:边计年:  边计年清华大学计算机系教授,博士生导师。1970年毕业于清华大学自动控制系,毕业后在清华大学任教至今。他出版过多部专著和译著。研究方向为片上系统 (SOC) 的系统设计方法,包括系统描述、软硬件划分与通信综合、与布图结合的高层次综合、系统协同设计与验证等。

译者序

多年来,半导体制造技术持续迅速发展,芯片规模的增大使得集成电路的应用范围也在迅速扩大,已经渗透到各行各业,在机械系统和其他系统中广泛使用,形成所谓嵌入式系统。嵌入式系统深入到人类活动的几乎所有方面。从和我们日常生活密切相关的手机、个人数字助理(PDA)、音响设备、高清晰度电视、游戏机,到公共场所常见的汽车电子设备、通信设备、电子医疗设备,再到特殊领域,如军事、航天、水下等使用的电子设备,嵌入式系统无时无刻不在发挥着重要作用并将继续扮演越来越重要的角色。同时,片上系统(SOC)应运而生,在一个芯片上可以同时集成微处理器、存储器、专用电路、输入输出电路、模拟电路,甚至射频电路和微机械。
  我们已经有了相当多有关逻辑综合、布局、布线等方面的工具。在目标系统的规模不断增大、功能日益复杂的情况下,传统的设计方法学已经越来越不适应这种变化,迫切需要从更高的层次上重新审视和研究数字系统的设计方法学问题。本书作者提出的设计理念是,在设计早期的更抽象的高层次上开始,进行系统级设计。首先,在高层次上的设计有助于更好地理解系统的功能,保证设计的正确性。其次,在高层次上的决策对整个设计的影响更大,因而,早期的正确决策将得到更大的回报。由于在系统级引入优化策略,可以在各种设计选择中寻求最好的解决方案,因而可以预期基于这种新的方法学会设计出更加有竞争力的产品。
  本书是一本很好的介绍嵌入式系统描述和设计技术的教科书。作者根据多年的研究经验和成果,既系统地介绍基本概念,又介绍实际的描述和设计方法。本书几乎论述了嵌入式系统设计的所有方面,包括模型和体系结构、描述语言、系统划分、设计质量评估、描述细化以及系统级方法学等。而且,对于每章涉及的每个问题,作者都予以详细地讲解并给出大量的实例。本书对于初学者和相关领域的从业人员来说,是一本很好的入门书,而对于从事嵌入式系统设计和研究的工程技术人员、科研人员和高等院校的本科生和研究生又是一本很详尽的参考书。据我们所知,本书已在全世界很多大学中作为教材或参考书,具有最高的采用率。
  本书虽出版于1994年,但其基本的思想和方法仍然是嵌入式系统设计的指导思想和理论基础。本书介绍的描述语言,作者在后来又有所改进,并改称为SpecC。除美国外,还有日本和加拿大等许多国家都在研究和推广这种系统描述语言。
  进入2000年以来,在国家的大力支持和推动下,我国在嵌入式系统和片上系统SOC的研究与开发领域出现了前所未有的好势头。我们向读者介绍这本书,相信对我国集成电路工业和技术的发展会发挥一定作用。
  本书是许多老师同学共同努力的结晶。吴为民译第1章,刘志鹏译第2章,王海力译第3章,王迪译第4章和附录A,芦琰琰译第5章,童琨译第6、9章,赵康、林锋译第7章,王云峰、赵建洲译第8章。边计年和吴为民分别对所有翻译初稿进行了仔细的审校和修改,最后由边计年统稿定稿。对于有些术语,国内出现不同的说法,我们根据全国科学技术名词审定委员会公布的《计算机科学技术名词》和自己的理解决定取舍。虽然我们的宗旨是准确表达原文的意思,但鉴于译者水平和时间所限,错误和不足在所难免,望读者不吝指正。

译者
2005年1月

图书目录

第1章引言
1.1设计表示
1.2抽象级别
1.3当前的设计方法学
1.4系统级方法学
1.5系统描述和设计

第2章模型与体系结构
2.1引言
2.2模型分类
2.3面向状态的模型
2.3.1有限状态机
2.3.2Petri网
2.3.3层次化并发有限状态机
2.4面向活动的模型
2.4.1数据流图
2.4.2流程图
2.5面向结构的模型
2.6面向数据的模型
2.6.1实体-关系图
2.6.2Jackson图
2.7异构模型
2.7.1控制/数据流图
2.7.2结构图
2.7.3程序设计语言模式
2.7.4面向对象的模型
2.7.5程序状态机
2.7.6队列模型
2.8体系结构分类
2.9专用体系结构
2.9.1控制器体系结构
2.9.2数据通路体系结构 
2.9.3带数据通路的有限状态机 
2.10处理器
2.10.1复杂指令集计算机 
2.10.2精简指令集计算机 
2.10.3向量机
2.10.4超长指令字计算机 
2.11并行处理器 
2.12结论 
2.13练习 

第3章系统描述语言
3.1引言
3.2概念模型的特性
3.2.1并发性
3.2.2状态迁移
3.2.3层次化
3.2.4程序结构
3.2.5行为完成
3.2.6通信
3.2.7同步
3.2.8异常处理
3.2.9非确定性
3.2.10时序
3.3嵌入式系统的描述要求
3.4描述语言综述
3.4.1VHDL
3.4.2Verilog
3.4.3HardwareC
3.4.4CSP
3.4.5Statecharts
3.4.6Argos
3.4.7SDL
3.4.8Silage
3.4.9Esterel
3.5SpecCharts
3.5.1语言描述
3.5.2用SpecCharts描述嵌入式系统
3.5.3等价图形化表示
3.5.4语言的可扩展性
3.6结论和发展方向
3.7练习

第4章系统描述举例
4.1引言
4.2电话应答机
4.3用SpecCharts进行系统描述
4.4测试用例举例
4.5可执行系统描述的优点
4.6PSM模型的优势
4.6.1层次性
4.6.2状态迁移
4.6.3程序设计结构
4.6.4并行性
4.6.5异常处理
4.6.6完成
4.6.7状态分解和编码的等价性
4.7实验
4.7.1系统描述的获取比较
4.7.2系统描述的理解比较
4.7.3系统描述的量化比较
4.7.4设计质量比较
4.8结论
4.9练习

第5章转换成VHDL
5.1引言
5.2状态迁移
5.3消息传递通信
5.3.1阻塞式消息传递
5.3.2非阻塞式消息传递
5.4并发
5.4.1数据流
5.4.2分叉
5.5异常处理
5.6从程序状态机到任务
5.6.1概述
5.6.2算法
5.6.3时间调整
5.6.4综合
5.7结论和发展方向
5.8练习

第6章系统划分
6.1引言
6.2结构划分和功能划分
6.2.1结构划分
6.2.2功能划分
6.3划分中的问题
6.3.1系统描述抽象级别
6.3.2粒度
6.3.3系统组件的分配
6.3.4度量和评估
6.3.5目标函数和接近函数
6.3.6划分算法
6.3.7输出
6.3.8控制流程和设计者的参与
6.3.9典型系统配置
6.4基本划分算法
6.4.1随机映射
6.4.2层次化结群
6.4.3多级结群
6.4.4成组移动
6.4.5比率切割
6.4.6模拟退火
6.4.7遗传进化
6.4.8整数线性规划
6.5硬件功能划分
6.5.1Yorktown硅编译器
6.5.2BUD
6.5.3Aparty
6.5.4其他技术
6.6软硬件划分算法
6.6.1贪心算法
6.6.2爬山算法
6.6.3二分约束搜索算法
6.7系统功能划分
6.7.1Vulcan
6.7.2Cosyma
6.7.3SpecSyn
6.7.4其他技术
6.8折中的探索
6.9结论和发展方向
6.10练习

第7章设计质量评估
7.1引言
7.1.1精确性与速度
7.1.2评估的保真度
7.2质量度量
7.2.1硬件成本度量
7.2.2软件成本度量
7.2.3性能度量
7.2.4其他度量
7.3硬件评估
7.3.1硬件评估模型
7.3.2时钟周期评估
7.3.3控制步评估
7.3.4执行时间评估
7.3.5通信速率评估
7.3.6面积评估
7.3.7引脚评估
7.4软件评估
7.4.1软件评估模型
7.4.2程序执行时间
7.4.3程序存储大小
7.4.4数据存储大小
7.5系统级工具的评估技术
7.5.1BUD
7.5.2Aparty
7.5.3Vulcan
7.5.4SpecSyn
7.6结论和发展方向
7.7练习

第8章设计描述细化
8.1引言
8.2细化变量群组
8.2.1变量折叠
8.2.2存储地址转换
8.3通道细化
8.3.1通道和总线的表征
8.3.2问题的定义
8.3.3总线生成
8.3.4协议生成
8.4解决访问冲突
8.4.1仲裁模型
8.4.2仲裁方案
8.4.3仲裁器生成
8.5细化不兼容接口
8.5.1问题的定义
8.5.2通信协议描述
8.5.3接口进程生成
8.5.4协议兼容的其他方法
8.6细化软件/硬件接口
8.6.1目标体系结构
8.6.2变量分配
8.6.3接口生成
8.6.4数据访问细化
8.6.5控制访问细化
8.7结论和发展方向
8.8练习

第9章系统设计方法学
9.1引言
9.2基本概念
9.3设计方法学举例
9.3.1当前的惯例
9.3.2系统级方法学
9.4通用综合系统
9.4.1系统综合
9.4.2ASIC综合
9.4.3逻辑综合和时序综合
9.4.4物理设计
9.4.5软件综合
9.4.6系统数据库
9.5系统设计的概念化环境
9.6结论和发展方向
9.7练习

附录A应答机的自然语言描述
附录B应答机的SpecCharts描述
参考文献
术语解释
索引

教学资源推荐
作者: 孙德文
作者: (美)阿麦肯尚尔·拉姆阿堪德兰(Umakishore Ramachandran) 小威廉 D. 莱希(William D. Leahy, Jr.)著
作者: [美]汤孟岩(Yan Solihin)著
参考读物推荐
作者: 陆平 赵培 左奇 等编著
作者: [丹麦]克劳斯·埃尔克(Klaus Elk) 著