Why not implement 1Gbps, when all I need is 20Mbps?
TTL (single-ended, unterminated) signals can easily handle 20 Mbps or more &mdash; look at SPI, for example. If you're only going a few inches, ribbon cable and IDC connectors (or a backplane of some sort) will get you from board to board.

1 Gbps puts you into the realm of having to deal with impedance-controlled traces, connectors and cables. The receivers will need to use PLL/DLL techniques to maintain synchronization and separate clock/data, whereas at the slower speed, normal synchronous logic will be sufficient. The 50&times; overkill and the additional headaches are simply not worth it, if you're sure that 20 Mbps will suffice for the foreseeable future.



I once designed (25 or so years ago) a custom serial bus protocol for board-to-board control and status among boards in a telecom rack. Sort of a cross between I2C and SPI &mdash; unidirectional signals like SPI, but embedded device addresses like I2C.