anchor.diff:  
      MatchTable#(id, depth, keySz, actionSz) ret_ifc;
   `ifdef SIMULATION
  -   ret_ifc <- mkMatchTableBluesim();
  +   ret_ifc <- mkMatchTableBluesim(name);
   `else
      ret_ifc <- mkMatchTableSynth();
   `endif
  
positive.code:    endinterface
  endmodule
  
  module mkMatchTableBluesim(MatchTable#(id, depth, keySz, actionSz))
     provisos (MatchTable::MatchTableSim#(id, keySz, actionSz),
               Log#(depth, depthSz));
     let verbose = True;
  
     FIFO#(Tuple2#(Bit#(keySz), Bit#(actionSz))) writeReqFifo <- mkFIFO;
     FIFO#(Bit#(keySz)) readReqFifo <- mkFIFO;
     FIFO#(Maybe#(Bit#(actionSz))) readDataFifo <- mkFIFO;
  
     Reg#(Bool)      isInitialized   <- mkReg(False);
  
     rule do_read (isInitialized);
        let v <- toGet(readReqFifo).get;
  
negative.code: import BRAM::*;
  import FShow::*;
  import Pipe::*;
  import StringUtils::*;
  import List::*;
  import Bcam::*;
  import BcamTypes::*;
  
  