anchor.diff:  import ByteCompactor :: *;
   
   import AxiMasterSlave :: *;
  +import AxiClientServer:: *;
   
   typedef struct {
       Bit#(32) timestamp;
  
positive.code: 	    tlp.be = 16'hff00;
  	 else if (writeDwCount == 1)
  	    tlp.be = 16'hf000;
  	 $display("tlp.be=%h", tlp.be);
  	 sendit = True;
        end
        else begin
  	 // wait for more data in writeDataMimo
  	 $display("waiting for more data dwCount=%d count=%d", writeDwCount, writeDataMimo.count());
        end
        if (sendit) begin
  	 for (Integer i = 0; i < 4; i = i + 1)
  
negative.code: 		   tlp.be = 16'hfff0;
  	       end
  	       tlpOutFifo.enq(tlp);
             endmethod: address
  	   method ActionValue#(Axi3ReadResponse#(buswidth,12)) data() if (completionMimo.deqReadyN(fromInteger(valueOf(busWidthWords))));
  	      let data_v = completionMimo.first;
  	      completionMimo.deq(fromInteger(valueOf(busWidthWords)));
  	      completionTagMimo.deq(fromInteger(valueOf(busWidthWords)));
                Bit#(buswidth) v = 0;
  	      for (Integer i = 0; i < valueOf(busWidthWords); i = i+1)
  		 v[(i+1)*32-1:i*32] = byteSwap(data_v[i]);
  	      return Axi3ReadResponse { data: v, last: 0, id: extend(completionTagMimo.first[0]), code: 0 };
             endmethod: data
  	endinterface: read
      endinterface: slave3
      interface Axi4Server slave4;
  	interface Axi4WriteServer write;
  	   method Action address(Axi4WriteRequest#(40,12) req)
  	      if (writeBurstCount == 0);
  
  	      let burstLen = req.burstLen;
  	      let addr = req.address;
  	      let awid = req.id;
  
  	      TLPLength tlplen = fromInteger(valueOf(busWidthWords))*(extend(burstLen) + 1);
  	      TLPData#(16) tlp = defaultValue;
  