RocketIO™ Transceiver User Guide UG024 (v2.3.2) June 24, 2004...
Page 2
Xilinx, Inc. assumes no obligation to correct any errors contained herein or to advise any user of this text of any correction if such be made. Xilinx, Inc. will not assume any liability for the accuracy or correctness of any engineering or software support or assistance provided to a user.
Page 3
02/25/02 • Updated 07/11/02 “PCB Design Requirements”. Added Appendix A, “RocketIO Transceiver Timing Model.” Changed Cell Models to Appendix B. • Added additional IMPORTANT NOTE regarding ISE revisions at the beginning of Chapter 1 09/27/02 • Added material in section “CRC (Cyclic Redundancy Check).”...
Page 4
1-2: Added qualifying footnote to XAUI 10GFC. • Table 1-5: Corrected definition of RXRECCLK. • Section “RocketIO Transceiver Instantiations” in Chapter 1: added text briefly explaining what the Instantiation Wizard does. • Table 2-14: Changed numerics from exact values to rounded-off approximations (nearest 5,000), and added footnote calling attention to this.
Page 5
3: Added Linear Technology part numbers (LT1963A, LT1964). • Section “Passive Filtering” in Chapter 3: Added new cap rules for RocketIO transceiver. • Figure 3-8, page 109: Replaced old Figure 3-8 with new figure showing “Power Filtering Network on Devices with Internal and External Capacitors.”...
Page 6
RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004 1-800-255-7778...
Preface About This Guide The RocketIO Transceiver User Guide provides the product designer with the detailed technical information needed to successfully implement the RocketIO™ multi-gigabit transceiver in Virtex-II Pro Platform FPGA designs. RocketIO Features The RocketIO transceiver’s flexible, programmable features allow a multi-gigabit serial transceiver to be easily integrated into any Virtex-II Pro design: •...
Appendix C, “Related Online Documents” — Bibliography of online Application Notes, Characterization Reports, and White Papers. For More Information For a complete menu of online information resources available on the Xilinx website, visit http://www.xilinx.com/virtex2pro/ or refer to Appendix C, “Related Online Documents.”...
Port and Attribute Names Input and output ports of the RocketIO transceiver primitives are denoted in upper-case letters. Attributes of the RocketIO transceiver are denoted in upper-case letters with underscores. Trailing numbers in primitive names denote the byte width of the data path. These values are preset and not modifiable.
Cross-reference link to a location Figure 2-5 in the Virtex-II Red text in another document Handbook. Go to http://www.xilinx.com Blue, underlined text Hyperlink to a website (URL) the latest speed files. www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
Chapter 1 RocketIO Transceiver Overview Basic Architecture and Capabilities The RocketIO transceiver is based on Mindspeed’s SkyRail™ technology. Figure 1-1, page depicts an overall block diagram of the transceiver. Up to 20 transceiver modules are available on a single Virtex-II Pro FPGA, depending on the part being used.
• Dynamic changes can be made by the ports of the primitives The RocketIO transceiver consists of the Physical Media Attachment (PMA) and Physical Coding Sublayer (PCS). The PMA contains the serializer/deserializer (SERDES), TX and RX buffers, clock generator, and clock recovery circuitry. The PCS contains the 8B/10B encoder/decoder and the elastic buffer supporting channel bonding and clock correction.
Chapter 1: RocketIO Transceiver Overview List of Available Ports The RocketIO transceiver primitives contain 50 ports, with the exception of the 46-port GT_ETHERNET and GT_FIBRE_CHAN primitives. The differential serial data ports (RXN, RXP, TXN, and TXP) are connected directly to external pads; the remaining 46 ports are all accessible from the FPGA logic (42 ports for GT_ETHERNET and GT_FIBRE_CHAN).
Page 25
Bit 0 = Resync state (High) If RX_LOSS_OF_SYNC_FSM = FALSE, RXLOSSOFSYNC indicates: Bit 1 = Received data invalid (High) Bit 0 = Channel bonding sequence recognized (High) Serial differential port (FPGA external) RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004 1-800-255-7778...
Page 26
Chapter 1: RocketIO Transceiver Overview Table 1-5: GT_CUSTOM , GT_AURORA, GT_FIBRE_CHAN , GT_ETHERNET GT_INFINIBAND, and GT_XAUI Primitive Ports (Continued) Port Port Definition Size RXNOTINTABLE 1, 2, 4 Status of encoded data when the data is not a valid character when asserted High.
Page 27
2. GT_FIBRE_CHAN and GT_ETHERNET ports do not have the three CHBOND** or ENCHANSYNC ports. 3. The port size changes with relation to the primitive selected, and also correlates to the byte mapping. 4. External ports only accessible from package pins. RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004...
Chapter 1: RocketIO Transceiver Overview Primitive Attributes The primitives also contain attributes set by default to specific values controlling each specific primitive’s protocol parameters. Included are channel-bonding settings (for primitives supporting channel bonding), clock correction sequences, and CRC. Table 1-6 shows a brief description of each attribute.
Page 29
Primitive Attributes Table 1-6: RocketIO Transceiver Attributes (Continued) Attribute Description CHAN_BOND_OFFSET Integer 0-15 that defines offset (in bytes) from channel bonding sequence for realignment. It specifies the first elastic buffer read address that all channel-bonded transceivers have immediately after channel bonding.
Page 30
Chapter 1: RocketIO Transceiver Overview Table 1-6: RocketIO Transceiver Attributes (Continued) Attribute Description CLK_COR_INSERT_IDLE_FLAG TRUE/FALSE controls whether RXRUNDISP input status denotes running disparity or inserted-idle flag. FALSE: RXRUNDISP denotes running disparity when RXDATA is decoded data. TRUE: RXRUNDISP is raised for the first byte of each inserted (repeated) clock correction (“Idle”) sequence (when RXDATA is decoded data).
Page 31
Primitive Attributes Table 1-6: RocketIO Transceiver Attributes (Continued) Attribute Description CRC_FORMAT ETHERNET, INFINIBAND, FIBRE_CHAN, USER_MODE CRC algorithm selection. Modifiable only for GT_AURORA_n, GT_XAUI_n, and GT_CUSTOM. USER_MODE allows user definition of Start of Packet (SOP) and End of Packet (EOP) K-characters.
Page 32
Chapter 1: RocketIO Transceiver Overview Table 1-6: RocketIO Transceiver Attributes (Continued) Attribute Description RX_DECODE_USE This determines if the 8B/10B decoding is bypassed. FALSE denotes that it is bypassed. RX_LOS_INVALID_INCR Power of two in a range of 1 to 128 that denotes the number of valid characters required to “cancel out”...
1-bit control and status bits (TXKERR[0]) correlating to the data bits TXDATA[7:0]. Footnote Table 1-5 shows the ports that use byte mapping. Table 1-9: Control/Status Bus Association to Data Bus Byte Paths Control/Status Bit Data Bits [7:0] [15:8] [23:16] [31:24] RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004 1-800-255-7778...
Page 38
Chapter 1: RocketIO Transceiver Overview www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
The reference clocks connect to the REFCLK or BREFCLK ports of the RocketIO multi-gigabit transceiver (MGT). While only one of these reference clocks is needed to drive the MGT, BREFCLK or BREFCLK2 must be used for serial speeds of 2.5 Gb/s or greater.
Page 40
Through BUFG? √ √ √ REFCLK √ √ BREFCLK Note (1) Note (1) Notes: 1. Because of dedicated routing to reduce jitter, BREFCLK cannot be routed through the fabric. www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
BREFCLK At speeds of 2.5 Gb/s or greater, REFCLK configuration introduces more than the maximum allowable jitter to the RocketIO transceiver. For these higher speeds, BREFCLK configuration is required. The BREFCLK configuration uses dedicated routing resources that reduce jitter. BREFCLK must enter the FPGA through dedicated clock I/O. BREFCLK can connect to the BREFCLK inputs of the transceiver and the CLKIN input of the DCM for creation of USRCLKs.
Page 42
Pin Number Pin Number Pin Number Pin Number FF896 F16/G16 G15/F15 AH16/AJ16 AJ15/AH15 FF1152 H18/J18 J17/H17 AK18/AL18 AL17/AK17 FF1148 FF1517 E20/D20 J20/K20 AR20/AT20 AL20/AK20 FF1704 G22/F22 F21/G21 AU22/AT22 AT21/AU21 FF1696 www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
1. Since CLK0 is needed for feedback, it can be used instead of CLK180 to clock USRCLK or USRCLK2 of the transceiver with the use of the transceiver’s local inverter, saving a global buffer (BUFG). RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004...
TWO_BYTE_CLK_arch of TWO_BYTE_CLK is -- Components Declarations: component BUFG port ( I : in std_logic; O : out std_logic end component; component IBUFG port ( I : in std_logic; www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
Page 48
: out std_logic; CLK270 : out std_logic; CLK2X : out std_logic; CLK2X180 : out std_logic; CLKDV : out std_logic; CLKFX : out std_logic; CLKFX180 : out std_logic; LOCKED : out std_logic; www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
Page 49
O => USRCLK_M U3_BUFG: BUFG port map ( I => CLKDV_W, O => USRCLK2_M_W end FOUR_BYTE_CLK_arch; Verilog Template // Module: FOUR_BYTE_CLK // Description: Verilog Submodule DCM for 4-byte GT RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004 1-800-255-7778...
: out std_logic; REFCLK : out std_logic; LOCK : out std_logic end ONE_BYTE_CLK; architecture ONE_BYTE_CLK_arch of ONE_BYTE_CLK is -- Components Declarations: component BUFG port ( : in std_logic; : out std_logic RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004 1-800-255-7778...
DCMs. The clocks are then multiplexed before input into the RocketIO transceiver. User logic can be designed to determine during auto negotiation if the reference clock used for the transceiver is incorrect.
Module 3 of the Virtex-II Pro data sheet. The timing relationships are further discussed and illustrated in Appendix A, “RocketIO Transceiver Timing Model.” Data Path Latency With the many configurations of the MGT, the both transmit and receive data path latencies vary.
VTTX. If VTTX is not powered, TXP/TXN float to a high-impedance state. Receive input pins RXP/RXN respond similarly to the state of receive termination supply VTRX. www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
Page 59
(USRCLK2_M' event and USRCLK2_M = '1') then if(DCM_LOCKED = '0') then RST <= '1'; elsif (startup_count = "00000010") then RST <= '0'; end if; RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004 1-800-255-7778...
8B/10B Encoding/Decoding 8B/10B Encoding/Decoding Overview The RocketIO transceiver has the ability to encode eight bits into a 10-bit serial stream using standard 8B/10B encoding. This guarantees a DC-balanced, edge-rich serial stream, facilitating DC- or AC-coupling and clock recovery. Table 2-10, page 63, shows the significance of 8B/10B ports that change purpose, depending on whether 8B/10B is bypassed or enabled.
TXCHARDISPVAL and TXCHARDISPMODE ports. When TXCHARDISPMODE is set High, the running disparity is set before encoding the specific byte. TXCHARDISPVAL determines if the disparity is negative (set Low) or positive (set High). Table 2-11 illustrates this. RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004 1-800-255-7778...
If a bit is asserted High, it means that TXDATA and TXCHARISK have combined to create an invalid control (K) character. The transmission, reception, and decode of this invalid character will create unexpected RXDATA results in the RocketIO receiver, or in other transceivers.
K28.5- (or K28.5+) 0 1 0 1 10111100 K28.5- (or K28.5+) The RocketIO core receives this data, but for cases where TXCHARDISPVAL is set High during data transmission, the disp_err bit in CHAN_BOND_SEQ must also be set High. RocketIO™ Transceiver User Guide www.xilinx.com...
RX data map during 8B/10B bypass. RXCHARISK[0] RXRUNDISP[0] RXDATA[7] ..RXDATA[0] First received Last received UG024_10b_051602 Figure 2-14: 10-Bit RX Data Map with 8B/10B Bypassed www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
TXCHARDISPMODE, TXCHARDISPVAL, RXCHARISK, and RXRUNDISP are added to the 8- bit data bus. Please use the Architecture Wizard to create instantiation templates. This wizard creates code and instantiation templates that define the attributes for a specific application. RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004 1-800-255-7778...
Deserializer The RocketIO transceiver core accepts serial differential data on its RXP and RXN inputs. The clock/data recovery circuit extracts clock phase and frequency from the incoming data stream and re-times incoming data to this clock.
For GT_X0Y0 (bottom edge), the best slices are SLICE_X14Y0 and SLICE_X14Y1. This must be done for each MGT. Figure 2-17 shows this recommendation. GT_std_ PCOMMA_CONTROL ENPCOMMAALIGN RXRECCLK MCOMMA_CONTROL ENMCOMMAALIGN UG024_39_013103 Figure 2-17: Synchronizing Comma Align Signals to RXRECCLK RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004 1-800-255-7778...
Page 70
Figure 2-18: Top MGT Comma Control Flip-Flop Ideal Locations ug024_44_031303 Figure 2-19: Bottom MGT Comma Control Flip-Flop Ideal Locations www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
PCOMMA_10B_VALUE, MCOMMA_10B_VALUE The RocketIO transceiver allows the user to define a comma character using these three attributes. The COMMA_10B_MASK bits are used in conjunction with PCOMMA_10B_VALUE (to define a plus-comma) or MCOMMA_10B_VALUE (to define a minus-comma) to define some number of recognized comma characters.
The clock/data recovery (CDR) circuits lock to the reference clock automatically if the data is not present. For proper operation, TXUSRCLK must have the exact same frequency as REFCLK. www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
2-20, where the solid read pointer increments to the value represented by the dashed pointer. This accelerates the emptying of the buffer, preventing its overflow. The transceiver design skips a single byte sequence, when necessary, to partially empty a buffer. If attribute RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004...
(See “Channel Bonding (Channel Alignment),” page 79.) It is recommended that this attribute always be set to TRUE, since this www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
1_1, 1_2, 1_3. 1_4 2_1, 2_2, 2_3, 2_4 Notes: 1. Applicable only if CLK_COR_SEQ_2_USE is set to TRUE. CLK_COR_INSERT_IDLE_FLAG, CLK_COR_KEEP_IDLE, CLK_COR_REPEAT_WAIT These attributes help control how clock correction is implemented. RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004 1-800-255-7778...
For some applications, it is beneficial to know if incoming data is valid or not, and if the MGT is synchronized on the data. For applications using the 8B/10B encoding scheme, the www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
This is intended to give early warning of possible problems well before corrupt data appears on RXDATA. RX_LOSS_OF_SYNC_FSM, a TRUE/FALSE attribute, indicates what the output of the RXLOSSOFSYNC port (see below) means. RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004...
FSM goes to state LOSS_OF_SYNC. LOSS_OF_SYNC (RXLOSSOFSYNC = 10) The FSM remains in this state until a comma is received, at which time it goes to state RESYNC. www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
2-22. To ensure that the channels remain properly aligned following the channel bonding operation, the Master transceiver must also control the clock correction operations described in the previous section for all channel-bonded transceivers. RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004...
CHAN_BOND_WAIT = 8 CHAN_BOND_OFFSET = CHAN_BOND_WAIT CHAN_BOND_LIMIT = 2 x CHAN_BOND_WAIT Lower values are not recommended. Use higher values only if channel bonding sequences are farther apart than 17 bytes. www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
GT_CUSTOM is the only primitive allowing modification to the sequence. These sequences are comprised of one or two sequences of length up to 4 bytes each, as set by CHAN_BOND_SEQ_LEN and CHAN_BOND_SEQ_2_USE. RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004...
CHAN_BOND_WAIT. CHBONDDONE This port indicates when a channel alignment has occurred in the MGT. When it is asserted, RXDATA is valid after RXCLKCORCNT goes to a 101. www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
CBS before or after the expected one. CRC (Cyclic Redundancy Check) Overview Cyclic Redundancy Check (CRC) is a procedure to detect errors in the received data. The RocketIO transceiver CRC logic supports the 32-bit invariant CRC calculation used by Infiniband, Fibre Channel, and Gigabit Ethernet.
CRC Generation RocketIO transceivers support a 32-bit invariant CRC (fixed 32-bit polynomial shown below) for Gigabit Ethernet, Fibre Channel, Infiniband, and user-defined modes. The CRC recognizes the SOP (Start of Packet), EOP (End of Packet), and other packet features to identify the beginning and end of data.
FIBRE_CHAN The FIBRE_CHAN CRC is similar to USER_MODE CRC (Figure 2-24), with one exception: In FIBRE_CHAN, SOP and EOP are predefined protocol delimiters. Unlike USER_MODE, RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004 1-800-255-7778...
Page 86
Figure 2-25: Ethernet Mode Designs should generate only the /K28.5/D16.2/ IDLE sequence for transmission, never /K28.5/D5.6/. When the RocketIO CRC determines that the running disparity must be inverted to satisfy Gigabit Ethernet requirements, it will convert the first /K28.5/D16.2/ IDLE following a packet to /K28.5/D5.6/, performing the necessary conversion.
Page 87
The size of these headers is shown in Table 2-21. Table 2-21: Global and Local Headers Packet Description Size Local Routing Header 8 Bytes Global Routing Header 40 Bytes IBA Transport Header 12 Bytes RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004 1-800-255-7778...
This should cause the receiver to register that a CRC error has occurred. RocketIO CRC Support Limitations There are limitations to the CRC support provided by the RocketIO transceiver core: • RocketIO CRC support is implementable for single-channel use only. Computation and byte- striping of CRC across multiple bonded channels is not supported.
Fabric Interface (Buffers) • The RocketIO transceiver does not compute the 16-bit variant CRC used for Infiniband, and thus does not fulfill the Infiniband CRC requirement. Infiniband CRC can be computed in the FPGA fabric. • All CRC formats have minimum allowable packet sizes. These limits are larger than those set by the user mode, and are defined by the specific protocol.
50Ω (default) or 75Ω impedance. Transmit Termination On-chip termination is provided at the transmitter, eliminating the need for external termination. Programmable options exist for 50Ω (default) and 75Ω termination. www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
(TXN, Normal Mode TXP) and are sent to another transceiver without being sent to its own receiver logic. During normal operation, LOOPBACK should be set to 00. RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004 1-800-255-7778...
Other Important Design Notes Receive Data Path 32-bit Alignment The RocketIO transceiver uses the attribute ALIGN_COMMA_MSB to align protocol delimiters with the use of comma characters (special K-characters K28.5, K28.1, and K28.7 for most protocols). Setting ALIGN_COMMA_MSB to TRUE/FALSE determines where the comma characters appear on the RXDATA bus.
RXCHARISCOMMA for comma detection. Verilog /********************************************************************* XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION “AS IS” AS A COURTESY TO YOU, SOLELY FOR USE IN DEVELOPING PROGRAMS AND SOLUTIONS FOR XILINX DEVICES. BY PROVIDING THIS DESIGN, CODE,...
Page 95
// aligned_data[31:0] -- Properly aligned 32-bit ALIGNED_DATA // sync -- Indicator that aligned_data is properly aligned // aligned_rxisk[3:0] - properly aligned 4 bit RXCHARISK // Inputs - These are all RocketIO inputs or outputs // as indicated: // usrclk2 -- RXUSRCLK2...
Page 96
( rxchariscomma3 | rxchariscomma1 ) ) sync <= 1'b1; // This process generates aligned_data with commas aligned in [31:24], // assuming that incoming commas are aligned to [31:24] or [15:8]. www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
-- * -- *********************************************************** -- *********************************************************** -- * -- * XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION “AS IS” -- * AS A COURTESY TO YOU, SOLELY FOR USE IN DEVELOPING PROGRAMS AND -- * SOLUTIONS FOR XILINX DEVICES.
Page 98
-- aligned_data[31:0] -- Properly aligned 32-std_logic ALIGNED_DATA -- sync -- Indicator that aligned_data is properly aligned -- aligned_rxisk[3:0] -properly aligned 4-std_logic RXCHARISK -- Inputs - These are all RocketIO inputs or outputs -- as indicated: -- usrclk2 -- RXUSRCLK2 -- rxreset -- RXRESET...
Page 99
-- should be properly aligned, with the comma -- in aligned_data[31:24]. Output aligned_data is -- considered to be in sync when a comma is seen -- on rxdata (as indicated RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004 1-800-255-7778...
Page 100
<= '1'; ELSE rxdata_hold(31 DOWNTO 0) <= rxdata(31 DOWNTO 0); rxisk_hold(3 DOWNTO 0) <= rxisk(3 DOWNTO 0); END IF; END IF; END IF; END PROCESS; END ARCHITECTURE translated; www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
TXN pin GNDA UG024_46_021704 Figure 3-1: Differential Amplifier The RocketIO transceiver is implemented in Current Mode Logic (CML). A CML output consists of transistors configured as shown in Figure 3-1. CML uses a positive supply and offers easy interface requirements. In this configuration, both legs of the driver, V...
LOGIC or normal level (i.e., no pre-emphasis). A second characteristic of RocketIO transceiver pre-emphasis is that the STRONG level is reduced after some time to the LOGIC level, thereby minimizing the voltage swing necessary to switch the differential pair into the opposite state.
Page 103
Pre-emphasis Techniques UG024_17_020802 Figure 3-2: Alternating K28.5+ with No Pre-Emphasis Logic High Strong High Logic Low Strong Low UG024_18_020802 Figure 3-3: K28.5+ with Pre-Emphasis RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004 1-800-255-7778...
(ITU). Jitter is typically expressed in a decimal fraction of Unit Interval (UI), e.g. 0.3 UI. Total Jitter = Deterministic Jitter (DJ) + Random Jitter (RJ). RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004 1-800-255-7778...
The serial transceiver input is locked to the input data stream through Clock and Data Recovery (CDR), a built-in feature of the RocketIO transceiver. CDR keys off the rising and falling edges of incoming data and derives a clock that is representative of the incoming data rate.
FIFO acts much like a pass-through buffer. PCB Design Requirements To ensure reliable operation of the RocketIO transceivers, certain requirements must be met by the designer. This section outlines these requirements governing power filtering networks, high-speed differential signal traces, and reference clocks.
Page 108
RocketIO transceiver is interfacing with a transceiver from another vendor, termination voltage may be dictated by the specifications of the other transceiver. In cases where the RocketIO transceiver is interfacing with another RocketIO transceiver, any termination voltage my be used.
PCB; those labeled “Internal” denote a device that contains all necessary 0.22 µF capacitors for RocketIO power pins. Table boxes that say “No MGTs” denote a device that does not have any RocketIO transceivers.
Page 110
Chapter 3: Analog Design Considerations Table 3-6: Device and Package Combinations showing Devices with RocketIO Power Filtering Capacitors Internal to the Package and Externally Mounted on the PCB XC2VP2 XC2VP4 XC2VP7 XC2VP20 XC2VP30 XC2VP40 XC2VP50 XC2VP70 XC2VP100 FG256 External External...
Page 111
“L[n]” locations; the capacitors are mounted at the eight “C[n]” locations. Figure 3-10: Example Power Filtering PCB Layout for Four MGTs, In Device with External Capacitors, Top Layer RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004...
High-Speed Serial Trace Design Routing Serial Traces All RocketIO transceiver I/Os are placed on the periphery of the BGA package to facilitate routing and inspection (since JTAG is not available on serial I/O pins). Two output/input impedance options are available in the RocketIO transceivers: 50Ω and 75Ω. Controlled impedance traces with a corresponding impedance should be used to connect the RocketIO transceiver to other compatible transceivers.
TTL and other similarly noisy standards. The RocketIO transceiver is designed to function at 3.125 Gb/s through 40 inches of PCB with two high-bandwidth connectors. Longer trace lengths require either a low-loss dielectric or considerably wider serial traces.
UG024_23_042503 Figure 3-15: AC-Coupled Serial Link DC coupling (direct connection) is preferable in cases where RocketIO transceivers are interfaced with other RocketIO transceivers or other Mindspeed transceivers that have compatible differential and common mode voltage specifications. Passive components are not required when DC coupling is used.
Page 115
= 100Ω Differential UG024_24_042503 Figure 3-16: DC-Coupled Serial Link The RocketIO differential receiver produces the best bit-error rates when its common-mode voltage falls between 1.6V and 1.8V. When the receiver is AC-coupled to the line, V is the sole determinant of the receiver common-mode voltage, and therefore must be set to a value within this range.
Other Important Design Notes Powering the RocketIO Transceivers IMPORTANT! All RocketIO transceivers in the FPGA, whether instantiated in the design or not, must be connected to power and ground. Unused transceivers may be powered by any 2.5 V source, and passive filtering is not required.
Page 118
Chapter 3: Analog Design Considerations www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
Slave_2_hops setting. Figure 4-2 shows the channel bonding mode and linking for a 2VP50, which (optionally) contains more transceivers (16) per chip. RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004 1-800-255-7778...
Page 124
Chapter 4: Simulation and Implementation www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
Page 125
Figure A-1.) The model presented in this section treats the RocketIO core as a “black box.” Propagation delays internal to the RocketIO core logic are ignored. Signals are characterized with setup and hold times for inputs, and with clock to valid output times for outputs.
Setup/Hold Times of Inputs Relative to Clock Basic Format: ParameterName_SIGNAL where ParameterName = T with subscript string defining the timing relationship SIGNAL name of RocketIO signal synchronous to the clock ParameterName Format: Setup time before clock edge GxCK Hold time after clock edge GCKx where...
The following four tables list the timing parameters as reported by the implementation tools relative to the clocks given in Table A-1, along with the RocketIO signals that are synchronous to each clock. (No signals are synchronous to REFCLK or TXUSRCLK.) A timing diagram (Figure A-2) illustrates the timing relationships.
Page 129
GCKC _TCRCE/T _TCRCE Control inputs TXFORCECRCERR GCCK GCKC _TPOL/T _TPOL Control inputs TXPOLARITY GCCK GCKC _TINH/T _TINH Control inputs TXINHIBIT GCCK GCKC _LBK/T _LBK Control inputs LOOPBACK[1:0] GCCK GCKC RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004 1-800-255-7778...
Page 130
Clock pulse width, Low state TXUSRCLK TX2PWL Notes: 1. REFCLK is not synchronous to any RocketIO signals. 2. BREFCLK is not synchronous to any RocketIO signals. 3. TXUSRCLK is not synchronous to any RocketIO signals. www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
Page 131
GWL x GWH CLOCK GCCK GCKC CONTROL INPUTS GCKCO CONTROL OUTPUTS GCKDO DATA OUTPUTS GDCK GCKD DATA INPUTS UG012_106_02_100101 Figure A-2: RocketIO Transceiver Timing Relative to Clock Edge RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004 1-800-255-7778...
Page 132
Appendix A: RocketIO Transceiver Timing Model www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
001001 0111 K29.7 111 11101 101110 1000 010001 0111 K30.7 111 11110 011110 1000 100001 0111 Notes: 1. Used for testing and characterization only. Do not use in protocols. RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004 1-800-255-7778...
Page 142
Appendix B: 8B/10B Valid Characters www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
125 MHz is serialized and retransmitted at 2.5 Gb/s. At a 156.25 MHz input, the output is at its maximum speed of 3.125 Gb/s. The parallel data stream applied to the RocketIO transceiver can either be 20 bits direct, or it can be written as 16 bits, to which 8b/10b coding is applied to generate the 20 bits required.
This application note describes the implementation of a RocketIO transceiver bit-error rate tester (BERT) reference design demonstrating a serial link (1.0 Gb/s to 3.125 Gb/s) between two RocketIO multi-gigabit transceivers (MGT) embedded in a single Virtex-II Pro FPGA. To build a system, an IBM CoreConnect™ infrastructure connects the PowerPC™405 processor (PPC405) to external memory and other peripherals using the processor local bus (PLB) and device control register (DCR) buses.
This application note describes a design that reduces latency through the receive elastic buffer of the Virtex-II Pro™ RocketIO™ transceiver. This note is only applicable for designs that do not use the clock correction or channel bonding features of the RocketIO transceiver. (These operations can still be done in the fabric, if needed).
Each MGT has separate transmit and receive functions (full-duplex) and can be operated at baud rates from 600 Mb/s to 3.125 Gb/s. Additionally, every RocketIO MGT block is fully independent and contains a complete set of common SerDes (serializer/deserializer) functions.
Instruments™ TLK3101, and the Mindspeed™ CX27201. The features offered by each of these devices are presented, along with a discussion of how the RocketIO transceiver can afford an alternative to each multi-chip solution. Links to Xilinx information resources for the Virtex-II Pro Platform FPGA and embedded RocketIO transceiver are presented in the final section.
Page 148
Appendix C: Related Online Documents www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
(Epson), for LVPECL synchronization logic Transmitter and Elastic (Receiver) Buffers oscillator (Pletronics), for LVDS Ports (defined) Transmitter Buffer (FIFO) Reset/Power Down CHBONDDONE RocketIO transceiver CHBONDI additional resources CHBONDO analog design considerations www.xilinx.com RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
Page 151
User Guide conventions online references port and attribute names typographical Vitesse Disparity Example Voltage Regulation RocketIO™ Transceiver User Guide www.xilinx.com UG024 (v2.3.2) June 24, 2004 1-800-255-7778...
Page 152
RocketIO™ Transceiver User Guide 1-800-255-7778 UG024 (v2.3.2) June 24, 2004...
Need help?
Do you have a question about the RocketIO and is the answer not in the manual?
Questions and answers