anchor.diff:           writeDataFifo.enq(MemData {data: pack(v), tag:0, last:True});
         endmethod
   
  +`ifdef MTABLE
         method Action matchTableRequest(Bit#(32) key, Bit#(32) value, Bit#(32) op);
           if (op == 0)
               matchTable.request.put(makeRequest(key, value, GET));
  
positive.code:         else if (op == 3)
              matchTable.request.put(makeRequest(key, value, REMOVE));
        endmethod
  
        // Generate fixed standard set of API function
        // In software, we should hide the details of match table different behind api
  
negative.code: 
  interface P4TopIndication;
     method Action sonic_read_version_resp(Bit#(32) version);
  `ifdef MTABLE
     method Action matchTableResponse(Bit#(32) key, Bit#(32) value);
  `endif
  endinterface
  
  interface P4TopRequest;
  