Hello,

I'm writing a wrapper class for my memory simulator. The class inherits
the PhysicalMemory class and implements the functions from
SimpleTimingPort. When recvTiming() is called, the request is taken and
translated into a transaction for my memory simulator. However, unlike
the example memory simulator, it's not possible to immediately return a
result and a latency since the state of the memory system dictates how
long this will take, as well as subsequent transactions added to the
system. What I want to do is to send back the result when it is finished
and allow multiple outstanding memory transactions. To do this, I need
to have the recvTiming() function be able to send a packet to itself at
some point in the future to see if any transactions are finished.
However, there does not seem to be any way to send a packet to myself
using sendTiming(). Whenever I set the destination to Packet::Broadcast,
the packet is not routed back to me. Even when I resend an identical
Packet, which was delivered to me once, I do not receive it back. Is
there some way to make this work or, alternatively, some other way to
wake the simulator at specific times? Thanks.

Joe
_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

Reply via email to