《ARM SoC设计的软件和硬件协同验证》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:(美)Jason Andrews著;周立功等译
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2006
  • ISBN:7810777521
  • 页数:178 页
图书介绍:本书是一本硬件/软件协同验证技术相关信息的书。传统的潜入式系统设计已经发展成为单个芯片的设计。在这个SoC设计的时代,芯片现在已经把微处理器包含在内,而且,还要求软件在硬件装配好之前就能开发出来。本书所提供的就是有关协同验证如何运作,如何成功的使用它,以及如何避免失误的这些独特的、深入的知识。

第1章 嵌入式系统验证简介 2

1.1 什么是嵌入式系统? 2

1.2 嵌入式系统无所不在 3

1.3 设计的约束 4

1.4 嵌入式系统分解 6

1.4.1 微处理器、芯片与电路板 6

1.4.2 嵌入式系统的分类 7

1.5 嵌入式系统设计流程 9

1.6 验证与确认 11

1.7 人际互动 12

1.8 关于这本书 13

1.9 范围与纲要 14

第2章 软件和硬件设计过程 16

2.1 SoC协同验证的三个组成部分 16

2.2 验证平台 16

2.3 软件工程师对嵌入式系统的观点 22

2.4 硬件工程师对嵌入式系统的观点 23

2.5 软件开发工具 24

2.5.1 编辑器 24

2.5.2 源代码修订控制 25

2.5.4 调试器 26

2.5.3 编译器 26

2.5.6 开发板 27

2.5.7 集成开发环境(IDE) 27

2.6 软件调试连接 27

2.5.5 模拟器 27

2.6.1 JTAG 28

2.6.2 Stub 28

2.7.1 系统初始化软件和HAL 29

2.7.2 硬件诊断测试套件 29

2.7 软件的类型 29

2.6.3 直接连接 29

2.7.3 RTOS 30

2.7.4 RTOS设备驱动程序和应用软件 30

2.8 软件开发过程 30

2.9 硬件开发工具 35

2.9.1 编辑器 35

2.9.2 源代码修订控制 36

2.9.3 Lint工具 36

2.9.4 代码覆盖 37

2.9.5 调试工具 37

2.9.7 断言 38

2.9.6 验证语言 38

2.9.8 调试的定义 40

2.9.9 存储器模型 40

2.9.10 微处理器模型 41

2.10 硬件设计过程 43

2.11 微处理器回顾 43

2.12 软件和硬件的交互 44

2.12.1 软件调试特征 44

2.12.2 硬件调试特征 44

3.1 ARM的背景 47

第3章 ARM体系结构的SoC协同验证课题 47

3.2 ARM的体系结构 48

3.2.1 ARM的体系结构、家族及CPU内核 49

3.2.2 Thumb指令集 51

3.2.3 编程模型 52

3.3 指令集 53

3.3.1 数据传输指令 53

3.3.2 协处理器指令 54

3.3.3 异常和中断 54

3.3.4 内存规划和字节顺序 56

3.4 ARM总线接口协议 57

3.4.1 ARM7TDMI总线协议 58

3.4.2 AMBA规范 60

3.4.3 AMBA协议简介 61

3.4.4 AMBA ASB 61

3.4.5 AMBA AHB 62

3.4.6 AMBA APB 62

3.4.7 AMBA 3.0与AXI 63

3.4.8 对ARM CPU总线接口的总结 63

3.4.9 AHB指南 64

3.4.10 复位时的配置 67

3.4.12 AHB仲裁 68

3.4.11 AHB传输的各个阶段 68

3.4.13 AHB地址阶段 70

3.4.14 AHB数据阶段 70

3.4.15 AHB-Lite 72

3.4.16 单层和多层AHB 72

3.4.17 ARM926EJ-S例子 73

3.4.18 中断信号 75

3.4.19 指令和数据高速缓存 75

3.4.20 TCM 78

3.5 ARM总结 79

第4章 软件和硬件协同验证 81

4.1 协同验证的历史 81

4.2 商业协同验证工具的出现 82

4.3 协同验证的定义 84

4.3.1 定义 84

4.3.2 协同验证的作用 85

4.3.3 项目进度的节省 85

4.3.4 通过协同验证提供的可视性来了解运行情况 86

4.3.5 协同验证促进了交流 87

4.3.6 协同验证与协同模拟的比较 87

4.3.7 协同验证与协同设计的比较 87

4.4 协同验证的方法 88

4.3.8 真的需要协同验证吗? 88

4.4.1 本地编译软件 89

4.4.2 指令集模拟 89

4.4.3 硬件Stub 89

4.4.4 RTOS模拟器 90

4.4.5 微处理器评估板 91

4.4.6 波形、日志文件和反汇编 91

4.5 协同验证方法的一个例子 92

4.5.1 带有逻辑模拟的主机代码模式 92

4.5.2 带有逻辑模拟的指令集模拟 94

4.5.3 C语言模拟 96

4.5.4 带有软件调试功能的CPU的RTL模型 98

4.5.5 带有逻辑模拟的硬件模型 100

4.5.6 带有逻辑模拟的评估板 101

4.5.7 在线仿真 102

4.5.8 FPGA原型 104

4.6 协同验证的衡量标准 105

4.6.1 性能 105

4.6.2 验证的准确性 105

4.6.3 AHB仲裁和周期精确的问题 107

4.6.4 模型设计总结 109

4.6.6 软件的类型 110

4.6.5 同步 110

4.6.7 其他的衡量标准 111

第5章 高级软件和硬件协同验证 112

5.1 直接访问模拟内存 112

5.2 内存优化与性能 116

5.3 同步的模式 119

5.4 进程间通信 120

5.5 HDL模型和C语言模型的混合 122

5.6 隐式访问 124

5.7 保存并重启 127

5.8 后处理软件调试技巧 128

5.9 嵌入式软件工具的问题 131

5.10 协同验证的调试问题 132

第6章 硬件验证环境与协同验证 133

6.1 总线监测器 133

6.2 协议检测 144

6.2.1 地址对齐 144

6.2.2 发送空闲传输 145

6.3 断言 146

6.3.1 断言的定义 146

6.3.3 声明式断言 147

6.3.2 断言的实现方法 147

6.3.4 程序式断言 148

6.3.5 形式化特性语言 148

6.3.6 伪注释指令 149

6.3.7 后处理模拟历史记录 149

6.3.8 用于模拟加速和仿真的断言 150

6.4 使用总线功能模型的测试平台 151

6.4.1 定向测试 151

6.4.2 受约束的随机测试 152

6.4.3 测试平台的结构 153

6.4.4 功能覆盖率 154

6.4.6 软件验证 155

6.4.5 兼容性测试 155

6.4.7 软件打印语句 156

第7章 ARM SoC设计方法举例 162

7.1 SoC设计的难点 162

7.2 验证效率 162

7.3 调试的循环 163

7.4 协同验证的方法 164

7.4.1 系统初始化和HAL开发 165

7.4.2 诊断程序 165

7.4.3 RTOS和设备驱动程序 165

7.4.6 三个验证阶段 166

7.4.4 应用软件 166

7.4.5 测试平台的开发 166

7.5 ARM验证流程的例子 168

7.5.1 模块和子系统验证 168

7.5.2 初始系统集成 169

7.5.3 集中的硬件验证 170

7.5.4 协同验证 170

7.5.5 系统软件测试 171

7.6 协同验证工程师 173

7.7 结论 174

后记 177