@@ -114,7 +114,8 @@ func (c *Core) doSend() bool {
114114 Trace ("DataFlow" ,
115115 "Behavior" , "Send" ,
116116 slog .Float64 ("Time" , float64 (c .Engine .CurrentTime ()* 1e9 )),
117- "Data" , msg .Data ,
117+ "Data" , msg .Data .First (),
118+ "Pred" , c .state .SendBufHead [color ][i ].Pred ,
118119 "Color" , color ,
119120 "Src" , msg .Src ,
120121 "Dst" , msg .Dst ,
@@ -130,7 +131,7 @@ func (c *Core) doSend() bool {
130131 if c .state .IsToWriteMemory {
131132 msg := mem.WriteReqBuilder {}.
132133 WithAddress (uint64 (c .state .AddrBuf )).
133- WithData (makeBytesFromUint32 (c .state .SendBufHead [c .emu .getColorIndex ("R" )][cgra .Router ])).
134+ WithData (makeBytesFromUint32 (c .state .SendBufHead [c .emu .getColorIndex ("R" )][cgra .Router ]. First () )).
134135 WithSrc (c .ports [cgra .Side (cgra .Router )].local .AsRemote ()).
135136 WithDst (c .ports [cgra .Side (cgra .Router )].remote ).
136137 Build ()
@@ -143,7 +144,8 @@ func (c *Core) doSend() bool {
143144 Trace ("Memory" ,
144145 "Behavior" , "Send" ,
145146 slog .Float64 ("Time" , float64 (c .Engine .CurrentTime ()* 1e9 )),
146- "Data" , c .state .SendBufHead [c .emu .getColorIndex ("R" )][cgra .Router ],
147+ "Data" , c .state .SendBufHead [c .emu .getColorIndex ("R" )][cgra .Router ].First (),
148+ "Pred" , c .state .SendBufHead [c .emu .getColorIndex ("R" )][cgra .Router ].Pred ,
147149 "Color" , "R" ,
148150 "Src" , msg .Src ,
149151 "Dst" , msg .Dst ,
@@ -212,7 +214,8 @@ func (c *Core) doRecv() bool {
212214 Trace ("DataFlow" ,
213215 "Behavior" , "Recv" ,
214216 "Time" , float64 (c .Engine .CurrentTime ()* 1e9 ),
215- "Data" , msg .Data ,
217+ "Data" , msg .Data .First (),
218+ "Pred" , c .state .RecvBufHead [color ][i ].Pred ,
216219 "Src" , msg .Src ,
217220 "Dst" , msg .Dst ,
218221 "Color" , color ,
@@ -234,28 +237,30 @@ func (c *Core) doRecv() bool {
234237 // if msg is DataReadyRsp, then the data is ready
235238 if msg , ok := item .(* mem.DataReadyRsp ); ok {
236239 c .state .RecvBufHeadReady [c .emu .getColorIndex ("R" )][cgra .Router ] = true
237- c .state .RecvBufHead [c .emu .getColorIndex ("R" )][cgra .Router ] = convert4BytesToUint32 (msg .Data )
240+ c .state .RecvBufHead [c .emu .getColorIndex ("R" )][cgra .Router ] = cgra . NewScalar ( convert4BytesToUint32 (msg .Data ) )
238241
239242 Trace ("Memory" ,
240243 "Behavior" , "Recv" ,
241244 "Time" , float64 (c .Engine .CurrentTime ()* 1e9 ),
242245 "Data" , msg .Data ,
243246 "Src" , msg .Src ,
244247 "Dst" , msg .Dst ,
248+ "Pred" , c .state .RecvBufHead [c .emu .getColorIndex ("R" )][cgra .Router ].Pred ,
245249 "Color" , "R" ,
246250 )
247251
248252 c .ports [cgra .Side (cgra .Router )].local .RetrieveIncoming ()
249253 madeProgress = true
250254 } else if msg , ok := item .(* mem.WriteDoneRsp ); ok {
251255 c .state .RecvBufHeadReady [c .emu .getColorIndex ("R" )][cgra .Router ] = true
252- c .state .RecvBufHead [c .emu .getColorIndex ("R" )][cgra .Router ] = 0
256+ c .state .RecvBufHead [c .emu .getColorIndex ("R" )][cgra .Router ] = cgra . NewScalar ( 0 )
253257
254258 Trace ("Memory" ,
255259 "Behavior" , "Recv" ,
256260 "Time" , float64 (c .Engine .CurrentTime ()* 1e9 ),
257261 "Src" , msg .Src ,
258262 "Dst" , msg .Dst ,
263+ "Pred" , c .state .RecvBufHead [c .emu .getColorIndex ("R" )][cgra .Router ].Pred ,
259264 "Color" , "R" ,
260265 )
261266
0 commit comments