UVM跨domain同步

如果不额外添加domain的话,UVM默认就只有common_domain,phase的结构如下:

same domain

different domain


Q:如果我想对两个domain不同的phase之间有同步的需求要怎么实现呢?比如说我们需要common_domain的reset_phase和new_domain的configure_phase进行同步。比如说两个domain的reset_phase同步。
sync函数便可以解决这个问题。


小结:

  • domain1.sync(domain2):Sync all the phases of domain1 with the same phases of domain2
  • domain1.unsync(domain2); // Unsync all the phases of the two domains
  • domain1.sync(domain2, uvm_reset_phase::get(), uvm_configure_phase::get());
  • domain1.sync(domain2, uvm_main_phase::get()); // Sync just the main phases
  • uvm_domain::get_uvm_domain return with default domain
posted on 2022-02-08 16:06  猪肉白菜_125  阅读(200)  评论(0编辑  收藏  举报