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