The last time I used serial FPDP it still required the use of Rocket I/O (MGT, GTP, GTX, GTH ...) rather than standard IO pins. At 500 Mbps, you could possibly distribute a 250 MHz clock around the board and use standard IOB's with DDR or SERDES functions. What you lose with standard IOB's is the ability to do clock recovery without oversampling. So you can't just send 8b/10b encoded data around the board between standard IO pins and expect to get the maximum bit rates published in the data sheets for the SERDES interface. If you are willing to distribute the bit rate clock, then standard IOB's should be fine up to the data sheet numbers (with some work).