anchor.diff:     let messageWordsProbe <- mkProbe();
      let messageDataProbe <- mkProbe();
   
  -   for (Integer i = valueOf(numIndications) - 1; i >= 0; i = i - 1) begin
  +   for (Integer i = valueOf(pipeCount) - 1; i >= 0; i = i - 1) begin
         if (readyBits[i]) begin
            interruptStatus = True;
            readyChannel = fromInteger(i);
  
positive.code:    interface inputPipe = toPipeIn(inputFifo);
  endmodule
  
  module mkSerialPortalMux#(Vector#(numIndications, PipeOut#(Bit#(32))) pipes)(PipeOut#(Bit#(32)));
     let clock <- exposeCurrentClock;
     let reset <- exposeCurrentReset;
     Reg#(Bit#(16)) messageWordsReg <- mkReg(0);
  
negative.code:    endrule
  
     rule sendHeader if (state == MessageHeader && interruptStatus);
        Bit#(32) hdr <- toGet(inputFifos[readyChannel]).get();
        Bit#(16) totalWords = hdr[15:0];
        let messageWords = totalWords-1;
        messageWordsProbe <= messageWords;
  