anchor.diff:     endrule
      
      Vector#(6,StdPortal) portal_array;
  -   portal_array[0] = serdesRequestWrapper.portalIfc; 
  -   portal_array[1] = serdesIndicationProxy.portalIfc;
  -   portal_array[2] = sensorRequestWrapper.portalIfc; 
  -   portal_array[3] = sensorIndicationProxy.portalIfc; 
  -   portal_array[4] = hdmiRequestWrapper.portalIfc; 
  -   portal_array[5] = hdmiIndicationProxy.portalIfc; 
  +   portal_array[0] = fmcomms1RequestWrapper.portalIfc; 
  +   portal_array[1] = fmcomms1IndicationProxy.portalIfc;
      interface Vector portals = portal_array;
   
  -   interface ImageCapturePins pins;
  -       interface ImageonSensorPins pins = fromSensor.pins;
  +   interface FMComms1Pins pins;
  +       interface FMComms1ADCPins adcpins = fromSensor.pins;
          interface ImageonSerdesPins serpins = serdes.pins;
          interface HDMI hdmi = hdmisignals;
      endinterface
   endmodule
   
  -module mkPortalTop(PortalTop#(addrWidth,64,ImageCapturePins,0));
  +module mkPortalTop(PortalTop#(addrWidth,64,FMComms1Pins,0));
      //Clock defaultClock <- exposeCurrentClock();
      //Reset defaultReset <- exposeCurrentReset();
      B2C1 iclock <- mkB2C1();
      Clock iclock_buf <- mkClockBUFG(clocked_by iclock.c);
  -   ImageCapture ic <- mkImageCapture(iclock_buf);
  +   FMComms1 ic <- mkFMComms1(iclock_buf);
      
      // instantiate system directory
      StdDirectory dir <- mkStdDirectory(ic.portals);
  
positive.code:    interface slave = ctrl_mux;
     interface masters = nil;
     //interface leds = captureRequestInternal.leds;
     interface ImageCapturePins pins;
         method Action fmc_video_clk1(Bit#(1) v);
             iclock.inputclock(v);
         endmethod
  
negative.code: import Leds::*;
  
  // generated by tool
  import ImageonSensorRequestWrapper::*;
  import ImageonSensorIndicationProxy::*;
  
  // defined by user
  import Imageon::*;
  import HDMI::*;
  import YUV::*;
  import XilinxCells::*;
  import XbsvXilinxCells::*;
  
  typedef enum { ImageonSensorRequest, ImageonSensorIndication} IfcNames deriving (Eq,Bits);
  
  interface FMComms1Pins;
     interface FMComms1ADCPins adcpins;
     interface FMComms1DACPins dacpins;
     (* prefix="" *)
     method Action fmc_video_clk1(Bit#(1) v);
  endinterface
  interface FMComms1;
     interface Vector#(2,StdPortal) portals;
     interface FMComms1Pins pins;
  endinterface
  
  module mkFMComms1#(Clock fmc_imageon_clk1)(FMComms1);
     Clock defaultClock <- exposeCurrentClock();
     Reset defaultReset <- exposeCurrentReset();
  
     Clock imageon_clock <- mkClockBUFG(clocked_by clockGen.clkout1); //  37.125 MHz
     Reset hdmi_reset <- mkAsyncReset(2, defaultReset, hdmi_clock);
     Reset imageon_reset <- mkAsyncReset(2, defaultReset, imageon_clock);
  