Regarding the question about bitstream compatibility, the answer is no, a bitstream built for VCU1525 will not work on the XUPP3R. The clock & USB UART are on different pins, so I must 'build' two versions of the bitstream, one for each card. Although the change in the code is tiny, it still takes the tools 5+ hours to re-run place & route, with multiple runs needed to get a success.
Can you inplement a double set of interfaces to support both boards by the single firmware?
BUFGMUX_CTRL can be used to select the clock signal, if clocking assignment is different.
It is probably possible to build one firmware for both board.
I get the general idea but I still have a hard time seeing how to do that with the USB-UART pins.
As far as 'resale' of these FPGA cards, there is also a tremendous future for AI mining. In fact, if tens of thousands of people were mining crypto with these boards, and an AI mining server became available, they are so powerful that you might end up with a 'Skynet' type superintelligence, or the Kurzweil 'singularity' event.
My point is that if, for some reason, mining crypto became unprofitable, someone could re-sale access to the FPGA hardware for AI, weather prediction or any other compute-heavy tasks.
Suppose you have 2 different sets of pins.
RXD_BITTWARE and TXD_BITTWARE is one set, RXD_XILINX and TXD_XILINX is another set.
The uart module inside FPGA has RXD input and TXD output also.
Then make connections as follows:
TXD_BITTWARE = TXD
TXD_XILINX = TXD
RXD = RXD_BITTWARE & RXD_XILINX
The merging function varies between "or, xor, and" and it is depending on internal or external pulling unconnected pins up or down.