第1章 验证导论
1.1 验证流程
1.1.1 不同层次上的测试
1.1.2 验证计划
1.2 验证方法学
1.3 基本测试平台的功能
1.4 定向测试
1.5 方法学基础
1.6 受约束的随机激励
1.7 你的随机化对象是什么
1.7.1 设备和环境配置
1.7.2 输入数据
1.7.3 协议异常、错误和违例
1.7.4 时延和同步
1.7.5 并行的随机测试
1.8 功能覆盖率
1.8.1 从功能覆盖率到激励的反馈
1.9 测试平台的构件
1.10 分层的测试平台
1.10.1 不分层的测试平台
1.10.2 信号和命令层
1.10.3 功能层
1.10.4 场景层
1.10.5 测试的层次和功能覆盖率
1.11 建立一个分层的测试平台
1.11.1 创建一个简单的驱动器
1.12 仿真环境的阶段
1.13 最大限度的代码重用
1.14 测试平台的性能
1.15 结束语
第2章 数据类型
2.1 内建数据类型
2.1.1 逻辑(logic)类型
2.1.2 双状态数据类型
2.2 定宽数组
2.2.1 定宽数组的声明和初始化
2.2.2 常量数组
2.2.3 基本的数组操作——for和foreach
2.2.4 基本的数组操作——复制和比较
2.2.5 同时使用位下标和数组下标
2.2.6 合并数组
2.2.7 合并数组的例子
2.2.8 合并数组和非合并数组的选择
2.3 动态数组
2.4 队列
2.5 关联数组
2.6 链表
2.7 数组的方法
2.7.1 数组缩减方法
2.7.2 数组定位方法
2.7.3 数组的排序
2.7.4 使用数组定位方法建立记分板
2.8 选择存储类型
2.8.1 灵活性
2.8.2 存储器用量
2.8.3 速度
2.8.4 排序
2.8.5 选择最优的数据结构
2.9 使用typedef创建新的类型
2.10 创建用户自定义结构
2.10.1 使用struct创建新类型
2.10.2 对结构进行初始化
2.10.3 创建可容纳不同类型的联合
2.10.4 合并结构
2.10.5 在合并结构和非合并结构之间进行选择
2.11 类型转换
2.11.1 静态转换
2.11.2 动态转换
……
第3章 过程语句和子程序
第4章 连接设计和测试平台
第5章 面向对象编程基础
第6章 随机化
第7章 线程以及线程间的通信
第8章 面向对象编程的高级技巧指南
第9章 功能覆盖率
第10章 高级接口
第11章 完整的System Verilog测试平台
第12章 System Verilog与C语言的接口