|
|||||
Making Interconnects More Flexible
Making Interconnects More Flexible With many system bus alternatives in telecom, storage networking, and datacom applications, chip designers face the prospect of having to support multiple interfaces to meet current and future interconnect requirements. This is particularly true for devices, such as high-speed microprocessors, which find application in all of the above domains. To solve this dilemma, designers must build next-generation chip architectures that deliver a flexible interconnect. And, to build flexibility into the interconnect, designers must identify common logical and physical attributes among these interconnects in order to promote portability and interworking. In this article, we will looks at attributes of several prominent bus interfaces, including PCI, PCI-X, PCI-Express, HyperTransport, parallel RapidIO, and serial RapidIO. Comparisons are made at both logical and physical levels. This article also includes a discussion of interworking scenarios applicable to the networking space. Coping with Interoperability Demands One example of interworking is shown in Figure 1. In this case, a high-speed embedded microprocessor has a parallel HyperTransport (HT) interconnect optimized for low latency and high bandwidth. A parallel-to-serial bridge is used to connect the processor to a serial backplane, with either PCI-Express (PCI-Ex) or RapidIO (RIO) protocols. Bridging and other interworking strategies are made simpler by identifying core functions among these interconnects and buses. In some cases, interface parameters can be chosen so as to minimize differences at both logical and physical layers, thus simplifying and lowering the cost to achieve interoperation between different interconnects. The general characteristics of these system buses and interconnects are shown in Table 1. Of these interfaces, PCI is a well-established, medium performance, general-purpose bus. From its genesis in the personal computer industry, it has gained a solid application niche in many control-plane and low-end data-plane applications in communications, as well as other embedded appl ications. PCI-X is an extension of PCI, which follows the essential structure of the PCI bus, but adds logical and electrical enhancements, which help to alleviate bandwidth and efficiency limitations. In higher speed versions however, PCI-X is restricted to a point-point bus because the electrical connectors defined for PCI do not support high-speed shared bus configurations. Although PCI-X is widely used in servers, it is not expected to play a major role in communications platforms, where full backward compatibility with PCI is not required.
In comparison, PCI-Ex, HT, and RIO comprise a new class of system interconnect of potential interest to telecom and datacom vendors. These interconnects are designed with flexibility, well-layered logical structures, scaleable bandwidth, and high-speed, pin-efficient differentia l I/O. These characteristics make them candidates for embedded applications like telecom and datacom, where requirements include high bandwidth, delivery of various data types with minimal latency, and configurations ranging from chip-to-chip to backplanes. Figure 2 shows a block diagram that could represent the end-point implementation of one of these interconnects. The layerings of PCI-Ex, HT, and RIO are well defined and they follow a broadly similar structure; an implementation structured according to transaction, data link, and physical layers (PHY) follows.
In Figure 2, a FIFO interface to the application layer transfers transaction layer packets between the end-point's application layer and the interconnect block. Within the interconnect block, transaction layer information such as header cyclic redundancy check (CRC) and seq uence number, and data link flow control are applied. At the PHY layer, packets are converted to a byte or bit sequence to which encoding and other operations are applied. In general, the transaction layer semantics are fairly similar between HT, PCI-Ex, and RIO interconnects. It may be possible to hide the details of the interface from an application client by constraining logical parameters of its interface to the system interconnect. At the PHY layer, both PCI-Ex and serial RIO use serializer/deserializer (serdes)-based interfaces. HT and parallel RIO use a similar parallel data bus, separate clock signals, and differential electrical signals. Comparing Transaction, Data Link Layers 1. Number of Outstanding Transactions
2. Multiple Priority Support
3. Multiple Flows Between Given Source-Destination Pairs
4. Ordering Models PCI-Ex and HT support the full producer-consumer model. With RIO, the “flag” and “data” as described in the PCI specification may need to be co-located on the same side of the bridge, potentially limiting a system designer's flexibility A related topic is whether the specification supports a dedicated posted request channel. There are certain deadlock scenarios documented in PCI Conventional 2.3 Appendix E, rules 5 and 7 that only occur with a minimum of 3 concatenated bus bridges. Appendices C.5.1 and C.5.3 of HT 1.05 provide an alternative description. Of the five buses considered here, only RIO does not support a posted request channel. Consequently, RIO applications may be limited to less complex bridging scenarios. We recommend that the internal bus interface designer support the PCI-X ordering model including the posted write channel and the transaction passing rules. This will allow considerable flexibility when connecting to and bridging between the various interfaces.
5. Coherency Support All protocols considered here vary widely in their precise mechanism, but each supports I/O coherency well. When designing a flexible internal bus interface, it is reasonable to assume that I/O coherency will exist and that it will be selectable on a per-transaction basis 6. Data Link Layer Properties For example, the maximum packet size at the data link layer impacts the transaction layer as well. The designer of a flexible interface must allow the maximum packet size to vary, as this value is different in each specification. However, a reasonable supported range of 64 to 512 bytes will decrease buffering costs and still give good p erformance. Error protection and link control mechanisms also vary per specification, but the result that reaches a flexible internal interface is an array of fatal or non-fatal errors that must be handled. That array includes things like an errorless response and an indication that the link has gone down. Flow control mechanisms are different among these buses but generally do not affect the internal bus interface. For RIO in particular, it is recommended to not use the less-efficient Rx controlled version of RIO flow control, but instead to use the Tx-controlled flow control option. This option is similar to the mechanisms in PCI-Ex and HT.
Physical Interface Comparison Below, we'll look at the issues involved with developing a flexible PHY for both the serial and parallel interconnects. Let's start by looking at the serial PHY. 1. Flexible Serial PHY
When looking at building the flexible serial PHY, however, the designer has to deal with some key desig n differences between the serial RIO and PCI-Ex specs. These include scrambling, the use of control characters, line speeds and widths, signal swing, pre-emphasis, clicking, jitter, power management, and plug-and-play support. Let's look at each in more detail Scrambling 8B/10B Coding and Use of Control (K) Characters In the serial 8B/10B interfaces, special “K characters” are used for link training and maintenance, bit and byte alignment, multi-lane deskew, clock compensation, packet delimiting, and other purposes. The particular characters used differ. Examples of different uses of the K characters are:
It becomes clear that a required capability of the flexible serial PHY is the programmable treatment of the K character set. Fortunately, this is already available in some programmable serdes chips. Link Speeds and Widths RIO currently supports signaling at 1.25, 2.5, and 3.125 Gbit/s, and will also likely embrace higher speed serdes in future. The key electrical parameters of RIO at 3.125 Gbbit/s are similar to XAUI (also 3.125 Gbit/s), while the lower RIO speeds are essentially baud-scaled versions of XAUI. Rate agile serdes technology spanning the 1.25- to 3.125-Gbit/s range, hence all current PCI-Ex and RIO speeds, is a key aspect of the flexible serial PHY. A wide range of lane widths is available in PCI-Ex, while RIO constrains the lane widths to x1 and x4. An x1 and x4 -capable PHY is likely to find wide application in the telecom/datacom space for both these interconnects. Signal Swing and Pre-Emphasis In its current version, PCI-Ex uses a form of pre-emphasis in which transition bits are given higher amplitude than following bits. Pre-emphasis is optional for RIO. However, in the backplane application of either interfaces, pre-emphasis is of clear benefit and its support is recommended. In chip-to-chip applications pre-emphasis may not be beneficial. It is therefore recommended that the flexible PHY solution make the use, and degree, of pre-emphasis configurable. Clocking and Jitter The clock tolerance specified by PCI-Ex is +/- 300 ppm; the corresponding requirement in serial RIO is +/- 100 ppm. The PCI-Ex requirement aligns with the common use of spread spectrum clocking in the PC industry. For telecom/datacom applications, the +/-100 ppm range without spread spectrum clocking should suffice. Power Management and Plug-and-Play Support
While a fully PCI-Ex compliant flexible PHY solution would require all these capabilities, applications of PCI-Ex for embedded telecom/datacom wherein these capabilities are not needed may become common. While too early to state with certainty, we feel that an appropria te flexible serial PHY solution for the telecom/datacom industry does not require these features. Without such features, PCI-Ex could use industry standard serdes technology at 2.5 Gbit/sjust like serial RIO. 2. Flexible PHY for the Parallel Interconnects
Electrically, both interfaces use a signaling scheme based upon LVDS. HT, however, uses a modified swing level and common mode voltage range. There is a wide enough overlap region between signal swings for the two interfaces, such that the standard LVDS swing (used in RIO) should work fine for both. Finding a suitable overlap for the common mode is more difficult. HT uses the lower common mode voltage for optimal operation from a 1.2 V rail. It is not desirable to move to the higher rail required for RIO common mode for reasons of power dissipation and use of lower voltage devices. One potential solution is to run the RIO driver at the HT common mode driver voltage. This should work fine as the RIO (LVDS) receiver tolerates a wide common mode voltage range to accommodate large ground differences between transmitter and receiver. These ground differences are usually negligible in the chip-to-chip applications for which parallel RIO and HT are intended. HT allows an auto-negotiated data path at the widths shown in Table 8 above. Typically, HT and parallel RIO are used as an interconnect to high speed embedded processors where an 8-bit or 16-bit data path is used. For these app lications the other HT data widths may not be required. In both HT and parallel RIO, the 8-bit and 16-bit data-widths require 1 and 2 clock signals, respectively. HT and RIO each require an out-of-band control signal to help distinguish between control and data sequences. A flexible PHY should support this signal; the logical control of the pin will need to be programmable. Finally, HT uses 4 single-ended pins for support of reset and power management functions, which should be supported. Wrap Up About the Authors Brian Holden is a principal engineer in PMC-Sierra's Microprocessor Products Division. Brian graduated with a Bachelor of Science in Electrical Engineering from the University of California, Davis and received a Master in Business Administration from Cornell University. He can be reached at brian_holden@pmc-sierra.com.
|
Home | Feedback | Register | Site Map |
All material on this site Copyright © 2017 Design And Reuse S.A. All rights reserved. |