anchor.diff:      Reset imageon_reset <- mkAsyncReset(2, defaultReset, imageon_clock);
       SyncPulseIfc vsyncPulse <- mkSyncHandshake(hdmi_clock, hdmi_reset, imageon_clock);
   
  -    ISerdes serdes <- mkISerdes(defaultClock, defaultReset, indication.idIndication,
  +    ISerdes serdes <- mkISerdes(defaultClock, defaultReset, serdesIndicationProxy.ifc,
           clocked_by imageon_clock, reset_by imageon_reset);
       SPI#(Bit#(26)) spiController <- mkSPI(1000);
       SensorToVideo converter <- mkSensorToVideo(clocked_by hdmi_clock, reset_by hdmi_reset);
       HdmiGenerator hdmiGen <- mkHdmiGenerator(defaultClock, defaultReset,
  -        vsyncPulse, indication.coIndication, clocked_by hdmi_clock, reset_by hdmi_reset);
  +        vsyncPulse, hdmiIndicationProxy.ifc, clocked_by hdmi_clock, reset_by hdmi_reset);
       ImageonSensor fromSensor <- mkImageonSensor(defaultClock, defaultReset, serdes.data, vsyncPulse.pulse(),
           hdmiGen.control, hdmi_clock, hdmi_reset, clocked_by imageon_clock, reset_by imageon_reset);
  +
  +    //ImageCaptureRequestWrapper captureRequestWrapper <- mkImageCaptureRequestWrapper(ImageCaptureRequest,captureRequestInternal.ifc);
  +    ImageonSerdesRequestWrapper serdesRequestWrapper <- mkImageonSerdesRequestWrapper(ImageonSerdesRequest,serdes.control);
  +    HdmiInternalRequestWrapper hdmiRequestWrapper <- mkHdmiInternalRequestWrapper(HdmiInternalRequest,hdmiGen.control);
  +    ImageonSensorRequestWrapper sensorRequestWrapper <- mkImageonSensorRequestWrapper(ImageonSensorRequest,fromSensor.control);
   
   //    rule xsviConnection;
   //        let xsvi <- fromSensor.get_data();
  
positive.code:    interface interrupt = interrupt_mux;
     interface ctrl = ctrl_mux;
     interface m_axi = null_axi_master;
     interface leds = captureRequestInternal.leds;
  
  endmodule : mkPortalTop
  
negative.code:    
     Vector#(3,StdPortal) portals;
     portals[0] = captureIndicationProxy.portalIfc;
     portals[1] = serdesRequestWrapper.portalIfc; 
     portals[2] = hdmiRequestWrapper.portalIfc; 
     portals[3] = sensorRequestWrapper.portalIfc; 
     let interrupt_mux <- mkInterruptMux(portals);
     
     // instantiate system directory
  