Recently on All Programmable Planet (APP), we've been chatting about high speed serial links -- transmitters, receivers, LVDS, serialization and de-serialization, etc. I'm even half way through blogging about my 512Mb/s link between two Spartan 3E boards. (See: Ask Max: Differential Signaling, Building a High-Speed Serial Link the Hard Way, and Building a High-Speed Serial Link the Hard Way, Part 2.)
My implementation of the receiver for my homegrown link is perfectly workable, but as APP member "Devel" says, you wouldn't want to use it in anything that really mattered. Here is another project along the same lines -- one you will no doubt be itching to try, even given it's "purely experimental" status.
As the Spartan 3E is getting a bit "long in the tooth," most new low-cost Xilinx FPGA development boards are equipped with parts from the Spartan 6 LX family. These include some really nice boards, such as the Digilent Atlys, the Papilio Pro, and the Avnet Spartan 6 Microboard.
The SERDES2 function in the Spartan 6 LX family of FPGAs can transmit at about 1Gb/s. This is a quite useful and respectable figure, and quite a few development boards combine this ability with the ability to generate TMDS (transition-minimized differential signaling) signals to implement a DVI-D / HDMI interface at next-to-no extra cost. For users of these boards, this is a great feature -- being able to display 24-bit full color images is very appealing compared with the not-so-nice 8-bit or 12-bit analogue VGA (video graphics array) interface implemented on most older boards.
If you're like me, you too would be slightly disappointed if you were to read the infamous XAPP495 application note to discover that 1Gb/s is only 66 percent of the bit rate required for a "Full HD" 1080p/60Hz display. My laptop can do 1080p, my $99 media player too, but not my FPGA board?
Oh well, so maybe I should settle for 720p -- but this would mean no playing around with 1080p cameras, no full HD image decompression algorithms, and no image up-scaling. To experiment with these I would need to move to a board that has either a more expensive Spartan 6 LXT FPGA, or a dedicated (and often complex to use) off-chip HDMI transceiver.
All hail the Mighty Hamster
(Max added this image while Hamster wasn't looking)
However, at Hamsterworks, we don't let a little thing like specifications get in the way of a good time. After wielding the Hamster black magic (which mainly involves pondering things while I take my little boy out for a walk), I would like to present to fellow readers of APP a new technique that I have invented to serialize data within the FPGA's main fabric at 1.5Gb/s. Predictably enough, I call this technique "In-fabric serialization".
To Page 2