UVM补充(寄存器模型register model相关)

基本环境

my_top

my_test/my_if/my_DUT

my_env

my_agent1/my_agent2.../my_predictor/my_scoreboard/vseq/vsqr

my_driver/my_monitor/my_sequencer

my_sequence

my_sequence_item

vsqr可以理解为一个sequencer中心化的路由器;

vseq可以理解为所有sequence的调度器;

激励在sequence/sequence_item中完成基础约束;在例化时,完成完整的约束(具体的过程可以在vseq中写好,在my_test中例化时仅需要几个控制变量,利用这几个控制变量完成完整的约束)

例如需要一个长包/短包/错包都可以在vseq中事先约束好,然后通过一个控制变量pkg_type[1:0]来控制;

在vseq中还可以完成各个sequence的调度,例如一个模块前后都会给激励,此时可以通过fork_join等操作,同时驱动两个激励到各自的vsqr.sqr(这里vsqr.sqr会跟各个agent中的sqr连接),由sqr再给到drvier,各自driver会根据各自的时序驱动到DUT;(当然也可以在vseq这边完成时序匹配,这样driver那边不需要做)

field_automation

print()/compare()/pack()/unpack()

config机制

使用专门的类来组织config变量,完成各种参数配置

可以通过设置pkt_num给到sequence和driver保证激励数量一致(已经被raise_objection和drop_objection替代)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值