UVM学习笔记:

UVM学习笔记:

1、芯片流程:
市场需求(spec)、算法、架构、rtl、门级网表、GDSII、样片;

2、芯片验证等级:
模块级验证->芯片级验证->系统级验证;

3、uvm的一般架构(自下而上):
agent:sequencer、driver、monitor(driver和monitor通过interface与DUT相连);
env:agent、scoreboard、reference model;
testcase:实例化env;
top:testcase、dut

4、uvm的组件及其基类:
基类uvm_component:
子类(uvm组件):uvm_test(testcase)、uvm_env(env)、uvm_scoreboard(scoreboard)、uvm_agent(agent)、uvm_sequencer(sequencer)、uvm_driver(driver)、uvm_monitor(monitor)
特例(uvm组件):uvm_component(reference model)
(平台组件用`uvm_component_utils()完成注册,在new时要加上参数uvm_component parent)
组件间的数据流:uvm_sequence(sequence)、uvm_sequence_item(transaction)

5、sequence:
作用:用于控制transaction何时产生与结束;
特点:一般一种transaction对应一种sequence;
实现:class my_sequence extends uvm_sequence#(产生的事务类型)
在virtual task body()任务中实现transaction的产生与结束;
在body函数中,通过宏`uvm_do(req)产生事务,req指向产生的事务;

6、sequencer:
作用:启动对应的sequence;
将sequence产生的事务传给uvm的其它组件;
实现:typedef uvm_sequencer#(事务类型)my_sequencer;

7、driver:
作用:从sequencer获取事务;
将事务转换成DUT可以接收的PIN级信号;
将PIN级信号按DUT总线协议方式传给DUT;
实现:class my_driver extends uvm_driver#(事务类型);
virtual task run_phase(uvm_phase phase);
forever begin
seq_item_port.get_next_item(seq);(获取事务,seq指向事务对象)

seq_item_port.item_done();(告诉sequencer事务处理完成)
end
endtask

8、monitor
作用:监视接口信号,捕获活动事物将pin级信号转化为事物级数据包,传递给refm与scb组件。
(输入端monitor的一般流程为:产生事物,将事物转化为pin级信号通过接口传递给dut,monitor采集接口上的pin级信号转化为事物级数据包,传递给refm,为了从block level到top level输入操作执行的方便,与保持refm和dut时序逻辑的一致性)
实现:
class my_monitor extends uvm_monitor;
virtual task run_phase(uvm_phase phase);
forever begin
end
endtask

n、phase机制:
顺序:
build_phase =>connect_phase=>end_of_elaboration-phase=>start_of_simulation_phase=>run_phase(里面的phase并行运行)=>extract_phase=>check_phase=>report_phase
(在同一个phase中,除了build_phase是从uvm结构树自上而下运行的,其它phase都是自下而上;
在uvm中这些phase按顺序执行,不需要调用)

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值