TPacket TProcessingElement::trafficTranspose1() { TPacket p; p.src_id = local_id; TCoord src,dst; // Transpose 1 destination distribution src.x = id2Coord(p.src_id).x; src.y = id2Coord(p.src_id).y; dst.x = TGlobalParams::mesh_dim_x-1-src.y; dst.y = TGlobalParams::mesh_dim_y-1-src.x; fixRanges(src, dst); p.dst_id = coord2Id(dst); p.timestamp = sc_time_stamp().to_double()/1000; p.size = p.flit_left = getRandomSize(); return p; }
Packet ProcessingElement::trafficTranspose2() { Packet p; p.src_id = local_id; Coord src, dst; // Transpose 2 destination distribution src.x = id2Coord(p.src_id).x; src.y = id2Coord(p.src_id).y; dst.x = src.y; dst.y = src.x; fixRanges(src, dst); p.dst_id = coord2Id(dst); p.timestamp = sc_time_stamp().to_double() / GlobalParams::clock_period_ps; p.size = p.flit_left = getRandomSize(); return p; }
NoximPacket NoximProcessingElement::trafficTranspose2() { NoximPacket p; p.src_id = local_id; NoximCoord src, dst; // Transpose 2 destination distribution src = id2Coord(p.src_id); dst.x = src.y; dst.y = src.x; dst.z = src.z; fixRanges(src, dst); p.dst_id = coord2Id(dst); p.timestamp = sc_time_stamp().to_double() / 1000; p.size = p.flit_left = getRandomSize(); // if (p.src_id == p.dst_id) // cout << "Traffic generator has generated a packet is sent from a node to itself !!! \n"; return p; }