ARM SoC设计的软件和硬件协同验证
基本信息
内容简介回到顶部↑
作译者回到顶部↑
本书提供作译者介绍
Jason Andrews现在是Verisity公司的一员,目前正在从事软件和硬件协同验证以及SoC设计的测试平台方案领域的工作。他实现下许多商业协同验证工具以及很多自定义的协同验证解决方案。他在Verisity、Axis System、Simpod、Summit Design以及Simulation Technologies公司所从事的软件开发和产品管理工作使他在EDA和嵌入式市场方面拥有丰富的经验。他曾经在嵌入式系统委员会(Embedded Systems Conference)、通信设计委员会(Communication Design Conference)以及IP/SoC上发表过论文和教学课程,并撰.. << 查看详细
目录回到顶部↑
第1章 嵌入式系统验证简介
1.1 什么是嵌入式系统?.
1.2 嵌入式系统无所不在
1.3 设计的约束
1.4 嵌入式系统分解
1.4.1 微处理器、芯片与电路板
1.4.2 嵌入式系统的分类
1.5 嵌入式系统设计流程
1.6 验证与确认
1.7 人际互动
1.8 关于这本书
1.9 范围与纲要
第2章 软件和硬件设计过程
2.1 soc协同验证的三个组成部分
2.2 验证平台
2.3 软件工程师对嵌入式系统的观点
2.4 硬件工程师对嵌入式系统的观点
2.5 软件开发工具
2.5.1 编辑器
2.5.2 源代码修订控制
1.1 什么是嵌入式系统?.
1.2 嵌入式系统无所不在
1.3 设计的约束
1.4 嵌入式系统分解
1.4.1 微处理器、芯片与电路板
1.4.2 嵌入式系统的分类
1.5 嵌入式系统设计流程
1.6 验证与确认
1.7 人际互动
1.8 关于这本书
1.9 范围与纲要
第2章 软件和硬件设计过程
2.1 soc协同验证的三个组成部分
2.2 验证平台
2.3 软件工程师对嵌入式系统的观点
2.4 硬件工程师对嵌入式系统的观点
2.5 软件开发工具
2.5.1 编辑器
2.5.2 源代码修订控制
译者序回到顶部↑
随着科技的进步,SoC(System on Chip,片上系统)设计在中国嵌入式行业的应用中越来越普及,大量SoC产品正逐渐占据嵌入式应用市场;但是,与之相应的协同验证的概念却并没有随着SoC技术的广泛应用而被引入,很多设计公司还是停留在原始的软硬件分离的验证方式。这种原始的项目开发方式对于日趋复杂的软件和硬件技术越来越显得力不从心,因此,对系统化的设计流程以及高级验证方式的需求也日益增加。纵观国内技术市场,有关SoC硬件或者软件开发的书籍数不胜数,但是有关软件硬件协调验证与开发的书籍却寥寥无几。针对国内这一状况,译者认为很有必要引入国外的一些相关书籍以供参考和借鉴。《ARMSoC设计的软件和硬件协同验证》正是一部有关软件硬件协同验证的经典书籍。它以当前流行的ARM处理器嵌入式系统的SoC设计为例,不但为读者提供了软件和硬件协同验证的概念,还提供了具体实现方案以及应用实例;并且深入浅出地向读者展示了协同验证的技巧和要点。这是一本把读者从了解引领到应用的实用书。.
本书共分7章。前3章主要是对嵌入式系统、软件和硬件设计以及ARM微处理器体系结构与SoC设计作一个简单的介绍,而后4章则围绕设计流程中软件和硬件设计的协同验证,由浅入深地讲解了它的概念、应用方法并列举了实例。各章内容如下:
第1章是嵌入式系统简介,指出其应用的领域,并介绍软件和硬件开发的方法,引入协同验证的概念。
第2章分别讲述了软件和硬件开发的过程,描述了软件工程师和硬件工程师对项目处理的不同见解,以及他们所使用的工具和开发方法。..
第3章简要描述了ARM微处理器的体系结构、总线架构以及ARM微处理器嵌入式系统的设计方法,使读者对ARM微处理器的SoC设计有一个较为全面的了解。
第4章引入了软件硬件协同验证的概念,并对各种现有的协同验证的方法作了介绍,还给出了各自的优点与缺点。
第5章讨论了一些协同验证应用细节中的高级课题,不但描述了这些协同验证方法适用的场合,而且分别从软件工程师和硬件工程师的角度对其做出比较,并通过数据和图表等简单明了的方式加以说明。
第6章讨论的是硬件验证与协同验证环境之间的关系。主要讲述了与微处理器接口相关的硬件验证环境与协同验证之间的知识,同时还引入了软件验证的概念。
第7章主要通过一个ARM SoC设计实例展示如何具体地把前几章介绍的协同验证方法应用到实际的项目设计中,并通过例子描述了各种协同验证方法的利弊。
本书于2004年初版,距离2006年已经是两年以前的事情,某些当时流行的软件、硬件可能发生了变化,或者出现了更新的版本;但是,这并不会妨碍读者了解与掌、握协同验证的各种技术和方法。毕竟,温故而知新,关键之处还是引入软件和硬件协同验证的概念,掌握以系统化的理论对设计流程加以改进的方法,从而达到提高生产力的目的。
参与本书翻译和审核的有广州周立功单片机有限公司一批毕业于英国利物浦大学嵌入式系统专业的硕士生和相关专业的工程师,主要人员是谢梦龙、蔡文敏、陈明计、刘英斌、周立功以及戚军等。
由于本书的翻译涉及了大量软件、硬件以及验证技术方面的细节,若有不当之处,欢迎与译者联系指正。最后,衷心希望本书能够对读者有所帮助。...
周立功
2006年7月3日
本书共分7章。前3章主要是对嵌入式系统、软件和硬件设计以及ARM微处理器体系结构与SoC设计作一个简单的介绍,而后4章则围绕设计流程中软件和硬件设计的协同验证,由浅入深地讲解了它的概念、应用方法并列举了实例。各章内容如下:
第1章是嵌入式系统简介,指出其应用的领域,并介绍软件和硬件开发的方法,引入协同验证的概念。
第2章分别讲述了软件和硬件开发的过程,描述了软件工程师和硬件工程师对项目处理的不同见解,以及他们所使用的工具和开发方法。..
第3章简要描述了ARM微处理器的体系结构、总线架构以及ARM微处理器嵌入式系统的设计方法,使读者对ARM微处理器的SoC设计有一个较为全面的了解。
第4章引入了软件硬件协同验证的概念,并对各种现有的协同验证的方法作了介绍,还给出了各自的优点与缺点。
第5章讨论了一些协同验证应用细节中的高级课题,不但描述了这些协同验证方法适用的场合,而且分别从软件工程师和硬件工程师的角度对其做出比较,并通过数据和图表等简单明了的方式加以说明。
第6章讨论的是硬件验证与协同验证环境之间的关系。主要讲述了与微处理器接口相关的硬件验证环境与协同验证之间的知识,同时还引入了软件验证的概念。
第7章主要通过一个ARM SoC设计实例展示如何具体地把前几章介绍的协同验证方法应用到实际的项目设计中,并通过例子描述了各种协同验证方法的利弊。
本书于2004年初版,距离2006年已经是两年以前的事情,某些当时流行的软件、硬件可能发生了变化,或者出现了更新的版本;但是,这并不会妨碍读者了解与掌、握协同验证的各种技术和方法。毕竟,温故而知新,关键之处还是引入软件和硬件协同验证的概念,掌握以系统化的理论对设计流程加以改进的方法,从而达到提高生产力的目的。
参与本书翻译和审核的有广州周立功单片机有限公司一批毕业于英国利物浦大学嵌入式系统专业的硕士生和相关专业的工程师,主要人员是谢梦龙、蔡文敏、陈明计、刘英斌、周立功以及戚军等。
由于本书的翻译涉及了大量软件、硬件以及验证技术方面的细节,若有不当之处,欢迎与译者联系指正。最后,衷心希望本书能够对读者有所帮助。...
周立功
2006年7月3日
前言回到顶部↑
这是一本值得关注的书。
Jason Andrews熟悉软件与硬件,他了解使用者,也了解工具,还懂得应用于软件与硬件之间的中间区域的方法。他能够把复杂的东西写下来,解释清楚,让你能够真正地理解。.
要考虑太多相互作用的情况,要做出太多的决定,这就是这个中间区域如此复杂的一个主要原因。
Jason细心地把问题逐一列出,解释了问题如何相互作用,并且描述了解决的办法。
值得赞赏的是,他解释了哪种工具和方法适用于哪种情况。这是十分重要的,因为对一个问题会有很多不同的解决方法,而你又不可能把它们全部用上,那么,何时该做什么你必须做出明智的决断。
这些解决方案中的大部分都被Jason使用过或者实现过了,其中的某些方案还用了两次;而且他所给出的是该领域的一个非常见多识广的历程,并指引你选择所有可能的折中方案。..
请注意,虽然Jason和我在一个爱向你推销验证方案的验证公司(Verisity)工作,但这本书确实很通俗易懂。它告诉你什么方案能行,什么方案不行,以及它们行或不行的原因。
虽然本书的书名为ARM SoC设计软件和硬件协同验证,但我想这本书有着更为广泛的实用性。事实上,如果你符合下面的任何一种情况,那么就应该开始读这本书。
●你正专注于软件和硬件都包含在内的产品验证,无论它们是基于SoC的还是基于ARM的。
●你从事的是软件和硬件中的其中一方的工作,你想了解另一方的工作情况。
●你对创建这个领域的工具感兴趣。
Yoav Hollander
Verisity Inc.公司创办人及首席技术主管
2004年7月
Jason Andrews熟悉软件与硬件,他了解使用者,也了解工具,还懂得应用于软件与硬件之间的中间区域的方法。他能够把复杂的东西写下来,解释清楚,让你能够真正地理解。.
要考虑太多相互作用的情况,要做出太多的决定,这就是这个中间区域如此复杂的一个主要原因。
Jason细心地把问题逐一列出,解释了问题如何相互作用,并且描述了解决的办法。
值得赞赏的是,他解释了哪种工具和方法适用于哪种情况。这是十分重要的,因为对一个问题会有很多不同的解决方法,而你又不可能把它们全部用上,那么,何时该做什么你必须做出明智的决断。
这些解决方案中的大部分都被Jason使用过或者实现过了,其中的某些方案还用了两次;而且他所给出的是该领域的一个非常见多识广的历程,并指引你选择所有可能的折中方案。..
请注意,虽然Jason和我在一个爱向你推销验证方案的验证公司(Verisity)工作,但这本书确实很通俗易懂。它告诉你什么方案能行,什么方案不行,以及它们行或不行的原因。
虽然本书的书名为ARM SoC设计软件和硬件协同验证,但我想这本书有着更为广泛的实用性。事实上,如果你符合下面的任何一种情况,那么就应该开始读这本书。
●你正专注于软件和硬件都包含在内的产品验证,无论它们是基于SoC的还是基于ARM的。
●你从事的是软件和硬件中的其中一方的工作,你想了解另一方的工作情况。
●你对创建这个领域的工具感兴趣。
Yoav Hollander
Verisity Inc.公司创办人及首席技术主管
2004年7月
序言回到顶部↑
为什么说这本书重要?
本书是第一本传授被称为软件和硬件协同验证技术相关的重要信息并将之归档的书。传统的嵌入式系统设计已经发展成为单个芯片的设计,推动它跨越一百万个逻辑门的关口并朝着一千万个逻辑门迈进。在这个SoC设计的时代,芯片现在已经把微处理器包含在内,而且还要求软件在硬件装配好之前就能开发出来。为了省时而有效地开发出优质的产品,工程师们必须用必要的信息来武装自己,以便在运用工具和方法时能做出有根据的判断。SoC的验证需要把微处理器的原理与计算机结构、逻辑设计与模拟,以及用C语言与汇编语言编写的嵌入式软件等各种专业知识结合起来。每个领域都有独立的著作,但是直到现在都还没有一本书能提供互相关联的信息,以及如何把它们结合到一起的方法。而这本书所提供的恰恰就是有关协同验证如何运作,如何成功地使用它,以及如何避免失误的这些独特的、深入的知识。.
本书还有另一点好处。它还涵盖了有关使用ARM微处理器内核来进行开发和验证的SoC设计的重要信息。近几年,ARM已经在32位嵌入式微处理器这一块市场中成功地占据了主导地位,而且还成为了很多市场领域中确实存在的标准。本书运用了具体的ARM SoC的例子来描述软件和硬件协同验证的概念,并提供了与采用ARM微处理器设计的协同验证相关的有用信息。..
读 者
本书主要面向的读者是那些想开发出最实用的软件与硬件SoC协同验证技术的工程师,不仅是为了提高他们对设计的信心,而且还为了帮助他们以更短的时间去完成验证。硬件工程师和软件工程师能通过更好地了解验证的各种原则而从中获益。项目管理者也将获益于对软件与硬件团队之间相互的了解,以及如何去鼓励两个团队互相协作。而致力于ARM SoC设计项目的工程师们也可从这本书的信息中获益。
必备的知识
读者应当具备一些有关嵌入式系统设计的知识,包括带微处理器的系统以及软件在内。具备硬件工程技术背景的读者应当熟悉数字逻辑设计和验证。拥有Verilog HDL或者VHDL相关的工作经验和熟悉通用的模拟工具也非常有用。具备软件背景的读者则应当精通C和汇编语言编程,而且应当熟悉嵌入式系统的概念。虽然在表述概念和例子时本书使用的都是Verilog HDL,但所有的情况同样也适用于VHDL。
关于软件和硬件协同验证
软件和硬件的协同验证是确保在芯片和电路板可用之前嵌入式系统软件能与硬件一同良好运作的相关验证。它也是确保硬件被正确地设计出来并能成功运行软件的相关验证。对于那些看重上市时间和项目成本的应用产品来说,协同验证能够节省时间并减少发生代价昂贵的硬件设计错误的风险。...
本书是第一本传授被称为软件和硬件协同验证技术相关的重要信息并将之归档的书。传统的嵌入式系统设计已经发展成为单个芯片的设计,推动它跨越一百万个逻辑门的关口并朝着一千万个逻辑门迈进。在这个SoC设计的时代,芯片现在已经把微处理器包含在内,而且还要求软件在硬件装配好之前就能开发出来。为了省时而有效地开发出优质的产品,工程师们必须用必要的信息来武装自己,以便在运用工具和方法时能做出有根据的判断。SoC的验证需要把微处理器的原理与计算机结构、逻辑设计与模拟,以及用C语言与汇编语言编写的嵌入式软件等各种专业知识结合起来。每个领域都有独立的著作,但是直到现在都还没有一本书能提供互相关联的信息,以及如何把它们结合到一起的方法。而这本书所提供的恰恰就是有关协同验证如何运作,如何成功地使用它,以及如何避免失误的这些独特的、深入的知识。.
本书还有另一点好处。它还涵盖了有关使用ARM微处理器内核来进行开发和验证的SoC设计的重要信息。近几年,ARM已经在32位嵌入式微处理器这一块市场中成功地占据了主导地位,而且还成为了很多市场领域中确实存在的标准。本书运用了具体的ARM SoC的例子来描述软件和硬件协同验证的概念,并提供了与采用ARM微处理器设计的协同验证相关的有用信息。..
读 者
本书主要面向的读者是那些想开发出最实用的软件与硬件SoC协同验证技术的工程师,不仅是为了提高他们对设计的信心,而且还为了帮助他们以更短的时间去完成验证。硬件工程师和软件工程师能通过更好地了解验证的各种原则而从中获益。项目管理者也将获益于对软件与硬件团队之间相互的了解,以及如何去鼓励两个团队互相协作。而致力于ARM SoC设计项目的工程师们也可从这本书的信息中获益。
必备的知识
读者应当具备一些有关嵌入式系统设计的知识,包括带微处理器的系统以及软件在内。具备硬件工程技术背景的读者应当熟悉数字逻辑设计和验证。拥有Verilog HDL或者VHDL相关的工作经验和熟悉通用的模拟工具也非常有用。具备软件背景的读者则应当精通C和汇编语言编程,而且应当熟悉嵌入式系统的概念。虽然在表述概念和例子时本书使用的都是Verilog HDL,但所有的情况同样也适用于VHDL。
关于软件和硬件协同验证
软件和硬件的协同验证是确保在芯片和电路板可用之前嵌入式系统软件能与硬件一同良好运作的相关验证。它也是确保硬件被正确地设计出来并能成功运行软件的相关验证。对于那些看重上市时间和项目成本的应用产品来说,协同验证能够节省时间并减少发生代价昂贵的硬件设计错误的风险。...








点击看大图





加载中...

