anchor.diff:     endinterface
      method Bit#(1) data_out();
         // the output lines are all OR'ed together when going back to the BSCAN core
  -      return shiftReg[0];
  +      if (selectedj.read())
  +          return shiftReg[0];
  +      else
  +          return 0;
      endmethod
   endmodule
  
positive.code: 
     interface tck = mytck;
     interface rst = myrst;
     method capture = bscan.capture;
     method sel = bscan.sel;
     method shift = bscan.shift;
     method tdi = bscan.tdi;
     method tdo = bscan.tdo;
     method update = bscan.update;
     method first();
        return selected.read() && !selectdelay;
     endmethod
     method selsync();
        return pack(selected.read());
     endmethod
  endmodule
  
  
negative.code:    interface Clock    tck;
     method Bit#(1)     reset();
     method Bit#(1)     capture();
     method Bit#(1)     shift();
     method Bit#(1)     tdi();
     method Action      tdo(Bit#(1) v);
     method Bit#(1)     update();
     method Bool        first();
  endinterface
  module mkBscanTop#(Integer bus)(BscanTop);
     Clock defaultClock <- exposeCurrentClock();
  