思维导图备注

UVM实战
首页 收藏书籍 阅读记录
  • 书签 我的书签
  • 添加书签 添加书签 移除书签 移除书签

第3章 UVM基础

浏览 1 扫码
  • 小字体
  • 中字体
  • 大字体
2022-01-24 17:53:39
请 登录 再阅读
上一篇:
下一篇:
  • 书签
  • 添加书签 移除书签
  • 前言
  • 第1章 与UVM的第一次接触
    • 1.1.2 验证的语言
    • 1.2 学了UVM之后能做什么
      • 1.2.2 设计工程师
    • 1.1.3 何谓方法学
    • 1.1.4 为什么是UVM
    • 1.1.5 UVM的发展史
  • 第2章 一个简单的UVM验证平台
    • 2.2 只有driver的验证平台
      • *2.2.2 加入factory机制
      • *2.2.3 加入objection机制
      • *2.2.4 加入virtual interface
    • 2.3 为验证平台加入各个组件
      • *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.2 sequence机制
      • *2.4.3 default_sequence的使用
    • 2.5 建造测试用例
      • *2.5.2 UVM中测试用例的启动
  • 第3章 UVM基础
    • 3.1.1 uvm_component派生自uvm_object
    • 3.1.2 常用的派生自uvm_object的类
    • 3.2 UVM的树形结构
      • 3.2.1 uvm_component中的parent参数
      • 3.2.2 UVM树的根
      • 3.2.3 层次结构相关函数
    • 3.1.3 常用的派生自uvm_component的类
    • 3.3 field automation机制
      • 3.3.2 field automation机制的常用函数
      • *3.3.3 field automation机制中标志位的使用
      • *3.3.4 field automation中宏与if的结合
    • 3.1.4 与uvm_object相关的宏
    • 3.4 UVM中打印信息的控制
      • *3.4.2 重载打印信息的严重性
      • *3.4.3 UVM_ERROR到达一定数量结束仿真
      • *3.4.4 设置计数的目标
      • *3.4.5 UVM的断点功能
      • *3.4.6 将输出信息导入文件中
      • *3.4.7 控制打印信息的行为
    • 3.1.5 与uvm_component相关的宏
    • 3.5 config_db机制
      • 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的调试
    • 3.1.6 uvm_component的限制
    • 3.1.7 uvm_component与uvm_object的二元结构
  • 第4章 UVM中的TLM1.0通信
    • 4.1.2 TLM的定义
    • 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.1.3 UVM中的PORT与EXPORT
    • 4.3 UVM中的通信方式
      • *4.3.2 一个component内有多个IMP
      • *4.3.3 使用FIFO通信
      • 4.3.4 FIFO上的端口及调试
      • *4.3.5 用FIFO还是用IMP
  • 第5章 UVM验证平台的运行
    • 5.1.2 动态运行phase
    • 5.2 objection机制
      • *5.2.2 参数phase的必要性
      • 5.2.3 控制objection的最佳选择
      • 5.2.4 set_drain_time的使用
      • *5.2.5 objection的调试
    • *5.1.3 phase的执行顺序
    • 5.3 domain的应用
      • *5.3.2 多domain的例子
      • *5.3.3 多domain中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 超时退出
  • 第6章 UVM中的sequence
    • *6.1.2 sequence的启动与执行
    • 6.2 sequence的仲裁机制
      • *6.2.2 sequencer的lock操作
      • *6.2.3 sequencer的grab操作
      • 6.2.4 sequence的有效性
    • 6.3 sequence相关宏及其实现
      • *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.2 在sequence中使用rand类型变量
      • *6.4.3 transaction类型的匹配
      • *6.4.4 p_sequencer的使用
      • *6.4.5 sequence的派生与继承
    • 6.5 virtual sequence的使用
      • *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.2 在sequence中设置参数
      • *6.6.3 wait_modified的使用
    • 6.7 response的使用
      • 6.7.2 response的数量问题
      • *6.7.3 response handler与另类的response
      • *6.7.4 rsp与req类型不同
    • 6.8 sequence library
      • 6.8.2 控制选择算法
      • 6.8.3 控制执行次数
      • 6.8.4 使用sequence_library_cfg
  • 第7章 UVM中的寄存器模型
    • 7.1.2 需要寄存器模型才能做的事情
    • 7.2 简单的寄存器模型
      • *7.2.2 将寄存器模型集成到验证平台中
      • *7.2.3 在验证平台中使用寄存器模型
    • 7.1.3 寄存器模型中的基本概念
    • 7.3 后门访问与前门访问
      • 7.3.2 后门访问操作的定义
      • *7.3.3 使用interface进行后门访问操作
      • 7.3.4 UVM中后门访问操作的实现:DPI+VPI
      • *7.3.5 UVM中后门访问操作接口
    • 7.4 复杂的寄存器模型
      • *7.4.2 reg_file的作用
      • *7.4.3 多个域的寄存器
      • *7.4.4 多个地址的寄存器
      • *7.4.5 加入存储器
    • 7.5 寄存器模型对DUT的模拟
      • 7.5.2 常用操作及其对期望值和镜像值的影响
    • 7.6 寄存器模型中一些内建的sequence
      • *7.6.2 检查默认值的sequence
      • *7.6.3 检查读写功能的sequence
    • 7.7 寄存器模型的高级用法
      • *7.7.2 使用UVM_PREDICT_DIRECT功能与mirror操作
      • *7.7.3 寄存器模型的随机化与update
      • 7.7.4 扩展位宽
    • 7.8 寄存器模型的其他常用函数
      • 7.8.2 get_reg_by_offset函数
  • 第8章 UVM中的factory机制
    • *8.1.2 约束的重载
    • 8.2 使用factory机制进行重载
      • *8.2.2 重载的方式及种类
      • *8.2.3 复杂的重载
      • *8.2.4 factory机制的调试
    • 8.3 常用的重载
      • *8.3.2 重载sequence
      • *8.3.3 重载component
      • 8.3.4 重载driver以实现所有的测试用例
    • 8.4 factory机制的实现
      • *8.4.2 根据字符串来创建一个类
      • 8.4.3 用factory机制创建实例的接口
      • 8.4.4 factory机制的本质
  • 第9章 UVM中代码的可重用性
    • 9.1.1 广义的callback函数
    • 9.1.2 callback机制的必要性
    • 9.2 功能的模块化:小而美
      • 9.2.2 小而美与factory机制的重载
      • 9.2.3 放弃建造强大sequence的想法
    • 9.1.3 UVM中callback机制的原理
    • 9.3 参数化的类
      • *9.3.2 UVM对参数化类的支持
    • *9.1.4 callback机制的使用
    • 9.4 模块级到芯片级的代码重用
      • *9.4.2 寄存器模型的重用
      • 9.4.3 virtual sequence与virtual sequencer
    • *9.1.5 子类继承父类的callback机制
    • 9.1.6 使用callback函数/任务来实现所有的测试用例
    • 9.1.7 callback机制、sequence机制和factory机制
  • 第10章 UVM高级应用
    • *10.1.2 可变时钟
    • 10.2 layer sequence
      • *10.2.2 layer sequence的示例
      • *10.2.3 layer sequence与try_next_item
      • *10.2.4 错峰技术的使用
    • 10.3 sequence的其他问题
      • 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.2 聚合参数的优势与问题
    • 10.6 config_db
      • *10.6.2 config_db的替代者
      • *10.6.3 set函数的第二个参数的检查
  • 第11章 OVM到UVM的迁移
    • 11.2 一些过时的用法
      • 11.2.2 sequence的启动与uvm_test_done
      • *11.2.3 手动调用build_phase
      • 11.2.4 纯净的UVM环境
  • 附录A SystemVerilog使用简介
  • 附录B DUT代码清单
  • 附录C UVM命令行参数汇总
  • 附录D UVM常用宏汇总
暂无相关搜索结果!
    展开/收起文章目录

    二维码

    手机扫一扫,轻松掌上学

    《UVM实战》电子书下载

    请下载您需要的格式的电子书,随时随地,享受学习的乐趣!
    EPUB 电子书

    书签列表

      阅读记录

      阅读进度: 0.00% ( 0/0 ) 重置阅读进度