uvm实战卷1

uvm实战卷1

大小:4.66M

更新时间:23-09-05

系统:Pc

开始下载
uvm实战卷1是目前一本用研究的眼光解读如何搭建基于UVM搭建验证平台的图书,由资深验证工程师张震编著。本书脱胎于网络上广为流传的《UVM1.1应用指南及源码分析》,内容愈加炉火纯青,涉及的内容包括:全面的UVM验证方法学理论知识、丰富的实战经验和范例,并且步步清晰引导读者掌握UVM的精髓和实用技巧。全书从理论到实践、从初级到高级、从搭建平台到系统调试,不但讲述非常清楚,而且逻辑联系严密。学习完本书,并且按照书中的实例进行练习,就能够系统地掌握UVM的使用和调试技术。

内容介绍

《uvm实战卷1》主要介绍UVM的使用。全书详尽介绍了UVM的factory机制、sequence机制、phase机制、objection机制及寄存器模型等的使用。此外,本书还试图引导读者思考UVM为什么要引入这些机制,从而使读者知其然,更知其所以然。本书以一个完整的示例开篇,使得读者一开始就对如何使用UVM搭建验证平台有总体的概念。
《uvm实战卷1》同时提供大量示例代码,这些代码都经过实际的运行。全书内容力求简单易懂,尽量将UVM中的概念与读者已有的概念联系起来。在第11章还专门介绍了OVM与UVM的区别,为那些从OVM迁移到UVM的用户提供很大帮助。本书主要面向UVM的初学者及想对UVM追根寻底的中级用户。针对没有面向对象编程基础的用户,本书在附录中简要介绍了面向对象的概念及SystemVerilog中区别于其他编程语言的一些特殊语法。

章节目录

第1章 与UVM的第一次接触
1.1 UVM是什么
1.1.1 验证在现代IC流程中的位置
1.1.2 验证的语言
1.1.3 何谓方法学
1.1.4 为什么是UVM
1.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 interface
2.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_object
3.1.1 uvm_component派生自uvm_object
3.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_usage
3.5.9 set_config与get_config
3.5.10 config_db的调试
第4章 UVM中的TLM1.0通信
4.1 TLM1.
4.1.1 验证平台内部的通信
4.1.2 TLM的定义
4.1.3 UVM中的PORT与EXPORT
4.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 phase
5.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中的sequence
6.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_do
6.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_none
6.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_response
6.7.2 response的数量问题
*6.7.3 response handler与另类的response
*6.7.4 rsp与req类型不同
6.8 sequence library
6.8.1 随机选择sequence
6.8.2 控制选择算法
6.8.3 控制执行次数
6.8.4 使用sequence_library_cfg
第7章 UVM中的寄存器模型
7.1 寄存器模型简介
*7.1.1 带寄存器配置总线的DUT
7.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 检查读写功能的sequence
7.7 寄存器模型的高级用法
*7.7.1 使用reg_predictor
*7.7.2 使用UVM_PREDICT_DIRECT功能与mirror操作
*7.7.3 寄存器模型的随机化与update
7.7.4 扩展位宽
7.8 寄存器模型的其他常用函数
7.8.1 get_root_blocks
7.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 重载component
8.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 interface
10.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_sequence
10.3.3 disable fork语句对原子操作的影响
10.4 DUT参数的随机化
10.4.1 使用寄存器模型随机化参数
*10.4.2 使用单独的参数类
10.5 聚合参数
10.5.1 聚合参数的定义
10.5.2 聚合参数的优势与问题
10.6 config_db
10.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_phase
11.2.4 纯净的UVM环境
附录A SystemVerilog使用简介
附录B DUT代码清单
附录C UVM命令行参数汇总
附录D UVM常用宏汇总

使用说明

1、下载并解压,得出pdf文件

2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读

展开全部内容
语言简体中文

同类热门

得间免费小说电脑版得间免费小说电脑版 数据挖掘导论数据挖掘导论 吉利博瑞用户手册吉利博瑞用户手册 开源阅读电脑版开源阅读电脑版 京东读书电脑版京东读书电脑版 PHP语言精粹电子书PHP语言精粹电子书 本草纲目本草纲目 docker入门实战docker入门实战

热门标签

常用的串口调试助手 好用的三维cad制图软件 电脑线上教学软件 excel表格辅助软件大全 电脑画图软件 百度网盘不限速软件大全 显卡测试软件大全 oa办公系统 医院管理软件大全 批量改名软件 电脑桌面美化软件大全 ps笔刷大全

网友评论0人参与,0条评论

评论需审核后才能显示

最新排行

手游排行软件排行热门应用