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

SOC/IP验证工程师

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

公告

09 2022 档案

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

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

SystemVerilog中的类型转换总结
摘要:在一个父类与子类中: 在父类中有一个变量,在子类中有一个不一样的变量; 在父类和子类中都有一个virtual的且同名的函数; 如果将子类句柄赋值给父类句柄时: 在父类句柄中引用一个变量时,会先从子类里面找,如果找不到再到父类里面找。 父类与子类中的变量和函数没有任何关系。 虚方法: 阅读全文

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

SystemVerilog中soft软约束
摘要:soft表示的是软约束,如果在一个约束块中使用soft,那么表示这个约束块相比于没有使用soft的约束块(硬约束块)的优先级要低。 在constraint中的约束表达,可以使用soft修饰,当该约束和其他非soft约束冲突时,soft修饰的约束会失效。 要注意的是除了soft软约束块外,所有的约束块 阅读全文

posted @ 2022-09-17 15:34 SOC验证工程师 阅读(5987) 评论(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验证工程师 阅读(542) 评论(0) 推荐(0)

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

posted @ 2022-09-17 12:09 SOC验证工程师 阅读(1480) 评论(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验证工程师 阅读(1620) 评论(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验证工程师 阅读(3292) 评论(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验证工程师 阅读(563) 评论(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验证工程师 阅读(1271) 评论(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验证工程师 阅读(179) 评论(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验证工程师 阅读(102) 评论(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验证工程师 阅读(2060) 评论(0) 推荐(0)

 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3