anchor.diff:  
   instance Connectable#(AxiStreamMaster#(dataWidth), AxiStreamSlave#(dataWidth));
      module mkConnection#(AxiStreamMaster#(dataWidth) from, AxiStreamSlave#(dataWidth) to)(Empty);
  +`ifdef GET_PUT_WITH_CLOCKS_USE_XILINX_FIFO
  +      cnxProbe <- mkProbe;
  +      rule rl_probe if (from.tvalid() == 1 and to.tready() == 1);;
  +	 cnxProbe <= from.tdata();
  +      endrule
  +`endif
         rule rl_axi_stream;
   	 to.tdata(from.tdata());
   	 to.tkeep(from.tkeep());
  
positive.code: import FIFOF::*;
  import GetPut::*;
  import GetPutM::*;
  
  (* always_ready, always_enabled *)
  interface AxiStreamMaster#(numeric type dsz);
  
negative.code:    provisos (Bits#(dtype, dataWidth));
     module mkConnection#(Get#(dtype) from, AxiStreamSlave#(dataWidth) to)(Empty);
        FIFOF#(Bit#(dataWidth)) asgetfifo <- mkFIFOF();
  `ifdef GET_PUT_WITH_CLOCKS_USE_XILINX_FIFO
        let getProbe <- mkProbe();
        let putProbe <- mkProbe();
  `endif
        rule rl_get;
  	 let v <- from.get();
  `ifdef GET_PUT_WITH_CLOCKS_USE_XILINX_FIFO
  	 getProbe <= v;
  `endif
  	 asgetfifo.enq(pack(v));
        endrule
        rule rl_axi_stream;
  