RocketIO over cable

Anyone have experience with directly driving a cable with RocketIO? I am interested in any information/experiences/advice regarding linking two FPGAs via RocketIO over a cable. I have seen some signal characterization information for high-speed links over copper, but usually less than 800Mhz. I believe my implementation would use a a less than 1 meter, but would like to know it works at 3, 5,

10...meters. Ideally I would like to run the link at 10gbits, but 6gbits could work. How feasible is this, or is it back to the drawing board?

Thanks in advance! Dennis

Reply to
vt2001cpe
Loading thread data ...

Haven't had any experience with this yet, however in anticipation of an upcoming project I have been looking into solutions. So far it seems like the highest electrical performace solution is to use a Zd type connector and associated cable. This is a relatively new connector series that has been incorporated in the PICMG telecom standards. These connectors and cables are made by a number of companies including:

Tyco Amp:

formatting link
^M~FEAT^BML~10576,16358,17560,17759,17654^G~G

ERNI:

formatting link

Gore:

formatting link

Hope this helps Brendan

Reply to
Brendan Illingworth

formatting link
^M~FEAT^BML~10576,16358,17560,17759,17654^G~G

formatting link

Thanks for the reply! These connectors look useful. I have noticed that people seem to have had success with FR4 connections of 40 inches or less. In som some cases that includes transmission through a backplane connector. Hope that helps with your application!

--Dennis

Reply to
vt2001cpe

I have completed three designs now which linked V2Pro's together over a cable at 2.5 or ~3.1 Gb/S.

One used HSSDC cables which are used for fibre channel. Worked fine at 5M, although I did spec low loss and very thick TurboQuad cable.

I have also had sucess with samtec high speed flex cables (4 x 3.1 Gb)

formatting link

Finally, I ran 4 x 2.5 G over 4 x SFP connectors and copper cable

formatting link

Basically, if you are careful with the layout and use a connector/cable designed for high speed signals you should be ok. I was lucky I could put the Xilinx right beside the connector in all cases.

Longer than a few meters, or faster than 3G would make me more nervous. You will have to be even more careful and do lots of testing and eye measurements.

Cheers, MikeJ

Reply to
MikeJ

Running RocketIO over a cable isn't a problem, but of course it depends on the cable characteristics, the data rate and acceptable losses. We have a number of reports on tests that were done with Virtex-II Pro RocketIO links:

Infiniband -

formatting link
SATA -
formatting link
CAT5/5e/6 -
formatting link

Out of all of these the Infiniband style cables are the best and come in a variety of lengths and number of channels. I don't have any experience with PCI Express cables, but that they should be just as good since they use the same internal cable technology as the Infiniband cables.

formatting link

Ed McGettigan

-- Xilinx Inc.

Reply to
Ed McGettigan

formatting link

Reply to
vt2001cpe

It is possible to generate more than a single bit error in the same

8b10b word, but with a well designed link this is very unlikely to occur. In any case your transmitter is completely unaware that an error actually occurred and will happily continue transmitting. It's your receiver logic needs to be able to handle any errors that happen.

The worst case that could happen is that the error generates a comma character that is out of alignment with the previous alignment. This would cause a constant stream of errors until a correct comma character is received and the link realigns to the correct 8b10b word. All of this is fairly standard stuff and has been around for decades in many different protocols.

Since it doesn't look like you have a particular protocol in mind. I would suggest that you take a look at the light weight Aurora protocol

formatting link
Even if you decide to not use it, you should be able to learn a lot from it.

Ed McGettigan

-- Xilinx Inc.

Reply to
Ed McGettigan

As noted, much depends on the cable. I have used a lot of high speed cables, and the best of the bunch is made by Gore (and whoever they may have licensed their 'Eye-Opener' self equalising cable to)

formatting link

I've run 4x InfiniBand over 11 metres on this type of cable and it was within the spec (10dB insertion loss max, amongst other things). That was the best I ever achieved with 4x cables. I once had a cable that could do

Reply to
PeteS

Perhaps I did not phrase my question correctly. Assume a hypothetical system where raw captured data from an ADC is streamed from one box to another. The two boxes are connected via some sort of RocketIO link over copper. Ideally, I would like to transmit just the raw samples, but it seems some sort of overhead will be required to keep the link established and aligned. In the event that bit errors occur, and a comma character is falsly detected by the receiver, what happens? For example, will the receiver try to realign and continue pumping out data, now misaligned by the false comma, until the real comma is detected? Or will the receiver raise an error flag, but not try and realign. I am more interested in maintaining the throughput, and less concerned that data is "correct". That having been said, I would like to have correct data, but I do not think I can afford the overhead of error correction.

Any insight or suggestions?

--Dennis

Ed McGettigan wrote:

Reply to
vt2001cpe

vt2001cpe schrieb:

It will detect a code error and raise a flag. Dependig on configuration the receiver will try to realign or just continue sampling data. Usually a state machine will keep a look at the code error flag and force a realign after 3 consecutive errored codes. Iam not sure if this state machine is already implemented inside the MGTs, probably you have to create it yourself using FPGA logic. Should be no big deal.

Regards Falk

Reply to
Falk Brunner

vt2001cpe,

formatting link

details the Aurora protocol, which should be lightweight enough that it does not burden your data transfers.

You need something to: keep track of connection state, bond more than one MGT together (to get more bandwidth), deal with errors, organize data into frames, perform flow control, encode/decode in 8b/10b or

84b/66b, etc.

Using the MGT all by itself is starting from scratch, and you will eventually have to decide how to deal with all of the items I mentioned above.

Thus, the reason why we created Aurora, and offer it license free, with supported IP.

Enjoy,

Aust> Perhaps I did not phrase my question correctly. Assume a hypothetical

Reply to
Austin Lesea

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.