UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 19760

Virtex-5, Virtex-4, and Virtex-II Pro RocketIO - Do the Virtex-5, Virtex-4, and Virtex-II Pro work in a PCI Express system?

Description

Section 4.3.1.1 of the PCI Express Base Specification v1.0a states: 

 

"The Ports on the two ends of a Link must transmit data at a rate that is within 600 parts per million (ppm) of each other at all times.
This is specified to allow bit rate clock sources with a +/- 300 ppm tolerance." 

 

Virtex-II Pro MGTs require a clock that is within +/- 100 ppm, and the Virtex-5 and Virtex-4 MGTs allow for tolerances greater than +/- 300 ppm. 


Do the Virtex-5, Virtex-4, and Virtex-II Pro work with a PCI Express system?

Solution

The Virtex-5, Virtex-4, and Virtex-II Pro work in a PCI Express system, but before using one of these devices, please read the information below. 

 

There are two ways that the PCI Express system can be clocked: 

  • Using nonsynchronous clocking, which means that each device has its own clock source.
     
  • Using synchronous clocking, which means that one clock source is used for each device. 

 

Note: Add-in card designs must use a synchronous clocked system. 

 

Nonsynchronous Clocked Systems 

 

If the Virtex-II Pro is used in an embedded system, the Virtex-II Pro and the device it is communicating with on the other side of the link should both use a clock within +/- 100 ppm tolerance, as shown in Figure 1. 

 

The PCI Express specification requires the clock tolerance to be +/- 300 ppm. 

Because the Virtex-5 and Virtex-4 device's allow for a tolerance of greater than 300 ppm when used in an embedded system, the Virtex-5 or Virtex-4 and the device it is communicating with on the other side of the link should both use a clock within +/- 300 ppm tolerance, as shown in Figure 1. 

 

Figure 1. Nonsynchronous Clocked System
Figure 1. Nonsynchronous Clocked System
 

 

Using the Virtex-II Pro device on an add-in card with non-synchronous clocking poses potential problems.

Motherboard clocks will most likely not be operating at a tolerance of +/- 100 ppm, as this is not required in the base specification.


The clock tolerances are as follows: 

 

F(host) = +/- 300 ppm 

F(fgpa) = +/- 100 ppm 

 

Worst-case difference is 400 parts per million; the Virtex-II Pro will not work reliably in this scenario. 

 

Additionally, if the Virtex-5 or Virtex-4 is used on an add-in card with non-synchronous clocking and is plugging into a system using SSC, it will not work even using oscillators that meet the +/- 300 ppm requirement. 

 

Note: All commercial PCI Express Motherboards use SSC by default. 


For more information on SSC and PCI Express, refer to (Xilinx Answer 19782)

 

In both cases, synchronous clocking should be used as described below. 

 

Synchronous Clocked Systems 

 

Note: This solution must be used for add-in card designs. 

 

If the Virtex-5, Virtex-4, or Virtex-II Pro is used on an add-in card, use this method. 

The Virtex device should be clocked by the motherboard-provided clock.

Even though this clock has a tolerance of +/-300 ppm, each device on either side of the link will use the same clock so they will be in step with each other and there will be 0 ppm difference, as shown in Figure 2. 

 

Figure 2. Synchronous Clocked System 

 

The motherboard clock will most likely be provided at 100 MHz.

This frequency must be converted to 250 MHz to clock the Virtex-4 RocketIO, or to 125 MHz to clock the Virtex-II Pro RocketIO.

The Virtex-5 can be clocked directly off of the 100 MHz clock.

For information on performing the conversion, refer to (Xilinx Answer 18329)

 

IMPORTANT: For Virtex-5, Virtex-4, and Virtex-II Pro Express add-in cards to work in an open system, they must be clocked off of the central motherboard clock resource so that they can take advantage of the SSC down spread and be frequency locked with the motherboard clock (that is, synchronously clocked).
Add-in cards clocked with their own on-board oscillator (that is, asynchronously clocked) do NOT work in open systems. 

For more information on this, refer to (Xilinx Answer 18329).

AR# 19760
Date Created 09/03/2007
Last Updated 03/25/2015
Status Active
Type General Article
Devices
  • RocketPHY
  • Virtex-II Pro
  • Virtex-II Pro X
  • More
  • Virtex-5 FXT
  • Virtex-5 LX
  • Virtex-5 LXT
  • Virtex-5 SXT
  • Virtex-5 TXT
  • Virtex-4 FX
  • Virtex-4 LX
  • Virtex-4 QPro/R
  • Virtex-4 SX
  • Virtex-4Q
  • Less