图书介绍
芯片验证漫游指南 从系统理论到UVM的验证全视界2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 刘斌著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121339011
- 出版时间:2018
- 标注页数:538页
- 文件大小:78MB
- 文件页数:561页
- 主题词:芯片-验证-指南
PDF下载
下载说明
芯片验证漫游指南 从系统理论到UVM的验证全视界PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 芯片验证全视1
1.1 功能验证简介1
1.2 验证的处境4
1.2.1 验证语言的发展4
1.2.2 验证面临的挑战5
1.3 验证能力的5个维度6
1.3.1 完备性6
1.3.2 复用性6
1.3.3 高效性7
1.3.4 高产出7
1.3.5 代码性能8
1.4 验证的任务和目标8
1.4.1 按时保质低耗8
1.4.2 芯片研发与客户反馈9
1.4.3 缺陷增长曲线10
1.5 验证的周期11
1.5.1 验证周期中的检查点11
1.5.2 功能详述13
1.5.3 制定验证计划14
1.5.4 开发验证环境14
1.5.5 调试环境和HDL文件14
1.5.6 回归测试15
1.5.7 芯片生产15
1.5.8 硅后系统测试16
1.5.9 逃逸分析16
1.6 本章结束语16
第2章 验证的策略18
2.1 设计的流程18
2.1.1 TLM模型的需求和ESL开发18
2.1.2 传统的系统设计流程19
2.1.3 ESL系统设计流程19
2.1.4 语言的抽象级比较20
2.1.5 传统的系统集成视角20
2.1.6 ESL系统集成视角21
2.2 验证的层次23
2.2.1 模块级24
2.2.2 子系统级25
2.2.3 芯片系统级25
2.2.4 硅后系统级25
2.3 验证的透明度26
2.3.1 黑盒验证26
2.3.2 白盒验证27
2.3.3 灰盒验证28
2.4 激励的原则29
2.4.1 接口类型29
2.4.2 序列颗粒度30
2.4.3 可控性31
2.4.4 组件独立性31
2.4.5 组合自由度31
2.5 检查的方法32
2.6 集成的环境33
2.6.1 验证平台33
2.6.2 待验设计34
2.6.3 运行环境34
2.6.4 验证管理34
2.7 本章结束语35
第3章 验证的方法36
3.1 动态仿真37
3.1.1 定向测试37
3.1.2 随机测试38
3.1.3 基于覆盖率驱动的随机验证40
3.1.4 基于TLM的随机验证41
3.1.5 断言检查41
3.2 静态检查44
3.2.1 语法检查44
3.2.2 语义检查44
3.2.3 跨时钟域检查45
3.2.4 形式验证46
3.3 开发环境48
3.3.1 V im开发环境48
3.3.2 商业SV开发环境——DVT50
3.4 虚拟模型51
3.5 硬件加速53
3.6 效能验证55
3.6.1 功率和能量56
3.6.2 静态功耗和动态功耗56
3.6.3 节能技术56
3.6.4 效能验证57
3.6.5 功耗预测与优化58
3.7 性能验证59
3.7.1 设定目标59
3.7.2 测试环境60
3.7.3 验证方法60
3.8 趋势展望61
3.8.1 技术之间的横向跨越62
3.8.2 层次之间的纵向复用63
3.9 本章结束语63
第4章 验证的计划64
4.1 计划概述64
4.2 计划的内容65
4.2.1 技术的视角65
4.2.2 项目的视角66
4.3 计划的实现67
4.3.1 邀请相关人员68
4.3.2 开会讨论69
4.3.3 确定测试场景69
4.3.4 创建验证环境70
4.4 计划的进程评估70
4.4.1 回归测试通过率70
4.4.2 代码覆盖率71
4.4.3 断言覆盖率72
4.4.4 功能覆盖率72
4.4.5 缺陷曲线73
4.5 本章结束语73
第5章 验证的管理74
5.1 验证周期的检查清单74
5.2 验证管理的三要素76
5.2.1 时间管理77
5.2.2 人力资源安排78
5.2.3 任务拆分和重组78
5.3 验证的收敛79
5.3.1 回归流程79
5.3.2 回归质量80
5.3.3 回归效率81
5.4 让漏洞无处可逃82
5.5 团队建设85
5.6 验证师的培养87
5.6.1 全硅能力87
5.6.2 不做假设88
5.6.3 专注力88
5.6.4 逻辑性88
5.6.5 “战鼓光环”89
5.6.6 降低复杂度89
5.7 验证的专业化90
5.7.1 对验证的偏见90
5.7.2 验证面临的现状91
5.7.3 验证标准化92
5.7.4 验证经验的积累和突破92
5.8 本章结束语93
第6章 验证的结构94
6.1 测试平台概述94
6.2 硬件设计描述95
6.2.1 功能描述95
6.2.2 设计结构95
6.2.3 接口描述95
6.2.4 接口时序97
6.2.5 寄存器描述98
6.3 激励发生器98
6.4 监测器100
6.5 比较器103
6.6 验证结构105
6.6.1 项目背景105
6.6.2 MCDF验证进度安排105
6.7 本章结束语107
第7章 SV环境构建108
7.1 数据类型108
7.2 模块定义与例化111
7.2.1 模块定义111
7.2.2 模块例化113
7.2.3 参数使用115
7.2.4 参数修改115
7.2.5 宏定义116
7.3 接口116
7.3.1 接口连接方式1117
7.3.2 接口连接方式2117
7.3.3 接口的其他应用119
7.4 程序和模块122
7.4.1 Verilog设计竞争问题123
7.4.2 SV的仿真调度机制124
7.4.3 module数据采样示例1126
7.4.4 module数据采样示例2126
7.4.5 program数据采样示例128
7.5 测试的始终130
7.5.1 系统函数调用方式结束130
7.5.2 program隐式结束130
7.5.3 program显式结束131
7.6 本章结束语133
第8章 SV组件实现134
8.1 激励发生器的驱动134
8.1.1 激励驱动的方法135
8.1.2 任务和函数137
8.1.3 数据生命周期139
8.1.4 通过接口驱动140
8.1.5 测试向量产生142
8.1.6 仿真结束控制143
8.2 激励发生器的封装144
8.2.1 类的封装144
8.2.2 类的继承146
8.2.3 成员覆盖148
8.2.4 虚方法150
8.2.5 句柄使用152
8.2.6 对象复制154
8.2.7 对象回收156
8.3 激励发生器的随机化157
8.3.1 可随机的激励种类158
8.3.2 约束求解器159
8.3.3 随机变量和数组160
8.3.4 约束块164
8.3.5 随机化控制167
8.3.6 随机化的稳定性168
8.3.7 随机化的流程控制172
8.3.8 随机化的系统函数173
8.4 监测器的采样173
8.4.1 Interface clocking简介174
8.4.2 利用clocking事件同步175
8.4.3 利用clocking采样数据176
8.4.4 利用clocking产生激励177
8.4.5 monitor的采样功能177
8.5 组件间的通信181
8.5.1 通知的需求182
8.5.2 资源共享的需求184
8.5.3 数据通信的需求187
8.5.4 进程同步的需求191
8.5.5 进程通信要素的比较和应用193
8.6 比较器和参考模型196
8.6.1 异常检查197
8.6.2 常规检查198
8.6.3 时序检查206
8.6.4 组件连接209
8.7 测试环境的报告规范211
8.7.1 信息报告库212
8.7.2 信息库使用场景213
8.8 本章结束语217
第9章 SV系统集成218
9.1 包的意义219
9.2 验证环境的组装223
9.2.1 封装验证环境的方式223
9.2.2 模块环境的复用考量224
9.2.3 比较器的复用考量224
9.2.4 顶层环境的实现226
9.3 测试场景的生成231
9.3.1 动态控制激励233
9.3.2 调度多个激励器234
9.3.3 线程的精细控制236
9.3.4 动态测试向量240
9.3.5 向量群落的并发控制242
9.4 灵活化的配置244
9.4.1 Agent的两面性244
9.4.2 各个组件的模式配置245
9.4.3 验证结构的集成顺序246
9.5 初论环境的复用性250
9.5.1 复用的策略250
9.5.2 水平复用的应用251
9.5.3 垂直复用的应用254
9.6 本章结束语256
第10章 UVM世界观257
10.1 我们所处的验证时代257
10.2 类库地图259
10.3 工厂机制261
10.3.1 工厂的意义262
10.3.2 工厂提供的便利262
10.3.3 覆盖方法269
10.3.4 确保正确覆盖的代码要求272
10.4 核心基类273
10.4.1 域的自动化274
10.4.2 复制277
10.4.3 比较278
10.4.4 打印280
10.4.5 打包和解包282
10.5 phase机制283
10.5.1 phase执行机制284
10.5.2 如何开始UVM仿真290
10.5.3 如何结束UVM仿真292
10.6 config机制296
10.6.1 interface传递296
10.6.2 变量设置297
10.6.3 config object传递298
10.6.4 config机制299
10.6.5 其他配置方法300
10.6.6 uvm_resource_db的使用302
10.7 消息管理304
10.7.1 消息方法304
10.7.2 消息处理305
10.7.3 消息机制309
10.8 宏的优劣探讨311
10.9 本章结束语314
第11章 UVM结构315
11.1 组件家族315
11.1.1 uvm_driver316
11.1.2 uvm_monitor316
11.1.3 uvm_sequencer316
11.1.4 uvm_agent317
11.1.5 uvm_scoreboard318
11.1.6 uvm_env319
11.1.7 uvm_test319
11.2 把DUT装进TB分几步320
11.2.1 MCDF顶层验证环境方案1322
11.2.2 MCDF顶层验证环境方案2324
11.3 构建环境的内经327
11.3.1 环境构建的四要素327
11.3.2 环境元素分类328
11.4 本章结束语330
第12章 UVM通信331
12.1 TLM通信概论331
12.2 单向、双向及多向通信336
12.2.1 单向通信337
12.2.2 双向通信341
12.2.3 多向通信343
12.3 通信管道应用346
12.3.1 TLM FIFO346
12.3.2 Analysis Port347
12.3.3 Analysis TLM FIFO348
12.3.4 Request&Response通信管道349
12.4 TLM2通信351
12.4.1 接口实现352
12.4.2 传送数据353
12.4.3 时间标记354
12.4.4 典型使用354
12.5 同步通信元件356
12.5.1 uvm_event应用356
12.5.2 uvm_barrier应用359
12.5.3 uvm_callback应用361
12.6 本章结束语363
第13章 UVM序列364
13.1 新手上路364
13.2 Sequence和Item367
13.2.1 Sequence Item367
13.2.2 Flat Sequence369
13.2.3 Hierarchical Sequence373
13.3 Sequencer和Driver374
13.3.1 双方的TLM端口和方法374
13.3.2 事务传输实例375
13.3.3 通信时序378
13.4 Sequencer和Sequence379
13.4.1 发送sequence及item的方法和宏379
13.4.2 sequencer的仲裁特性及应用385
13.5 Sequence的层次化390
13.5.1 Hierarchical Sequence391
13.5.2 Virtual Sequence393
13.5.3 Layering Sequence397
13.6 本章结束语401
第14章 UVM寄存器402
14.1 寄存器模型概览402
14.2 寄存器模型的集成409
14.2.1 总线UVC的实现410
14.2.2 MCDF寄存器模块代码413
14.2.3 Adapter的实现415
14.2.4 Adapter的集成416
14.2.5 前门访问418
14.2.6 后门访问419
14.2.7 前门访问和后门访问的比较420
14.3 寄存器模型的常规方法421
14.3.1 mirrored、desired和actual value421
14.3.2 prediction的分类422
14.3.3 uvm_reg的访问方法423
14.3.4 mem与reg的联系和差别425
14.3.5 内建sequences426
14.4 寄存器模型的场景应用429
14.4.1 如何检查寄存器模型429
14.4.2 功能覆盖率的实现430
14.5 本章结束语433
第15章 验证平台自动化434
15.1 为什么需要一款代码生成器434
15.2 UVM Framework437
15.3 如何定制一款TB自动化工具443
15.3.1 验证环境的自动化创建445
15.3.2 测试框架和测试用例的垂直复用450
15.3.3 中心化的功能覆盖率管理453
15.4 本章结束语454
第16章 跨平台移植复用456
16.1 便携激励标准(PSS)456
16.2 PSS工具集概览459
16.2.1 inFact462
16.2.2 Perspec463
16.2.3 Breker Trek系列464
16.3 跨平台的验证结构考量465
16.3.1 virtual prototyping与simulation的混合仿真466
16.3.2 virtual prototyping与FPGAprototyping的混合仿真467
16.3.3 simulation与emulation的混合仿真468
16.3.4 virtual prototyping与emulation的混合仿真470
16.4 本章结束语471
第17章 SV及UVM接口应用472
17.1 DPI接口和C测试472
17.1.1 总线接口的读写实现475
17.1.2 virtual core类的定义476
17.1.3 DPI方法的实现478
17.1.4 多核并行处理实现479
17.1.5 中断响应的实现481
17.2 SystemC与UVM的TLM2通信485
17.2.1 UVMC连接487
17.2.2 UVM指令API490
17.3 MATLAB及Simulink模型与UVM的混合仿真493
17.4 脚本语言与UVM的交互495
17.4.1 线上控制和线下激励的交互应用495
17.4.2 线上控制和线上激励的交互应用499
17.5 本章结束语502
第18章 SV及UVM高级话题503
18.1 SystemVerilog开源公共库503
18.1.1 SV开源库之一:svlib504
18.1.2 SV开源库之二:cluelib509
18.2 SV单元测试方法SVUnit513
18.3 OVM到UVM的移植521
18.3.1 OVM代码检视523
18.3.2 OVM到UVM的代码自动转换525
18.3.3 替换OVM phase方法525
18.3.4 替换OVM objection方法526
18.3.5 替换OVM configuration方法526
18.3.6 添加UVM的新特性528
18.4 OVM与UVM的混合仿真530
18.4.1 UVM-ML验证框架531
18.4.2 OVM兼容层531
18.4.3 XVM533
18.5 本章结束语536
参考文献537
热门推荐
- 2243476.html
- 1527582.html
- 2587666.html
- 11261.html
- 1723545.html
- 2411778.html
- 3585718.html
- 1808016.html
- 1585514.html
- 3004080.html
- http://www.ickdjs.cc/book_1449838.html
- http://www.ickdjs.cc/book_3460632.html
- http://www.ickdjs.cc/book_2236873.html
- http://www.ickdjs.cc/book_664271.html
- http://www.ickdjs.cc/book_966541.html
- http://www.ickdjs.cc/book_353967.html
- http://www.ickdjs.cc/book_448269.html
- http://www.ickdjs.cc/book_2891516.html
- http://www.ickdjs.cc/book_1289441.html
- http://www.ickdjs.cc/book_2775467.html