anchor.diff:  instance Connectable#(SpiTapOut, SpiTapIn);
      module mkConnection#(SpiTapOut out, SpiTapIn in)(Empty);
         rule move_data;
  -	 in.framein(out.frameout());
  -	 in.datain(out.dataout());
  +	 in.frame(out.frame());
  +	 in.data(out.data());
   	 endrule
      endmodule
   endinstance
   
  +(* synthesize *)
   module mkSpiTap#(Bit#(32) id)(SpiTap);
      Reg#(bit) frameinbit <- mkReg(0);
      Reg#(bit) datainbit <- mkReg(0);
  +   Wire#(bit) dataoutwire <- mkDWire(0);
      
      Reg#(Bit#(6)) count <- mkReg(0);
      Reg#(Bit#(32)) shifter <- mkReg(0);
  
positive.code:  */
  
  interface SpiTapIn;
     method Action framein(bit f);
     method Action datain(bit d);
  endinterface
  
  interface SpiTapOut;
     method bit frameout();
     method bit dataout();
  endinterface
  
  interface SpiTap;
  
negative.code:    
     interface SpiTapOut out;
     
        method bit frame();
  	 return frameinbit;
        endmethod
     
        method bit data();
  	 return dataoutwire;
        endmethod
  
     endinterface
  