forever begin
@(posedge (intf.ready[port])); while (intf.ready[port]) begin
intf.read <= 4'b0001 << port;
@(negedge intf.clock);
received_bytes.push_back(intf.data_out[port]); end
intf.read <= 4'h0;
pkt.unpack(received_bytes);
received_bytes = {};
rcv_pkt = new pkt;
put_sb.put(rcv_pkt); end