Can anyone suggest what would be some better ways(purchased with minimal work if possible) to generate square waves at 3 tunable voltage levels toggling arbitrarily(EDIT: as in a PRBS/PRBS7/PRBS31, DC balanced, the stream of PRBS can be predefined and hardcoded, does not matter to the experiment) from one voltage to the other at high speed from 500 MHz to 1 GHz?
I have a Xilinx Kintex 7 KC705 eval kit and can purchase add on boards- the one way I was thinking of that is more conceptually straightforward is to just use a DAC board and drive the outputs at the desired voltages. https://www.abaco.com/products/fmc170-fpga-mezzanine-card are ok for a few hundred MHz, but none of the cards can get a ~10-20% of the cycle rise/fall time at 1GHz. For 1GHz arbitrary square waves with say 0.2ns rise/fall times, need about 3.5GHz minimum to get anything, then about >10GHz of analog bandwidth to make it appear "more square". For 500MHz, about ~ 8-10GHz (maybe 5GHz and a less square appearance) analog output bandwidth may be ok, and those cards may be sufficient, but I'd still be on the lookout for something suitable for the 1GHz square wave.
Effectively that is an AWG...Am I thinking about this the wrong way? I don't need all the fancy features of an AWG, but just able to set 3 voltages (roughly a range of voltages from 0-2.0V, a set of these 3 voltages, for example, 0.1V, 0.35V 1.5V would be fine, however, it's not critical bc I have high-speed amps and bias T's) and toggle between then arbitrarily (ideally driven by data patterns out of the Kintex FPGA). Everything is 50Ohm impedance. At the higher speeds (1 GHz/ 1ns per bit), 0.2ns rise/fall time would be acceptable-- this is experimental so if it ends up worse than 0.3ns then that's what I'll have to live with until I can buy more expensive things.
Thanks for your help!