anchor.diff:                      vs_axi_gp[i].awprot(v.prot);
                       vs_axi_gp[i].awqos(v.qos);
                       vs_axi_gp[i].awsize(v.size);
  +
  +	            vtopsw_axi_gp[i].awvalid() <= 1;
                   endmethod
               endinterface
               interface Put resp_write;
  -                method Action put(AxiWrite#(32, id_width) v);
  +                method Action put(AxiWrite#(32, id_width) v) if (vs_axi_gp[i].wready());
                       vs_axi_gp[i].wid(v.wid);
                       vs_axi_gp[i].wstrb(v.wstrb);
                       vs_axi_gp[i].wdata(v.wd.data);
                       vs_axi_gp[i].wlast(v.wd.last);
  +
  +	            vtopsw_axi_gp.wvalid <= 1;
                   endmethod
               endinterface
               interface Get resp_read;
  -                method ActionValue#(AxiRead#(32, id_width)) get();
  +                method ActionValue#(AxiRead#(32, id_width)) get() if (vs_axi_gp[i].rvalid());
                       AxiRead#(32, id_width) v;
                       v.r.id = vs_axi_gp[i].rid();
                       v.r.resp = vs_axi_gp[i].rresp();
                       v.rd.data = vs_axi_gp[i].rdata();
                       v.rd.last = vs_axi_gp[i].rlast();
  +
  +	            vtopsw_axi_gp.rready <= 1;
                       return v;
                   endmethod
               endinterface
               interface Get resp_b;
  -                method ActionValue#(AxiRESP#(id_width)) get();
  +                method ActionValue#(AxiRESP#(id_width)) get() if (vs_axi_gp[i].bvalid());
                       AxiRESP#(id_width) v;
                       v.id = vs_axi_gp[i].bid();
                       v.resp = vs_axi_gp[i].bresp();
  +
  +	            vtopsw_axi_gp.bready <= 1;
                       return v;
                   endmethod
               endinterface
               method aclk = vs_axi_gp[i].aclk;
               method aresetn = vs_axi_gp[i].aresetn;
  -            method arvalid = vs_axi_gp[i].arvalid;
  -            method arready = vs_axi_gp[i].arready;
  -            method awvalid = vs_axi_gp[i].awvalid;
  -            method awready = vs_axi_gp[i].awready;
  -            method rvalid = vs_axi_gp[i].rvalid;
  -            method rready() = vs_axi_gp[i].rready;
  -            method wvalid() = vs_axi_gp[i].wvalid;
  -            method wready = vs_axi_gp[i].wready;
  -            method bvalid = vs_axi_gp[i].bvalid;
  -            method bready = vs_axi_gp[i].bready;
           endinterface;
  +    for (Integer i = 0; i < 2; i = i + 1)
  +       rule axi_master_handshake;
  +	    vs_axi_hp[i].arvalid(vtopsw_axi_hp[i].arvalid);
  +	    vs_axi_hp[i].awvalid(vtopsw_axi_hp[i].awvalid);
  +            vs_axi_hp[i].rready(vtopsw_axi_hp[i].rready);
  +	    vs_axi_hp[i].wvalid(vtopsw_axi_hp[i].wvalid);
  +            vs_axi_hp[i].bready(vtopsw_axi_hp[i].bready);
  +       endrule
       for (Integer i = 0; i < 4; i = i + 1)
           vtops_axi_hp[i] = interface AxiSlaveHighSpeed#(data_width, id_width);
               interface AxiSlaveCommon axi;
               interface Put req_ar;
  -                method Action put(AxiREQ#(id_width) v);
  +                method Action put(AxiREQ#(id_width) v) if (vs_axi_hp[i].arready());
                       vs_axi_hp[i].araddr(v.addr);
                       vs_axi_hp[i].arburst(v.burst);
                       vs_axi_hp[i].arcache(v.cache);
  
positive.code:                      v.prot = vm_axi_gp[i].arprot();
                       v.qos = vm_axi_gp[i].arqos();
                       v.size = vm_axi_gp[i].arsize();
                       return v;
                   endmethod
              endinterface
              interface Get req_aw;
                   method ActionValue#(AxiREQ#(id_width)) get();
                       AxiREQ#(id_width) v;
                       v.addr = vm_axi_gp[i].awaddr();
                       v.burst = vm_axi_gp[i].awburst();
  
negative.code:                     vs_axi_gp[i].arprot(v.prot);
                      vs_axi_gp[i].arqos(v.qos);
                      vs_axi_gp[i].arsize(v.size);
  
  	            vtopsw_axi_gp[i].arvalid <= 1;
                  endmethod
              endinterface
              interface Put req_aw;
                  method Action put(AxiREQ#(id_width) v) if (vs_axi_gp[i].awready());
                      vs_axi_gp[i].awaddr(v.addr);
                      vs_axi_gp[i].awburst(v.burst);
                      vs_axi_gp[i].awcache(v.cache);
  