Since the 6115 is not yet supported by DAQmx, you will need to use the Traditional DAQ driver for your solution. In this case, since both the AI and AO timing engines derive their timing from the same onboard timebase, all you should really need to do in order to synchronize them is to share a common start trigger. One way to do this is to use the AI start trigger generated internally by the device as the digital start trigger for your AO as well. In order to do this, look at the shipping example Cont Generation - E-series D-Trig.vi as a template. Notice that one of the options for your AO start trigger source is AI start trigger. With this selection, your AO task will now wait for your AI task to start before beginning its waveform generation. Also, with this selection, no external wiring is necessary for your trigger signal. The signal is routed internally on the board.
Finally, you can use the Acquire N Scans.vi shipping example as a template for your AI task. This VI uses a software start trigger, so the final thing to remember is to start your AO task before starting the AI task. Since the AO task is waiting for the AI task to start, this should ensure the two tasks are started at the same time. I haven't tested this approach in depth so I can't provide any details on what level of synchronization this will provide. If you find this doesn't produce a consistent phase relationship throughout time, you can try the approach previously mentioned which uses a counter to divide down the AI sample clock for use by the AO task. However, you will have to create a Traditional DAQ equivalent of the provided VI.