anchor.diff:  
      MatchTable#(id, depth, keySz, actionSz) ret_ifc;
   `ifdef SIMULATION
  -`ifndef SVDPI
      ret_ifc <- mkMatchTableBluesim(name);
  -`else  // SVDPI
  -   // ref_ifc <- mkMatchTableAxonnerve();
  -`endif // !SVDPI
   `else  // !SIMULATION
      ret_ifc <- mkMatchTableSynth();
   `endif // SIMULATION
      return ret_ifc;
   endmodule
   
  +`ifndef SIMULATION
   module mkMatchTableSynth(MatchTable#(id, depth, keySz, actionSz))
      provisos (NumAlias#(depthSz, TLog#(depth)),
                Mul#(a__, 256, b__),
  
positive.code:       endmethod
     endinterface
  endmodule
  
  module mkMatchTableBluesim#(String name)(MatchTable#(id, depth, keySz, actionSz))
     provisos (MatchTable::MatchTableSim#(id, keySz, actionSz),
               Log#(depth, depthSz));
  
negative.code:       endmethod
     endinterface
  endmodule
  `endif
  