The usual approach to this sort of thing is to start with a good sine wave source, maybe a DDS or such, then mix and filter it to get where you want to be.
Once you have the sine, you can use fast comparators (Pericom, Hittite and such people) to square it up for a square output.
It is important to do the reconstruction filtering before you feed whatever circuit generates your square wave, as otherwise you will have massive jitter.
Generate say DC - 400MHz with a DDS directly.
Lowpass the snot out of it.
Mix with a 300MHz XO and highpass to get 400MHz - 700MHz (DDS tunes from 100Mhz to 400MHz, leaving plenty of space to the filter skirts).
That output could then be mixed with say 600MHz or so to get you 700Mhz - 1.3G.... Well you get the idea.
Mixing is better then multiplying because it hurts your PN numbers less.
I don't really see a need for a FPGA here, a micro and some mixture of Analog devices and Minicircuits stuff should get it done for the sine wave, with some added Hittite or such for the fast square wave.
Note that a decent square wave needs about 10 harmonics or so, so a 200MHz 'square' wave will have components you need to preserve out to ~2GHz, a 2GHz square wave is into that space where the instruments to measure it in the time domain are the price of a nice house.
HP (Keysight) were always the gods of this stuff and back in the day were not at all shy about publishing some very interesting papers and block diagrams.
73 Dan.