| 作 者: | 张强 |
| 出版社: | 机械工业出版社 |
| 丛编项: | 电子与嵌入式系统设计丛书 |
| 版权说明: | 本书为公共版权或经版权方授权,请支持正版图书 |
| 标 签: | 暂缺 |
| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
第1章
与UVM的第一次接触1.1
UVM是什么1.1.1
验证在现代IC流程中的位置1.1.2
验证的语言1.1.3
何谓方法学1.1.4
为什么是UVM1.1.5
UVM的发展史1.2
学了UVM之后能做什么1.2.1
验证工程师1.2.2
设计工程师第2章
一个简单的UVM验证平台2.1
验证平台的组成2.2
只有driver的验证平台*2.2.1
最简单的验证平台*2.2.2
加入factory机制*2.2.3
加入objection机制*2.2.4
加入virtual interface2.3
为验证平台加入各个组件*2.3.1
加入transaction*2.3.2
加入env*2.3.3
加入monitor*2.3.4
封装成agent*2.3.5
加入reference model*2.3.6
加入scoreboard*2.3.7
加入field_automation机制2.4
UVM的终极大作:sequence*2.4.1
在验证平台中加入sequencer*2.4.2
sequence机制*2.4.3
default_sequence 的使用2.5
建造测试用例*2.5.1
加入base_test*2.5.2
UVM中测试用例的启动第3章
UVM基础3.1
uvm_component与uvm_object3.1.1
uvm_component派生自uvm_object3.1.2
常用的派生自uvm_object的类3.1.3
常用的派生自uvm_component的类3.1.4
与uvm_object相关的宏3.1.5
与uvm_component相关的宏3.1.6
uvm_component的限制3.1.7
uvm_component与uvm_object的二元结构3.2
UVM的树形结构3.2.1
uvm_component中的parent参数3.2.2
UVM树的根3.2.3
层次结构相关函数3.3
field automation机制3.3.1
field automation机制相关的宏3.3.2
field automation机制的常用函数*3.3.3
field automation机制中标志位的使用*3.3.4
field automation中宏与if的结合3.4
UVM中打印信息的控制*3.4.1
设置打印信息的冗余度阈值*3.4.2
重载打印信息的严重性*3.4.3
UVM_ERROR到达一定数量结束仿真*3.4.4
设置计数的目标*3.4.5
UVM的断点功能*3.4.6
将输出信息导入文件中*3.4.7
控制打印信息的行为3.5
config_db机制3.5.1
UVM中的路径3.5.2
set与get函数的参数*3.5.3
省略get语句*3.5.4
跨层次的多重设置*3.5.5
同一层次的多重设置*3.5.6
非直线的设置与获取*3.5.7
config_db机制对通配符的支持*3.5.8
check_config_usage3.5.9
set_config与get_config3.5.10
config_db的调试第4章
UVM中的TLM1.0通信4.1
TLM1.4.1.1
验证平台内部的通信4.1.2
TLM的定义4.1.3
UVM中的PORT与EXPORT4.2
UVM中各种端口的互连*4.2.1
PORT与EXPORT的连接*4.2.2
UVM中的IMP*4.2.3
PORT与IMP的连接*4.2.4
EXPORT与IMP的连接*4.2.5
PORT与PORT的连接*4.2.6
EXPORT与EXPORT的连接*4.2.7
blocking_get端口的使用*4.2.8
blocking_transport端口的使用4.2.9
nonblocking端口的使用4.3
UVM中的通信方式*4.3.1
UVM中的analysis端口*4.3.2
一个component内有多个IMP*4.3.3
使用FIFO通信4.3.4
FIFO上的端口及调试*4.3.5
用FIFO还是用IMP第5章
UVM验证平台的运行5.1
phase机制*5.1.1
task phase与function phase5.1.2
动态运行phase*5.1.3
phase的执行顺序*5.1.4
UVM树的遍历5.1.5
super.phase的内容*5.1.6
build阶段出现UVM_ERROR停止仿真*5.1.7
phase的跳转5.1.8
phase机制的必要性5.1.9
phase的调试5.1.10
超时退出5.2
objection机制*5.2.1
objection与task phase*5.2.2
参数phase的必要性5.2.3
控制objection的最佳选择5.2.4
set_drain_time的使用*5.2.5
objection的调试5.3
domain的应用5.3.1
domain简介*5.3.2
多domain的例子*5.3.3
多domain中phase的跳转第6章
UVM中的sequence6.1
sequence基础6.1.1
从driver中剥离激励产生功能*6.1.2
sequence的启动与执行6.2
sequence的仲裁机制*6.2.1
在同一sequencer上启动多个sequence*6.2.2
sequencer的lock操作*6.2.3
sequencer的grab操作6.2.4
sequence的有效性6.3
sequence相关宏及其实现6.3.1
uvm_do系列宏*6.3.2
uvm_create与uvm_send*6.3.3
uvm_rand_send系列宏*6.3.4
start_item与finish_item*6.3.5
pre_do、mid_do与post_do6.4
sequence进阶应用*6.4.1
嵌套的sequence*6.4.2
在sequence中使用rand类型变量*6.4.3
transaction类型的匹配*6.4.4
p_sequencer的使用*6.4.5
sequence的派生与继承6.5
virtual sequence的使用*6.5.1
带双路输入输出端口的DUT*6.5.2
sequence之间的简单同步*6.5.3
sequence之间的复杂同步6.5.4
仅在virtual sequence中控制objection*6.5.5
在sequence中慎用fork join_none6.6
在sequence中使用config_db*6.6.1
在sequence中获取参数*6.6.2
在sequence中设置参数*6.6.3
wait_modified的使用6.7
response的使用*6.7.1
put_response与get_response6.7.2
response的数量问题*6.7.3
response handler与另类的response*6.7.4
rsp与req类型不同6.8
sequence library6.8.1
随机选择sequence6.8.2
控制选择算法6.8.3
控制执行次数6.8.4
使用sequence_library_cfg第7章
UVM中的寄存器模型7.1
寄存器模型简介*7.1.1
带寄存器配置总线的DUT7.1.2
需要寄存器模型才能做的事情7.1.3
寄存器模型中的基本概念7.2
简单的寄存器模型*7.2.1
只有一个寄存器的寄存器模型*7.2.2
将寄存器模型集成到验证平台中*7.2.3
在验证平台中使用寄存器模型7.3
后门访问与前门访问*7.3.1
UVM中前门访问的实现7.3.2
后门访问操作的定义*7.3.3
使用interface进行后门访问操作7.3.4
UVM中后门访问操作的实现:DPI+VPI*7.3.5
UVM中后门访问操作接口7.4
复杂的寄存器模型*7.4.1
层次化的寄存器模型*7.4.2
reg_file的作用*7.4.3
多个域的寄存器*7.4.4
多个地址的寄存器*7.4.5
加入存储器7.5
寄存器模型对DUT的模拟7.5.1
期望值与镜像值7.5.2
常用操作及其对期望值和镜像值的影响7.6
寄存器模型中一些内建的sequence*7.6.1
检查后门访问中hdl路径的sequence*7.6.2
检查默认值的sequence*7.6.3
检查读写功能的sequence7.7
寄存器模型的高级用法*7.7.1
使用reg_predictor*7.7.2
使用UVM_PREDICT_DIRECT功能与mirror操作*7.7.3
寄存器模型的随机化与update7.7.4
扩展位宽7.8
寄存器模型的其他常用函数7.8.1
get_root_blocks7.8.2
get_reg_by_offset函数第8章
UVM中的factory机制8.1
SystemVerilog对重载的支持*8.1.1
任务与函数的重载*8.1.2
约束的重载8.2
使用factory机制进行重载*8.2.1
factory机制式的重载*8.2.2
重载的方式及种类*8.2.3
复杂的重载*8.2.4
factory机制的调试8.3
常用的重载*8.3.1
重载transaction*8.3.2
重载sequence*8.3.3
重载component8.3.4
重载driver以实现所有的测试用例8.4
factory机制的实现8.4.1
创建一个类的实例的方法*8.4.2
根据字符串来创建一个类8.4.3
用factory机制创建实例的接口8.4.4
factory机制的本质第9章
UVM中代码的可重用性9.1
callback机制9.1.1
广义的callback函数9.1.2
callback机制的必要性9.1.3
UVM中callback机制的原理*9.1.4
callback机制的使用*9.1.5
子类继承父类的callback机制9.1.6
使用callback函数/任务来实现所有的测试用例9.1.7
callback机制、sequence机制和factory机制9.2
功能的模块化:小而美9.2.1
Linux的设计哲学:小而美9.2.2
小而美与factory机制的重载9.2.3
放弃建造强大sequence的想法9.3
参数化的类9.3.1
参数化类的必要性*9.3.2
UVM对参数化类的支持9.4
模块级到芯片级的代码重用*9.4.1
基于env的重用*9.4.2
寄存器模型的重用9.4.3
virtual sequence与virtual sequencer第10章
UVM高级应用10.1
interface10.1.1
interface实现driver的部分功能*10.1.2
可变时钟10.2
layer sequence*10.2.1
复杂sequence的简单化*10.2.2
layer sequence的示例*10.2.3
layer sequence与try_next_item*10.2.4
错峰技术的使用10.3
sequence的其他问题*10.3.1
心跳功能的实现10.3.2
只将virtual_sequence设置为default_sequence10.3.3
disable fork语句对原子操作的影响10.4
DUT参数的随机化10.4.1
使用寄存器模型随机化参数*10.4.2
使用单独的参数类10.5
聚合参数10.5.1
聚合参数的定义10.5.2
聚合参数的优势与问题10.6
config_db10.6.1
换一个phase使用config_db*10.6.2
config_db的替代者*10.6.3
set函数的第二个参数的检查第11章
OVM到UVM的迁移11.1
对等的迁移11.2
一些过时的用法*11.2.1
sequence与sequencer的factory机制实现11.2.2
sequence的启动与uvm_test_done*11.2.3
手动调用build_phase11.2.4
纯净的UVM环境附录A
SystemVerilog使用简介附录B
DUT代码清单附录C
UVM命令行参数汇总附录D
UVM常用宏汇总