gpt4 book ai didi

systemc - SystemC中的增量循环和增量通知是什么?

转载 作者:行者123 更新时间:2023-12-01 00:30:40 26 4
gpt4 key购买 nike

在SystemC中,有一种通知叫做delta notification,可以在下面两个方法中调用。

event.notify(SC_ZERO_TIME);

event.notify(0, SC_NS);

它定义了在增量通知调用中,对事件敏感的进程将在下一个增量周期的评估阶段运行。

那么,什么是所谓的“增量循环”?它是像时钟周期一样定义的还是某个时间段?

最佳答案

增量周期不是时钟周期,没有时间提前。增量循环用于模拟新的更新和事件触发的过程,从当前时间的当前执行阶段开始模拟。

简单的模拟步骤如下,

  1. 评估阶段:执行当前运行队列中的所有调度进程
  2. 更新阶段:更新值并将新触发的可运行进程添加到等待队列或 t + N 队列。
  3. 如果队列(t+0)不为空,则将队列(t+0)移至运行队列并转到步骤1
  4. 如果等待队列(t+0)为空,将时间提前到最近的时间步长,并移动队列 (t+X) 运行队列并转到步骤 1
  5. 如果队列为空,说明没有事件需要模拟,模拟结束。

因此,如果您正在使用增量通知,则事件及其触发的流程会安排在当前执行和更新阶段之后立即运行。因此,当执行阶段的这个时间已经完成,但在当前时间仍有其他计划进程要运行时,它会再次进入评估阶段以运行这些进程,并且由于模拟仍在同一时间戳中,所以时间没有提前.

还有一个术语称为立即通知,即不带任何参数调用notify()。然后进程将立即调度到当前执行队列,而不是等待下一个增量周期。

关于systemc - SystemC中的增量循环和增量通知是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18850253/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com