anchor.diff: +//Top.bsv customized for Ring example
  +
   // bsv libraries
   import Vector::*;
   import FIFO::*;
  
positive.code:    
     interface ReadOnly interrupt = interrupt_mux;
     interface StdAxi3Slave ctrl = ctrl_mux;
     interface LEDS leds = echoRequestInternal.leds;
  
  endmodule : mkPortalTop
  
negative.code: 
  
  // generated by tool
  import RingIndicationProxy::*;
  import RingRequestWrapper::*;
  
  // defined by user
  import Ring::*;
  
  module mkPortalTop(StdPortalTop);
  
     // instantiate user portals
     RingIndicationProxy echoIndicationProxy <- mkRingIndicationProxy(7);
     RingRequestInternal echoRequestInternal <- mkRingRequestInternal(echoIndicationProxy.ifc);
     RingRequestWrapper echoRequestWrapper <- mkRingRequestWrapper(1008,echoRequestInternal.ifc);
     
     
     Vector#(2,StdPortal) portals;
     portals[0] = echoIndicationProxy.portalIfc;
     portals[1] = echoRequestWrapper.portalIfc; 
  
     let interrupt_mux <- mkInterruptMux(portals);
     
     // instantiate system directory
  