• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

SOC/IP验证工程师

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

文章分类 -  UVM

上一页 1 2 3 4 下一页

UVM验证环境的启动过程
摘要:1)在导入uvm_pkg文件时,会自动创建UVM_root所例化的对象UVM_top,UVM顶层的类会提供run_test()方法充当UVM世界的核心角色,通过UVM_top调用run_test()方法。 2)在环境中输入run_test来启动UVM验证平台,run_test语句会创建一个my_ca 阅读全文

posted @ 2022-12-23 16:55 SOC验证工程师 阅读(2464) 评论(0) 推荐(0)

factory机制的重载
摘要:任务与函数的重载 SystemVerilog是一种面向对象的语言。面向对象语言都有一大特征:重载。当在父类中定义一个函数/任务时,如果将其设置为virtual类型,那么就可以在子类中重载这个函数/任务: 重载的最大优势是使得一个子类的指针以父类的类型传递时,其表现出的行为依然是子类的行为。 fact 阅读全文

posted @ 2022-09-17 19:13 SOC验证工程师 阅读(293) 评论(0) 推荐(0)

UVM中的类库地图
摘要:UVM类库地图按照UVM的核心机制将地图进行了分块: 1.核心基类 2.工厂类factory 3.事务类transaction和序列类sequence 4.结构创建类structure creation 5.环境组件类environment component 6.通信管道类channel 7.信息 阅读全文

posted @ 2022-09-17 12:37 SOC验证工程师 阅读(437) 评论(0) 推荐(0)

UVM中uvm_component和uvm_object的理解
摘要:UVM类继承关系 在前一篇文章的简单的UVM框架Testbench中,我们曾提到继承自uvm_component的类可以作为UVM树的节点,有与验证平台一样的生命周期;继承自uvm_object的类生命周期短于验证平台,通常作为一些临时部件类或传递的信息类等。其实,uvm_component本身也是 阅读全文

posted @ 2022-09-17 12:09 SOC验证工程师 阅读(1375) 评论(0) 推荐(0)

UVM中uvm_object和uvm_component的不同
摘要:uvm_void :是始祖类,人如其名,其中不包含任何函数和类 uvm_obect : 比较基础的类,包含一些比较基础的常用函数,如 Copy 函数、Clone 函数、Compare 函数、Print 函数 可以在环境任一位置创建和销毁 uvm_component : uvm_component 类 阅读全文

posted @ 2022-09-17 11:37 SOC验证工程师 阅读(1515) 评论(0) 推荐(0)

深入UVM:X::type_id::create是如何创建实例的
摘要:X::type_id::create是如何创建实例的 当利用factory机制创建实例的时候,往往使用X::type_id::create(name, parent)来创建实例,比如 function void MyEnv::build_phase(uvm_phase phase); super.b 阅读全文

posted @ 2022-09-16 23:40 SOC验证工程师 阅读(2986) 评论(1) 推荐(0)

UVM中类的例化用new和create有什么不同?
摘要:UVM中类的例化用new和create有什么不同?什么时候可以用new?什么时候该用create? new是OOP自带属性,create是UVM override属性,可以理解成create比new更进阶。 create是用factory模式来construct对象,在factory中注册过的uvm 阅读全文

posted @ 2022-09-16 23:26 SOC验证工程师 阅读(506) 评论(0) 推荐(0)

UVM中国field_automation机制中print和sprint的区别
摘要:用法的区别 `uvm_info("apb_trans", this.sprint(), UVM_LOW) this.print // Function: print // // The print method deep-prints this object's properties in a fo 阅读全文

posted @ 2022-09-12 15:34 SOC验证工程师 阅读(1212) 评论(0) 推荐(0)

UVM中phase机制的总结
摘要:| phase | 函数/任务 | 执行顺序 | 功能| | | | | | |build |函数 |自顶向下 |1.create UVM tree,instance all the components.2.config_db::set, get interface.var | |connect 阅读全文

posted @ 2022-09-11 17:21 SOC验证工程师 阅读(132) 评论(0) 推荐(0)

UVM中facttory机制的使用
摘要:工厂机制 factory机制 1、registration(utils) 2、construction(create) 3、override 4、field automation 一般来说运用factory的步骤可分为: 将类注册到工厂 在例化前设置覆盖对象和类型(可选) 创建对象 为什么要使用fa 阅读全文

posted @ 2022-09-11 16:58 SOC验证工程师 阅读(82) 评论(0) 推荐(0)

UVM中uvm_driver的写法
摘要:书本上的一般写法: `ifndef MY_DRIVER__SV `define MY_DRIVER__SV class my_driver extends uvm_driver#(my_transaction); virtual my_if vif; `uvm_component_utils(my_ 阅读全文

posted @ 2022-09-08 22:06 SOC验证工程师 阅读(1871) 评论(0) 推荐(0)

uvm中get_name get_full_name get_type_name的区别
摘要:class my_agent extends uvm_agent; my_driver apb_drv; apb_drv=my_driver::type_id::create("drv", this); apb_drv.seq_item_port.connect(sqr.seq_item_expor 阅读全文

posted @ 2022-08-13 18:34 SOC验证工程师 阅读(339) 评论(0) 推荐(0)

UVM中各个类的参数要求
摘要:1.uvm_object和uvm_compoent类 1.1 派生自uvm_object的类 除了派生自uvm_component类之外的类,几乎所有的类都派生自uvm_object。 uvm_transaction、uvm_sequence_item、uvm_sequence 1.2 派生自uvm 阅读全文

posted @ 2022-08-05 23:04 SOC验证工程师 阅读(466) 评论(0) 推荐(0)

UVM中file_automation机制详解
摘要:field automation机制相关的宏 最简单的uvm_field系列宏有如下几种: `define uvm_field_int(ARG,FLAG) `define uvm_field_real(ARG,FLAG) `define uvm_field_enum(T,ARG,FLAG) `def 阅读全文

posted @ 2022-07-24 09:46 SOC验证工程师 阅读(2101) 评论(0) 推荐(0)

UVM中的field_automation机制应用
摘要:在引入my_mointor时,在my_transaction中加入了my_print函数;在引入reference model时,加入了my_copy函数;在引入scoreboard时,加入了my_compare函数。上述三个函数虽然各自不同,但是对于不同的transaction来说,都是类似的:它 阅读全文

posted @ 2022-07-23 23:51 SOC验证工程师 阅读(1215) 评论(0) 推荐(0)

UVM中测试用例的启动
摘要:UVM使用的是一种树形结构。但是在一个实际应用的UVM验证平台中,通常来说,树根是一个基于uvm_test派生的类。真正的测试用例都是基于base_test派生的一个类。 //base_test.sv 4 class base_test extends uvm_test; 5 6 my_env en 阅读全文

posted @ 2022-07-23 21:19 SOC验证工程师 阅读(1227) 评论(0) 推荐(0)

UVM中的phase机制
摘要:5.1 phase机制 *5.1.1 task phase与function phase UVM中的phase,按照其是否消耗仿真时间($time打印出的时间)的特性,可以分成两大类,一类是function phase,如build_phase、connect_phase等,这些phase都不耗费仿 阅读全文

posted @ 2022-07-17 17:05 SOC验证工程师 阅读(4018) 评论(0) 推荐(1)

UVM中set/get_config_int/string/object与uvm_cofig_int/string/object的使用
摘要:set_config与get_config get_config_int这种写法最初来自OVM中,UVM继承了这种写法,并在此基础上发展出了config_db。set_config与get_config依然是UVM标准的一部分,并没有过时。 使用set_config_int来代替uvm_config 阅读全文

posted @ 2022-07-16 22:55 SOC验证工程师 阅读(477) 评论(0) 推荐(0)

UVM中uvm_event中带参数的用法
摘要:uvm event 用法 1. //文件a: uvm_event event1;//定义 event1=uvm_event_pool::get_global("event1");//例化 //条件: event1.trigger(); //文件b: uvm_event event1;//定义 eve 阅读全文

posted @ 2022-07-14 22:29 SOC验证工程师 阅读(1102) 评论(0) 推荐(0)

UVM中analysis端口的使用方法
摘要:UVM中有两种特殊的端口:analysis_port和analysis_export。这两者其实与put和get系列端口类似,都用于传递transaction。它们的区别是: 第一,默认情况下,一个analysis_port(analysis_export)可以连接多个IMP,也就是说,analys 阅读全文

posted @ 2022-07-09 12:17 SOC验证工程师 阅读(1644) 评论(0) 推荐(0)

上一页 1 2 3 4 下一页
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3