微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 求助:如何将uvm_reg的sequence设置为default sequence呀?

求助:如何将uvm_reg的sequence设置为default sequence呀?

时间:10-02 整理:3721RD 点击:
各位:
正在学习UVM_RGM的用法。写了一个sequence来对uvm_mem进行操作,但是就是无法跑起来,最后没办法,将sequence中的内容直接写在test中,终于能正确跑出来了。说明是我在指定default sequence的时候出错了。该怎么在test中指定呢,另外,在我写的这个sequence中,因为要对regmodel进行操作,所以必须要例化一个regmodel,我好像对如何将seq.regmodel与tb_env中已经create的regmodel关联起来有点晕忽忽的(用$cast(regmodel,this.regmodel)不正确)。恩,好像说的比较乱,简而言之,就是不知道该sequence应该处于整个环境的哪个位置,也不知道如何启动它。有没有人知道的,可以给点指导呀?谢谢了!

对于regmodel的传递问题,我也确实没有在UVM的文档中找到相应说明。我尝试通过sequencer传递,是可以的,但感觉不是最佳方式。也希望能看到更多相关介绍

reg_model 可以通过uvm_config_db传递

在test的run_phase里,指定调用了什么sequence,其sequencer是谁。
因为sequence不是component,它的结构性路径可以看作是和其对应的sequencer绑定的,不知道我说清楚没。

  1. task run_phase(uvm_phase phase);
  2. uart_incr_payload_seq seq = uart_incr_payload_seq::type_id::create("seq");
  3. phase.raise_objection(this, "Starting uart_sequence_test");
  4. seq.start(demo_tb0.uart0.Tx.sequencer);
  5. phase.drop_objection(this, "Finishing uart_sequence_test");endtask

复制代码



建议看一下,mentor uvm cookbook,那里讲的比较详细。register layer部分确实比较乱一点,这两天我看了2遍了。

interested by uvm!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top