anchor.diff:  import MemServer::*;
   import MMU::*;
   import PS7LIB::*;
  +import PPS7LIB::*;
   
   // generated by tool
   import FMComms1Request::*;
  
positive.code: import FMComms1::*;
  import extraXilinxCells::*;
  
  typedef enum { BlueScopeEventPIORequest, BlueScopeEventPIOIndication, FMComms1Request, FMComms1Indication, HostMemServerIndication, HostMemServerRequest, HostMMURequest, HostMMUIndication} IfcNames deriving (Eq,Bits);
  
  interface FMComms1Pins;
     interface FMComms1ADCPins adcpins;
     interface FMComms1DACPins dacpins;
     method Bit#(1) ad9548_ref_p();
     method Bit#(1) ad9548_ref_n();
     
  
negative.code:    BlueScopeEventPIOIndicationProxy blueScopeEventPIOIndicationProxy <- mkBlueScopeEventPIOIndicationProxy(BlueScopeEventPIOIndication);
     BlueScopeEventPIOControl#(32) bs <- mkBlueScopeEventPIO(`BlueScopeEventPIOSampleLength, blueScopeEventPIOIndicationProxy.ifc);
     BlueScopeEventPIORequestWrapper blueScopeEventPIORequestWrapper <- mkBlueScopeEventPIORequestWrapper(BlueScopeEventPIORequest,bs.requestIfc);
  
  `ifdef USE_FMC_I2C1
     Clock mainclock = host.ps7.fclkclk[0];
     Reset mainreset = host.ps7.fclkreset[0];
     let tscl1 <- mkIOBUF(~host.ps7.i2c[1].scltn, host.ps7.i2c[1].sclo, clocked_by mainclock, reset_by mainreset);
     let tsda1 <- mkIOBUF(~host.ps7.i2c[1].sdatn, host.ps7.i2c[1].sdao, clocked_by mainclock, reset_by mainreset);
     rule sdai1;
        host.ps7.i2c[1].sdai(tsda1.o);
        host.ps7.i2c[1].scli(tscl1.o);
     endrule
     rule watchi2c;
        let a = host.ps7.i2c[1].sclo();
        let b = host.ps7.i2c[1].scltn();
        let c = host.ps7.i2c[1].sdao();
        let d = host.ps7.i2c[1].sdatn();
        bs.bse.dataIn({a, b, tscl1.o, c, d, tsda1.o, 0});
     endrule
  `endif
  
     FMComms1IndicationProxy fmcomms1IndicationProxy <- mkFMComms1IndicationProxy(FMComms1Indication);
     FMComms1 fmcomms1 <- mkFMComms1(fmcomms1IndicationProxy.ifc, dac.dac, adc.adc);
  