摘要: sequencer使用 user sequencer类的创建 class gpio_sequencer extends uvm_sequencer #(gpio_transfer); `uvm_component_utils(gpio_sequencer) function new (string 阅读全文
posted @ 2024-03-15 17:14 Icer_Newer 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 配置sequence:基于instance 基于instance配置的好处 基于sequencer配置sequence 基于sequencer配置的好处 基于agent配置sequence 在phase中隐式执行sequence 显式执行sequence sequence的优先级和权重weight 阅读全文
posted @ 2024-03-15 13:42 Icer_Newer 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 内容 sequence概述 uvm_sequence_item - 数据建模 uvm_sequence - 产生数据 uvm_squencer - 将产生的数据给到driver uvm_driver - 数据驱动给dut sequencer是uvm组件,一个sequencer可以调用多个sequen 阅读全文
posted @ 2024-03-15 12:48 Icer_Newer 阅读(151) 评论(0) 推荐(0) 编辑
摘要: reference model 用于模拟RTL的行为,产生希望的值 driver的驱动给到reference model和dut,dut产生的结果和reference model产生的结果在score board中进行比对 Code driver scoreboard Test generator 阅读全文
posted @ 2024-03-15 10:30 Icer_Newer 阅读(6) 评论(0) 推荐(0) 编辑
摘要: System Verilog本身就是一种面向对象的语言,即本身就支持重载(override),重载即当父类中定义一个virtual类型的函数或任务时,在子类中可以重载这个函数或任务。所以我们来先看一下System Verilog对重载的支持。 案例2 system verilog重载 本质是使用继承 阅读全文
posted @ 2024-03-15 09:27 Icer_Newer 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 在uvm 中可以利用factory机制的重载作用改变某些component的特性, 而不用去修改testbench。比如说:写了2个driver的class,但是uvm环境中只需要用到一个,如果这两个driver都是用factory注册,那么就可以用override的方式替换当前uvm环境中的dri 阅读全文
posted @ 2024-03-15 08:28 Icer_Newer 阅读(77) 评论(0) 推荐(0) 编辑