Running Virtex5 GTP at lower data rate

At power-up, I need to run the Virtex GTP at 400Mbps and then after the initialization, I need to run the V5 GTP at 3.2 Gbps.

In order to keep it simple, I am thinking about running the V5 GTP at 3.2 Gbps all the time - even at power-up.

Thus to achieve the lower data rate of 400Mbps, I plan to write the same data 8 times (3200Mbps/400Mbps). The FPGA fabric state machine will write the data to be sent to the GTP into a deep dual port fifo. The logic on the GTP side will retrieve the data from the fifo and write to the GTP parallel data input 8 times.

Please let me know if there is a better way to do this then this.

Thanks.

Eddie.

Reply to
Eddie H
Loading thread data ...

Looks like you are thinking that you would be transmitting user data at the line rate. This is hardly possible and not required in any case. If you use Aurora IP core all you need to do is to choose your line rate slightly higher than the actual throughput required for the application (do some reading on Aurora to find out the details). At that point you can pass data at any speed not surpassing the maximum throughput available at the chosen line rate. From a user point of view Aurora channel looks like a FIFO. You write data into it at the transmit side and you read from it at the receive side.... As simple as that.

/Mikhail

Reply to
MM

Mikhail,

On powerup, I would like to transmit the 400 Mbps data using GTPs conifigured to run at 3.2 Gbps. This is because after the training I need to run the data at

3.2 Gbps. Basically I am curious if GTP has oversampling capability on the transmit side so that I can transmit 3.2 Gbps configured GTP at 400Mbps.

Thanks.

Eddie

Eddie.

Reply to
Eddie H

Howdy Eddie,

Could you explain the reason that you must run a training pattern? Is it for backwards compatibility with an existing 400 Mbps device? How is the far-end going to know when to switch from 400 to 3200 Mbps?

If you really do need the "speed shift", I think that you could make it functional. If you're using 8b/10b and need to be backwards compatible with a 400 Mbps device, you may need to do the encoding in the fabric rather than letting the GTP do it (so that you can manually "inflate" each bit into 8 bits).

Marc

Reply to
Marc Randolph

Marc,

Sorry for the delay. The training pattern is part of the protocol requirement. At 400Mbps, the clock will be in the center of the data window and there will be start of frame signal to do the frame alignment. When we switch from 400 to

3200Mbps then we may need to do the bit alignment and possibily packet alignment. Thus when we switch from 400 to 3200 we will need some training sequecne to do the bit and packet alignment.

We will not be running 8b/10b encoding on this.

I think that 400Mbps data rate oversampling can be supported in the fabric by sending each bit 8 times. But if the GTP has a way to do this then that will be more desirable. I read that it can support 5x oversampling but I am looking for

8x oversampling to get down to 400Mbps. With 5x oversampling it will be 3200/5 = 640 Mbps.

Thanks.

Eddie

Reply to
Eddie H

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.