绪论 1
第1章 验证原理 3
1.1 验证基础 3
1.2 第一个验证平台 8
1.3 第二个验证平台 12
1.4 总结 19
第2章 AVM综述 20
2.1 重用 20
2.2 验证组件和接口 21
2.3 层次化结构的验证平台 21
2.4 两个域 25
2.5 基于SystemVerilog AVM概述 26
2.6 总结 30
第3章 面向对象程序设计的基本原理 31
3.1 面向过程vs.面向对象 31
3.2 类和对象 32
3.3 对象间关系 36
3.4 虚函数和多态 39
3.5 通用程序设计 44
3.6 作为组件的对象 49
3.7 OOP和验证 50
第4章 TLM介绍 52
4.1 抽象(Abstraction) 52
4.2 事务的定义(Definition of a Transaction) 54
4.3 组件间的通信(Communicating Components) 54
4.4 使用通道(channel)来隔离组件 73
4.5 事务级连接(Forming a Transation-Level Connection) 76
4.6 小结 77
第5章 SystemVerilog中的AVM机制 78
5.1 接口 78
5.2 连接组件 79
5.3 创建环境 86
5.4 连接硬件 88
5.5 报告 92
5.6 总结 100
第6章 验证平台基础 101
6.1 一个简单的存储器设计 101
6.2 激励产生器 108
6.3 监视器 111
6.4 三类状态机 112
6.5 驱动器 113
6.6 总结 118
第7章 完整的验证平台 119
7.1 分析端口和分析组件 119
7.2 记分板 120
7.3 覆盖率 127
7.4 注入错误 131
7.5 总结 134
第8章 逐步优化 135
8.1 事务级设计 135
8.2 RTL替换 140
8.3 FPU作为黄金模型 144
8.4 小结 147
第9章 验证平台中的模块 148
9.1 非流水型总线实例 148
9.2 基于模块的断言监视器 153
9.3 总线功能模型(BFM) 163
9.4 总结 168
第10章 随机验证 169
10.1 CRV方法概述 169
10.2 对类加入随机 175
10.3 用继承来实现层次约束 176
10.4 动态修改约束 177
10.5 过度约束 178
10.6 设定成员 181
10.7 动态数组 182
10.8 每个设计/每个测试配置 184
10.9 约束设计 185
10.10 类工厂 185
10.11 状态决定约束实例 187
10.12 AVM随机激励生成器 188
第11章 AVM与System Verilog和SystemC 191
11.1 对象模型 192
11.2 对象的支持 192
11.3 封装行为 193
11.4 随机化 193
11.5 实例化与细节构建 194
11.6 事务级连接 197
11.7 执行阶段 197
11.8 创建完整的验证平台架构 198
11.9 选择SystemVerilog或SystemC 199
附录A 符号说明 201
附录B 命名约定 206
附录C AVM百科全书 211
附录D Apache许可证 286
参考书目 293