Hi, Is there a way to obtain the delta-cycle semantics of SystemC using the existing event management features in gem5?
In other words, I would like to be able to delta-schedule an event at the current tick doing something like eventManager.schedule(event, curTick(), delta=true) so that it triggers after all events already scheduled at current tick *and* after all events that are going to be immeditelly-scheduled at the current tick calling eventManager.schedule(event, curTick(), delta=false). Looking at the current event scheduling logic, it looks like the event queue actually is a LIFO, which is the complete opposite to the delta-cycle semantics. A FIFO would be somewhat closer but still different from a true delta-cycle since it is still possible to end up with hard-to-anticipate events interleaving in both cases. A bad work around would be to schedule at curTick()+1, which introduces a negligible imprecision. However, it gets worse if the event handler then calls clockEdge() as it will return the next clock edge, thus amplifying significantly the inaccuracy. Thanks, Gabriel _______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s