本书从芯片验证的目的出发,完善了功能覆盖率的定义,阐述了新的随机测试方法,即“功能覆盖率直驱动的随机测试方法”,以及一种新的验证语言EagleLang,即Eagle语言。该编程语言具有类似脚本语言的简洁语法,专用于芯片验证,也可以用于文本处理、数学计算、多线程编程等应用领域。该语言的编译执行具有近C 语言的效率,eagle是该语言的编译器工具。
售 价:¥
纸质售价:¥100.10购买纸书
6.6
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐

前言 PREFACE
第一篇 验证方法学基础
第1章 芯片验证目的
1.1 芯片验证与芯片质量
1.2 芯片验证质量度量方法
1.2.1 代码覆盖率
1.2.2 断言覆盖率
1.2.3 功能覆盖率
1.2.4 覆盖率度量方法比较
1.3 功能覆盖率
1.3.1 验证目标定义
1.3.2 芯片系统模型
1.3.3 激励数据模型
1.3.4 功能覆盖率定义
1.3.5 交叉组合功能覆盖率
1.3.6 顺序组合功能覆盖率
1.3.7 功能覆盖率直接驱动的随机验证方法学
第2章 芯片验证方法
2.1 仿真验证方法
2.1.1 芯片验证方法演进
2.1.2 验证效率成本问题
2.1.3 测试和验证的概念辨析
2.2 验证效率提升
2.2.1 当前存在的效率问题
2.2.2 编程效率和编译效率提升
2.2.3 仿真执行效率提升
2.3 芯片验证流程管理
2.3.1 芯片项目阶段划分
2.3.2 验证分层
2.3.3 全面度量管理
2.3.4 验证技术手段
2.3.5 仿真验证技术发展思考
第二篇 Eagle编程语言
第3章 Eagle语言概述
3.1 验证语言设计背景
3.1.1 芯片验证语言发展历史
3.1.2 验证语言设计需求
3.1.3 Eagle语言设计思想和理念
3.2 语言概况
3.2.1 初识Eagle语言
3.2.2 代码源文件
3.2.3 package程序包
3.2.4 编译工程
3.2.5 代码行和代码块
3.2.6 注释
3.3 函数
3.3.1 函数的定义
3.3.2 函数的参数和返回值
3.4 面向对象
3.4.1 类的基本定义
3.4.2 构造函数和析构函数
3.4.3 类的继承
3.4.4 类限定符
3.4.5 类属性符
3.4.6 对象别名
3.5 内存管理
3.6 程序越界
3.7 关键字和操作符
3.8 预定义系统参数
3.9 控制语法
3.9.1 if条件控制语句
3.9.2 for[]循环控制语句
3.9.3 for()循环控制语句
3.9.4 foreach…in…循环控制语句
3.9.5 while和dowhile循环控制语句
3.9.6 switch… case… others…条件控制语句
3.9.7 break和continue循环控制语句
3.9.8 return返回语句
第4章 基本数据类型
4.1 数字常量
4.2 字符串常量
4.3 参数常量
4.4 枚举类型
4.5 变量的类型及作用域
4.6 打印输出语句
4.6.1 信息输出级别
4.6.2 一般语法
4.6.3 格式化打印输出
4.7 bool类型
4.7.1 bool类型定义
4.7.2 逻辑运算
4.7.3 逻辑表达式
4.8 int类型
4.9 uint类型
4.10 float类型
4.11 string类型
4.11.1 字符串定义
4.11.2 切片操作
4.11.3 常用操作函数
4.11.4 字符串支持的运算符
4.12 list/rlist数据结构设计
4.12.1 list定义
4.12.2 list元素切片
4.12.3 对象替换操作符(.=)
4.12.4 list的操作函数
4.13 dict/rdict数据结构设计
4.13.1 dict定义
4.13.2 dict元素切片
4.13.3 dict操作函数
第5章 验证专用数据类型
5.1 bit数据结构设计
5.1.1 bit类型定义
5.1.2 bit位切片
5.1.3 bit位标记
5.1.4 bit位域定义
5.1.5 点等操作符“.=”
5.1.6 bit数据类型交叉赋值
5.1.7 bit操作函数
5.1.8 bit位运算
5.1.9 bit算术运算
5.2 byte数据结构设计
5.2.1 byte数据类型定义
5.2.2 byte数据类型字节切片方式
5.2.3 byte数据类型切片标记
5.2.4 byte位域定义
5.2.5 点等操作符“.=”
5.2.6 基于标记进行byte类型数据比较
5.2.7 byte数据类型交叉赋值
5.2.8 byte操作函数
5.3 cover数据结构设计
5.3.1 cross交叉组合
5.3.2 comb排列组合
5.3.3 sequence顺序组合
5.3.4 复杂cross交叉组合定义
5.3.5 trans跳变序列
5.3.6 变量关联约束
5.3.7 cover数据结构定义
5.3.8 cover数据结构实现定向测试和随机测试
5.3.9 feedby()函数
5.3.10 cover数据操作函数
第6章 多线程编程
6.1 设计背景
6.2 生产者-消费者模型
6.3 tube通信管道
6.4 函数多线程执行
6.5 对象多线程执行
6.6 线程安全变量
第7章 库及库开发
7.1 系统库
7.1.1 randint类
7.1.2 系统函数
7.1.3 math数学库
7.1.4 time库
7.1.5 算法库
7.2 目录和文件库
7.2.1 dir类
7.2.2 file类
7.3 正则表达式
7.3.1 正则表达式语法
7.3.2 regexp类
7.4 sqlite3数据库
7.4.1 eglSQLite3DB类
7.4.2 eglSQLite3Statement类
7.4.3 eglSQLite3Query类
7.4.4 数据库使用示例
7.5 库开发工程
7.5.1 编程接口
7.5.2 编译工程类型
7.5.3 库开发:Eagle源文件
7.5.4 库开发:C/C++源文件
7.5.5 库开发:Eagle、C/C++源文件
7.5.6 库开发:Eagle源文件、动态库
7.5.7 库开发:C/C++源文件、动态库
7.5.8 库开发:Eagle、C/C++源文件、动态库
第三篇 PVM和DVM验证平台
第8章 PVM验证平台并行架构设计
8.1 验证平台设计需求
8.1.1 数字芯片常用类型
8.1.2 验证平台功能需求
8.1.3 工程类需求
8.2 PVM验证平台设计
8.2.1 传统验证平台架构分析
8.2.2 PVM基础验证平台
8.2.3 数据检测验证组件(monVC)
8.2.4 驱动验证组件(drvVC)
8.2.5 寄存器块(regBlock)
8.2.6 存储器验证组件(memVC)
8.2.7 服务验证组件(svrVC)
8.3 PVM验证平台整体架构
8.3.1 PVM验证平台架构层次
8.3.2 PVM执行过程
8.3.3 PVM启动
8.3.4 PVM集成
8.4 DPI接口函数
8.4.1 DPI接口函数总表
8.4.2 发送验证组件DPI接口函数
8.4.3 接收验证组件DPI接口函数
8.4.4 驱动验证组件DPI接口函数
8.4.5 行为级参考模型验证组件DPI接口函数
8.4.6 多功能验证组件DPI接口函数
8.4.7 记分牌验证组件DPI接口函数
8.4.8 存储器验证组件DPI接口函数
8.4.9 服务验证组件DPI接口函数
8.4.10 数据处理DPI接口函数
8.5 simduv接口函数
8.5.1 调试用接口函数总表
8.5.2 发送验证组件接口函数
8.5.3 接收验证组件接口函数
8.5.4 驱动验证组件接口函数
8.5.5 行为级参考模型验证组件接口函数
8.5.6 多功能验证组件接口函数
8.5.7 记分牌验证组件接口函数
8.5.8 存储器验证组件接口函数
8.5.9 服务验证组件接口函数
8.5.10 数据处理服务函数
8.5.11 模拟仿真时间递增
8.6 事件机制
8.6.1 时钟同步
8.6.2 硬件中断
8.6.3 硬件事件
8.6.4 定时事件
8.6.5 软事件
第9章 验证组件设计指南
9.1 验证组件简介
9.1.1 验证组件类型
9.1.2 验证组件执行阶段
9.1.3 pvmID和vcID
9.1.4 验证组件对象容器
9.1.5 验证组件循环执行
9.1.6 tube管道容量设置
9.2 packet数据包类
9.2.1 packet类设计需求
9.2.2 packet类设计
9.3 验证组件接口函数
9.3.1 验证组件接口函数总表
9.3.2 验证组件通用接口函数
9.3.3 发送验证组件接口函数
9.3.4 接收验证组件接口函数
9.3.5 驱动验证组件接口函数
9.3.6 获取数据包接口函数
9.3.7 记分牌验证组件接口函数
9.3.8 存储器验证组件接口函数
9.3.9 服务验证组件接口函数
9.3.10 PVM接口函数
9.4 访问验证组件函数
9.4.1 访问验证组件函数总表
9.4.2 数据包复制函数
9.4.3 访问发送验证组件函数
9.4.4 访问驱动验证组件函数
9.4.5 访问行为级参考模型验证组件函数
9.4.6 访问多功能验证组件函数
9.4.7 访问记分牌验证组件函数
9.5 发送验证组件设计指南
9.5.1 发送验证组件实现方案
9.5.2 发送验证组件调度器设计
9.5.3 发送验证组件升降旗
9.5.4 mTxVC发送BFM设计指南
9.5.5 sTxVC发送BFM设计指南
9.5.6 功能覆盖率定义和随机约束
9.6 接收验证组件设计指南
9.6.1 接收验证组件调度器设计
9.6.2 mRxVC接收BFM设计指南
9.6.3 sRxVC接收BFM设计指南
9.7 MON数据检测验证组件设计指南
9.7.1 monVC验证组件调度器
9.7.2 monVC验证组件接口设计
9.8 驱动验证组件设计指南
9.8.1 驱动验证组件使用架构
9.8.2 driver基类
9.8.3 数据包接口设计指南
9.8.4 驱动BFM设计指南
9.9 行为级参考模型验证组件设计指南
9.10 多功能验证组件设计指南
9.11 记分牌验证组件设计指南
9.11.1 mScbVC接口设计指南
9.11.2 snScbVC接口设计指南
9.12 存储器验证组件设计指南
9.13 服务验证组件设计指南
9.14 仿真控制函数
第10章 验证平台配置与重用
10.1 变量配置机制
10.1.1 操作函数
10.1.2 变量配置文件
10.1.3 变量查找规则
10.1.4 变量设置优先级
10.2 Message信息配置机制
10.2.1 Message信息分类
10.2.2 Message信息输出函数
10.2.3 Message输出控制函数
10.2.4 Message配置文件
10.2.5 日志查看工具logview
10.3 factory工厂机制
10.3.1 factory工厂实现
10.3.2 PVM与UVM的factory机制比较
10.3.3 类的虚函数重载机制
10.4 proxy类代理机制
10.4.1 proxy类代理机制实现原理
10.4.2 代理类对象存储层次结构
10.5 测试用例和验证平台配置
第11章 测试用例设计
11.1 cover定义和随机约束
11.1.1 定义功能覆盖率
11.1.2 随机约束:A类功能覆盖率
11.1.3 B类功能覆盖率
11.1.4 功能覆盖率目标达成
11.1.5 测试用例目录管理
11.1.6 测试用例配置文件
11.1.7 两级测试用例文件配置
11.1.8 功能覆盖率报告
11.2 升降旗和看门狗机制
11.2.1 PVM升降旗实现原理
11.2.2 看门狗机制
第12章 DVM验证平台设计
12.1 DVM验证平台应用场景
12.2 虚集成/虚连接技术
12.3 DVM验证平台架构设计
12.4 验证组件接口函数
第四篇 PVM验证平台配套工具
第13章 寄存器模型
13.1 寄存器属性
13.2 regBlock类
13.2.1 按属性读写
13.2.2 后门读写
13.2.3 前门读写
13.2.4 批量后门读写
13.2.5 批量前门读写
13.2.6 其他常用函数
第14章 信号故障注入工具
14.1 获取信号值
14.2 高精度时钟
14.3 单信号故障注入
14.4 基于事件的信号故障注入
14.5 时钟信号故障注入
14.6 状态机故障注入
第15章 验证平台示例
15.1 sha模块验证平台:shaDemo
15.1.1 shaDemo验证平台架构
15.1.2 BFM设计
15.1.3 验证组件设计
15.1.4 测试用例设计
15.2 可重用PVM验证平台:socDemoI
15.2.1 验证平台架构
15.2.2 eth8023数据包
15.2.3 发送验证组件设计
15.2.4 发送BFM设计
15.2.5 驱动验证组件设计
15.2.6 寄存器读写BFM设计
15.2.7 接收BFM设计
15.2.8 接收验证组件设计
15.2.9 brmVC验证组件设计
15.2.10 snScbVC验证组件设计
15.2.11 测试用例设计
15.3 级联PVM验证平台:socDemoII
15.4 DVM分布式验证平台:socDemoIII
附录A 术语
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜