Hello All,

I have each router connect directly to each other and want to implement the Multiple Write Single Read in garnet. Which means if there is a router write to its destination, it will block other routers write to the same destination. But I don't know how to deal with the blocked flits which will goes to the same destination. I tried to send the blocked flit back to l1-cache in the same router, but the error happens
" panic: Runtime Error at MESI_CMP_directory-L1cache.sm:393: assert failure.
 @ cycle 13000
[wakeup:build/ALPHA/mem/protocol/L1Cache_Wakeup.cc, line 396]"

The corresponding code is
389 // Request InterChip network - request from this L1 cache to the shared L2 390 in_port(requestIntraChipL1Network_in, RequestMsg, requestToL1Cache, rank = 1) {
391    if(requestIntraChipL1Network_in.isReady()) {
392      peek(requestIntraChipL1Network_in, RequestMsg, block_on="Addr") {
393        assert(in_msg.Destination.isElement(machineID));

I didn't familiar with protocol codes, so I don't know what the error means.
And since each router is connected directly with each other, the routing table has only one possible output, which means I cannot send the blocked flits to any other NIs or writable routers.

Could someone could help explain how to deal with this situation?

Best,
Yuhang


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

Reply via email to