anchor.diff:  
   // generated by tool
   import MemreadRequestWrapper::*;
  -import DmaConfigWrapper::*;
  +import DmaDebugRequestWrapper::*;
  +import SGListConfigRequestWrapper::*;
   import MemreadIndicationProxy::*;
  -import DmaIndicationProxy::*;
  +import DmaDebugIndicationProxy::*;
  +import SGListConfigIndicationProxy::*;
   
   // defined by user
   import Memread::*;
   
  -typedef enum {MemreadIndication, MemreadRequest, DmaIndication, DmaConfig} IfcNames deriving (Eq,Bits);
  +typedef enum {MemreadIndication, MemreadRequest, HostmemDmaDebugIndication, HostmemDmaDebugRequest, HostmemSGListConfigRequest, HostmemSGListConfigIndication} IfcNames deriving (Eq,Bits);
   
   typedef 4 NumMasters;
   module mkPortalTop(PortalTop#(PhysAddrWidth,64,Empty,NumMasters));
  
positive.code: 
  // portz libraries
  import MemServer::*;
  import Directory::*;
  import CtrlMux::*;
  import Portal::*;
  
negative.code:    Memread#(NumMasters) memread <- mkMemread(memreadIndicationProxy.ifc);
     MemreadRequestWrapper memreadRequestWrapper <- mkMemreadRequestWrapper(MemreadRequest,memread.request);
  
     SGListConfigIndicationProxy hostmemSGListConfigIndicationProxy <- mkSGListConfigIndicationProxy(HostmemSGListConfigIndication);
     SGListMMU#(PhysAddrWidth) hostmemSGList <- mkSGListMMU(0, True, hostmemSGListConfigIndicationProxy.ifc);
     SGListConfigRequestWrapper hostmemSGListConfigRequestWrapper <- mkSGListConfigRequestWrapper(HostmemSGListConfigRequest, hostmemSGList.request);
  
     DmaDebugIndicationProxy hostmemDmaDebugIndicationProxy <- mkDmaDebugIndicationProxy(HostmemDmaDebugIndication);
     MemServer#(PhysAddrWidth,64,NumMasters) dma <- mkMemServerR(hostmemDmaDebugIndicationProxy.ifc, memread.dmaClients, hostmemSGList);
     DmaDebugRequestWrapper hostmemDmaDebugRequestWrapper <- mkDmaDebugRequestWrapper(HostmemDmaDebugRequest, dma.request);
  
     Vector#(6,StdPortal) portals;
     portals[0] = memreadRequestWrapper.portalIfc;
     portals[1] = memreadIndicationProxy.portalIfc; 
     portals[2] = hostmemDmaDebugRequestWrapper.portalIfc;
     portals[3] = hostmemDmaDebugIndicationProxy.portalIfc; 
     portals[4] = hostmemSGListConfigRequestWrapper.portalIfc;
     portals[5] = hostmemSGListConfigIndicationProxy.portalIfc;
  
     
     StdDirectory dir <- mkStdDirectory(portals);
     let ctrl_mux <- mkSlaveMux(dir,portals);
  