anchor.diff:  import CtrlMux::*;
   import Portal::*;
   import Leds::*;
  +import PortalMemory::*;
  +import MemTypes::*;
  +import MemServer::*;
   
   // generated by tool
   import FMComms1RequestWrapper::*;
   import FMComms1IndicationProxy::*;
  +import DmaConfigWrapper::*;
  +import DmaIndicationProxy::*;
   
   // defined by user
   import XilinxCells::*;
   import XbsvXilinxCells::*;
   
  -typedef enum { FMComms1Request, FMComms1Indication} IfcNames deriving (Eq,Bits);
  +import FMComms1ADC::*;
  +import FMComms1DAC::*;
  +
  +typedef enum { FMComms1Request, FMComms1Indication, DmaIndication, DmaConfig} IfcNames deriving (Eq,Bits);
   
   interface FMComms1Pins;
      interface FMComms1ADCPins adcpins;
  
positive.code:    FMComms1RequestWrapper fmcomms1RequestWrapper <- mkFMComms1RequestWrapper(FMComms1Request);
  
     FMComms1ADC adc <- mkFMComms1ADC(adc_clk_p, adc_clk_n);
     FMComms1DAC dac <- mkFMComms1ADC(dac_clk_p, dac_clk_n);
     
     
     Vector#(2,StdPortal) portal_array;
  
negative.code:    //Reset defaultReset <- exposeCurrentReset();
     B2C1 iclock <- mkB2C1();
     Clock iclock_buf <- mkClockBUFG(clocked_by iclock.c);
  
     FMComms1ADC adc <- mkFMComms1ADC(adc_clk_p, adc_clk_n);
     FMComms1DAC dac <- mkFMComms1DAC(dac_clk_p, dac_clk_n);
     
     FMComms1IndicationProxy fmcomms1IndicationProxy <- mkFMComms1IndicationProxy(FMComms1Indication);
     FMComms1 fmcomms1 <- mkFMComms1(fmcomms1IndicationProxy, dac.dac, adc.adc);
     FMComms1RequestWrapper fmcomms1RequestWrapper <- mkFMComms1RequestWrapper(FMComms1Request);
  
     Vector#(1,  ObjectReadClient#(64))   readClients = cons(fmcomms1.dmaReadClient, nil);
     Vector#(1, ObjectWriteClient#(64))  writeClients = cons(fmcomms1.dmaWriteClient, nil);
     DmaIndicationProxy dmaIndicationProxy <- mkDmaIndicationProxy(DmaIndication);
     MemServer#(addrWidth, 64, 1)   dma <- mkMemServer(dmaIndicationProxy.ifc, readClients, writeClients);
     DmaConfigWrapper dmaRequestWrapper <- mkDmaConfigWrapper(DmaConfig,dma.request);
  
     Vector#(4,StdPortal) portals;
     portals[0] = fmcomms1RequestWrapper.portalIfc;
     portals[1] = fmcomms1IndicationProxy.portalIfc; 
     portals[2] = dmaRequestWrapper.portalIfc;
     portals[3] = dmaIndicationProxy.portalIfc; 
  
     
     
     // instantiate system directory
     StdDirectory dir <- mkStdDirectory(ic.portals);
  