暂停/重新启动序列

皮特

我的设计需要暂停数据流量才能进入低功耗模式。有没有办法暂停流量生成序列或驱动程序以允许这种情况发生?然后在稍后恢复序列?

我目前在我设置的序列中有一个标志,告诉它打破永远循环。但是,这并不理想,因为序列完成后我必须重新启动它。

马修·泰勒

您可以从虚拟序列中锁定(或抓取音序器),例如:

class virtual_seq extends uvm_sequence;

  `uvm_object_utils(virtual_zero_seq)
  `uvm_declare_p_sequencer(virtual_sequencer)

  function new(string name = "");
    super.new(name);
  endfunction: new

  task body;
    // start the normal traffic sequence
    normal_traffic_seq seq;
    seq = serial_fixed_seq::type_id::create("seq");
    if (! seq.randomize() ...
    seq.set_starting_phase(get_starting_phase());
    seq.start(p_sequencer.seqr, this);

    // when you're ready, lock the sequencer
    #12345;
    this.lock(p_sequencer.seqr);   // or grab

    // wait till you're ready to resume
    #12345; 
    // you could start another sequence on the same sequencer if you need to
    // if you do, you must input the reference to this virtual sequence in 
    // the sequence's start method, otherwise that sequence will be locked too
    // eg
    // power_down_seq.start(p_sequencer.seqr, this);
    //                                        ^^^^

    // when you're ready, start normal traffic again
    this.unlock(p_sequencer.seqr);   // or ungrab
  endtask : body

endclass : virtual_zero_seq

抓取是更高优先级的锁。如果多个虚拟序列试图锁定一个音序器,那么它们将按照它们请求的顺序获得访问权限。如果多个虚拟序列试图抓取一个音序器,如果它已经被锁定(或抓取),那么这些虚拟序列将按照后到先服务的原则获得对它的访问。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

暂停并重新启动终端输出

重新启动前安全暂停

暂停时重新启动WinRT应用

从暂停恢复后重新启动urfkill

重新启动前使Debian Pause暂停

重新启动滑序序列

jQuery:单击按钮暂停声音,而不是重新启动

暂停并重新启动所有Python进程

Windows:如何暂停程序执行并稍后重新启动?

服务结构停用(暂停)还是停用(重新启动)?

如何暂停和重新启动jQuery datatables插件

如何在Java中暂停/重新启动SingleThreadExecutor(ExecutorService)?

暂停后Iphone OpenAL循环声音未重新启动

countTo.js在短暂停顿后重新启动

如何暂停Docker容器然后重新启动主机系统并取消暂停容器?

如何重新启动所有Docker容器并在每次重新启动之间有一个暂停?

重新启动C ++中的随机数序列

如何防止SKAction序列在解码后重新启动?

重新启动重复组和组内序列的索引

重新启动或关闭?

重新启动的总和

重新启动AVAssetWriter

暂时暂停会话的 linux 更新 apt 直到重新启动

如何在jQuery Transit中暂停和重新启动css3过渡

重新启动华硕UX303UA,而不是从暂停状态恢复(ubuntu 15.10)

设计:任务B暂时暂停任务A进行工作,然后重新启动任务A

全新安装的Windows将不会重新启动,而是会冻结。暂停将破坏安装

Android在广播接收器中暂停并重新启动警报管理器

如何在暂停游戏后从中断的地方重新启动游戏计时器?