anchor.diff:        end
      endrule
   
  -   interface MemoryClient client = toGPClient (f_req_out, f_rsp);
  -   interface MemoryServer server = toGPServer (f_req_in,  f_rsp);
  +   interface Client client = toGPClient (f_req_out, f_rsp);
  +   interface Server server = toGPServer (f_req_in,  f_rsp);
   
      interface Get trace_data_out = toGet (f_trace_data);
   endmodule: mkDM_FPR_Tap
  
positive.code:       end
     endrule
  
     interface MemoryClient client = toGPClient (f_req_out, f_rsp);
     interface MemoryServer server = toGPServer (f_req_in,  f_rsp);
  
     interface Get trace_data_out = toGet (f_trace_data);
  endmodule: mkDM_GPR_Tap
  
negative.code: `ifdef ISA_F_OR_D
  
  interface DM_FPR_Tap_IFC;
     interface Client #(DM_CPU_Req #(5,  XLEN), DM_CPU_Rsp #(XLEN)) client;
     interface Server #(DM_CPU_Req #(5,  XLEN), DM_CPU_Rsp #(XLEN)) server;
     interface Get #(Trace_Data) trace_data_out;
  endinterface
  
  (* synthesize *)
  module mkDM_FPR_Tap (DM_FPR_Tap_IFC);
     // req from DM
     FIFOF #(DM_CPU_Req #(5,  XLEN)) f_req_in     <- mkFIFOF;
     // req to CPU
     FIFOF #(DM_CPU_Req #(5,  XLEN)) f_req_out    <- mkFIFOF;
     // resp CPU->DM
     FIFOF #(DM_CPU_Rsp #(XLEN))     f_rsp        <- mkFIFOF;
     // Tap to TV
     FIFOF #(Trace_Data)             f_trace_data <- mkFIFOF;
  
     rule request;
        let req <- pop (f_req_in);
  