uvm层次的构建与运行

前言:

经常在面试中,面试官会问你谈谈uvm整个的认识,整个的构建。其实面试官应该是想问uvm整个层次的构建。

1、uvm的组件

整个uvm构成主要包含uvm_component与uvm_object。

uvm_component因为在创建时有两个参数:nameparent,因此uvm_component具有一个层次关系,它构成验证环境。uvm_root唯一实例为uvm_top,为整个uvm的根。要求在build_phase阶段完成创建(自顶向下:建立了根才能逐渐向底层创建)。

uvm_object创建时的参数只有一个:name。没有层次关系。它作为环境的事务或配置。它可以在整个环境的任何阶段创建

通过选择运行相应name的case,例化相应case中的环境env,逐渐向底层建立。

i_agt:仅仅作为将driver、monitor与sequencer封装。

mdl:参考模型为模拟硬件的行为,将模拟出的数据与o_agt中监测到的DUT发出的数据发送到scb,进行对比,若出现错误,说明DUT运行不正常。

reg:寄存器模型,是硬件与硬件、硬件与软件的一个交互模式。通过读寄存器可以得知硬件目前的状态,通过写寄存器,对硬件的行为进行配置。

2、运行过程

事务transcation以item的形式在sequence中产生, sequence将item发送给sequencer,等待driver向sequencer索取item(get_next_item信号发出后sequencer开始仲裁(按照一定的仲裁机制进行仲裁,决定将哪个item发送给driver)),driver将数据按照与DUT物理协议时序关系驱动到接口上(接口通过config_db 传递virtual interface)。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值