Have you considered using two delay lines to take your master signal and delay it to generate an identical signal 120 and 240 degrees out of phase with the first? It would be a simple implementation and would always keep the signals synchronized to your master oscillator.
Thanks,
DAB
The cheapest and most versatile way to do this is with a micro-controller. Many PICs and the ST STM32F100 range (ARM Cortex) have timers that will do this easily. You could use a small FPGA/CPLD but might find that harder if you don't use them already. Either route will give you a single chip master oscillator and three phase output.
The processor will have other resources that might be useful in your design.
I'd need more information about the quality of the signals, and the 40KHz time-base, so I may be too simple.
An easy way to create three signals with a fixed relationship is to use a shift register with parallel output (cost under $0.30). Each of the three signals comes from one of the parallel outputs of the shift register. Treat it as a 4-bit shift register, and use the 4th bit to reset it.
If the signals need to overlap, use OR gates to combine several shift-register output bits.
Clock it at 120KHz, and it gives 40KHz.
For the clock maybe using something as simple as a 555 timer, but maybe something a bit more sophisticated with a binary divider.
If you use a 4000 series parts, it can run upto 18V, so that might be enough to switch the MOSFETs directly.
You'd want to clear it to an initial state, and some have enough enables and inputs to do that with very little other logic.
Total cost under $1?