anchor.diff:     let ctrl_mux <- mkSlaveMux(portals);
      
   
  -
      
      interface interrupt = getInterruptVector(portals);
      interface slave = ctrl_mux;
      interface masters = dma.masters;
      interface leds = default_leds;
  +
      interface FMComms1Pins pins;
  +`ifdef USE_FMC_I2C1
  +   interface I2C_Pins i2c1;
  +      interface Inout scl = tscl1.io;
  +      interface Inout sda = tsda1.io;
  +   endinterface
  +`endif
         interface FMComms1ADCPins adcpins = adc.pins;
         interface FMComms1ADCPins dacpins = dac.pins;
         method Bit#(1) ad9548_ref_p();
  
positive.code:       ref_clk_wire <= ref_clk_as_bit.o();
     endrule
  
     DiffOut ref_clk <- mkxOBUFDS(ref_clk_wire);
  
     FMComms1ADC adc <- mkFMComms1ADC();
  
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);
  