图书介绍

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

芯片验证漫游指南 从系统理论到UVM的验证全视界
  • 刘斌著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121339011
  • 出版时间:2018
  • 标注页数:538页
  • 文件大小:78MB
  • 文件页数:561页
  • 主题词:芯片-验证-指南

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

芯片验证漫游指南 从系统理论到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

热门推荐