• 0

SERDES: A first project



I am very interested in using SERDES to get the maximum speed IO through the FPGA pins. So far I´ve been looking for a good example but I haven´t found anything. Therefore, I´ve decided to start a project of my own. Just for the pleasure of learning.

As a first idea I´ve thought to toggle an output signal at a high rate through the pins of the FPGA board. I don´t intend nothing extremely high, I´m just considering 500 MHz, maybe 1GHz. This seems a good point to start using SERDES and learning the basic concepts. But I have to admit, I´m actually confused.

As a first step I´ve considered to buy a new FPGA board, because although I really love my Arty board (which for prototyping is amazing) I suppose its differential Pmod are not good enough for such speed.

Maybe I should consider buying a bigger one, and the Nexys Video seems a good choice, especially because its FMC header seems better to manage higher speed signals. At the moment I feel concerned about this project and I would like to have a better understanding about this before I´m buying the Nexys Video board.

I want to be sure that I´m paying for the right product for my purpose.

Is this project a good one in order to start learning about SERDES?

Is the Nexys Video a good choice for this project?

Where I can find other good examples to continue learning about SERDES?




Edited by Fields

Share this post

Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Hi @Fields

I'm happy to know that you want to learn about the ILOGIC and OLOGIC SERDES. Let me say, and don't at all be put off on your quest by this, but SERDES, particularly ISERDES, is not a particularly easy thing to implement. I suggest that you scour the Xilinx Application notes on everything SERDES. There are papers and demonstration code to give you a feel as to what you are dealing with.

The Nexys Video, Genesys2 and Atlys all have HDMI ports supporting your SERDES experimentation. I posted the HDMI_DATA_PIPE_DEMO a while back that might be a useful launching pad. I didn't provide a SERDES example but the baseline project is a good place to start. @hamster has posted a very nice HDMI project that uses SERDES for video applications (TMDS_33 IOSTANDARD)

As to using the FMC connector on the Nexys Video or Genesy2 is concerned I don't know what you'd be using as a mezzanine board to work with. You can use LVDE_25 which is ideal if you can loop back the signals. I don't know of a source to buy such a mezzanine board.... hmmm perhaps you've given me an idea for a project....

I take it from your comment about the differential PMOD that I'm not a fan for useful work. Digilent seems to be a wall that's possibly harder than my head; though I don't know if I've given anyone there a headache that matches the one that they've given me.

I don't know your level of expertise but SERDES and their sophisticated big brother the hard transceiver are great places for exploration. Speaking of transceivers, I also posted the Transceiver Bootcamp demonstrating using the Genesys2 mDP interfaces using those transceivers. No one has posted the 21.6 GHz version (4 5.4 GHz lanes) that probably is possible. Of course for almost the same (non-academic) price of a Genesys2 you can buy a KC705 and have 8 PCI-e Gen2 lanes to play with.

Let us know how you make out.


Share this post

Link to post
Share on other sites
  • 0

The SERDES isn't super tricky to use once working (esp for outputs), but getting it to work the first time is quite hard.

Make sure that you follow the clocking design in the user guide exactly. You don't have the flexibility to use just any clocking resource to drive them - you must use the correct MMCM connections and the correct buffers

The bit ordering can be a confusing, when thinking about the order of the bits on the wire. In the user guide there is a picture that is helpful, showing the order the bits leave the SERDES block and then arrive at the receiver.

The spec sheet limits performance to about 1Gb/s or 1.25Gb/s (for a 500 or 600 MHz toggle rate). They can work a little bit faster than this, but of course that is out of spec.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now