anchor.diff:      MIMOConfiguration mimoCfg = defaultValue;
       MIMO#(1,4,4,Bit#(32)) completionMimo <- mkMIMO(mimoCfg);
      Reg#(TLPLength)             readBurstCount <- mkReg(0);
  +   Reg#(LUInt#(4))     completionMimoDeqCount <- mkReg(0);
      Reg#(Bool)      readBurstCountGreaterThan4 <- mkReg(False);
      Reg#(Bool)                  readInProgress <- mkReg(False);
      rule completionHeader if (!readInProgress && readDataFifo.notEmpty() && completionMimo.deqReadyN(1));
  
positive.code: 	  return 16'hffff;
      endfunction
  
     rule continuation if (readInProgress);
        let rbc = readBurstCount;
        let sendit = False;
        TLPData#(16) tlp = defaultValue;
        Vector#(4, Bit#(32)) dvec = unpack(0);
        tlp.sof = False;
        //$display("continuation rbc=%d", rbc);
        if (readBurstCountGreaterThan4) begin
  	 if (completionMimo.deqReadyN(4)) begin
  	    rbc = rbc - 4;
  	    dvec = completionMimo.first();
  	    completionMimo.deq(4);
  	    tlp.be = tlpBe(4);
  	    tlp.eof = False;
  	    sendit = True;
  	 end
        end
        else begin
  	 UInt#(3) deqCount = truncate(unpack(rbc));
  	 if (completionMimo.deqReadyN(deqCount)) begin
  	    dvec = completionMimo.first();
  	    completionMimo.deq(deqCount);
  	    tlp.be = tlpBe(rbc);
  	    //$display("tlp.data=%h tlp.be=%h", tlp.data, tlp.be);
  	    tlp.eof = True;
  	    rbc = 0;
  	    sendit = True;
  	 end
        end
  
        readBurstCount <= rbc;
        readBurstCountGreaterThan4 <= (rbc > 4);
        if (rbc == 0) begin
  	 readDataFifo.deq();
  	 readInProgress <= False;
        end
        if (sendit) begin
  	 for (Integer i = 0; i < 4; i = i + 1)
  	    tlp.data[(i+1)*32-1:i*32] = byteSwap(dvec[3-i]);
  	 tlpOutFifo.enq(tlp);
        end
     endrule
  
      interface Client        tlp;
  
negative.code: 
        rbc = rbc - 1;
        readBurstCount <= rbc;
        completionMimoDeqCount <= truncate(min(4,unpack(rbc)));
        readInProgress <= (rbc != 0);
        readBurstCountGreaterThan4 <= (rbc > 4);
        if (rbc == 0) begin
  