Hi Jinzhu, Hmm if I understand your topology correctly, each controller connects to multiple routers: each router corresponding to one bus. The problem is that all these routers connect to the same MessageBuffer in the controller... ? And I guess the problem occurs because the routers on each bus can wake up in any order within a cycle which means the controller's MessageBuffer does not see messages from each bus in a particular order.
If this is the problem, connecting all buses/routers to *one* router which then connects to the controller, and then reading each bus in a particular order should solve the problem. But you say you tried that? You should probably debug why that doesn't work.. If your problem can be solved by a particular wakeup order, you could look into the event queue to see if you can create some order between events with the same time. I don't have any experience with that though... - Tushar On Aug 9, 2012, at 5:37 PM, gem5 gem5 <[email protected]> wrote: > Hi, > > I have created a logic bus to run a broadcast protocol which requires total > ordering in ruby simple network. It works. Now I need to have multiple logic > buses. To achieve total ordering among different buses, each cache/directory > controller needs to listen to all the buses according to a predefined order. > I have tried several methods, such as, set the interface MessageBuffer order > to be true, connect a router between all the input links and a controller, > but none of them works. I wonder what 's the right way to achieve the goal. > Thanks. > > Best, > > Jinzhu > _______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users _______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
