图书介绍
UVM实战 卷12025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 张强编著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111470199
- 出版时间:2014
- 标注页数:369页
- 文件大小:43MB
- 文件页数:381页
- 主题词:硬件描述语言-程序设计
PDF下载
下载说明
UVM实战 卷1PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 与UVM的第一次接触1
1.1 UVM是什么1
1.1.1 验证在现代IC流程中的位置1
1.1.2 验证的语言2
1.1.3 何谓方法学3
1.1.4 为什么是UVM4
1.1.5 UVM的发展史5
1.2 学了UVM之后能做什么6
1.2.1 验证工程师6
1.2.2 设计工程师6
第2章 一个简单的UVM验证平台7
2.1 验证平台的组成7
2.2 只有driver的验证平台8
2.2.1 最简单的验证平台8
2.2.2 加入factory机制13
2.2.3 加入objection机制14
2.2.4 加入virtual interface16
2.3 为验证平台加入各个组件20
2.3.1 加入transaction20
2.3.2 加入env23
2.3.3 加入monitor25
2.3.4 封装成agent28
2.3.5 加入reference model32
2.3.6 加入scoreboard36
2.3.7 加入field_ automation机制38
2.4 UVM的终极大作:sequence41
2.4.1 在验证平台中加入sequencer41
2.4.2 sequence机制44
2.4.3 default_sequence的使用48
2.5 建造测试用例50
2.5.1 加入base_test50
2.5.2 UVM中测试用例的启动52
第3章 UVM基础56
3.1 uvm_component与uvm_object56
3.1 .1uvm_component派生自uvm_object56
3.1.2 常用的派生自uvm_object的类57
3.1.3 常用的派生自uvm_component的类58
3.1.4 与uvm_object相关的宏61
3.1.5 与uvm_component相关的宏62
3.1.6 uvm_component的限制62
3.1.7 uvm_component与uvm_object的二元结构63
3.2 UVM的树形结构64
3.2.1 uvm_component中的parent参数64
3.2.2 UVM树的根66
3.2.3 层次结构相关函数67
3.3 field automation机制69
3.3.1 field automation机制相关的宏69
3.3.2 field automation机制的常用函数71
3.3.3 field automation机制中标志位的使用72
3.3.4 field automation中宏与if的结合74
3.4 UVM中打印信息的控制76
3.4.1 设置打印信息的冗余度阈值76
3.4.2 重载打印信息的严重性78
3.4.3 UVM_ERROR到达一定数量结束仿真79
3.4.4 设置计数的目标80
3.4.5 UVM的断点功能81
3.4.6 将输出信息导入文件中82
3.4.7 控制打印信息的行为84
3.5 config_db机制85
3.5.1 UVM中的路径85
3.5.2 set与get函数的参数87
3.5.3 省略get语句88
3.5.4 跨层次的多重设置89
3.5.5 同一层次的多重设置91
3.5.6 非直线的设置与获取93
3.5.7 config_db机制对通配符的支持94
3.5.8 check_config_usage95
3.5.9 set_config与get_config97
3.5.10 config_db的调试98
第4章 UVM中的TLM1.0通信100
4.1 TLM1.0100
4.1.1 验证平台内部的通信100
4.1.2 TLM的定义102
4.1.3 UVM中的PORT与EXPORT102
4.2 UVM中各种端口的互连104
4.2.1 PORT与EXPORT的连接104
4.2.2 UVM中的IMP106
4.2.3 PORT与IMP的连接109
4.2.4 EXPORT与IMP的连接111
4.2.5 PORT与PORT的连接111
4.2.6 EXPORT与EXPORT的连接113
4.2.7 blocking_get端口的使用114
4.2.8 blocking_transport端口的使用116
4.2.9 nonblocking端口的使用117
4.3 UVM中的通信方式119
4.3.1 UVM中的analysis端口119
4.3.2 一个component内有多个IMP121
4.3.3 使用FIFO通信124
4.3.4 FIFO上的端口及调试126
4.3.5 用FIFO还是用IMP128
第5章 UVM验证平台的运行132
5.1 phase机制132
5.1.1 task phase与function phase132
5.1.2 动态运行phase134
5.1.3 phase的执行顺序134
5.1.4 UVM树的遍历139
5.1.5 super.phase的内容140
5.1.6 build阶段出现UVMERROR停止仿真141
5.1.7 phase的跳转142
5.1.8 phase机制的必要性146
5.1.9 phase的调试147
5.1.10 超时退出147
5.2 objection机制148
5.2.1 objection与task phase148
5.2.2 参数phase的必要性152
5.2.3 控制objection的最佳选择152
5.2.4 set_drain_time的使用154
5.2.5 objection的调试156
5.3 domain的应用158
5.3.1 domain简介158
5.3.2 多domain的例子158
5.3.3 多domain中phase的跳转161
第6章 UVM中的sequence163
6.1 sequence基础163
6.1.1 从driver中剥离激励产生功能163
6.1.2 sequence的启动与执行165
6.2 sequence的仲裁机制166
6.2.1 在同一sequencer上启动多个sequence166
6.2.2 sequencer的lock操作170
6.2.3 sequencer的grab操作172
6.2.4 sequence的有效性172
6.3 sequence相关宏及其实现175
6.3.1 uvm_do系列宏175
6.3.2 uvm_create与uvm_send176
6.3.4 start_item与finish_item178
6.3.5 pre_do、mid_do与post_do180
6.4 sequence进阶应用181
6.4.1 嵌套的sequence181
6.4.2 在sequence中使用rand类型变量183
6.4.3 transaction类型的匹配185
6.4.4 p_sequencer的使用186
6.4.5 sequence的派生与继承189
6.5 virtual sequence的使用190
6.5.1 带双路输入输出端口的DUT190
6.5.2 sequence之间的简单同步191
6.5.3 sequence之间的复杂同步192
6.5.4 仅在virtual sequence中控制objection197
6.5.5 在sequence中慎用forkjoin_none198
6.6 在sequence中使用config_db200
6.6.1 在sequence中获取参数200
6.6.2 在sequence中设置参数201
6.6.3 wait_modified的使用203
6.7 response的使用204
6.7.1 put_response与get_response204
6.7.2 response的数量问题205
6.7.3 response handler与另类的response206
6.7.4 rsp与req类型不同208
6.8 sequence library209
6.8.1 随机选择sequence209
6.8.2 控制选择算法211
6.8.3 控制执行次数213
6.8.4 使用sequence_library_cfg214
第7章 UVM中的寄存器模型216
7.1 寄存器模型简介216
7.1.1 带寄存器配置总线的DUT216
7.1.2 需要寄存器模型才能做的事情218
7.1.3 寄存器模型中的基本概念220
7.2 简单的寄存器模型221
7.2.1 只有一个寄存器的寄存器模型221
7.2.2 将寄存器模型集成到验证平台中224
7.2.3 在验证平台中使用寄存器模型227
7.3 后门访问与前门访问229
7.3.1 UVM中前门访问的实现229
7.3.2 后门访问操作的定义231
7.3.3 使用interface进行后门访问操作233
7.3.4 UVM中后门访问操作的实现:DPl+VPl233
7.3.5 UVM中后门访问操作接口235
7.4 复杂的寄存器模型237
7.4.1 层次化的寄存器模型237
7.4.2 reg_file的作用239
7.4.3 多个域的寄存器241
7.4.4 多个地址的寄存器242
7.4.5 加入存储器244
7.5 寄存器模型对DUT的模拟246
7.5.1 期望值与镜像值246
7.5.2 常用操作及其对期望值和镜像值的影响247
7.6 寄存器模型中一些内建的sequence248
7.6.1 检查后门访问中hdl路径的sequence248
7.6.2 检查默认值的sequence249
7.6.3 检查读写功能的sequence250
7.7 寄存器模型的高级用法251
7.7.1 使用reg_predictor251
7.7.2 使用UVM_PREDICT_DIRECT功能与mirror操作253
7.7.3 寄存器模型的随机化与update255
7.7.4 扩展位宽257
7.8 寄存器模型的其他常用函数257
7.8.1 get_root_blocks257
7.8.2 get_reg_by_offset函数258
第8章 UVM中的factory机制260
8.1 SystemVerilog对重载的支持260
8.1.1 任务与函数的重载260
8.1.2 约束的重载261
8.2 使用factory机制进行重载264
8.2.1 factory机制式的重载264
8.2.2 重载的方式及种类268
8.2.3 复杂的重载271
8.2.4 factory机制的调试273
8.3 常用的重载275
8.3.1 重载transaction275
8.3.2 重载sequence277
8.3.3 重载component278
8.3.4 重载driver以实现所有的测试用例279
8.4 factory机制的实现280
8.4.1 创建一个类的实例的方法280
8.4.2 根据字符串来创建一个类281
8.4.3 用factory机制创建实例的接口282
8.4.4 factory机制的本质284
第9章 UVM中代码的可重用性285
9.1 callback机制285
9.1.1 广义的callback函数285
9.1.2 callback机制的必要性286
9.1.3 UVM中callback机制的原理287
9.1.4 callback机制的使用288
9.1.5 子类继承父类的callback机制291
9.1.6 使用callback函数/任务来实现所有的测试用例292
9.1.7 callback机制、sequence机制和factory机制293
9.2 功能的模块化:小而美294
9.2.1 Linux的设计哲学:小而美294
9.2.2 小而美与factory机制的重载294
9.2.3 放弃建造强大sequence的想法295
9.3 参数化的类297
9.3.1 参数化类的必要性297
9.3.2 UVM对参数化类的支持298
9.4 模块级到芯片级的代码重用299
9.4.1 基于env的重用299
9.4.2 寄存器模型的重用302
9.4.3 virtual sequence与virtualsequencer305
第10章 UVM高级应用308
10.1 interface308
10.1.1 interface实现driver的部分功能308
10.1.2 可变时钟311
10.2 layer sequence315
10.2.1 复杂sequence的简单化315
10.2.2 layer sequence的示例318
10.2.3 layer sequence与try_next_item321
10.2.4 错峰技术的使用324
10.3 sequence的其他问题326
10.3.1 心跳功能的实现326
10.3.2 只将virtual_sequence设置为default_sequence329
10.3.3 disable fork语句对原子操作的影响330
10.4 DUT参数的随机化332
10.4.1 使用寄存器模型随机化参数332
10.4.2 使用单独的参数类333
10.5 聚合参数335
10.5.1 聚合参数的定义335
10.5.2 聚合参数的优势与问题336
10.6 config_db340
10.6.1 换一个phase使用config_db340
10.6.2 config_db的替代者341
10.6.3 set函数的第二个参数的检查345
第11章 OVM到UVM的迁移349
11.1 对等的迁移349
11.2 一些过时的用法349
11.2.1 sequence与sequencer的factory机制实现349
11.2.2 sequence的启动与uvm_test_done350
11.2.3 手动调用build_phase351
11.2.4 纯净的UVM环境352
附录ASystemVerilog使用简介353
附录BDUT代码清单361
附录CUVM命令行参数汇总366
附录DUVM常用宏汇总369
热门推荐
- 370255.html
- 3335465.html
- 1933523.html
- 2257685.html
- 3039201.html
- 610523.html
- 2726624.html
- 1006956.html
- 3653766.html
- 176634.html
- http://www.ickdjs.cc/book_1289504.html
- http://www.ickdjs.cc/book_819097.html
- http://www.ickdjs.cc/book_2000741.html
- http://www.ickdjs.cc/book_1522561.html
- http://www.ickdjs.cc/book_34447.html
- http://www.ickdjs.cc/book_3570210.html
- http://www.ickdjs.cc/book_2648404.html
- http://www.ickdjs.cc/book_3096873.html
- http://www.ickdjs.cc/book_1102584.html
- http://www.ickdjs.cc/book_1935700.html