|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Selecting PCI Express IP for Your Design
by Stephen Peltan, R&D Sr. Staff Engineer - Synopsys
PCI Express, the next generation of the PCI bus, is being widely adopted in today’s high-performance PCs, servers and embedded applications. This high bandwidth protocol keeps the same software interface and many of the key features of PCI, but has a number of differences and new features. The biggest changes with PCI Express are the use of serial data transfers and gigahertz clock speeds, making the protocol more complex, but providing significant improvement in data throughput. This application note provides you with a very brief introduction to the emerging PCI Express protocol and explains how selecting the right digital and mixed signal IP can accelerate the implemention of this new standard into your designs. PCI Express OverviewPCI Express provides low pin count, high reliability, high speed data transfer at a rate of 2.5 GBits per second and up, for serial links on backplanes and printed wiring boards. PCI Express System Example - PC Motherboard Based SystemIn this example of a PCI Express system, the dashed lines represent PCI Express links, the purple boxes indicate plug-in cards, and the other boxes are components found on a system card. The black boxes represent PCI Express IP, which is comprised of a digital component and a mixed signal component. The digital portion may implement one or more of the following:
The PCI Express IP handles link initialization, error recovery, power management, data buffering, etc. PCI Express System Example - Chip to Chip SystemIn this example, all circuits are on a single printed wiring board. The “complex endpoint” chip include two independent PCI Express links. The “endpoint / root” chip includes an additional type of digital PCI Express IP, DM (dual mode) which can operate as a root port, as shown here. It can also operate as an endpoint, for example, when plugged into a PC motherboard slot. The base PCI Express protocol stack is common to all of the IP shown in the examples. PCI Express IP hides most of the complexity from your application logic. See the following diagram. PCI Express LinksAs shown in the diagram below, each PCI Express link:
Data is transferred in packets which include an address, and a variable size data payload. Reliability is provided by character checks, format checks, CRC code, automatic retransmission in case of error, and exchange of buffer space information, in the form of credits. A handshake protocol to power down an idle link is included, as well as messages to handle interrupts, error reporting, and hot-plug events. Configuration registers are available to customize link behavior. Wide ports automatically configure to narrower ports, as required. Quality of service and isochronous traffic are supported via optional virtual channels. Digital IP to PHY Interface (PIPE)Transmit and receive data, as well as status and control, are transferred between the digital and mixed signal IP on the PIPE interface. There are two standard options for transferring data across the PIPE interface:
To add a PCI Express port to your chip you must:
An N lane PCI Express port provides N x 2.5 GBits of raw throughput in each direction. Because of 8b10b encoding, packet payload size, and link overhead, the actual throughput varies. As an example, you can use the following table.
Remember that these are only reasonable examples; another PCI Express application note will explain in detail how to calculate these numbers for your application. Selecting Mixed Signal PCI Express IP (PHY)Mixed signal IP is generally sold as a “hard macro”, which is tailored to your chip manufacturer’s process. Both the PCI Express and PIPE interfaces are standard. You can usually choose:
In addition to these standard feature, your PHY vendor may offer additional features:
For example, the Synopsys PCI Express PHYs includes built in, unique diagnostics which provide on-chip visibility into the actual performance of your 2.5 GBit per second links. The diagram at the right shows actual scope data from the Synopsys PHY. Selecting Digital PCI Express IP TypesDigital IP for Basic ApplicationsBased on your application, operating frequency and lane width, you may select PCI Express digital IP optimized for your application. Here are some examples of the range of Synopsys endpoint (EP), switch port (SW), root port (RC), and dual mode (DM) digital IP available to you.
You can trade off gate count, operating frequency, and power versus maximum lane width, i.e. throughput. Digital IP for Advanced Applications - OverviewIt is relatively simple to select among root, switch, endpoint, and dual-mode ports if your application fits one of the examples shown at the beginning of this application note. However, if you have an advanced application, you may want to know more about the differences. The following sections are a summary; see the DesignWare IP product databooks for complete information. Digital IP - Upstream vs. Downstream DifferencesA PCI Express hierarchy contains one or more PCI Express links, and includes a root port, optional switch ports, and endpoint ports. Each link in the hierarchy must include exactly one “downstream” facing port and one “upstream” facing port.
Why does this matter?
Digital IP - Configuration Registers DifferencesEach instance of PCI Express IP contains a set of configuration registers:
Type 0 configuration registers:
Type 1 configuration registers:
Some other configuration register differences:
Configuration transactions can only be initiated by root ports, and can only be responded to by endpoint ports and upstream root ports. Configuration transactions are used to:
Digital IP - Interrupt and Error Message DifferencesAs described in detail in another application note, PCI Express devices emulate PCI interrupt wires (INTA, INTB,....) by sending messages towards the root port:
Note that other types of interrupt messages (MSI, MSI-X) do not have these restrictions. Error messages are sent by PCI Express devices in response to link errors. Endpoints initiate these messages, switch points initiate them and pass them on, and root ports receive them. Implementing PCI Express into Your Design - An IntroductionThe following diagram shows the major features of a simple endpoint design. See the DesignWare PCI Express IP databooks for details. The Replay Buffer and Rx Buffer are respectively single and dual port RAMs. All logic to manage these buffers is included in the endpoint IP. For the receive (Rx) buffer, you may choose store and forward, cut-through, and bypass (no buffer) packet storage. The Tx Fifo is optional - if your Tx DMA can continuously supply the data for an entire packet, the Fifo is not necessary. The Internal Bus Adaptor is optional - it is only required if you wish to update so-called “read only” fields in the IP configuration registers before link communication begins. As an alternative, all of these fields can be configured at synthesis time with the Synopsys coreConsultant tool.
PCI Express is a robust interface and selecting the right IP can help solve the complexities of implementing the protocol into your designs and accelerate your development process. The DesignWare IP for PCI Express is silicon proven in customer designs and is the industry standard, powering the PCI-SIG protocol test card and the first to pass the compliance test. The DesignWare IP has gone through extensive interoperability testing with third party PHYs, verification IP and hardware. By providing a complete solution for PCI Express including digital controllers, verification IP, and mixed signal PHY IP, Synopsys helps lower your integration risk and overall deployment costs, while saving you significant time and effort. For more information on DesignWare IP, visit www.synopsys.com/designware
|
Home | Feedback | Register | Site Map |
All material on this site Copyright © 2017 Design And Reuse S.A. All rights reserved. |