anchor.diff:  	 if (completionMimo.enqReady()
   	    && completionTagMimo.enqReady())
   	    begin
  +	       UInt#(3) count = 4;
  +	       if (tlp.eof) begin
  +		  count = truncate(unpack(wordCountReg));
  +	       end
  +	       wordCount = wordCountReg - extend(pack(count));
   	       completionMimo.enq(count, vec);
   	       Vector#(4, TLPTag) tagvec = replicate(lastTag);
   	       completionTagMimo.enq(count, tagvec);
  
positive.code: 
     Reg#(TLPTag) lastTag <- mkReg(0);
     FIFOF#(TLPData#(16)) tlpDecodeFifo <- mkFIFOF();
     FIFOF#(LUInt#(4))    tlpWordCountFifo <- mkFIFOF();
     rule tlpInRule;
        let tlp <- toGet(tlpInFifo).get();
        tlpWordCountFifo.enq(tlpWordCount(tlp));
        tlpDecodeFifo.enq(tlp);
     endrule
  
     rule handleTlpRule;
        let tlp = tlpDecodeFifo.first;
        let count = tlpWordCountFifo.first;
        Bool handled = False;
        TLPMemoryIO3DWHeader h = unpack(tlp.data);
        hitReg <= tlp.hit;
  
negative.code: 	       && completionMimo.enqReady()
  	       && completionTagMimo.enqReady()) begin
  	    vec[0] = hdr_3dw.data;
              wordCount = hdr_3dw.length - 1;
  	    completionMimo.enq(1, vec);
              TLPTag tag = hdr_completion.tag;
  	    lastTag <= tag;
  	    completionTagMimo.enq(1, replicate(tag));
  	    handled = True;
        end
        wordCountReg <= wordCount;
        //$display("tlpIn handled=%d tlp=%h\n", handled, tlp);
        if (handled) begin
  	 tlpDecodeFifo.deq();
        end
     endrule
  
  