EasyManua.ls Logo

Xilinx LogiCORE 1000BASE-X - User Manual

Xilinx LogiCORE 1000BASE-X
230 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
Loading...
R
LogiCOREā„¢ IP
Ethernet 1000BASE-X
PCS/PMA or SGMII v9.1
User Guide
UG155 March 24, 2008

Table of Contents

Question and Answer IconNeed help?

Do you have a question about the Xilinx LogiCORE 1000BASE-X and is the answer not in the manual?

Xilinx LogiCORE 1000BASE-X Specifications

General IconGeneral
Protocol1000BASE-X
Data Rate1 Gbps
Target DeviceXilinx FPGAs
Supported StandardsIEEE 802.3
ImplementationSoft IP
Product NameLogiCORE IP 1000BASE-X
Core TypeSoft IP
InterfaceGMII, RGMII, SGMII, TBI

Summary

Preface

About This Guide

Provides information about generating, customizing, and simulating the Xilinx Ethernet 1000BASE-X PCS/PMA or SGMII core.

Guide Contents

Outlines the structure and content of the user guide, detailing each chapter's scope and topic.

Chapter 1: Introduction

About the Core

Describes the Ethernet 1000BASE-X PCS/PMA or SGMII core as a Xilinx CORE Generator IP.

Additional Core Resources

Lists additional documents available for the core, including data sheets, release notes, and user guides.

Technical Support

Explains how to obtain technical support from Xilinx for the core and its usage guidelines.

Chapter 2: Core Architecture

System Overview

Introduces the core's function in implementing PCS/PMA sub-layers or as a GMII to SGMII bridge with RocketIO transceivers.

GMII Block

Explains the client-side GMII interface, usable internally or externally via device IOBs.

MDIO Management Interface Pinout (Optional)

Details the optional MDIO interface signals for accessing PCS Management Registers, connected to MAC devices.

Core Interfaces

Discusses core ports as internal FPGA fabric connections and the role of the HDL example design.

Chapter 3: Generating and Customizing the Core

GUI Interface

Introduces the GUI screen used for setting core parameters and options during generation.

Select Standard

Describes the options for selecting the core's operational standard: 1000BASE-X, SGMII, or Both.

Physical Interface

Details the two physical interface options: RocketIO transceiver and Ten Bit Interface (TBI).

Output Generation

Lists the files output by CORE Generator, including netlists, HDL example designs, and scripts.

Chapter 4: Designing with the Core

Design Overview

Introduces creating designs using the core, based on the delivered example design implementations.

1000 BASE-X Standard Using RocketIO Transceiver Example Design

Illustrates the example design for 1000BASE-X mode with RocketIO transceivers, split into block and top levels.

Design Guidelines

Provides guidance for creating designs using the core, emphasizing adherence to provided steps for success.

Chapter 5: Using the Client-side GMII Data Path

Designing with the Client-side GMII for the 1000 BASE-X Standard

Provides guidelines for using the client-side GMII with the 1000BASE-X standard, referencing IEEE 802.3 for GMII definition.

GMII Reception

Introduces figures illustrating GMII reception, noting clock signal source variation based on core options.

Using the Virtex-II Pro RocketIO Transceiver CRC Functionality

Details enabling the RocketIO transceiver's CRC functionality for Virtex-II Pro, with a caution for SGMII standard.

GMII Receiver Logic

Describes external GMII receiver logic, showing registered output signals in IOBs and clock forwarding.

Chapter 6: The Ten-Bit Interface

Ten-Bit-Interface Logic

Explains the Ten-Bit Interface (TBI) logic, split into hierarchical layers for customer design instantiation.

Receiver Logic

Introduces receiver logic for TBI, detailing signal names and logic matching example designs.

Clock Sharing Across Multiple Cores with TBI

Illustrates sharing clock resources across multiple core instances using TBI, emphasizing gtx_clk sharing.

Chapter 7: 1000 BASE-X with RocketIO Transceivers

RocketIO Transceiver Logic

Describes the logic for interfacing the core with RocketIO transceivers across supported device families.

Virtex-II Pro Devices

Details core integration with Virtex-II Pro RocketIO MGT, connections, logic, and constraints for 1000BASE-X.

Clock Sharing Across Multiple Cores with RocketIO

Illustrates clock sharing for multiple core instances with Virtex-II Pro MGTs, emphasizing shared userclk, userclk2, and brefclk.

Chapter 8: SGMII; Dynamic Standards Switching with RocketIO Transceivers

Receiver Elastic Buffer Implementations

Introduces two Rx Elastic Buffer implementations: RocketIO transceiver buffer and FPGA fabric buffer.

RocketIO Logic using the RocketIO Rx Elastic Buffer

Explains that system connections and clock circuitry are identical to 1000BASE-X when using RocketIO Rx Elastic Buffer.

Clock Sharing - Multiple Cores with RocketIO, Fabric Elastic Buffer

Illustrates clock sharing for multiple core instances with fabric Rx Elastic Buffer and Virtex-II Pro MGTs, including area constraints.

Chapter 9: Configuration and Status

MDIO Management Interface

Explains accessing core configuration and status via Management Registers through the MDIO interface.

Register 0: Control Register

Details the Control Register (Register 0) for 1000BASE-X, explaining bits like Reset, Loopback, and Speed Selection.

Register 1: Status Register

Describes the Status Register (Register 1) for 1000BASE-X, covering bits for link status and auto-negotiation.

SGMII Standard Using the Optional Auto-Negotiation

Explains SGMII registers adapted from IEEE 802.3, covering SGMII link and Medium states.

Chapter 10: Auto-Negotiation

Overview of Operation

Explains Auto-Negotiation requirements: must be enabled or disabled in both devices for proper function.

1000 BASE-X Standard

Describes the 1000BASE-X Auto-Negotiation function as per IEEE 802.3 clause 37, enabling advertisement of supported modes.

SGMII Standard

Illustrates SGMII Auto-Negotiation operation, highlighting PHY's two sides and core's reliance on PHY results.

Using the Auto-Negotiation Interrupt

Explains the an_interrupt port for signaling Auto-Negotiation completion, controlled via MDIO Register 16.

Chapter 11: Dynamic Switching of 1000 BASE-X and SGMII Standards

Typical Application

Illustrates a typical application scenario for dynamic switching between 1000BASE-X and SGMII standards using an external PHY.

Selecting the Power-On; Reset Standard

Explains selecting the default standard (1000BASE-X or SGMII) via the basex_or_sgmii port or MDIO.

Switching the Standard Using MDIO

Details switching the core's standard (1000BASE-X/SGMII) using MDIO Register 17 and subsequent register interpretation.

Chapter 12: Constraining the Core

Required Constraints

Outlines constraints for implementing the core, including device selection and IOB requirements.

Virtex-II Pro RocketIO MGTs for 1000 BASE-X Constraints

Details constraints for Virtex-II Pro MGTs in 1000BASE-X, referencing example UCF sections and HDL source code.

TBI Input Setup;Hold Timing

Illustrates and specifies setup and hold time windows for TBI input signals, defining the worst-case data valid window.

Chapter 13: Interfacing to Other Cores

Integrating with the 1-Gigabit Ethernet MAC Core

Discusses integrating the core with the 1-Gigabit Ethernet MAC core for extended system functionality.

Integration of the 1-Gigabit Ethernet MAC to Provide SGMII (or Dynamic Switching) Functionality

Explains providing SGMII functionality by integrating core with 1-Gigabit MAC, noting Rx Elastic Buffer usage and optional SGMII Adaptation Module.

Integrating with the Tri-Mode Ethernet MAC Core

Discusses integrating the core with the Tri-Mode Ethernet MAC core for MAC sublayer functionality at multiple speeds.

Chapter 14: Special Design Considerations

Power Management

Discusses power management for the core, particularly with RocketIO transceivers, using PCS Configuration Register 0 or configuration_vector.

Startup Sequencing

Details startup sequencing, emphasizing the need to exit the isolate state via PCS Configuration Register 0 or configuration_vector.

Loopback

Explains loopback mode implementation, enabled/disabled via MDIO or Optional Configuration Vector.

Chapter 15: Implementing the Design

Pre-implementation Simulation

Describes using a functional model generated by CORE Generator for simulation during the design phase.

Synthesis

Details the synthesis process using XST for VHDL designs, including creating XST project and script files.

Implementation

Introduces the implementation phase, starting with generating the Xilinx netlist using ngdbuild.

Appendix A: Core Verification, Compliance, and Interoperability

Verification

States the core has been verified through extensive simulation and hardware verification.

Simulation

Describes using a parameterizable transaction-based test bench for simulation, covering register access, sync loss, and frame handling.

Hardware Verification

Details hardware verification on test platforms, including 1000BASE-X with 1-Gigabit MAC and SGMII with Tri-speed MAC.

Appendix B: Core Latency

Latency for 1000 BASE-X PCS with TBI

Provides latency measurements for the core only (excluding IOBs/Elastic Buffer) for 1000BASE-X PCS with TBI.

Latency for 1000 BASE-X PCS and PMA Using a RocketIO Transceiver

Provides core-only latency measurements for 1000BASE-X PCS/PMA with RocketIO transceiver.

Appendix C: Calculating the DCM Fixed Phase Shift Value

Requirement for DCM Phase Shifting

Explains DCM usage for input setup/hold requirements with TBI/GMII, involving static alignment via phase shift.

Finding the Ideal Phase Shift Value for Your System

Recommends extensive hardware integration investigation for phase shift settings, as empirical recommendations are not provided.

Appendix D: 1000 BASE-X State Machines

Start of Frame Encoding

Illustrates GMII encoding translation to code-group stream by PCS Transmit Engine for even transmission case.

Reception of the Even Case

Illustrates reception of inbound code-group stream for even case, translating to receiver GMII via PCS Receive Engine.

Reception of the Odd Case

Illustrates reception of inbound code-group stream for odd case, translating to receiver GMII via PCS Receive Engine, noting preamble byte loss.

Appendix E: Rx Elastic Buffer Specifications

Rx Elastic Buffers: Depths and Maximum Frame Sizes

Illustrates RocketIO transceiver Rx Elastic Buffer depths and thresholds, and translates buffer sizes to maximum frame sizes.

SGMII Fabric Rx Elastic Buffer

Illustrates FPGA fabric Rx Elastic Buffer depth and thresholds for SGMII, discussing its optional use and buffer analysis.

TBI Rx Elastic Buffer

Describes TBI Rx Elastic Buffer for SGMII/Dynamic Switching and 1000BASE-X, noting its smaller size for logic saving and low latency.

Appendix F: Debugging Guide

General Checks

Lists general checks for debugging, including timing constraints, clock sources, and DCM lock status.

Problems with the MDIO

Guides on debugging MDIO issues, checking MDIO drive, mdc clock, register reads, and PHYAD field.

Problems with Data Reception or Transmission

Addresses issues with data reception/transmission, focusing on link establishment, Auto-Negotiation status, and Isolate state.

Problems with Auto-Negotiation

Provides steps to determine Auto-Negotiation completion success and troubleshoot if it's not completing, including checking bit errors.