anchor.diff:  endfunction
   
   
  -module mkNocArbitrate#(Vector#(n, PipeOut#(a)) in, PipeIn#(a) out)(Empty);
  +module mkNocArbitrate#(int id, String name, Vector#(n, PipeOut#(a)) in, PipeIn#(a) out)(Empty);
      Arbiter_IFC#(n) arb <- mkArbiter(False);   
      for (Integer i = 0; i < valueOf(n); i = i + 1)
         rule send_request (out.notFull && in[i].notEmpty);
  
positive.code:    vToWest[0] = toPipeOut(hw);
     vToWest[1] = toPipeOut(ew);
     
     mkNocArbitrate(vToHost, host.in);
     mkNocArbitrate(vToEast, east.in);
     mkNocArbitrate(vToWest, west.in);
     
     // sort host messages to proper queue
     
  
negative.code:       
    // interface wiring
  
     interface PipeIn in = toPipeIn(fifofromhost);
     interface PipeOut out = toPipeOut(fifotohost);
  
  endmodule
  
  