Intel Arria 10 series User Manual


Add to my manuals
607 Pages

advertisement

Intel Arria 10 series User Manual | Manualzz

Intel ® Arria ® 10 Transceiver PHY

User Guide

Updated for Intel ® Quartus ® Prime Design Suite: 18.0

Subscribe

Send Feedback

UG-01143 | 2018.06.15

Latest document on the web: PDF | HTML

Contents

Contents

1. Arria ® 10 Transceiver PHY Overview ..............................................................................8

1.1. Device Transceiver Layout......................................................................................9

1.1.1. Arria 10 GX Device Transceiver Layout........................................................ 10

1.1.2. Arria 10 GT Device Transceiver Layout........................................................ 15

1.1.3. Arria 10 GX and GT Device Package Details ................................................ 17

1.1.4. Arria 10 SX Device Transceiver Layout........................................................ 17

1.1.5. Arria 10 SX Device Package Details............................................................ 19

1.2. Transceiver PHY Architecture Overview.................................................................. 20

1.2.1. Transceiver Bank Architecture....................................................................20

1.2.2. PHY Layer Transceiver Components........................................................... 25

1.2.3. Transceiver Phase-Locked Loops................................................................28

1.2.4. Clock Generation Block (CGB)...................................................................29

1.3. Calibration.......................................................................................................... 29

1.4. Intel Arria 10 Transceiver PHY Overview Revision History.......................................... 30

2. Implementing Protocols in Arria 10 Transceivers......................................................... 32

2.1. Transceiver Design IP Blocks................................................................................. 32

2.2. Transceiver Design Flow........................................................................................33

2.2.1. Select and Instantiate the PHY IP Core........................................................33

2.2.2. Configure the PHY IP Core.........................................................................35

2.2.3. Generate the PHY IP Core......................................................................... 36

2.2.4. Select the PLL IP Core.............................................................................. 36

2.2.5. Configure the PLL IP Core........................................................................ 38

2.2.6. Generate the PLL IP Core ......................................................................... 39

2.2.7. Reset Controller ......................................................................................39

2.2.8. Create Reconfiguration Logic..................................................................... 39

2.2.9. Connect the PHY IP to the PLL IP Core and Reset Controller........................... 40

2.2.10. Connect Datapath ................................................................................ 40

2.2.11. Make Analog Parameter Settings ............................................................. 40

2.2.12. Compile the Design................................................................................ 41

2.2.13. Verify Design Functionality...................................................................... 41

2.3. Arria 10 Transceiver Protocols and PHY IP Support....................................................41

2.4. Using the Arria 10 Transceiver Native PHY IP Core.................................................... 45

2.4.1. Presets................................................................................................... 48

2.4.2. General and Datapath Parameters ............................................................. 48

2.4.3. PMA Parameters......................................................................................51

2.4.4. Enhanced PCS Parameters ........................................................................55

2.4.5. Standard PCS Parameters........................................................................ 62

2.4.6. PCS Direct ............................................................................................ 67

2.4.7. Dynamic Reconfiguration Parameters.......................................................... 67

2.4.8. PMA Ports.............................................................................................. 73

2.4.9. Enhanced PCS Ports................................................................................ 76

2.4.10. Standard PCS Ports................................................................................ 86

2.4.11. IP Core File Locations............................................................................. 91

2.4.12. Unused Transceiver RX Channels.............................................................. 93

2.4.13. Unsupported Features.............................................................................94

2.5. Interlaken..........................................................................................................94

Intel ®

2

Arria ® 10 Transceiver PHY User Guide

Contents

2.5.1. Metaframe Format and Framing Layer Control Word.....................................95

2.5.2. Interlaken Configuration Clocking and Bonding............................................97

2.5.3. How to Implement Interlaken in Arria 10 Transceivers.................................103

2.5.4. Design Example..................................................................................... 106

2.5.5. Native PHY IP Parameter Settings for Interlaken........................................ 107

2.6. Ethernet........................................................................................................... 111

2.6.1. Gigabit Ethernet (GbE) and GbE with IEEE 1588v2..................................... 112

2.6.2. 10GBASE-R, 10GBASE-R with IEEE 1588v2, and 10GBASE-R with FEC

Variants................................................................................................ 124

2.6.3. 10GBASE-KR PHY IP Core .......................................................................135

2.6.4. 1-Gigabit/10-Gigabit Ethernet (GbE) PHY IP Core....................................... 164

2.6.5. 1G/2.5G/5G/10G Multi-rate Ethernet PHY IP Core.......................................199

2.6.6. XAUI PHY IP Core...................................................................................214

2.6.7. Acronyms.............................................................................................228

2.7. PCI Express (PIPE)............................................................................................ 229

2.7.1. Transceiver Channel Datapath for PIPE......................................................230

2.7.2. Supported PIPE Features......................................................................... 231

2.7.3. How to Connect TX PLLs for PIPE Gen1, Gen2, and Gen3 Modes................... 240

2.7.4. How to Implement PCI Express (PIPE) in Arria 10 Transceivers.................... 246

2.7.5. Native PHY IP Parameter Settings for PIPE ............................................... 248

2.7.6. fPLL IP Parameter Core Settings for PIPE................................................... 253

2.7.7. ATX PLL IP Parameter Core Settings for PIPE..............................................255

2.7.8. Native PHY IP Ports for PIPE................................................................... 257

2.7.9. fPLL Ports for PIPE..................................................................................264

2.7.10. ATX PLL Ports for PIPE...........................................................................266

2.7.11. Preset Mappings to TX De-emphasis........................................................267

2.7.12. How to Place Channels for PIPE Configurations......................................... 268

2.7.13. PHY IP Core for PCIe (PIPE) Link Equalization for Gen3 Data Rate............... 274

2.7.14. Using Transceiver Toolkit (TTK)/System Console/Reconfiguration

Interface to manually tune Arria 10 PCIe designs (Hard IP(HIP) and PIPE)

(For debug only).................................................................................... 277

2.8. CPRI................................................................................................................279

2.8.1. Transceiver Channel Datapath and Clocking for CPRI...................................280

2.8.2. Supported Features for CPRI ..................................................................281

2.8.3. Word Aligner in Manual Mode for CPRI.......................................................283

2.8.4. How to Implement CPRI in Arria 10 Transceivers........................................ 284

2.8.5. Native PHY IP Parameter Settings for CPRI............................................... 285

2.9. Other Protocols..................................................................................................289

2.9.1. Using the "Basic (Enhanced PCS)" and "Basic with KR FEC" Configurations of Enhanced PCS....................................................................................289

2.9.2. Using the Basic/Custom, Basic/Custom with Rate Match Configurations of

Standard PCS........................................................................................ 300

2.9.3. Design Considerations for Implementing Arria 10 GT Channels..................... 319

2.9.4. How to Implement PCS Direct Transceiver Configuration Rule....................... 324

2.10. Simulating the Transceiver Native PHY IP Core..................................................... 325

2.10.1. NativeLink Simulation Flow.................................................................... 326

2.10.2. Scripting IP Simulation..........................................................................331

2.10.3. Custom Simulation Flow........................................................................ 332

2.11. Implementing Protocols in Intel Arria 10 Transceivers Revision History.....................335

3. PLLs and Clock Networks............................................................................................ 347

3.1. PLLs................................................................................................................. 349

Intel ® Arria ® 10 Transceiver PHY User Guide

3

Contents

3.1.1. Transmit PLLs Spacing Guideline when using ATX PLLs and fPLLs.................. 349

3.1.2. ATX PLL................................................................................................ 350

3.1.3. fPLL......................................................................................................359

3.1.4. CMU PLL............................................................................................... 368

3.2. Input Reference Clock Sources............................................................................372

3.2.1. Dedicated Reference Clock Pins............................................................... 374

3.2.2. Receiver Input Pins.................................................................................374

3.2.3. PLL Cascading as an Input Reference Clock Source..................................... 375

3.2.4. Reference Clock Network.........................................................................375

3.2.5. Global Clock or Core Clock as an Input Reference Clock...............................375

3.3. Transmitter Clock Network..................................................................................375

3.3.1. x1 Clock Lines....................................................................................... 376

3.3.2. x6 Clock Lines....................................................................................... 377

3.3.3. xN Clock Lines....................................................................................... 379

3.3.4. GT Clock Lines....................................................................................... 381

3.4. Clock Generation Block....................................................................................... 383

3.5. FPGA Fabric-Transceiver Interface Clocking............................................................ 384

3.6. Transmitter Data Path Interface Clocking...............................................................386

3.7. Receiver Data Path Interface Clocking................................................................... 387

3.8. Unused/Idle Clock Line Requirements................................................................... 389

3.9. Channel Bonding................................................................................................389

3.9.1. PMA Bonding......................................................................................... 389

3.9.2. PMA and PCS Bonding.............................................................................391

3.9.3. Selecting Channel Bonding Schemes.........................................................392

3.9.4. Skew Calculations.................................................................................. 393

3.10. PLL Feedback and Cascading Clock Network......................................................... 393

3.11. Using PLLs and Clock Networks.......................................................................... 398

3.11.1. Non-bonded Configurations....................................................................398

3.11.2. Bonded Configurations.......................................................................... 403

3.11.3. Implementing PLL Cascading..................................................................408

3.11.4. Mix and Match Example.........................................................................409

3.11.5. Timing Closure Recommendations...........................................................413

3.12. PLLs and Clock Networks Revision History............................................................414

4. Resetting Transceiver Channels.................................................................................. 416

4.1. When Is Reset Required? ................................................................................... 416

4.2. Transceiver PHY Implementation.......................................................................... 417

4.3. How Do I Reset?................................................................................................ 418

4.3.1. Model 1: Default Model........................................................................... 418

4.3.2. Model 2: Acknowledgment Model..............................................................427

4.3.3. Transceiver Blocks Affected by Reset and Powerdown Signals....................... 432

4.4. Using the Transceiver PHY Reset Controller............................................................ 433

4.4.1. Parameterizing the Transceiver PHY Reset Controller IP............................... 435

4.4.2. Transceiver PHY Reset Controller Parameters............................................. 435

4.4.3. Transceiver PHY Reset Controller Interfaces............................................... 437

4.4.4. Transceiver PHY Reset Controller Resource Utilization.................................. 441

4.5. Using a User-Coded Reset Controller.....................................................................441

4.5.1. User-Coded Reset Controller Signals......................................................... 441

4.6. Combining Status or PLL Lock Signals .................................................................. 442

4.7. Timing Constraints for Bonded PCS and PMA Channels............................................ 443

4.8. Resetting Transceiver Channels Revision History.....................................................445

Intel ®

4

Arria ® 10 Transceiver PHY User Guide

Contents

5. Arria 10 Transceiver PHY Architecture........................................................................ 447

5.1. Arria 10 PMA Architecture................................................................................... 447

5.1.1. Transmitter........................................................................................... 447

5.1.2. Receiver................................................................................................450

5.1.3. Loopback.............................................................................................. 460

5.2. Arria 10 Enhanced PCS Architecture.....................................................................461

5.2.1. Transmitter Datapath.............................................................................462

5.2.2. Receiver Datapath.................................................................................471

5.3. Arria 10 Standard PCS Architecture..................................................................... 479

5.3.1. Transmitter Datapath..............................................................................480

5.3.2. Receiver Datapath..................................................................................485

5.4. Arria 10 PCI Express Gen3 PCS Architecture......................................................... 495

5.4.1. Transmitter Datapath.............................................................................496

5.4.2. Receiver Datapath..................................................................................497

5.4.3. PIPE Interface........................................................................................498

5.5. Intel Arria 10 Transceiver PHY Architecture Revision History.....................................499

6. Reconfiguration Interface and Dynamic Reconfiguration .......................................... 502

6.1. Reconfiguring Channel and PLL Blocks...................................................................503

6.2. Interacting with the Reconfiguration Interface........................................................ 503

6.2.1. Reading from the Reconfiguration Interface............................................... 505

6.2.2. Writing to the Reconfiguration Interface.................................................... 505

6.3. Configuration Files............................................................................................. 506

6.4. Multiple Reconfiguration Profiles........................................................................... 509

6.5. Embedded Reconfiguration Streamer.................................................................... 510

6.6. Arbitration.........................................................................................................512

6.7. Recommendations for Dynamic Reconfiguration......................................................515

6.8. Steps to Perform Dynamic Reconfiguration............................................................ 516

6.9. Direct Reconfiguration Flow................................................................................. 519

6.10. Native PHY IP or PLL IP Core Guided Reconfiguration Flow..................................... 519

6.11. Reconfiguration Flow for Special Cases................................................................ 521

6.11.1. Switching Transmitter PLL ....................................................................521

6.11.2. Switching Reference Clocks....................................................................523

6.12. Changing PMA Analog Parameters......................................................................527

6.12.1. Changing VOD, Pre-emphasis Using Direct Reconfiguration Flow................. 530

6.12.2. Changing CTLE Settings in Manual Mode Using Direct Reconfiguration Flow.. 531

6.12.3. CTLE Settings in Triggered Adaptation Mode.............................................531

6.12.4. Enabling and Disabling Loopback Modes Using Direct Reconfiguration Flow...533

6.13. Ports and Parameters........................................................................................535

6.14. Dynamic Reconfiguration Interface Merging Across Multiple IP Blocks...................... 542

6.15. Embedded Debug Features................................................................................ 544

6.15.1. Altera Debug Master Endpoint................................................................ 544

6.15.2. Optional Reconfiguration Logic............................................................... 544

6.16. Using Data Pattern Generators and Checkers....................................................... 550

6.16.1. Using PRBS Data Pattern Generator and Checker..................................... 550

6.16.2. Using Pseudo Random Pattern Mode........................................................559

6.17. Timing Closure Recommendations...................................................................... 560

6.18. Unsupported Features....................................................................................... 563

6.19. Arria 10 Transceiver Register Map.......................................................................564

6.20. Reconfiguration Interface and Dynamic Revision History........................................ 564

Intel ® Arria ® 10 Transceiver PHY User Guide

5

Contents

7. Calibration.................................................................................................................. 567

7.1. Reconfiguration Interface and Arbitration with PreSICE Calibration Engine .................567

7.2. Calibration Registers...........................................................................................569

7.2.1. Avalon-MM Interface Arbitration Registers................................................. 569

7.2.2. Transceiver Channel Calibration Registers.................................................. 570

7.2.3. Fractional PLL Calibration Registers...........................................................570

7.2.4. ATX PLL Calibration Registers...................................................................571

7.2.5. Capability Registers................................................................................ 571

7.2.6. Rate Switch Flag Register........................................................................ 573

7.3. Power-up Calibration.......................................................................................... 574

7.4. User Recalibration.............................................................................................. 576

7.4.1. Recalibration After Transceiver Reference Clock Frequency or Data Rate

Change.................................................................................................579

7.5. Calibration Example............................................................................................581

7.5.1. ATX PLL Recalibration............................................................................. 581

7.5.2. Fractional PLL Recalibration..................................................................... 581

7.5.3. CDR/CMU PLL Recalibration..................................................................... 582

7.5.4. PMA Recalibration...................................................................................582

7.6. Calibration Revision History................................................................................. 583

8. Analog Parameter Settings........................................................................................ 585

8.1. Making Analog Parameter Settings using the Assignment Editor................................585

8.2. Updating Quartus Settings File with the Known Assignment.................................... 585

8.3. Analog Parameter Settings List............................................................................586

8.4. Receiver General Analog Settings........................................................................ 588

8.4.1. XCVR_A10_RX_LINK..............................................................................588

8.4.2. XCVR_A10_RX_TERM_SEL......................................................................589

8.4.3. XCVR_VCCR_VCCT_VOLTAGE - RX............................................................589

8.5. Receiver Analog Equalization Settings.................................................................. 590

8.5.1. CTLE Settings........................................................................................ 590

8.5.2. VGA Settings......................................................................................... 593

8.5.3. Decision Feedback Equalizer (DFE) Settings.............................................. 594

8.6. Transmitter General Analog Settings.................................................................... 596

8.6.1. XCVR_A10_TX_LINK..............................................................................596

8.6.2. XCVR_A10_TX_TERM_SEL....................................................................... 597

8.6.3. XCVR_A10_TX_COMPENSATION_EN........................................................ 597

8.6.4. XCVR_VCCR_VCCT_VOLTAGE - TX............................................................ 598

8.6.5. XCVR_A10_TX_SLEW_RATE_CTRL............................................................ 599

8.7. Transmitter Pre-Emphasis Analog Settings............................................................ 600

8.7.1. XCVR_A10_TX_PRE_EMP_SIGN_PRE_TAP_1T............................................600

8.7.2. XCVR_A10_TX_PRE_EMP_SIGN_PRE_TAP_2T............................................600

8.7.3. XCVR_A10_TX_PRE_EMP_SIGN_1ST_POST_TAP........................................601

8.7.4. XCVR_A10_TX_PRE_EMP_SIGN_2ND_POST_TAP....................................... 601

8.7.5. XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_PRE_TAP_1T......................... 602

8.7.6. XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_PRE_TAP_2T......................... 602

8.7.7. XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_1ST_POST_TAP..................... 603

8.7.8. XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_2ND_POST_TAP.....................604

8.8. Transmitter VOD Settings.................................................................................... 604

8.8.1. XCVR_A10_TX_VOD_OUTPUT_SWING_CTRL.............................................604

8.9. Dedicated Reference Clock Settings...................................................................... 605

8.9.1. XCVR_A10_REFCLK_TERM_TRISTATE.......................................................605

Intel ®

6

Arria ® 10 Transceiver PHY User Guide

Contents

8.9.2. XCVR_A10_TX_XTX_PATH_ANALOG_MODE................................................606

8.10. Unused Transceiver RX Channels Settings............................................................ 606

8.11. Analog Parameter Settings Revision History......................................................... 606

Intel ® Arria ® 10 Transceiver PHY User Guide

7

UG-01143 | 2018.06.15

1. Arria

®

10 Transceiver PHY Overview

This user guide provides details about the Arria ® 10 transceiver physical (PHY) layer architecture, PLLs, clock networks, and transceiver PHY IP. It also provides protocol specific implementation details and describes features such as transceiver reset and dynamic reconfiguration of transceiver channels and PLLs.

Intel ® Arria 10 FPGAs offer up to 96 GX transceiver channels with integrated advanced high speed analog signal conditioning and clock data recovery techniques for chip-tochip, chip-to-module, and backplane applications.

The Arria 10 GX and SX devices have GX transceiver channels that can support data rates up to 17.4 Gbps for chip-to-chip applications and 12.5 Gbps for backplane applications.

The Arria 10 GT device has up to 6 GT transceiver channels, that can support data rates up to 25.8 Gbps for short reach chip-to-chip and chip-to-module applications.

Additionally, the GT devices have GX transceiver channels that can support data rates up to 17.4 Gbps for chip-to-chip and 12.5 Gbps for backplane applications. If all 6 GT channels are used in GT mode, then the GT device also has up to 54 GX transceiver channels.

The Arria 10 transceivers support reduced power modes with data rates up to 11.3

Gbps (chip-to-chip) for critical power sensitive designs. In GX devices that have transceivers on both sides of the device, each side can be operated independently in standard and reduced power modes. You can achieve transmit and receive data rates below 1.0 Gbps with oversampling.

Table 1.

SX (

3 )

GX (

3 )

GT (

4 )

Data Rates Supported by GX Transceiver Channel Type

Device Variant Standard Power Mode

(1), (2)

Chip-to-Chip

1.0 Gbps to 17.4 Gbps

1.0 Gbps to 17.4 Gbps

1.0 Gbps to 17.4 Gbps

Backplane

1.0 Gbps to 12.5 Gbps

1.0 Gbps to 12.5 Gbps

1.0 Gbps to 12.5 Gbps

Reduced Power Mode

(1), (2)

Chip-to-Chip

1.0 Gbps to 11.3 Gbps

1.0 Gbps to 11.3 Gbps

1.0 Gbps to 11.3 Gbps

(1) To operate GX transceiver channels at designated data rates in standard and reduced power modes, apply the corresponding core and periphery power supplies. Refer to the Arria 10

Device Datasheet for more details.

(2) The minimum operational data rate is 1.0 Gbps for both the transmitter and receiver. For transmitter data rates less than 1.0 Gbps, oversampling must be applied at the transmitter. For receiver data rates less than 1.0 Gbps, oversampling must be applied at the receiver.

(3) For SX and GX device variants, the maximum transceiver data rates are specified for the fastest (–1) transceiver speed grade.

Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.

*Other names and brands may be claimed as the property of others.

ISO

9001:2008

Registered

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

Table 2.

Device Variant

(4)

GT

Data Rates Supported by GT Transceiver Channel Type

Chip-to-Chip

1.0 Gbps to 25.8 Gbps

Data Rates (5),

(2)

Backplane

1.0 Gbps to 12.5 Gbps

Note: The device data rates depend on the device speed grade. Refer to IntelArria 10 Device

Datasheet for details on available speed grades and supported data rates.

Related Information

• IntelArria 10 Device Datasheet

• IntelArria 10 Device Overview

1.1. Device Transceiver Layout

Figure 1.

Arria 10 FPGA Architecture Block Diagram

The transceiver channels are placed on the left side periphery in most Arria 10 devices. For larger Arria 10 devices, additional transceiver channels are placed on the right side periphery.

(4) For GT device variants, the maximum transceiver data rates are specified for (-1) transceiver speed grade.

(5) Because the GT transceiver channels are designed for peak performance, they do not have a reduced power mode of operation.

Intel ® Arria ® 10 Transceiver PHY User Guide

9

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

1.1.1. Arria 10 GX Device Transceiver Layout

The largest Arria 10 GX device includes 96 transceiver channels. A column array of eight transceiver banks on the left and the right side periphery of the device is shown in the following figure. Each transceiver bank has six transceiver channels. Some devices have transceiver banks with only three channels. The transceiver banks with only three channels are the uppermost transceiver banks. Arria 10 devices also include

PCI Express* Hard IP blocks.

The figures below illustrate different transceiver bank layouts for Arria 10 GX device variants.

For more information about PCIe* Hard IP transceiver placements, refer to Related

Information at the end of this section.

Intel ®

10

Arria ® 10 Transceiver PHY User Guide

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

Figure 2.

Arria 10 GX Devices with 96 Transceiver Channels and Four PCIe Hard IP

Blocks

GXBL1J

GXBL1I

Transceiver

Bank

Transceiver

Bank

GX 115 UF45

GX 090 UF45 Transceiver

Bank

Transceiver

Bank

GXBR4J

GXBR4I

Transceiver

Bank

CH5

CH4

CH3

CH2

CH1

CH0

GXBR4H GXBL1H

GXBL1G

Transceiver

Bank

Transceiver

Bank

Transceiver

Bank

Transceiver

Bank

GXBL1F

GXBL1E

Transceiver

Bank

PCIe

Gen1 - Gen3

Hard IP

Transceiver

Bank

PCIe

Gen1 - Gen3

Hard IP

Transceiver

Bank

Transceiver

Bank

GXBL1D

GXBL1C

(1)

Transceiver

Bank

PCIe

Gen1 - Gen3

Hard IP

(with CvP)

Transceiver

Bank

PCIe

Gen1 - Gen3

Hard IP

Notes:

(1) Nomenclature of left column bottom transceiver banks always ends with “C”.

(2) Nomenclature of right column bottom transceiver banks may end with “C”, “D”, or “E”.

Legend:

PCIe Gen1 - Gen3 Hard IP blocks with Configuration via Protocol (CvP) capabilities.

PCIe Gen1 - Gen3 Hard IP blocks without Configuration via Protocol (CvP) capabilities.

Arria 10 GX device with 96 transceiver channels and four PCIe Hard IP blocks.

Transceiver

Bank

Transceiver

Bank

GXBR4G

GXBR4F

GXBR4E

GXBR4D

GXBR4C

(2)

Intel ® Arria ® 10 Transceiver PHY User Guide

11

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

Figure 3.

Arria 10 GX Devices with 72 and 48 Transceiver Channels and Four PCIe Hard

IP Blocks.

GXBL1H

Transceiver

Bank

GX 115 SF45

GX 090 SF45

Transceiver

Bank

GXBR4H

GXBL1G

Transceiver

Bank

Transceiver

Bank

GXBR4G

Transceiver

Bank

CH5

CH4

CH3

CH2

CH1

CH0

GXBL1F

Transceiver

Bank

PCIe

Gen1 - Gen3

Hard IP

PCIe

Gen1 - Gen3

Hard IP

Transceiver

Bank

GXBR4F

GXBL1E

Transceiver

Bank GX 115 NF45

GX 090 NF45

Transceiver

Bank

GXBR4E

GXBL1D

GXBL1C

(1)

Transceiver

Bank

PCIe

Gen1 - Gen3

Hard IP

(with CvP)

Transceiver

Bank

PCIe

Gen1 - Gen3

Hard IP

Transceiver

Bank

Transceiver

Bank

GXBR4D

GXBR4C

(2)

Notes:

(1) Nomenclature of left column bottom transceiver banks always ends with “C”.

(2) Nomenclature of right column bottom transceiver banks may end with “C”, “D”, or “E”.

Legend:

PCIe Gen1 - Gen3 Hard IP blocks with Configuration via Protocol (CvP) capabilities.

PCIe Gen1 - Gen3 Hard IP blocks without Configuration via Protocol (CvP) capabilities.

Arria 10 GX device with 72 transceiver channels and four PCIe Hard IP blocks.

Arria 10 GX device with 48 transceiver channels and four PCIe Hard IP blocks.

Intel ®

12

Arria ® 10 Transceiver PHY User Guide

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

Figure 4.

Arria 10 GX Devices with 66 Transceiver Channels and Three PCIe Hard IP

Blocks

GXBL1H Transceiver

Bank

GX 115 RF40

GX 090 RF40 Transceiver

Bank

GXBR4J

GXBL1G

GXBL1F

GXBL1E

Transceiver

Bank

Transceiver

Bank

PCIe

Gen1 - Gen3

Hard IP

Transceiver

Bank

Transceiver

Bank

Transceiver

Bank

Transceiver

Bank

GXBR4I

GXBR4H

GXBR4G

Transceiver

Bank

Transceiver

Bank

CH2

CH1

CH0

CH5

CH4

CH3

CH2

CH1

CH0

GXBR4F GXBL1D

GXBL1C

(1)

Transceiver

Bank

PCIe

Gen1 - Gen3

Hard IP

(with CvP)

Transceiver

Bank

PCIe

Gen1 - Gen3

Hard IP

Transceiver

Bank

Transceiver

Bank

Notes:

(1) Nomenclature of left column bottom transceiver banks always ends with “C”.

(2) Nomenclature of right column bottom transceiver banks may end with “C”, “D”, or “E”.

Legend:

PCIe Gen1 - Gen3 Hard IP blocks with Configuration via Protocol (CvP) capabilities.

PCIe Gen1 - Gen3 Hard IP blocks without Configuration via Protocol (CvP) capabilities.

Arria 10 GX device with 66 transceiver channels and three PCIe Hard IP blocks.

GXBR4E

(2)

Intel ® Arria ® 10 Transceiver PHY User Guide

13

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

Figure 5.

Arria 10 GX Devices with 48, 36, and 24 Transceiver Channels and Two PCIe

Hard IP Blocks

CH5

CH4

CH3

CH2

CH1

CH0

Transceiver

Bank

Transceiver

Bank

Transceiver

Bank

GX 115 NF40

GX 090 NF40

GX 066 NF40

GX 057 NF40

Transceiver

Bank

GX 066 KF40

GX 057 KF40

GX 066 KF35

GX 057 KF35

GX 048 KF35

Transceiver

Bank

Transceiver

Bank

PCIe

Gen1 - Gen3

Hard IP

Transceiver

Bank

GX 115 HF34

GX 090 HF34

GX 066 HF34

GX 057 HF34

GX 048 HF34

GX 032 HF35

GX 032 HF34

GX 027 HF35

GX 027 HF34

Transceiver

Bank

PCIe

Gen1 - Gen3

Hard IP

(with CvP)

Transceiver

Bank

Note:

(1) These devices have transceivers only on the left hand side of the device.

Legend:

PCIe Gen1 - Gen3 Hard IP blocks with Configuration via Protocol (CvP) capabilities.

PCIe Gen1 - Gen3 Hard IP blocks without Configuration via Protocol (CvP) capabilities.

Arria 10 GX device with 48 transceiver channels and two PCIe Hard IP blocks.

Arria 10 GX device with 36 transceiver channels and two PCIe Hard IP blocks.

Arria 10 GX device with 24 transceiver channels and two PCIe Hard IP blocks.

Intel ®

14

Arria ® 10 Transceiver PHY User Guide

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

Figure 6.

Arria 10 GX Devices with 12 Transceiver Channels and One PCIe Hard IP

Block

CH5

CH4

CH3

CH2

CH1

CH0

Transceiver

Bank

GXBL1D

GXBL1C

Transceiver

Bank

Transceiver

Bank

PCIe

Gen1 - Gen3

Hard IP

(with CvP)

GX 048 EF29

GX 032 EF29

GX 027 EF29

GX 032 EF27

GX 027 EF27

GX 022 EF29

GX 022 EF27

GX 016 EF29

GX 016 EF27

Note:

(1) These devices have transceivers only on the left hand side of the device.

Legend:

PCIe Gen1 - Gen3 Hard IP blocks with Configuration via Protocol (CvP) capabilities.

Arria 10 GX device with 12 transceiver channels and one PCIe Hard IP block.

Figure 7.

Arria 10 GX Devices with 6 Transceiver Channels and One PCIe Hard IP Block

CH5

CH4

CH3

CH2

CH1

CH0

Transceiver

Bank

Transceiver

Bank

PCIe Hard IP (1)

GX 022 CU19

GX 016 CU19

Note:

(1) Only CH5 and CH4 support PCIe Hard IP block with CvP capabilities.

(2) These devices have transceivers only on the left hand side of the device.

Legend:

PCIe Gen1 - Gen3 Hard IP block with Configuration via Protocol (CvP) capabilities.

Arria 10 GX device with six transceiver channels and one PCIe Hard IP block.

Related Information

• IntelArria 10 Avalon-ST Interface for PCIe Solutions User Guide

• IntelArria 10 Avalon-MM Interface for PCIe Solutions User Guide

• IntelArria 10 Avalon-MM DMA Interface for PCIe Solutions User Guide

• IntelArria 10 Avalon-ST Interface with SR-IOV PCIe Solutions User Guide

1.1.2. Arria 10 GT Device Transceiver Layout

The Arria 10 GT device has 72 transceiver channels and four PCI Express Hard IP blocks. A total of 6 GT transceiver channels that can support data rates up to 25.8

Gbps.

In the GT device, transceiver banks GXBL1E, GXBL1G, and GXBL1H each contain two

GT transceiver channels. Transceiver banks GXBL1E and GXBL1H channels 3 and 4 can be used as GT or GX transceiver channel. Transceiver bank GXBL1G channels 0 and 1 can be used as GT or GX transceiver channels. When none of the GT capable transceiver channels are used as GT transceiver channels, the entire transceiver

Intel ® Arria ® 10 Transceiver PHY User Guide

15

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

Figure 8.

channels in the bank can be reconfigured as GX transceiver channels. However, when any of the GT capable transceiver channels in transceiver banks GXBL1E, GXBL1G, and GXBL1H is enabled as a GT transceiver channel, the remaining channels in the transceiver bank cannot be used with the exception of the other GT capable channel in the transceiver bank.

If you're using GT transceivers in bank GXBL1E, then the adjacent PCIe Hard IP block cannot be used.

Arria 10 GT Device with 72 Transceiver Channels and Four PCIe Hard IP

Blocks

GXBL1H

Transceiver

Bank

GT 115 SF45

GT 090 SF45

Transceiver

Bank

GXBR4H

CH5

CH4

CH3

CH2

CH1

CH0

GX or Restricted

GT or GX

GT or GX

GX or Restricted

GX or Restricted

GX or Restricted

GT Channels

Capable of Short

Reach 25.8 Gbps

Transceiver

Bank

CH5

CH4

CH3

CH2

CH1

CH0

GX or Restricted

GX or Restricted

GX or Restricted

GX or Restricted

GT or GX

GT or GX

GXBL1G

GXBL1F

Transceiver

Bank

Transceiver

Bank

GXBR4G

GXBR4F

GXBL1E

Transceiver

Bank

PCIe

Gen1 - Gen3

Hard IP

Transceiver

Bank

PCIe

Gen1 - Gen3

Hard IP

Transceiver

Bank

Transceiver

Bank

GXBR4E

GXBL1D

GXBL1C

(1)

Transceiver

Bank

PCIe

Gen1 - Gen3

Hard IP

(with CvP)

Transceiver

Bank

Notes:

(1) Nomenclature of left column bottom transceiver banks always end with “C”.

(2) Nomenclature of right column bottom transceiver banks may end with “C”, “D”, or “E”.

(3) If a GT channel is used in transceiver bank GXBL1E, the PCIe Hard IP adjacent to GXBL1F and GXBL1E cannot be used.

Legend:

GT transceiver channels (channel 0, 1, 3, and 4).

GX transceiver channels (channel 2 and 5) with usage restrictions.

GX transceiver channels without usage restrictions.

PCIe Gen1 - Gen3 Hard IP blocks with Configuration via Protocol (CvP) capabilities.

PCIe Gen1 - Gen3 Hard IP blocks without Configuration via Protocol (CvP) capabilities.

PCIe

Gen1 - Gen3

Hard IP

Transceiver

Bank

Transceiver

Bank

GXBR4D

GXBR4C

(2)

The GT device has 72 transceiver channels, which include 6 GT transceiver channels supporting data rates greater than 17.4 Gbps. If all six GT transceiver channels are used in GT mode, there are 54 GX transceiver channels that can drive chip to chip data rates up to 17.4 Gbps and backplanes at data rates up to 12.5 Gbps and 12 GX channels that are unusable.

In the GT device, the GX transceiver channels on the entire right side can be used in standard or reduced power mode. In GT devices where none of the GT channels are used to operate in GT data rates above 17.4 Gbps, the transceiver channels on either the entire right side or entire left side can be used as GX channels in standard or reduced power mode.

Related Information

• IntelArria 10 Avalon-ST Interface for PCIe Solutions User Guide

• IntelArria 10 Avalon-MM Interface for PCIe Solutions User Guide

• IntelArria 10 Avalon-MM DMA Interface for PCIe Solutions User Guide

Intel ®

16

Arria ® 10 Transceiver PHY User Guide

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

• IntelArria 10 Avalon-ST Interface with SR-IOV PCIe Solutions User Guide

1.1.3. Arria 10 GX and GT Device Package Details

The following tables list package sizes, available transceiver channels, and PCI Express

Hard IP blocks for Arria 10 GX and GT devices.

Table 3.

Device

GX 016

GX 022

GX 027

GX 032

GX 048

GX 057

GX 066

GX 090

GX 115

Package Details for GX Devices with Transceivers and Hard IP Blocks Located on the Left Side Periphery of the Device

Package U19: 19mm x 19mm package; 484 pins.

Package F27: 27mm x 27mm package; 672 pins.

Package F29: 29mm x 29mm package; 780 pins.

Packages F34 and F35: 35 mm x 35 mm package size; 1152 pins.

Package F40: 40 mm x 40 mm package size; 1517 pins. K = 36 transceiver channels, N = 48 transceiver channels.

U19 K F40 N F40

6, 1

6, 1

F27

12, 1

12, 1

F29 F34 F35

Transceiver Count, PCIe Hard IP Block Count

12, 1

12, 1

12, 1

12, 1

12, 1

12, 1

12, 1

24, 2

24, 2

24, 2

24, 2

24, 2

24, 2

24, 2

24, 2

24, 2

36, 2

36, 2

36, 2

36, 2

36, 2

48, 2

48, 2

48, 2

48, 2

Table 4.

GX 090

GX 115

GT 090

GT 115

Device

Package Details for GX and GT Devices with Transceivers and Hard IP Blocks

Located on the Left and Right Side Periphery of the Device

Package F40: 40 mm x 40 mm package size; 1517 pins. R = 66 transceiver channels.

Package F45: 45mm x 45mm package size; 1932 pins. N = 48 transceiver channels, S = 72 transceiver channels, U = 96 transceiver channels.

If you're using GT transceivers in bank GXBL1E, the nth adjacent PCIe Hard IP block cannot be used.

R F40 U F45

66, 3

66, 3

N F45 S F45

Transceiver Count, PCIe Hard IP Block Count

48, 4

48, 4

72, 4

72, 4

72, 4

72, 4

96, 4

96, 4

1.1.4. Arria 10 SX Device Transceiver Layout

The largest SX device includes 48 transceiver channels. All SX devices include GX transceiver channel type. The transceiver banks in SX devices are located on the left side periphery of the device.

Intel ® Arria ® 10 Transceiver PHY User Guide

17

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

Figure 9.

For more information about PCIe Hard IP transceiver placements, refer to Related

Information at the end of this section.

Arria 10 SX Device with 48, 36, and 24 Transceiver Channels and Two Hard IP

Blocks

GXBL1J Transceiver

Bank

SX 066 NF40

SX 057 NF40

CH5

CH4

CH3

CH2

CH1

CH0

Transceiver

Bank

GXBL1I

GXBL1H

Transceiver

Bank

Transceiver

Bank

SX 066 KF40

SX 066 KF35

SX 057 KF40

SX 057 KF35

SX 048 KF35

GXBL1G Transceiver

Bank

GXBL1F

GXBL1E

Transceiver

Bank

PCIe

Gen1 - Gen3

Hard IP

Transceiver

Bank

SX 066 HF34

SX 057 HF34

SX 048 HF34

SX 032 HF35

SX 032 HF34

SX 027 HF35

SX 027 HF34

GXBL1D

GXBL1C

Transceiver

Bank

PCIe

Gen1 - Gen3

Hard IP

(with CvP)

Transceiver

Bank

Note:

(1) These devices have transceivers only on the left hand side of the device.

Legend:

PCIe Gen1- Gen3 Hard IP blocks with Configuration via Protocol (CvP) capabilities.

PCIe Gen1 - Gen3 Hard IP blocks without Configuration via Protocol (CvP) capabilities.

Arria 10 SX device with 48 transceiver channels and two PCIe Hard IP blocks.

Arria 10 SX device with 36 transceiver channels and two PCIe Hard IP blocks.

Arria 10 SX device with 24 transceiver channels and two PCIe Hard IP blocks.

Intel ®

18

Arria ® 10 Transceiver PHY User Guide

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

Figure 10.

Arria 10 SX Device with 12 Transceiver Channels and One Hard IP Block

CH5

CH4

CH3

CH2

CH1

CH0

Transceiver

Bank

Transceiver

Bank

Transceiver

Bank

PCIe

Gen1 - Gen3

Hard IP

(with CvP)

SX 048 EF29

SX 032 EF29

SX 032 EF27

SX 027 EF29

SX 027 EF27

SX 022 EF29

SX 022 EF27

SX 016 EF29

SX 016 EF27

Note:

(1) These devices have transceivers only on the left hand side of the device.

Legend:

PCIe Gen1 - Gen3 Hard IP blocks with Configuration via Protocol (CvP) capabilities.

Arria 10 SX device with 12 transceiver channels and one Hard IP block.

Figure 11.

Arria 10 SX Device with Six Transceiver Channels and One Hard IP Block

CH5

CH4

CH3

CH2

CH1

CH0

Transceiver

Bank

GXBL1C Transceiver

Bank

PCIe Hard IP (1)

SX 022 CU19

SX 016 CU19

Note:

(1) Only CH5 and CH4 support PCIe Hard IP block with Configuration via Protocol (CvP) capabilities.

(2) These devices have transceivers only on the left hand side of the device.

Legend:

PCIe Gen1 - Gen3 Hard IP block with Configuration via Protocol (CvP) capabilities.

Arria 10 SX device with six transceiver channels and one PCIe Hard IP block.

Related Information

• IntelArria 10 Avalon-ST Interface for PCIe Solutions User Guide

• IntelArria 10 Avalon-MM Interface for PCIe Solutions User Guide

• IntelArria 10 Avalon-MM DMA Interface for PCIe Solutions User Guide

• IntelArria 10 Avalon-ST Interface with SR-IOV PCIe Solutions User Guide

1.1.5. Arria 10 SX Device Package Details

The following tables list package sizes, available transceiver channels, and PCI Express

Hard IP blocks for Arria 10 SX devices.

Intel ® Arria ® 10 Transceiver PHY User Guide

19

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

Table 5.

Device

SX 016

SX 022

SX 027

SX 032

SX 048

SX 057

SX 066

Package Details for SX Devices with Transceivers and Hard IP Blocks Located on the Left Side Periphery of the Device

Package U19: 19mm x 19mm package; 484 pins.

Package F27: 27mm x 27mm package; 672 pins.

Package F29: 29mm x 29mm package; 780 pins.

Packages F34 and F35: 35 mm x 35 mm package size; 1152 pins.

Package F40: 40 mm x 40 mm package size; 1517 pins. K = 36 transceiver channels, N = 48 transceiver channels.

U19 F27 K F40 N F40

6, 1

6, 1

12, 1

12, 1

12, 1

12, 1

F29 F34 F35

Transceiver Count, PCIe Hard IP Block Count

12, 1

12, 1

12, 1

12, 1

12, 1

24, 2

24, 2

24, 2

24, 2

24, 2

24, 2

24, 2

36, 2

36, 2

36, 2

36, 2

36, 2

48, 2

48, 2

1.2. Transceiver PHY Architecture Overview

A link is defined as a single entity communication port. A link can have one or more transceiver channels. A transceiver channel is synonymous with a transceiver lane.

For example, a 10GBASE-R link has one transceiver channel or lane with a data rate of

10.3125 Gbps. A 40GBASE-R link has four transceiver channels. Each transceiver channel operates at a lane data rate of 10.3125 Gbps. Four transceiver channels give a total collective link bandwidth of 41.25 Gbps (40 Gbps before and after 64B/66B

Physical Coding Sublayer (PCS) encoding and decoding).

1.2.1. Transceiver Bank Architecture

The transceiver bank is the fundamental unit that contains all the functional blocks related to the device's high speed serial transceivers.

Each transceiver bank includes six transceiver channels in all devices except for the devices with 66 transceiver channels. Devices with 66 transceiver channels have both six channel and three channel transceiver banks. The uppermost transceiver bank on the left and the right side of these devices is a three channel transceiver bank. All other devices contain only six channel transceiver banks.

The figures below show the transceiver bank architecture with the phase locked loop

(PLL) and clock generation block (CGB) resources available in each bank.

Intel ®

20

Arria ® 10 Transceiver PHY User Guide

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

Figure 12.

Three-Channel GX Transceiver Bank Architecture

Three-Channel GX Transceiver Bank

PMA

Channel PLL

(CDR Only)

CH2

PCS

Local CGB2

Clock

Distribution

Network fPLL0

PMA

Channel PLL

(CMU/CDR)

CH1

PCS

Local CGB1

Master

CGB0

PMA

Channel PLL

(CDR Only)

CH0

PCS

Local CGB0 ATX

PLL0

Note:

FPGA Core

Fabric

This figure is a high level overview of the transceiver bank architecture. For details about the available clock networks refer to the PLLs and Clock Networks chapter.

Intel ® Arria ® 10 Transceiver PHY User Guide

21

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

Figure 13.

Six-Channel GX Transceiver Bank Architecture

Six-Channel GX Transceiver Bank

Clock

Distribution

Network

PMA

Channel PLL

(CDR Only)

CH5

PCS

Local CGB5 fPLL1

PMA

Channel PLL

(CMU/CDR)

CH4

PCS

Local CGB4

Master

CGB1

PMA

Channel PLL

(CDR Only)

CH3

PCS

Local CGB3

ATX

PLL1

PMA

Channel PLL

(CDR Only)

CH2

PCS

Local CGB2 fPLL0

PMA

Channel PLL

(CMU/CDR)

CH1

PCS

Local CGB1

Master

CGB0

PMA

Channel PLL

(CDR Only)

CH0

PCS

Local CGB0

ATX

PLL0

FPGA Core

Fabric

Note: This figure is a high level overview of the transceiver bank architecture. For details about the available clock networks refer to the PLLs and Clock Networks chapter.

Intel ®

22

Arria ® 10 Transceiver PHY User Guide

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

Figure 14.

GT Transceiver Bank Architecture

In the GT device, the transceiver banks GXBL1E, GXBL1G, and GXBL1H include GT channels.

Six-Channel GT Transceiver Bank GXBL1G

Clock

Distribution

Network

PMA

Channel PLL

(CDR Only)

CH5

PCS

Local CGB5 fPLL1

PMA

Channel PLL

(CMU/CDR)

CH4

PCS

Local CGB4

Master

CGB1

PMA

Channel PLL

(CDR Only)

CH3

PCS

Local CGB3

ATX

PLL1

FPGA Core

Fabric

PMA

Channel PLL

(CDR Only)

CH2

PCS

Local CGB2 fPLL0

PMA

Channel PLL

(CMU/CDR)

CH1

PCS

Local CGB1

Master

CGB0

PMA

Channel PLL

(CDR Only)

CH0

PCS

Local CGB0

ATX

PLL0

Note:

Legend

GT/GX Channel GX Channel

This figure is a high level overview of the transceiver bank architecture. For details about the available clock networks refer to the PLLs and Clock Networks chapter.

Intel ® Arria ® 10 Transceiver PHY User Guide

23

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

Figure 15.

GT Transceiver Bank Architecture for Banks GXBL1E and GXBL1H

Six-Channel GT

Transceiver Banks GXBL1E and GXBL1H

PMA

Channel PLL

(CDR Only)

CH5

PCS

Local CGB5

Clock

Distribution

Network fPLL1

PMA

Channel PLL

(CMU/CDR)

CH4

PCS

Local CGB4

Master

CGB1

PMA

Channel PLL

(CDR Only)

CH3

PCS

Local CGB3

ATX

PLL1

FPGA Core

Fabric

PMA

Channel PLL

(CDR Only)

CH2

PCS

Local CGB2 fPLL0

PMA

Channel PLL

(CMU/CDR)

CH1

PCS

Local CGB1

Master

CGB0

PMA

Channel PLL

(CDR Only)

CH0

PCS

Local CGB0

ATX

PLL0

Note:

Legend

GT/GX Channel GX Channel

This figure is a high level overview of the transceiver bank architecture. For details about the available clock networks refer to the PLLs and Clock Networks chapter.

The transceiver channels perform all the required PHY layer functions between the

FPGA fabric and the physical medium. The high speed clock required by the transceiver channels is generated by the transceiver PLLs. The master and local clock generation blocks (CGBs) provide the necessary high speed serial and low speed parallel clocks to drive the non-bonded and bonded channels in the transceiver bank.

Intel ®

24

Arria ® 10 Transceiver PHY User Guide

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

Related Information

PLLs and Clock Networks on page 347

• Transceiver Basics

Online training course for transceivers.

1.2.2. PHY Layer Transceiver Components

Transceivers in Arria 10 devices support both Physical Medium Attachment (PMA) and

Physical Coding Sublayer (PCS) functions at the physical (PHY) layer.

A PMA is the transceiver's electrical interface to the physical medium. The transceiver

PMA consists of standard blocks such as:

• serializer/deserializer (SERDES)

• clock and data recovery PLL

• analog front end transmit drivers

• analog front end receive buffers

The PCS can be bypassed with a PCS Direct configuration. Both the PMA and PCS blocks are fed by multiple clock networks driven by high performance PLLs. In PCS

Direct configuration, the data flow is through the PCS block, but all the internal PCS blocks are bypassed. In this mode, the PCS functionality is implemented in the FPGA fabric.

1.2.2.1. The GX Transceiver Channel

Figure 16.

GX Transceiver Channel in Full Duplex Mode.

Transmitter PMA

Serializer

(1)

KR FEC

Transmitter PCS

Standard PCS

PCIe Gen3 PCS

Enhanced PCS

PCS Direct

FPGA Fabric

(1) Soft PIPE

(Optional)

Hard IP

(Optional)

CDR

Receiver PMA

Deserializer

(1)

KR FEC

Receiver PCS

Standard PCS

PCIe Gen3 PCS

Enhanced PCS

PCS Direct

(1)

Notes:

(1) The FPGA Fabric - PCS and PCS-PMA interface widths are configurable.

Arria 10 GX transceiver channels have three types of PCS blocks that together support continuous data rates between 1.0 Gbps and 17.4 Gbps.

Intel ® Arria ® 10 Transceiver PHY User Guide

25

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

Table 6.

Standard PCS

Enhanced PCS

PCIe Gen3 PCS

PCS Types Supported by GX Transceiver Channels

PCS Type Data Rate

1.0 Gbps to 10.81344 Gbps

1.0 Gbps (6) to 17.4 Gbps

8 Gbps

Note: 1. The GX channel can also operate in PCS Direct configuration for data rates from

1.0 Gbps to 17.4 Gbps. To operate GX transceiver channels in PCS Direct designated data rates, refer to the IntelArria 10 Device Datasheet for more details on power supply, speed grade, and transceiver configurations requirement.

2. The minimum operational data rate is 1.0 Gbps for both the transmitter and receiver. For transmitter data rates less than 1.0 Gbps, oversampling must be applied at the transmitter. For receiver data rates less than 1.0 Gbps, oversampling must be applied at the receiver.

3. To operate GX transceiver channels with the PCS at designated data rates, refer to the IntelArria 10 Device Datasheet for more details on power supply, speed grade, and transceiver configurations requirement.

Related Information

IntelArria 10 Device Datasheet

1.2.2.2. The GT Transceiver Channel

The GT transceiver channels are used for supporting data rates from 17.4 Gbps to

25.8 Gbps. The PCS Direct datapath that bypasses all PCS blocks is the primary configuration used to support GT data rates from 17.4 Gbps to 25.8 Gbps.

Alternatively, the Enhanced PCS in Basic low latency configuration can also be used to support GT data rates from 17.4 Gbps to 25.8 Gbps. The GT transceiver channels can also be configured as GX transceiver channels. When they are configured as GX transceiver channels, the Standard PCS, Enhanced PCS, and PCIe Gen3 PCS are available and they support data rates from 1.0 Gbps to 17.4 Gbps.

(6) Applies when operating in reduced power modes. For standard power modes, the Enhanced

PCS minimum data rate is 1600 Mbps.

Intel ®

26

Arria ® 10 Transceiver PHY User Guide

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

Figure 17.

GT Transceiver Channel in Full Duplex Mode Operating Between 17.4 Gbps and 25.8 Gbps

Transmitter PMA

FPGA Fabric

Serializer

(2)

Transmitter PCS

Standard PCS

KR FEC

PCIe Gen3 PCS

Enhanced PCS

(3)

(3)

(1)

(2)

PCS Direct

CDR

Receiver PMA

Deserializer

(2)

Receiver PCS

Standard PCS

KR FEC

PCIe Gen3 PCS

Enhanced PCS

PCS Direct

(3)

(3)

(1)

(2)

Notes:

(1) The Enhanced PCS must be configured in Basic low latency mode to support data rate range from 17.4 Gbps to 25.8 Gbps.

(2) The FPGA Fabric - PCS and PCS-PMA interface widths are configurable.

(3) The Standard PCS and PCIe Gen3 PCS blocks are available when the GT channel is configured as a GX transceiver channel.

Table 7.

GT

GX

PCS Types and Data Rates Supported by GT Channel Configurations

GT Channel Configuration

Standard PCS

Enhanced PCS

PCS Type

PCIe Gen3 PCS

Standard PCS

Enhanced PCS

PCIe Gen3 PCS

Data Rates Supported

Not available for GT configuration

17.4 Gbps to 25.8 Gbps (7)

Not available for GT configuration

1.0 Gbps to 12 Gbps

1.0 Gbps (8) to 17.4 Gbps

8 Gbps

Note: 1. The GT channels can also operate in PCS Direct configuration for data rates from

1.0 Gbps to 25.8 Gbps. The PCS Direct datapath that bypasses all PCS blocks is the primary configuration used to support GT data rates from 17.4 Gbps to 25.8

Gbps. To operate GX and GT transceiver channels in PCS Direct designated data rates, refer to the IntelArria 10 Device Datasheet for more details on power supply, speed grade, and transceiver configurations requirement.

2. The minimum operational data rate is 1.0 Gbps for both the transmitter and receiver. For transmitter data rates less than 1.0 Gbps, oversampling must be applied at the transmitter. For receiver data rates less than 1.0 Gbps, oversampling must be applied at the receiver.

3. To operate GX and GT transceiver channels with the PCS at designated data rates, refer to the IntelArria 10 Device Datasheet for more details on power supply, speed grade, and transceiver configurations requirement.

(7) The Enhanced PCS must be configured in Basic low latency mode to support data rate range from 17.4 Gbps to 25.8 Gbps.

(8) Applies when operating in reduced power modes. For standard power modes, the Enhanced

PCS minimum data rate is 1600 Mbps.

Intel ® Arria ® 10 Transceiver PHY User Guide

27

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

Related Information

IntelArria 10 Device Datasheet

1.2.3. Transceiver Phase-Locked Loops

Each transceiver channel in Arria 10 devices has direct access to three types of high performance PLLs:

• Advanced Transmit (ATX) PLL

• Fractional PLL (fPLL)

• Channel PLL / Clock Multiplier Unit (CMU) PLL.

These transceiver PLLs along with the Master or Local Clock Generation Blocks (CGB) drive the transceiver channels.

Related Information

PLLs on page 349

For more information on transceiver PLLs in Arria 10 devices.

1.2.3.1. Advanced Transmit (ATX) PLL

An advanced transmit (ATX ) PLL is a high performance PLL. It supports both integer frequency synthesis and coarse resolution fractional frequency synthesis. The ATX PLL is the transceiver channel’s primary transmit PLL. It can operate over the full range of supported data rates required for high data rate applications.

Related Information

ATX PLL

on page 350

For more information on ATX PLL.

ATX PLL IP Core

on page 354

For details on implementing the ATX PLL IP.

1.2.3.2. Fractional PLL (fPLL)

A fractional PLL (fPLL) is an alternate transmit PLL used for generating lower clock frequencies for 12.5 Gbps and lower data rate applications. fPLLs support both integer frequency synthesis and fine resolution fractional frequency synthesis. Unlike the ATX

PLL, the fPLL can also be used to synthesize frequencies that can drive the core through the FPGA fabric clock networks.

Related Information

fPLL

on page 359

For more information on fPLL.

fPLL IP Core

on page 362

For details on implementing the fPLL IP.

1.2.3.3. Channel PLL (CMU/CDR PLL)

A channel PLL resides locally within each transceiver channel. Its primary function is clock and data recovery in the transceiver channel when the PLL is used in clock data recovery (CDR) mode. The channel PLLs of channel 1 and 4 can be used as transmit

Intel ®

28

Arria ® 10 Transceiver PHY User Guide

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

PLLs when configured in clock multiplier unit (CMU) mode. The channel PLLs of channel 0, 2, 3, and 5 cannot be configured in CMU mode and therefore cannot be used as transmit PLLs.

Related Information

CMU PLL

on page 368

For more information on CMU PLL.

CMU PLL IP Core on page 370

For information on implementing CMU PLL IP.

1.2.4. Clock Generation Block (CGB)

In Arria 10 devices, there are two types of clock generation blocks (CGBs):

• Master CGB

• Local CGB

Transceiver banks with six transceiver channels have two master CGBs. Master CGB1 is located at the top of the transceiver bank and master CGB0 is located at the bottom of the transceiver bank. Transceiver banks with three channels have only one master

CGB. The master CGB divides and distributes bonded clocks to a bonded channel group. It also distributes non-bonded clocks to non-bonded channels across the x6/xN clock network.

Each transceiver channel has a local CGB. The local CGB is used for dividing and distributing non-bonded clocks to its own PCS and PMA blocks.

Related Information

Clock Generation Block

on page 383

For more information on clock generation block.

1.3. Calibration

Arria 10 FPGAs contain a dedicated calibration engine to compensate for process variations. The calibration engine calibrates the analog portion of the transceiver to allow both the transmitter and receiver to operate at optimum performance.

The

CLKUSR

pin clocks the calibration engine. All transceiver reference clocks and the

CLKUSR

clock must be free running and stable at the start of FPGA configuration to successfully complete the calibration process and for optimal transceiver performance.

Note: For more information about

CLKUSR

electrical characteristics, refer to IntelArria 10

Device Datasheet. The

CLKUSR

can also be used as an FPGA configuration clock. For information about configuration requirements for the

CLKUSR

pin, refer to the

Configuration, Design Security, and Remote System Upgrades in Arria 10 Devices chapter in the Arria 10 Core Fabric and General-Purpose I/O Handbook. For more information about calibration, refer to the Calibration chapter. For more information about

CLKUSR

pin requirements, refer to the IntelArria 10 GX, GT, and SX Device

Family Pin Connection Guidelines.

Related Information

• IntelArria 10 Device Datasheet

Intel ® Arria ® 10 Transceiver PHY User Guide

29

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

• Configuration, Design Security, and Remote System Upgrades in Arria 10 Devices

• IntelArria 10 GX, GT, and SX Device Family Pin Connection Guidelines

1.4. Intel Arria 10 Transceiver PHY Overview Revision History

Changes Document

Version

2018.06.15

2016.05.02

2016.02.11

2015.11.02

2015.05.11

2014.12.15

2014.08.15

Made the following changes:

• Changed the data rate range for the Standard PCS in the "PCS types Supported by GX Transceiver

Channels" table.

Made the following changes:

• Maximum backplane rate updated from 16.0 Gbps to 12.5 Gbps.

• No Backplane support when VCCR/T_GXB=0.95 (Low Power Mode).

• Added a footnote to refer to Arria 10 Device datasheet for PCS Types Supported by GX and GT

Transceiver Channels.

Made the following changes:

• Changed the "Arria 10 GT Devices with 72 Transceiver Channels and Four PCIe Hard IP Blocks" figure.

• Changed the "GT Transceiver Bank Architecture" figure.

• Added the "GT Transceiver Bank Architecture for Banks GXBL1E and GXBL1H" figure.

Made the following changes:

• Changed the minimum data rate from 611 Mbps to 1.0 Gbps.

• Changed the location of a PCIe Hard IP block in the "Arria 10 GX Devices with 66 Transceiver

Channels and Three PCIe Hard IP Blocks" figure.

Changed lower limit of supported data rate from 1.0 Gbps to 611 Mbps

Made the following changes:

• Added statement that a 125-Mbps data rate is possible with oversampling in the "Arria 10

Transceiver PHY Overview" section.

• Changed the data rate ranges for Standard PCS and Enhanced PCS in the "PCS Types Supported by

GX Transceiver Channels" table.

• Changed the note in "The GX Transceiver Channel" section.

• Changed the data rate ranges for Standard PCS and Enhanced PCS in the "PCS Types and Data

Rates Supported by GT Channel Configurations" table.

• Added a legend entry to the "Arria 10 GT Devices with 96 Transceiver Channels and Four PCIe Hard

IP Blocks" figure.

• Added a legend entry to the "Arria 10 GT Devices with 72 Transceiver Channels and Four PCIe Hard

IP Blocks" figure.

• Added a legend entry to the "Arria 10 GT Devices with 48 Transceiver Channels and Two PCIe Hard

IP Blocks" figure.

• Changed the note to the "PCS Types and Data Rates Supported by GT Channel Configurations" table.

• Changed the Data Rates Supported for GT channel Standard PCS and PCIe Gen3 PCS types in the

"PCS Types and Data Rates Supported by GT Channel Configurations" table.

• Added a related link to the Arria 10 GX, GT, and SX Device Family Pin Connection Guidelines in the

"Calibration" section.

Made the following changes:

• Changed the maximum data rate for GT channels to 25.8 Gbps.

• Changed minimum data rate supported by GT transceiver channels to 1 Gbps from 611 Mbps.

• Changed the figure "Arria 10 GX Devices with Six Transceiver Channels and One PCIe Hard IP

Block" to adda a clarification about PCIe Hard IP block.

• Updated the legend for all figures in "Arria 10 GT Device Transceiver Layout" section.

• Changed the device package names in Table1-3 and Table 1-4 in "Arria 10 GX and GT Device

Package Details Section." continued...

Intel ®

30

Arria ® 10 Transceiver PHY User Guide

1. Arria ® 10 Transceiver PHY Overview

UG-01143 | 2018.06.15

Document

Version

2013.12.02

Changes

• Updated figure "Arria 10 SX Device with 48,36, and 24 Transceiver Channels and Two PCIe Hard IP

Blocks.

• Updated figure "Arria 10 SX Devices with Six Transceiver Channels and One PCIe Hard IP Block" to add a clarification about PCIe Hard IP.

• Updated the device package names in Table 1-5 in "Arria 10 SX Device Package Details" section.

• Removed all references of the note about PCS-Direct support available in future release.

Initial release.

Intel ® Arria ® 10 Transceiver PHY User Guide

31

UG-01143 | 2018.06.15

2. Implementing Protocols in Arria 10 Transceivers

2.1. Transceiver Design IP Blocks

Figure 18.

Arria 10 Transceiver Design Fundamental Building Blocks

Reset controller is used for resetting the

transceiver channels.

Transceiver PHY

Reset Controller (2)

Analog and Digital

Reset Bus

Reset Ports

Transceiver PLL IP core provides a clock source to clock networks that drive the transceiver channels. In Arria 10 devices, PLL IP Core is separate from the transceiver PHY IP core.

Avalon master allows access to Avalon-MM reconfiguration registers via the Avalon

Memory Mapped interface. It enables PCS,

PMA , and PLL reconfiguration. To access the reconfiguration registers, implement an

Avalon master in the FPGA fabric. This faciliates reconfiguration by performing reads and writes through the Avalon-MM interface.

This block can be either a MAC IP core, or a frame generator / analyzer or a data generator / analyzer.

Transceiver

PLL IP Core

Master/Local

Clock

Generation

Block

Avalon-MM Master

MAC IP Core /

Data Generator /

Data Analyzer

Non-Bonded and

Bonded Clocks

Avalon-MM

Interface

Transceiver PHY IP Core

(1)

Reconfiguration

Registers

Parallel Data Bus

Note:

(1) The Transceiver PHY IP core can be one of the supported PHY IP Cores ( For example: Native PHY IP Core, XAUI PHY IP Core, and so on)

(2) You can either design your own reset controller or use the Transceiver PHY Reset Controller.

Legend:

Intel generated IP block

User created IP block

Transceiver PHY IP core controls the PCS and

PMA configurations and transceiver channels functions for all communication protocols.

Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.

*Other names and brands may be claimed as the property of others.

ISO

9001:2008

Registered

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.2. Transceiver Design Flow

Figure 19.

Transceiver Design Flow

Note: The design examples on the Intel FPGA wiki page provide useful guidance for developing your own design.

However, the content on the Intel FPGA wiki page is not guaranteed by Intel.

Select PHY IP Core

Configure the PHY IP Core

Generate the Transceiver PHY Reset Controller or create your own User-Coded Reset Controller

Generate PHY IP Core Select PLL IP Core

Configure the PLL IP Core

Generate PLL IP Core

Create reconfiguration logic

(if needed)

Connect PHY IP Core to PLL IP Core, Reset Controller, and

connect reconfiguration logic via Avalon-MM interface

Connect Transceiver Datapath to MAC IP Core or to a Data Generator / Analyzer

Make analog parameter settings to I/O pins using the Assignment Editor or updating the Quartus Prime Settings File

Compile Design

Verify Design Functionality

Related Information http://www.alterawiki.com

2.2.1. Select and Instantiate the PHY IP Core

Select the appropriate PHY IP core to implement your protocol.

Refer to the Arria 10 Transceiver Protocols and PHY IP Support section to decide which

PHY IP to select to implement your protocol.

Intel ® Arria ® 10 Transceiver PHY User Guide

33

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

You can create your Quartus ® Prime project first, and then instantiate the various IPs required for your design. In this case, specify the location to save your IP HDL files.

The current version of the PHY IP does not have the option to set the speed grade.

Specify the device family and speed grade when you create the Quartus Prime project.

You can also instantiate the PHY IP directly to evaluate the various features.

To instantiate a PHY IP:

1. Open the Quartus Prime software.

2. Click ToolsIP Catalog.

3. At the top of the IP Catalog window, select Arria 10 device family

4. In IP Catalog, under LibraryInterface Protocols, select the appropriate PHY

IP and then click Add.

5. In the New IP Instance Dialog Box, provide the IP instance name.

6. Select Arria 10 device family.

7. Select the appropriate device and click OK.

The PHY IP Parameter Editor window opens.

Intel ®

34

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 20.

Arria 10 Transceiver PHY Types

Related Information

Arria 10 Transceiver Protocols and PHY IP Support

on page 41

2.2.2. Configure the PHY IP Core

Configure the PHY IP core by selecting the valid parameters for your design. The valid parameter settings are different for each protocol. Refer to the appropriate protocol's section for selecting valid parameters for each protocol.

Related Information

Using the Arria 10 Transceiver Native PHY IP Core

on page 45

For information on Native PHY IP.

Intel ® Arria ® 10 Transceiver PHY User Guide

35

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Interlaken

on page 94

Gigabit Ethernet (GbE) and GbE with IEEE 1588v2 on page 112

10GBASE-R, 10GBASE-R with IEEE 1588v2, and 10GBASE-R with FEC Variants

on page 124

10GBASE-KR PHY IP Core

on page 135

1-Gigabit/10-Gigabit Ethernet (GbE) PHY IP Core

on page 164

PCI Express (PIPE) on page 229

CPRI

on page 279

Using the "Basic (Enhanced PCS)" and "Basic with KR FEC" Configurations of

Enhanced PCS on page 289

Using the Basic/Custom, Basic/Custom with Rate Match Configurations of Standard

PCS

on page 300

Design Considerations for Implementing Arria 10 GT Channels

on page 319

2.2.3. Generate the PHY IP Core

After configuring the PHY IP, complete the following steps to generate the PHY IP.

1. Click the Generate HDL button in the Parameter Editor window. The

Generation dialog box opens.

2. In Synthesis options, under Create HDL design for synthesis select

Verilog or

VHDL

.

3. Select appropriate Simulation options depending on the choice of the hardware description language you selected under Synthesis options.

4. In Output Directory, select Clear output directories for selected generation

targets if you want to clear any previous IP generation files from the selected output directory.

5. Click Generate.

The Quartus Prime software generates a <phy ip instance name> folder, <phy ip

instance name>_sim folder, <phy ip instance name>.qip file, <phy ip instance

name>.qsys file, and <phy ip instance name>.v file or <phy ip instance name>.vhd

file. This <phy ip instance name>.v file is the top level design file for the PHY IP and is placed in the <phy ip instance name>/synth folder. The other folders contain lower level design files used for simulation and compilation.

Related Information

IP Core File Locations on page 91

For more information about IP core file structure

2.2.4. Select the PLL IP Core

Arria 10 devices have three types of PLL IP cores:

• Advanced Transmit (ATX) PLL IP core.

• Fractional PLL (fPLL) IP core.

• Channel PLL / Clock Multiplier Unit (CMU) PLL IP core.

Intel ®

36

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Select the appropriate PLL IP for your design. For additional details, refer to the PLLs

and Clock Networks chapter.

To instantiate a PLL IP:

1. Open the Quartus Prime software.

2. Click ToolsIP Catalog.

3. At the top of the IP Catalog window, select Arria 10 device family

4. In IP Catalog, under LibraryBasic FunctionsClocks, PLLs, and Resets

PLL choose the PLL IP (Arria 10 fPLL, Arria 10 Transceiver ATX PLL, or

Arria 10 Transceiver CMU PLL) you want to include in your design and then click Add.

5. In the New IP Instance Dialog Box, provide the IP instance name.

6. Select Arria 10 device family.

7. Select the appropriate device and click OK.

The PLL IP GUI window opens.

Intel ® Arria ® 10 Transceiver PHY User Guide

37

Figure 21.

Arria 10 Transceiver PLL Types

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Related Information

PLLs on page 349

2.2.5. Configure the PLL IP Core

Understand the available PLLs, clock networks, and the supported clocking configurations. Configure the PLL IP to achieve the adequate data rate for your design.

Intel ®

38

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Related Information

ATX PLL IP Core

on page 354

fPLL IP Core

on page 362

CMU PLL IP Core on page 370

Using PLLs and Clock Networks

on page 398

2.2.6. Generate the PLL IP Core

After configuring the PLL IP core, complete the following steps to generate the PLL IP core.

1. Click the Generate HDL button in the Parameter Editor window. The

Generation dialog box opens.

2. In Synthesis options, under Create HDL design for synthesis select

Verilog or

VHDL

.

3. Select appropriate Simulation options depending on the choice of the hardware description language you selected under Synthesis options.

4. In Output Directory, select Clear output directories for selected generation

targets if you want to clear any previous IP generation files from the selected output directory.

5. Click Generate.

The Quartus ® Prime software generates a <pll ip core instance name> folder, <pll ip

core instance name>_sim folder, <pll ip core instance name>.qip file, <pll ip core

instance name>.qsys, and <pll ip core instance name>.v file or <pll ip core instance

name>.vhd file. The <pll ip core instance name>.v file is the top level design file for the PLL IP core and is placed in the <pll ip core instance name>/ synth folder. The other folders contain lower level design files used for simulation and compilation.

Related Information

IP Core File Locations on page 91

For more information about IP core file structure

2.2.7. Reset Controller

There are two methods to reset the transceivers in Arria 10 devices:

• Use the Transceiver PHY Reset Controller.

• Create your own reset controller that follows the recommended reset sequence.

Related Information

Resetting Transceiver Channels

on page 416

2.2.8. Create Reconfiguration Logic

Dynamic reconfiguration is the ability to dynamically modify the transceiver channels and PLL settings during device operation. To support dynamic reconfiguration, your design must include an Avalon master that can access the dynamic reconfiguration registers using the Avalon-MM interface.

Intel ® Arria ® 10 Transceiver PHY User Guide

39

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

The Avalon-MM master enables PLL and channel reconfiguration. You can dynamically adjust the PMA parameters, such as differential output voltage swing (Vod), and preemphasis settings. This adjustment can be done by writing to the Avalon-MM reconfiguration registers through the user generated Avalon-MM master.

For detailed information on dynamic reconfiguration, refer to Reconfiguration Interface

and Dynamic Reconfiguration chapter.

Related Information

Reconfiguration Interface and Dynamic Reconfiguration

on page 502

2.2.9. Connect the PHY IP to the PLL IP Core and Reset Controller

Connect the PHY IP, PLL IP core, and the reset controller. Write the top level module to connect all the IP blocks.

All of the I/O ports for each IP, can be seen in the <phy instance name>.v file or <phy

instance name>.vhd, and in the <phy_instance_name>_bb.v file.

For more information about description of the ports, refer to the ports tables in the

PLLs, Using the Transceiver Native PHY IP Core, and Resetting Transceiver Channels chapters.

Related Information

Enhanced PCS Ports on page 76

Standard PCS Ports on page 86

Resetting Transceiver Channels

on page 416

Using the Arria 10 Transceiver Native PHY IP Core

on page 45

PLLs and Clock Networks on page 347

2.2.10. Connect Datapath

Connect the transceiver PHY layer design to the Media Access Controller (MAC) IP core or to a data generator / analyzer or a frame generator / analyzer.

2.2.11. Make Analog Parameter Settings

Make analog parameter settings to I/O pins using the Assignment Editor or updating the Quartus Prime Settings File.

After verifying your design functionality, make pin assignments and PMA analog parameter settings for the transceiver pins.

1. Assign FPGA pins to all the transceiver and reference clock I/O pins. For more details, refer to the Arria 10 Pin Connection Guidelines.

2. Set the analog parameters to the transmitter, receiver, and reference clock pins using the Assignment Editor.

All of the pin assignments and analog parameters set using the Pin Planner and the Assignment Editor are saved in the <top_level_project_name>.qsf file. You can also directly modify the Quartus Settings File (.qsf) to set PMA analog parameters.

Intel ®

40

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Related Information

Analog Parameter Settings on page 585

• Arria 10 Pin Connection Guidelines

2.2.12. Compile the Design

To compile the transceiver design, add the <phy_instancename>.qip files for all the IP blocks generated using the IP Catalog to the Quartus Prime project library. You can alternatively add the .qsys and .qip variants of the IP cores.

Note: If you add both the .qsys and the .qip file into the Quartus Prime project, the software generates an error.

Related Information

Intel Quartus Prime Incremental Compilation for Hierarchical and Team-Based Design

For more information about compilation details.

2.2.13. Verify Design Functionality

Simulate your design to verify the functionality of your design. For more details, refer to Simulating the Native Transceiver PHY IP Core section.

Related Information

Simulating the Transceiver Native PHY IP Core on page 325

• Quartus Prime Handbook - Volume 3: Verification

Information about design simulation and verification.

2.3. Arria 10 Transceiver Protocols and PHY IP Support

Table 8.

Arria 10 Transceiver Protocols and PHY IP Support

Protocol

PCIe Gen3 x1, x2, x4, x8

PCIe Gen2 x1, x2, x4, x8

PCIe Gen1 x1, x2, x4, x8

Transceiver PHY IP

Core

Native PHY IP core

(PIPE)/Hard IP for PCI

Express (

11

)

Native PHY IP (PIPE) core/Hard IP for PCI

Express (

11 )

Native PHY IP (PIPE) core/Hard IP for PCI

Express (

11 )

PCS Support

Standard and Gen3

Standard

Standard

Transceiver

Configuration Rule (9)

Gen3 PIPE

Gen2 PIPE

Gen1 PIPE

Protocol Preset (10)

PCIe PIPE Gen3 x1

PCIe PIPE Gen3 x8

PCIe PIPE Gen2 x1

PCIe PIPE Gen2 x8

User created continued...

(9) For more information about Transceiver Configuration Rules, refer to Using the Intel Arria

10Transceiver Native PHY IP Core section.

(10) For more information about Protocol Presets, refer to Using the Intel Arria 10Transceiver

Native PHY IP Core section.

(11) Hard IP for PCI Express is also available as a separate IP core.

Intel ® Arria ® 10 Transceiver PHY User Guide

41

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Protocol

1000BASE-X Gigabit

Ethernet

1000BASE-X Gigabit

Ethernet with 1588

10GBASE-R

Transceiver PHY IP

Core

Native PHY IP core

Native PHY IP core

Native PHY IP core

10GBASE-R 1588

10GBASE-R with KR

FEC

10GBASE-KR and

1000BASE-X

Native PHY IP core

Native PHY IP core

1G/10GbE and

10GBASE-KR PHY

IP (12)

40GBASE-R

40GBASE-R with FEC/

40GBASE-KR4 (14)

100GBASE-R via

CAUI-4/CPPI-4/BP and

CEI-25G

100GBASE-R via CAUI

100GBASE-R via CAUI with FEC

XAUI

SPAUI

Native PHY IP core

Native PHY IP core

Native PHY IP core

Native PHY IP core

Native PHY IP core

XAUI PHY IP core

Native PHY IP core

PCS Support

Standard

Standard

Enhanced

Enhanced

Enhanced

Standard and

Enhanced

Enhanced

Enhanced

Enhanced and PCS

Direct

Transceiver

Configuration Rule (9)

GbE

Protocol Preset (10)

GIGE - 1.25 Gbps

GbE 1588

10GBASE-R

GIGE - 1.25 Gbps

1588

10GBASE-R Low

Latency

10GBASE-R 1588 10GBASE-R 1588

10GBASE-R w/KR FEC 10GBASE-R w/KR FEC

Not applicable BackPlane_wo_1588

LineSide (optical)

LineSide(optical)_158

8

Basic (Enhanced PCS) Low Latency Enhanced

PCS (13)

Basic w/KR FEC User created

Basic (Enhanced

PCS) / PCS Direct

Low Latency GT (15)

Enhanced

Enhanced

Soft PCS

Standard and

Enhanced

Basic (Enhanced PCS) Low Latency Enhanced

PCS (16)

Basic w/KR FEC User created

Not applicable

Basic/Custom

(Standard PCS)

Not applicable

User created continued...

(9) For more information about Transceiver Configuration Rules, refer to Using the Intel Arria

10Transceiver Native PHY IP Core section.

(10) For more information about Protocol Presets, refer to Using the Intel Arria 10Transceiver

Native PHY IP Core section.

(12) The 1G/10GbE and 10GBASE-KR PHY IP core includes the necessary soft IP for link training, auto speed negotiation, and sequencer functions.

(13) To implement 40GBASE-R using the Low Latency Enhanced PCS preset, change the number of data channels to four and select appropriate PCS- FPGA Fabric and PCS-PMA width.

(14) Link training, auto speed negotiation and sequencer functions are not included in the Native

PHY IP. The user would have to create soft logic to implement these functions when using

Native PHY IP.

(15) Low Latency GT protocol preset requires some modification to implement CAUI-4/CPPI-4/BP-4 and CEI-25G.

(16) To implement 100GBASE-R via CAUI using the Low Latency Enhanced PCS preset, change the number of data channels to 10 and select appropriate PCS-FPGA Fabric and PCS-PMA width.

Intel ®

42

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Protocol

DDR XAUI

Transceiver PHY IP

Core

Native PHY IP core

Interlaken (CEI-6G/

11G) (17)

Native PHY IP core

OTU-4 (100G) via

OTL4.10/OIF SFI-S

OTU-3 (40G) via

OTL3.4/OIF SFI-5.2/

SFI-5.1

OTU-2 (10G) via SFP

+/SFF-8431/CEI-11G

OTU-2 (10G) via OIF

SFI-5.1s

OTU-1 (2.7G)

SONET/SDH STS-768/

STM-256 (40G) via

OIF SFI-5.2/STL256.4

SONET/SDH STS-768/

STM-256 (40G) via

OIF SFI-5.1

SONET/SDH STS-192/

STM-64 (10G) via SFP

+/SFF-8431/CEI-11G

SONET/SDH STS-192/

STM-64 (10G) via OIF

SFI-5.1s/SxI-5/

SFI-4.2

SONET STS-96 (5G) via OIF SFI-5.1s

Native PHY IP core

Native PHY IP core

Native PHY IP core

Native PHY IP core

Native PHY IP core

Native PHY IP core

Native PHY IP core

Native PHY IP core

Native PHY IP core

Native PHY IP core

PCS Support

Standard and

Enhanced

Enhanced

Enhanced

Enhanced

Transceiver

Configuration Rule (9)

Basic (Enhanced PCS)

Basic/Custom

(Standard PCS)

Basic (Enhanced PCS)

Interlaken

Protocol Preset (10)

User created

Basic (Enhanced PCS)

Basic (Enhanced PCS)

Interlaken

10x12.5Gbps

Interlaken

6x10.3Gbps

Interlaken

1x6.25Gbps

SFI-S 64:64 4x11.3

Gbps (18)

User created

Enhanced

Enhanced

Standard

Enhanced

Basic (Enhanced PCS)

Basic (Enhanced PCS)

Basic/Custom

(Standard PCS)

Basic (Enhanced PCS)

User created

User created

User created

User created

Enhanced

Enhanced

Enhanced

Basic (Enhanced PCS)

Basic (Enhanced PCS)

Basic (Enhanced PCS)

User created

User created

User created

Enhanced Basic/Custom

(Standard PCS)

SONET/SDH OC-96 continued...

(9) For more information about Transceiver Configuration Rules, refer to Using the Intel Arria

10Transceiver Native PHY IP Core section.

(10) For more information about Protocol Presets, refer to Using the Intel Arria 10Transceiver

Native PHY IP Core section.

(17) A Transmit PCS soft bonding logic required for multi-lane bonding configuration is provided in the design example.

(18) To implement OTU-4 (100G) via OTL4.10/OIF SFI-S using SFI-S 64:64 4x11.3Gbps preset, change the number of data channels to 10 for OTL4.10 or user desired number of channels and datarate implemented for SFI-S.

Intel ® Arria ® 10 Transceiver PHY User Guide

43

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Protocol

SONET/SDH STS-48/

STM-16 (2.5G) via

SFP/TFI-5.1

SONET/SDH STS-12/

STM-4 (0.622G) via

SFP/TFI-5.1

Intel QPI 1.1/2.0

SD-SDI/HD-SDI/3G-

SDI

Vx1

DisplayPort

1.25G/ 2.5G

10G GPON/EPON

2.5G/1.25G GPON/

EPON

16G/10G Fibre

Channel

8G/4G/2G/1G Fibre

Channel

(20)

EDR Infiniband x1, x4

Transceiver PHY IP

Core

Native PHY IP core

Native PHY IP core (

19 )

Native PHY IP core

Native PHY IP core

Native PHY IP core

Native PHY IP core

Native PHY IP core

Native PHY IP core

Native PHY IP core

Native PHY IP core

Native PHY IP core

FDR/FDR-10 Infiniband x1, x4, x12

SDR/DDR/QDR

Infiniband x1, x4, x12

CPRI v6.1 12.16512/

CPRI v6.0 10.1376 Gbps

CPRI 4.2/OBSAI RP3 v4.2

Native PHY IP core

Native PHY IP core

Native PHY IP core

Native PHY IP core

PCS Support

Standard

Standard

PCS Direct

Standard

Standard

Standard

Enhanced

Transceiver

Configuration Rule

Basic/Custom

(Standard PCS)

Basic/Custom

(Standard PCS)

(9)

PCS Direct

Basic/Custom

(Standard PCS)

Basic/Custom

(Standard PCS)

Basic/Custom

(Standard PCS)

Basic (Enhanced PCS)

Standard

Enhanced

Standard

Enhanced (low latency mode)

PCS Direct

Enhanced

Basic/Custom

(Standard PCS)

Basic (Enhanced PCS)

PCS Direct

Basic (Enhanced PCS)

Standard

Enhanced

Standard

Basic/Custom

(Standard PCS)

Basic (Enhanced PCS)

Basic/Custom

(Standard PCS)

10GBASE-R 1588

10GBASE-R

CPRI (Auto) / CPRI

(Manual)

Protocol Preset (10)

SONET/SDH OC-48

SONET/SDH OC-12

User created

3G/HD SDI NTSC

3G/HD SDI PAL

User created

User created

User created

User created

User created

User created

User created

User created

User created

User created

CPRI 9.8Gbps Auto

Mode continued...

(9) For more information about Transceiver Configuration Rules, refer to Using the Intel Arria

10Transceiver Native PHY IP Core section.

(10) For more information about Protocol Presets, refer to Using the Intel Arria 10Transceiver

Native PHY IP Core section.

(19) The minimum operational data rate is 1.0 Gbps for both the transmitter and receiver. For transmitter data rates less than 1.0 Gbps, oversampling must be applied at the transmitter.

For receiver data rates less than 1.0 Gbps, oversampling must be applied at the receiver.

(20) To meet DisplayPort TX electrical full compliance to VESA DisplayPort Standard version 1.3 and

VESA DisplayPort PHY Compliance Specification version 1.2b ,

VCCT_GXB

&

VCCR_GXB

needs to be 1.03V or higher. Test Refer to AN745: Design Guidelines for DisplayPort and HDMI

Interfaces for further details.

Intel ®

44

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Protocol

SRIO 2.2/1.3

SAS 3.0

SATA 3.0/2.0/1.0 and

SAS 2.0/1.1/1.0

HiGig/HiGig+/HiGig2/

HiGig2+

JESD204A / JESD204B

ASI

Transceiver PHY IP

Core

Native PHY IP core

Native PHY IP core

Native PHY IP core

Native PHY IP core

Native PHY IP core

Native PHY IP core

PCS Support

Standard

Enhanced

Standard

Standard

Standard and

Enhanced

Standard

Transceiver

Configuration Rule (9)

Protocol Preset (10)

CPRI 9.8 Gbps Manual

Mode

Serial Rapid IO 1.25

Gbps

Basic/Custom with

Rate Match(Standard

PCS)

Basic (Enhanced PCS)

Basic/Custom

(Standard PCS)

User created

SAS Gen2/Gen1.1/

Gen1

SATA Gen3/Gen2/

Gen1

User created Basic/Custom

(Standard PCS)

Basic/Custom

(Standard PCS) Basic

(Enhanced PCS)

( 21

)

Basic/Custom

(Standard PCS)

Basic (Enhanced PCS)

User created

User created

User created SPI-5 (100G) / SPI-5

(50G)

Custom and other protocols

Native PHY IP core

Native PHY IP core

Enhanced

Standard and

Enhanced

PCS Direct

Basis/Custom

(Standard PCS)

Basic (Enhanced PCS)

Basic/Custom with

Rate Match (Standard

PCS)

PCS Direct

Related Information

Using the Arria 10 Transceiver Native PHY IP Core

on page 45

• AN745: Design Guidelines for DisplayPort and HDMI Interfaces

User created

2.4. Using the Arria 10 Transceiver Native PHY IP Core

This section describes the use of the Intel-provided Arria 10 Transceiver Native PHY IP core. This Native PHY IP core provides direct access to Arria 10 transceiver PHY features.

Use the Native PHY IP core to configure the transceiver PHY for your protocol implementation. To instantiate the IP, click Tools

IP Catalog to select your IP core variation. Use the Parameter Editor to specify the IP parameters and configure the

PHY IP for your protocol implementation. To quickly configure the PHY IP, select a

(9) For more information about Transceiver Configuration Rules, refer to Using the Intel Arria

10Transceiver Native PHY IP Core section.

(10) For more information about Protocol Presets, refer to Using the Intel Arria 10Transceiver

Native PHY IP Core section.

(21) For JESD204B, Enhanced PCS is used when the data rate is above 12.0 Gbps

Intel ® Arria ® 10 Transceiver PHY User Guide

45

Reconfiguration Interface

Transmit and Receive Clocks

Reconfiguration

Registers

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

preset that matches your protocol configuration as a starting point. Presets are PHY IP configuration settings for various protocols that are stored in the IP Parameter

Editor. Presets are explained in detail in the Presets section below.

You can also configure the PHY IP by selecting an appropriate Transceiver

Configuration Rule. The transceiver configuration rules check the valid combinations of the PCS and PMA blocks in the transceiver PHY layer, and report errors or warnings for any invalid settings.

Use the Native PHY IP core to instantiate the following PCS options:

• Standard PCS

• Enhanced PCS

• PCIe Gen3 PCS

• PCS Direct

Based on the Transceiver Configuration Rule that you select, the PHY IP core selects the appropriate PCS. The PHY IP core allows you to select all the PCS blocks if you intend to dynamically reconfigure from one PCS to another. Refer to General and

Datapath Parameters section for more details on how to enable PCS blocks for dynamic reconfiguration. Refer to the How to Place Channels for PIPE Configuration section or the PCIE solutions guides on restrictions on placement of transceiver channels next to active banks with PCI Express interfaces that are Gen3 capable..

After you configure the PHY IP core in the Parameter Editor, click Generate HDL to generate the IP instance. The top level file generated with the IP instance includes all the available ports for your configuration. Use these ports to connect the PHY IP core to the PLL IP core, the reset controller IP core, and to other IP cores in your design.

Figure 22.

Native PHY IP Core Ports and Functional Blocks

Transmit

PMA

Transmit Serial Data

Transmit Parallel Data

Receive Parallel Data

Reset Signals

Enhanced PCS

Standard PCS

PCIe Gen3 PCS

PCS-Direct

Receive

PMA

Receive Serial Data

Nios II

Calibration

Calibration Signals

Intel ®

46

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 23.

Native PHY IP Core Parameter Editor

General

Options

Common

PMA Options

Datapath

Options

Documentation

Presets

Note:

PMA/PCS, Dynamic Reconfiguration, Optional Analog PMA Settings, and General Options

Although the Quartus Prime software provides legality checks, the supported FPGA fabric to PCS interface widths and the supported data rates are pending characterization.

Related Information

Configure the PHY IP Core on page 35

Interlaken

on page 94

Gigabit Ethernet (GbE) and GbE with IEEE 1588v2 on page 112

10GBASE-R, 10GBASE-R with IEEE 1588v2, and 10GBASE-R with FEC Variants

on page 124

10GBASE-KR PHY IP Core

on page 135

1-Gigabit/10-Gigabit Ethernet (GbE) PHY IP Core

on page 164

PCI Express (PIPE) on page 229

CPRI

on page 279

Using the "Basic (Enhanced PCS)" and "Basic with KR FEC" Configurations of

Enhanced PCS on page 289

Using the Basic/Custom, Basic/Custom with Rate Match Configurations of Standard

PCS

on page 300

Design Considerations for Implementing Arria 10 GT Channels

on page 319

PMA Parameters on page 51

Presets on page 48

General and Datapath Parameters

on page 48

Enhanced PCS Ports on page 76

Standard PCS Ports on page 86

PMA Ports

on page 73

How to Place Channels for Pipe Configuration on page 268

Intel ® Arria ® 10 Transceiver PHY User Guide

47

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.4.1. Presets

You can select preset settings for the Native PHY IP core defined for each protocol. Use presets as a starting point to specify parameters for your specific protocol or application.

To apply a preset to the Native PHY IP core, double-click on the preset name. When you apply a preset, all relevant options and parameters are set in the current instance of the Native PHY IP core. For example, selecting the Interlaken preset enables all parameters and ports that the Interlaken protocol requires.

Selecting a preset does not prevent you from changing any parameter to meet the requirements of your design. Any changes that you make are validated by the design rules for the transceiver configuration rules you specified, not the selected preset.

Note: Selecting a preset clears any prior selections user has made so far.

2.4.2. General and Datapath Parameters

You can customize your instance of the Native PHY IP core by specifying parameter values. In the Parameter Editor, the parameters are organized in the following sections for each functional block and feature:

• General, Common PMA Options, and Datapath Options

• TX PMA

• RX PMA

• Standard PCS

• Enhanced PCS

• PCS Direct Datapath

• Dynamic Reconfiguration

• Analog PMA Settings (Optional)

• Generation Options

Table 9.

General, Common PMA Options, and Datapath Options

Parameter

Message level for rule violations error warning

Value Description

Specifies the messaging level for parameter rule violations.

Selecting error causes all rule violations to prevent IP generation.

Selecting warning displays all rule violations as warnings in the message window and allows IP generation despite the violations.

(22)

VCCR_GXB

and

VCCT_GXB

supply voltage for the Transceiver

0_9V, 1_0V, 1_1V

Transceiver Link Type sr, lr

Selects the

Transceiver.

VCCR_GXB

and

VCCT_GXB

supply voltage for the

Note: This option is only used for GUI rule validation. Use

Quartus Prime Setting File (.qsf) assignments to set this parameter in your static design.

Selects the type of transceiver link. sr-Short Reach (Chip-to-chip communication), lr-Long Reach (Backplane communication).

continued...

(22) Although you can generate the PHY with warnings, you can not compile the PHY in Quartus

Prime.

Intel ®

48

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter

Transceiver configuration rules

PMA configuration rules

Transceiver mode

Number of data channels

Data rate

Basic

SATA/SAS

QPI

GPON

TX/RX Duplex

TX Simplex

RX Simplex

1<n>

Value

User Selection

< valid Transceiver data

rate >

Description

Note: This option is only used for GUI rule validation. Use

Quartus Prime Setting File (.qsf) assignments to set this parameter in your static design.

Specifies the valid configuration rules for the transceiver.

This parameter specifies the configuration rule against which the

Parameter Editor checks your PMA and PCS parameter settings for specific protocols. Depending on the transceiver configuration rule selected, the Parameter Editor validates the parameters and options selected by you and generates error messages or warnings for all invalid settings.

To determine the transceiver configuration rule to be selected for

your protocol, refer to Table 8

on page 41 Transceiver

Configuration Rule Parameters table for more details about each transceiver configuration rule.

This parameter is used for rule checking and is not a preset. You need to set all parameters for your protocol implementation.

Specifies the configuration rule for PMA.

Select Basic for all other protocol modes except for SATA, GPON, and QPI.

SATA (Serial ATA) can be used only if the Transceiver

configuration rule is set to Basic/Custom (Standard PCS).

GPON can be used only if the Transceiver configuration rule is set to Basic (Enhanced PCS).

QPI can be used only if the Transceiver configuration rule is set to PCS Direct.

Specifies the operational mode of the transceiver.

TX/RX Duplex : Specifies a single channel that supports both transmission and reception.

TX Simplex : Specifies a single channel that supports only transmission.

RX Simplex : Specifies a single channel that supports only reception.

The default is TX/RX Duplex.

Specifies the number of transceiver channels to be implemented.

The maximum number of channels available, ( <n> ), depends on the package you select.

The default value is 1.

Specifies the data rate in megabits per second (Mbps).

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

49

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter

Enable datapath and interface reconfiguration

On/Off

Value

Enable simplified data interface

On/Off

Description

When you turn this option on, you can preconfigure and dynamically switch between the Standard PCS, Enhanced PCS, and

PCS direct datapaths.

The default value is Off.

By default, all 128-bits are ports for the tx_parallel_data

and rx_parallel_data

buses are exposed. You must understand the mapping of data and control signals within the interface. Refer to the Enhanced PCS TX and RX Control Ports section for details about mapping of data and control signals.

When you turn on this option, the Native PHY IP core presents a simplified data and control interface between the FPGA fabric and transceiver. Only the sub-set of the 128-bits that are active for a particular FPGA fabric width are ports.

The default value is Off.

(23)

When selected the Native PHY IP core presents separate data, reset and clock interfaces for each channel rather than a wide bus.

Provide separate interface for each channel

On/Off

Table 10.

GbE

GbE 1588

Interlaken

10GBASE-R

Transceiver Configuration Rule Parameters

Transceiver Configuration Setting

Basic/Custom (Standard PCS)

Basic/Custom w /Rate Match

(Standard PCS)

CPRI (Auto)

CPRI (Manual)

Gen1 PIPE

Gen2 PIPE

Gen3 PIPE

Basic (Enhanced PCS)

Description

Enforces a standard set of rules within the Standard PCS. Select these rules to implement custom protocols requiring blocks within the Standard PCS or protocols not covered by the other configuration rules.

Enforces a standard set of rules including rules for the Rate Match FIFO within the Standard PCS. Select these rules to implement custom protocols requiring blocks within the Standard PCS or protocols not covered by the other configuration rules.

Enforces rules required by the CPRI protocol. The receiver word aligner mode is set to Auto. In Auto mode, the word aligner is set to deterministic latency.

Enforces rules required by the CPRI protocol. The receiver word aligner mode is set to Manual. In Manual mode, logic in the FPGA fabric controls the word aligner.

Enforces rules that the 1 Gbps Ethernet (1 GbE) protocol requires.

Enforces rules for the 1 GbE protocol with support for Precision time protocol

(PTP) as defined in the IEEE 1588 Standard.

Enforces rules for a Gen1 PCIe ®

MAC and Data Link Layer.

PIPE interface that you can connect to a soft

Enforces rules for a Gen2 PCIe PIPE interface that you can connect to a soft MAC and Data Link Layer.

Enforces rules for a Gen3 PCIe PIPE interface that you can connect to a soft MAC and Data Link Layer.

Enforces a standard set of rules within the Enhanced PCS. Select these rules to implement protocols requiring blocks within the Enhanced PCS or protocols not covered by the other configuration rules.

Enforces rules required by the Interlaken protocol.

Enforces rules required by the 10GBASE-R protocol.

continued...

(23) This option cannot be used, if you intend to dynamically reconfigure between PCS datapaths, or reconfigure the interface of the transceiver.

Intel ®

50

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Transceiver Configuration Setting

10GBASE-R 1588

10GBASE-R w/KR FEC

40GBASE-R w/KR FEC

Basic w/KR FEC

PCS Direct

Description

Enforces rules required by the 10GBASE-R protocol with 1588 enabled.

Enforces rules required by the 10GBASE-R protocol with KR FEC block enabled.

Enforces rules required by the 40GBASE-R protocol with the KR FEC block enabled.

Enforces a standard set of rules required by the Enhanced PCS when you enable the KR FEC block. Select this rule to implement custom protocols requiring blocks within the Enhanced PCS or protocols not covered by the other configuration rules.

Enforces rules required by the PCS Direct mode. In this configuration the data flows through the PCS channel, but all the internal PCS blocks are bypassed. If required, the PCS functionality can be implemented in the FPGA fabric.

Related Information

Device Transceiver Layout

on page 9

Enhanced PCS TX and RX Control Ports

on page 83

2.4.3. PMA Parameters

You can specify values for the following types of PMA parameters:

TX PMA

• TX Bonding Options

• TX PLL Options

• TX PMA Optional Ports

RX PMA

• RX CDR Options

• Equalization

• RX PMA Optional Ports

Table 11.

TX Bonding Options

Parameter

TX channel bonding mode

Value

Not bonded

PMA only bonding

PMA and PCS bonding

Description

Selects the bonding mode to be used for the channels specified.

Bonded channels use a single TX PLL to generate a clock that drives multiple channels, reducing channel-to-channel skew. The following options are available:

Not bonded: In a non-bonded configuration, only the high speed serial clock is expected to be connected from the TX PLL to the

Native PHY IP core. The low speed parallel clock is generated by the local clock generation block (CGB) present in the transceiver channel. For non-bonded configurations, because the channels are not related to each other and the feedback path is local to the PLL, the skew between channels cannot be calculated.

PMA only bonding: In PMA bonding, the high speed serial clock is routed from the transmitter PLL to the master CGB. The master

CGB generates the high speed and low parallel clocks and the local

CGB for each channel is bypassed. Refer to the Channel Bonding section for more details.

PMA and PCS bonding : In a PMA and PCS bonded configuration, the local CGB in each channel is bypassed and the parallel clocks generated by the master CGB are used to clock the continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

51

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter

PCS TX channel bonding master

Actual PCS TX channel bonding master

Value

Auto, 0 to <number of channels> -1

0 to <number of channels> -1

Description network. The master CGB generates both the high and low speed clocks. The master channel generates the PCS control signals and distributes to other channels through a control plane block.

The default value is Not bonded.

Refer to Channel Bonding section in PLLs and Clock Networks chapter for more details.

Specifies the master PCS channel for PCS bonded configurations.

Each Native PHY IP core instance configured with bonding must specify a bonding master. If you select Auto, the Native PHY IP core automatically selects a recommended channel.

The default value is Auto. Refer to the PLLs and Clock Networks chapter for more information about the TX channel bonding master.

This parameter is automatically populated based on your selection for the PCS TX channel bonding master parameter. Indicates the selected master PCS channel for PCS bonded configurations.

Table 12.

TX PLL Options

Parameter

TX local clock division factor

1, 2, 4, 8

Value

Number of TX PLL clock inputs per channel

Initial TX PLL clock input selection

1, 2, 3 , 4

0 to <number of TX

PLL clock inputs> -1

Description

Specifies the value of the divider available in the transceiver channels to divide the TX PLL output clock to generate the correct frequencies for the parallel and serial clocks.

Specifies the number of TX PLL clock inputs per channel. Use this parameter when you plan to dynamically switch between TX PLL clock sources. Up to four input sources are possible.

Specifies the initially selected TX PLL clock input. This parameter is necessary when you plan to switch between multiple TX PLL clock inputs.

Table 13.

TX PMA Optional Ports

Parameter

Enable tx_pma_analog_reset_ack port

Enable tx_pma_clkout port

Value

On/Off

On/Off

Description

Enables the optional tx_pma_analog_reset_ack

output port.

This port should not be used for register mode data transfers.

Enable tx_pma_div_clkout port

On/Off tx_pma_div_clkout division factor

Disabled, 1, 2,

33, 40, 66

Enables the optional tx_pma_clkout

output clock. This is the low speed parallel clock from the TX PMA. The source of this clock is the serializer. It is driven by the PCS/PMA interface block. (24)

Enables the optional tx_pma_div_clkout

output clock. This clock is generated by the serializer. You can use this to drive core logic, to drive the FPGA - transceivers interface.

If you select a tx_pma_div_clkout division factor of 1 or 2, this clock output is derived from the PMA parallel clock. If you select a tx_pma_div_clkout division factor of 33, 40, or 66, this clock is derived from the PMA high serial clock. This clock is commonly used when the interface to the TX FIFO runs at a different rate than the PMA parallel clock frequency, such as 66:40 applications.

Selects the division factor for the clock when enabled. (25) tx_pma_div_clkout

output continued...

(24) This clock should not be used to clock the FPGA - transceivers interface. This clock may be used as a reference clock to an external clock cleaner.

Intel ®

52

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter

Enable tx_pma_iqtxrx_clkout port

Enable tx_pma_elecidle port

Enable tx_pma_qpipullup port (QPI)

Enable tx_pma_qpipulldn port (QPI)

Enable tx_pma_txdetectrx port (QPI)

Enable tx_pma_rxfound port (QPI)

Value

On/Off

On/Off

On/Off

On/Off

On/Off

On/Off

Enable rx_seriallpbken port On/Off

Description

Enables the optional of a PLL.

tx_pma_iqtxrx_clkout

output clock. This clock can be used to cascade the TX PMA output clock to the input

Enables the tx_pma_elecidle

port. When you assert this port, the transmitter is forced into an electrical idle condition. This port has no effect when the transceiver is configured for PCI Express.

Enables the tx_pma_qpipullup

control input port. Use this port only for Quick Path Interconnect (QPI) applications.

Enables the tx_pma_qpipulldn only for QPI applications.

control input port. Use this port

Enables the tx_pma_txdetectrx

control input port. The receiver detect block in the TX PMA detects the presence of a receiver at the other end of the channel. After receiving a tx_pma_txdetectrx

request the receiver detect block initiates the detection process. Use this port only in QPI applications.

Enables the tx_pma_rxfound detect block in TX PMA detects the presence of a receiver at the other end by using the

status output port. The receiver tx_pma_txdetectrx

input. The tx_pma_rxfound

port reports the status of the detection operation. Use this port only in QPI applications.

Enables the optional rx_seriallpbken

control input port. The assertion of this signal enables the TX to RX serial loopback path within the transceiver. This is an asynchronous input signal.

Table 14.

RX CDR Options

Parameter

Number of CDR reference clocks

Selected CDR reference clock

Selected CDR reference clock frequency

PPM detector threshold

1 - 5

100

300

500

1000

Value

0 to <number of CDR reference clocks> -1

< data rate dependent >

Description

Specifies the number of CDR reference clocks. Up to 5 sources are possible.

The default value is 1.

Use this feature when you want to dynamically re-configure CDR reference clock source.

Specifies the initial CDR reference clock. This parameter determines the available CDR references used.

The default value is 0.

Specifies the CDR reference clock frequency. This value depends on the data rate specified.

Specifies the PPM threshold for the CDR. If the PPM between the incoming serial data and the CDR reference clock, exceeds this threshold value, the CDR loses lock.

The default value is 1000.

Table 15.

Equalization

Parameters

CTLE adaptation mode Manual

Value Description

Specifies the Continuous Time Linear Equalization (CTLE) operation mode.

continued...

(25) The default value is Disabled.

Intel ® Arria ® 10 Transceiver PHY User Guide

53

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameters

DFE adaptation mode

Number of fixed DFE taps

Adaptation enabled

Manual, Disabled

3, 7 , 11

Value Description

For manual mode, set the CTLE options through the Assignment

Editor, or modify the Quartus Settings File (.qsf), or write to the reconfiguration registers using the Avalon Memory-Mapped

(Avalon-MM) interface.

Refer to Continuous Time Linear Equalization (CTLE) on page 452

section in Arria 10 Transceiver Architecture chapter for more

details about CTLE architecture. Refer to How to Enable CTLE and

DFE

on page 456 for more details on supported adaptation modes.

Specifies the operating mode for the Decision Feedback

Equalization (DFE) block in the RX PMA.

The default value is Disabled.

For manual mode, you can set the DFE options through the

Assignment Editor, or by modifying the Quartus Settings File

(.qsf), or write to the reconfiguration registers using the Avalon-

MM interface.

Refer to the

Decision Feedback Equalization (DFE)

on page 454 section in the Arria 10 Transceiver PHY Architecture chapter for

more details about DFE. Refer to How to Enable CTLE and DFE on

page 456 for more details on supported adaptation modes.

Specifies the number of fixed DFE taps. Select the number of taps depending on the loss in your transmission channel and the type of equalization required.

Table 16.

RX PMA Optional Ports

Parameters

Enable rx_analog_reset_ack port

Enable rx_pma_clkout port

On/Off

On/Off

Value Description

Enables the optional rx_analog_reset_ack

output. This port should not be used for register mode data transfers.

Enable rx_pma_div_clkout port

On/Off rx_pma_div_clkout division factor

Enable rx_pma_iqtxrx_clkout port

Enable rx_pma_clkslip port

Disabled, 1, 2, 33, 40,

66

On/Off

On/Off

Enables the optional

(CDR). (26) rx_pma_clkout

output clock. This port is the recovered parallel clock from the RX clock data recovery

Enables the optional rx_pma_div_clkout

output clock. The deserializer generates this clock. Use this to drive core logic, to drive the RX PCS-to-FPGA fabric interface, or both.

If you select a rx_pma_div_clkout division factor of 1 or 2, this clock output is derived from the PMA parallel clock. If you select a

rx_pma_div_clkout division factor of 33, 40, or 66, this clock is derived from the PMA serial clock. This clock is commonly used when the interface to the RX FIFO runs at a different rate than the

PMA parallel clock frequency, such as 66:40 applications.

Selects the division factor for the clock when enabled. (27) rx_pma_div_clkout

output

Enables the optional of a PLL.

rx_pma_iqtxrx_clkout

output clock. This clock can be used to cascade the RX PMA output clock to the input

Enables the optional rx_pma_clkslip

control input port. A rising edge on this signal causes the RX serializer to slip the serial data by one clock cycle, or 2 unit intervals (UI).

continued...

(26) This clock should not be used to clock the FPGA - transceiver interface. This clock may be used as a reference clock to an external clock cleaner.

(27) The default value is Disabled.

Intel ®

54

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameters

Enable rx_pma_qpipulldn port

(QPI)

Enable rx_is_lockedtodata port

On/Off

On/Off

Value

Enable rx_is_lockedtoref port

On/Off

Enable rx_set_lockedtodata port and rx_set_lockedtoref ports

Enable rx_seriallpbken port

On/Off

On/Off

Description

Enables the rx_pma_qpipulldn only for QPI applications.

control input port. Use this port

Enables the optional rx_is_lockedtodata

status output port.

This signal indicates that the RX CDR is currently in lock to data mode or is attempting to lock to the incoming data stream. This is an asynchronous output signal.

Enables the optional rx_is_lockedtoref

status output port.

This signal indicates that the RX CDR is currently locked to the

CDR reference clock. This is an asynchronous output signal.

Enables the optional rx_set_lockedtodata

and rx_set_lockedtoref

control input ports. You can use these control ports to manually control the lock mode of the RX CDR.

These are asynchronous input signals.

Enable PRBS (Pseudo

Random Bit Sequence) verifier control and status port

On/Off

Enables the optional rx_seriallpbken

control input port. The assertion of this signal enables the TX to RX serial loopback path within the transceiver. This is an asynchronous input signal.

Enables the optional rx_prbs_err

, rx_prbs_clr

, and rx_prbs_done

control ports. These ports control and collect status from the internal PRBS verifier.

Related Information

PLLs and Clock Networks on page 347

Channel Bonding

on page 389

Continuous Time Linear Equalization (CTLE)

on page 452

Decision Feedback Equalization (DFE) on page 454

Analog Parameter Settings on page 585

How to Enable CTLE and DFE

on page 456

2.4.4. Enhanced PCS Parameters

This section defines parameters available in the Native PHY IP core GUI to customize the individual blocks in the Enhanced PCS.

The following tables describe the available parameters. Based on the selection of the

Transceiver Configuration Rule , if the specified settings violate the protocol standard, the Native PHY IP core Parameter Editor prints error or warning messages.

Note: For detailed descriptions about the optional ports that you can enable or disable, refer to the Enhanced PCS Ports section.

Intel ® Arria ® 10 Transceiver PHY User Guide

55

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 17.

Enhanced PCS Parameters

Parameter

Enhanced PCS / PMA interface width

FPGA fabric /Enhanced

PCS interface width

Enable Enhanced PCS low latency mode

Enable RX/TX FIFO double width mode

Range

32, 40, 64

32, 40, , 64, 66, 67

On/Off

On/Off

Description

Specifies the interface width between the Enhanced PCS and the

PMA.

Specifies the interface width between the Enhanced PCS and the

FPGA fabric.

The 66-bit FPGA fabric to PCS interface width uses 64-bits from the

TX and RX parallel data. The block synchronizer determines the block boundary of the 66-bit word, with lower 2 bits from the control bus.

The 67-bit FPGA fabric to PCS interface width uses the 64-bits from the TX and RX parallel data. The block synchronizer determines the block boundary of the 67-bit word with lower 3 bits from the control bus.

Enables the low latency path for the Enhanced PCS. When you turn on this option, the individual functional blocks within the Enhanced

PCS are bypassed to provide the lowest latency path from the PMA through the Enhanced PCS. When enabled, this mode is applicable for GX devices. Intel recommends not enabling it for GT devices.

Enables the double width mode for the RX and TX FIFOs. You can use double width mode to run the FPGA fabric at half the frequency of the PCS.

Table 18.

Enhanced PCS TX FIFO Parameters

Parameter

TX FIFO Mode

TX FIFO partially full threshold

Range

Phase-Compensation

Register

Interlaken

Basic

Fast Register

10, 11, 12, 13

Description

Specifies one of the following modes:

Phase Compensation: The TX FIFO compensates for the clock phase difference between the read clock rx_clkout

and the write clocks tx_coreclkin

or tx_clkout

. You can tie tx_enh_data_valid

to 1'b1.

Register: The TX FIFO is bypassed. The tx_parallel_data

, tx_control

and tx_enh_data_valid are registered at the

FIFO output. Assert tx_enh_data_valid port 1'b1 at all times. The user must connect the write clock tx_coreclkin

to the read clock tx_clkout

.

Interlaken: The TX FIFO acts as an elastic buffer. In this mode, there are additional signals to control the data flow into the

FIFO. Therefore, the FIFO write clock frequency does not have to be the same as the read clock frequency. You can control writes to the FIFO with tx_enh_data_valid

. By monitoring the FIFO flags, you can avoid the FIFO full and empty conditions. The Interlaken frame generator controls reads.

Basic: The TX FIFO acts as an elastic buffer. This mode allows driving write and read side of FIFO with different clock frequencies. that tx_coreclkin

must have a minimum frequency of the lane data rate divided by 66. The frequency range for rate/32) - (data rate/66). For best results, Intel recommends tx_coreclkin tx_coreclkin

or

or rx_coreclkin

or rx_coreclkin rx_coreclkin

is (data

= (data rate/32).

Monitor FIFO flag to control write and read operations. For additional details refer to

Enhanced PCS FIFO Operation

on page

297 section

Fast Register: The TX FIFO allows a higher maximum frequency (f

MAX

) between the FPGA fabric and the TX PCS at the expense of higher latency.

Specifies the partially full threshold for the Enhanced PCS TX FIFO.

Enter the value at which you want the TX FIFO to flag a partially full status.

continued...

Intel ®

56

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter

TX FIFO partially empty threshold

Enable tx_enh_fifo_full port

Enable tx_enh_fifo_pfull port

On / Off

On / Off

Enable tx_enh_fifo_empty port

Enable tx_enh_fifo_pempty port

Range

2, 3, 4, 5

On / Off

On / Off

Description

Specifies the partially empty threshold for the Enhanced PCS TX

FIFO. Enter the value at which you want the TX FIFO to flag a partially empty status.

Enables the tx_enh_fifo_full port. This signal indicates when the

TX FIFO is full. This signal is synchronous to tx_coreclkin

.

Enables the tx_enh_fifo_pfull port. This signal indicates when the TX FIFO reaches the specified partially full threshold. This signal is synchronous to tx_coreclkin

.

Enables the tx_enh_fifo_empty port. This signal indicates when the TX FIFO is empty. This signal is synchronous to tx_coreclkin

.

Enables the tx_enh_fifo_pempty port. This signal indicates when the TX FIFO reaches the specified partially empty threshold. This signal is synchronous to tx_coreclkin

.

Table 19.

Enhanced PCS RX FIFO Parameters

Parameter

RX FIFO Mode

Range

Phase-Compensation

Register

Interlaken

10GBASE-R

Basic

RX FIFO partially full threshold

RX FIFO partially empty threshold

Enable RX FIFO alignment word deletion (Interlaken)

18-29

2-10

On / Off

Description

Specifies one of the following modes for Enhanced PCS RX FIFO:

Phase Compensation: This mode compensates for the clock phase difference between the read clocks rx_coreclkin

or tx_clkout

and the write clock rx_clkout

.

Register : The RX FIFO is bypassed. The rx_parallel_data

, rx_control

, and rx_enh_data_valid

are registered at the FIFO output. The

FIFO's read clock are tied together.

rx_coreclkin

and write clock rx_clkout

Interlaken: Select this mode for the Interlaken protocol. To implement the deskew process, you must implement an FSM that controls the FIFO operation based on FIFO flags. In this mode the FIFO acts as an elastic buffer.

10GBASE-R: In this mode, data passes through the FIFO after block lock is achieved. OS (Ordered Sets) are deleted and

Idles are inserted to compensate for the clock difference between the RX PMA clock and the fabric clock of +/- 100 ppm for a maximum packet length of 64000 bytes.

Basic: In this mode, the RX FIFO acts as an elastic buffer. This mode allows driving write and read side of FIFO with different clock frequencies. tx_coreclkin

or rx_coreclkin

must have a minimum frequency of the lane data rate divided by

66. The frequency range for tx_coreclkin

or rx_coreclkin

is (data rate/32) - (data rate/66). The gearbox data valid flag controls the FIFO read enable. You can monitor the rx_enh_fifo_pfull

and rx_enh_fifo_empty flags to determine whether or not to read from the FIFO. For additional details refer to

Enhanced PCS FIFO Operation

on page 297.

Note: The flags are for Interlaken and Basic modes only. They should be ignored in all other cases.

Specifies the partially full threshold for the Enhanced PCS RX

FIFO. The default value is 23.

Specifies the partially empty threshold for the Enhanced PCS RX

FIFO. The default value is 2.

When you turn on this option, all alignment words (sync words), including the first sync word, are removed after frame synchronization is achieved. If you enable this option, you must also enable control word deletion.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

57

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter

Enable RX FIFO control word deletion

(Interlaken)

On / Off

Range

Enable rx_enh_data_valid port

On / Off

Enable rx_enh_fifo_full port

Enable rx_enh_fifo_pfull port

On / Off

On / Off

Enable rx_enh_fifo_empty port

Enable rx_enh_fifo_pempty port

Enable rx_enh_fifo_del port (10GBASE-R)

On / Off

On / Off

On / Off

Enable rx_enh_fifo_insert port

(10GBASE-R)

On / Off

Enable rx_enh_fifo_rd_en port

On / Off

Description

When you turn on this option, Interlaken control word removal is enabled. When the Enhanced PCS RX FIFO is configured in

Interlaken mode, enabling this option, removes all control words after frame synchronization is achieved. Enabling this option requires that you also enable alignment word deletion.

Enables the rx_enh_data_valid port. This signal indicates when

RX data from RX FIFO is valid. This signal is synchronous to rx_coreclkin.

Enables the rx_enh_fifo_full port. This signal indicates when the RX FIFO is full. This is an asynchronous signal.

Enables the rx_enh_fifo_pfull port. This signal indicates when the RX FIFO has reached the specified partially full threshold. This is an asynchronous signal.

Enables the rx_enh_fifo_empty port. This signal indicates when the RX FIFO is empty. This signal is synchronous to rx_coreclkin

.

Enables the rx_enh_fifo_pempty port. This signal indicates when the RX FIFO has reached the specified partially empty threshold. This signal is synchronous to rx_coreclkin

.

Enables the optional rx_enh_fifo_del status output port. This signal indicates when a word has been deleted from the rate match FIFO. This signal is only used for 10GBASE-R transceiver configuration rule. This is an asynchronous signal.

Enables the rx_enh_fifo_insert port. This signal indicates when a word has been inserted into the rate match FIFO. This signal is only used for 10GBASE-R transceiver configuration rule. This signal is synchronous to rx_coreclkin

.

Enables the rx_enh_fifo_rd_en input port. This signal is enabled to read a word from the RX FIFO. This signal is synchronous to

rx_coreclkin

.

Enables the rx_enh_fifo_align_val status output port. Only used for Interlaken transceiver configuration rule. This signal is synchronous to rx_clkout

.

Enables the rx_enh_fifo_align_clr input port. Only used for

Interlaken. This signal is synchronous to rx_clkout

.

Enable rx_enh_fifo_align_val port (Interlaken)

Enable rx_enh_fifo_align_clr port (Interlaken)

On / Off

On / Off

Table 20.

Interlaken Frame Generator Parameters

Parameter

Enable Interlaken frame generator

Frame generator metaframe length

Enable Frame

Generator Burst

Control

On / Off

Range

5-8192

On / Off

Description

Enables the frame generator block of the Enhanced PCS.

Specifies the metaframe length of the frame generator. This metaframe length includes 4 framing control words created by the frame generator.

Enables frame generator burst. This determines whether the frame generator reads data from the TX FIFO based on the input of port tx_enh_frame_burst_en

.

continued...

Intel ®

58

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter

Enable tx_enh_frame port

On / Off

Range

Enable tx_enh_frame_diag_st atus port

On / Off

Enable tx_enh_frame_burst_e n port

On / Off

Description

Enables the tx_enh_frame

status output port. When the

Interlaken frame generator is enabled, this signal indicates the beginning of a new metaframe. This is an asynchronous signal.

Enables the tx_enh_frame_diag_status

2-bit input port.

When the Interlaken frame generator is enabled, the value of this signal contains the status message from the framing layer diagnostic word. This signal is synchronous to tx_clkout

.

Enables the tx_enh_frame_burst_en

FIFO. This signal is synchronous to

input port. When burst control is enabled for the Interlaken frame generator, this signal is asserted to control the frame generator data reads from the TX tx_clkout

.

Table 21.

Interlaken Frame Synchronizer Parameters

Parameter

Enable Interlaken frame synchronizer

Frame synchronizer metaframe length

Enable rx_enh_frame port

Enable rx_enh_frame_lock port

Enable rx_enh_frame_diag_st atus port

On / Off

Range

5-8192

On / Off

On / Off

On / Off

Description

When you turn on this option, the Enhanced PCS frame synchronizer is enabled.

Specifies the metaframe length of the frame synchronizer.

Enables the rx_enh_frame status output port. When the

Interlaken frame synchronizer is enabled, this signal indicates the beginning of a new metaframe. This is an asynchronous signal.

Enables the rx_enh_frame_lock output port. When the

Interlaken frame synchronizer is enabled, this signal is asserted to indicate that the frame synchronizer has achieved metaframe delineation. This is an asynchronous output signal.

Enables therx_enh_frame_diag_status output port. When the

Interlaken frame synchronizer is enabled, this signal contains the value of the framing layer diagnostic word (bits [33:32]). This is a

2 bit per lane output signal. It is latched when a valid diagnostic word is received. This is an asynchronous signal.

Table 22.

Interlaken CRC32 Generator and Checker Parameters

Parameter

Enable Interlaken TX

CRC-32 Generator

Enable Interlaken TX

CRC-32 generator error insertion

Enable Interlaken RX

CRC-32 checker

Enable rx_enh_crc32_err port

On / Off

Range

On / Off

On / Off

On / Off

Description

When you turn on this option, the TX Enhanced PCS datapath enables the CRC32 generator function. CRC32 can be used as a diagnostic tool. The CRC contains the entire metaframe including the diagnostic word.

When you turn on this option, the error insertion of the interlaken

CRC-32 generator is enabled. Error insertion is cycle-accurate.

When this feature is enabled, the assertion of tx_control[8]

or tx_err_ins

signal causes the CRC calculation during that word is incorrectly inverted, and thus, the CRC created for that metaframe is incorrect.

Enables the CRC-32 checker function.

When you turn on this option, the Enhanced PCS enables the

rx_enh_crc32_err port. This signal is asserted to indicate that the CRC checker has found an error in the current metaframe.

This is an asynchronous signal.

Intel ® Arria ® 10 Transceiver PHY User Guide

59

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 23.

10GBASE-R BER Checker Parameters

Parameter

Enable rx_enh_highber port

(10GBASE-R)

Enable rx_enh_highber_clr_c nt port (10GBASE-R)

Enable rx_enh_clr_errblk_cou nt port (10GBASE-R)

On / Off

Range

On / Off

On / Off

Description

Enables the rx_enh_highber port. For 10GBASE-R transceiver configuration rule, this signal is asserted to indicate a bit error rate higher than 10 -4 . Per the 10GBASE-R specification, this occurs when there are at least 16 errors within 125 μs. This is an asynchronous signal.

Enables the rx_enh_highber_clr_cnt input port. For the

10GBASE-R transceiver configuration rule, this signal is asserted to clear the internal counter. This counter indicates the number of times the BER state machine has entered the "BER_BAD_SH" state. This is an asynchronous signal.

Enables the rx_enh_clr_errblk_count input port. For the

10GBASE-R transceiver configuration rule, this signal is asserted to clear the internal counter. This counter indicates the number of the times the RX state machine has entered the RX_E state. For protocols with FEC block enabled, this signal is asserted to reset the status counters within the RX FEC block. This is an asynchronous signal.

Table 24.

64b/66b Encoder and Decoder Parameters

Parameter

Enable TX 64b/66b encoder (10GBASE-R)

Enable RX 64b/66b decoder (10GBASE-R)

Enable TX sync header error insertion

On / Off

Range

On / Off

On / Off

Description

When you turn on this option, the Enhanced PCS enables the TX

64b/66b encoder.

When you turn on this option, the Enhanced PCS enables the RX

64b/66b decoder.

When you turn on this option, the Enhanced PCS supports cycleaccurate error creation to assist in exercising error condition testing on the receiver. When error insertion is enabled and the error flag is set, the encoding sync header for the current word is generated incorrectly. If the correct sync header is 2'b01 (control type), 2'b00 is encoded. If the correct sync header is 2'b10 (data type), 2'b11 is encoded.

Table 25.

Scrambler and Descrambler Parameters

Parameter

Enable TX scrambler

(10GBASE-R/

Interlaken)

TX scrambler seed

(10GBASE-R/

Interlaken)

Enable RX descrambler

(10GBASE-R/

Interlaken)

On / Off

Range

User-specified 58-bit value

On / Off

Description

Enables the scrambler function. This option is available for the

Basic (Enhanced PCS) mode, Interlaken, and 10GBASE-R protocols. You can enable the scrambler in Basic (Enhanced PCS) mode when the block synchronizer is enabled and with 66:32,

66:40, or 66:64 gear box ratios.

You must provide a non-zero seed for the Interlaken protocol. For a multi-lane Interlaken Transceiver Native PHY IP, the first lane scrambler has this seed. For other lanes' scrambler, this seed is increased by 1 per each lane. The initial seed for 10GBASE-R is

0x03FFFFFFFFFFFFFF. This parameter is required for the

10GBASE-R and Interlaken protocols.

Enables the descrambler function. This option is available for Basic

(Enhanced PCS) mode, Interlaken, and 10GBASE-R protocols. You can enable the descrambler in Basic (Enhanced PCS) mode with the block synchronizer enabled and with 66:32, 66:40, or 66:64 gear box ratios.

Intel ®

60

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 26.

Interlaken Disparity Generator and Checker Parameters

Parameter

Enable Interlaken TX disparity generator

Enable Interlaken RX disparity checker

Enable Interlaken TX random disparity bit

On / Off

Range

On / Off

On / Off

Description

When you turn on this option, the Enhanced PCS enables the disparity generator. This option is available for the Interlaken protocol.

When you turn on this option, the Enhanced PCS enables the disparity checker. This option is available for the Interlaken protocol.

Enables the Interlaken random disparity bit. When enabled, a random number is used as disparity bit which saves one cycle of latency.

Table 27.

Block Synchronizer Parameters

Parameter

Enable RX block synchronizer

Enable rx_enh_blk_lock port

On / Off

Range

On / Off

Description

When you turn on this option, the Enhanced PCS enables the RX block synchronizer. This options is available for the Basic

(Enhanced PCS) mode, Interlaken, and 10GBASE-R protocols.

Enables the rx_enh_blk_lock delineation has been achieved.

port. When you enable the block synchronizer, this signal is asserted to indicate that the block

Table 28.

Gearbox Parameters

Parameter

Enable TX data bitslip On / Off

Range

Enable TX data polarity inversion

On / Off

Enable RX data bitslip

Enable RX data polarity inversion

Enable tx_enh_bitslip port

Enable rx_bitslip port

On / Off

On / Off

On / Off

On / Off

Description

When you turn on this option, the TX gearbox operates in bitslip mode. The tx_enh_bitslip port controls number of bits which TX parallel data slips before going to the PMA.

When you turn on this option, the polarity of TX data is inverted.

This allows you to correct incorrect placement and routing on the

PCB.

When you turn on this option, the Enhanced PCS RX block synchronizer operates in bitslip mode. When enabled, the

rx_bitslip port is asserted on the rising edge to ensure that RX parallel data from the PMA slips by one bit before passing to the

PCS.

When you turn on this option, the polarity of the RX data is inverted. This allows you to correct incorrect placement and routing on the PCB.

Enables the tx_enh_bitslip port. When TX bit slip is enabled, this signal controls the number of bits which TX parallel data slips before going to the PMA.

Enables the rx_bitslip port. When RX bit slip is enabled, the rx_bitslip

signal is asserted on the rising edge to ensure that

RX parallel data from the PMA slips by one bit before passing to the PCS. This port is shared between Standard PCS and Enhanced

PCS.

Note: If a design is slipping more bits than the PCS/PMA width, the Enhanced RX PCS FIFO could overflow. To clear the overflow, assert rx_digitalreset

.

Intel ® Arria ® 10 Transceiver PHY User Guide

61

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 29.

KR-FEC Parameters

Parameter

Enable RX KR-FEC error marking

Error marking type

Enable KR-FEC TX error insertion

On/Off

Range

10G, 40G

On/Off

Description

When you turn on this option, the decoder asserts both sync bits

(2'b11) when it detects an uncorrectable error. This feature increases the latency through the KR-FEC decoder.

Specifies the error marking type (10G or 40G).

Enables the error insertion feature of the KR-FEC encoder. This feature allows you to insert errors by corrupting data starting a bit

0 of the current word.

Specifies the spacing of the KR-FEC TX error insertion.

KR-FEC TX error insertion spacing

Enable tx_enh_frame port

Enable rx_enh_frame port

Enable rx_enh_frame_diag_st atus port

User Input (1 bit to 15 bit)

On/Off

On/Off

On/Off

Enables the tx_enh_frame port.

Enables the rx_enh_frame port.

Enables the rx_enh_frame_diag_status port.

Related Information

Arria 10 Enhanced PCS Architecture

on page 461

Using the "Basic (Enhanced PCS)" and "Basic with KR FEC" Configurations of

Enhanced PCS on page 289

Interlaken

on page 94

10GBASE-KR PHY IP Core

on page 135

Enhanced PCS Ports on page 76

10GBASE-R, 10GBASE-R with IEEE 1588v2, and 10GBASE-R with FEC Variants

on page 124

2.4.5. Standard PCS Parameters

This section provides descriptions of the parameters that you can specify to customize the Standard PCS.

For specific information about configuring the Standard PCS for these protocols, refer to the sections of this user guide that describe support for these protocols.

Intel ®

62

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 30.

Standard PCS Parameters

Note: For detailed descriptions of the optional ports that you can enable or disable, refer to the

Standard PCS Ports on page 86 section.

Parameter

Standard PCS/PMA interface width

FPGA fabric/Standard

TX PCS interface width

FPGA fabric/Standard

RX PCS interface width

Enable Standard PCS low latency mode

Range

8, 10, 16, 20

8, 10, 16, 20, 32, 40

8, 10, 16, 20, 32, 40

On / Off

Description

Specifies the data interface width between the Standard PCS and the transceiver PMA.

Shows the FPGA fabric to TX PCS interface width. This value is determined by the current configuration of individual blocks within the Standard TX PCS datapath.

Shows the FPGA fabric to RX PCS interface width. This value is determined by the current configuration of individual blocks within the Standard RX PCS datapath.

Enables the low latency path for the Standard PCS. Some of the functional blocks within the Standard PCS are bypassed to provide the lowest latency. You cannot turn on this parameter while using the Basic/Custom w/Rate Match (Standard PCS) specified for

Transceiver configuration rules.

Table 31.

Standard PCS FIFO Parameters

Parameter

TX FIFO mode

Range low_latency register_fifo fast_register

RX FIFO mode

Enable tx_std_pcfifo_full port

Enable tx_std_pcfifo_empty port

Enable rx_std_pcfifo_full port

Enable rx_std_pcfifo_empty port low_latency register_fifo

On / Off

On / Off

On / Off

On / Off

Description

Specifies the Standard PCS TX FIFO mode. The following modes are available:

low_latency: This mode adds 2-3 cycles of latency to the TX datapath.

register_fifo: In this mode the FIFO is replaced by registers to reduce the latency through the PCS. Use this mode for protocols that require deterministic latency, such as CPRI.

fast_register: This mode allows a higher maximum frequency

(f

MAX

) between the FPGA fabric and the TX PCS at the expense of higher latency.

The following modes are available:

low_latency: This mode adds 2-3 cycles of latency to the RX datapath.

register_fifo: In this mode the FIFO is replaced by registers to reduce the latency through the PCS. Use this mode for protocols that require deterministic latency, such as CPRI or

1588.

Enables the tx_std_pcfifo_full

port. This signal indicates when the standard TX phase compensation FIFO is full. This signal is synchronous with tx_coreclkin

.

Enables the tx_std_pcfifo_empty when the standard TX phase compensation FIFO is empty. This signal is synchronous with

port. This signal indicates tx_coreclkin

.

Enables the rx_std_pcfifo_full

port. This signal indicates when the standard RX phase compensation FIFO is full. This signal is synchronous with rx_coreclkin

.

Enables the rx_std_pcfifo_empty when the standard RX phase compensation FIFO is empty. This signal is synchronous with

port. This signal indicates rx_coreclkin

.

Intel ® Arria ® 10 Transceiver PHY User Guide

63

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 32.

Byte Serializer and Deserializer Parameters

Parameter

Enable TX byte serializer

Enable RX byte deserializer

Range

Disabled

Serialize x2

Serialize x4

Disabled

Deserialize x2

Deserialize x4

Description

Specifies the TX byte serializer mode for the Standard PCS. The transceiver architecture allows the Standard PCS to operate at double or quadruple the data width of the PMA serializer. The byte serializer allows the PCS to run at a lower internal clock frequency to accommodate a wider range of FPGA interface widths.

Serialize x4 is only applicable for PCIe protocol implementation.

Specifies the mode for the RX byte deserializer in the Standard

PCS. The transceiver architecture allows the Standard PCS to operate at double or quadruple the data width of the PMA deserializer. The byte deserializer allows the PCS to run at a lower internal clock frequency to accommodate a wider range of FPGA interface widths. Deserialize x4 is only applicable for PCIe protocol implementation.

Table 33.

8B/10B Encoder and Decoder Parameters

Parameter

Enable TX 8B/10B encoder

Enable TX 8B/10B disparity control

Enable RX 8B/10B decoder

Range

On / Off

On / Off

On / Off

Description

When you turn on this option, the Standard PCS enables the TX

8B/10B encoder.

When you turn on this option, the Standard PCS includes disparity control for the 8B/10B encoder. You can force the disparity of the

8B/10B encoder using the tx_forcedisp

control signal.

When you turn on this option, the Standard PCS includes the

8B/10B decoder.

Table 34.

Rate Match FIFO Parameters

Parameter

RX rate match FIFO mode

RX rate match insert/ delete -ve pattern (hex)

RX rate match insert/ delete +ve pattern (hex)

Enable rx_std_rmfifo_full port

Enable rx_std_rmfifo_empty port

PCI Express* Gen3 rate match FIFO mode

Range

Disabled

Basic 10-bit PMA width

Basic 20-bit PMA width

GbE

PIPE

PIPE 0 ppm

User-specified 20 bit pattern

User-specified 20 bit pattern

On / Off

On / Off

Bypass

0 ppm

600 ppm

Description

Specifies the operation of the RX rate match FIFO in the Standard

PCS.

Rate Match FIFO in Basic (Single Width) Mode on page 306

Rate Match FIFO Basic (Double Width) Mode on page 308

Rate Match FIFO for GbE

on page 117

Transceiver Channel Datapath for PIPE

on page 230

Specifies the -ve (negative) disparity value for the RX rate match

FIFO as a hexadecimal string.

Specifies the +ve (positive) disparity value for the RX rate match

FIFO as a hexadecimal string.

Enables the optional rx_std_rmfifo_full

port.

Enables the rx_std_rmfifo_empty

port.

Specifies the PPM tolerance for the PCI Express Gen3 rate match

FIFO.

Intel ®

64

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 35.

Word Aligner and Bitslip Parameters

Parameter

Enable TX bitslip

Range

On / Off

Description

When you turn on this option, the PCS includes the bitslip function. The outgoing TX data can be slipped by the number of bits specified by the tx_std_bitslipboundarysel

control signal.

Enables the tx_std_bitslipboundarysel

control signal.

Enable tx_std_bitslipboundarysel port

RX word aligner mode

RX word aligner pattern length

On / Off bitslip manual (PLD controlled) synchronous state machine deterministic latency

7, 8, 10, 16, 20,

32, 40

Specifies the RX word aligner mode for the Standard PCS.

The word aligned width depends on the PCS and PMA width, and whether or not 8B/10B is enabled.

Refer to "Word Aligner" for more information.

RX word aligner pattern (hex)

Number of word alignment patterns to achieve sync

Number of invalid words to lose sync

Number of valid data words to decrement error count

Enable fast sync status reporting for deterministic Latency SM

Enable rx_std_wa_patternalign port

Enable rx_std_wa_a1a2size port

Enable rx_std_bitslipboundarysel port

Enable rx_bitslip port

User-specified

0-255

0-63

0-255

On / Off

On / Off

On / Off

On / Off

On / Off

Specifies the length of the pattern the word aligner uses for alignment.

Refer to "RX Word Aligner Pattern Length" table in "Word

Aligner". It shows the possible values of "Rx Word Aligner

Pattern Length" in all available word aligner modes.

Specifies the word alignment pattern in hex.

Specifies the number of valid word alignment patterns that must be received before the word aligner achieves synchronization lock. The default is 3.

Specifies the number of invalid data codes or disparity errors that must be received before the word aligner loses synchronization. The default is 3.

Specifies the number of valid data codes that must be received to decrement the error counter. If the word aligner receives enough valid data codes to decrement the error count to 0, the word aligner returns to synchronization lock.

When enabled, the rx_syncstatus

asserts high immediately after the deserializer has completed slipping the bits to achieve word alignment. When it is not selected, rx_syncstatus

asserts after the cycle slip operation is complete and the word alignment pattern is detected by the

PCS (i.e. rx_patterndetect

is asserted). This parameter is only applicable when the selected protocol is CPRI (Auto).

Enables the rx_std_wa_patternalign

port. When the word aligner is configured in manual mode and when this signal is enabled, the word aligner aligns to next incoming word alignment pattern.

Enables the optional port.

rx_std_wa_a1a2size

control input

Enables the optional output port.

rx_std_bitslipboundarysel

status

Enables the rx_bitslip

port. This port is shared between the Standard PCS and Enhanced PCS.

Intel ® Arria ® 10 Transceiver PHY User Guide

65

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 36.

Bit Reversal and Polarity Inversion

Parameter

Enable TX bit reversal

Enable TX byte reversal

Enable TX polarity inversion

Enable tx_polinv port

Enable RX bit reversal

Enable rx_std_bitrev_ena port

Enable RX byte reversal

Enable rx_std_byterev_ena port

Enable RX polarity inversion

Enable rx_polinv port

Enable rx_std_signaldetect port

Range

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

Description

When you turn on this option, the 8B/10B Encoder reverses TX parallel data before transmitting it to the PMA for serialization.

The transmitted TX data bit order is reversed. The normal order is LSB to MSB. The reverse order is MSB to LSB. During the operation of the circuit, this setting can be changed through dynamic reconfiguration.

When you turn on this option, the 8B/10B Encoder reverses the byte order before transmitting data. This function allows you to reverse the order of bytes that were erroneously swapped. The

PCS can swap the ordering of either one of the 8- or 10-bit words, when the PCS/PMA interface width is 16 or 20 bits. This option is not valid under certain Transceiver configuration

rules.

When you turn on this option, the tx_std_polinv

port controls polarity inversion of TX parallel data to the PMA. When you turn on this parameter, you also need to turn on the Enable

tx_polinv port.

When you turn on this option, the tx_polinv

input control port is enabled. You can use this control port to swap the positive and negative signals of a serial differential link, if they were erroneously swapped during board layout.

When you turn on this option, the word aligner reverses RX parallel data. The received RX data bit order is reversed. The normal order is LSB to MSB. The reverse order is MSB to LSB.

This setting can be changed through dynamic reconfiguration.

When you enable Enable RX bit reversal, you must also enable

Enable rx_std_bitrev_ena port.

When you turn on this option and assert the rx_std_bitrev_ena

control port, the RX data order is reversed. The normal order is LSB to MSB. The reverse order is

MSB to LSB.

When you turn on this option, the word aligner reverses the byte order, before storing the data in the RX FIFO. This function allows you to reverse the order of bytes that are erroneously swapped.

The PCS can swap the ordering of either one of the 8- or 10-bit words, when the PCS / PMA interface width is 16 or 20 bits. This option is not valid under certain Transceiver configuration

rules.

When you enable Enable RX byte reversal, you must also select the Enable rx_std_byterev_ena port.

When you turn on this option and assert the rx_std_byterev_ena

input control port, the order of the individual 8- or 10-bit words received from the PMA is swapped.

When you turn on this option, the rx_std_polinv

port inverts the polarity of RX parallel data. When you turn on this parameter, you also need to enable Enable rx_polinv port.

When you turn on this option, the rx_polinv

input is enabled.

You can use this control port to swap the positive and negative signals of a serial differential link if they were erroneously swapped during board layout.

When you turn on this option, the optional rx_std_signaldetect

output port is enabled. This signal is required for the PCI Express protocol. If enabled, the signal threshold detection circuitry senses whether the signal level present at the RX input buffer is above the signal detect continued...

Intel ®

66

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter Range Description threshold voltage that you specified. You can specify the signal detect threshold using a Quartus Prime Assignment Editor or by modifying the Quartus Settings File (.qsf)

Table 37.

PCIe Ports

Parameter

Enable PCIe dynamic datarate switch ports

Enable PCIe pipe_hclk_in and pipe_hclk_out ports

Enable PCIe Gen3 analog control ports

Enable PCIe electrical idle control and status ports

Enable PCIe pipe_rx_polarity port

Range

On / Off

On / Off

On / Off

On / Off

On / Off

Related Information

Standard PCS Ports on page 86

Word Aligner on page 485

2.4.6. PCS Direct

Table 38.

PCS Direct Datapath Parameters

Parameter

PCS Direct interface width

Range

8, 10, 16, 20, 32, 40, 64

Description

When you turn on this option, the pipe_rate

, pipe_sw

, and pipe_sw_done

ports are enabled. You should connect these ports to the PLL IP core instance in multi-lane PCIe Gen2 and Gen3 configurations. The pipe_sw

and pipe_sw_done available for multi-lane bonded configurations.

ports are only

When you turn on this option, the pipe_hclk_in

, and pipe_hclk_out

ports are enabled. The pipe_hclk_in

port must be connected to the PLL IP core instance for the PCI Express configurations. The pipe_hclk_out

port can be left floating when you connect tx_clkout

to the MAC clock input.

When you turn on this option, the pipe_g3_txdeemph

and pipe_g3_rxpresenthint ports are enabled. You can use these ports for equalization for Gen3 configurations.

When you turn on this option, the pipe_rx_eidleinfersel

and pipe_rx_elecidle

ports are enabled. These ports are used for

PCI Express configurations.

When you turn on this option, the control port is enabled. You can use this option to control channel signal polarity for PCI Express configurations. When the Standard

PCS is configured for PCIe, the assertion of this signal inverts the

RX bit polarity. For other Transceiver configuration rules the optional rx_polinv pipe_rx_polarity

input

port inverts the polarity of the RX bit stream.

Description

Specifies the data interface width between the PLD and the transceiver PMA.

2.4.7. Dynamic Reconfiguration Parameters

Dynamic reconfiguration allows you to change the behavior of the transceiver channels and PLLs without powering down the device.

Each transceiver channel and PLL includes an Avalon-MM slave interface for reconfiguration. This interface provides direct access to the programmable address space of each channel and PLL. Because each channel and PLL includes a dedicated

Avalon-MM slave interface, you can dynamically modify channels either concurrently or sequentially. If your system does not require concurrent reconfiguration, you can parameterize the Transceiver Native PHY IP to share a single reconfiguration interface.

Intel ® Arria ® 10 Transceiver PHY User Guide

67

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

You can use dynamic reconfiguration to change many functions and features of the transceiver channels and PLLs. For example, you can change the reference clock input to the TX PLL. You can also change between the Standard and Enhanced datapaths.

To enable Intel Arria 10 transceiver toolkit capability in the Native PHY IP core, you must enable the following options:

• Enable dynamic reconfiguration

• Enable Altera Debug Master Endpoint

• Enable capability registers

• Enable control and status registers

• Enable PRBS (Pseudo Random Binary Sequence) soft accumulators

Table 39.

Dynamic Reconfiguration

Parameter

Enable dynamic reconfiguration

Share reconfiguration interface

Value

On/Off

On/Off

Enable Altera Debug

Master Endpoint

Separate reconfig_waitrequest from the status of

AVMM arbitration with

PreSICE

On/Off

On/Off

Description

When you turn on this option, the dynamic reconfiguration interface is enabled.

When you turn on this option, the Transceiver Native PHY IP presents a single Avalon-MM slave interface for dynamic reconfiguration for all channels. In this configuration, the upper

[n-1:10] address bits of the reconfiguration address bus specify the channel. The channel numbers are binary encoded. Address bits [9:0] provide the register offset address within the reconfiguration space for a channel.

When you turn on this option, the Transceiver Native PHY IP includes an embedded Altera Debug Master Endpoint (ADME) that connects internally to the Avalon-MM slave interface for dynamic reconfiguration. The ADME can access the reconfiguration space of the transceiver. It can perform certain test and debug functions via JTAG using the System Console. This option requires you to enable the Share reconfiguration interface option for configurations using more than one channel.

When enabled, the reconfig_waitrequest

does not indicate the status of AVMM arbitration with PreSICE. The AVMM arbitration status is reflected in a soft status register bit. This feature requires that the "Enable control and status registers" feature under "Optional Reconfiguration Logic" be enabled.

Table 40.

Optional Reconfiguration Logic

Parameter

Enable capability registers

Set user-defined IP identifier

Enable control and status registers

Enable PRBS (Pseudo

Random Binary

Sequence) soft accumulators

Value

On/Off

Description

Enables capability registers that provide high level information about the configuration of the transceiver channel.

User-defined Sets a user-defined numeric identifier that can be read from the user_identifier

offset when the capability registers are enabled.

On/Off

On/Off

Enables soft registers to read status signals and write control signals on the

PHY interface through the embedded debug.

Enables soft logic for performing PRBS bit and error accumulation when the hard PRBS generator and checker are used.

Intel ®

68

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 41.

Configuration Files

Parameter

Configuration file prefix

Generate

SystemVerilog package file

Generate C header file

Generate MIF (Memory

Initialization File)

Include PMA analog settings in configuration files

Value

<prefix>

On/Off

On/Off

On/Off

On/Off

Description

Here, the file prefix to use for generated configuration files is specified. Each variant of the Transceiver Native PHY IP should use a unique prefix for configuration files.

When you turn on this option, the Transceiver Native PHY IP generates a SystemVerilog package file,

reconfig_parameters.sv. This file contains parameters defined with the attribute values required for reconfiguration.

When you turn on this option, the Transceiver Native PHY IP generates a C header file, reconfig_parameters.h. This file contains macros defined with the attribute values required for reconfiguration.

When you turn on this option, the Transceiver Native PHY IP generates a MIF, reconfig_parameters.mif. This file contains the attribute values required for reconfiguration in a data format.

When enabled, the IP allows you to configure the PMA analog settings that are selected in the Analog PMA settings (Optional) tab. These settings are included in your generated configuration files.

Note: You must still specify the analog settings for your current configuration using Quartus Prime Setting File (.qsf) assignments in Quartus. This option does not remove the requirement to specify Quartus Prime Setting File (.qsf) assignments for your analog settings. Refer to the Analog

Parameter Settings chapter in the Arria 10 Transceiver PHY

User Guide for details on using the QSF assignments.

Table 42.

Parameter

Enable multiple reconfiguratio n profiles

Enable embedded reconfiguratio n streamer

Generate reduced reconfiguratio n files

Number of reconfiguratio n profiles

Selected reconfiguratio n profile

Configuration Profiles

Value

On/Off

On/Off

On/Off

1-8

0-7

Description

When enabled, you can use the GUI to store multiple configurations. This information is used by Quartus to include the necessary timing arcs for all configurations during timing driven compilation. The Native PHY generates reconfiguration files for all of the stored profiles. The Native PHY also checks your multiple reconfiguration profiles for consistency to ensure you can reconfigure between them. Among other things this checks that you have exposed the same ports for each configuration.

(28)

Enables the embedded reconfiguration streamer, which automates the dynamic reconfiguration process between multiple predefined configuration profiles. This is optional and increases logic utilization. The PHY includes all of the logic and data necessary to dynamically reconfigure between pre-configured profiles.

When enabled, The Native PHY generates reconfiguration report files containing only the attributes or RAM data that are different between the multiple configured profiles. The reconfiguration time decreases with the use of reduced .mif files.

Specifies the number of reconfiguration profiles to support when multiple reconfiguration profiles are enabled.

Selects which reconfiguration profile to store/load/clear/refresh, when clicking the relevant button for the selected profile.

continued...

(28) For more information on timing closure, refer to the Reconfiguration Interface and Dynamic

Reconfiguration chapter.

Intel ® Arria ® 10 Transceiver PHY User Guide

69

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter

Store configuration to selected profile

Load configuration from selected profile

Clear selected profile

Value

-

-

Description

Clicking this button saves or stores the current Native PHY parameter settings to the profile specified by the Selected reconfiguration profile parameter.

Clicking this button loads the current Native PHY with parameter settings from the stored profile specified by the Selected reconfiguration profile parameter.

Clicking this button clears or erases the stored Native PHY parameter settings for the profile specified by the Selected reconfiguration profile parameter. An empty profile defaults to the current parameter settings of the Native PHY.

Clicking this button clears the Native PHY parameter settings for all the profiles.

Clear all profiles

Refresh selected profile

-

Clicking this button is equivalent to clicking the Load configuration from selected

profile and Store configuration to selected profile buttons in sequence. This operation loads the Native PHY parameter settings from stored profile specified by the

Selected reconfiguration profile parameter and subsequently stores or saves the parameters back to the profile.

Table 43.

Analog PMA Settings (Optional) for Dynamic Reconfiguration

Parameter

TX Analog PMA Settings

Analog Mode (Load Intelrecommended Default settings)

Cei_11100_lr to xfp_9950

Override Intel-recommended

Analog Mode Default settings

On/Off

Output Swing Level (VOD)

Pre-Emphasis First Pre-Tap

Polarit

Pre-Emphasis First Pre-Tap

Magnitude

Pre-Emphasis Second Pre-

Tap Polarity

Pre-Emphasis Second Pre-

Tap Magnitude

0-31

Value

Fir_pre_1t_neg

Fir_pre_1t_pos

0-16 (29)

Fir_pre_2t_neg

Fir_pre_2t_pos

0-7 (30)

Description

Selects the analog protocol mode to pre-select the

TX pin swing settings (VOD, Pre-emphasis, and

Slew Rate). After loading the pre-selected values in the GUI, if one or more of the individual TX pin swing settings need to be changed, then enable the option to override the Intel-recommended defaults to individually modify the settings.

Enables the option to override the Intelrecommended settings for the selected TX Analog

Mode for one or more TX analog parameters.

Selects the transmitter programmable output differential voltage swing.

Selects the polarity of the first pre-tap for preemphasis.

Selects the magnitude of the first pre-tap for preemphasis

Selects the polarity of the second pre-tap for preemphasis.

Selects the magnitude of the second pre-tap for pre-emphasis.

continued...

(29) For more information refer to Available Options table in the

XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_PRE_TAP_1T section of the Analog Parameter

Settings chapter.

(30) For more information refer to Available Options table in the

XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_PRE_TAP_2T section of the Analog Parameter

Settings chapter.

Intel ®

70

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter

Pre-Emphasis First Post-Tap

Polarity

Pre-Emphasis First Post-Tap

Magnitude

Pre-Emphasis Second Post-

Tap Polarity

Pre-Emphasis Second Post-

Tap Magnitude

Slew Rate Control

Fir_post_1t_neg

Fir_post_1t_pos

0-25 (31)

Value

Fir_post_2t_neg

Fir_post_2t_pos

0-12 (32) slew_r0

to slew_r5

High-Speed Compensation Enable/Disable

Description

Selects the polarity of the first post-tap for preemphasis

Selects the magnitude of the first post-tap for pre-emphasis.

Selects the polarity of the second post-tap for pre-emphasis.

Selects the magnitude of the second post-tap for pre-emphasis

Selects the slew rate of the TX output signal. Valid values span from slowest to the fastest rate.

Enables the power-distribution network (PDN) induced inter-symbol interference (ISI) compensation in the TX driver. When enabled, it reduces the PDN induced ISI jitter, but increases the power consumption.

Selects the on-chip TX differential termination.

On-Chip termination r_r1 r_r2

RX Analog PMA settings

Override Intel-recommended

Default settings

On/Off

CTLE (Continuous Time

Linear Equalizer) mode non_s1_mode

S1_mode

DC gain control of high gain mode CTLE

AC Gain Control of High Gain

Mode CTLE

No_dc_gain

to stg4_gain7 radp_ctle_acgain_4s_0

to radp_ctle_acgain_4s_28

AC Gain Control of High Data

Rate Mode CTLE radp_ctle_eqz_1s_sel_0

to

Radp_ctle_eqz_1s_sel_15

Variable Gain Amplifier

(VGA) Voltage Swing Select radp_vga_sel_0

to radp_vga_sel_7

Decision Feedback Equalizer

(DFE) Fixed Tap 1 Coefficient

Decision Feedback Equalizer

(DFE) Fixed Tap 2 Coefficient radp_dfe_fxtap1_0

to radp_dfe_fxtap1_127 radp_dfe_fxtap2_0 to radp_dfe_fxtap2_127

Enables the option to override the Intelrecommended settings for one or more RX analog parameters

Selects between the RX high gain mode non_s1_mode

or RX high data rate mode s1_mode

for the Continuous Time Linear

Equalizer (CTLE).

Selects the DC gain of the Continuous Time Linear

Equalizer (CTLE) in high gain mode

Selects the AC gain of the Continuous Time Linear

Equalizer (CTLE) in high gain mode when CTLE is in manual mode.

Selects the AC gain of the Continuous Time Linear

Equalizer (CTLE) in high data rate mode when

CTLE is in manual mode.

Selects the Variable Gain Amplifier (VGA) output voltage swing when both the CTLE and DFE blocks are in manual mode

Selects the co-efficient of the fixed tap 1 of the

Decision Feedback Equalizer (DFE) when operating in manual mode

Selects the co-efficient of the fixed tap 2 of the

Decision Feedback Equalizer (DFE) when operating in manual mode continued...

(31) For more information refer to Available Options table in the

XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_1ST_POST_TAP section of the Analog Parameter

Settings chapter.

(32) For more information refer to Available Options table in the

XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_2ND_POST_TAP section of the Analog Parameter

Settings chapter.

Intel ® Arria ® 10 Transceiver PHY User Guide

71

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter

Decision Feedback Equalizer

(DFE) Fixed Tap 3 Coefficient

Decision Feedback Equalizer

(DFE) Fixed Tap 4 Coefficient

Decision Feedback Equalizer

(DFE) Fixed Tap 5 Coefficient

Decision Feedback Equalizer

(DFE) Fixed Tap 6 Coefficient

Decision Feedback Equalizer

(DFE) Fixed Tap 7 Coefficient

Decision Feedback Equalizer

(DFE) Fixed Tap 8 Coefficient

Decision Feedback Equalizer

(DFE) Fixed Tap 9 Coefficient

Decision Feedback Equalizer

(DFE) Fixed Tap 10 Coefficient

Decision Feedback Equalizer

(DFE) Fixed Tap 11 Coefficient

On-Chip termination

Value radp_dfe_fxtap3_0

to radp_dfe_fxtap3_127 radp_dfe_fxtap4_0

to radp_dfe_fxtap4_63 radp_dfe_fxtap5_0

to radp_dfe_fxtap5_63 radp_dfe_fxtap6_0

to radp_dfe_fxtap6_31 radp_dfe_fxtap7_0

to radp_dfe_fxtap7_31 radp_dfe_fxtap8_0

to radp_dfe_fxtap8_31 radp_dfe_fxtap9_0

to radp_dfe_fxtap9_31 radp_dfe_fxtap10_0

to radp_dfe_fxtap10_31 radp_dfe_fxtap11_0

to radp_dfe_fxtap11_31

R_ext0, r_r1, r_r2

Description

Selects the co-efficient of the fixed tap 3 of the

Decision Feedback Equalizer (DFE) when operating in manual mode.

Selects the co-efficient of the fixed tap 4 of the

Decision Feedback Equalizer (DFE) when operating in manual mode.

Selects the co-efficient of the fixed tap 5 of the

Decision Feedback Equalizer (DFE) when operating in manual mode.

Selects the co-efficient of the fixed tap 6 of the

Decision Feedback Equalizer (DFE) when operating in manual mode.

Selects the co-efficient of the fixed tap 7 of the

Decision Feedback Equalizer (DFE) when operating in manual mode.

Selects the co-efficient of the fixed tap 8 of the

Decision Feedback Equalizer (DFE) when operating in manual mode.

Selects the co-efficient of the fixed tap 9 of the

Decision Feedback Equalizer (DFE) when operating in manual mode.

Selects the co-efficient of the fixed tap 10 of the

Decision Feedback Equalizer (DFE) when operating in manual mode.

Selects the co-efficient of the fixed tap 11 of the

Decision Feedback Equalizer (DFE) when operating in manual mode.

Selects the on-chip RX differential termination.

Table 44.

Generation Options

Parameter

Generate parameter documentation file

Value

On/Off

Description

When you turn on this option, generation produces a Comma-

Separated Value (.csv ) file with descriptions of the Transceiver

Native PHY IP parameters.

Related Information

Analog Parameter Settings on page 585

XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_PRE_TAP_1T on page 602

XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_PRE_TAP_2T on page 602

XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_1ST_POST_TAP

on page 603

XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_2ND_POST_TAP

on page 604

Reconfiguration Interface and Dynamic Reconfiguration

on page 502

Transmitter Pre-Emphasis First Pre-Tap Value

on page 600

Transmitter Pre-Emphasis Second Pre-Tap Value

on page 600

Transmitter Pre-Emphasis First Post-Tap Value on page 601

Transmitter Pre-Emphasis Second Post-Tap Value

on page 601

Intel ®

72

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.4.8. PMA Ports

This section describes the PMA and calibration ports for the Arria 10 Transceiver Native

PHY IP core.

The following tables, the variables represent these parameters:

• <n>—The number of lanes

• <d>—The serialization factor

• <s>—The symbol size

• <p>—The number of PLLs

Table 45.

TX PMA Ports

Name tx_serial_data[<n>

-1:0]

Direction

Input tx_serial_clk0

Input

Clock Domain

N/A

Clock tx_bonding_clocks[

<n><6>-1:0] tx_serial_clk1 tx_serial_clk2 tx_serial_clk3 tx_serial_clk4 tx_analog_reset_ac k tx_pma_clkout

Input

Inputs

Output

Output

Clock

Clocks

Asynchronous

Clock

Description

This is the serial data output of the TX PMA.

This is the serial clock from the TX PLL. The frequency of this clock depends on the data rate and clock division factor. This clock is for non bonded channels only. For bonded channels use the tx_bonding_clocks

clock TX input.

This is a 6-bit bus which carries the low speed parallel clock per channel. These clocks are outputs from the master CGB.

Use these clocks for bonded channels only.

Optional Ports

These are the serial clocks from the TX PLL. The frequency of these clocks depends on the data rate and clock division factor. These additional ports are enabled when you specify more than one TX PLL.

tx_pma_div_clkout tx_pma_iqtxrx_clko u t tx_pma_elecidle[<n

>-1:0]

Output

Output

Input

Clock

Clock

Asynchronous

Enables the optional tx_pma_analog_reset_ack

output.

This port should not be used for register mode data transfers

This clock is the low speed parallel clock from the TX PMA. It is available when you turn on Enable tx_pma_clkout port in the Transceiver Native PHY IP core Parameter Editor. (33)

If you specify a tx_pma_div_clkout

division factor of 1 or

2, this clock output is derived from the PMA parallel clock

(low speed parallel clock). If you specify a tx_pma_div_clkout

division factor of 33, 40, or 66, this clock is derived from the PMA serial clock. This clock is commonly used when the interface to the TX FIFO runs at a different rate than the PMA parallel clock frequency, such as

66:40 applications.

This port is available if you turn on Enable tx_

pma_iqtxrx_clkout port in the Transceiver Native PHY IP core Parameter Editor. This output clock can be used to cascade the TX PMA output clock to the input of a PLL.

When you assert this signal, the transmitter is forced to electrical idle. This port has no effect when you configure the transceiver for the PCI Express protocol.

continued...

(33) This clock is not to be used to clock the FPGA - transceiver interface. This clock may be used as a reference clock to an external clock cleaner.

Intel ® Arria ® 10 Transceiver PHY User Guide

73

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Name tx_pma_qpipullup[< n>-1:0] tx_pma_qpipulldn[< n>-1:0] tx_pma_txdetectrx[

<n>-1:0] tx_pma_rxfound[<n>

-1:0] rx_seriallpbken[<n

>-1:0]

Direction

Input

Input

Input

Output

Input

Clock Domain

Asynchronous

Asynchronous

Asynchronous

Synchronous to rx_coreclkin

or rx_clkout

based on the configuration.

Asynchronous

Description

This port is available if you turn on Enable

tx_pma_qpipullup port (QPI) in the Transceiver Native PHY

IP core Parameter Editor. It is only used for Quick Path

Interconnect (QPI) applications.

This port is available if you turn on Enable

tx_pma_qpipulldn port (QPI) in the Transceiver Native PHY

IP core Parameter Editor. It is only used for Quick Path

Interconnect (QPI) applications.

This port is available if you turn on Enable

tx_pma_txdetectrx port (QPI) in the Transceiver Native

PHY IP core Parameter Editor. When asserted, the receiver detect block in TX PMA detects the presence of a receiver at the other end of the channel. After receiving the tx_pma_txdetectrx

request, the receiver detect block initiates the detection process. Use this port for Quick Path

Interconnect (QPI) applications only.

This port is available if you turn on Enable

tx_rxfound_pma port (QPI) in the Transceiver Native PHY

IP core Parameter Editor. When asserted, indicates that the receiver detect block in TX PMA has detected a receiver at the other end of the channel. Use this port for Quick Path

Interconnect (QPI) applications only.

This port is available if you turn on Enable rx_seriallpbken port in the Transceiver Native PHY IP core Parameter

Editor. The assertion of this signal enables the TX to RX serial loopback path within the transceiver. This signal can be enabled in Duplex or Simplex mode. If enabled in Simplex mode, you must drive the signal on both the TX and RX instances from the same source. Otherwise the design fails compilation.

Table 46.

RX PMA Ports

Name rx_serial_data[<n>

-1:0]

Direction

Input rx_cdr_refclk0

Input rx_cdr_refclk1

– rx_cdr_refclk4 rx_analog_reset_ac k rx_pma_clkout rx_pma_div_clkout

Input

Output

Output

Output

Clock Domain

N/A

Description

Specifies serial data input to the RX PMA.

Clock

Clock

Specifies reference clock input to the RX clock data recovery

(CDR) circuitry.

Optional Ports

Specifies reference clock inputs to the RX clock data recovery

(CDR) circuitry.

Asynchronous

Clock

Clock

Enables the optional rx_pma_analog_reset_ack output. This port should not be used for register mode data transfers.

This clock is the recovered parallel clock from the RX CDR circuitry.

The deserializer generates this clock. This is used to drive core logic, PCS-to-FPGA fabric interface, or both. If you specify a

rx_pma_div_clkout division factor of 1 or 2, this clock output is derived from the PMA parallel clock (low speed parallel clock). If you specify a rx_pma_div_clkout division factor of

33, 40, or 66, this clock is derived from the PMA serial clock.

This clock is commonly used when the interface to the RX FIFO runs at a different rate than the PMA parallel clock (low speed parallel clock) frequency, such as 66:40 applications.

continued...

Intel ®

74

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Name rx_pma_iqtxrx_clko ut rx_pma_clkslip rx_pma_qpipulldn[< n>-1:0] rx_is_lockedtodat a[<n>-1:0] rx_is_lockedtoref[

<n>-1:0] rx_set_locktodata[

<n>-1:0] rx_set_locktoref[< n>-1:0] rx_seriallpbken[<n

>-1:0]

Direction

Output

Clock Domain

Clock

Output Clock

Description

This port is available if you turn on Enable rx_

pma_iqtxrx_clkout port in the Transceiver Native PHY IP core Parameter Editor. This output clock can be used to cascade the RX PMA output clock to the input of a PLL.

When asserted, indicates that the deserializer has either skipped one serial bit or paused the serial clock for one cycle to achieve word alignment. As a result, the period of the parallel clock could be extended by 1 unit interval (UI) during the clock slip operation.

This port is only used for Quick Path Interconnect (QPI) applications.

When asserted, indicates that the CDR PLL is locked to the incoming data, rx_serial_data

.

When asserted, indicates that the CDR PLL is locked to the input reference clock.

This port provides manual control of the RX CDR circuitry.

rx_prbs_done[<n>-1

:0] rx_prbs_err[<n>-1:

0] rx_prbs_err_clr[<n

>-1:0]

Input

Output

Output

Input

Asynchronous rx_coreclkin or rx_clkout rx_coreclkin or rx_clkout rx_coreclkin or rx_clkout

This port is available if you turn on Enable rx_ seriallpbken

port in the Transceiver Native PHY IP core Parameter Editor.

The assertion of this signal enables the TX to RX serial loopback path within the transceiver. This signal is enabled in

Duplex or Simplex mode. If enabled in Simplex mode, you must drive the signal on both the TX and RX instances from the same source. Otherwise the design fails compilation.

When asserted, indicates the verifier has aligned and captured consecutive PRBS patterns and the first pass through a polynomial is complete.

When asserted, indicates an error only after the rx_prbs_done

signal has been asserted. This signal gets asserted for three parallel clock cycles for every error that occurs. Errors can only occur once per word.

When asserted, clears the PRBS pattern and deasserts the rx_prbs_done

signal.

Table 47.

Calibration Status Ports

Name tx_cal_busy[<n>-1:0]

Direction

Output

Clock Domain

Asynchronous rx_cal_busy[<n>-1:0]

Input

Output

Output

Input

Input

Output

Asynchronous rx_clkout rx_clkout

Asynchronous

Asynchronous This port provides manual control of the RX CDR circuitry.

Asynchronous

Description

When asserted, indicates that the initial TX calibration is in progress. For both initial and manual recalibration, this signal is asserted during calibration and deasserts after calibration is completed. You must hold the channel in reset until calibration completes.

When asserted, indicates that the initial RX calibration is in progress. For both initial and manual recalibration, this signal is asserted during calibration and deasserts after calibration is completed.

Intel ® Arria ® 10 Transceiver PHY User Guide

75

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 48.

Reset Ports

Name tx_analogreset[<n>-1:

0]

Direction

Input tx_digitalreset[<n>-1

:0]

Input rx_analogreset[<n>-1:

0]

Input rx_digitalreset[<n>-1

:0]

Input

Clock Domain (34)

Asynchronous

Asynchronous

Asynchronous

Asynchronous

Description

Resets the analog TX portion of the transceiver

PHY.

Resets the digital TX portion of the transceiver

PHY.

Resets the analog RX portion of the transceiver

PHY.

Resets the digital RX portion of the transceiver

PHY.

2.4.9. Enhanced PCS Ports

Figure 24.

Enhanced PCS Interfaces

The labeled inputs and outputs to the PMA and PCS modules represent buses, not individual signals.

Arria 10 Transceiver Native PHY tx_cal_busy rx_cal_busy

Nios Hard

Calibration IP

Reconfiguration

Registers reconfig_reset reconfig_clk reconfig_avmm

TX PMA TX Enhanced PCS

Serial Data

Clocks

QPI

Optional Ports

Serializer

TX Parallel Data, Control, Clocks

Enhanced PCS TX FIFO

Interlaken Frame Generator tx_serial_clk0

(from TX PLL)

Serial Data

Optional Ports

CDR Control

QPI

Clocks

Clock

Generation

Block

RX PMA

CDR Deserializer

RX Enhanced PCS

In the following tables, the variables represent these parameters:

<n>—The number of lanes

<d>—The serialization factor

<s>— The symbol size

<p>—The number of PLLs tx_analog_reset rx_analog_reset

RX Parallel Data, Control, Clocks

Enhanced PCS RX FIFO

Interlaken Frame Synchronizer

10GBASE-R BER Checker

Bitslip

(34) Although the reset ports are not synchronous to any clock domain, Intel recommends that you synchronize the reset ports with the system clock.

Intel ®

76

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 49.

Enhanced TX PCS: Parallel Data, Control, and Clocks

Name tx_parallel_data[

<n>128-1:0] unused_tx_paralle l_data tx_control[<n><3>

-1:0]

or tx_control[<n><18

>-1:0] unused_tx_contro l[<n> <15>-1:0]

Direction

Input

Input

Input

Input

Clock Domain

Synchronous to the clock driving the write side of the FIFO

( tx_coreclkin or

tx_clkout

) tx_clkout

Synchronous to the clock driving the write side of the FIFO

( tx_coreclkin or

tx_clkout

)

Synchronous to the clock driving the write side of the FIFO

( tx_coreclkin or

tx_clkout

)

Description

TX parallel data inputs from the FPGA fabric to the TX PCS. If you select Enable simplified interface in the Transceiver

Native PHY IP Parameter Editor, tx_parallel_data includes only the bits required for the configuration you specify.

You must ground the data pins that are not active. For single width configuration, the following bits are active:

• 32-bit FPGA fabric to PCS interface width: tx_parallel_data[31:0]. Ground [127:32].

• 40-bit FPGA fabric to PCS interface width: tx_parallel_data[39:0]. Ground [127:40].

• 64-bit FPGA fabric to PCS interface width: tx_parallel_data[63:0] Ground [127:64].

For double width configuration, the following bits are active:

• 40-bit FPGA fabric to PCS interface width: data[103:64],

[39:0]. Ground [127:104], [63:40].

• 64-bit FPGA fabric to PCS interface width: data[127:64],

[63:0].

Double-width mode is not supported for 32-bit, 50-bit, and 67bit FPGA fabric to PCS interface widths.

Port is enabled, when you enable Enable simplified data

interface. Connect all of these bits to 0. When Enable

simplified data interface is disabled, the unused bits are a part of tx_parallel_data

. Refer to identify the bits you need to ground.

tx_parallel_data

to tx_control

bits have different functionality depending on the transceiver configuration rule selected. When Simplified data

interface is enabled, the number of bits in this bus change because the unused bits are shown as part of the unused_tx_control

port.

Refer to Enhanced PCS TX and RX Control Ports on page 83

section for more details.

This port is enabled when you enable Enable simplified data

interface. Connect all of these bits to 0. When Enable

simplified data interface is disabled, the unused bits are a part of the tx_control

.

Refer to tx_control

to identify the bits you need to ground.

tx_err_ins

Input tx_coreclkin

For the Interlaken protocol, you can use this bit to insert the synchronous header and CRC32 errors if you have turned on

Enable simplified data interface.

When asserted, the synchronous header for that cycle word is replaced with a corrupted one. A CRC32 error is also inserted if

Enable Interlaken TX CRC-32 generator error insertion is turned on. The corrupted sync header is 2'b00 for a control word, and 2'b11 for a data word. For CRC32 error insertion, the word used for CRC calculation for that cycle is incorrectly inverted, causing an incorrect CRC32 in the Diagnostic Word of the Metaframe.

Note that a synchronous header error and a CRC32 error cannot be created for the Framing Control Words because the

Frame Control Words are created in the frame generator continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

77

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Name tx_coreclkin tx_clkout

Direction

Input

Output

Clock Domain

Clock

Clock

Description embedded in TX PCS. Both the synchronous header error and the CRC32 errors are inserted if the CRC-32 error insertion feature is enabled in the Transceiver Native PHY IP GUI.

The FPGA fabric clock. Drives the write side of the TX FIFO. For the Interlaken protocol, the frequency of this clock could be from datarate/67 to datarate/32. Using frequency lower than this range can cause the TX FIFO to underflow and result in data corruption.

This is a parallel clock generated by the local CGB for non bonded configurations, and master CGB for bonded configurations. This clocks the blocks of the TX Enhanced PCS.

The frequency of this clock is equal to the datarate divided by

PCS/PMA interface width.

Table 50.

Enhanced RX PCS: Parallel Data, Control, and Clocks

Name rx_parallel_data[<n

>128-1:0] unused_rx_parallel_ data rx_control[<n>

<20>-1:0] unused_rx_control[<

n>10-1:0]

Direction Clock Domain

Output Synchronous to the clock driving the read side of the FIFO

( rx_coreclk in

or rx_clkout

)

Output

Output

Output rx_clkout

Synchronous to the clock driving the read side of the FIFO

( rx_coreclk in

or rx_clkout

)

Synchronous to the clock driving the read side of the FIFO

Description

RX parallel data from the RX PCS to the FPGA fabric. If you select, Enable simplified data interface in the Transceiver

Native PHY IP GUI, rx_parallel_data interface is 128 bits wide.

includes only the bits required for the configuration you specify. Otherwise, this

When FPGA fabric to PCS interface width is 64 bits, the following bits are active for interfaces less than 128 bits. You can leave the unused bits floating or not connected.

• 32-bit FPGA fabric to PCS width: data[31:0].

• 40-bit FPGA fabric to PCS width: data[39:0].

• 64-bit FPGA fabric to PCS width: data[63:0].

When the FPGA fabric to PCS interface width is 128 bits, the following bits are active:

• 40-bit FPGA fabric to PCS width: data[103:64], [39:0].

• 64-bit FPGA fabric to PCS width: data[127:0].

This signal specifies the unused data when you turn on Enable

simplified data interface. When simplified data interface is not set, the unused bits are a part of

You can leave the unused data outputs floating or not connected.

rx_parallel_data

.

Indicates whether the data.

rx_parallel_data

bus is control or

Refer to the Enhanced PCS TX and RX Control Ports on page

83 section for more details.

These signals only exist when you turn on Enable simplified

data interface. When simplified data interface is not set, the unused bits are a part of left floating.

rx_control

. These outputs can be continued...

Intel ®

78

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Name rx_coreclkin rx_clkout

Direction Clock Domain

Input

( rx_coreclk in

or rx_clkout

)

Clock

Output Clock

Description

The FPGA fabric clock. Drives the read side of the RX FIFO. For

Interlaken protocol, the frequency of this clock could be from datarate/67 to datarate/32.

The low speed parallel clock recovered by the transceiver RX

PMA, that clocks the blocks in the RX Enhanced PCS. The frequency of this clock is equal to data rate divided by

PCS/PMA interface width.

Table 51.

Enhanced PCS TX FIFO

Name tx_enh_data_valid[<n>-

1:0]

Direction

Input tx_enh_fifo_full[<n>-1

:0]

Output tx_enh_fifo_pfull[<n>-

1:0]

Output tx_enh_fifo_empty[<n>-

1:0]

Output tx_enh_fifo_pempty[<n>

-1:0]

Output

Clock Domain

Synchronous to the clock driving the write side of the FIFO

( tx_coreclkin or

tx_clkout

)

Synchronous to the clock driving the write side of the FIFO

( tx_coreclkin or

tx_clkout

)

Synchronous to the clock driving the write side of the FIFO tx_coreclkin or

tx_clkout

Synchronous to the clock driving the write side of the FIFO tx_coreclkin or

tx_clkout

Synchronous to the clock driving the write side of the FIFO tx_coreclkin or

tx_clkout

Description

Assertion of this signal indicates that the TX data is valid.

Connect this signal to 1'b1 for 10GBASE-R without 1588.

For 10GBASE-R with 1588, you must control this signal based on the gearbox ratio. For Basic and Interlaken, you need to control this port based on TX FIFO flags so that the FIFO does not underflow or overflow.

Refer to Enhanced PCS FIFO Operation on page 297 for

more details.

Assertion of this signal indicates the TX FIFO is full.

Because the depth is always constant, you can ignore this signal for the phase compensation mode.

Refer to Enhanced PCS FIFO Operation on page 297 for

more details.

This signal gets asserted when the TX FIFO reaches its partially full threshold. Because the depth is always constant, you can ignore this signal for the phase compensation mode.

Refer to Enhanced PCS FIFO Operation on page 297 for

more details.

When asserted, indicates that the TX FIFO is empty. This signal gets asserted for 2 to 3 clock cycles. Because the depth is always constant, you can ignore this signal for the phase compensation mode.

Refer to Enhanced PCS FIFO Operation on page 297 for

more details.

When asserted, indicates that the TX FIFO has reached its specified partially empty threshold. When you turn this option on, the Enhanced PCS enables the tx_enh_fifo_pempty

port, which is asynchronous. This signal gets asserted for 2 to 3 clock cycles. Because the depth is always constant, you can ignore this signal for the phase compensation mode.

Refer to Enhanced PCS FIFO Operation on page 297 for

more details.

Table 52.

Enhanced PCS RX FIFO

Name rx_enh_data_valid[<n>

-1:0]

Direction

Output

Clock Domain

Synchronous to the clock driving the read side of

Description

When asserted, indicates that rx_parallel_data valid. Discard invalid RX parallel data

is when rx_enh_data_valid

signal is low.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

79

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

rx_enh_fifo_full[<n>-

1:0] rx_enh_fifo_pfull[<n>

-1:0] rx_enh_fifo_empty[<n>

-1:0] rx_enh_fifo_pempty[<n

>-1:0] rx_enh_fifo_del[<n>-1

:0] rx_enh_fifo_insert[<n

>-1:0]

-1:0]

Name rx_enh_fifo_rd_en[<n> rx_enh_fifo_align_va l[<n>-1:0]

Direction

Output

Output

Output

Output

Output

Output

Output

Input

Synchronous to the clock driving the read side of the FIFO rx_coreclkin or rx_clkout

Synchronous to the clock driving the read side of the FIFO rx_coreclkin or rx_clkout

Synchronous to the clock driving the read side of the FIFO rx_coreclkin or rx_clkout

Synchronous to the clock driving the read side of the FIFO rx_coreclkin or rx_clkout

Synchronous to the clock driving the read side of the FIFO rx_coreclkin or rx_clkout

Synchronous to the clock driving the read side of

Clock Domain the FIFO rx_coreclkin or rx_clkout

Synchronous to the clock driving the read side of the FIFO rx_coreclkin or rx_clkout

Synchronous to the clock driving the read side of the FIFO rx_coreclkin or rx_clkout

Description

This option is available when you select the following parameters:

• Enhanced PCS Transceiver configuration rules specifies Interlaken

• Enhanced PCS Transceiver configuration rules specifies Basic, and RX FIFO mode is Phase compensation

• Enhanced PCS Transceiver configuration rules specifies Basic, and RX FIFO mode is Register

Refer to

Enhanced PCS FIFO Operation

on page 297 for more details.

When asserted, indicates that the RX FIFO is full. This signal gets asserted for 2 to 3 clock cycles.Because

the depth is always constant, you can ignore this signal for the phase compensation mode.

Refer to

Enhanced PCS FIFO Operation

on page 297 for more details.

When asserted, indicates that the RX FIFO has reached its specified partially full threshold. This signal gets asserted for 2 to 3 clock cycles. Because the depth is always constant, you can ignore this signal for the phase compensation mode.

Refer to

Enhanced PCS FIFO Operation

on page 297 for more details.

When asserted, indicates that the RX FIFO is empty.

Because the depth is always constant, you can ignore this signal for the phase compensation mode.

Refer to

Enhanced PCS FIFO Operation

on page 297 for more details.

When asserted, indicates that the RX FIFO has reached its specified partially empty threshold.

Because the depth is always constant, you can ignore this signal for the phase compensation mode.

Refer to

Enhanced PCS FIFO Operation

on page 297 for more details.

When asserted, indicates that a word has been deleted from the RX FIFO. This signal gets asserted for 2 to 3 clock cycles. This signal is used for the 10GBASE-R protocol.

When asserted, indicates that a word has been inserted into the RX FIFO. This signal is used for the

10GBASE-R protocol.

For Interlaken only, when this signal is asserted, a word is read form the RX FIFO. You need to control this signal based on RX FIFO flags so that the FIFO does not underflow or overflow.

When asserted, indicates that the word alignment pattern has been found. This signal is only valid for the Interlaken protocol.

continued...

Intel ®

80

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Name rx_enh_fifo_align_cl r[<n>-1:0]

Direction

Input

Clock Domain the FIFO rx_coreclkin or rx_clkout

Synchronous to the clock driving the read side of the FIFO rx_coreclkin or rx_clkout

Description

When asserted, the FIFO resets and begins searching for a new alignment pattern. This signal is only valid for the Interlaken protocol. Assert this signal for at least 4 cycles.

Table 53.

Interlaken Frame Generator, Synchronizer, and CRC32

Name tx_enh_frame[<n>-1:0] tx_enh_frame_diag_stat us[<n> 2-1:0] tx_enh_frame_burst_en[

<n>-1:0] rx_enh_frame[<n>-1:0] rx_enh_frame_lock[<n>-

1:0] rx_enh_frame_diag_stat us[2 <n>-1:0] rx_enh_crc32_err[<n>-1

:0]

Direction Clock Domain

Output tx_clkout

Input

Input

Output

Output

Output

Output tx_clkout tx_clkout rx_clkout rx_clkout rx_clkout rx_clkout

Description

Asserted for 2 or 3 parallel clock cycles to indicate the beginning of a new metaframe.

Drives the lane status message contained in the framing layer diagnostic word (bits[33:32]). This message is inserted into the next diagnostic word generated by the frame generator block. This bus must be held constant for 5 clock cycles before and after the following encodings are defined: tx_enh_frame

pulse. The

• Bit[1]: When 1, indicates the lane is operational. When

0, indicates the lane is not operational.

• Bit[0]: When 1, indicates the link is operational. When

0, indicates the link is not operational.

If Enable frame burst is enabled, this port controls frame generator data reads from the TX FIFO to the frame generator. It is latched once at the beginning of each

Metaframe. If the value of tx_enh_frame_burst_en

is 0, the frame generator does not read data from the TX FIFO for current Metaframe. Instead, the frame generator inserts

SKIP words as the payload of Metaframe. When tx_enh_frame_burst_en

is 1, the frame generator reads data from the TX FIFO for the current Metaframe. This port must be held constant for 5 clock cycles before and after the tx_enh_frame

pulse.

When asserted, indicates the beginning of a new received

Metaframe. This signal is pulse stretched.

When asserted, indicates the Frame Synchronizer state machine has achieved Metaframe delineation. This signal is pulse stretched.

Drives the lane status message contained in the framing layer diagnostic word (bits[33:32]). This signal is latched when a valid diagnostic word is received in the end of the

Metaframe while the frame is locked. The following encodings are defined:

• Bit[1]: When 1, indicates the lane is operational. When

0, indicates the lane is not operational.

• Bit[0]: When 1, indicates the link is operational. When

0, indicates the link is not operational.

When asserted, indicates a CRC error in the current

Metaframe. Asserted at the end of current Metaframe. This signal gets asserted for 2 or 3 cycles.

Intel ® Arria ® 10 Transceiver PHY User Guide

81

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 54.

10GBASE-R BER Checker

Name rx_enh_highber[<n>-1:0

] rx_enh_highber_clr_cn t[<n>-1:0]

Direction

Output

Input rx_enh_clr_errblk_coun t[<n>-1:0]

(10GBASE-R and FEC)

Input

Clock Domain rx_clkout rx_clkout rx_clkout

Description

When asserted, indicates a bit error rate that is greater than 10 -4 . For the 10GBASE-R protocol, this BER rate occurs when there are at least 16 errors within 125 µs.

This signal gets asserted for 2 to 3 clock cycles.

When asserted, clears the internal counter that indicates the number of times the BER state machine has entered the BER_BAD_SH state.

When asserted the error block counter resets to 0.

Assertion of this signal clears the internal counter that counts the number of times the RX state machine has entered the

RX_E

state. In modes where the FEC block is enabled, the assertion of this signal resets the status counters within the RX FEC block.

Table 55.

Block Synchronizer

Name rx_enh_blk_lock<n>-1:0

]

Direction Clock Domain

Output rx_clkout

Description

When asserted, indicates that block synchronizer has achieved block delineation. This signal is used for

10GBASE-R and Interlaken.

Table 56.

Gearbox

Name rx_bitslip[<n>-1:0] tx_enh_bitslip[<n>-1:0

]

Direction Clock Domain

Input rx_clkout

Input rx_clkout

Description

The

rx_parallel_data

slips 1 bit for every positive edge of the rx_bitslip

input. Keep the minimum interval between rx_bitslip

pulses to at least 20 cycles. The maximum shift is < pcswidth -1> bits, so that if the PCS is

64 bits wide, you can shift 0-63 bits.

The value of this signal controls the number of bits to slip the tx_parallel_data

before passing to the PMA.

Table 57.

KR-FEC

Name Direction tx_enh_frame[<n>-1:0]

Output rx_enh_frame[<n>-1:0]

Output rx_enh_frame_diag_stat us

Output

Clock Domain tx_clkout rx_clkout rx_clkout

Description

Asynchronous status flag output of TX KR-FEC that signifies the beginning of generated KR FEC frame

Asynchronous status flag output of RX KR-FEC that signifies the beginning of received KR FEC frame

Asynchronous status flag output of RX KR-FEC that indicates the status of the current received frame.

• 00: No error

• 01: Correctable Error

• 10: Un-correctale error

• 11: Reset condition/pre-lock condition

Related Information

ATX PLL IP Core

on page 354

CMU PLL IP Core on page 370

fPLL IP Core

on page 362

Ports and Parameters

on page 535

Intel ®

82

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Transceiver PHY Reset Controller Interfaces

on page 437

2.4.9.1. Enhanced PCS TX and RX Control Ports

This section describes the protocol configurations.

tx_control

and rx_control

bit encodings for different

When Enable simplified data interface is ON, all of the unused ports shown in the tables below, appear as a separate port. For example: It appears as unused_tx_control

/ unused_rx_control

port.

Enhanced PCS TX Control Port Bit Encodings

Table 58.

Name tx_control

Bit Encodings for Interlaken

Bit

[1:0]

Functionality

Synchronous header

[2] Inversion control

Description

The value 2'b01 indicates a data word. The value

2'b10 indicates a control word.

A logic low indicates that the built-in disparity generator block in the Enhanced PCS maintains the Interlaken running disparity.

[7:3]

[8]

Unused

Insert synchronous header error or

CRC32

You can use this bit to insert synchronous header error or CRC32 errors. The functionality is similar to tx_err_ins

. Refer to tx_err_ins description for more details.

signal

[17:9] Unused

Table 59.

Name tx_control

Bit Encodings for 10GBASE-R , 10GBASE-KR with FEC

Bit

[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

[17:8]

Functionality

XGMII control signal for parallel_data[7:0]

XGMII control signal for parallel_data[15:8]

XGMII control signal for parallel_data[23:16]

XGMII control signal for

parallel_data[31:24]

XGMII control signal for parallel_data[39:32]

XGMII control signal for parallel_data[47:40]

XGMII control signal for parallel_data[55:48]

XGMII control signal for

parallel_data[63:56]

Unused

Table 60.

Name tx_control

Bit Encodings for Basic Single Width Mode

For basic single width mode, the total word length is 66-bit with 64-bit data and 2-bit synchronous header.

Bit

[1:0]

Functionality

Synchronous header

Description

The value 2'b01 indicates a data word. The value

2'b10 indicates a control word.

[17:2] Unused

Intel ® Arria ® 10 Transceiver PHY User Guide

83

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 61.

Name tx_control

Bit Encodings for Basic Double Width Mode

For basic double width mode, the total word length is 66-bit with 128-bit data and 4-bit synchronous header.

Bit

[1:0]

Functionality

Synchronous header

Description

The value 2'b01 indicates a data word. The value

2'b10 indicates a control word.

[8:2]

[10:9]

Unused

Synchronous header The value 2'b01 indicates a data word. The value

2'b10 indicates a control word.

[17:11] Unused

Table 62.

Name tx_control

Bit Encodings for Basic Mode

In this case, the total word length is 67-bit with 64-bit data and 2-bit synchronous header.

Bit

[1:0]

[2]

Functionality

Synchronous header

Inversion control

Description

The value 2'b01 indicates a data word. The value

2'b10 indicates a control word.

A logic low indicates that built-in disparity generator block in the Enhanced PCS maintains the running disparity.

Enhanced PCS RX Control Port Bit Encodings

Table 63.

Name rx_control

Bit Encodings for Interlaken

Bit

[1:0]

Functionality

Synchronous header

[2]

[3]

[4]

[5]

[6]

[7]

Inversion control

Payload word location

Synchronization word location

Scrambler state word location

SKIP word location

Diagnostic word location

Description

The value 2'b01 indicates a data word. The value 2'b10 indicates a control word.

A logic low indicates that the builtin disparity generator block in the

Enhanced PCS maintains the

Interlaken running disparity. In the current implementation, this bit is always tied logic low (1'b0).

A logic high (1'b1) indicates the payload word location in a metaframe.

A logic high (1'b1) indicates the synchronization word location in a metaframe.

A logic high (1'b1) indicates the scrambler word location in a metaframe.

A logic high (1'b1) indicates the

SKIP word location in a metaframe.

A logic high (1'b1) indicates the diagnostic word location in a metaframe.

continued...

Intel ®

84

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Name

[8]

Bit

[9]

Functionality

Synchronization header error, metaframe error, or CRC32 error status

Block lock and frame lock status

[19:10] Unused

Table 64.

Name rx_control

Bit Encodings for 10GBASE-R , 10GBASE-KR with FEC

Bit

[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

[19:8]

Functionality

XGMII control signal for parallel_data[7:0]

XGMII control signal for parallel_data[15:8]

XGMII control signal for parallel_data[23:16]

XGMII control signal for

parallel_data[31:24]

XGMII control signal for parallel_data[39:32]

XGMII control signal for parallel_data[47:40]

XGMII control signal for parallel_data[55:48]

XGMII control signal for parallel_data[63:56]

Unused

Description

A logic high (1'b1) indicates synchronization header error, metaframe error, or CRC32 error status.

A logic high (1'b1) indicates that block lock and frame lock have been achieved.

Table 65.

Name rx_control

Bit Encodings for Basic Single Width Mode

For basic single width mode, the total word length is 66-bit with 64-bit data and 2-bit synchronous header.

Bit

[1:0]

Functionality

Synchronous header

Description

The value 2'b01 indicates a data word. The value

2'b10 indicates a control word.

[7:2]

[9:8]

Unused

Synchronous header error status The value 2'b01 indicates a data word. The value

2'b10 indicates a control word.

[19:10] Unused

Table 66.

Name rx_control

Bit Encodings for Basic Double Width Mode

For basic double width mode, total word length is 66-bit with 128-bit data, and 4-bit synchronous header.

Bit

[1:0]

Functionality

Synchronous header

Description

The value 2'b01 indicates a data word. The value 2'b10 indicates a control word.

[7:2]

[8]

Unused

Synchronous header error status

[9]

[11:10]

Block lock is achieved

Synchronous header

Active-high status signal that indicates a synchronous header error.

Active-high status signal indicating when block lock is achieved.

The value 2'b01 indicates a data word. The value 2'b10 indicates a control word.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

85

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Name Bit

[17:12]

[18]

Functionality

Unused

Synchronous header error status

Description

[19] Block lock is achieved

Active-high status signal that indicates a synchronous header error.

Active-high status signal indicating when Block

Lock is achieved.

Table 67.

Name rx_control

Bit Encodings for Basic Mode

In this case, the total word length is 67-bit with 64-bit data and 2-bit synchronous header.

Bit

[1:0]

[2]

Functionality

Synchronous header

Inversion control

Description

The value 2'b01 indicates a data word. The value

2'b10 indicates a control word.

A logic low indicates that built-in disparity generator block in the Enhanced PCS maintains the running disparity.

2.4.10. Standard PCS Ports

Figure 25.

Transceiver Channel using the Standard PCS Ports

Standard PCS ports appear if either one of the transceiver configuration modes is selected that uses Standard

PCS or if Data Path Reconfiguration is selected even if the transceiver configuration is not one of those that uses Standard PCS.

Arria 10 Transceiver Native PHY tx_cal_busy rx_cal_busy

Nios Hard

Calibration IP

Reconfiguration

Registers reconfig_reset reconfig_clk reconfig_avmm

TX PMA TX Standard PCS

Serial Data

Clocks

QPI

PCIe

Optional Ports

Serializer

Parallel Data, Control, Clocks

TX FIFO

8B/10B Encoder/Decoder

PCIe tx_serial_clk0

(from TX PLL)

Serial Data

Optional Ports

CDR Control

QPI

Clocks

PRBS

Clock

Generation

Block

RX PMA

CDR Deserializer

RX Standard PCS tx_analog_reset rx_analog_reset

Parallel Data, Control, Clocks

RX FIFO

Rate Match FIFO

Word Aligner & Bitslip

PCIe

Intel ®

86

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

In the following tables, the variables represent these parameters:

<n>—The number of lanes

<w>—The width of the interface

<d>—The serialization factor

<s>— The symbol size

<p>—The number of PLLs

Table 68.

TX Standard PCS: Data, Control, and Clocks

Name tx_parallel_data[<n>

128-1:0]

Direction

Input

Clock Domain tx_clkout

Description

TX parallel data input from the FPGA fabric to the TX PCS.

unused_tx_parallel_d ata tx_coreclkin tx_clkout

Input

Input

Output tx_clkout

Clock

Clock

This signal specifies the unused data when you turn on

Enable simplified data interface. When simplified data interface is not set, the unused bits are a part of tx_parallel_data

. Connect all these bits to 0. If you do not connect the unused data bits to 0, then TX parallel data may not be serialized correctly by the Native PHY IP core.

The FPGA fabric clock. This clock drives the write port of the

TX FIFO.

This is the parallel clock generated by the local CGB for non bonded configurations, and master CGB for bonded configuration. This clocks the

FPGA fabric to the TX PCS.

tx_parallel_data

from the

Table 69.

RX Standard PCS: Data, Control, Status, and Clocks rx_parallel_data[<n>

128-1:0]

Name unused_rx_parallel_da ta rx_clkout rx_coreclkin

Direction Clock Domain

Output Synchronous to the clock driving the read side of the FIFO

( rx_coreclk in or rx_clkout

)

Output

Output

Synchronous to the clock driving the read side of the FIFO

( rx_coreclk in or rx_clkout

)

Clock

Input Clock

Description

RX parallel data from the RX PCS to the FPGA fabric. For each 128-bit word of rx_parallel_data

, the data bits correspond to rx_parallel_data[7:0]

when 8B/10B decoder is enabled and rx_parallel_data[9:0]

8B/10B decoder is disabled.

when

This signal specifies the unused data when you turn on

Enable simplified data interface. When simplified data interface is not set, the unused bits are a part of rx_parallel_data

. These outputs can be left floating.

The low speed parallel clock recovered by the transceiver RX

PMA, that clocks the blocks in the RX Standard PCS.

RX parallel clock that drives the read side clock of the RX

FIFO.

Intel ® Arria ® 10 Transceiver PHY User Guide

87

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 70.

Standard PCS FIFO

Name tx_std_pcfifo_full[<n

>-1:0]

Direction

Output tx_std_pcfifo_empty[< n>-1:0]

Output rx_std_pcfifo_full[<n

>-1:0]

Output rx_std_pcfifo_empty[< n>-1:0]

Output

Clock Domain

Synchronous to the clock driving the write side of the FIFO

( tx_coreclki n or tx_clkout

)

Synchronous to the clock driving the write side of the FIFO

( tx_coreclki n or tx_clkout

)

Synchronous to the clock driving the read side of the FIFO

( rx_coreclki n or rx_clkout

)

Synchronous to the clock driving the read side of the FIFO

( rx_coreclki n or rx_clkout

)

Description

Indicates when the standard TX FIFO is full.

Indicates when the standard TX FIFO is empty.

Indicates when the standard RX FIFO is full.

Indicates when the standard RX FIFO is empty.

Table 71.

Rate Match FIFO

Name rx_std_rmfifo_full[<n

>-1:0]

Direction Clock Domain

Output Asynchronous rx_std_rmfifo_empty[< n>-1:0] rx_rmfifostatus[<n>-1

:0]

Output

Output

Asynchronous

Asynchronous

Description

Rate match FIFO full flag. When asserted the rate match

FIFO is full. You must synchronize this signal. This port is only used for GigE mode.

Rate match FIFO empty flag. When asserted, match FIFO is empty. You must synchronize this signal. This port is only used for GigE mode.

Indicates FIFO status. The following encodings are defined:

• 2'b00: Normal operation

• 2'b01: Deletion, rx_std_rmfifo_full = 1

• 2'b10: Insertion, rx_std_rmfifo_empty = 1

• 2'b11: Full. rx_rmfifostatus

is a part of rx_parallel_data

. rx_rmfifostatus

corresponds to rx_parallel_data[14:13]

.

Intel ®

88

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 72.

tx_datak

8B/10B Encoder and Decoder

Name tx_forcedisp[<n>(<w>/

<s>-1:0] tx_dispval[<n>(<w>/

<s>-1:0] rx_datak[<n><w>/

<s>-1:0] rx_errdetect[<n><w>/

<s>-1:0] rx_disperr[<n><w>/

<s>-1:0] rx_runningdisp[<n><w>

/<s>-1:0] rx_patterndetect[<n>< w>/<s>-1:0]

Direction Clock Domain

Input tx_clkout

Input

Input

Output

Output

Output

Output

Output

Asynchronous

Asynchronous rx_clkout

Synchronous to the clock driving the read side of the

FIFO

( rx_coreclki n or rx_clkout

)

Description tx_datak

is exposed if 8B/10B enabled and simplified data interface is set.When 1, indicates that the 8B/10B encoded word of tx_parallel_data is control. When 0, indicates that the 8B/10B encoded word of tx_parallel_data

is data.

tx_datak

is a part of tx_parallel_data

when simplified data interface is not set.

This signal allows you to force the disparity of the 8B/10B encoder. When "1", forces the disparity of the output data to the value driven on tx_dispval running disparity continues.

. When "0", the current tx_forcedisp

is a part of tx_parallel_data

. tx_forcedisp

corresponds to tx_parallel_data[9]

.

Specifies the disparity of the data. When 0, indicates positive disparity, and when 1, indicates negative disparity.

tx_dispval

is a part of tx_parallel_data

. tx_dispval corresponds to tx_dispval[10]

.

rx_datak

is exposed if 8B/10B is enabled and simplified data interface is set. When 1, indicates that the 8B/10B decoded word of rx_parallel_data is control. When 0, indicates that the 8B/10B decoded word of rx_parallel_data

is data. rx_datak

is a part of rx_parallel_data

when simplified data interface is not set.

When asserted, indicates a code group violation detected on the received code group. Used along with rx_disperr signal to differentiate between code group violation and disparity errors. The following encodings are defined for rx_errdetect/rx_disperr

:

• 2'b00: no error

• 2'b10: code group violation

• 2'b11: disparity error. rx_errdetect

is a part of rx_parallel_data

. For each 128-bit word, rx_errdetect

corresponds to rx_parallel_data[9]

.

When asserted, indicates a disparity error on the received code group. rx_disperr

is a part of rx_parallel_data

.

For each 128-bit word, rx_disperr

corresponds to rx_parallel_data[11]

.

Synchronous to the clock driving the read side of the

FIFO

( rx_coreclki n or rx_clkout

)

Synchronous to the clock driving the read side of the

FIFO

( rx_coreclki n or rx_clkout

)

Asynchronous

When high, indicates that rx_parallel_data

was received with negative disparity. When low, indicates that rx_parallel_data

was received with positive disparity.

rx_runningdisp

is a part of rx_parallel_data

. For each 128 bit word, rx_runningdisp

corresponds to rx_parallel_data[15]

.

When asserted, indicates that the programmed word alignment pattern has been detected in the current word boundary. rx_patterndetect

is a part of continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

89

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Name rx_syncstatus[<n><w>/

<s>-1:0]

Direction Clock Domain

Output Asynchronous

Description rx_parallel_data

. For each 128-bit word, rx_patterndetect

corresponds to rx_parallel_data[12]

.

When asserted, indicates that the conditions required for synchronization are being met.

rx_syncstatus

is a part of rx_parallel_data

. For each 128-bit word, rx_syncstatus

corresponds to

rx_parallel_data[10]

.

Table 73.

Word Aligner and Bitslip

Name tx_std_bitslipboundary sel[5 <n>-1:0]

Direction Clock Domain

Input Asynchronous rx_std_bitslipboundary sel[5 <n>-1:0]

Output Asynchronous rx_std_wa_patternalig n[<n>-1:0] rx_std_wa_a1a2size[<n>

-1:0]

Input rx_bitslip[<n>-1:0]

Input

Input

Synchronous to rx_clkout

Asynchronous

Asynchronous

Description

Bitslip boundary selection signal. Specifies the number of bits that the TX bit slipper must slip.

This port is used in deterministic latency word aligner mode.

This port reports the number of bits that the RX block slipped. This port values should be taken into consideration in either Deterministic Latency Mode or Manual Mode of

Word Aligner.

Active when you place the word aligner in manual mode. In manual mode, you align words by asserting rx_std_wa_patternalign

. When the PCS-PMA Interface width is 10 bits, rx_std_wa_patternalign

is level sensitive. For all the other PCS-PMA Interface widths, rx_std_wa_patternalign

is positive edge sensitive.

You can use this port only when the word aligner is configured in manual or deterministic latency mode.

When the word aligner is in manual mode, and the PCS-PMA interface width is 10 bits, this is a level sensitive signal. In this case, the word aligner monitors the input data for the word alignment pattern, and updates the word boundary when it finds the alignment pattern.

For all other PCS-PMA interface widths, this signal is edge sensitive.This signal is internally synchronized inside the

PCS using the PCS parallel clock and should be asserted for at least 2 clock cycles to allow synchronization.

Used for the SONET protocol. Assert when the A1 and A2 framing bytes must be detected. A1 and A2 are SONET backplane bytes and are only used when the PMA data width is 8 bits.

Used when word aligner mode is bitslip mode. When the

Word Aligner is in either Manual (PLD controlled),

Synchronous State Machine or Deterministic Latency ,the rx_bitslip signal

is not valid and should be tied to 0.

For every rising edge of the rx_std_bitslip earliest received bit from the received data.

signal, the word boundary is shifted by 1 bit. Each bitslip removes the

Table 74.

Bit Reversal and Polarity Inversion

Name rx_std_byterev_ena[<n>

-1:0]

Direction Clock Domain

Input Asynchronous rx_std_bitrev_ena[<n>-

1:0]

Input Asynchronous

Description

This control signal is available when the PMA width is 16 or

20 bits. When asserted, enables byte reversal on the RX interface. Used if the MSB and LSB of the transmitted data are erroneously swapped.

When asserted, enables bit reversal on the RX interface. Bit order may be reversed if external transmission circuitry transmits the most significant bit first. When enabled, the continued...

Intel ®

90

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Name tx_polinv[<n>-1:0] rx_polinv[<n>-1:0] rx_std_signaldetect[<n

>-1:0]

Direction Clock Domain

Input

Input

Output

Asynchronous

Asynchronous

Asynchronous

Description receive circuitry receives all words in the reverse order. The bit reversal circuitry operates on the output of the word aligner.

When asserted, the TX polarity bit is inverted. Only active when TX bit polarity inversion is enabled.

When asserted, the RX polarity bit is inverted. Only active when RX bit polarity inversion is enabled.

When enabled, the signal threshold detection circuitry senses whether the signal level present at the RX input buffer is above the signal detect threshold voltage. You can specify the signal detect threshold using a Quartus Prime

Settings File (.qsf) assignment. This signal is required for the PCI Express, SATA and SAS protocols.

Related Information

ATX PLL IP Core

on page 354

CMU PLL IP Core on page 370

fPLL IP Core

on page 362

Ports and Parameters

on page 535

Transceiver PHY Reset Controller Interfaces

on page 437

Analog Parameter Settings on page 585

2.4.11. IP Core File Locations

When you generate your Transceiver Native PHY IP, the Quartus ® Prime software generates the HDL files that define your instance of the IP. In addition, the Quartus

Prime software generates an example Tcl script to compile and simulate your design in the ModelSim* simulator. It also generates simulation scripts for Synopsys* VCS,

Aldec* Active-HDL, Aldec Riviera-Pro, and Cadence* Incisive Enterprise.

Intel ® Arria ® 10 Transceiver PHY User Guide

91

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 26.

Directory Structure for Generated Files

<Project Directory>

<your_ip_or_system_name>.qsys - Top-level IP variation file

<your_ip_or_system_name>.sopcinfo

<your_ip_name> - IP core variation files

<your_ip_name>.cmp - VHDL component declaration file

<your_ip_name>_bb - Verilog HDL black-box EDA synthesis file

<your_ip_name>_inst - IP instantiation template file

<your_ip_name>.ppf - XML I/O pin information file

<your_ip_name>.qip - Lists IP synthesis files

<your_ip_name>.sip - Lists files for simulation

<your_ip_name>.v or .vhd - Greybox timing netlist sim - IP simulation files

<your_ip_name>.v or .vhd - Top-level simulation file

aldec- Simulator setup scripts cadence - Simulator setup scripts mentor - Simulator setup scripts synopsys - Simulator setup scripts

synth - IP synthesis files

<your_ip_name>.v or .vhd - Top-level IP synthesis file

<IP subcore> - IP subcore files sim

<HDL files> synth

<HDL files>

The following table describes the directories and the most important files for the parameterized Transceiver Native PHY IP core and the simulation environment. These files are in clear text.

Table 75.

Transceiver Native PHY Files and Directories

File Name

<project_dir>

<your_ip_name> .v or .vhd

<your_ip_name> .qip

Description

The top-level project directory.

The top-level design file.

A list of all files necessary for Quartus Prime compilation.

continued...

Intel ®

92

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

<your_ip_name> .bsf

File Name

<project_dir>/<your_ip_name>/

<project_dir>/sim

<project_dir>/sim/aldec

<project_dir>/sim/cadence

<project_dir>/sim/mentor

<project_dir>/sim/synopsys

<project_dir>/synth

Description

A Block Symbol File (.bsf) for your Transceiver Native PHY instance.

The directory that stores the HDL files that define the

Transceiver Native PHY IP.

The simulation directory.

Simulation files for Riviera-PRO simulation tools.

Simulation files for Cadence simulation tools.

Simulation files for Mentor simulation tools.

Simulation files for Synopsys simulation tools.

The directory that stores files used for synthesis.

The Verilog and VHDL Transceiver Native PHY IP cores have been tested with the following simulators:

• ModelSim SE

• Synopsys VCS MX

• Cadence NCSim

If you select VHDL for your transceiver PHY, only the wrapper generated by the

Quartus Prime software is in VHDL. All the underlying files are written in Verilog or

SystemVerilog. To enable simulation using a VHDL-only ModelSim license, the underlying Verilog and SystemVerilog files for the Transceiver Native PHY IP are encrypted so that they can be used with the top-level VHDL wrapper without using a mixed-language simulator.

For more information about simulating with ModelSim, refer to the Mentor Graphics

ModelSim and QuestaSim Support chapter in volume 3 of the Quartus Prime

Handbook.

The Transceiver Native PHY IP cores do not support the NativeLink feature in the

Quartus Prime software.

Related Information

Simulating the Transceiver Native PHY IP Core on page 325

• Mentor Graphics ModelSim and QuestaSim Support

2.4.12. Unused Transceiver RX Channels

To prevent performance degradation of unused transceiver RX channels over time, the following assignments must be added to an Arria 10 device QSF. You can either use a global assignment or per-pin assignments.

set_global_assignment -name PRESERVE_UNUSED_XCVR_CHANNEL ON or set_instance_assignment -name PRESERVE_UNUSED_XCVR_CHANNEL ON -to pin_name

Intel ® Arria ® 10 Transceiver PHY User Guide

93

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

When you perform this procedure, the Intel Quartus Prime software instantiates the clock data recovery (CDR) PLL corresponding to each unused receiver channel. The

CDR uses

CLKUSR

as reference clock and is configured to run at 1 Gbps. To use

CLKUSR

as reference clock, the pin must be assigned a 100- to 125 MHz clock. When you implement these assignments, it causes a power consumption increase per receiver channel. Please contact your local support center for details.

Related Information

Unused/Idle Clock Line Requirements on page 389

2.4.13. Unsupported Features

Native PHY should not be included in QXP.

2.5. Interlaken

Interlaken is a scalable, channelized chip-to-chip interconnect protocol.

The key advantages of Interlaken are scalability and low I/O count compared to earlier protocols such as SPI 4.2. Other key features include flow control, low overhead framing, and extensive integrity checking. Interlaken operates on 64-bit data words and 3 control bits, which are striped round-robin across the lanes. The protocol accepts packets on 256 logical channels and is expandable to accommodate up to

65,536 logical channels. Packets are split into small bursts that can optionally be interleaved. The burst semantics include integrity checking and per logical channel flow control.

The Interlaken interface is supported with 1 to 48 lanes running at data rates up to

12.5 Gbps per lane on Arria 10 devices. Interlaken is implemented using the Enhanced

PCS. The Enhanced PCS has demonstrated interoperability with Interlaken ASSP vendors and third-party IP suppliers.

Arria 10 devices provide three preset variations for Interlaken in the Arria 10

Transceiver Native PHY IP Parameter Editor:

• Interlaken 10x12.5 Gbps

• Interlaken 1x6.25 Gbps

• Interlaken 6x10.3 Gbps

Depending on the line rate, the enhanced PCS can use a PMA to PCS interface width of

32, 40, or 64 bits.

Intel ®

94

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 27.

Transceiver Channel Datapath and Clocking for Interlaken

This figure assumes the serial data rate is 12.5 Gbps and the PMA width is 40 bits.

Transmitter PMA Transmitter Enhanced PCS

40

64 bits data +

3 bits control

FPGA

Fabric

186.57 MHz to 312.5MHz

tx_clkout

PRBS

Generator

PRP

Generator

Parallel Clock (312.5 MHz)

KR FEC TX G KR FEC Scr KR FEC Enc

Receiver PMA Receiver Enhanced PCS tx_pma_div_clkout rx_pma_div_clkout

64 bits data +

3 bits control

40

Div 40

PRBS

Verifier

Parallel Clock (312.5 MHz)

PRP

Verifier

10GBASE-R

BER Checker

186.57 MHz to 312.5MHz

KR FEC Block S KR FEC Dec

Parallel Clock

Serial Clock

Parallel and Serial Clocks

Clock Generation Block (CGB)

Clock Divider

Parallel and Serial Clocks

(6.25 GHz) =

Data rate/2

ATX PLL fPLL

CMU PLL

Serial Clock

Input Reference Clock

Related Information

• Interlaken Protocol Definition v1.2

• Interlaken Look-Aside Protocol Definition, v1.1

2.5.1. Metaframe Format and Framing Layer Control Word

The Enhanced PCS supports programmable metaframe lengths from 5 to 8192 words.

However, for stability and performance, Intel recommends you set the frame length to no less than 128 words. In simulation, use a smaller metaframe length to reduce simulation times. The payload of a metaframe could be pure data payload and a

Burst/Idle control word from the MAC layer.

rx_clkout

Intel ® Arria ® 10 Transceiver PHY User Guide

95

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 28.

Framing Layer Metaframe Format

Metaframe Length

Control and

Data Words

The framing control words include:

• Synchronization (SYNC)—for frame delineation and lane alignment (deskew)

• Scrambler State (SCRM)—to synchronize the scrambler

• Skip (SKIP)—for clock compensation in a repeater

• Diagnostic (DIAG)—provides per-lane error check and optional status message

To form a metaframe, the Enhanced PCS frame generator inserts the framing control words and encapsulates the control and data words read from the TX FIFO as the metaframe payload.

Figure 29.

Interlaken Synchronization and Scrambler State Words Format

bx10 b011110 bx10 b001010

66 63 58 57 h0F678F678F678F6

Scrambler State

0

Figure 30.

Interlaken Skip Word Format

bx10 b000111

66 63 h21E

58 57 h1E

48 47 40 h1E h1E h1E h1E h1E

0

The DIAG word is comprised of a status field and a CRC-32 field. The 2-bit status is defined by the Interlaken specification as:

• Bit 1 (Bit 33): Lane health

— 1: Lane is healthy

— 0: Lane is not healthy

• Bit 0 (Bit 32): Link health

— 1: Link is healthy

— 0: Link is not healthy

Intel ®

96

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

The tx_enh_frame_diag_status[1:0]

input from the FPGA fabric is inserted into the Status field each time a DIAG word is created by the framing generator.

Figure 31.

Interlaken Diagnostic Word

bx10 b011001

66 63 58 57 h000000

34

Status

33 32 31

CRC32

0

2.5.2. Interlaken Configuration Clocking and Bonding

The Arria 10 Interlaken PHY layer solution is scalable and has flexible data rates. You can implement a single lane link or bond up to 48 lanes together. You can choose a lane data rate up to 17.4 Gbps for GX devices and 25.8 Gbps for GT devices. You can also choose between different reference clock frequencies, depending on the PLL used to clock the transceiver. Refer to the Arria 10 Device Datasheet for the minimum and maximum data rates that Arria 10 transceivers can support at different speed grades.

You can use an ATX PLL or fPLL to provide the clock for the transmit channel. An ATX

PLL has better jitter performance compared to an fPLL. You can use the CMU PLL to clock only the non-bonded Interlaken transmit channels. However, if you use the CMU

PLL, you lose one RX transceiver channel.

For the multi-lane Interlaken interface, TX channels are usually bonded together to minimize the transmit skew between all bonded channels. Currently, xN bonding and

PLL feedback compensation bonding schemes are available to support a multi-lane

Interlaken implementation. If the system tolerates higher channel-to-channel skew, you can choose to not bond the TX channels.

To implement bonded multi-channel Interlaken, all channels must be placed contiguously. The channels may all be placed in one bank (if not greater than six lanes) or they may span several banks.

Related Information

Using PLLs and Clock Networks

on page 398

For more information about implementing PLLs and clocks

• Arria 10 Device Datasheet

2.5.2.1. xN Clock Bonding Scenario

The following figure shows a xN bonding example supporting 10 lanes. Each lane is running at 12.5 Gbps. The first six TX channels reside in one transceiver bank and the other four TX channels reside in the adjacent transceiver bank. The ATX PLL provides the serial clock to the master CGB. The CGB then provides parallel and serial clocks to all of the TX channels inside the same bank and other banks through the xN clock network.

Because of xN clock network skew, the maximum achievable data rate decreases when TX channels span several transceiver banks.

Intel ® Arria ® 10 Transceiver PHY User Guide

97

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 32.

10X12.5 Gbps xN Bonding

Transceiver PLL

Instance (6.25 GHz)

ATX PLL

Master

CGB xN

Native PHY Instance

(10 Ch Bonded 12.5 Gbps)

Transceiver Bank 1

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

Transceiver Bank 2

TX Channel

TX Channel

TX Channel

TX Channel

Related Information

Implementing x6/xN Bonding Mode

on page 404

For detailed information on xN bonding limitations

Using PLLs and Clock Networks

on page 398

For more information about implementing PLLs and clocks

2.5.2.2. TX Multi-Lane Bonding and RX Multi-Lane Deskew Alignment State

Machine

The Interlaken configuration sets the enhanced PCS TX and RX FIFOs in Interlaken elastic buffer mode. In this mode of operation, TX and RX FIFO control and status port signals are provided to the FPGA fabric. Connect these signals to the MAC layer as required by the protocol. Based on these FIFO status and control signals, you can implement the multi-lane deskew alignment state machine in the FPGA fabric to control the transceiver RX FIFO block.

Note: You must also implement the soft bonding logic to control the transceiver TX FIFO block.

Intel ®

98

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.5.2.2.1. TX FIFO Soft Bonding

The MAC layer logic and TX soft bonding logic control the writing of the Interlaken word to the TX FIFO with tx_enh_data_valid

(functions as a TX FIFO write enable) by monitoring the TX FIFO flags ( tx_fifo_full

, tx_fifo_pfull

, tx_fifo_empty

, tx_fifo_pempty

, and so forth). On the TX FIFO read side, a read enable is controlled by the frame generator. If tx_enh_frame_burst_en

is asserted high, the frame generator reads data from the TX FIFO.

A TX FIFO pre-fill stage must be implemented to perform the TX channel soft bonding.

The following figure shows the state of the pre-fill process.

Intel ® Arria ® 10 Transceiver PHY User Guide

99

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 33.

TX Soft Bonding Flow

Exit from tx_digitalreset

Deassert all lanes tx_enh_frame_burst_en

Assert all lanes tx_enh_data_valid

All lanes full?

yes

Deassert all lanes tx_enh_data_valid

no no

Any lane send new frame?

tx_enh_frame asserted?

yes

Wait for extra 16 tx_coreclkin cycles no

All lanes full?

yes

TX FIFO pre-fill completed

The following figure shows that after deasserting tx_digitalreset logic starts filling the TX FIFO until all lanes are full.

, TX soft bonding

Intel ®

100

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 34.

TX FIFO Pre-fill (6-lane Interface)

Deassert tx_digitalreset

00 tx_digitalreset tx_enh_data_valid tx_enh_fifo_full tx_enh_fifo_pfull tx_enh_fifo_empty tx_enh_fifo_pempty tx_enh_fifo_cnt tx_enh_frame tx_enh_frame_burst_en

3f

00

00

00

3f

3f

000000

00

00

3f

00

3f

3f

1... 2... 3... 4... 5... 6... 7... 8... 9... a... b... c... d... e... ffffff

3f 00

00

Deassert burst_en for all Lanes and Fill

TX FIFO Until all Lane FIFOs Are Full

After the TX FIFO pre-fill stage completes, the transmit lanes synchronize and the MAC layer begins to send valid data to the transceiver’s TX FIFO. You must never allow the

TX FIFO to overflow or underflow. If it does, you must reset the transceiver and repeat the TX FIFO pre-fill stage.

For a single lane Interlaken implementation, TX FIFO soft bonding is not required. You can begin sending an Interlaken word to the TX FIFO after tx_digitalreset deasserts.

The following figure shows the MAC layer sending valid data to the Native PHY after the pre-fill stage. tx_enh_frame_burst_en

is asserted, allowing the frame generator to read data from the TX FIFO. The TX MAC layer can now control tx_enh_data_valid

and write data to the TX FIFO based on the FIFO status signals.

Figure 35.

MAC Sending Valid Data (6-lane Interface) tx_digitalreset tx_enh_data_valid tx_enh_fifo_full tx_enh_fifo_pfull tx_enh_fifo_empty tx_enh_fifo_pempty tx_enh_fifo_cnt tx_enh_frame tx_enh_frame_burst_en

00

00

3f

3f

00

00 ffffff

00

3f

3f 00

00

00

3f

3f

00

After the Pre-fill Stage, Assert burst_en.

The Frame Generator Reads Data from the TX FIFO for the Next Metaframe

The User Logic Asserts data_valid to Send Data to the TX FIFO Based on the FIFO Status

The TX FIFO

Writes Backpressure

2.5.2.2.2. RX Multi-lane FIFO Deskew State Machine

Add deskew logic at the receiver side to eliminate the lane-to-lane skew created at the transmitter of the link partner, PCB, medium, and local receiver PMA.

Implement a multi-lane alignment deskew state machine to control the RX FIFO operation based on available RX FIFO status flags and control signals.

Intel ® Arria ® 10 Transceiver PHY User Guide

101

Figure 36.

State Flow of the RX FIFO Deskew

Exit from rx_digitalreset

Deassert all Lane’s rx_enh_fifo_rd_en

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

All Lane’s rx_enh_fifo_pempty

Deasserted?

yes

no

Assert rx_enh_fifo_align_clr for at least 4 rx_coreclkin Cycles

All Lane’s rx_enh_fifo_pfull

Deasserted?

no

yes

RX FIFO Deskew

Completed

Each lane's rx_enh_fifo_rd_en

should remain deasserted before the RX FIFO deskew is completed. After frame lock is achieved (indicated by the assertion of rx_enh_frame_lock

; this signal is not shown in the above state flow), data is written into the RX FIFO after the first alignment word (SYNC word) is found on that channel. Accordingly, the RX FIFO partially empty flag ( rx_enh_fifo_pempty

) of that channel is asserted. The state machine monitors the rx_enh_fifo_pempty

and rx_enh_fifo_pfull

signals of all channels. If the rx_enh_fifo_pempty

signals from all channels deassert before any channels rx_enh_fifo_pfull

assert, which implies the SYNC word has been found on all lanes of the link, the MAC layer can start reading from all the RX FIFO by asserting rx_enh_fifo_rd_en

simultaneously.

Otherwise, if the rx_enh_fifo_pfull

signal of any channel asserts high before the rx_enh_fifo_pempty

signals deassertion on all channels, the state machine needs to flush the RX FIFO by asserting rx_enh_fifo_align_clr

high for 4 cycles and repeating the soft deskew process.

The following figure shows one RX deskew scenario. In this scenario, all of the RX

FIFO partially empty lanes are deasserted while the pfull lanes are still deasserted.

This indicates the deskew is successful and the FPGA fabric starts reading data from the RX FIFO.

Intel ®

102

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 37.

RX FIFO Deskew

After deskew is successful, the user logic asserts rd_en for all lanes to start reading data from the RX FIFO.

rx_enh_fifo_full rx_enh_fifo_empty rx_enh_fifo_rd_en rx_enh_data_valid rx_enh_fifo_pfull rx_enh_fifo_pempty rx_enh_frame_lock

[5]

Each Lane Is

Frame-Locked in a Different

Cycle

[4]

[3]

[2]

[1]

[0] rx_enh_fifo_align_val rx_enh_fifo_align_clr

00

00

00

3f

00

00

00

3f

00 21 3b 3f

21

1e

3f

00

1e

3f

3f

00

3f data_valid is asserted, indicating that the RX FIFO is outputting valid data.

Deassertion of pempty of all lanes before any lane pfull goes high, which means the deskew is complete.

2.5.3. How to Implement Interlaken in Arria 10 Transceivers

You should be familiar with the Interlaken protocol, Enhanced PCS and PMA architecture, PLL architecture, and the reset controller before implementing the

Interlaken protocol PHY layer.

Arria 10 devices provide three preset variations for Interlaken in the IP Parameter

Editor:

• Interlaken 10x12.5 Gbps

• Interlaken 1x6.25 Gbps

• Interlaken 6x10.3 Gbps

1. Instantiate the Arria 10 Transceiver Native PHY IP from the IP Catalog

(Installed IP

Library

Interface Protocols

Transceiver PHY

Arria

10 Transceiver Native PHY).

Refer to Select and Instantiate the PHY IP Core on page 33 for more details.

2. Select Interlaken from the Transceiver configuration rules list located under

Datapath Options, depending on which protocol you are implementing.

3. Use the parameter values in the tables in Transceiver Native PHY IP Parameters for

Interlaken Transceiver Configuration Rules . Or you can use the protocol presets

described in Transceiver Native PHY Presets

. You can then modify the settings to meet your specific requirements.

4. Click Generate to generate the Native PHY IP (this is your RTL file).

Intel ® Arria ® 10 Transceiver PHY User Guide

103

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 38.

Signals and Ports of Native PHY IP for Interlaken

Arria 10 Transceiver Native PHY tx_cal_busy rx_cal_busy tx_serial_data tx_serial_clk or tx_bonding_clocks[5:0]

(from TX PLL) rx_serialloopback rx_serial_data rx_cdr_refclk0 rx_is_lockedtodata rx_is_lockedtoref

Hard

Calibration Block

CDR

TX PMA

Serializer

RX PMA

Deserializer

32/40/64

32/40/64

Reconfiguration

Registers

TX Enhanced PCS

RX Enhanced PCS reconfig_reset reconfig_clk reconfig_avmm tx_digital_reset tx_clkout tx_coreclkin tx_control[17:0] (1) tx_parallel_data[127:0] (1) tx_enh_data_valid tx_enh_frame_burst_en tx_enh_frame_diag_status[1:0] tx_enh_frame tx_enh_fifo_cnt[3:0] tx_enh_fifo_full tx_enh_fifo_pfull tx_enh_fifo_empty tx_enh_fifo_pempty tx_analog_reset rx_analog_reset rx_digital_reset rx_clkout rx_coreclkin rx_parallel_data[127:0] (2) rx_control[19:0] (2) rx_enh_fifo_rd_en rx_enh_data_valid rx_enh_fifo_align_val rx_enh_fifo_align_clr rx_enh_frame rx_enh_fifo_cnt[3:0] rx_enh_fifo_full rx_enh_fifo_pfull rx_enh_fifo_empty rx_enh_fifo_pempty rx_enh_frame_diag_status[1:0] rx_enh_frame_lock rx_enh_crc32_err rx_enh_blk_lock

Notes:

(1) The width of tx_parallel_data and tx_control depends on whether the simplified interface is enabled or not. If the simplified interface is enabled, then

tx_parallel_data = 64 bits and tx_control = 3 bits. The width shown here is without simplified interface.

(2) The width of rx_parallel_data and rx_control depends on whether the simplified interface is enabled or not. If the simplified interface is enabled, then

rx_parallel_data = 64 bits and rx_control = 10 bits. The width shown here is without simplified interface.

5. Configure and instantiate your PLL.

6. Create a transceiver reset controller. You can use your own reset controller or use the Transceiver PHY Reset Controller.

7. Implement a TX soft bonding logic and an RX multi-lane alignment deskew state machine using fabric logic resources for multi-lane Interlaken implementation.

8. Connect the Native PHY IP to the PLL IP and the reset controller.

Intel ®

104

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 39.

Connection Guidelines for an Interlaken PHY Design

This figure shows the connection of all these blocks in the Interlaken PHY design example available on the Intel

FPGA Wiki website.

For the blue blocks, Intel provides an IP core. The gray blocks use the TX soft bonding logic that is included in the design example. The white blocks are your test logic or MAC layer logic.

Reset

Controller

PLL and CGB Reset

PLL IP

TX/RX Analog/Digital Reset

TX Clocks

Pattern

Generator

Control and Status

TX Soft

Bonding

TX Data Stream

TX FIFO Status

TX FIFO Control

Arria 10

Transceiver

Native PHY

RX FIFO Status

RX FIFO Control

Pattern

Verifier

Control and Status

RX

Deskew

RX Data Stream

9. Simulate your design to verify its functionality.

Figure 40.

24 Lanes Bonded Interlaken Link, TX Direction

To show more details, three different time segments are shown with the same zoom level.

tx_ready

Asserted

Pre-Fill

Stage

Pre-Fill Completed

Assert burst_en for

All Lanes

Send Data

Based on

FIFO Flags pll_locked tx_analogreset tx_clkout[0] tx_clkout tx_digitalreset tx_ready[0] tx_ready tx_enh_data_valid[0] tx_enh_data_valid tx_enh_fifo_full tx_enh_frame[0] tx_enh_frame tx_enh_frame_burst_en[0] tx_enh_frame_burst_en tx_parallel_data tx_control tx_enh_fifo_empty tx_enh_fifo_pempty

24`h000000

24`h000000

24`... 24`hffffff

24`h000000

24`h000000

24`h000000

24`hffffff

24`h000000

24`hffffff 24`h000000

1536`h0123456789abcdef01234567

72`h249249249249249249

24`hffffff

24`hffffff

24`h000000

24`h000000

24`hffffff

24`...

24`h000000

24`h000000

24`hffffff

24`h000000

24`hffffff

24`h000...

24`h000000

24`h000000

1536`h0123456789abcdef01234567

72`h249249249249249249

24`h000000

24`h000000

24`h000000

24`h000000

24`hffffff

24`h000000

24`hffffff 24`h000000

24`h000000

24`hffffff

1536`h0123456789abcdef01234567

72`h249249249249249249

24`h000000

24`h000000

24`hffffff

24 lanes bonded Interlaken link, TX direction

24`h000000

1536`hbd212...

Intel ® Arria ® 10 Transceiver PHY User Guide

105

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 41.

24 Lanes Bonded Interlaken Link, RX Direction

To show more details, three different time segments are shown with different zoom level.

rx_ready

Asserted

Some Lanes pfull Signal Is Asserted before All Lanes pempty is Deasserted;

RX Deskew Fails. Need to Realign

All Lanes pfull Low and All

Lanes pempty Deasserted

RX Deskew Complete rx_clkout[0] rx_digitalreset rx_ready rx_enh_blk_lock rx_enh_frame_lock rx_enh_fifo_pfull[0] rx_enh_fifo_pfull rx_enh_fifo_pempty rx_enh_fifo_align_clr rx_enh_fifo_align_val rx_enh_fifi_rd_en rx_enh_data_valid rx_parallel_data rx_control

24`hffffff

24`h000000

24`h000000

24`h000000

24`h000000

24`hffffff

24`h000000

24`h000000

24`h000000

24`h000000

1536`h0100009c0100

240`h0441104411044

24`h00...

24`hff...

24`h000000

24`hffffff

24`hffffff

24`h0...

24`h000001

24`h000000

24`hffffff

24`hffffff

24`hffffff

24`h000000

24`hffffff

24`h000000

24`h00...

24`h000000

24`h000000

24`hfffffe

24`h000001

24`h000000 24`h00..

24`hffffff

24`hffffff

24`h00..

1536`h0100009c0100009c0100009c0100009c0100009c0100009c0100009c01000

240`h044110441104404411044110441104411044110441104411044110441104411

24`h000000

24`hffffff

24`h000000

24`hffffff

24`h000000

24`h000000

1536`h01000...

240`h044110...

24`h000000

24`hffffff

24`h000000

24`h00..

24`hffffff

24`hffffff

24`h00..

24`hffffff

1536`h1e...

240`h90a... 240`h826...

Assert align_clr to Re-Align

Start Reading Data

Based on FIFO Flags

Related Information

Arria 10 Enhanced PCS Architecture

on page 461

For more information about Enhanced PCS architecture

Arria 10 PMA Architecture on page 447

For more information about PMA architecture

Using PLLs and Clock Networks

on page 398

For more information about implementing PLLs and clocks

PLLs on page 349

PLL architecture and implementation details

Resetting Transceiver Channels

on page 416

Reset controller general information and implementation details

Enhanced PCS Ports on page 76

For detailed information about the available ports in the Interlaken protocol

2.5.4. Design Example

Intel provides a PHY layer-only design example to help you integrate an Interlaken

PHY into your complete design.

The TX soft bonding logic is included in the design example. Intel recommends that you integrate this module into your design.

The Interlaken Design Example is available on the Arria 10 Transceiver PHY Design

Examples Wiki page.

Note: The design examples on the Wiki page provide useful guidance for developing your own designs, but they are not guaranteed by Intel. Use them with caution.

Related Information

Interlaken Design Example

Intel ®

106

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.5.5. Native PHY IP Parameter Settings for Interlaken

This section contains the recommended parameter values for this protocol. Refer to

Using the Arria 10 Transceiver Native PHY IP Core for the full range of parameter values.

Table 76.

General and Datapath Parameters

Parameter

Message level for rule violations

Transceiver configuration rules

PMA configuration rules

Transceiver mode

Number of data channels

Data rate

Enable datapath and interface reconfiguration

Enable simplified data interface

Provide separate interface for each channel

Value error warning

Interlaken basic

TX / RX Duplex

TX Simplex

RX Simplex

1 to 96

Up to 17.4 Gbps for GX devices

(Depending on Enhanced PCS to PMA interface width selection)

On / Off

On / Off

On / Off

Table 77.

TX PMA Parameters

Parameter

TX channel bonding mode

PCS TX channel bonding master

Actual PCS TX channel bonding master

TX local clock division factor

Number of TX PLL clock inputs per channel

Initial TX PLL clock input selection

Enable tx_pma_clkout port

Enable tx_pma_div_clkout port tx_pma_div_clkout division factor

Enable tx_pma_elecidle port

Enable tx_pma_qpipullup port (QPI)

Value

Not bonded

PMA-only bonding

PMA and PCS bonding

If TX channel bonding mode is set to PMA and PCS

bonding, then:

Auto, 0, 1, 2, 3 through [Number of data channels – 1]

If TX channel bonding mode is set to PMA and PCS

bonding, then:

0, 1, 2, 3 through [Number of data channels – 1]

If TX channel bonding mode is not bonded, then:

1, 2, 4, 8

If TX channel bonding mode is not bonded, then:

1, 2, 3, 4

0

On / Off

On / Off

When Enable tx_pma_div_clkout port is On, then:

Disabled, 1, 2, 33, 40, 66

On / Off

Off continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

107

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter

Enable tx_pma_qpipulldn port (QPI)

Enable tx_pma_txdetectrx port (QPI)

Enable tx_pma_rxfound port (QPI)

Enable rx_seriallpbken port

Table 78.

RX PMA Parameters

Parameter

Number of CDR reference clocks

Selected CDR reference clock

Selected CDR reference clock frequency

PPM detector threshold

CTLE adaptation mode

DFE adaptation mode

Number of fixed dfe taps

Enable rx_pma_clkout port

Enable rx_pma_div_clkout port rx_pma_div_clkout division factor

Enable rx_pma_clkslip port

Enable rx_pma_qpipulldn port (QPI)

Enable rx_is_lockedtodata port

Enable rx_is_lockedtoref port

Enable rx_set_locktodata and rx_set_locktoref ports

Enable rx_seriallpbken port

Enable PRBS verifier control and status ports

Table 79.

Enhanced PCS Parameters

Parameter

Enhanced PCS / PMA interface width

FPGA fabric / Enhanced PCS interface width

Enable 'Enhanced PCS' low latency mode

Enable RX/TX FIFO double-width mode

TX FIFO mode

TX FIFO partially full threshold

TX FIFO partially empty threshold

Enable tx_enh_fifo_full port

Off

Off

Off

On / Off

Value

On / Off

Off

On / Off

On / Off

On / Off

On / Off

On / Off

Value

1 to 5

0 to 4

Select legal range defined by the Quartus Prime software

100, 300, 500, 1000

manual,

adaptation enabled, manual, disabled

3, 7, 11

On / Off

On / Off

When Enable rx_pma_div_clkout port is On, then:

Disabled, 1, 2, 33, 40, 66

Value

32, 40, 64

67

Allowed when the PMA interface width is 32 and preset variations for data rate is 10.3125 Gbps or 6.25 Gbps; otherwise Off

Off

Interlaken

8 to 15

1 to 8

On / Off continued...

Intel ®

108

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter

Enable tx_enh_fifo_pfull port

Enable tx_enh_fifo_empty port

Enable tx_enh_fifo_pempty port

RX FIFO mode

RX FIFO partially full threshold

On / Off

On / Off

On / Off

Interlaken

Value from 10-29 (no less than pempty_threshold+8)

RX FIFO partially empty threshold 2 to 10

Enable RX FIFO alignment word deletion (Interlaken) On / Off

Enable RX FIFO control word deletion (Interlaken)

Enable rx_enh_data_valid port

On / Off

On / Off

Enable rx_enh_fifo_full port

Enable rx_enh_fifo_pfull port

Enable rx_enh_fifo_empty port

On / Off

On / Off

On / Off

Enable rx_enh_fifo_pempty port

Enable rx_enh_fifo_del port (10GBASE-R)

Enable rx_enh_fifo_insert port (10GBASE-R)

Enable rx_enh_fifo_rd_en port

Enable rx_enh_fifo_align_val port (Interlaken)

Enable rx_enh_fifo_align_clr port (Interlaken)

On / Off

Off

Off

On

On / Off

On

Table 80.

Interlaken Frame Generator Parameters

Parameter

Enable Interlaken frame generator

Frame generator metaframe length

Enable frame generator burst control

Enable tx_enh_frame port

Enable tx_enh_frame_diag_status port

Enable tx_enh_frame_burst_en port

On

On

On

Value

On

5 to 8192 (Intel recommends a minimum metaframe length of 128)

On

Table 81.

Interlaken Frame Synchronizer Parameters

Parameter

Enable Interlaken frame synchronizer

Frame synchronizer metaframe length

Enable rx_enh_frame port

Enable rx_enh_frame_lock port

Enable rx_enh_frame_diag_status port

Value

On

5 to 8192 (Intel recommends a minimum metaframe length of 128)

On

On / Off

On / Off

Intel ® Arria ® 10 Transceiver PHY User Guide

109

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 82.

Interlaken CRC-32 Generator and Checker Parameters

Parameter

Enable Interlaken TX CRC-32 generator

Enable Interlaken TX CRC-32 generator error insertion

Enable Interlaken RX CRC-32 checker

Enable rx_enh_crc32_err port

On

On / Off

On

On / Off

Value

Table 83.

Scrambler and Descrambler Parameters

Parameter

Enable TX scrambler (10GBASE-R / Interlaken)

TX scrambler seed (10GBASE-R / Interlaken)

Enable RX descrambler (10GBASE-R / Interlaken)

Value

On

0x1 to 0x3FFFFFFFFFFFFFF

On

Table 84.

Interlaken Disparity Generator and Checker Parameters

Parameter

Enable Interlaken TX disparity generator

Enable Interlaken RX disparity checker

Enable Interlaken TX random disparity bit

On

On

On / Off

Value

Table 85.

Block Sync Parameters

Parameter

Enable RX block synchronizer

Enable rx_enh_blk_lock port

On

On / Off

Value

Table 86.

Gearbox Parameters

Enable TX data bitslip

Parameter

Enable TX data polarity inversion

Enable RX data bitslip

Enable RX data polarity inversion

Enable tx_enh_bitslip port

Enable rx_bitslip port

Off

On / Off

Off

On / Off

Off

Off

Table 87.

Dynamic Reconfiguration Parameters

Parameter

Enable dynamic reconfiguration

Share reconfiguration interface

Enable Altera Debug Master Endpoint

On / Off

On / Off

On / Off

Value

Value continued...

Intel ®

110

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter

Separate reconfig_waitrequest from the status of

AVMM arbitration with PreSICE

Enable capability registers

Set user-defined IP identifier:

Enable control and status registers

Enable prbs soft accumulators

Table 88.

Configuration Files Parameters

Parameter

Configuration file prefix

Generate SystemVerilog package file

Generate C header file

Generate MIF (Memory Initialization File)

Include PMA analog settings in configuration files

On / Off

On / Off

0 to 255

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

Table 89.

Configuration Profiles Parameters

Parameter

Enable multiple reconfiguration profiles

Enable embedded reconfiguration streamer

Generate reduced reconfiguration files

Number of reconfiguration profiles

Selected reconfiguration profile

On / Off

On / Off

On / Off

1 to 8

1 to 7

Value

Value

Value

Related Information

Using the Arria 10 Transceiver Native PHY IP Core

on page 45

2.6. Ethernet

1G

10G

1G/10G

The Ethernet standard comprises many different PHY standards with variations in signal transmission medium and data rates. The 1G/10GbE and 10GBASE-KR PHY IP

Core enables Ethernet connectivity at 1 Gbps and 10 Gbps over backplanes. The

10GBASE-KR PHY IP is also known as the Backplane Ethernet PHY IP. It includes link training and auto negotiation to support the IEEE Backplane Ethernet standard.

Data Rate

• Gigabit Ethernet

• Gigabit Ethernet 1588

• 10GBASE-R

• 10GBASE-R 1588

• 10GBASE-R with KR FEC

• 10GBASE-KR PHY IP

1G/10G Ethernet PHY IP

Transceiver Configuration Rule/IP

Intel ® Arria ® 10 Transceiver PHY User Guide

111

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.6.1. Gigabit Ethernet (GbE) and GbE with IEEE 1588v2

Gigabit Ethernet (GbE) is a high-speed local area network technology that provides data transfer rates of about 1 Gbps. GbE builds on top of the ethernet protocol, but increases speed tenfold over Fast Ethernet. IEEE 802.3 defines GbE as an intermediate

(or transition) layer that interfaces various physical media with the media access control (MAC) in a Gigabit Ethernet system. Gigabit Ethernet PHY shields the MAC layer from the specific nature of the underlying medium and is divided into three sublayers shown in the following figure.

Figure 42.

GbE PHY Connection to IEEE 802.3 MAC and RS

OSI

Reference

Model

Layers

LAN

CSMA/CD

LAYERS

Higher Layers

LLC (Logical Link Control) or other MAC Client

MAC Control (Optional)

Media Access Control (MAC)

Reconciliation

RECONCILIATION

Application

Presentation

Session

Transport

Network

Data Link

Physical

GMII

MDI

PCS

PMA

PMD

PHY

Sublayers

Medium

1 Gbps

Intel ®

112

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 43.

Transceiver Channel Datapath and Clocking at 1250 Mbps for GbE, GbE with

IEEE 1588v2

Transmitter PMA Transmitter Standard PCS FPGA

Fabric

10 8

PRBS

Generator tx_coreclkin

625 MHz

125 MHz tx_clkout tx_pma_div_clkout

/2

125 MHz tx_clkout

Receiver PMA Receiver Standard PCS

10 8 rx_clkout tx_clkout

PRBS

Verifier

125 MHz rx_coreclkin

625 MHz

Parallel Clock

(Recovered)

125 MHz

Parallel Clock

(From Clock

Divider)

/2 rx_pma_div_clkout

Clock Generation Block (CGB) (5)

Clock Divider rx_clkout or tx_clkout

ATX PLL

CMU PLL fPLL

Parallel Clock

Serial Clock

Parallel and Serial Clock Parallel and Serial Clock

Serial Clock

Notes:

1. This block is set in low latency mode for GbE and register_fifo mode for GbE with IEEE 1588v2.

2. The rate match FIFO of the hard PCS is disabled for GbE with IEEE 1588v2 because it is not able to acheive deterministic latency. It is also disabled for Triple-speed Ethernet (TSE) configurations that require an auto-negotiation sequency.

The insertion/deletion operation could break the auto-negotiation functionality due to the rate matching of different frequency PPM scenarios.The soft rate match FIFO is constructed in the GbE Serial Gigabit Media Independent Interface

(SGMII) IP core.

3. The byte serializer can be enabled or disabled.

4. The byte deserializer can be enabled or disabled.

5. The CGB is in the Native PHY.

Note: The Native PHY only supports basic PCS functions. The Native PHY does not support auto-negotiation state machine, collision-detect, and carrier-sense. If required, you must implement these functions in the FPGA fabric or external circuits.

GbE with IEEE 1588v2

GbE with IEEE 1588v2 provides a standard method to synchronize devices on a network with submicrosecond precision. To improve performance, the protocol synchronizes slave clocks to a master clock so that events and time stamps are synchronized in all devices. The protocol enables heterogeneous systems that include clocks of various inherent precision, resolution, and stability to synchronize to a grandmaster clock.

The TX FIFO and RX FIFO are set to register_fifo mode for GbE with IEEE 1588v2.

Related Information

Triple-Speed Ethernet IP Function User Guide.

For more information about the IEEE 1588v2 implementation in GbE PHY and MAC, and design examples.

2.6.1.1. 8B/10B Encoding for GbE, GbE with IEEE 1588v2

The 8B/10B encoder clocks 8-bit data and 1-bit control identifiers from the transmitter phase compensation FIFO and generates 10-bit encoded data. The 10-bit encoded data is sent to the PMA.

Intel ® Arria ® 10 Transceiver PHY User Guide

113

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Note:

The IEEE 802.3 specification requires GbE to transmit Idle ordered sets (/I/) continuously and repetitively whenever the gigabit media-independent interface

(GMII) is Idle. This transmission ensures that the receiver maintains bit and word synchronization whenever there is no active data to be transmitted.

For the GbE protocol, the transmitter replaces any /Dx.y/ following a /K28.5/ comma with either a /D5.6/ (/I1/ ordered set) or a /D16.2/ (/I2/ ordered set), depending on the current running disparity. The exception is when the data following the /K28.5/ is /

D21.5/ (/C1/ ordered set) or /D2.2/ (/C2/) ordered set. If the running disparity before the /K28.5/ is positive, an /I1/ ordered set is generated. If the running disparity is negative, a /I2/ ordered set is generated. The disparity at the end of a /I1/ is the opposite of that at the beginning of the /I1/. The disparity at the end of a /I2/ is the same as the beginning running disparity immediately preceding transmission of the

Idle code. This sequence ensures a negative running disparity at the end of an Idle ordered set. A /Kx.y/ following a /K28.5/ does not get replaced.

/D14.3/, /D24.0/, and /D15.8/ are replaced by /D5.6/ or /D16.2/ (for I1 and I2 ordered sets). D21.5 (/C1/) is not replaced.

Figure 44.

Idle Ordered-Set Generation Example

Clock (i) tx_datain (i) K28.5

D14.3

K28.5

D24.0

K28.5

D15.8

K28.5

D21.5

Dx.y

tx_dataout (o)

Ordered Set (o)

Dx.y

K28.5

/I1/

D5.6

K28.5

/I2/

D16.2

K28.5

/I2/

D16.2

K28.5

/C1/

D21.5

Legend:

(i) = Input signal

(o) = Output signal

Related Information

8B/10B Encoder

on page 482

2.6.1.1.1. Reset Condition for 8B/10B Encoder in GbE, GbE with IEEE 1588v2

After deassertion of tx_digitalreset

, the transmitters automatically transmit at least three /K28.5/ comma code groups before transmitting user data on the tx_parallel_data

port. This transmission could affect the synchronization state machine behavior at the receiver.

Depending on when you start transmitting the synchronization sequence, there could be an even or odd number of /Dx.y/ code groups transmitted between the last of the three automatically sent /K28.5/ code groups and the first /K28.5/ code group of the synchronization sequence. If there is an even number of /Dx.y/code groups received between these two /K28.5/ code groups, the first /K28.5/ code group of the synchronization sequence begins at an odd code group boundary. The synchronization state machine treats this as an error condition and goes into the loss of synchronization state.

Intel ®

114

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 45.

Reset Condition n clock tx_digitalreset tx_parallel_data K28.5

xxx K28.5

K28.5

K28.5

n + 1 n + 2 n + 3 n + 4

Dx.y

Dx.y

K28.5

Dx.y

K28.5

Dx.y

K28.5

Dx.y

Automatically transmitted /K28.5/ User transmitted synchronization sequence

User transmitted data

2.6.1.2. Word Alignment for GbE, GbE with IEEE 1588v2

The word aligner for the GbE and GbE with IEEE 1588v2 protocols is configured in automatic synchronization state machine mode. The software automatically configures the synchronization state machine to indicate synchronization when the receiver receives three consecutive synchronization ordered sets. A synchronization ordered set is a /K28.5/ code group followed by an odd number of valid /Dx.y/ code groups.

The fastest way for the receiver to achieve synchronization is to receive three continuous {/K28.5/, /Dx.y/} ordered sets.

The GbE PHY IP core signals receiver synchronization status on the rx_syncstatus port of each channel. A high on the rx_syncstatus

port indicates that the lane is synchronized; a low on the rx_syncstatus

port indicates that the lane has fallen out of synchronization. The receiver loses synchronization when it detects three invalid code groups separated by less than three valid code groups or when it is reset.

Table 90.

Synchronization State Machine Parameter Settings for GbE

Synchronization State Machine Parameter

Number of word alignment patterns to achieve sync

Number of invalid data words to lose sync

Number of valid data words to decrement error count

Setting

3

3

3

The following figure shows rx_syncstatus

high when three consecutive ordered sets are sent through rx_parallel_data

.

Intel ® Arria ® 10 Transceiver PHY User Guide

115

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 46.

rx_syncstatus High

Three Consecutive Ordered Sets Received to Achieve Synchronization

rx_parallel_data rx_datak rx_syncstatus bc c5 bc 50 bc 50 8c 8d 00 8c 8d rx_patterndetect rx_disperr rx_errdetect

Related Information

Word Aligner on page 485

2.6.1.3. 8B/10B Decoding for GbE, GbE with IEEE 1588v2

The 8B/10B decoder takes a 10-bit encoded value as input and produces an 8-bit data value and 1-bit control value as output.

Figure 47.

Decoding for GbE

Dx.y(0x8d), Dx.y(0xa4), K28.5(0xbc), and Dx.y(0x50) are received at rx_parallel_data

. /K28.5/ is set as the word alignment pattern. rx_patterndetect

goes high whenever it detects /K28.5/(0xbc). rx_datak

is high when bc is received, indicating that the decoded word is a control word. Otherwise, rx_datak

is low.

rx_runningdisp

is high for 0x8d, indicating that the decoded word has negative disparity and 0xa4 has positive disparity.

rx_datak rx_parallel_data 8d rx_patterndetect a4 bc 50 8d a4 bc 50 8d a4 bc 50 8d a4 bc rx_disperr rx_errdetect rx_runningdisp

Related Information

8B/10B Decoder on page 492

50

Intel ®

116

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.6.1.4. Rate Match FIFO for GbE

The rate match FIFO compensates frequency Part-Per-Million (ppm) differences between the upstream transmitter and the local receiver reference clock up to 125

MHz ± 100 ppm difference.

Note: 200 ppm total is only true if calculated as (125 MHz + 100 ppm) - (125 MHz - 100 ppm) = 200 ppm. By contrast, (125 MHz + 0 ppm) - (125 MHz - 200 ppm) is out of specification.

The GbE protocol requires the transmitter to send idle ordered sets /I1/ (/K28.5/

D5.6/) and /I2/ (/K28.5/D16.2/) during inter-packet gaps (IPG) adhering to the rules listed in the IEEE 802.3-2008 specification.

The rate match operation begins after the synchronization state machine in the word aligner indicates synchronization is acquired by driving the rx_syncstatus

signal high. The rate matcher deletes or inserts both symbols /K28.5/ and /D16.2/ of the /I2/ ordered sets as a pair in the operation to prevent the rate match FIFO from overflowing or underflowing. The rate match operation can insert or delete as many /I2/ ordered sets as necessary.

The following figure shows a rate match deletion operation example where three symbols must be deleted. Because the rate match FIFO can only delete /I2/ ordered sets, it deletes two /I2/ ordered sets (four symbols deleted).

Figure 48.

Rate Match FIFO Deletion

/I2/ SKP Symbol Deleted

First /I2/ Ordered S et S econd /I2/ Ordered S et Third /I2/ Ordered S et datain

Dx .y

K 28 .5

D 16 .2

K 28 .5

D 16 .2

K 28 .5

D 16 .2

Dx .y

dataout Dx .y

K 28 .5

D 16 .2

Dx .y

The following figure shows an example of rate match FIFO insertion in the case where one symbol must be inserted. Because the rate match FIFO can only insert /I2/ ordered sets, it inserts one /I2/ ordered set (two symbols inserted).

Figure 49.

Rate Match FIFO Insertion

First /I2/ Ordered Set Second /I2/ Ordered Set

/I2/ SKP Symbol Inserted dataout Dx .y

K 28 .5

D 16 .2

K 28 .5

D 16 .2

datain

Dx .y

K 28 .5

D 16 .2

K 28 .5

D 16 .2

K 28 .5

D 16 .2

Dx .y

rx_std_rmfifo_full

and rx_std_rmfifo_empty

are forwarded to the FPGA fabric to indicate rate match FIFO full and empty conditions.

The rate match FIFO does not delete code groups to overcome a FIFO full condition. It asserts the rx_std_rmfifo_full

flag for at least two recovered clock cycles to indicate rate match FIFO full. The following figure shows the rate match FIFO full condition when the write pointer is faster than the read pointer.

Intel ® Arria ® 10 Transceiver PHY User Guide

117

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 50.

Rate Match FIFO Full Condition

tx_parallel_data 2D 2E 2F 30 31 32 33 34 35 36 37 38 rx_parallel_data 03 rx_std_rmfifo_full

04 05 06 07 08 09 0A 0B 0C 0D 0E

The rx_std_rmfifo_full status flag indicates that the FIFO is full at this time

The rate match FIFO does not insert code groups to overcome the FIFO empty condition. It asserts the rx_std_rmfifo_empty

flag for at least two recovered clock cycles to indicate that the rate match FIFO is empty. The following figure shows the rate match FIFO empty condition when the read pointer is faster than the write pointer.

Figure 51.

Rate Match FIFO Empty Condition tx_parallel_data 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D rx_parallel_data 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 00 01 02 rx_std_rmfifo_empty

The rx_std_rmfifo_empty status flag indicates that the FIFO is empty at this time

In the case of rate match FIFO full and empty conditions, you must assert the rx_digitalreset

signal to reset the receiver PCS blocks.

Related Information

Rate Match FIFO on page 491

2.6.1.5. How to Implement GbE, GbE with IEEE 1588v2 in Arria 10 Transceivers

You should be familiar with the Standard PCS and PMA architecture, PLL architecture, and the reset controller before implementing the GbE protocol.

1. Instantiate the Arria 10 Transceiver Native PHY IP from the IP Catalog.

Intel ®

118

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Refer to Select and Instantiate the PHY IP Core on page 33.

2. Select GbE or GbE 1588 from the Transceiver configuration rules list located under Datapath Options, depending on which protocol you are implementing.

3. Use the parameter values in the tables in Native PHY IP Parameter Settings for

GbE and GbE with IEEE 1588v2 on page 120 as a starting point. Or, you can use

the protocol presets described in

Transceiver Native PHY Presets . Use the

GIGE-1.25 Gbps preset for GbE, and the GIGE-1.25 Gbps 1588 preset for GbE

1588. You can then modify the setting to meet your specific requirements.

4. Click Generate to generate the Native PHY IP core top-level RTL file.

Figure 52.

Signals and Ports for Native PHY IP Configured for GbE or GbE with IEEE

1588v2

Generating the IP core creates signals and ports based on your parameter settings.

Arria 10 Transceiver Native PHY tx_cal_busy rx_cal_busy

NIOS

Hard Calibration IP

Reconfiguration

Registers reconfig_reset reconfig_clk reconfig_avmm tx_serial_data

TX PMA

Serializer

10

TX Standard PCS tx_datak tx_parallel_data[7:0] tx_coreclkin tx_clkout unused_tx_parallel_data[118:0] tx_digitalreset gmii_tx_ctrl gmii_tx_d[7:0] gmii_tx_clk tx_clkout tx_serial_clk0

(from TX PLL) rx_serial_data rx_cdr_refclk0 rx_is_lockedtodata rx_is_lockedtoref

Local Clock

Generation

Block

RX PMA

Deserializer

CDR

10

RX Standard PCS rx_datak rx_parallel_data[7:0] rx_clkout rx_coreclkin rx_errdetect rx_disperr rx_runningdisp rx_patterndetect rx_syncstatus rx_rmfifostatus unused_rx_parallel_data[111:0] tx_analogreset rx_analogreset rx_digitalreset gmii_rx_ctrl gmii_rx_d[7:0] gmii_rx_clk rx_errdetect rx_disperr rx_runningdisp rx_patterndetect rx_syncstatus rx_rmfifostatus (1)

Note:

1. rx_rmfifostatus is not available in the GbE with 1588 configuration.

5. Instantiate and configure your PLL.

6. Instantiate a transceiver reset controller.

You can use your own reset controller or use the Native PHY Reset Controller IP core.

7. Connect the Native PHY IP to the PLL IP and the reset controller. Use the information in the figure below to connect the ports.

Intel ® Arria ® 10 Transceiver PHY User Guide

119

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 53.

Connection Guidelines for a GbE/GbE with IEEE 1588v2 PHY Design pll_ref_clk reset

Pattern

Generator tx_parallel_data tx_datak tx_clkout tx_serial_data rx_serial_data

PLL pll_locked pll_powerdown (2) rx_ready tx_ready clk pll_cal_busy (1) reset

Reset

Controller tx_digitalreset tx_analogreset rx_digitalreset rx_analogreset rx_is_lockedtodata rx_cal_busy rx_cdr_refclk

Arria 10

Transceiver

Native

PHY reset

Pattern

Checker tx_cal_busy rx_parallel_data rx_datak rx_clkout tx_serial_clk

Note:

1. The pll_cal_busy signal is not available when using the CMU PLL.

2. The pll_powerdown signal is not available separately for user control when using the fPLL.

The reset controller handles PLL reset for the fPLL.

8. Simulate your design to verify its functionality.

Related Information

Arria 10 Standard PCS Architecture

on page 479

For more information about Standard PCS architecture

Arria 10 PMA Architecture on page 447

For more information about PMA architecture

Using PLLs and Clock Networks

on page 398

For more information about implementing PLLs and clocks

PLLs on page 349

PLL architecture and implementation details

Resetting Transceiver Channels

on page 416

Reset controller general information and implementation details

Standard PCS Ports on page 86

Port definitions for the Transceiver Native PHY Standard Datapath

2.6.1.6. Native PHY IP Parameter Settings for GbE and GbE with IEEE 1588v2

This section contains the recommended parameter values for this protocol. Refer to

Using the Arria 10 Transceiver Native PHY IP Core for the full range of parameter values.

Intel ®

120

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 91.

General and Datapath Options

The first two sections of the Native PHY [IP] parameter editor for the Native PHY IP provide a list of general and datapath options to customize the transceiver.

Parameter

Message level for rule violations

Transceiver configuration rules

Transceiver mode

Number of data channels

Data rate

Enable datapath and interface reconfiguration

Enable simplified data interface

Value error warning

GbE (for GbE)

GbE 1588 (for GbE with IEEE 1588v2)

TX/RX Duplex

TX Simplex

RX Simplex

1 to 96

1250 Mbps

On/Off

On/Off

Table 92.

TX PMA Parameters

Parameter

TX channel bonding mode

TX local clock division factor

Number of TX PLL clock inputs per channel

Initial TX PLL clock input selection

Enable tx_pma_clkout port

Enable tx_pma_div_clkout port tx_pma_div_clkout division factor

Enable tx_pma_elecidle port

Enable tx_pma_qpipullup port (QPI)

Enable tx_pma_qpipulldn port (QPI)

Enable tx_pma_txdetectrx port (QPI)

Enable tx_pma_rxfound port (QPI)

Enable rx_seriallpbken port

Value

Not bonded

1, 2, 4, 8

1, 2, 3, 4

0 to 3

On/Off

On/Off

Disabled, 1, 2, 33, 40, 66

On/Off

On/Off

On/Off

On/Off

On/Off

On/Off

Table 93.

RX PMA Parameters

Parameter

Number of CDR reference Clocks

Selected CDR reference clock

Selected CDR reference clock frequency

PPM detector threshold

CTLE adaptation mode

Value

1 to 5

0 to 4

Select legal range defined by the Quartus Prime software

100, 300, 500, 1000 manual continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

121

Parameter

DFE adaptation mode

Number of fixed dfe taps

Enable rx_pma_clkout port

Enable rx_pma_div_clkout port rx_pma_div_clkout division factor

Enable rx_pma_iqtxrx_clkout port

Enable rx_pma_clkslip port

Enable rx_pma_qpipulldn port (QPI)

Enable rx_is_lockedtodata port

Enable rx_is_lockedtoref port

Enable rx_set_locktodata and rx_set_locktoref ports

Enable rx_seriallpbken port

Enable PRBS verifier control and status ports

Table 94.

Standard PCS Parameters

Parameters

Standard PCS / PMA interface width

FPGA fabric / Standard TX PCS interface width

FPGA fabric / Standard RX PCS interface width

Enable Standard PCS low latency mode

TX FIFO mode

RX FIFO mode

Enable tx_std_pcfifo_full port

Enable tx_std_pcfifo_empty port

Enable rx_std_pcfifo_full port

Enable rx_std_pcfifo_empty port

TX byte serializer mode

RX byte deserializer mode

Enable TX 8B/10B encoder

Enable TX 8B/10B disparity control

Enable RX 8B/10B decoder

RX rate match FIFO mode

RX rate match insert / delete -ve pattern (hex)

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Value disabled

N/A

On/Off

On/Off

Disabled, 1, 2, 33, 40, 66

On/Off

On/Off

Off

On/Off

On/Off

On/Off

On/Off

On/Off

Value

10

8

8

Off

low latency (for GbE)

register_fifo (for GbE with IEEE 1588v2)

low latency (for GbE)

register_fifo (for GbE with IEEE 1588v2)

On/Off

On/Off

On/Off

On/Off

Disabled

Disabled

On

On/Off

On

gige (for GbE)

disabled (for GbE with IEEE 1588v2)

0x000ab683

(/K28.5/D2.2/) (for GbE)

0x00000000

(disabled for GbE with IEEE

1588v2) continued...

Intel ®

122

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameters

RX rate match insert / delete +ve pattern (hex)

Enable rx_std_rmfifo_full port

Enable rx_std_rmfifo_empty port

PCI Express Gen3 rate match FIFO mode

Enable TX bit slip

Enable tx_std_bitslipboundarysel port

RX word aligner mode

RX word aligner pattern length

RX word aligner pattern (hex)

Number of word alignment patterns to achieve sync

Number of invalid data words to lose sync

Number of valid data words to decrement error count

Enable fast sync status reporting for deterministic latency SM

Enable rx_std_wa_patternalign port

Enable rx_std_wa_a1a2size port

Enable rx_std_bitslipboundarysel port

Enable rx_bitslip port

Enable TX bit reversal

Enable TX byte reversal

Enable TX polarity inversion

Enable tx_polinv port

Enable RX bit reversal

Enable rx_std_bitrev_ena port

Enable RX byte reversal

Enable rx_std_byterev_ena port

Enable RX polarity inversion

Enable rx_polinv port

Enable rx_std_signaldetect port

All options under PCIe Ports

Related Information

Using the Arria 10 Transceiver Native PHY IP Core

on page 45

Value

0x000a257c

(/K28.5/D16.2/) (for GbE)

0x00000000

(disabled for GbE with IEEE

1588v2)

On/Off

(option disabled for GbE with IEEE 1588v2)

On/Off

(option disabled for GbE with IEEE 1588v2)

Bypass

Off

On/Off

Synchronous state machine

7

0x000000000000007c

(Comma) (for 7-bit aligner pattern length),

0x000000000000017c

(/K28.5/) (for 10-bit aligner pattern length)

On/Off

Off

Off

Off

Off

On/Off

On/Off

On/Off

Off

3

3

3

On/Off

Off

Off

Off

Off

Off

Off

On/Off

Intel ® Arria ® 10 Transceiver PHY User Guide

123

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.6.2. 10GBASE-R, 10GBASE-R with IEEE 1588v2, and 10GBASE-R with

FEC Variants

10GBASE-R PHY is the Ethernet-specific physical layer running at a 10.3125-Gbps data rate as defined in Clause 49 of the IEEE 802.3-2008 specification. Arria 10 transceivers can implement 10GBASE-R variants like 10GBASE-R with IEEE 1588v2, and with forward error correction (FEC).

The 10GBASE-R parallel data interface is the 10 Gigabit Media Independent Interface

(XGMII) that interfaces with the Media Access Control (MAC), which has the optional

Reconciliation Sub-layer (RS).

Figure 54.

10GBASE-R PHY as Part of the IEEE802.3-2008 Open System Interconnection

(OSI)

LAN

CSMA/CD

LAYERS

Higher Layers

Logical Link Control (LLC) or other MAC Client

MAC Control (Optional)

Media Access Control (MAC)

Reconciliation

OSI Reference

Model Layers

Application

Presentation

Session

Transport

Network

Data Link

Physical

10GBASE-R

PHY

To 10GBASE-R PHY

(Point-to-Point Link)

XGMII

10GBASE-R PCS

10GBASE-R FEC (Optional)

PMA

PMD

MDI

Medium

10GBASE-R

(PCS, FEC, PMA, PMD)

Legend

MDI: Medium Dependent Interface

PCS: Physical Coding Sublayer

PHY: Physical Layer Device

PMA: Physical Medium Attachment

PMD: Physical Medium Dependent

FEC: Forwarad Error Correction

XGMII: 10 GB Media Independent Interface

10GBASE-R is a single-channel protocol that runs independently. You can configure the transceivers to implement 10GBASE-R PHY functionality by using the presets of the Native PHY IP. The 10GBASE-R PHY IP is compatible with the 10-Gbps Ethernet

MAC Intel FPGA IP Core Function. The complete PCS and PHY solutions can be used to interface with a third-party PHY MAC layer as well.

Intel ®

124

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

The following 10GBASE-R variants area available from presets:

• 10GBASE-R

• 10GBASE-R Low Latency

• 10GBASE-R Register Mode

• 10GBASE-R w/ KR-FEC

Intel recommends that you use the presets for selecting the suitable 10GBASE-R variants directly if you are configuring through the Native PHY IP core.

Figure 55.

Transceiver Channel Datapath and Clocking for 10GBASE-R

Transmitter PMA Transmitter Enhanced PCS FPGA

Fabric

10.3125 Gbps

40

64

TX

Data &

Control

64 + 8

PRBS

Generator

Parallel Clock

@ 257.8125 MHz (2)

66

PRP

Generator tx_clkout

@ 156.25 MHz from XGMII

KR FEC TX G KR FEC Scr KR FEC Enc

Receiver PMA Receiver Enhanced PCS tx_pma_div_clkout rx_pma_div_clkout

40

66

RX

Data &

Control

64 + 8 64

PRBS

Verifier

Parallel Clock

@ 257.8125 MHz (2)

PRP

Verifier

10GBASE-R

BER Checker rx_clkout

@ 156.25 MHz from XGMII

KR FEC Block S KR FEC Dec

Clock Generation Block (CGB)

Parallel Clock

Serial Clock

Parallel and Serial Clocks

Clock Divider

Parallel and Serial Clocks

ATX PLL fPLL

CMU PLL

Serial Clock

Input Reference Clock

Notes:

1. Value based on the clock division factor chosen.

2. Value calculated as data rate / PCS-PMA interface width.

3. This block is in Phase Compensation mode for the 10GBASE-R configuration and register mode for the 10GBASE-R with 1588 configuration.

4. This block is in 10GBASE-R mode for the 10GBASE-R configuration and register mode for the 10GBASE-R with 1588 configuration.

10GBASE-R with IEEE 1588v2

When choosing the 10GBASE-R PHY with IEEE 1588v2 mode preset, the hard TX and

RX FIFO are set to register mode. The output clock frequency of tx_clkout

and rx_clkout

to the FPGA fabric is based on the PCS-PMA interface width. For example, if the PCS-PMA interface is 40-bit, tx_clkout

and rx_clkout

run at 10.3125

Gbps/40-bit = 257.8125 MHz.

The 10GBASE-R PHY with IEEE 1588v2 creates the soft TX phase compensation FIFO and the RX clock compensation FIFO in the FPGA core so that the effective XGMII data is running at 156.25 MHz interfacing with the MAC layer.

Intel ® Arria ® 10 Transceiver PHY User Guide

125

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

The IEEE 1588 Precision Time Protocol (PTP) is supported by the preset of the Arria 10 transceiver Native PHY that configures 10GBASE-R PHY IP in IEEE-1588v2 mode. PTP is used for precise synchronization of clocks in applications such as:

• Distributed systems in telecommunications

• Power generation and distribution

• Industrial automation

• Robotics

• Data acquisition

• Test equipment

• Measurement

The protocol is applicable to systems communicating by local area networks including, but not limited to, Ethernet. The protocol enables heterogeneous systems that include clocks of various inherent precision, resolution, and stability to synchronize to a grandmaster clock.

Figure 56.

Transceiver Channel Datapath and Clocking for 10GBASE-R with IEEE 1588v2

Transmitter PMA Transmitter Enhanced PCS FPGA

Fabric

40

10.3125 Gbps

Soft Phase

Compensation

FIFO

64 (data) + 8 (control)

64

66 TX XGMII

@ 156.25 MHz

PRBS

Generator

Parallel Clock

@ 257.8125 MHz (2)

PRP

Generator tx_clkout

KR FEC TX G

KR FEC Scr KR FEC Enc

Receiver PMA Receiver Enhanced PCS tx_pma_div_clkout rx_pma_div_clkout

40

66

Soft Clock

Compensation

FIFO

64 (data) + 8 (control)

PRBS

Verifier

Parallel Clock

@ 257.8125 MHz (2)

64

PRP

Verifier

10GBASE-R

BER Checker rx_clkout

RX XGMII

@ 156.25 MHz

KR FEC Block S KR FEC Dec

Clock Generation Block (CGB)

Clock Divider

Parallel and Serial Clocks

ATX PLL fPLL

CMU PLL

Serial Clock

Input Reference Clock

Parallel Clock

Serial Clock

Parallel and Serial Clocks

Notes:

1. Value based on the clock division factor chosen.

2. Value calculated as data rate / PCS-PMA interface width.

10GBASE-R with FEC

Intel ®

126

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Arria 10 10GBASE-R has the optional FEC variant that also targets the 10GBASE-KR

PHY. This provides a coding gain to increase the link budget and BER performance on a broader set of backplane channels as defined in Clause 69. It provides additional margin to account for variations in manufacturing and environment conditions. The additional TX FEC sublayer:

• Receives data from the TX PCS

• Transcodes 64b/66b words

• Performs encoding/framing

• Scrambles and sends the FEC data to the PMA

The RX FEC sublayer:

• Receives data from the PMA

• Performs descrambling

• Achieves FEC framing synchronization

• Decodes and corrects data where necessary and possible

• Recodes 64b/66b words and sends the data to the PCS

The 10GBASE-R with KR FEC protocol is a KR FEC sublayer placed between the PCS and PMA sublayers of the 10GBASE-R physical layer.

Figure 57.

Transceiver Channel Datapath and Clocking for 10GBASE-R with KR FEC

Transmitter PMA Transmitter Enhanced PCS FPGA

Fabric

TX

Data &

Control

64

64

66

64 + 8 tx_hf_clk tx_pma_clk tx_krfec_clk

PRBS

Generator

Parallel Clock (161.1 MHz) (3)

PRP

Generator tx_clkout

@ 156.25 MHz from XGMII

KR FEC TX G

KR FEC Scr KR FEC Enc

KR FEC

Receiver PMA Receiver Enhanced PCS tx_pma_div_clkout rx_pma_div_clkout

64

RX

Data &

Control

64 + 8

@ 156.25 MHz from XGMII rx_rcvd_clk rx_pma_clk

PRBS

Verifier rx_krfec_clk Parallel Clock (161.1 MHz) (3)

PRP

Verifier

10GBASE-R

BER Checker

KR FEC Block S KR FEC Dec

KR FEC

Parallel Clock

Serial Clock

Parallel and Serial Clocks

Notes:

1. Value is based on the clock division factor chosen

2. Value is calculated as data rate/FPGA fabric - PCS interface width

3. Value is calculated as data rate/PCS-PMA interface width

4. For 10GBASE-R with KR FEC, TX FIFO is in phase compensation mode

5. For 10GBASE-R with KR FEC, RX FIFO is in 10GBASE-R mode

Clock Generation Block (CGB)

Clock Divider

Parallel and Serial Clocks tx_serial_clk0

(5156.25 MHz) =

Data rate/2

ATX PLL fPLL

CMU PLL

Serial Clock

Input Reference Clock

The CMU PLL or the ATX PLLs generate the TX high speed serial clock.

rx_clkout

Intel ® Arria ® 10 Transceiver PHY User Guide

127

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 58.

Clock Generation and Distribution for 10GBASE-R with FEC Support

Example using a 64-bit PCS-PMA interface width.

10GBASE-R Hard IP Transceiver Channel

TX

64 Bit Data

8 Bit Control 64

TX PCS TX PMA

10.3125 Gbps

Serial

161.13 MHz

TX PLL pll_ref_clk

644.53125 MHz

RX

64 Bit Data

8 Bit Control

156.25 MHz

RX PCS

64

161.13 MHz

RX PMA

10.3125 Gbps

Serial rx_coreclkin fPLL

8/33

2.6.2.1. The XGMII Clocking Scheme in 10GBASE-R

The XGMII interface, specified by IEEE 802.3-2008, defines the 32-bit data and 4-bit wide control character. These characters are clocked between the MAC/RS and the PCS at both the positive and negative edge (double data rate – DDR) of the 156.25 MHz interface clock.

The transceivers do not support the XGMII interface to the MAC/RS as defined in the

IEEE 802.3-2008 specification. Instead, they support a 64-bit data and 8-bit control single data rate (SDR) interface between the MAC/RS and the PCS.

Intel ®

128

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 59.

XGMII Interface (DDR) and Transceiver Interface (SDR) for 10GBASE-R

Configurations

XGMII Transfer (DDR)

Interface Clock (156.25) MHz

TXD/RXD[31:0]

TXC/RXC[3:0]

Transceiver Interface (SDR)

Interface Clock (156.25) MHz

TXD/RXD[63:0]

TXC/RXC[7:0]

D0

C0

{D1, D0}

{C1, C0}

D1

C1

D2

C2

{D3, D2}

{C3, C2}

D3

C3

D4

C4

{D5, D4}

{C5, C4}

D5

C5

D6

C6

Note: Clause 46 of the IEEE 802.3-2008 specification defines the XGMII interface between the 10GBASE-R PCS and the Ethernet MAC/RS.

The dedicated reference clock input to the variants of the 10GBASE-R PHY can be run at either 322.265625 MHz or 644.53125 MHz.

For 10GBASE-R, you must achieve 0 ppm of the frequency between the read clock of

TX phase compensation FIFO (PCS data) and the write clock of TX phase compensation FIFO (XGMII data in the FPGA fabric). This can be achieved by using the same reference clock as the transceiver dedicated reference clock input as well as the reference clock input for a core PLL (fPLL, for example) to produce the XGMII clock.

The same core PLL can be used to drive the RX XGMII data. This is because the RX clock compensation FIFO is able to handle the frequency PPM difference of ±100 ppm between RX PCS data driven by the RX recovered clock and RX XGMII data.

Note: 10GBASE-R is the single-channel protocol that runs independently. Therefore Intel recommends that you use the presets for selecting the suitable 10GBASE-R variants directly. If it is being configured through the Native PHY IP, the channel bonding option should be disabled. Enabling the channel bonding for multiple channels could degrade the link performance in terms of TX jitter eye and RX jitter tolerance.

2.6.2.1.1. TX FIFO and RX FIFO

In 10GBASE-R configuration, the TX FIFO behaves as a phase compensation FIFO and the RX FIFO behaves as a clock compensation FIFO.

In 10GBASE-R with 1588 configuration, both the TX FIFO and the RX FIFO are used in register mode. The TX phase compensation FIFO and the RX clock compensation FIFO are constructed in the FPGA fabric by the PHY IP automatically.

In 10GBASE-R with KR FEC configuration, you use the TX FIFO in phase compensation mode and the RX FIFO behaves as a clock compensation FIFO.

Related Information

Arria 10 Enhanced PCS Architecture

on page 461

For more information about the Enhanced PCS Architecture

Intel ® Arria ® 10 Transceiver PHY User Guide

129

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.6.2.2. How to Implement 10GBASE-R, 10GBASE-R with IEEE 1588v2, and

10GBASE-R with FEC in Arria 10 Transceivers

You should be familiar with the 10GBASE-R and PMA architecture, PLL architecture, and the reset controller before implementing the 10GBASE-R, 10GBASE-R with IEEE

1588v2, or 10GBASE-R with FEC Transceiver Configuration Rules.

You must design your own MAC and other layers in the FPGA to implement the

10GBASE-R, 10GBASE-R with 1588, or 10GBASE-R with KR FEC Transceiver

Configuration Rule using the Native PHY IP.

1. Instantiate the Arria 10 Transceiver Native PHY IP from the IP Catalog.

Refer to Select and Instantiate the PHY IP Core on page 33 for more details.

2. Select 10GBASE-R, 10GBASE-R 1588, or 10GBASE-R with KR FEC from the

Transceiver configuration rule list located under Datapath Options, depending on which protocol you are implementing.

3. Use the parameter values in the tables in Transceiver Native PHY Parameters for the 10GBASE-R Protocol as a starting point. Or, you can use the protocol presets

described in Transceiver Native PHY Presets

. Select 10GBASE-R Register Mode

for 10GBASE-R with IEEE 1588v2. You can then modify the settings to meet your specific requirements.

4. Click Generate to generate the Native PHY IP core RTL file.

Figure 60.

Signals and Ports of Native PHY IP Core for the 10GBASE-R, 10GBASE-R with

IEEE 1588v2, and 10GBASE-R with FEC

Generating the IP core creates signals and ports based on your parameter settings.

Arria 10 Transceiver Native PHY tx_cal_busy rx_cal_busy tx_serial_data

Nios Hard

Calibration IP

TX PMA

Serializer

Reconfiguration

Registers

TX Enhanced PCS tx_control[17:0] tx_parallel_data[127:0] tx_coreclkin tx_clkout tx_enh_data_valid tx_fifo_flags reconfig_reset reconfig_clk reconfig_avmm tx_digitalreset xgmii_tx_c[7:0] (2) xgmii_tx_d[63:0] (2) xgmii_tx_clk

1’b1 (1) tx_serial_clk0 (from TX PLL)

Clock

Generation

Block rx_serial_data rx_cdr_refclk0 rx_is_lockedtodata rx_is_lockedtoref

CDR

RX PMA

Deserializer

RX Enhanced PCS rx_clkout rx_coreclkin rx_enh_blk_lock rx_enh_highber rx_fifo_flags rx_parallel_data[127:0] rx_control[19:0]

Notes:

1. For 10GBASE-R with 1588 configurations, this signal is user-controlled.

2. For 10GBASE-R with 1588 configurations, this signal is connected from the output of TX FIFO in the FPGA fabric.

5. Instantiate and configure your PLL.

tx_analogreset rx_analogreset rx_digitalreset xgmii_rx_clk

Intel ®

130

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

6. Create a transceiver reset controller. You can use your own reset controller or use the Arria 10 Transceiver Native PHY Reset Controller IP.

7. Connect the Arria 10 Transceiver Native PHY to the PLL IP and the reset controller.

Figure 61.

Connection Guidelines for a 10GBASE-R or 10GBASE-R with FEC PHY Design

PLL IP

Reset

Controller

To MAC/RS through XGMII

Interface

64d + 8c

Arria 10 Transceiver

Native PHY

Medium

Figure 62.

Connection Guidelines for a 10GBASE-R with IEEE 1588v2 PHY Design

To MAC/RS through XGMII

Interface

PLL IP

Reset

Controller

64d + 8c

FIFO in the

FPGA core for TX

Arria 10 Transceiver

Native PHY

Medium

64d + 8c

FIFO in the

FPGA core for RX

8. Simulate your design to verify its functionality.

Related Information

Arria 10 Enhanced PCS Architecture

on page 461

For more information about Enhanced PCS architecture

Arria 10 PMA Architecture on page 447

For more information about PMA architecture

Using PLLs and Clock Networks

on page 398

For more information about implementing PLLs and clocks

PLLs on page 349

PLL architecture and implementation details

Resetting Transceiver Channels

on page 416

Reset controller general information and implementation details

Enhanced PCS Ports on page 76

For detailed information about the available ports in the 10GBASE-R 1588 protocol.

Intel ® Arria ® 10 Transceiver PHY User Guide

131

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.6.2.3. Native PHY IP Parameter Settings for 10GBASE-R, 10GBASE-R with IEEE

1588v2, and 10GBASE-R with FEC

This section contains the recommended parameter values for this protocol. Refer to

Using the Arria 10 Transceiver Native PHY IP Core for the full range of parameter values.

Table 95.

General and Datapath Parameters

The first two sections of the Transceiver Native PHY parameter editor provide a list of general and datapath options to customize the transceiver.

Parameter

Message level for rule violations

Transceiver Configuration Rule

Transceiver mode

Number of data channels

Data rate

Enable datapath and interface reconfiguration

Enable simplified data interface

error, warning

10GBASE-R

10GBASE-R 1588

10GBASE-R with KR FEC

Range

TX / RX Duplex, TX Simplex, RX Simplex

1 to 96

10312.5 Mbps

Off

On

Off

Table 96.

TX PMA Parameters

Parameter

TX channel bonding mode

TX local clock division factor

Number of TX PLL clock inputs per channel

Initial TX PLL clock input selection

Table 97.

RX PMA Parameters

Parameter

Number of CDR reference clocks

Selected CDR reference clock

Selected CDR reference clock frequency (

35 )

PPM detector threshold

CTLE adaptation mode

DFE adaptation mode

Number of fixed DFE taps

Not bonded

1, 2, 4, 8

1, 2, 3, 4

0

Range

Range

1 to 5

0 to 4

156.25 MHz, 322.265625 MHz, and 644.53125 MHz

100, 300, 500, 1000 manual adaptation enabled, manual, disabled

3, 7, 11

(35) The CDR reference clock frequency depends on your design settings. Intel recommends that you verify the link datarates to ensure the CDR locking capability before production.

Intel ®

132

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 98.

Enhanced PCS Parameters

Parameter

Enhanced PCS/PMA interface width

FPGA fabric/Enhanced PCS interface width

Enable Enhanced PCS low latency mode

Enable RX/TX FIFO double-width mode

TX FIFO mode

TX FIFO partially full threshold

TX FIFO partially empty threshold

RX FIFO mode

RX FIFO partially full threshold

RX FIFO partially empty threshold

Range

32, 40, 64

Note: 10GBASE-R with KR-FEC allows 64 only.

66

On

Off

Off

Phase Compensation (10GBASE-R and 10GBASE-R with KR FEC)

Register or Fast register (10GBASE-R with 1588)

11

2

10GBASE-R (10GBASE-R and 10GBASE-R with KR FEC)

Register (10GBASE-R with 1588)

23

2

Table 99.

64B/66B Encoder and Decoder Parameters

Parameter

Enable TX 64B/66B encoder

Enable RX 64B/66B decoder

Enable TX sync header error insertion

On

On

On

Off

Range

Table 100.

Scrambler and Descrambler Parameters

Parameter

Enable TX scrambler (10GBASE-R / Interlaken)

TX scrambler seed (10GBASE-R / Interlaken)

Enable RX descrambler (10GBASE-R / Interlaken)

On

0x03ffffffffffffff

On

Table 101.

Block Sync Parameters

Parameter

Enable RX block synchronizer

Enable rx_enh_blk_lock port

On

On

Off

Table 102.

Gearbox Parameters

Parameter

Enable TX data polarity inversion

Range

Range

Range

Enable RX data polarity inversion

On

Off

On

Off

Intel ® Arria ® 10 Transceiver PHY User Guide

133

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 103.

Dynamic Reconfiguration Parameters

Parameter

Enable dynamic reconfiguration

Share reconfiguration interface

Enable Altera Debug Master Endpoint

De-couple reconfig_waitrequest from calibration

On

Off

On

Off

On

Off

On

Off

Table 104.

Configuration Files Parameters

Parameter

Configuration file prefix

Generate SystemVerilog package file

Generate C header file

Generate MIF (Memory Initialization File)

On

Off

On

Off

On

Off

Table 105.

Generation Options Parameters

Parameter

Generate parameter documentation file On

Off

Range

Range

Range

Related Information

Using the Arria 10 Transceiver Native PHY IP Core

on page 45

2.6.2.4. Native PHY IP Ports for 10GBASE-R and 10GBASE-R with IEEE 1588v2

Transceiver Configurations

Figure 63.

High BER

This figure shows the rx_enh_highber

status signal going high when there are errors on the rx_parallel_data

output.

rx_parallel_data rx_control tx_parallel_data tx_control rx_enh_highber

1122334455667788h

0h

1122324455667788h 112233405566F788h

00h

1122334455667788h

00h

1122334455667788h

1h

Intel ®

134

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 64.

Block Lock Assertion

This figure shows the assertion on rx_enh_blk_lock

signal when the Receiver detects the block delineation.

rx_parallel_data rx_control tx_parallel_data tx_control rx_enh_highber

0100009C0100009Ch

11h

0h

0707070707070707h

FFh

1h

0707070707070707h

FFh rx_ready rx_enh_block_lock 0h 1h

The following figures show Idle insertion and deletion.

Figure 65.

IDLE Word Insertion

This figure shows the insertion of IDLE words in the receiver data stream.

Before Insertion rx_parallel_data[79:0] FD000000000004AEh BBBBBB9CDDDDDD9Ch 00000000000000FBh rx_parallel_data[79:0]

After Insertion

FD000000000004AEh BBBBBB9CDDDDDD9Ch 0707070707070707h

AAAAAAAAAAAAAAAAh

00000000000000FBh

Idle Inserted

Figure 66.

IDLE Word Deletion

This figure shows the deletion of IDLE words from the receiver data stream.

Before Deletion rx_parallel_data[79:0] 00000000000004ADh 00000000000004AEh 0707070707FD0000h rx_parallel_data[79:0]

After Deletion

00000000000004ADh 00000000000004AEh 0707070707FD0000h

Idle Deleted

Figure 67.

OS Word Deletion

This figure shows the deletion of Ordered set word in the receiver data stream.

Before Deletion rx_parallel_data[79:0] FD000000000004AEh DDDDDD9CDDDDDD9Ch 00000000000000FBh rx_parallel_data[79:0]

After Deletion

FD000000000004AEh 000000FBDDDDDD9Ch AAAAAAAA00000000h

OS Deleted

000000FB07070707h

AAAAAAAA000000FBh

AAAAAAAAAAAAAAAAh

00000000AAAAAAAAh

2.6.3. 10GBASE-KR PHY IP Core

The 10GBASE-KR Ethernet PHY IP core supports the following features of Ethernet standards:

• Auto negotiation for backplane Ethernet as defined in Clause 73 of the IEEE 802.3

2008 Standard. The 10GBASE-KR Ethernet PHY IP Function can auto negotiate between 1000BASE-X, 1000BASE-KR , and 1000BASE-KR with FEC.

• 10GBASE-KR Ethernet protocol with link training as defined in Clause 72 of the

IEEE 802.3 2008 Standard. In addition to the link-partner TX tuning as defined in

Clause 72, this PHY also automatically configures the local device RX interface to achieve less than 10 -12 bit error rate (BER) target.

• Gigabit Media Independent Interface (GMII) to connect PHY with media access control (MAC) as defined in Clause 35 of the IEEE 802.3 2008 Standard

• Forward Error Correction (FEC) as defined in Clause 74 of the IEEE 802.3 2008

Standard

Intel ® Arria ® 10 Transceiver PHY User Guide

135

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

The Backplane Ethernet 10GBASE-KR PHY IP core includes the following new modules to enable operation over a backplane:

• Link Training (LT)— The LT mechanism allows the 10GBASE-KR PHY to automatically configure the link-partner TX PMDs for the lowest Bit Error Rate

(BER). LT is defined in Clause 72 of IEEE Std 802.3ap-2007.

• Auto negotiation (AN)—The 10GBASE-KR PHY IP core can auto-negotiate between

1000BASE-KX (1GbE) and 10GBASE-KR (10GbE) PHY types. The AN function is mandatory for Backplane Ethernet. It is defined in Clause 73 of the IEEE Std

802.3ap-2007.

• Forward Error Correction (FEC)—FEC function is an optional feature defined in

Clause 74 of IEEE 802.3ap-2007. It provides an error detection and correction mechanism.

Related Information

• IEEE Std 802.3ap-2008 Standard

• Standard for a Precision Clock Synchronization Protocol for Networked

Measurement and Control Systems

2.6.3.1. 10GBASE-KR PHY Release Information

Table 106.

10GBASE-KR PHY Release Information

Version

Release Date

Ordering Codes

Product ID

Vendor ID

Item Description

16.0

May 2016

IP-10GBASEKRPHY (IP)

IPR-10GBASEKRPHY (Renewal)

0106

6AF7

2.6.3.2. 10GBASE-KR PHY Performance and Resource Utilization

This topic provides performance and resource utilization for the IP.

The following table shows the typical expected resource utilization for selected configurations using the Quartus Prime software v15.1 for Arria 10 devices. The numbers of ALMs and logic registers are rounded up to the nearest 100.

Table 107.

10GBASE-KR PHY Performance and Resource Utilization

Variant

10GBASE-KR PHY

10GBASE-KR PHY with FEC

2400

2400

ALMs

3750

3750

ALUTs Registers

3100

3100

1

1

M20K

2.6.3.3. 10GBASE-KR Functional Description

The following figure shows the supporting components inside the 10GBASE-KR PHY IP core.

Intel ®

136

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 68.

10GBASE-KR PHY IP Core Block Diagram

10GBASE-KR PHY IP

Avalon-MM

Nios II Sequencer

Interface

XGMII_TX_CLK

8 + 2

TX_GMII_DATA

GbE

PCS

1588

FIFO

64 + 8

TX_XGMII_DATA

Auto-Negotiation

Clause 73

64 + 8

Link Training

Clause 72

32

Nios II LT Interface

TX_PMA_CLKOUT

RX_XGMII_DATA

64 + 8

64 + 8

1588

FIFO

Note:

Register

Access

HSSI Reconfiguration

Requests

Registers

Native PHY

Standard TX PCS tx_pld_clk tx_pma_clk

Enhanced TX PCS tx_pld_clk tx_pma_clk

40/32

TX PMA

Standard RX PCS rx_pld_clk rx_pma_clk

Enhanced RX PCS rx_pld_clk rx_pma_clk

Divide by 33/1/2

40/32

RX PMA

XGMII_RX_CLK

RX_GMII_DATA

Soft Logic

8 + 2

Hard Logic

GbE

PCS

Unused

The 10GBASE-KR PHY IP core does not support backplane applications with IEEE 1588

Precision Time Protocol.

The 10GBASE-KR PHY IP core includes the following components:

Standard and Enhanced PCS Datapaths

The Enhanced PCS and PMA inside the Native PHY are configured to be the 10GBASE-

R PHY. Refer to the Standard PCS and Enhanced PCS architecture chapters for more details on how these blocks support 1G, 10G protocols and FEC.

Auto Negotiation, IEEE 802.3 Clause 73

The auto negotiation (AN) is needed to synchronize the start time of the link training on both sides of the link partners. This ensures that the link training can be done effectively within the 500 ms of the specified time frame as required.

Link Training (LT), IEEE 802.3 Clause 72

Arria 10 devices have soft link training IP that complies with the IEEE 802.3 Clause 72 standard training procedure. This IP includes:

• training frame lock that is different from the regular 64b/66b frame_lock

• training frame generation

• the control channel codec

• Local Device (LD) coefficient update

• Link Partner (LP) coefficient generation

Intel ® Arria ® 10 Transceiver PHY User Guide

137

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Reconfiguration Block

The Reconfiguration Block performs Avalon-MM writes to the PHY for both PCS and

PMA reconfiguration. The Avalon-MM master accepts requests from the PMA or PCS controller. It performs the Read-Modify-Write or Write commands on the Avalon-MM interface. The PCS controller receives rate change requests from the Sequencer and translates them to a series of Read-Modify-Write or Write commands to the PMA and

PCS.

Eight compile-time configuration modes are supported. The configuration modes include one set of four with reference clock at 322 MHz and one set of four with reference clock at 644 MHz. Each set of four consists of all combinations of FEC sublayer on/off.

Figure 69.

Reconfiguration Block Details

MGMT_CLK

(2) rcfg_data

PCS

Reconfiguration

Interface

PCS

Controller rcfg_data rcfg_data rcfg_data

(1)

Avalon-MM Bus

Avalon-MM Bus

PMA Controller

TX EQ Controller

DFE Controller

CTLE Controller

Avalon-MM Bus

Avalon-MM reconfig_busy Signal

Avalon-MM

Decoder

HSSI

Reconfiguration

Requests

PMA

Reconfiguration

Interface

Notes:

1. rcfg = Reconfiguration

2. MGMT_CLK = Management Clock

Related Information

Arria 10 Enhanced PCS Architecture

on page 461

Arria 10 Standard PCS Architecture

on page 479

2.6.3.4. Parameterizing the 10GBASE-KR PHY

This section contains the recommended parameter values for this protocol. Refer to

Using the Arria 10 Transceiver Native PHY IP Core for the full range of parameter values.

The Arria 10 1G/10GbE and 10GBASE-KR PHY IP core allows you to select either the

Backplane-KR or 1Gb/10Gb Ethernet variant. When you select the Backplane-KR variant, the Link Training (LT) and Auto Negotiation (AN) tabs appear. The 1Gb/

10Gb Ethernet variant (1G/10GbE) does not implement the LT and AN functions.

Complete the following steps to parameterize the 10GBASE-KR PHY IP core in the parameter editor:

1. Instantiate the Arria 10 1G/10GbE and 10GBASE-KR PHY from the IP Catalog.

Intel ®

138

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Note:

Refer to Select and Instantiate the PHY IP Core on page 33.

2. Select Backplane-KR from the IP variant list located under Ethernet Intel

FPGA IP Core Type.

3. Use the parameter values in the tables in 10GBASE-R Parameters on page 140,

10GBASE-KR Auto-Negotiation and Link Training Parameters

on page 140, and

10GBASE-KR Optional Parameters on page 141 as a starting point. You can then

modify the setting to meet your specific requirements.

4. Click Generate HDL to generate the 10GBASE-KR PHY IP core top-level HDL file.

You might observe timing violations. If the timing path is within the IP, you can ignore these violations. This will be fixed in a future release of the Intel Quartus Prime software.

Related Information

Using the Arria 10 Transceiver Native PHY IP Core

on page 45

10GBASE-KR Auto-Negotiation and Link Training Parameters

on page 140

2.6.3.4.1. General Options

The General Options allow you to specify options common to 10GBASE-KR mode.

Table 108.

General Options Parameters

Parameter Name

Enable internal PCS reconfiguration logic

On

Off

Options

Enable IEEE 1588 Precision

Time Protocol

Enable M20K block ECC protection

Enable tx_pma_clkout port

Enable rx_pma_clkout port

Enable tx_divclk port

Enable rx_divclk port

Enable tx_clkout port

On

Off

On

Off

On

Off

On

Off

On

Off

On

Off

On

Off

Description

This parameter is only an option when set to 0, it does not include the reconfiguration module or expose the start_pcs_reconfig between 1G and 10G modes.

or

SYNTH_SEQ rc_busy

= 0. When

ports. When set to 1, it provides a simple interface to initiate reconfiguration

When you turn on this parameter, you enable the IEEE 1588

Precision Time Protocol logic for both 1G and 10G modes.

When you turn on this parameter, you enable error correction code (ECC) support on the embedded Nios CPU system. This parameter is only valid for the backplane variant.

When you turn on this parameter, the more information about this port.

tx_pma_clkout

port is enabled. Refer to the Clock and Reset Interfaces section for

When you turn on this parameter, the more information about this port.

rx_pma_clkout

port is enabled. Refer to the Clock and Reset Interfaces section for

When you turn on this parameter, the more information about this port.

tx_divclk

port is enabled. Refer to the Clock and Reset Interfaces section for

When you turn on this parameter, the more information about this port.

rx_divclk

port is enabled. Refer to the Clock and Reset Interfaces section for

When you turn on this parameter, the more information about this port.

tx_clkout

port is enabled. Refer to the Clock and Reset Interfaces section for continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

139

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter Name

Enable rx_clkout port

Enable Hard PRBS support and ADME support

Reference clock frequency

Enable additional control and status ports

Include FEC sublayer

Set

FEC_ability

bit on power up and reset

Set

FEC_Enable

bit on power up and reset

On

Off

On

Off

644.53125 MHz

322.265625 MHz

On

Off

On

Off

On

Off

On

Off

Options Description

When you turn on this parameter, the more information about this port.

rx_clkout

port is enabled. Refer to the Clock and Reset Interfaces section for

When you turn on this parameter, you enable the ADME and

Hard PRBS data generation and checking logic in the Native PHY.

The transceiver toolkit (TTK) requires ADME to be enabled in the

Native PHY IP core.

Specifies the input reference clock frequency. The default is

322.265625 MHz.

When you turn this option on, the core includes the rx_block_lock

and rx_hi_ber

output.

When you turn on this parameter, the core includes logic to implement FEC and a soft 10GBASE-R PCS. This is applicable only for the 10G mode.

When you turn on this parameter, the core sets the

Assert KR

FEC Ability

bit (0xB0[16]) FEC ability bit during power up and reset, causing the core to assert the FEC ability. This option is required for FEC functionality.

When you turn on this parameter, the core sets the

KR FEC

Request

bit (

0xB0[18]

) during power up and reset, causing the core to request the FEC ability during Auto Negotiation. This option is required for FEC functionality.

Related Information

Clock and Reset Interfaces on page 143

2.6.3.4.2. 10GBASE-R Parameters

The 10GBASE-R parameters specify basic features of the 10GBASE-R PCS. The FEC options also allow you to specify the FEC ability.

Table 109.

10GBASE-R Parameters

Parameter Name

10GbE Reference clock frequency

Enable additional control and status ports

Options

644.53125 MHz

322.265625 MHz

On

Off

Description

Specifies the input reference clock frequency. The default is

322.265625 MHz.

When you turn on this parameter, the core includes the rx_block_lock

and rx_hi_ber

ports.

Table 110.

FEC Options

Parameter Name

Include FEC sublayer On

Off

Options Description

When you turn on this parameter, the core includes logic to implement FEC and a soft 10GBASE-R PCS.

2.6.3.4.3. 10GBASE-KR Auto-Negotiation and Link Training Parameters

Table 111.

Auto Negotiation and Link Training Settings

Name

Enable Auto-Negotiation On

Range Description

Enables or disables the Auto-Negotiation feature.

continued...

Intel ®

140

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Name

Pause ability-C0

Pause ability-C1

Off

On

Off

Range

On

Off

Description

Depends upon MAC. Local device pause capability C2:0 = D12:10 of

AN word.

C0 is the same as PAUSE.

Depends upon MAC. Local device pause capability C2:0 = D12:10 of

AN word.

C1 is the same as ASM_DIR.

Enables or disables the Link Training feature.

Enable Link Training

Maximum bit error count

Number of frames to send before sending actual data

On

Off

15, 31, 63,

127, 255,

511, 1023

127, 255

Specifies the number of bit errors for the error counter expected during each step of the link training. If the number of errors exceeds this number for each step, the core returns an error. The number of errors depends upon the amount of time for each step and the quality of the physical link media.

The default value is 511.

This timer is started when the local receiver is trained and detects that the remote receiver is ready to receive data. The local physical medium dependent (PMD) layer delivers local receiver state.

wait_timer

additional training frames to ensure that the link partner correctly detects the

The default value is 127.

2.6.3.4.4. 10GBASE-KR Optional Parameters

Table 112.

Optional Parameters

In the following table, the exact correspondence between numerical values and voltages is pending characterization of the Native PHY.

Value Name

PHY Management clock

(MGMT_CLK) frequency in

MHz

100-162

0-31

Description

Determines the value of the Link Fail Inhibit timer in IEEE 802.3

clause 73.10.2.

• 500 - 510 ms for BASE-R

• 40 – 50 ms for GbE, XAUI

The default value is 125.

Specifies the maximum V

OD

. The default value is 30.

VMAXRULE VOD tap MAX

Rule

VMINRULE Device VMIN

Rule

VODMINRULE VOD tap

MIN Rule

VPOSTRULE

0-31

0-31

0-38

Specifies the minimum V

OD

. The default value is 6.

Specifies the minimum V

OD

for the first tap. The default value is 14.

VPRERULE

PREMAINVAL Preset VOD tap Value

PREPOSTVAL

0-31

0-31

0-31

Specifies the maximum value that the internal algorithm for preemphasis tests in determining the optimum post-tap setting. The default value is 25.

Specifies the maximum value that the internal algorithm for preemphasis will ever test in determining the optimum pre-tap setting.

The default value is 16.

Specifies the Preset V

OD

value. This value is set by the Preset command of the link training protocol, defined in Clause

72.6.10.2.3.1 of the Link Training protocol. This is the value from which the algorithm starts. The default value is 30.

Specifies the preset Post-tap value. The default value is 0.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

141

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Name

PREPREVAL

INITMAINVAL Init VOD tap Value

0-15

0-31

Value Description

Specifies the preset Pre-tap value. The default value is 0.

Specifies the initial V

OD

value. This value is set by the Initialize command of the link training protocol, defined in Clause

72.6.10.2.3.2 of IEEE Std 802.3ap–2007. The default value is 25.

Specifies the initial Post-tap value. The default value is 13.

INITPOSTVAL Init Post tap Value

INITPREVAL Init Pre tap

Value

0-38

0-15

Specifies the initial Pre-tap value. The default value is 3.

2.6.3.4.5. Speed Detection Parameters

Selecting the speed detection option gives the PHY the ability to detect to link partners that support 1G/10GbE but have disabled Auto-Negotiation. During Auto-Negotiation, if AN cannot detect Differential Manchester Encoding (DME) pages from a link partner, the Sequencer reconfigures to 1GbE and 10GbE modes (Speed/Parallel detection) until it detects a valid 1G or 10GbE pattern.

Table 113.

Speed Detection

Parameter Name

Enable automatic speed detection

On

Off

Options

Avalon-MM clock frequency

Link fail inhibit time for

10Gb Ethernet

Link fail inhibit time for

1Gb Ethernet

Enable PCS-Mode port

100-162 MHz

504 ms

40-50 ms

On

Off

Description

When you turn this option On, the core includes the Sequencer block that sends reconfiguration requests to detect 1G or 10GbE when the Auto Negotiation block is not able to detect AN data.

Specifies the clock frequency for phy_mgmt_clk

.

Specifies the time before link_status

is set to FAIL or OK. A link fails if the link_fail_inhibit_time

has expired before link_status

is set to OK. The legal range is 500-510 ms. For more information, refer to "Clause 73 Auto Negotiation for

Backplane Ethernet" in IEEE Std 802.3ap-2007.

Specifies the time before

link_status

is set to FAIL or OK . A link fails if the link_fail_inhibit_time

has expired before link_status

is set to OK. The legal range is 40-50 ms.

Enables or disables the PCS-Mode port.

Intel ®

142

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.6.3.5. 10GBASE-KR PHY Interfaces

Figure 70.

10GBASE-KR Top-Level Signals

XGMII

Interfaces xgmii_tx_dc[71:0] xgmii_tx_clk xgmii_rx_dc[71:0] xgmii_rx_clk

10GBASE-KR Top-Level Ports

Avalon-MM PHY

Management

Interface mgmt_clk mgmt_clk_reset mgmt_address[10:0] mgmt_writedata[31:0] mgmt_readdata[31:0] mgmt_write mgmt_read mgmt_waitrequest rx_serial_data tx_serial_data rx_block_lock rx_hi_ber rx_is_lockedtodata tx_cal_busy rx_cal_busy rx_syncstatus lcl_rf rx_clkslip rx_latency_adj_10g[11:0] tx_latency_adj_10g[11:0] rx_data_ready

Clocks and

Reset

Interface tx_serial_clk_10g rx_cdr_ref_clk_10g tx_pma_clkout rx_pma_clkout tx_clkout rx_clkout tx_pma_div_clkout rx_pma_div_clkout tx_analogreset tx_digitalreset rx_analogreset rx_digitalreset usr_seq_reset

Transceiver

Serial Data

Status

The block diagram shown in the GUI labels the external pins with the interface type and places the interface name inside the box. The interface type and name are used in the _hw.tcl file. If you turn on Show signals, the block diagram displays all toplevel signal names.

Related Information

Component Interface Tcl Reference

For more information about _hw.tcl files

2.6.3.5.1. Clock and Reset Interfaces

Table 114.

Clock and Reset Signals

Signal Name tx_serial_clk_10g

Direction

Input tx_serial_clk_1g rx_cdr_ref_clk_10g rx_cdr_ref_clk_1g

Input

Input

Input

Description

High speed clock from the 10G PLL to drive 10G PHY TX PMA. The frequency of this clock is 5.15625 GHz.

High speed clock from 1G PLL to drive the 1G PHY TX PMA. This clock is not required if GbE is not used. The frequency of this clock is 625

MHz.

10G PHY RX PLL reference clock. This clock frequency can be

644.53125 MHz or 322.2656 MHz.

1G PHY RX PLL reference clock. The frequency is 125 MHz. This clock is only required if 1G is enabled.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

143

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Signal Name tx_pma_clkout rx_pma_clkout tx_clkout rx_clkout tx_pma_div_clkout rx_pma_div_clkout tx_analogreset tx_digitalreset rx_analogreset rx_digitalreset usr_seq_reset

Direction

Output

Output

Output

Output

Output

Output

Input

Input

Input

Input

Input

Description

Clock used to drive the 10G TX PCS and 1G TX PCS parallel data. For example, when the hard PCS is reconfigured to the 10G mode without FEC enabled, the frequency is 257.81 MHz. The frequency is

161.13 MHz for 10G with FEC enabled.

Clock used to drive the 10G RX PCS and 1G RX PCS parallel data. For example, when the hard PCS is reconfigured to the 10G mode without FEC enabled, the frequency is 257.81 MHz. The frequency is

161.13 MHz for 10G with FEC enabled.

XGMII/GMII TX clock for the TX parallel data source interface. This clock frequency is 257.81 MHz in 10G mode, and 161.13 MHz with

FEC enabled.

XGMII RX clock for the RX parallel data source interface. This clock frequency is 257.81 in 10G mode, and 161.13 MHz with FEC enabled.

The divided 33 clock from the TX serializer. You can use this clock for the for xgmii_tx_clk enable FEC.

or xgmii_rx_clk

. The frequency is 156.25

MHz for 10G. The frequencies are the same whether or not you

The divided 33 clock from CDR recovered clock. The frequency is

156.25 MHz for 10G. The frequencies are the same whether or not you enable FEC. This clock is not used for clocking the 10G RX datapath.

Resets the analog TX portion of the transceiver PHY. Synchronous to mgmt_clk

.

Resets the digital TX portion of the transceiver PHY. Synchronous to mgmt_clk

.

Resets the analog RX portion of the transceiver PHY. Synchronous to mgmt_clk

.

Resets the digital RX portion of the transceiver PHY. Synchronous to mgmt_clk

.

Resets the sequencer. Initiates a PCS reconfiguration, and may restart AN, LT or both if these modes are enabled. Synchronous to mgmt_clk

.

Related Information

Input Reference Clock Sources on page 372

PLLs on page 349

2.6.3.5.2. Data Interfaces

Table 115.

XGMII Signals

The MAC drives the TX XGMII signals to the 10GbE PHY. The 10GbE PHY drives the RX XGMII signals to the

MAC.

Signal Name Direction xgmii_tx_dc[71:0

] xgmii_tx_clk

Input

Input

Clock Domain

10GbE XGMII Data Interface

Synchronous to xgmii_tx_clk

Description

XGMII data and control for 8 lanes. Each lane consists of 8 bits of data and 1 bit of control.

Clock signal Clock for single data rate (SDR) XGMII TX interface to the

MAC. It should connect to connected to the xgmii_rx_clk

. This clock can be tx_div_clkout

; however, Intel continued...

Intel ®

144

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Signal Name Direction xgmii_rx_dc[71:0

]

Output xgmii_rx_clk

Input

Clock Domain

Synchronous to xgmii_rx_clk

Clock signal

Description recommends that you connect it to a PLL for use with the

Triple Speed Ethernet IP function. The frequency is 125 MHz for 1G and 156.25 MHz for 10G. This clock is driven from the

MAC.

The frequencies are the same whether or not you enable FEC.

RX XGMII data and control for 8 lanes. Each lane consists of 8 bits of data and 1 bit of control.

Clock for SDR XGMII RX interface to the MAC. This clock can be connected to the tx_div_clkout

; however, Intel recommends that you connect it to a PLL for use with the

Triple Speed Ethernet IP function. The frequency is 125 MHz for 1G and 156.25 MHz for 10G. This clock is driven from the

MAC.

The frequencies are the same whether or not you enable FEC.

2.6.3.5.3. XGMII Mapping to Standard SDR XGMII Data

Table 116.

TX XGMII Mapping to Standard SDR XGMII Interface

The 72-bit TX XGMII data bus format is different than the standard SDR XGMII interface. This table shows the mapping of this non-standard format to the standard SDR XGMII interface.

Signal Name SDR XGMII Signal Name xgmii_tx_dc[7:0] xgmii_tx_dc[8] xgmii_tx_dc[16:9] xgmii_tx_dc[17] xgmii_tx_dc[25:18] xgmii_tx_dc[26] xgmii_tx_dc[34:27] xgmii_tx_dc[35] xgmii_tx_dc[43:36] xgmii_tx_dc[44] xgmii_tx_dc[52:45] xgmii_tx_dc[53] xgmii_tx_dc[61:54] xgmii_tx_dc[62] xgmii_tx_dc[70:63] xgmii_tx_dc[71] xgmii_sdr_data[7:0] xgmii_sdr_ctrl[0] xgmii_sdr_data[15:8] xgmii_sdr_ctrl[1] xgmii_sdr_data[23:16] xgmii_sdr_ctrl[2] xgmii_sdr_data[31:24] xgmii_sdr_ctrl[3] xgmii_sdr_data[39:32] xgmii_sdr_ctrl[4] xgmii_sdr_data[47:40] xgmii_sdr_ctrl[5] xgmii_sdr_data[55:48] xgmii_sdr_ctrl[6] xgmii_sdr_data[63:56] xgmii_sdr_ctrl[7]

Description

Lane 0 data

Lane 0 control

Lane 1 data

Lane 1 control

Lane 2 data

Lane 2 control

Lane 3 data

Lane 3 control

Lane 4 data

Lane 4 control

Lane 5 data

Lane 5 control

Lane 6 data

Lane 6 control

Lane 7 data

Lane 7 control

Intel ® Arria ® 10 Transceiver PHY User Guide

145

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 117.

RX XGMII Mapping to Standard SDR XGMII Interface

The 72-bit RX XGMII data bus format is different from the standard SDR XGMII interface. This table shows the mapping of this non-standard format to the standard SDR XGMII interface.

Signal Name XGMII Signal Name xgmii_rx_dc[7:0] xgmii_rx_dc[8] xgmii_rx_dc[16:9] xgmii_rx_dc[17] xgmii_rx_dc[25:18] xgmii_sdr_data[7:0] xgmii_sdr_ctrl[0] xgmii_sdr_data[15:8] xgmii_sdr_ctrl[1] xgmii_sdr_data[23:16]

Description

Lane 0 data

Lane 0 control

Lane 1 data

Lane 1 control

Lane 2 data xgmii_rx_dc[26] xgmii_rx_dc[34:27] xgmii_rx_dc[35] xgmii_rx_dc[43:36] xgmii_rx_dc[44] xgmii_rx_dc[52:45] xgmii_rx_dc[53] xgmii_rx_dc[61:54] xgmii_rx_dc[62] xgmii_rx_dc[70:63] xgmii_rx_dc[71] xgmii_sdr_ctrl[2] xgmii_sdr_data[31:24] xgmii_sdr_ctrl[3] xgmii_sdr_data[39:32] xgmii_sdr_ctrl[4] xgmii_sdr_data[47:40] xgmii_sdr_ctrl[5] xgmii_sdr_data[55:48] xgmii_sdr_ctrl[6] xgmii_sdr_data[63:56] xgmii_sdr_ctrl[7]

Lane 2 control

Lane 3 data

Lane 3 control

Lane 4 data

Lane 4 control

Lane 5 data

Lane 5 control

Lane 6 data

Lane 6 control

Lane 7 data

Lane 7 control

2.6.3.5.4. Serial Data Interface

Table 118.

Serial Data Signals

Signal Name rx_serial_data tx_serial_data

Direction

Input

Output

2.6.3.5.5. Control and Status Interfaces

Table 119.

Control and Status Signals

Signal Name led_link led_disp_err

Direction

Output

Output

Clock Domain

Synchronous to tx_clkout

Synchronous to rx_clkout led_an

Output Synchronous to rx_clkout

Description

RX serial input data

TX serial output data

Description

When asserted, indicates successful link synchronization.

Disparity error signal indicating a 10-bit running disparity error. Asserted for one

rx_clkout_1g

cycle when a disparity error is detected. A running disparity error indicates that more than the previous and perhaps the current received group had an error.

Clause 37 Auto-negotiation status. The PCS function asserts this signal when auto-negotiation completes.

continued...

Intel ®

146

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Signal Name led_panel_link rx_block_lock

Output rx_hi_ber

Output rx_is_lockedtodat a

Output tx_cal_busy

Output rx_cal_busy

Output tx_pcfifo_error_1 g

Output rx_pcfifo_error_1 g

Output lcl_rf

Input rx_clkslip rx_data_ready

Direction

Output

Input

Output rx_latency_adj_10 g[15:0]

Output

Clock Domain

Synchronous to mgmt_clk

Description

When asserted, this signal indicates the following behavior:

Mode

1000 Base-X without Autonegotiation

SGMII mode without Autonegotiation

1000 Base-X with Autonegotiation

SGMII mode with MAC mode Auto-negotiation

Behavior

When asserted, indicates successful link synchronization.

When asserted, indicates successful link synchronization.

Clause 37 Auto-negotiation status. The PCS function asserts this signal when auto-negotiation completes.

Clause 37 Auto-negotiation status. The PCS function asserts this signal when auto-negotiation completes.

Synchronous to rx_clkout

Synchronous to rx_clkout

Asynchronous signal

Synchronous to mgmt_clk

Synchronous to mgmt_clk

N/A

N/A

Synchronous to xgmii_tx_clk

Asynchronous signal

Synchronous to xgmii_rx_clk

Synchronous to xgmii_rx_clk

Asserted to indicate that the block synchronizer has established synchronization.

Asserted by the BER monitor block to indicate a Sync

Header high bit error rate greater than 10 -4 .

When asserted, indicates the RX channel is locked to input data.

When asserted, indicates that the TX channel is being calibrated.

When asserted, indicates that the RX channel is being calibrated.

When asserted, indicates that the standard PCS TX phase compensation FIFO is either full or empty.

When asserted, indicates that the Standard PCS RX phase compensation FIFO is either full or empty.

When asserted, indicates a Remote Fault (RF).The MAC sends this fault signal to its link partner. Bit D13 of the

Auto Negotiation Advanced Remote Fault

register

(0xC2) records this error.

When asserted, the deserializer either skips one serial bit or pauses the serial clock for one cycle to achieve word alignment. As a result, the period of the parallel clock could be extended by 1 unit interval (UI) during the clock slip operation.This is an optional control input signal.

When asserted, indicates that the MAC can begin sending data to the PHY.

When you enable 1588, this signal outputs the real time latency in XGMII clock cycles (156.25 MHz) for the RX

PCS and PMA datapath for 10G mode. Bits 0 to 9 represent the fractional number of clock cycles. Bits 10 to

15 represent the number of clock cycles.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

147

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Signal Name tx_latency_adj_10 g[15:0]

Direction

Output

Clock Domain

Synchronous to xgmii_tx_clk rx_latency_adj_1 g[21:0]

Output tx_latency_adj_1 g[21:0]

Output

Synchronous to gmii_rx_clk

Synchronous to gmii_tx_clk

Description

When you enable 1588, this signal outputs the real time latency in XGMII clock cycles (156.25 MHz) for the TX

PCS and PMA datapath for 10G mode. Bits 0 to 9 represent the fractional number of clock cycles. Bits 10 to

15 represent the number of clock cycles.

When you enable 1588, this signal outputs the real time latency in GMII clock cycles (125 MHz) for the RX PCS and

PMA datapath for 1G mode. Bits 0 to 9 represent the fractional number of clock cycles. Bits 10 to 21 represent the number of clock cycles.

When you enable 1588, this signal outputs the real time latency in GMII clock cycles (125 MHz) for the TX PCS and

PMA datapath for 1G mode. Bits 0 to 9 represent the fractional number of clock cycles. Bits 10 to 21 represent the number of clock cycles.

2.6.3.5.6. Dynamic Reconfiguration Interface

You can use the dynamic reconfiguration interface signals to dynamically change between 1G and 10G data rates.

Table 120.

Dynamic Reconfiguration Interface Signals

Signal Name rc_busy start_pcs_reconf ig mode_1g_10gbar

Direction

Output

Input

Input

Clock Domain

Synchronous to mgmt_clk

Synchronous to mgmt_clk

Synchronous to mgmt_clk

Description

When asserted, indicates that reconfiguration is in progress. Synchronous to the mgmt_clk

. This signal is only exposed under the following condition:

• Turn on Enable internal PCS reconfiguration logic

When asserted, initiates reconfiguration of the PCS.

Sampled with the mgmt_clk

. This signal is only exposed under the following condition:

• Turn on Enable internal PCS reconfiguration logic

This signal selects either the 1G or 10G tx-parallel-data going to the PCS. It is only used for the 1G/10G application (variant) under the following circumstances:

• the Sequencer (auto-rate detect) is not enabled

• 1G mode is enabled

2.6.3.6. Avalon-MM Register Interface

The Avalon-MM slave interface signals provide access to all registers.

Table 121.

Avalon-MM Interface Signals

Signal Name mgmt_clk

Direction

Input

Clock Domain

Clock mgmt_clk_res et mgmt_addr[10

:0]

Input

Input

Asynchronous reset

Synchronous to mgmt_clk

Description

The clock signal that controls the Avalon-MM PHY management interface. If you plan to use the same clock for the PHY management interface and transceiver reconfiguration, you must restrict the frequency to 100-125 MHz to meet the specification for the transceiver reconfiguration clock.

Resets the PHY management interface. This signal is active high and level sensitive.

11-bit Avalon-MM address.

continued...

Intel ®

148

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Signal Name mgmt_writeda ta[31:0] mgmt_readdat a[31:0] mgmt_write

Direction

Input

Output

Input mgmt_read mgmt_waitreq uest

Input

Output

Clock Domain

Synchronous to mgmt_clk

Synchronous to mgmt_clk

Synchronous to mgmt_clk

Synchronous to mgmt_clk

Synchronous to mgmt_clk

Input data.

Output data.

Write signal. Active high.

Read signal. Active high.

Description

When asserted, indicates that the Avalon-MM slave interface is unable to respond to a read or write request. When asserted, control signals to the Avalon-MM slave interface must remain constant.

Related Information

Avalon Interface Specifications

2.6.3.6.1. 10GBASE-KR PHY Register Definitions

The Avalon-MM slave interface signals provide access to the control and status registers.

The following table specifies the control and status registers that you can access over the Avalon-MM PHY management interface. A single address space provides access to all registers.

Note: Unless otherwise indicated, the default value of all registers is 0.

Note: Writing to reserved or undefined register addresses may have undefined side effects.

Table 122.

10GBASE-KR Register Definitions

Word

Addr

0x4B0 0

Bit R/W

RW

Name

Reset SEQ

1

2

3

RW

RW

RW

Disable AN Timer

Disable LF Timer fail_lt_if_ber

Description

When set to 1, resets the 10GBASE-KR sequencer (auto rate detect logic), initiates a PCS reconfiguration, and may restart

Auto-Negotiation, Link Training or both if AN and LT are enabled (10GBASE-KR mode). SEQ Force Mode[2:0] forces these modes. This reset self clears.

Auto-Negotiation disable timer. If disabled (

Disable AN

Timer = 1

) , AN may get stuck and require software support to remove the ABILITY_DETECT capability if the link partner does not include this feature. In addition, software may have to take the link out of loopback mode if the link is stuck in the

ACKNOWLEDGE_DETECT state. To enable this timer set

Disable AN Timer

= 0.

When set to 1, disables the Link Fail timer. When set to 0, the

Link Fault timer is enabled.

When set to 1, the last LT measurement is a non-zero number. Treat this as a failed run. 0 = normal.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

149

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Word

Addr

7:4

Bit

8

0x4B1 0

1

11:9

12

16

17

18

2

13:8

16

17

0x4B2 0:10

11

RW

R

R

R/W

RW

RW

RW

RW

RW

RW

R

R

R

R

RW

Name Description

SEQ Force Mode[3:0]

Enable Arria 10

Calibration

Reserved

LT failure response

KR FEC enable 171.0

KR FEC enable err ind 171.1

KR FEC request

SEQ Link Ready

SEQ AN timeout

Forces the sequencer to a specific protocol. Must write the

Reset SEQ

bit to 1 for the Force to take effect. The following encodings are defined:

• 0000: No force

• 0001: GigE

• 0010: XAUI

• 0100: 10GBASE-R

• 0101: 10GBASE-KR

• 1100: 10GBASE-KR FEC

When set to 1, it enables the Arria 10 HSSI reconfiguration calibration as part of the PCS dynamic reconfiguration. 0 skips the calibration when the PCS is reconfigured.

When set to 1, LT failure causes the PHY to go into data mode. When set to 0, LT failure restarts auto-negotiation (if enabled). If auto-negotiation is not enabled, the PHY restarts

LT.

When set to 1, FEC is enabled. When set to 0, FEC is disabled. Resets to the CAPABLE_FEC parameter value.

When set to 1, KR PHY FEC decoding errors are signaled to the PCS. When set to 0, FEC errors are not signaled to the

PCS. See Clause 74.8.3 of IEEE 802.3ap-2007 for details.

When set to 1, enables the FEC request. When this bit changes, you must assert the

FEC request.

Reset SEQ

bit (0x4B0[0]) to renegotiate with the new value. When set to 0, disables the

When asserted, the sequencer is indicating that the link is ready.

When asserted, the sequencer has had an Auto Negotiation timeout. This bit is latched and is reset when the sequencer restarts Auto Negotiation.

When set, indicates that the Sequencer has had a timeout.

SEQ LT timeout

SEQ Reconfig

Mode[5:0]

Specifies the Sequencer mode for PCS reconfiguration. The following modes are defined:

• Bit 8, mode[0]: AN mode

• Bit 9, mode[1]: LT Mode

• Bit 10, mode[2]: 10G data mode

• Bit 11, mode[3]: GigE data mode

• Bit 12, mode[4]: Reserved for XAUI

• Bit 13, mode[5]: 10G FEC mode

KR FEC ability 170.0

When set to 1, indicates that the 10GBASE-KR PHY supports

FEC. Set as parameter

SYNTH_FEC

. For more information, refer to Clause 45.2.1.84 of IEEE 802.3ap-2007.

KR FEC err ind ability 170.0

Reserved

KR FEC TX Error

Insert

When set to 1, indicates that the 10GBASE-KR PHY is capable of reporting FEC decoding errors to the PCS. For more information, refer to Clause 74.8.3 of IEEE 802.3ap-2007.

Writing a 1 inserts one error pulse into the TX FEC depending on the Transcoder and Burst error settings. This bit self clears.

continued...

Intel ®

150

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Word

Addr

Bit

31:12

0x4B5 to

0x4BF

0x4C0 0

1

2

3

0x4C1 0

4

4

5

8

0x4C2 1

2

3

4

R/W

RW

RW

RW

RW

RW

RW

RW

RW

RW

RO

RO

RO

RO

Name Description

Reserved

Reserved for 40G KR

AN enable

AN base pages ctrl

AN next pages ctrl

Local device remote fault

Reset AN

Restart AN TX SM

AN Next Page

AN page received

AN Complete

AN ADV Remote Fault

AN RX SM Idle

Intentionally left empty for address compatibility with 40G

MAC + PHY KR solutions.

When set to 1, enables Auto Negotiation function. The default value is 1. For additional information, refer to 7.0.12 in

Clause 73.8 Management Register Requirements, of IEEE

802.3ap-2007.

When set to 1, the user base pages are enabled. You can send any arbitrary data via the user base page low/high bits.

When set to 0, the user base pages are disabled and the state machine generates the base pages to send.

When set to 1, the user next pages are enabled. You can send any arbitrary data via the user next page low/high bits. When set to 0, the user next pages are disabled. The state machine generates the null message to send as next pages.

When set to 1, the local device signals Remote Faults in the

Auto Negotiation pages. When set to 0, a fault has not occurred.

Force TX nonce value

When set to 1, forces the TX nonce value to support some

UNH testing modes. When set to 0, this is normal operation.

Override AN

Parameters Enable

When set to 1, overrides the

AN_TECH

,

AN_FEC

, and

AN_PAUSE

parameters and uses the bits in 0x4C3 instead.

You must reset the Sequencer to reconfigure and restart into

Auto Negotiation mode. When set to 0, this is normal operation and is used with 0x4B0 bit 0 and 0x4C3 bits[30:16].

When set to 1, resets all the 10GBASE-KR Auto Negotiation state machines. This bit is self-clearing.

When set to 1, restarts the 10GBASE-KR TX state machine.

This bit self clears. This bit is active only when the TX state machine is in the Auto Negotiation state. For more information, refer to 7.0.9 in Clause 73.8 Management

Register Requirements of IEEE 802.3ap-2007.

When asserted, new next page info is ready to send. The data is in the XNP TX registers. When 0, the TX interface sends null pages. This bit self clears. Next Page (NP) is encoded in bit D15 of Link Codeword. For more information, refer to

Clause 73.6.9 and 7.16.15 of Clause 45.2.7.6 of IEEE

802.3ap-2007.

When set to 1, a page has been received. When 0, a page has not been received. The current value clears when the register is read. For more information, refer to 7.1.6 in Clause 73.8 of

IEEE 802.3ap-2007.

When asserted, Auto-Negotiation has completed. When 0,

Auto Negotiation is in progress. For more information, refer to

7.1.5 in Clause 73.8 of IEEE 802.3ap-2007.

When set to 1, fault information has been sent to the link partner. When 0, a fault has not occurred. The current value clears when the register is read. Remote Fault (RF) is encoded in bit D13 of the base Link Codeword. For more information, refer to Clause 73.6.7 of and 7.16.13 of IEEE 802.3ap-2007.

When set to 1, the Auto-Negotiation state machine is in the idle state. Incoming data is not Clause 73 compatible. When

0, the Auto-Negotiation is in progress.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

151

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Word

Addr

5

6

7

0x4C2 8

9

Bit

17:12

0x4C3 15:0

21:16

25:24

R/W

RO

RO

RO

RO

RO

RO

RW

RW

RW

Name Description

AN Ability

AN Status

LP AN Ability

When set to 1, the transceiver PHY is able to perform Auto

Negotiation. When set to 0, the transceiver PHY i s not able to perform Auto Negotiation. If your variant includes Auto

Negotiation, this bit is tied to 1. For more information, refer to 7.1.3 and 7.48.0 of Clause 45 of IEEE 802.3ap-2007.

When set to 1, link is up. When 0, the link is down. The current value clears when the register is read. For more information, refer to 7.1.2 of Clause 45 of IEEE

802.3ap-2007.

When set to 1, the link partner is able to perform Auto

Negotiation. When 0, the link partner is not able to perform

Auto-Negotiation. For more information, refer to 7.1.0 of

Clause 45 of IEEE 802.3ap-2007.

When set to 1, PHY is negotiated to perform FEC. When set to

0, PHY is not negotiated to perform FEC.

FEC negotiated – enable FEC from SEQ

Seq AN Failure

When set to 1, a sequencer Auto Negotiation failure has been detected. When set to 0, an Auto Negotiation failure has not been detected.

KR AN Link

Ready[5:0]

User base page low

Provides a one-hot encoding of an_receive_idle

73.10.1. The following encodings are defined:

= true and link status for the supported link as described in Clause

• 6'b000000: 1000BASE-KX

• 6'b000001: 10GBASE-KX4

• 6'b000100: 10GBASE-KR

• 6'b001000: 40GBASE-KR4

• 6'b010000: 40GBASE-CR4

• 6'b100000: 100GBASE-CR10

The Auto Negotiation TX state machine uses these bits if the

Auto Negotiation base pages ctrl bit is set. The following bits are defined:

• [15]: Next page bit

• [14]: ACK which is controlled by the SM

• [13]: Remote Fault bit

• [12:10]: Pause bits

• [9:5]: Echoed nonce which are set by the state machine

• [4:0]: Selector

Bit 49, the PRBS bit, is generated by the Auto Negotiation TX state machine.

Override

AN_TECH[5:0]

AN_TECH

value with which to override the current value. The following bits are defined:

• Bit-16 =

AN_TECH[0]

= 1000BASE-KX

• Bit-17 =

AN_TECH[1]

= XAUI

• Bit-18 =

AN_TECH[2]

= 10GBASE-KR

• Bit-19 =

AN_TECH[3]

= 40G

• Bit-20 =

AN_TECH[4]

= CR-4

• Bit-21 =

AN_TECH[5]

= 100G

You must set 0x4C0 bit-5 for this to take effect .

Override AN_FEC[1:0] AN_FEC

value with which to override the current value. The following bits are defined:

• Bit-24 =

AN_ FEC [0]

= Capability

• Bit-25 =

AN_ FEC [1]

= Request

You must set 0x4C0 bit-5 for this to take effect.

continued...

Intel ®

152

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Word

Addr

Bit

30:28

0x4C4 31:0

0x4C5 15:0

0x4C6 31:0

0x4C7 15:0

0x4C8 31:0

0x4C9 15:0

R/W

RW

RW

RW

RW

RO

RO

RO

Name Description

Override

AN_PAUSE[2:0]

User base page high

User Next page low

User Next page high

LP base page low

LP base page high

LP Next page low

AN_PAUSE value with which to override the current value. The following bits are defined:

• Bit-28 =

AN_PAUSE [0]

= Pause Ability

• Bit-29 =

AN_PAUSE [1]

= Asymmetric Direction

• Bit-30 =

AN_PAUSE [2]

= Reserved

You must set 0x4C0 bit-5 for this to take effect.

The Auto Negotiation TX state machine uses these bits if the

Auto Negotiation base pages ctrl bit is set. The following bits are defined:

• [29:5]: Correspond to page bits 45:21 which are the technology ability.

• [4:0]: Correspond to bits 20:16 which are TX nonce bits.

Bit 49, the PRBS bit, is generated by the Auto Negotiation TX state machine.

The Auto Negotiation TX state machine uses these bits if the

AN Next Page

control bit is set. The following bits are defined:

• [15]: next page bit

• [14]: ACK controlled by the state machine

• [13]: Message Page (MP) bit

• [12]: ACK2 bit

• [11]: Toggle bit

For more information, refer to Clause 73.7.7.1 Next Page encodings of IEEE 802.3ap-2007. Bit 49, the PRBS bit, is generated by the Auto-Negotiation TX state machine.

The Auto Negotiation TX state machine uses these bits if the

Auto Negotiation next pages ctrl bit is set. Bits [31:0] correspond to page bits [47:16]. Bit 49, the PRBS bit, is generated by the Auto Negotiation TX state machine.

The AN RX state machine receives these bits from the link partner. The following bits are defined:

• [15] Next page bit

• [14] ACK which is controlled by the state machine

• [13] RF bit

• [12:10] Pause bits

• [9:5] Echoed Nonce which are set by the state machine

• [4:0] Selector

The AN RX state machine receives these bits from the link partner. The following bits are defined:

• [31:30]: Reserved

• [29:5]: Correspond to page bits [45:21] which are the technology ability

• [4:0]: Correspond to bits [20:16] which are TX Nonce bits

The AN RX state machine receives these bits from the link partner. The following bits are defined:

• [15]: Next page bit

• [14]: ACK which is controlled by the state machine

• [13]: MP bit

• [12] ACK2 bit

• [11] Toggle bit

For more information, refer to Clause 73.7.7.1 Next Page encodings of IEEE 802.3ap-2007.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

153

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Word

Addr

0x4CA

Bit

31:0

0x4CB 24:0

26:25

27

30:28

0x4D0 0

1

2

3

7:4

11:8

0x4D0 14:12

RW

RW

RW

R/W

RO

RO

RO

RO

RO

RW

RW

RW

RW

Name Description

LP Next page high

AN LP ADV

Tech_A[24:0]

The AN RX state machine receives these bits from the link partner. Bits [31:0] correspond to page bits [47:16]

Received technology ability field bits of Clause 73 Auto

Negotiation. The 10GBASE-KR PHY supports A0 and A2. The following protocols are defined:

• A0 1000BASE-KX

• A1 10GBASE-KX4

• A2 10GBASE-KR

• A3 40GBASE-KR4

• A4 40GBASE-CR4

• A5 100GBASE-CR10

• A24:6 are reserved

For more information, refer to Clause 73.6.4 and AN LP base page ability registers (7.19-7.21) of Clause 45 of IEEE

802.3ap-2007.

AN LP ADV FEC_F[1:0]

Received FEC ability bits FEC (F0:F1) is encoded in bits

D46:D47 of the base Link Codeword. F0 is FEC ability. F1 is

FEC requested. See Clause 73.6.5 of IEEE 802.3ap-2007 for details.

AN LP ADV Remote

Fault

AN LP ADV Pause

Ability_C[2:0]

Received Remote Fault (RF) ability bits. RF is encoded in bit

D13 of the base link codeword in Clause 73 AN. For more information, refer to Clause 73.6.7 of IEEE 802.3ap-2007.

Received pause ability bits. Pause (C0:C1) is encoded in bits

D11:D10 of the base link codeword in Clause 73 AN as follows:

• C0 is the same as PAUSE as defined in Annex 28B

• C1 is the same as ASM_DIR as defined in Annex 28B

• C2 is reserved

Link Training enable

When 1, enables the 10GBASE-KR start-up protocol. When 0, disables the 10GBASE-KR start-up protocol. The default value is 1. For more information, refer to Clause 72.6.10.3.1 and

10GBASE-KR PMD control register bit (1.150.1) of IEEE

802.3ap-2007.

dis_max_wait_tmr

Reserved

Reserved main_step_cnt [3:0] prepost_step_cnt

[3:0] equal_cnt [2:0]

When set to 1, disables the LT values. The default value is 0.

max_wait_timer

. Used for characterization mode when setting much longer BER timer

Reserved

Reserved

Specifies the number of equalization steps for each main tap update. There are about 20 settings for the internal algorithm to test. The valid range is 1-15. The default value is 4'b0001.

Specifies the number of equalization steps for each pre- and post-tap update. From 16-31 steps are possible. The default value is 4'b0001.

Adds hysteresis to the error count to avoid local minimums.

The following values are defined:

• 000 = 0

• 001 = 2

• 010 = 4

• 011 = 8

• 100 = 16 continued...

Intel ®

154

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Word

Addr

15

16

17

0x4D0 18

19

0x4D0 22

Bit

21:20

R/W

RW

RW

RW

RW

RW

RW

RW

Name Description disable Initialize

PMA on max_wait_timeout

Ovride LP Coef enable

Ovride Local RX Coef enable

VOD Training Enable

Bypass DFE dfe_freeze_mode adp_ctle_vga_mode

• 101 = 32

• 110 = 64

• 111 = 128

The default value is 101.

When set to 1, PMA values (VOD, Pre-tap, Post-tap) are not initialized upon entry into the happens when

Training_Failure

state. This max_wait_timer_done

, which sets training_failure

= true (reg 0xD2 bit 3). Used for UNH testing. When set to 0, PMA values are initialized upon entry into

Training_Failure

state. Refer to Figure 72-5 of IEEE

802.3ap-2007 for more details. The default value is 0.

When set to 1, overrides the link partner's equalization coefficients; software changes the update commands sent to the link partner TX equalizer coefficients. When set to 0, uses the Link Training logic to determine the link partner coefficients. Used with 0x4D1 bit-4 and 0x4D4 bits[7:0]. The default value is 0.

When set to 1, overrides the local device equalization coefficients generation protocol. When set, the software changes the local TX equalizer coefficients. When set to 0, uses the update command received from the link partner to determine local device coefficients. Used with 0x4D1 bit-8 and

0x4D4 bits[23:16]. The default value is 0.

Defines whether or not to skip adjustment of the link partner’s VOD (main tap) during link training. The following values are defined:

• 1 = Exercise VOD (main tap) adjustment during link training

• 0 = Skip VOD (main tap) adjustment during link training

The default value is 0.

Defines whether or not Decision Feedback Equalization (DFE) is enabled at the end of link training. The following values are defined:

• 1 = Bypass continuous adaptive DFE at the end of link training

• 0 = Enable continuous adaptive DFE at the end of link training

The default value for simulation is 1. The default value for hardware is 0.

Defines the behavior of DFE taps at the end of link training

• 00 = do not freeze any DFE taps

• 01 = Freeze all DFE taps

• 10 = reserved

• 11 = reserved

The default value is 01.

Note: These bits are only effective when bit [19] is set to 0.

Defines whether or not CTLE/VGA adaptation is in adaptive or manual mode. The following values are defined:

• 0 = CTLE sweep before start of TX-EQ during link training.

• 1 = manual CTLE mode. Link training algorithm sets fixed

CTLE value, as specified in bits [28:24]. The default value is 1 for simulation. .

The default value is 0 for hardware.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

155

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Word

Addr

Bit

28:24

31:29

0x4D1 0

4

8

0x4D2

21:20

0

1

2

3

6

7

4

5

R/W

RW

RW

RW

RW

RW

RW

RO

RO

RO

RO

RO

RO

RO

RO

Name Description

Manual CTLE

Manual VGA

Restart Link training

Defines the CTLE value used by the link training algorithm when in manual CTLE mode. These bits are only effective when 0x4D0[22] is set to 1.

The default value is 1.

Defines the VGA value used by the link training algorithm when in manual VGA mode. These bits are only effective when 0x4D0[22] is set to 1.

The default value is 4 for simulation. The default value is 7 for hardware.

When set to 1, resets the 10GBASE-KR start-up protocol.

When set to 0, continues normal operation. This bit self clears. For more information, refer to the state variable mr_restart_training

as defined in Clause 72.6.10.3.1

and 10GBASE-KR PMD control register bit (1.150.0) IEEE

802.3ap-2007.

Updated TX Coef new

Updated RX coef new

Reserved

Link Trained -

Receiver status

Link Training Frame lock

Link Training Startup protocol status

Link Training failure

Link Training Error

Link Training Frame lock Error

When set to 1, there are new link partner coefficients available to send. The LT logic starts sending the new values set in 0x4D4 bits[7:0] to the remote device. When set to 0, continues normal operation. This bit self clears. Must enable this override in 0x4D0 bit16.

When set to 1, new local device coefficients are available. The

LT logic changes the local TX equalizer coefficients as specified in 0x4D4 bits[23:16]. When set to 0, continues normal operation. This bit self clears. Must enable the override in 0x4D0 bit17.

Reserved

When set to 1, the receiver is trained and is ready to receive data. When set to 0, receiver training is in progress. For more information, refer to the state variable rx_trained as defined in Clause 72.6.10.3.1 of IEEE 802.3ap-2007.

When set to 1, the training frame delineation has been detected. When set to 0, the training frame delineation has not been detected. For more information, refer to the state variable frame_lock as defined in Clause 72.6.10.3.1 of IEEE

802.3ap-2007.

When set to 1, the start-up protocol is in progress. When set to 0, start-up protocol has completed. For more information, refer to the state training as defined in Clause 72.6.10.3.1 of

IEEE 802.3ap-2007.

When set to 1, a training failure has been detected. When set to 0, a training failure has not been detected For more information, refer to the state variable training_failure as defined in Clause 72.6.10.3.1 of IEEE 802.3ap-2007.

When set to 1, excessive errors occurred during Link Training.

When set to 0, the BER is acceptable.

When set to 1, indicates a frame lock was lost during Link

Training. If the tap settings specified by the fields of 0x4D5 are the same as the initial parameter value, the frame lock error was unrecoverable.

RXEQ Frame Lock Loss

Frame lock not detected at some point during RXEQ, possibly triggering conditional RXEQ mode.

CTLE Fine-grained

Tuning Error

Could not determine the best CTLE due to maximum BER limit at each step in the Fine-grained Tuning mode.

continued...

Intel ®

156

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Word

Addr

0x4D3 9:0

Bit

19:10 RW ber_time_k_frames

29:20

0x4D4 5:0

6

7

0x4D4 13:8

R/W

RW

Name ber_time_frames

RW ber_time_m_frames

RO or

RW

RO or

RW

RO or

RW

RO

LD coefficient update[5:0]

LD Initialize

Coefficients

LD Preset

Coefficients

LD coefficient status[5:0]

Description

Specifies the number of training frames to examine for bit errors on the link for each step of the equalization settings.

Used only when ber_time_k_frames is 0.The following values are defined:

• A value of 2 is about 10 3 bytes

• A value of 20 is about 10 4 bytes

• A value of 200 is about 10 5 bytes

The default value for simulation is 2'b11. The default value for hardware is 0.

Specifies the number of thousands of training frames to examine for bit errors on the link for each step of the equalization settings. Set ber_time_m_frames = 0 for time/ bits to match the following values:

• A value of 3 is about 10 7 bits = about 1.3 ms

• A value of 25 is about 10 8 bits = about 11ms

• A value of 250 is about 10 9 bits = about 11 0ms

The default value for simulation is 0. The default value for hardware is 0xF.

Specifies the number of millions of training frames to examine for bit errors on the link for each step of the equalization settings. Set ber_time_k_frames = 4'd1000 = 0x43E8 for time/bits to match the following values:

• A value of 3 is about 10 10 bits = about 1.3 seconds

• A value of 25 is about 10 11 bits = about 11 seconds

• A value of 250 is about 10 12 bits = about 110 seconds

Reflects the contents of the first 16-bit word of the training frame sent from the local device control channel. Normally, the bits in this register are read-only; however, when you override training by setting the

Ovride Coef enable control bit, these bits become writable. The following fields are defined:

• [5: 4]: Coefficient (+1) update

— 2'b11: Reserved

— 2'b01: Increment

— 2'b10: Decrement

— 2'b00: Hold

• [3:2]: Coefficient (0) update (same encoding as [5:4])

• [1:0]: Coefficient (-1) update (same encoding as [5:4])

For more information, refer to 10G BASE-KR LD coefficient update register bits (1.154.5:0) in Clause 45.2.1.80.3 of IEEE

802.3ap-2007.

When set to 1, requests the link partner coefficients be set to configure the TX equalizer to its INITIALIZE state. When set to 0, continues normal operation. For more information, refer to 10G BASE-KR LD coefficient update register bits (1.154.12) in Clause 45.2.1.80.3 and Clause 72.6.10.2.3.2 of IEEE

802.3ap-2007.

When set to 1, requests the link partner coefficients be set to a state where equalization is turned off. When set to 0 the link operates normally. For more information, refer to 10G

BASE-KR LD coefficient update register bit (1.154.13) in

Clause 45.2.1.80.3 and Clause 72.6.10.2.3.2 of IEEE

802.3ap-2007.

Status report register for the contents of the second, 16-bit word of the training frame most recently sent from the local device control channel. The following fields are defined: continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

157

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Word

Addr

14

0x4D4 21:16

22

23

Bit

0x4D4 29:24

R/W Name Description

RO

RO or

RW

RO or

RW

RO or

RW

RO

Link Training ready

- LD Receiver ready

LP coefficient update[5:0]

LP Initialize

Coefficients

LP Preset

Coefficients

LP coefficient status[5:0]

• [5:4]: Coefficient (post-tap)

— 2'b11: Maximum

— 2'b01: Minimum

— 2'b10: Updated

— 2'b00: Not updated

• [3:2]: Coefficient (0) (same encoding as [5:4])

• [1:0]: Coefficient (pre-tap) (same encoding as [5:4])

For more information, refer to 10G BASE-KR LD status report register bit (1.155.5:0) in Clause 45.2.1.81 of IEEE

802.3ap-2007.

When set to 1, the local device receiver has determined that training is complete and is prepared to receive data. When set to 0, the local device receiver is requesting that training continue. Values for the receiver ready bit are defined in

Clause 72.6.10.2.4.4. For more information, refer to 10G

BASE-KR LD status report register bit (1.155.15) in Clause

45.2.1.81 of IEEE 802.3ap-2007.

Reflects the contents of the first 16-bit word of the training frame most recently received from the control channel.

Normally the bits in this register are read only; however, when training is disabled by setting low the KR Training enable control bit, these bits become writable. The following fields are defined:

• [5: 4]: Coefficient (+1) update

— 2'b11: Reserved

— 2'b01: Increment

— 2'b10: Decrement

— 2'b00: Hold

• [3:2]: Coefficient (0) update (same encoding as [5:4])

• [1:0]: Coefficient (-1) update (same encoding as [5:4])

For more information, refer to 10G BASE-KR LP coefficient update register bits (1.152.5:0) in Clause 45.2.1.78.3 of IEEE

802.3ap-2007.

When set to 1, the local device transmit equalizer coefficients are set to the INITIALIZE state. When set to 0, normal operation continues. The function and values of the initialize bit are defined in Clause 72.6.10.2.3.2. For more information, refer to 10G BASE-KR LP coefficient update register bits

(1.152.12) in Clause 45.2.1.78.3 of IEEE 802.3ap-2007.

When set to 1, the local device TX coefficients are set to a state where equalization is turned off. Preset coefficients are used. When set to 0, the local device operates normally. The function and values of the preset bit are defined in

72.6.10.2.3.1. The function and values of the initialize bit are defined in Clause 72.6.10.2.3.2. For more information, refer to 10G BASE-KR LP coefficient update register bits (1.152.13) in Clause 45.2.1.78.3 of IEEE 802.3ap-2007.

Status report register reflects the contents of the second, 16bit word of the training frame most recently received from the control channel: The following fields are defined: continued...

Intel ®

158

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Word

Addr

30

0x4D5 4:0

Bit

13:8

20:16

0x4D5

0x4D6

27:24

29:28

31:30

4:0

5

12:8

R

R

R/W

RO

R

R

R

R

RW

RW

RW

Name Description

LP Receiver ready

LT V

OD

setting

LT Post-tap setting

LT Pre-tap setting

RXEQ CTLE Setting

RXEQ CTLE Mode

RXEQ DFE Mode

LT VODMAX ovrd

LT VODMAX ovrd

Enable

LT VODMin ovrd

• [5:4]: Coefficient (+1)

— 2'b11: Maximum

— 2'b01: Minimum

— 2'b10: Updated

— 2'b00: Not updated

• [3:2]: Coefficient (0) (same encoding as [5:4])

• n [1:0]: Coefficient (-1) (same encoding as [5:4])

For more information, refer to 10G BASE-KR LP status report register bits (1.153.5:0) in Clause 45.2.1.79 of IEEE

802.3ap-2007.

When set to 1, the link partner receiver has determined that training is complete and is prepared to receive data. When set to 0, the link partner receiver is requesting that training continue.

Values for the receiver ready bit are defined in Clause

72.6.10.2.4.4. For more information, refer to 10G BASE-KR

LP status report register bits (1.153.15) in Clause 45.2.1.79

of IEEE 802.3ap-2007.

Stores the most recent TX V

OD

setting trained by the link partner's RX based on the LT coefficient update logic driven by Clause 72. It reflects Link Partner commands to fine-tune the TX preemphasis taps.

Stores the most recent TX post-tap setting trained by the link partner’s RX based on the LT coefficient update logic driven by Clause 72. It reflects Link Partner commands to fine-tune the TX pre-emphasis taps.

Store the most recent TX pre-tap setting trained by the link partner’s RX based on the LT coefficient update logic driven by Clause 72. It reflects Link Partner commands to fine-tune the TX pre-emphasis taps.

Most recent ctle_rc

setting sent to the reconfig bundle during RX equalization.

Most recent ctle_mode during RX equalization.

setting sent to the reconfig bundle

Most recent dfe_mode during RX equalization.

setting sent to the reconfig bundle

Override value for the VMAXRULE parameter. When enabled, this value substitutes for the VMAXRULE to allow channelby-channel override of the device settings. This only affects the local device TX output for the channel specified.

This value must be greater than the INITMAINVAL parameter for proper operation. Note this also overrides the

PREMAINVAL parameter value.

When set to 1, enables the override value for the VMAXRULE parameter stored in the

LT VODMAX ovrd

register field.

Override value for the VODMINRULE parameter. When enabled, this value substitutes for the VMINRULE to allow channel-by-channel override of the device settings. This override only effects the local device TX output for this channel.

The value to be substituted must be less than the

INITMAINVAL parameter and greater than the VMINRULE parameter for proper operation.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

159

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Word

Addr

Bit R/W Name Description

0x4D7 to 0x4FF

13

21:16

22

28:24

29

RW

RW

RW

RW

RW

LT VODMin ovrd

Enable

LT VPOST ovrd

When set to 1, enables the override value for the

VODMINRULE parameter stored in the register field.

LT VODMin ovrd

Override value for the VPOSTRULE parameter. When enabled, this value substitutes for the VPOSTRULE to allow channel-by-channel override of the device settings. This override only effects the local device TX output for this channel.

The value to be substituted must be greater than the

INITPOSTVAL parameter for proper operation.

LT VPOST ovrd Enable

When set to 1, enables the override value for the

VPOSTRULE parameter stored in the register field.

LT VPOST ovrd

LT VPre ovrd

LT VPre ovrd Enable

Reserved for 40G KR

Override value for the VPRERULE parameter. When enabled, this value substitutes for the VPOSTRULE to allow channelby-channel override of the device settings. This override only effects the local device TX output for this channel.

The value to be substituted must be greater than the

INITPREVAL parameter for proper operation.

When set to 1, enables the override value for the VPRERULE parameter stored in the

LT VPre ovrd

register field.

Left empty for address compatibility with 40G MAC+PHY KR solution.

2.6.3.6.2. Hard Transceiver PHY Registers

Table 123.

Hard Transceiver PHY Registers

Addr

0x000-0 x3FF

Bit

[9:0]

Access

RW

Name

Access to HSSI registers

Description

All registers in the physical coding sub-layer (PCS) and physical media attachment (PMA) that you can dynamically reconfigure are in this address space. Refer to the Arria 10 Dynamic

Transceiver Reconfiguration chapter for further information.

Related Information

Reconfiguration Interface and Dynamic Reconfiguration

on page 502

2.6.3.6.3. Enhanced PCS Registers

Table 124.

Enhanced PCS Registers

Addr

0x480

Bit

31:0

Access

RW

Name

Indirect_addr

0x481 2

3

RW

RW

RCLR_ERRBLK_CNT

RCLR_BER_COUNT

Description

Because the PHY implements a single channel, this register must remain at the default value of 0 to specify logical channel 0.

Error block counter clear register. When set to 1, clears the

RCLR_ERRBLK_CNT operation continues.

register. When set to 0, normal

BER counter clear register. When set to 1, clears the

RCLR_BER_COUNT

register. When set to 0, normal operation continues.

continued...

Intel ®

160

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Addr

0x482 1

Bit

2

3

4

7

Access

RO

HI_BER

Name

RO

RO

RO

RO

BLOCK_LOCK

TX_FIFO_FULL

RX_FIFO_FULL

Rx_DATA_READY

Description

High BER status. When set to 1, the PCS reports a high

BER. When set to 0, the PCS does not report a high

BER.

Block lock status. When set to 1, the PCS is locked to received blocks. When set to 0, the PCS is not locked to received blocks.

When set to 1, the

TX_FIFO

is full.

When set to 1, the

RX_FIFO

is full.

When set to 1, indicates the PHY is ready to receive data.

2.6.3.6.4. PMA Registers

The PMA registers allow you to reset the PMA, customize the TX and RX serial data interface, and provide status information.

Table 125.

1G Data Mode

Addr

0x4A8 0

Bit R/W

RW

Name tx_invpolarity

0x4A9

1

2

3

5

6

3

4

1

2

4

0

RW

RW

RW

R

R

R

R

R

R

RW

R rx_invpolarity rx_bitreversal_enable rx_bytereversal_enable force_electrical_idle rx_syncstatus rx_patterndetect rx_rlv rx_rmfifodatainserted rx_rmfifodatadeleted rx_disperr rx_errdetect

Description

When set, the TX interface inverts the polarity of the TX data to the 8B/10B encoder.

When set, the RX channels inverts the polarity of the received data to the 8B/10B decoder.

When set, enables bit reversal on the RX interface to the word aligner.

When set, enables byte reversal on the RX interface to the byte deserializer.

When set, forces the TX outputs to electrical idle.

When set, the word aligner is synchronized.

GbE word aligner detected comma.

Run length violation.

Rate match FIFO inserted code group.

Rate match FIFO deleted code group.

RX 8B10B disparity error.

RX 8B10B error detected.

Table 126.

PMA Registers

Address

0x444 1

0x461

2

3

0

Bit R/W

RW

RW

RW

RW

Name reset_tx_digital reset_rx_analog reset_rx_digital

Description

Writing a 1 asserts the internal TX digital reset signal. You must write a 0 to clear the reset condition.

Writing a 1 causes the internal RX analog reset signal to be asserted. You must write a 0 to clear the reset condition.

Writing a 1 causes the internal RX digital reset signal to be asserted. You must write a 0 to clear the reset condition.

phy_serial_loopback

Writing a 1 puts the channel in serial loopback mode.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

161

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Address

0x464 0

Bit

0x465 0

0x466 0

0x467 0

R/W

RW

Name pma_rx_set_locktoda ta

RW pma_rx_set_locktore f

RO pma_rx_is_lockedtod ata

RO pma_rx_is_lockedtor ef

Description

When set, programs the RX clock data recovery (CDR) PLL to lock to the incoming data.

When set, programs the RX CDR PLL to lock to the reference clock.

When asserted, indicates that the RX CDR PLL is locked to the RX data, and that the RX CDR has changed from LTR to

LTD mode.

When asserted, indicates that the RX CDR PLL is locked to the reference clock.

2.6.3.7. Creating a 10GBASE-KR Design

Follow these steps to create a 10GBASE-KR design.

1. Generate the 10GBASE-KR PHY with the required parameterization.

The 10GBASE-KR PHY IP core includes a reconfiguration block. The reconfiguration block provides the Avalon-MM interface to access the PHY registers.

2. Instantiate a reset controller. You can generate a Transceiver Reset Controller IP core from the IP Catalog. You must connect the Transceiver Reset Controller IP core and 10GBASE-KR PHY IP core power and reset signals.

3. Instantiate one TX PLL for the 1G data rate and one TX PLL for the 10G data rate.

Connect the high speed serial clock and PLL lock signals between 10GBASE-KR

PHY and TX PLLs. For the 1G data rate you can use either fPLL, ATX PLL, or CMU

PLL. For the 10G data rate you can use ATX PLL or CMU PLL.

4. Generate a fPLL to create the 156.25 MHz XGMII clock from the 10G reference clock.

5. Use the tx_pma_divclk

from the 10GBASE-KR PHY or generate a fPLL to create the 156.25 MHz XGMII clock from the 10G reference clock.

Unlike in the 10GBASE-KR PHY IP core for Stratix V devices, no Memory

Initialization Files (.mif) are required for the 10GBASE-KR design in Arria 10 devices.

6. Complete the design by creating a top level module to connect all the IP

(10GBASE-KR PHY IP core, PLL IP core, and Reset Controller) blocks.

Related Information

fPLL

on page 359

CMU PLL

on page 368

ATX PLL

on page 350

Using the Transceiver PHY Reset Controller

on page 433

10GBASE-KR Functional Description

on page 136

Intel ®

162

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.6.3.8. Design Example

Figure 71.

PHY-Only Design Example with Two Backplane Ethernet and Two Line-Side

(1G/10G) Ethernet Channels

A10_DE_WRAPPER

Management

Master

ISSP

JTAG-to-

Avalon-MM

Master

Test Harness

XGMII

Source

XGMII

Source

XGMII

Sink

XGMII

Sink

XGMII

GEN

XGMII

GEN

TH0_ADDR = 0xF nnn

XGMII

CHK

XGMII

CHK

...

Clock and

Reset

A10_IP_WRAPPER

XGMII

CLK FPLL

1G Ref CLK

CMU PLL

10G Ref CLK

ATX PLL

Reset

Control

Reset

Control

Reset

Control

Reset

Control

CH0: PHY_ADDR = 0x0

CH1: PHY_ADDR = 0x1

CH2: PHY_ADDR = 0x2

CH3: PHY_ADDR = 0x3

KR PHY IP

KR PHY IP

KR PHY IP

KR PHY IP

Sequencer

1588 Soft

FIFOs

Sequencer

STD

TX PCS

1588 Soft

FIFOs 1588 Soft

FIFOs

GMII

RS

GMII

RS

Auto Neg cls 73

Auto Neg cls 73

Sequencer

10-GB

TX PCS

Sequencer

Link Training cls 72

Link Training cls 72

GMII

RS GMII

RS

STD

RX PCS

Auto Neg cls 73 Auto Neg cls 73

Link Training cls 72 cls 72

10-GB

RX PCS

A10

Reconfiguration

NF

Reconfiguration

STD

TX PCS

Registers CSR

Avalon-MM Slave

Reconfiguration

STD

TX PCS STD

TX PCS

Registers CSR

Native Hard PHY

NF

TX PMA

Registers CSR

Native Hard PHY

Registers CSR

Avalon-MM Slave

Native Hard PHY

TX PMA

Native Hard PHY

TX PMA

TX PMA

10-GB

TX PCS

STD

RX PCS

10-GB

RX PCS

Divide

10-GB

TX PCS

STD

RX PCS

10-GB

RX PCS

10-GB

TX PCS

STD

RX PMA

10-GB

RX PCS

RX PMA

RX PMA

RX PMA

Divide

Divide

Divide

Related Information

• Arria 10 Transceiver PHY Design Examples

10-Gbps Ethernet MAC IP Function User Guide.

For more information about latency in the MAC as part of the Precision Time

Protocol implementation.

2.6.3.9. Simulation Support

The 1G/10GbE and 10GBASE-KR PHY IP core supports the following Intel-supported simulators for this Quartus Prime software release:

• ModelSim Verilog

• ModelSim VHDL

• VCS Verilog

Intel ® Arria ® 10 Transceiver PHY User Guide

163

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

• VCS VHDL

• NCSIM Verilog

• NCSIM VHDL simulation

When you generate a 1G/10GbE or 10GBASE-KR PHY IP core, the Quartus Prime software optionally generates an IP functional simulation model.

2.6.4. 1-Gigabit/10-Gigabit Ethernet (GbE) PHY IP Core

The Ethernet standard comprises many different PHY standards with variations in signal transmission medium and data rates.

The 1G/10Gbps Ethernet PHY IP core targets the reconfigurable 10-Mbps/100-Mbps/1-

Gbps/10-Gbps data rates with one core dynamically. This Ethernet PHY interfaces to

1G/10GbE dual speed SFP+ pluggable modules, 10MB–10GbE 10GBASE-T, and 10MB/

100MB/1000MB 1000BASE-T copper external PHY devices to drive CAT-6/7 shielded twisted pair cables, and chip-to-chip interfaces.

The 1G/10 Gbps Ethernet PHY (1G/10GbE ) IP function allows you to support the following features of Ethernet standards:

• 1 GbE protocol as defined in Clause 36 of the IEEE 802.3-2008 Standard

• GMII to connect the PHY with a media access control (MAC) as defined in Clause

35 of the IEEE 802.3-2008 Standard

• Gigabit Ethernet Auto-negotiation as defined in Clause 37 of the IEEE 802.3-2008

Standard

• 10GBASE-R Ethernet protocol as defined in Clause 49 of the IEEE 802.3-2008

Standard

• Single data rate (64 data bits and 8 control bits) XGMII to provide simple and inexpensive interconnection between the MAC and the PHY as defined in Clause 46 of the IEEE 802.3-2008 Standard

• SGMII 10-Mbps/100-Mbps/1-Gbps data rate where 10-Mbps/100-Mbps MII to connect physical media with the MAC as defined in Clause 22 of the IEEE

802.3-2008 Standard

• Forward Error correction(FEC) as defined in Clause 74 of the IEEE 802.3-2008

Standard

• Precision time protocol (PTP) as defined in the IEEE 1588 Standard

The 1G/10Gbps Ethernet PHY IP Core allows you to implement the 1GbE protocol using the Standard PCS and to implement the 10GbE protocol using Enhanced PCS and PMA. You can switch dynamically between the 1G and 10G data rates using dynamic reconfiguration to reprogram the core. Or, you can use the speed detection option to automatically switch data rates based on received data.

Intel ®

164

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 72.

Top Level Modules of the 1G/10GbE PHY IP Function

The Enhanced PCS receives and transmits XGMII data. The Standard PCS receives and transmits GMII data.

Intel Device with 10.3125-Gbps Transceivers

To/From

1G/10Gb

Ethernet

MAC

Optional

1588 TX and

RX Latency

Adjust 1G and 10G

TX XGMII Data

@156.25 MHz

RX XGMII Data

TX GMII/MII Data

@ 125 MHz

RX GMII Data

1G/10Gb Ethernet PHY Intel FPGA IP Core Function

Native PHY Hard IP

1 GigE

PCS

10 Gb

Ethernet

Enhanced PCS

w FEC

257.8 MHz

161.1 MHz

40 64

40 64 1.25 Gb/

10.3125 Gb

Hard PMA

1 Gb

Ethernet

Standard

PCS

Link

Status

PCS Reconfig

Request

Avalon-MM

PHY Management

Interface

To/From Modules in the PHY MegaCore

Control and Status

Registers

Sequencer

(Optional)

Reconfiguration

Block

ATX/CMU

TX PLL

For

10 GbE

CMU or fPLL

TX PLL

For 1 GbE

TX

Serial

Data

RX

Serial

Data

1 Gb SFP /

10 Gb SFP+ or XFP /

1G/10 Gb SFP+

Module/

Standard PHY

Product

322.265625 MHz or 644.53125 MHz

Reference Clock

125 MHz

Reference Clock

Legend

Hard IP Soft IP

Red = With FEC Option

1G/ 10 Gb

Ethernet

Network

Interface

For more information about clock and reset signal descriptions, refer to Clock and

Reset Interfaces.

An Avalon-MM slave interface provides access to the 1G/10GbE PHY IP Core registers.

These registers control many of the functions of the other blocks. Many of these bits are defined in Clause 45 of IEEE 802.3ap-2008 Standard.

Related Information

Clock and Reset Interfaces on page 168

• IEEE Std 802.3ap-2008 Standard

• Standard for a Precision Clock Synchronization Protocol for Networked

Measurement and Control Systems

2.6.4.1. 1G/10GbE PHY Release Information

This topic provides information about this release of the 1G/10GbE PHY IP Core.

Table 127.

1G/10GbE Release Information

Item

Version

Release Date

Ordering Codes

Product ID

Vendor ID

Description

16.0

May 2016

IP-1G10GBASER (primary)

IPR-1G10GBASER (renewal code)

0107

6AF7

Intel ® Arria ® 10 Transceiver PHY User Guide

165

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.6.4.2. 1G/10GbE PHY Performance and Resource Utilization

This topic provides performance and resource utilization for the 1G/10GbE PHY IP core in Arria 10 devices.

The following table shows the typical expected resource utilization for selected configurations using the Quartus Prime software version 15.1. The numbers of ALMs and logic registers are rounded up to the nearest 50.

Table 128.

1GbE/10GbE PHY Performance and Resource Utilization

Variant

1G/10GbE PHY with IEEE 1588 v2

1G/10GbE PHY

1G/10GbE PHY with FEC

2650

1500

1500

ALMs

3950

2350

2350

ALUTs Registers

5100

2850

2850

6

2

2

M20K

2.6.4.3. 1G/10GbE PHY Functional Description

Figure 73.

1G/10GbE PHY Block Diagram

Avalon-MM

User PCS Reconfiguration

MGMT_CLK

Sequencer

(Auto-Speed

Detect)

PCS Reconfiguration I/F

PMA Reconfiguration I/F Reconfiguration

Block

Registers

TX_GMII_DATA

XGMII_TX_CLK

8 + 2

64 + 8

TX_XGMII_DATA

TX_PMA_CLKOUT

RX_XGMII_DATA

64 + 8

Link Training

Clause 72

Auto-Negotiation

Clause 73

66

40

40

1588

FIFO

GigE

PCS

1588

FIFO

XGMII_RX_CLK

RX_GMII_DATA

8 + 2 GigE

PCS

Native PHY

HSSI Reconfiguration Requests

Standard TX PCS tx_pld_clk tx_pma_clk

Enhanced TX PCS tx_pld_clk tx_pma_clk

40/32

TX PMA

Standard RX PCS rx_pld_clk rx_pma_clk

Enhanced RX PCS rx_pld_clk rx_pma_clk

Divide by 33/1/2

40/32

RX PMA

RX_PMA_CLKOUT

RX_DIV_CLKOUT

Soft Logic Hard Logic Not Available

Standard and Enhanced PCS Datapaths

The Standard PCS and PMA inside the Native PHY are configured as the Gigabit

Ethernet PHY. The Enhanced PCS and PMA inside the Native PHY are configured as the

10GBASE-R PHY. Refer to the Standard PCS and Enhanced PCS architecture chapters for more details.

Intel ®

166

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Sequencer

The Sequencer controls the start-up sequence of the PHY IP, including reset and power-on. It selects which PCS (1G or 10G) and PMA interface is active. The

Sequencer interfaces to the reconfiguration block to request a change from one data rate to the other data rate.

GigE PCS

The GigE PCS includes the GMII interface and Clause 37 auto negotiation and SGMII functionality.

Soft Enhanced PCS FIFO for IEEE 1588v2

In IEEE 1588v2 mode, the enhanced PCS FIFOs for both TX and RX are constructed in soft IP to include the latency information via the latency adjustment ports. For more information about the required latency information in the MAC as part of the Precision

Time Protocol implementation, refer to the 10-Gbps Ethernet MAC IP Function User

Guide.

Reconfiguration Block

The reconfiguration logic performs the Avalon-MM writes to the PHY for both PCS and

PMA reconfiguration. The following figure shows the details of the reconfiguration blocks. The Avalon-MM master accepts requests from the PMA or PCS controller. It performs the Read-Modify-Write or Write commands using the Avalon-MM interface.

The PCS controller receives data rate change requests from the Sequencer and translates them to a series of Read-Modify-Write or Write commands to the PMA and

PCS.

Figure 74.

Reconfiguration Block Details

The 1G/10GbE PHY IP core is very flexible. For example, you can configure it with or without IEEE 1588v2, and with or without FEC in the enhanced PCS datapath.

MGMT_CLK

(2)

PCS

Reconfiguration

Interface

PCS

Controller

PMA

Reconfiguration

Interface

Notes:

1. rcfg = Reconfiguration

2. MGMT_CLK = Management Clock

PMA Controller

TX EQ Controller

DFE Controller

CTLE Controller rcfg_data rcfg_data rcfg_data rcfg_data

(1)

Avalon-MM Bus

Avalon-MM Bus

Avalon-MM

Decoder

Avalon-MM Bus

Avalon-MM reconfig_busy Signal

HSSI

Reconfiguration

Requests

Intel ® Arria ® 10 Transceiver PHY User Guide

167

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Related Information

Arria 10 Enhanced PCS Architecture

on page 461

Arria 10 Standard PCS Architecture

on page 479

Arria 10 PMA Architecture on page 447

10-Gbps Ethernet MAC IP Function User Guide.

For more information about latency in the MAC as part of the Precision Time

Protocol implementation.

2.6.4.4. Clock and Reset Interfaces

You can use a fPLL or a CMU PLL to generate the clock for the TX PMA for the 1G data rate. For the 10G data rate, you can use the ATX PLL or the CMU PLL. For the 1G data rate, the frequency of the TX and RX clocks is 125 MHz, which is 1/8 of the MAC data rate. For the 10G data rate, the frequency of TX and RX clocks is 156.25 MHz, 1/64 of the MAC data rate. You can generate the 156.25 MHz clock directly by using a fPLL, or you can divide the clock from TX PLL by 33. The 1G/10GbE PHY does not support bonded clocks.

The following figure provides an overview of the clocking for this core.

Figure 75.

Clocks for Standard and 10G PCS and TX PLLs

1GbE/10GbE PHY

GMII TX

Data & Control SGMII

PCS tx_coreclkin_1g

125 MHz

8+1

Standard TX PCS tx_pld_clk tx_pma_clk

10 TX data

40 fractional

PLL

(instantiate separately)

XGMII TX Data & Control xgmii_tx_clk

156.25 MHz

64 + 8

64 + 8 tx_pld_clk

Enhanced TX PCS tx_pld_clk tx_pma_clk

64

TX data red = datapath includes FEC

GMII RX

Data & Control SGMII

PCS

8+1 rx_coreclkin_1g

125 MHz

XGMII RX Data & Control rx_pld_clk

64 + 8

64 + 8 xgmii_rx_clk

156.25 MHz

Standard RX PCS rx_pma_clk

Enhanced RX PCS rx_pld_clk rx_pma_clk

10 RX data

TX PMA

TX PLL

TX PLL

RX PMA

60

40 recovered clk

125 MHz

257.8125 MHz (1)

161.1 MHz (2)

TX serial data pll_ref_clk_1g

125 MHz pll_ref_clk_10g

644.53125 MHz

or

322.265625 MHz serial data

Notes:

1. 257.8125 MHz is for 10GbE.

2. 161.1 MHz is the FEC clock for 10GbE.

The following table describes the clock and reset signals.

Intel ®

168

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 129.

Clock and Reset Signals

Signal Name tx_serial_clk_10g

Direction

Input tx_serial_clk_1g

Input rx_cdr_ref_clk_10g rx_cdr_refclk_1g mgmt_clk mgmt_clk_reset xgmii_tx_clk xgmii_rx_clk tx_clkout rx_clkout tx_pma_clkout rx_pma_clkout tx_div_clk rx_div_clk

Input

Input

Input

Input

Input

Input

Output

Output

Output

Output

Output

Output

Description

High speed clock from the 10G PLL to drive 10G PHY TX PMA. The frequency of this clock is 5.15625 GHz.

The clock from the external 1G PLL to drive the TX high speed serial interface (HSSI) circuits. Connected to the the native PHY.

tx_serial_clk

input of

10G PHY RX PLL reference clock. This clock frequency can be

644.53125 MHz or 322.2656 MHz.

The RX 1G PLL reference clock to drive the RX HSSI circuits.

Connected to the rx_cdr_refclk

input of the native PHY.

Avalon-MM clock and control system clock. Its frequency range is

100 MHz to 125 MHz.

When asserted, it resets the whole PHY.

Clock for XGMII TX interface with MAC. Can be connected to tx_div_clkout

. This drives the tx_coreclkin

port of the Native

PHY.

The clock for the XGMII RX interface with the MAC. Intel recommends connecting it directly to a PLL for use with TSE. This drives rx_coreclkin

312.5 MHz.

of the native PHY. Its frequency is 156.25 or

Transmit parallel clock. It is sourced from out_pld_pcs_tx_clk_out

on the HSSI. This could be used to provide the XGMII clocks or the GMII clocks, though if the PHY is reconfigured, the frequency changes. Its frequency is 125, 156.25,

161, 258, or 312.5 MHz.

Receive parallel clock. It is sourced from out_pld_pcs_rx_clk_out

on the HSSI. If the PHY is reconfigured, the frequency changes. Its frequency is 125, 156.25, 161, 258, or

312.5 MHz.

Transmit PMA clock. This is the clock for the 1588 mode TX FIFO and the 1G TX and RX PCS parallel data interface. Note: Use tx_div_clkout

or xgmii_tx_clk

for 10G TX datapath clocking.

This clock is provided for the 1G mode GMII/MII data and SyncE mode where the clock can be used as a reference to lock an external clock source. Its frequency is 125, 161, or 258 MHz.

Receive PMA clock. This is the clock for the 1588 mode RX FIFO and the 1G RX FIFO. Note: Use tx_div_clkout

or xgmii_rx_clk

for

10G RX datapath clocking. This clock is provided for the SyncE mode where the clock can be used as a reference to lock an external clock source. Its frequency is 125, 161, or 258 MHz.

This is the transmit div33 clock, which is sourced from the Native

PHY tx_pma_div_clkout

. It could be connected to the xgmii_tx_clk

and xgmii_rx_clk

clock inputs to drive the MAC interface, though if the PHY is reconfigured to 1G mode, the frequency changes. Its frequency is 125, 156.25, or 312.5 MHz.

This is the receive div33 clock, which is recovered from the received data. It drives the Auto Negotiation (AN) and Link Training (LT) logic and is sourced from the Native PHY

Note: Use tx_clkout

or rx_pma_div_clkout xgmii_rx_clk

port.

for 10G TX datapath clocking. If the PHY is reconfigured to 1G mode, the frequency changes. Its frequency is 125, 156.25, or 312.5 MHz.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

169

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Signal Name calc_clk_1g tx_analogreset tx_digitalreset rx_analogreset rx_digitalreset usr_seq_reset rx_data_ready

Direction

Input

Input

Input

Input

Input

Input

Output

Description

This is the clock for the GIGE PCS 1588 mode. To achieve high accuracy for all speed modes, the recommended frequency for calc_clk_1g

is 80 MHz. In addition, the 80 MHz clock should have the same parts per million (ppm) as the 125 MHz pll_ref_clk_1g input. The random error without a rate match FIFO mode is:

• ±1 ns at 1000 Mbps

• ± 5 ns at 100 Mbps

• ± 25 ns at 10 Mbps

Resets the analog TX portion of the transceiver PHY. Synchronous to mgmt_clk

.

Resets the digital TX portion of the transceiver PHY. Synchronous to mgmt_clk

.

Resets the analog RX portion of the transceiver PHY. Synchronous to mgmt_clk

.

Resets the digital RX portion of the transceiver PHY. Synchronous to mgmt_clk

.

Resets the sequencer. Initiates a PCS reconfiguration, and may restart AN, LT or both if these modes are enabled. Synchronous to mgmt_clk

.

When asserted, indicates that you can start to send the 10G data.

Synchronous to xgmii_rx_clk

.

Related Information

Input Reference Clock Sources on page 372

PLLs on page 349

2.6.4.5. Parameterizing the 1G/10GbE PHY

This section contains the recommended parameter values for this protocol. Refer to

Using the Arria 10 Transceiver Native PHY IP Core for the full range of parameter values.

The Arria 10 1G/10GbE and 10GBASE-KR PHY IP core allows you to select either the

Backplane-KR or 1Gb/10Gb Ethernet variant. The 1Gb/10Gb Ethernet variant

(1G/10GbE) does not implement the link training and auto-negotiation functions.

Complete the following steps to parameterize the 1Gb/10Gb Ethernet PHY IP core in the parameter editor:

1. Instantiate the Arria 10 1G/10GbE and 10GBASE-KR PHY from the IP Catalog.

Refer to Select and Instantiate the PHY IP Core on page 33.

2. Select 1Gb/10Gb Ethernet from the IP variant list located under Ethernet

Intel FPGA IP Core Type.

3. Use the parameter values in the tables in 10GBASE-R Parameters on page 140,

10M/100M/1Gb Ethernet Parameters

on page 172 , Speed Detection Parameters

on page 142, and

PHY Analog Parameters

on page 173 as a starting point. Or, you can select the BackPlane_wo_1588 option in the Presets tab on the right side of the IP Parameter Editor. You can then modify the setting to meet your specific requirements.

4. Click Generate HDL to generate the 1Gb/10Gb Ethernet IP core top-level HDL file.

Intel ®

170

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Note: You might observe timing violations. If the timing path is within the IP, you can ignore these violations. This will be fixed in a future release of the Intel Quartus Prime software.

Related Information

Using the Arria 10 Transceiver Native PHY IP Core

on page 45

General Options on page 139

10GBASE-R Parameters

on page 140

10M/100M/1Gb Ethernet Parameters

on page 172

Speed Detection Parameters on page 142

PHY Analog Parameters on page 173

2.6.4.5.1. General Options

The General Options allow you to specify options common to 10GBASE-KR mode.

Table 130.

General Options Parameters

Parameter Name

Enable internal PCS reconfiguration logic

On

Off

Options

Enable IEEE 1588 Precision

Time Protocol

Enable M20K block ECC protection

Enable tx_pma_clkout port

Enable rx_pma_clkout port

Enable tx_divclk port

Enable rx_divclk port

Enable tx_clkout port

Enable rx_clkout port

Enable Hard PRBS support and ADME support

On

Off

On

Off

On

Off

On

Off

On

Off

On

Off

On

Off

On

Off

On

Off

Description

This parameter is only an option when set to 0, it does not include the reconfiguration module or expose the start_pcs_reconfig between 1G and 10G modes.

or

SYNTH_SEQ rc_busy

= 0. When

ports. When set to 1, it provides a simple interface to initiate reconfiguration

When you turn on this parameter, you enable the IEEE 1588

Precision Time Protocol logic for both 1G and 10G modes.

When you turn on this parameter, you enable error correction code (ECC) support on the embedded Nios CPU system. This parameter is only valid for the backplane variant.

When you turn on this parameter, the more information about this port.

tx_pma_clkout

port is enabled. Refer to the Clock and Reset Interfaces section for

When you turn on this parameter, the more information about this port.

rx_pma_clkout

port is enabled. Refer to the Clock and Reset Interfaces section for

When you turn on this parameter, the more information about this port.

tx_divclk

port is enabled. Refer to the Clock and Reset Interfaces section for

When you turn on this parameter, the more information about this port.

rx_divclk

port is enabled. Refer to the Clock and Reset Interfaces section for

When you turn on this parameter, the more information about this port.

tx_clkout

port is enabled. Refer to the Clock and Reset Interfaces section for

When you turn on this parameter, the more information about this port.

rx_clkout

port is enabled. Refer to the Clock and Reset Interfaces section for

When you turn on this parameter, you enable the ADME and

Hard PRBS data generation and checking logic in the Native PHY.

The transceiver toolkit (TTK) requires ADME to be enabled in the

Native PHY IP core.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

171

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter Name

Reference clock frequency

Enable additional control and status ports

Include FEC sublayer

Set

FEC_ability

bit on power up and reset

Set

FEC_Enable

bit on power up and reset

Options

644.53125 MHz

322.265625 MHz

On

Off

On

Off

On

Off

On

Off

Description

Specifies the input reference clock frequency. The default is

322.265625 MHz.

When you turn this option on, the core includes the rx_block_lock

and rx_hi_ber

output.

When you turn on this parameter, the core includes logic to implement FEC and a soft 10GBASE-R PCS. This is applicable only for the 10G mode.

When you turn on this parameter, the core sets the

Assert KR

FEC Ability

bit (0xB0[16]) FEC ability bit during power up and reset, causing the core to assert the FEC ability. This option is required for FEC functionality.

When you turn on this parameter, the core sets the

KR FEC

Request

bit (

0xB0[18]

) during power up and reset, causing the core to request the FEC ability during Auto Negotiation. This option is required for FEC functionality.

Related Information

Clock and Reset Interfaces on page 143

2.6.4.5.2. 10GBASE-R Parameters

The 10GBASE-R parameters specify basic features of the 10GBASE-R PCS. The FEC options also allow you to specify the FEC ability.

Table 131.

10GBASE-R Parameters

Parameter Name

10GbE Reference clock frequency

Enable additional control and status ports

Options

644.53125 MHz

322.265625 MHz

On

Off

Description

Specifies the input reference clock frequency. The default is

322.265625 MHz.

When you turn on this parameter, the core includes the rx_block_lock

and rx_hi_ber

ports.

Table 132.

FEC Options

Parameter Name

Include FEC sublayer On

Off

Options Description

When you turn on this parameter, the core includes logic to implement FEC and a soft 10GBASE-R PCS.

2.6.4.5.3. 10M/100M/1Gb Ethernet Parameters

The 10M/100M/1GbE parameters allow you to specify options for the MII interface and the 1GbE data rate.

Table 133.

10M/100M/1Gb Ethernet

Parameter Name

Enable 1Gb Ethernet protocol

On

Options Description

When you turn this option on, the core includes the GMII interface and related logic.

continued...

Intel ®

172

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter Name Options Description

Enable 10Mb/100Mb

Ethernet functionality

PHY ID (32 bits)

PHY core version (16 bits)

Off

On

Off

32-bit value

16-bit value

When you turn this option on, the core includes the MII PCS. It also supports 4-speed mode to implement a 10M/100M interface to the MAC for the GbE line rate.

An optional 32-bit value that serves as a unique identifier for a particular type of PCS. The identifier includes the following components:

• Bits 3-24 of the Organizationally Unique Identifier (OUI) assigned by the IEEE

• 6-bit model number

• 4-bit revision number

If unused, do not change the default value which is

0x00000000.

This is an optional 16-bit value that identifies the PHY core version.

2.6.4.5.4. Speed Detection Parameters

Selecting the speed detection option gives the PHY the ability to detect to link partners that support 1G/10GbE but have disabled Auto-Negotiation. During Auto-Negotiation, if AN cannot detect Differential Manchester Encoding (DME) pages from a link partner, the Sequencer reconfigures to 1GbE and 10GbE modes (Speed/Parallel detection) until it detects a valid 1G or 10GbE pattern.

Table 134.

Speed Detection

Parameter Name

Enable automatic speed detection

On

Off

Options

Avalon-MM clock frequency

Link fail inhibit time for

10Gb Ethernet

Link fail inhibit time for

1Gb Ethernet

Enable PCS-Mode port

100-162 MHz

504 ms

40-50 ms

On

Off

Description

When you turn this option On, the core includes the Sequencer block that sends reconfiguration requests to detect 1G or 10GbE when the Auto Negotiation block is not able to detect AN data.

Specifies the clock frequency for phy_mgmt_clk

.

Specifies the time before link_status

is set to FAIL or OK. A link fails if the link_fail_inhibit_time

has expired before link_status

is set to OK. The legal range is 500-510 ms. For more information, refer to "Clause 73 Auto Negotiation for

Backplane Ethernet" in IEEE Std 802.3ap-2007.

Specifies the time before

link_status

is set to FAIL or OK . A link fails if the link_fail_inhibit_time

has expired before link_status

is set to OK. The legal range is 40-50 ms.

Enables or disables the PCS-Mode port.

2.6.4.5.5. PHY Analog Parameters

You can specify analog parameters using the Intel Quartus Prime Assignment Editor, the Pin Planner, or the Intel Quartus Prime Settings File (.qsf).

Intel ® Arria ® 10 Transceiver PHY User Guide

173

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.6.4.6. 1G/10GbE PHY Interfaces

Figure 76.

1G/10GbE PHY Top-Level Signals

XGMII

GMII

Interfaces

Avalon-MM PHY

Management

Interface

Clocks and

Reset

Interface xgmii_tx_dc[71:0] xgmii_tx_clk xgmii_rx_dc[71:0] xgmii_rx_clk gmii_tx_d[7:0] gmii_rx_d[7:0] gmii_tx_en gmii_tx_err gmii_rx_err gmii_rx_dv

1G/10GbE Top-Level Signals mgmt_clk mgmt_clk_reset mgmt_address[10:0] mgmt_writedata[31:0] mgmt_readdata[31:0] mgmt_write mgmt_read mgmt_waitrequest rx_serial_data tx_serial_data led_char_err led_link led_disp_err led_an led_panel_link rx_block_lock rx_hi_ber rx_is_lockedtodata tx_cal_busy rx_cal_busy rx_syncstatus tx_pcfifo_error_1g rx_pcfifo_error_1g rx_clkslip rx_data_ready rx_latency_adj_1g[21:0] tx_latency_adj_1g[21:0] tx_serial_clk_1g tx_serial_clk_10g rx_cdr_ref_clk_10g rx_cdr_ref_clk_1g tx_pma_clkout rx_pma_clkout tx_clkout rx_clkout tx_pma_div_clkout rx_pma_div_clkout tx_analogreset tx_digitalreset rx_analogreset rx_digitalreset usr_seq_reset mii_tx_d[3:0] mii_tx_en mii_tx_err mii_rx_d[3:0] mii_rx_dv mii_rx_err mii_col mii_crs

Note:

Transceiver

Serial Data

Status

MII

Interfaces

The block diagram shown in the parameter editor labels the external pins with the interface type and places the interface name inside the box. The interface type and name are provided in the _hw.tcl file. If you turn on Show signals, the block

diagram displays all top-level signal names. For more information about _hw.tcl files, refer to the Component Interface Tcl Reference chapter in volume 1 of the Intel

Quartus Prime Handbook.

Intel is deprecating some of the signals shown in this figure. The descriptions of these signals identifies them as not functional.

Related Information

Component Interface Tcl Reference

Intel ®

174

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.6.4.6.1. Clock and Reset Interfaces

Table 135.

Clock and Reset Signals

Signal Name tx_serial_clk_10g tx_serial_clk_1g rx_cdr_ref_clk_10g rx_cdr_ref_clk_1g tx_pma_clkout rx_pma_clkout tx_clkout rx_clkout tx_pma_div_clkout rx_pma_div_clkout tx_analogreset tx_digitalreset rx_analogreset rx_digitalreset usr_seq_reset

Direction

Input

Input

Input

Input

Output

Output

Output

Output

Output

Output

Input

Input

Input

Input

Input

Description

High speed clock from the 10G PLL to drive 10G PHY TX PMA. The frequency of this clock is 5.15625 GHz.

High speed clock from 1G PLL to drive the 1G PHY TX PMA. This clock is not required if GbE is not used. The frequency of this clock is 625

MHz.

10G PHY RX PLL reference clock. This clock frequency can be

644.53125 MHz or 322.2656 MHz.

1G PHY RX PLL reference clock. The frequency is 125 MHz. This clock is only required if 1G is enabled.

Clock used to drive the 10G TX PCS and 1G TX PCS parallel data. For example, when the hard PCS is reconfigured to the 10G mode without FEC enabled, the frequency is 257.81 MHz. The frequency is

161.13 MHz for 10G with FEC enabled.

Clock used to drive the 10G RX PCS and 1G RX PCS parallel data. For example, when the hard PCS is reconfigured to the 10G mode without FEC enabled, the frequency is 257.81 MHz. The frequency is

161.13 MHz for 10G with FEC enabled.

XGMII/GMII TX clock for the TX parallel data source interface. This clock frequency is 257.81 MHz in 10G mode, and 161.13 MHz with

FEC enabled.

XGMII RX clock for the RX parallel data source interface. This clock frequency is 257.81 in 10G mode, and 161.13 MHz with FEC enabled.

The divided 33 clock from the TX serializer. You can use this clock for the for xgmii_tx_clk enable FEC.

or xgmii_rx_clk

. The frequency is 156.25

MHz for 10G. The frequencies are the same whether or not you

The divided 33 clock from CDR recovered clock. The frequency is

156.25 MHz for 10G. The frequencies are the same whether or not you enable FEC. This clock is not used for clocking the 10G RX datapath.

Resets the analog TX portion of the transceiver PHY. Synchronous to mgmt_clk

.

Resets the digital TX portion of the transceiver PHY. Synchronous to mgmt_clk

.

Resets the analog RX portion of the transceiver PHY. Synchronous to mgmt_clk

.

Resets the digital RX portion of the transceiver PHY. Synchronous to mgmt_clk

.

Resets the sequencer. Initiates a PCS reconfiguration, and may restart AN, LT or both if these modes are enabled. Synchronous to mgmt_clk

.

Related Information

Input Reference Clock Sources on page 372

PLLs on page 349

Intel ® Arria ® 10 Transceiver PHY User Guide

175

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.6.4.6.2. Data Interfaces

Table 136.

XGMII Signals

The MAC drives the TX XGMII signals to the 10GbE PHY. The 10GbE PHY drives the RX XGMII signals to the

MAC.

Signal Name Direction xgmii_tx_dc[71:0

] xgmii_tx_clk xgmii_rx_dc[71:0

] xgmii_rx_clk

Input

Input

Output

Input

Clock Domain Description

10GbE XGMII Data Interface

Synchronous to xgmii_tx_clk

XGMII data and control for 8 lanes. Each lane consists of 8 bits of data and 1 bit of control.

Clock signal

Synchronous to xgmii_rx_clk

Clock signal

Clock for single data rate (SDR) XGMII TX interface to the

MAC. It should connect to xgmii_rx_clk

. This clock can be connected to the tx_div_clkout

; however, Intel recommends that you connect it to a PLL for use with the

Triple Speed Ethernet IP function. The frequency is 125 MHz for 1G and 156.25 MHz for 10G. This clock is driven from the

MAC.

The frequencies are the same whether or not you enable FEC.

RX XGMII data and control for 8 lanes. Each lane consists of 8 bits of data and 1 bit of control.

Clock for SDR XGMII RX interface to the MAC. This clock can be connected to the tx_div_clkout

; however, Intel recommends that you connect it to a PLL for use with the

Triple Speed Ethernet IP function. The frequency is 125 MHz for 1G and 156.25 MHz for 10G. This clock is driven from the

MAC.

The frequencies are the same whether or not you enable FEC.

2.6.4.6.3. XGMII Mapping to Standard SDR XGMII Data

Table 137.

TX XGMII Mapping to Standard SDR XGMII Interface

The 72-bit TX XGMII data bus format is different than the standard SDR XGMII interface. This table shows the mapping of this non-standard format to the standard SDR XGMII interface.

Signal Name SDR XGMII Signal Name xgmii_tx_dc[7:0] xgmii_tx_dc[8] xgmii_tx_dc[16:9] xgmii_tx_dc[17] xgmii_tx_dc[25:18] xgmii_tx_dc[26] xgmii_tx_dc[34:27] xgmii_tx_dc[35] xgmii_tx_dc[43:36] xgmii_tx_dc[44] xgmii_tx_dc[52:45] xgmii_tx_dc[53] xgmii_sdr_data[7:0] xgmii_sdr_ctrl[0] xgmii_sdr_data[15:8] xgmii_sdr_ctrl[1] xgmii_sdr_data[23:16] xgmii_sdr_ctrl[2] xgmii_sdr_data[31:24] xgmii_sdr_ctrl[3] xgmii_sdr_data[39:32] xgmii_sdr_ctrl[4] xgmii_sdr_data[47:40] xgmii_sdr_ctrl[5]

Description

Lane 0 data

Lane 0 control

Lane 1 data

Lane 1 control

Lane 2 data

Lane 2 control

Lane 3 data

Lane 3 control

Lane 4 data

Lane 4 control

Lane 5 data

Lane 5 control continued...

Intel ®

176

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Signal Name xgmii_tx_dc[61:54] xgmii_tx_dc[62] xgmii_tx_dc[70:63] xgmii_tx_dc[71]

SDR XGMII Signal Name xgmii_sdr_data[55:48] xgmii_sdr_ctrl[6] xgmii_sdr_data[63:56] xgmii_sdr_ctrl[7]

Description

Lane 6 data

Lane 6 control

Lane 7 data

Lane 7 control

Table 138.

RX XGMII Mapping to Standard SDR XGMII Interface

The 72-bit RX XGMII data bus format is different from the standard SDR XGMII interface. This table shows the mapping of this non-standard format to the standard SDR XGMII interface.

Signal Name XGMII Signal Name Description xgmii_rx_dc[7:0] xgmii_sdr_data[7:0]

Lane 0 data xgmii_rx_dc[8] xgmii_rx_dc[16:9] xgmii_rx_dc[17] xgmii_rx_dc[25:18] xgmii_rx_dc[26] xgmii_rx_dc[34:27] xgmii_rx_dc[35] xgmii_rx_dc[43:36] xgmii_rx_dc[44] xgmii_sdr_ctrl[0] xgmii_sdr_data[15:8] xgmii_sdr_ctrl[1] xgmii_sdr_data[23:16] xgmii_sdr_ctrl[2] xgmii_sdr_data[31:24] xgmii_sdr_ctrl[3] xgmii_sdr_data[39:32] xgmii_sdr_ctrl[4]

Lane 0 control

Lane 1 data

Lane 1 control

Lane 2 data

Lane 2 control

Lane 3 data

Lane 3 control

Lane 4 data

Lane 4 control xgmii_rx_dc[52:45] xgmii_rx_dc[53] xgmii_rx_dc[61:54] xgmii_rx_dc[62] xgmii_rx_dc[70:63] xgmii_rx_dc[71] xgmii_sdr_data[47:40] xgmii_sdr_ctrl[5] xgmii_sdr_data[55:48] xgmii_sdr_ctrl[6] xgmii_sdr_data[63:56] xgmii_sdr_ctrl[7]

Lane 5 data

Lane 5 control

Lane 6 data

Lane 6 control

Lane 7 data

Lane 7 control

2.6.4.6.4. GMII Interface

The GMII interface signals drive data to and from the PHY.

Table 139.

GMII Interface Ports

Signal Name gmii_tx_d[7:0]

Direction

Input gmii_tx_en gmii_tx_err gmii_rx_d[7:0] gmii_rx_dv

Input

Input

Output

Output

Description

Data to be encoded and sent to the link partner. This signal is clocked with tx_clkout

.

The GMII TX control signal. Synchronous to tx_clkout

.

The GMII TX error signal. Synchronous to tx_clkout

.

Data to be encoded and sent to the link partner. This signal is clocked with tx_clkout

.

The GMII RX control signal. Synchronous to tx_clkout

.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

177

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Signal Name gmii_rx_err led_char_err led_link led_disp_err led_an

Direction

Output

Output

Output

Output

Output

Description

The GMII RX error signal. Synchronous to tx_clkout

.

10-bit character error. Asserted for one rx_clkout_1g cycle when an erroneous 10-bit character is detected.

When asserted, this signal indicates successful link synchronization.

When asserted, this signal indicates a 10-bit running disparity error. Asserted for one rx_clkout_1g

cycle when a disparity error is detected. A running disparity error indicates that errors were detected on more received groups than the previous and possibly current groups.

This signal indicates the auto-negotiation status. The PCS function asserts this signal when an auto-negotiation completes.

2.6.4.6.5. Serial Data Interface

Table 140.

Serial Data Signals

Signal Name rx_serial_data tx_serial_data

Direction

Input

Output

2.6.4.6.6. Control and Status Interfaces

Table 141.

Control and Status Signals

Signal Name led_link led_disp_err

Direction

Output

Output

Clock Domain

Synchronous to tx_clkout

Synchronous to rx_clkout

Description

RX serial input data

TX serial output data

Description

When asserted, indicates successful link synchronization.

led_an led_panel_link

Output

Output

Synchronous to rx_clkout

Synchronous to mgmt_clk

Disparity error signal indicating a 10-bit running disparity error. Asserted for one

rx_clkout_1g

cycle when a disparity error is detected. A running disparity error indicates that more than the previous and perhaps the current received group had an error.

Clause 37 Auto-negotiation status. The PCS function asserts this signal when auto-negotiation completes.

When asserted, this signal indicates the following behavior:

Mode

1000 Base-X without Autonegotiation

Behavior

When asserted, indicates successful link synchronization.

continued...

Intel ®

178

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Signal Name rx_block_lock

Output rx_hi_ber

Output rx_is_lockedtodat a

Output tx_cal_busy

Output rx_cal_busy

Output tx_pcfifo_error_1 g

Output rx_pcfifo_error_1 g

Output lcl_rf

Input rx_clkslip rx_data_ready

Direction

Input

Output rx_latency_adj_10 g[15:0]

Output

Clock Domain Description

Mode

SGMII mode without Autonegotiation

1000 Base-X with Autonegotiation

SGMII mode with MAC mode Auto-negotiation

Behavior

When asserted, indicates successful link synchronization.

Clause 37 Auto-negotiation status. The PCS function asserts this signal when auto-negotiation completes.

Clause 37 Auto-negotiation status. The PCS function asserts this signal when auto-negotiation completes.

Synchronous to rx_clkout

Synchronous to rx_clkout

Asynchronous signal

Synchronous to mgmt_clk

Synchronous to mgmt_clk

N/A

N/A

Synchronous to xgmii_tx_clk

Asynchronous signal

Synchronous to xgmii_rx_clk

Synchronous to xgmii_rx_clk

Asserted to indicate that the block synchronizer has established synchronization.

Asserted by the BER monitor block to indicate a Sync

Header high bit error rate greater than 10 -4 .

When asserted, indicates the RX channel is locked to input data.

When asserted, indicates that the TX channel is being calibrated.

When asserted, indicates that the RX channel is being calibrated.

When asserted, indicates that the standard PCS TX phase compensation FIFO is either full or empty.

When asserted, indicates that the Standard PCS RX phase compensation FIFO is either full or empty.

When asserted, indicates a Remote Fault (RF).The MAC sends this fault signal to its link partner. Bit D13 of the

Auto Negotiation Advanced Remote Fault

register

(0xC2) records this error.

When asserted, the deserializer either skips one serial bit or pauses the serial clock for one cycle to achieve word alignment. As a result, the period of the parallel clock could be extended by 1 unit interval (UI) during the clock slip operation.This is an optional control input signal.

When asserted, indicates that the MAC can begin sending data to the PHY.

When you enable 1588, this signal outputs the real time latency in XGMII clock cycles (156.25 MHz) for the RX

PCS and PMA datapath for 10G mode. Bits 0 to 9 represent the fractional number of clock cycles. Bits 10 to

15 represent the number of clock cycles.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

179

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Signal Name tx_latency_adj_10 g[15:0]

Direction

Output

Clock Domain

Synchronous to xgmii_tx_clk rx_latency_adj_1 g[21:0]

Output tx_latency_adj_1 g[21:0]

Output

Synchronous to gmii_rx_clk

Synchronous to gmii_tx_clk

Description

When you enable 1588, this signal outputs the real time latency in XGMII clock cycles (156.25 MHz) for the TX

PCS and PMA datapath for 10G mode. Bits 0 to 9 represent the fractional number of clock cycles. Bits 10 to

15 represent the number of clock cycles.

When you enable 1588, this signal outputs the real time latency in GMII clock cycles (125 MHz) for the RX PCS and

PMA datapath for 1G mode. Bits 0 to 9 represent the fractional number of clock cycles. Bits 10 to 21 represent the number of clock cycles.

When you enable 1588, this signal outputs the real time latency in GMII clock cycles (125 MHz) for the TX PCS and

PMA datapath for 1G mode. Bits 0 to 9 represent the fractional number of clock cycles. Bits 10 to 21 represent the number of clock cycles.

2.6.4.6.7. MII

Table 142.

MII Signals

Name Directi on

Description

MII Transmit Interface mii_tx_d[3:0] mii_tx_en mii_tx_err

MII Receive Interface mii_rx_d[3:0] mii_rx_dv

Input

Input

Input

MII transmit data bus.

Assert this signal to indicate that the data on mii_tx_d[3:0] is valid.

Assert this signal to indicate to the PHY device that the frame sent is invalid.

mii_rx_err mii_col mii_crs

Output MII receive data bus.

Output Asserted to indicate that the data on the CRC field is received.

mii_rx_d[3:0] is valid. The signal stays asserted during frame reception, from the first preamble byte until the last byte of

Output Asserted by the PHY to indicate that the current frame contains errors.

Output Collision detection. Asserted by the PCS function to indicate that a collision was detected during frame transmission.

Output Carrier sense detection. Asserted by the PCS function to indicate that a transmit or receive activity is detected on the Ethernet line.

2.6.4.6.8. Dynamic Reconfiguration Interface

You can use the dynamic reconfiguration interface signals to dynamically change between 1G and 10G data rates.

Table 143.

Dynamic Reconfiguration Interface Signals

Signal Name rc_busy

Direction

Output

Clock Domain

Synchronous to mgmt_clk

Description

When asserted, indicates that reconfiguration is in progress. Synchronous to the mgmt_clk

. This signal is only exposed under the following condition: continued...

Intel ®

180

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Signal Name start_pcs_reconf ig

Input mode_1g_10gbar

Direction

Input

Clock Domain

Synchronous to mgmt_clk

Synchronous to mgmt_clk

Description

• Turn on Enable internal PCS reconfiguration logic

When asserted, initiates reconfiguration of the PCS.

Sampled with the mgmt_clk

. This signal is only exposed under the following condition:

• Turn on Enable internal PCS reconfiguration logic

This signal selects either the 1G or 10G tx-parallel-data going to the PCS. It is only used for the 1G/10G application (variant) under the following circumstances:

• the Sequencer (auto-rate detect) is not enabled

• 1G mode is enabled

2.6.4.7. Avalon-MM Register Interface

The Avalon-MM slave interface signals provide access to all registers.

Table 144.

Avalon-MM Interface Signals

Signal Name mgmt_clk

Direction

Input

Clock Domain

Clock mgmt_clk_res et mgmt_addr[10

:0]

Input

Input

Asynchronous reset

Description

The clock signal that controls the Avalon-MM PHY management interface. If you plan to use the same clock for the PHY management interface and transceiver reconfiguration, you must restrict the frequency to 100-125 MHz to meet the specification for the transceiver reconfiguration clock.

Resets the PHY management interface. This signal is active high and level sensitive.

11-bit Avalon-MM address.

mgmt_writeda ta[31:0] mgmt_readdat a[31:0] mgmt_write mgmt_read mgmt_waitreq uest

Input

Output

Input

Input

Output

Synchronous to mgmt_clk

Synchronous to mgmt_clk

Synchronous to mgmt_clk

Synchronous to mgmt_clk

Synchronous to mgmt_clk

Synchronous to mgmt_clk

Input data.

Output data.

Write signal. Active high.

Read signal. Active high.

When asserted, indicates that the Avalon-MM slave interface is unable to respond to a read or write request. When asserted, control signals to the Avalon-MM slave interface must remain constant.

Related Information

Avalon Interface Specifications

2.6.4.7.1. 1G/10GbE Register Definitions

The Avalon-MM master interface signals provide access to the control and status registers.

The following table specifies the control and status registers that you can access over the Avalon-MM interface. A single address space provides access to all registers.

Note: Unless otherwise indicated, the default value of all registers is 0.

Intel ® Arria ® 10 Transceiver PHY User Guide

181

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Note: Do not write to any register that is not specified.

Table 145.

1G/10GbE Register Definitions

Word

Addr

0x4B0 0

Bit R/W

RW

Name

0x4B1

1

2

3

7:4

8

16

17

18

0

1

2

13:8

RW

RW

RW

RW

RW

RW

RW

RW

R

R

R

R

Description

Reset SEQ

When set to 1, resets the 10GBASE-KR sequencer (auto rate detect logic), initiates a PCS reconfiguration, and may restart

Auto-Negotiation (AN), Link Training (LT), or both if AN and LT are enabled (10GBASE-KR mode). SEQ Force Mode[2:0] forces these modes. This reset self clears.

Disable AN Timer

Disable LF Timer fail_lt_if_ber

AN disable timer. If disabled (

Disable AN Timer

= 1) , AN may get stuck and require software support to remove the

ABILITY_DETECT capability if the link partner does not include this feature. In addition, software may have to take the link out of loopback mode if the link is stuck in the ACKNOWLEDGE_DETECT state. To enable this timer set

Disable AN Timer = 0

.

When set to 1, disables the Link Fail timer. When set to 0, the

Link Fault timer is enabled.

When set to 1, the last LT measurement is a non-zero number.

Treat this as a failed run. 0 = Normal.

SEQ Force Mode[2:0]

Other than the "No force" mode (0x4B0[7:4] = 4'b0000), you must write the

Reset SEQ

(0x4B0[0]) to 1 when switching to the required data mode by changing (forcing) the 0x4B0[7:4] bits.

The following encodings are defined:

• 0000: No force

• 0001: GbE

• 0010: XAUI

• 0100: 10GBASE-R

• 0101: 10GBASE-KR

• 1100: 10GBASE-KR FEC

Enable Arria 10

Calibration

KR FEC enable err ind 171.1

When set to 1, it enables the Arria 10 HSSI reconfiguration calibration as part of the PCS dynamic reconfiguration. 0 skips the calibration when the PCS is reconfigured.

KR FEC enable 171.0

When set to 1, FEC is enabled. When set to 0, FEC is disabled.

Resets to the CAPABLE_FEC parameter value.

When set to 1, KR PHY FEC decoding errors are signaled to the

PCS. When set to 0, FEC errors are not signaled to the PCS. See

Clause 74.8.3 of IEEE 802.3ap-2007 for details.

KR FEC request

SEQ Link Ready

When set to 1, enables the FEC request. When this bit changes, you must assert the

Reset SEQ

bit (0x4B0[0]) to renegotiate with the new value. When set to 0, disables the FEC request.

When asserted, the sequencer indicates the link is ready.

SEQ AN timeout

SEQ LT timeout

SEQ Reconfig

Mode[5:0]

When asserted, the sequencer has had an AN timeout. This bit is latched and is reset when the sequencer restarts AN.

When set, indicates that the sequencer has had a timeout.

Specifies the sequencer mode for PCS reconfiguration. The following modes are defined:

• Bit 8, mode[0]: AN mode

• Bit 9, mode[1]: LT Mode

• Bit 10, mode[2]: 10G data mode

• Bit 11, mode[3]: GbE data mode

• Bit 12, mode[4]: Reserved for XAUI

• Bit13, mode[5]: 10G FEC mode continued...

Intel ®

182

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Word

Addr

Bit R/W Name Description

16

17

R

R

KR FEC ability

170.0

KR FEC err ind ability 170.0

0x4B2 0:10

11

RW

RWSC

31:15 RWSC

0x4B5 to

0x4BF

0x4C0

( 36

)

0 RW

Reserved

KR FEC TX Error

Insert

Reserved

Reserved for 40G KR

0x4C1

0x4C2

1

2

3

4

5

0

4

8

1

RW

RW

RW

RW

RW

RW

RW

RW

RO

When set to 1, indicates that the 10GBASE-KR PHY supports FEC.

Set as parameter

SYNTH_FEC

. For more information, refer to

Clause 45.2.1.84 of IEEE 802.3ap-2007.

When set to 1, indicates that the 10GBASE-KR PHY is capable of reporting FEC decoding errors to the PCS. For more information, refer to Clause 74.8.3 of IEEE 802.3ap-2007.

Writing a 1 inserts one error pulse into the TX FEC depending on the transcoder and burst error settings.

Intentionally left empty for address compatibility with 40G MAC +

PHY KR solutions.

AN enable

AN base pages ctrl

AN next pages ctrl

Local device remote fault

Force TX nonce value

Override AN

Parameters Enable

Reset AN

Restart AN TX SM

AN Next Page

AN page received

When set to 1, enables the AN function. The default value is 1.

For additional information, refer to bit 7.0.12 in Clause 73.8

Management Register Requirements of IEEE 802.3ap-2007.

When set to 1, the user base pages are enabled. You can send any arbitrary data via the user base page low/high bits. When set to 0, the user base pages are disabled and the state machine generates the base pages to send.

When set to 1, the user next pages are enabled. You can send any arbitrary data via the user next page low/high bits. When set to 0, the user next pages are disabled. The state machine generates the null message to send as next pages.

When set to 1, the local device signals Remote Faults in the AN pages. When set to 0, a fault has not occurred.

When set to 1, forces the TX nonce value to support some UNH testing modes. When set to 0, this is normal operation.

When set to 1, overrides the

AN_TECH

,

AN_FEC

, and

AN_PAUSE parameters and uses the bits in 0x4C3 instead. You must reset the Sequencer to reconfigure and restart into AN mode. When set to 0, this is normal operation and is used with 0x4B0 bit 0 and

0x4C3 bits[30:16].

When set to 1, resets all the 10GBASE-KR AN state machines.

This bit is self clearing.

When set to 1, restarts the 10GBASE-KR TX state machine. This bit self clears and is active only when the TX state machine is in the AN state. For more information, refer to bit 7.0.9 in Clause

73.8 Management Register Requirements of IEEE 802.3ap-2007.

When asserted, new next page (NP) info is ready to send. The data is in the XNP TX registers. When 0, the TX interface sends null pages. This bit self clears. NP is encoded in bit D15 of Link

Codeword. For more information, refer to Clause 73.6.9 and bit

7.16.15 of Clause 45.2.7.6 of IEEE 802.3ap-2007.

When set to 1, a page has been received. When 0, a page has not been received. The current value clears when the register is read.

For more information, refer to bit 7.1.6 in Clause 73.8 of IEEE

802.3ap-2007.

continued...

(36) These register bits are only applicable to the 10GBASE-KR mode.

Intel ® Arria ® 10 Transceiver PHY User Guide

183

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Word

Addr

2

3

4

5

6

7

8

Bit

0x4C2 9 RO

17:12 RO

0x4C3 15:0

R/W

RO

RO

RO

RO

RO

RO

RO

RW

21:16 RW

25:24 RW

Name Description

AN Complete

When asserted, AN has completed. When 0, AN is in progress. For more information, refer to bit 7.1.5 in Clause 73.8 of IEEE

802.3ap-2007.

AN ADV Remote Fault

When set to 1, fault information has been sent to the link partner.

When 0, a fault has not occurred. The current value clears when the register is read. Remote Fault (RF) is encoded in bit D13 of the base Link Codeword. For more information, refer to Clause

73.6.7 of and bit 7.16.13 of IEEE 802.3ap-2007.

AN RX SM Idle

AN Ability

AN Status

LP AN Ability

FEC negotiated – enable FEC from SEQ

When set to 1, the AN state machine is in the idle state. Incoming data is not Clause 73 compatible. When 0, the AN is in progress.

When set to 1, the transceiver PHY is able to perform AN. When set to 0, the transceiver PHY is not able to perform AN. If your variant includes AN, this bit is tied to 1. For more information, refer to bits 7.1.3 and 7.48.0 of Clause 45 of IEEE 802.3ap-2007.

When set to 1, link is up. When 0, the link is down. The current value clears when the register is read. For more information, refer to bit 7.1.2 of Clause 45 of IEEE 802.3ap-2007.

When set to 1, the link partner is able to perform AN. When 0, the link partner is not able to perform AN. For more information, refer to bit 7.1.0 of Clause 45 of IEEE 802.3ap-2007.

When set to 1, the PHY is negotiated to perform FEC. When set to

0, the PHY is not negotiated to perform FEC.

Seq AN Failure

KR AN Link

Ready[5:0]

User base page low

When set to 1, a sequencer AN failure has been detected. When set to 0, an AN failure has not been detected.

Provides a one-hot encoding of an_receive_idle = true

The following encodings are defined:

and link status for the supported link as described in Clause 73.10.1.

• 6'b000000: 1000BASE-KX

• 6'b000001: 10GBASE-KX4

• 6'b000100: 10GBASE-KR

• 6'b001000: 40GBASE-KR4

• 6'b010000: 40GBASE-CR4

• 6'b100000: 100GBASE-CR10

The AN TX state machine uses these bits if the AN base pages ctrl bit is set. The following bits are defined:

• [15]: Next page bit

• [14]: ACK, controlled by the SM

• [13]: Remote Fault bit

• [12:10]: Pause bits

• [9:5]: Echoed nonce, set by the state machine

• [4:0]: Selector

The auto generation TX state machine generates the PRBS bit 49.

Override

AN_TECH[5:0]

Override

AN_FEC[1:0]

AN_TECH

value to override. The following bits are defined:

• Bit-16 =

AN_TECH[0]

= 1000BASE-KX

• Bit-18 =

AN_TECH[2]

= 10GBASE-KR

You must set 0xC0 bit-5 for this to take effect .

AN_FEC

value to override. The following bits are defined:

• Bit-24 =

AN_FEC [0]

= Capability

• Bit-25 =

AN_FEC [1]

= Request

You must set 0xC0 bit-5 for this to take effect.

continued...

Intel ®

184

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Word

Addr

Bit R/W

30:28 RW

0x4C4 31:0

0x4C5 15:0

0x4C6 31:0

0x4C7 15:0

0x4C8 31:0

0x4C9 15:0

0x4CA 31:0

0x4CB 24:0

RW

RW

RW

RO

RO

RO

RO

RO

Name Description

Override

AN_PAUSE[2:0]

AN_PAUSE value to override. The following bits are defined:

• Bit-28 =

AN_PAUSE [0]

= Pause Ability

• Bit-29 =

AN_PAUSE [1]

= Asymmetric Direction

• Bit-30 =

AN_PAUSE [2]

= Reserved

You must set 0xC0 bit-5 for this to take effect.

User base page high

The AN TX state machine uses these bits if the AN base pages ctrl bit is set. The following bits are defined:

• [29:5]: Correspond to page bits 45:21, the technology ability.

• [4:0]: Correspond to bits 20:16, the TX nonce bits.

The AN TX state machine generates the PRBS bit 49.

User Next page low

The AN TX state machine uses these bits if the AN next pages ctrl bit is set. The following bits are defined:

• [15]: Next page bit

• [14]: ACK, controlled by the state machine

• [13]: Message Page (MP) bit

• [12]: ACK2 bit

• [11]: Toggle bit

For more information, refer to Clause 73.7.7.1 Next Page encodings of IEEE 802.3ap-2007. Bit 49, the PRBS bit, is generated by the AN TX state machine.

User Next page high

The AN TX state machine uses these bits if the AN next pages ctrl bit is set. Bits [31:0] correspond to page bits [47:16]. Bit 49, the

PRBS bit, is generated by the AN TX state machine.

LP base page low

LP base page high

LP Next page low

LP Next page high

AN LP ADV

Tech_A[24:0]

The AN RX state machine receives these bits from the link partner. The following bits are defined:

• [15] Next page bit

• [14] ACK, which is controlled by the state machine

• [13] RF bit

• [12:10] Pause bits

• [9:5] Echoed nonce which are set by the state machine

• [4:0] Selector

The AN RX state machine received these bits from the link partner. The following bits are defined:

• [31:30]: Reserved

• [29:5]: Correspond to page bits [45:21], the technology ability

• [4:0]: Correspond to bits [20:16], the TX Nonce bits

The AN RX state machine receives these bits from the link partner. The following bits are defined:

• [15]: Next page bit

• [14]: ACK which is controlled by the state machine

• [13]: MP bit

• [12] ACK2 bit

• [11] Toggle bit

For more information, refer to Clause 73.7.7.1 Next Page encodings of IEEE 802.3ap-2007.

The AN RX state machine receives these bits from the link partner. Bits [31:0] correspond to page bits [47:16].

Received technology ability field bits of Clause 73 Auto-

Negotiation. The 10GBASE-KR PHY supports A0 and A2. The following protocols are defined: continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

185

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Word

Addr

Bit

26:25 RO

27 RO

30:28 RO

0x4D0 0

1

2

3

7:4

R/W

RW

RW

RW

RW

RW

11:8 RW

0x4D0 14:12 RW

Name Description

AN LP ADV

FEC_F[1:0]

AN LP ADV Remote

Fault

AN LP ADV Pause

Ability_C[2:0]

Link Training enable

• A0 1000BASE-KX

• A1 10GBASE-KX4

• A2 10GBASE-KR

• A3 40GBASE-KR4

• A4 40GBASE-CR4

• A5 100GBASE-CR10

• A24:6 are reserved

For more information, refer to Clause 73.6.4 and AN LP base page ability registers (7.19-7.21) of Clause 45 of IEEE 802.3ap-2007.

Received FEC ability bits (F0:F1) is encoded in bits D46:D47 of the base Link Codeword. F0 is FEC ability. F1 is FEC requested.

See Clause 73.6.5 of IEEE 802.3ap-2007 for details.

Received Remote Fault (RF) ability bits. RF is encoded in bit D13 of the base link codeword in Clause 73 AN. For more information, refer to Clause 73.6.7 and bits AN LP base page ability register

AN LP base page ability registers (7.19-7.21) of Clause 45 of IEEE

802.3ap-2007.

Received pause ability bits. Pause (C0:C1) is encoded in bits

D11:D10 of the base link codeword in Clause 73 AN as follows:

• C0 is the same as PAUSE as defined in Annex 28B

• C1 is the same as ASM_DIR as defined in Annex 28B

• C2 is reserved

For more information, refer to bits AN LP base page ability registers (7.19-7.21) of Clause 45 of IEEE 802.3ap-2007.

When 1, enables the 10GBASE-KR start-up protocol. When 0, disables the 10GBASE-KR start-up protocol. The default value is

1. For more information, refer to Clause 72.6.10.3.1 and

10GBASE-KR PMD control register bit (1.150.1) of IEEE

802.3ap-2007.

dis_max_wait_tmr quick_mode

When set to 1, disables the LT

(BER) timer values.

max_wait_timer

. Used for characterization mode when setting much longer bit error rate

When set to 1, only the init and preset values calculate the best

BER.

pass_one

When set to 1, the BER algorithm considers more than the first local minimum when searching for the lowest BER. The default value is 1.

main_step_cnt [3:0]

Specifies the number of equalization steps for each main tap update. There are about 20 settings for the internal algorithm to test. The valid range is 1-15. The default value is 4'b0010.

prpo_step_cnt [3:0]

Specifies the number of equalization steps for each pre- and posttap update. From 16-31 steps are possible. The default value is

4'b0001.

equal_cnt [2:0]

Adds hysteresis to the error count to avoid local minimums. The following values are defined:

• 000 = 0

• 001 = 1

• 010 = 2

• 011 = 3

• 100 = 4

• 101 = 8

• 110 = 16

• 111 = Reserved continued...

Intel ®

186

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Word

Addr

4

8

0x4D2 0

1

2

Bit

15

16

17

0x4D0

0x4D1

22

28:24

31:29

0

RW

RW

RW

RW

R/W

RW

RW

RW

RW

RW

RO

RO

RO

Name Description disable Initialize

PMA on max_wait_timeout

Ovride LP Coef enable

Ovride Local RX

Coef enable adp_ctle_mode

The default value is 010.

When set to 1, PMA values (VOD, pre-tap, post-tap) are not initialized upon entry into the

Training_Failure

state. This happens when max_wait_timer_done

, which sets training_failure

= true (reg 0x4D2 bit 3). Used for

University of New Hampshire (UNH) testing. When set to 0, PMA values are initialized upon entry into

Training_Failure

state.

Refer to Figure 72-5 of IEEE 802.3ap-2007 for more details.

When set to 1, overrides the link partner's equalization coefficients; software changes the update commands sent to the link partner TX equalizer coefficients. When set to 0, uses the Link

Training logic to determine the link partner coefficients. Used with

0x4D1 bit-4 and 0x4D4 bits[7:0].

When set to 1, overrides the local device equalization coefficients generation protocol. When set, the software changes the local TX equalizer coefficients. When set to 0, uses the update command received from the link partner to determine local device coefficients. Used with 0x4D1 bit-8 and 0x4D4 bits[23:16]. The default value is 1.

Reserved. Default = 000

Manual ctle

Reserved

Reserved max_post_step[2:0]

Restart Link training

When set to 1, resets the 10GBASE-KR start-up protocol. When set to 0, continues normal operation. This bit self clears. For more information, refer to the state variable mr_restart_training as defined in Clause 72.6.10.3.1 and 10GBASE-KR PMD control register bit (1.150.0) IEEE 802.3ap-2007.

Updated TX Coef new

When set to 1, there are new link partner coefficients available to send. The LT logic starts sending the new values set in 0x4D4 bits[7:0] to the remote device. When set to 0, continues normal operation. This bit self clears. Must enable this override in 0x4D0 bit 16.

Updated RX coef new

When set to 1, new local device coefficients are available. The LT logic changes the local TX equalizer coefficients as specified in

0x4D4 bits[23:16]. When set to 0, continues normal operation.

This bit self clears. Must enable the override in 0x4D0 bit17.

Link Trained -

Receiver status

Link Training Frame lock

Link Training

Start-up protocol status

When set to 1, the receiver is trained and is ready to receive data. When set to 0, receiver training is in progress. For more information, refer to the state variable rx_trained as defined in

Clause 72.6.10.3.1 and bit 10GBASE-KR PMD control register bit

10GBASE_KR PMD status register bit (1.151.0) of IEEE

802.3ap-2007.

When set to 1, the training frame delineation has been detected.

When set to 0, the training frame delineation has not been detected. For more information, refer to the state variable frame_lock as defined in Clause 72.6.10.3.1 and 10GBASE_KR

PMD status register bit 10GBASE_KR PMD status register bit

(1.151.1) of IEEE 802.3ap-2007.

When set to 1, the start-up protocol is in progress. When set to 0, start-up protocol has completed. For more information, refer to the state training as defined in Clause 72.6.10.3.1 and

10GBASE_KR PMD status register bit (1.151.2) of IEEE

802.3ap-2007.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

187

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Word

Addr

Bit R/W Name Description

0x4D3

0x4D4

3

4

5

6

7

9:0

29:20 RW

5:0

RO

RO

RO

RO

RO

RW

19:10 RW

RO or

RW

Link Training failure

When set to 1, a training failure has been detected. When set to

0, a training failure has not been detected. For more information, refer to the state variable training_failure as defined in Clause

72.6.10.3.1 and bit 10GBASE_KR PMD status register bit

(1.151.3) of IEEE 802.3ap-2007.

Link Training Error

When set to 1, excessive errors occurred during Link Training.

When set to 0, the BER is acceptable.

Link Training Frame lock Error

RXEQ Frame Lock

Loss

When set to 1, indicates a frame lock was lost during Link

Training. If the tap settings specified by the fields of 0x4D5 are the same as the initial parameter value, the frame lock error was unrecoverable.

Frame lock not detected at some point during RXEQ, possibly triggering conditional RXEQ mode.

CTLE Fine-grained

Tuning Error

Could not determine the best CTLE due to maximum BER limit at each step in the fine-grained tuning mode.

ber_time_frames ber_time_k_frames ber_time_m_frames

LD coefficient update[5:0]

Specifies the number of training frames to examine for bit errors on the link for each step of the equalization settings. Used only when ber_time_k_frames defined:

is 0. The following values are

• A value of 2 is about 10 3 bytes

• A value of 20 is about 10 4 bytes

• A value of 200 is about 10 5 bytes

The default value for simulation is 2'b11. The default value for hardware is 0.

Specifies the number of thousands of training frames to examine for bit errors on the link for each step of the equalization settings.

Set ber_time_m_frames = 0 following values:

for time/bits to match the

• A value of 3 is about 10 7 bits = About 1.3 ms

• A value of 25 is about 10 8 bits = About 11 ms

• A value of 250 is about 10 9 bits = About 110 ms

The default value for simulation is 0. The default value for hardware is 0x415.

Specifies the number of millions of training frames to examine for bit errors on the link for each step of the equalization settings.

Set ber_time_k_frames = 4'd1000 = 0x43E8 for time/bits to match the following values:

• A value of 3 is about 10 10 bits = About 1.3 seconds

• A value of 25 is about 10 11 bits = About 11 seconds

• A value of 250 is about 10 12 bits = About 110 seconds

Reflects the contents of the first 16-bit word of the training frame sent from the local device control channel. Normally, the bits in this register are read-only; however, when you override training by setting the

Ovride Coef enable

control bit, these bits become writable. The following fields are defined:

• [5: 4]: Coefficient (+1) update

— 2'b11: Reserved

— 2'b01: Increment

— 2'b10: Decrement

— 2'b00: Hold

• [3:2]: Coefficient (0) update (same encoding as [5:4])

• [1:0]: Coefficient (-1) update (same encoding as [5:4]) continued...

Intel ®

188

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Word

Addr

Bit R/W Name Description

0x4D4

6

7

13:8

14

22

RO or

RW

RO or

RW

RO

RO

21:16 RO or

RW

RO or

RW

LD Initialize

Coefficients

LD Preset

Coefficients

LD coefficient status[5:0]

Link Training ready

- LD Receiver ready

LP coefficient update[5:0]

LP Initialize

Coefficients

For more information, refer to bit 10G BASE-KR LD coefficient update register bits (1.154.5:0) in Clause 45.2.1.80.3 of IEEE

802.3ap-2007.

When set to 1, requests the link partner coefficients be set to configure the TX equalizer to its INITIALIZE state. When set to 0, continues normal operation. For more information, refer to 10G

BASE-KR LD coefficient update register bits (1.154.12) in Clause

45.2.1.80.3 and Clause 72.6.10.2.3.2 of IEEE 802.3ap-2007.

When set to 1, requests the link partner coefficients be set to a state where equalization is turned off. When set to 0 the link operates normally. For more information, refer to bit 10GBASE-KR

LD coefficient update register bit (1.154.13) in Clause 45.2.1.80.3

and Clause 72.6.10.2.3.2 of IEEE 802.3ap-2007.

Status report register for the contents of the second, 16-bit word of the training frame most recently sent from the local device control channel. The following fields are defined:

• [5:4]: Coefficient (post-tap)

— 2'b11: Maximum

— 2'b01: Minimum

— 2'b10: Updated

— 2'b00: Not updated

• [3:2]: Coefficient (0) (same encoding as [5:4])

• [1:0]: Coefficient (pre-tap) (same encoding as [5:4])

For more information, refer to bit 10GBASE-KR LD status report register bit (1.155.5:0) in Clause 45.2.1.81 of IEEE

802.3ap-2007.

When set to 1, the local device receiver has determined that training is complete and it is prepared to receive data. When set to 0, the local device receiver requests that training continue.

Values for the receiver ready bit are defined in Clause

72.6.10.2.4.4. For more information, refer to bit 10GBASE-KR LD status report register bit (1.155.15) in Clause 45.2.1.81 of IEEE

802.3ap-2007.

Reflects the contents of the first 16-bit word of the training frame most recently received from the control channel.

Normally the bits in this register are read only; however, when training is disabled by setting low the KR training enable control bit, these bits become writable. The following fields are defined:

• [5: 4]: Coefficient (+1) update

— 2'b11: Reserved

— 2'b01: Increment

— 2'b10: Decrement

— 2'b00: Hold

• [3:2]: Coefficient (0) update (same encoding as [5:4])

• [1:0]: Coefficient (-1) update (same encoding as [5:4])

For more information, refer to bit 10GBASE-KR LP coefficient update register bits (1.152.5:0) in Clause 45.2.1.78.3 of IEEE

802.3ap-2007.

When set to 1, the local device transmit equalizer coefficients are set to the INITIALIZE state. When set to 0, normal operation continues. The function and values of the initialize bit are defined in Clause 72.6.10.2.3.2. For more information, refer to bit

10GBASE-KR LP coefficient update register bits (1.152.12) in

Clause 45.2.1.78.3 of IEEE 802.3ap-2007.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

189

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Word

Addr

0x4D4

Bit

23

0x4D5

0x4D5

0x4D6

R/W Name Description

30

4:0

13:8

20:16 R

27:24 R

29:28 R

31:30 R

4:0

5

RO or

RW

29:24 RO

RO

R

R

RW

RW

LP Preset

Coefficients

LP coefficient status[5:0]

LP Receiver ready

When set to 1, the local device TX coefficients are set to a state where equalization is turned off. Preset coefficients are used.

When set to 0, the local device operates normally. The function and values of the preset bit are defined in 72.6.10.2.3.1. The function and values of the initialize bit are defined in Clause

72.6.10.2.3.2. For more information, refer to bit 10GBASE-KR LP coefficient update register bits (1.152.13) in Clause 45.2.1.78.3

of IEEE 802.3ap-2007.

Status report register reflecting the contents of the second, 16-bit word of the training frame most recently received from the control channel. The following fields are defined:

• [5:4]: Coefficient (+1)

— 2'b11: Maximum

— 2'b01: Minimum

— 2'b10: Updated

— 2'b00: Not updated

• [3:2]: Coefficient (0) (same encoding as [5:4])

• n [1:0]: Coefficient (-1) (same encoding as [5:4])

For more information, refer to bit 10GBASE-KR LP status report register bits (1.153.5:0) in Clause 45.2.1.79 of IEEE

802.3ap-2007.

When set to 1, the link partner receiver has determined that training is complete and is prepared to receive data. When set to

0, the link partner receiver is requesting that training continue.

Values for the receiver ready bit are defined in Clause

72.6.10.2.4.4. For more information, refer to bit 10GBASE-KR LP status report register bits (1.153.15) in Clause 45.2.1.79 of IEEE

802.3ap-2007.

LT V

OD

setting

Stores the most recent V

OD

setting that LT specified. It reflects

Link Partner commands to fine-tune the V

OD

.

LT Post-tap setting

Stores the most recent post-tap setting that LT specified. It reflects Link Partner commands to fine-tune the TX pre-emphasis taps.

LT Pre-tap setting

RXEQ CTLE Setting

Stores the most recent pre-tap setting that LT specified. It reflects Link Partner commands to fine-tune the TX pre-emphasis taps.

Most recent ctle_rc

RX equalization.

setting sent to the reconfig bundle during

RXEQ CTLE Mode

RXEQ DFE Mode

LT VODMAX ovrd

LT VODMAX ovrd

Enable

Most recent ctle_mode during RX equalization.

setting sent to the reconfig bundle

Most recent dfe_mode

RX equalization.

setting sent to the reconfig bundle during

Override value for the

VMAXRULE

parameter. When enabled, this value substitutes for the

VMAXRULE

TX output for the channel specified.

to allow channel-by-channel override of the device settings. This only effects the local device

This value must be greater than the

INITMAINVAL

parameter for proper operation. Note this also overrides the parameter value.

PREMAINVAL

When set to 1, enables the override value for the

VMAXRULE parameter stored in the

LT VODMAX ovrd

register field.

continued...

Intel ®

190

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Word

Addr

Bit R/W Name Description

12:8

13

21:16 RW

22

28:24 RW

29

RW

RW

RW

RW

LT VODMin ovrd

LT VODMin ovrd

Enable

LT VPOST ovrd

Override value for the

VODMINRULE

parameter. When enabled, this value substitutes for the

VMINRULE

to allow channel-bychannel override of the device settings. This override only effects the local device TX output for this channel.

The value to be substituted must be less than the

INITMAINVAL parameter and greater than the operation.

VMINRULE

parameter for proper

When set to 1, enables the override value for the parameter stored in the

VODMINRULE

LT VODMin ovrd

register field.

Override value for the

VPOSTRULE

parameter. When enabled, this value substitutes for the

VPOSTRULE device TX output for this channel.

to allow channel-by-channel override of the device settings. This override only effects the local

The value to be substituted must be greater than the

INITPOSTVAL

parameter for proper operation.

When set to 1, enables the override value for the parameter stored in the

VPOSTRULE

LT VPOST ovrd

register field.

LT VPOST ovrd

Enable

LT VPre ovrd

Override value for the

VPRERULE

parameter. When enabled, this value substitutes for the

VPOSTRULE device TX output for this channel.

to allow channel-by-channel override of the device settings. This override only effects the local

The value greater than the operation.

INITPREVAL

parameter for proper

LT VPre ovrd Enable

When set to 1, enables the override value for the

VPRERULE parameter stored in the

LT VPre ovrd

register field.

Reserved for 40G KR Left empty for address compatibility with 40G MAC+PHY KR solution.

0x4D7 to

0x4FF

Related Information

Reconfiguration Interface and Dynamic Reconfiguration

on page 502

2.6.4.7.2. Hard Transceiver PHY Registers

Table 146.

Hard Transceiver PHY Registers

Addr

0x000-0 x3FF

Bit

[9:0]

Access

RW

Name

Access to HSSI registers

Description

All registers in the physical coding sub-layer (PCS) and physical media attachment (PMA) that you can dynamically reconfigure are in this address space. Refer to the Arria 10 Dynamic

Transceiver Reconfiguration chapter for further information.

Related Information

Reconfiguration Interface and Dynamic Reconfiguration

on page 502

Intel ® Arria ® 10 Transceiver PHY User Guide

191

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.6.4.7.3. Enhanced PCS Registers

Table 147.

Enhanced PCS Registers

Addr

0x480

0x481

0x482

3

4

7

Bit

31:0

2

3

1

2

Access

RW

RW

RW

RO

RO

RO

RO

RO

Name

Indirect_addr

RCLR_ERRBLK_CNT

RCLR_BER_COUNT

HI_BER

BLOCK_LOCK

TX_FIFO_FULL

RX_FIFO_FULL

Rx_DATA_READY

Description

Because the PHY implements a single channel, this register must remain at the default value of 0 to specify logical channel 0.

Error block counter clear register. When set to 1, clears the

RCLR_ERRBLK_CNT operation continues.

register. When set to 0, normal

BER counter clear register. When set to 1, clears the

RCLR_BER_COUNT

register. When set to 0, normal operation continues.

High BER status. When set to 1, the PCS reports a high

BER. When set to 0, the PCS does not report a high

BER.

Block lock status. When set to 1, the PCS is locked to received blocks. When set to 0, the PCS is not locked to received blocks.

When set to 1, the

TX_FIFO

is full.

When set to 1, the

RX_FIFO

is full.

When set to 1, indicates the PHY is ready to receive data.

2.6.4.7.4. Arria 10 GMII PCS Registers

Addr

0x490

0x491

Bit R/W

9 RW

Name

RESTART_AUTO_ NEGOTIATION

2

0x494

(1000BASE-

X mode)

5

6

3

5

12

15

RW

AUTO_NEGOTIATION_ ENABLE

RW

Reset

R

R

R

RW

FD

RW

HD

LINK_STATUS

AUTO_NEGOTIATION_ ABILITY

AUTO_NEGOTIATION_ COMPLETE

Description

Set this bit to 1 to restart the Clause 37 autonegotiation (AN) sequence. For normal operation, set this bit to the default 0 value. This bit is self-clearing.

Set this bit to 1 to enable Clause 37 AN. The default value is 1.

Set this bit to 1 to generate a synchronous reset pulse which resets all the PCS state machines, comma detection function, and the 8B/10B encoder and decoder. For normal operation, set this bit to 0. This bit self clears.

A value of 1 indicates that a valid link is operating. A value of 0 indicates an invalid link. If link synchronization is lost, this bit is 0.

A value of 1 indicates that the PCS function supports

Clause 37 AN.

A value of 1 indicates the following status:

• The AN process is complete.

• The AN control registers are valid.

Full-duplex mode enable for the local device. Set to 1 for full-duplex support.

Half-duplex mode enable for the local device. Set to 1 for half-duplex support. This bit should always be set to 0 for the KR PHY IP.

continued...

Intel ®

192

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Addr Bit R/W

8:7 RW

PS2,PS1

Name

13:

12

RW

RF2,RF1

14 R0

ACK

15

0x495

(1000BASE-

X mode)

5

6 R

RW

NP

R

FD

HD

8:7 R

PS2,PS1

13:

12

R

RF2,RF1

14 R

ACK

15 R

NP

0x494

(SGMII mode)

0x495

(SGMII mode)

14 RO

ACK

11:

10

RO

Speed[1:0]

Description

Pause support for the local device. The following encodings are defined for PS1/PS2:

• PS1=0 / PS2=0: Pause is not supported

• PS1=0 / PS2=1: Asymmetric pause toward link partner

• PS1=1 / PS2=0: Symmetric pause

• PS1=1 / PS2=1: Pause is supported on TX and RX

Remote fault condition for local device. The following encodings are defined for RF1/RF2:

• RF1=0 / RF2=0: No error, link is valid (reset condition)

• RF1=0 / RF2=1: Offline

• RF1=1 / RF2=0: Failure condition

• RF1=1 / RF2=1: AN error

Acknowledge for local device. A value of 1 indicates that the device has received three consecutive matching ability values from its link partner.

Next page. In the device ability register, this bit is always set to 0.

Full-duplex mode enable for the link partner. This bit must be 1 because only full duplex is supported.

Half-duplex mode enable for the link partner. A value of 1 indicates support for half duplex. This bit must be

0 because half-duplex mode is not supported.

Specifies pause support for link partner. The following encodings are defined for PS1/PS2:

• PS1=0 / PS2=0: Pause is not supported

• PS1=0 / PS2=1: Asymmetric pause toward link partner

• PS1=1 / PS2=0: Symmetric pause

• PS1=1 / PS2=1: Pause is supported on TX and RX

Remote fault condition for link partner. The following encodings are defined for RF1/RF2:

• RF1=0 / RF2=0: No error, link is valid (reset condition)

• RF1=0 / RF2=1: Offline

• RF1=1 / RF2=0: Failure condition

• RF1=1 / RF2=1: AN error

Acknowledge for link partner. A value of 1 indicates that the device has received three consecutive matching ability values from its link partner.

Next page. In link partner register. When set to 0, the link partner has a Next Page to send. When set to 1, the link partner does not send a Next Page. Next Page is not supported in AN.

Local device acknowledge. Value as specified in IEEE

802.3z standard.

Link partner speed:

• 00: copper interface speed is 10 Mbps

• 01: copper interface speed is 100 Mbps

• 10: copper interface speed is 1 Gigabit

• 11: reserved continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

193

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Addr

0x496

0x4A2

0x4A3

0x4A4

Bit R/W

12 RO

14

15

0

1

15:

0

4:0

0

1

3:2

4

RO

RO

R

R

RW

RW

RW

RW

RW

RW

Name

COPPER_DUPLEX_STATUS

ACK

COPPER_LINK_STATUS

LINK_PARTNER_AUTO_NEGOTIATIO

N_ABLE

PAGE_RECEIVE

Link timer[15:0]

Link timer[20:16]

SGMII_ENA

USE_SGMII_AN

SGMII_SPEED

SGMII half-duplex

Description

Link partner capability:

• 1: copper interface is capable of full-duplex operation

• 0: copper interface is capable of half-duplex operation

Note: The PHY IP Core does not support half duplex operation because it is not supported in SGMII mode of the 1G/10G PHY IP core.

Link partner acknowledge. Value as specified in IEEE

802.3z standard.

Link partner status:

• 1: copper interface link is up

• 0: copper interface link is down

Set to 1, indicates that the link partner supports AN.

The default value is 0.

A value of 1 indicates that a new page has been received with new partner ability available in the register partner ability. The default value is 0 when the system management agent performs a read access.

Low-order 16 bits of the 21-bit auto-negotiation link timer. Each timer step corresponds to 8 ns (assuming a 125 MHz clock). The total timer corresponds to 16 ms. The reset value sets the timer to 10 ms for hardware mode and 10 us for simulation mode.

High-order 5 bits of the 21-bit auto-negotiation link timer.

Determines the PCS function operating mode. Setting this bit to 1b'1 enables SGMII mode. Setting this bit to 1b'0 enables 1000BASE-X gigabit mode.

In SGMII mode, setting this bit to 1b'1 configures the

PCS with the link partner abilities advertised during auto-negotiation. If this bit is set to 1b'0, the PCS function should be configured with the

SGMII_SPEED and

SGMII_DUPLEX

bits.

SGMII speed. When the PCS operates in SGMII mode

(

SGMII_ENA = 1

) and is not programmed for automatic configuration (

USE_SGMII_AN = 0 following encodings specify the speed :

), the

• 2'b00: 10 Mbps

• 2'b01: 100 Mbps

• 2'b10: Gigabit

• 2'b11: Reserved

These bits are not used when

SGMII_ENA = 0 or

USE_SGMII_AN = 1

.

When set to 1, enables half-duplex mode for 10/100

Mbps speed. This bit is ignored when or

USE_SGMII_AN

SGMII_ENA

= 0

= 1. These bits are only valid when you enable the SGMII mode only and not the clause-37 auto-negotiation mode.

2.6.4.7.5. PMA Registers

The PMA registers allow you to reset the PMA, customize the TX and RX serial data interface, and provide status information.

Intel ®

194

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 148.

1G Data Mode

Addr

0x4A8

0x4A9

1

2

3

5

6

3

4

1

2

4

0

0

Bit R/W

RW

RW

RW

RW

R

R

R

R

R

R

RW

R

Name tx_invpolarity rx_invpolarity rx_bitreversal_enable rx_bytereversal_enable force_electrical_idle rx_syncstatus rx_patterndetect rx_rlv rx_rmfifodatainserted rx_rmfifodatadeleted rx_disperr rx_errdetect

Description

When set, the TX interface inverts the polarity of the TX data to the 8B/10B encoder.

When set, the RX channels inverts the polarity of the received data to the 8B/10B decoder.

When set, enables bit reversal on the RX interface to the word aligner.

When set, enables byte reversal on the RX interface to the byte deserializer.

When set, forces the TX outputs to electrical idle.

When set, the word aligner is synchronized.

GbE word aligner detected comma.

Run length violation.

Rate match FIFO inserted code group.

Rate match FIFO deleted code group.

RX 8B10B disparity error.

RX 8B10B error detected.

Table 149.

PMA Registers

Address

0x444 1

0x461

0x464

0x465

0x466

0x467

2

3

0

0

0

0

0

Bit R/W

RW

RW

RW

RW

RW

RW

RO

RO

Name reset_tx_digital reset_rx_analog reset_rx_digital

Description

Writing a 1 asserts the internal TX digital reset signal. You must write a 0 to clear the reset condition.

Writing a 1 causes the internal RX analog reset signal to be asserted. You must write a 0 to clear the reset condition.

Writing a 1 causes the internal RX digital reset signal to be asserted. You must write a 0 to clear the reset condition.

phy_serial_loopback

Writing a 1 puts the channel in serial loopback mode.

pma_rx_set_locktoda ta

When set, programs the RX clock data recovery (CDR) PLL to lock to the incoming data.

pma_rx_set_locktore f

When set, programs the RX CDR PLL to lock to the reference clock.

pma_rx_is_lockedtod ata pma_rx_is_lockedtor ef

When asserted, indicates that the RX CDR PLL is locked to the RX data, and that the RX CDR has changed from LTR to

LTD mode.

When asserted, indicates that the RX CDR PLL is locked to the reference clock.

Intel ® Arria ® 10 Transceiver PHY User Guide

195

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.6.4.7.6. Speed Change Summary

Table 150.

Speed Change Summary

Speed Change

1GbE and 10GBASE-R

Speed Change Method

Interface Signals

SGMII (10M, 100M and 1GbE)

1GbE, 10GBASE-R, and 10GBASE-R with FEC

Avalon-MM bus

Avalon-MM bus

Detailed Information

• Refer to Dynamic Reconfiguration

Interface.

Figure 77

on page 197

Table 124 on page 160

Table 145 on page 182

Note: You can configure the static speed while generating the IP core using the IP Parameter

Editor.

Related Information

Dynamic Reconfiguration Interface on page 148

2.6.4.8. Creating a 1G/10GbE Design

Follow these steps to create a 1G/10GbE design using the 1G/10GbE PHY IP.

1. Generate the 1G/10GbE PHY with the required parameterization.

The 1G/10GbE PHY IP Core includes reconfiguration logic. This logic provides the

Avalon-MM interface that you can use to read and write to PHY registers. All read and write operations must adhere to the Avalon specification.

2. Instantiate a reset controller using the Transceiver Reset Controller Intel FPGA IP

Core in the IP Catalog. Connect the power and reset signals between the 1G/

10GbE PHY and the reset controller.

3. Instantiate one TX PLL for the 1G data rate and one TX PLL for the 10G data rate.

Connect the high speed serial clock and PLL lock signals between 1G/10GbE PHY and TX PLLs. You can use any combination of fPLLs, ATX, or CMU PLLs.

4. Use the tx_pma_divclk

from 1G/10GbE PHY or generate a fPLL to create the

156.25 MHz XGMII clock from the 10G reference clock.

No Memory Initialization Files (.mif) are required for the 1G/10GbE design in Arria

10 devices.

5. Complete the design by creating a top level module to connect all the IP (1G/

10GbE PHY IP, PLL IP and Reset Controller) blocks.

Related Information

fPLL

on page 359

CMU PLL

on page 368

ATX PLL

on page 350

Using the Transceiver PHY Reset Controller

on page 433

1G/10GbE PHY Functional Description on page 166

2.6.4.9. Design Guidelines

Consider the following guidelines while designing with 1G/10GbE PHY.

Intel ®

196

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Using the 1G/10GbE PHY without the Sequencer

The sequencer brings up channel-based initial datapath and performs parallel detection. To use the 1G/10GbE PHY without the sequencer, turn off the Enable

automatic speed detection parameter.

Turning off the sequencer results in the following additional ports:

• rc_busy

• start_pcs_reconfig

• mode_1g_10gbar

These ports perform manual reconfiguration. The following figure shows how these ports are used for 1G and 10G configuration.

Figure 77.

Timing for Reconfiguration without the Sequencer mgmt_clk rc_busy start_pcs_reconfig mode_1g_10bar

2.6.4.10. Channel Placement Guidelines

The channels of multi-channel 1G/10G designs do not need to be placed contiguously.

However, channels instantiated in different transceiver banks require PLLs in the same bank.

Related Information

Arria 10 Avalon-MM Interface for PCIe* Solutions

2.6.4.11. Design Example

Intel provides a design example to assist you in integrating your Ethernet PHY IP into your complete design.

The MAC and PHY design example instantiates the 1G/10GbE PHY IP along with the

1G/10G Ethernet MAC and supporting logic. It is part of the Quartus II software installation and is located in the <quartus2_install_dir>/ip subdirectory. For more information about this example design, refer to the 10-Gbps Ethernet MAC IP Function

User Guide .

A design example that instantiates the 1G/10G PHY and its supporting logic is available on the Intel FPGA wiki. The following figure shows the block diagram of the

1G/10GbE PHY-only design example. The default configuration includes two channels for backplane Ethernet and two channels for line-side (1G/10G) applications.

Intel ® Arria ® 10 Transceiver PHY User Guide

197

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 78.

1G/10GbE PHY Only Design Example

A10_DE_WRAPPER

Management

Master

ISSP

Clock and

Reset

JTAG-to-

Avalon-MM

Master

Test Harness

XGMII

Source

XGMII

Source

XGMII

Sink

XGMII

Sink

XGMII

GEN

XGMII

GEN

TH0_ADDR = 0xF nnn

XGMII

CHK

XGMII

CHK

...

A10_IP_WRAPPER

XGMII

CLK FPLL

1G Ref CLK

CMU PLL

10G Ref CLK

ATX PLL

Reset

Control

Reset

Control

Reset

Control

Reset

Control

CH0: PHY_ADDR = 0x0 nnn

CH1: PHY_ADDR = 0x1 nnn

CH2: PHY_ADDR = 0x2 nnn

CH3: PHY_ADDR = 0x3 nnn

1G/10GbE PHY IP

KR PHY IP

1588 Soft

FIFOs

GMII

RS

1588 Soft

FIFOs

GMII

RS

KR PHY IP

KR PHY IP

Sequencer

Sequencer

STD

TX PCS

1588 Soft

FIFOs 1588 Soft

FIFOs

Sequencer

10-GB

TX PCS

Sequencer

Auto Neg cls 73

Link Training cls 72

GMII

RS

Auto Neg cls 73 Auto Neg cls 73

Link Training cls 72

GMII

RS cls 72

STD

RX PCS

10-GB

RX PCS

A10

Reconfiguration

NF

Reconfiguration

STD

TX PCS

Registers CSR

Avalon-MM Slave

Reconfiguration

STD

TX PCS STD

TX PCS

Registers CSR

Native Hard PHY

NF

TX PMA

Registers CSR

Native Hard PHY

Registers CSR

Avalon-MM Slave

Native Hard PHY

TX PMA Native Hard PHY

TX PMA

TX PMA

10-GB

TX PCS

STD

RX PCS

10-GB

RX PCS

Divide

10-GB

TX PCS

STD

RX PCS

10-GB

RX PCS

10-GB

TX PCS

STD

RX PMA

10-GB

RX PCS

RX PMA

RX PMA

RX PMA

Divide

Divide

Divide

Related Information

Arria 10 Transceiver PHY Design Examples

2.6.4.12. Simulation Support

The 1G/10GbE and 10GBASE-KR PHY IP core supports the following Intel-supported simulators for this Quartus Prime software release:

• ModelSim Verilog

• ModelSim VHDL

• VCS Verilog

• VCS VHDL

• NCSIM Verilog

• NCSIM VHDL simulation

When you generate a 1G/10GbE or 10GBASE-KR PHY IP core, the Quartus Prime software optionally generates an IP functional simulation model.

Intel ®

198

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.6.4.13. TimeQuest Timing Constraints

To pass timing analysis, you must decouple the clocks in different time domains. The necessary Synopsys Design Constraints File (.sdc) timing constraints are included in the top-level wrapper file.

2.6.5. 1G/2.5G/5G/10G Multi-rate Ethernet PHY IP Core

2.6.5.1. About 1G/2.5G/5G/10G Multi-rate Ethernet PHY IP Core

The 1G/2.5G/5G/10G Multi-rate Ethernet PHY IP core implements the Ethernet protocol as defined in Clause 36 of the IEEE 802.3 2005 Standard. The PHY IP core consists of a physical coding sublayer (PCS) function and an embedded physical media attachment (PMA). You can dynamically switch the PHY operating speed.

Figure 79.

Block Diagram of the PHY IP Core

Intel Device with Serial Transceivers

1G/2.5G/5G/10G Multi-rate Ethernet PHY

Native PHY Hard IP

TX

GMII / XGMII

LL Ethernet

10G MAC

RX

GMII / XGMII

Soft PCS Hard PCS

TX

Serial Clock

User

Application

Avalon-MM

Interface

Configuration

Registers

PMA

RX CDR

Reference

Clock

TX Serial

RX Serial

External

PHY

Legend

Hard IP

Soft Logic

Transceiver

Reset

Controller

Reconfiguration Block

PLL for 1 GbE

PLL for 2.5 GbE

PLL for 10 GbE

125-MHz

Reference Clock

Related Information

Using the Arria 10 Transceiver Native PHY IP Core

on page 45

Recommended Reset Sequence

on page 418

• Low Latency Ethernet 10G MAC User Guide

Describes the Low Latency Ethernet 10G MAC IP Core.

322-MHz

Reference Clock

2.6.5.1.1. Features

Table 151.

PHY Features

Feature

Multiple operating speeds

MAC-side interface

1G, 2.5G, 5G, and 10G.

16-bit GMII for 1G and 2.5G.

Description continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

199

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Feature

Network-side interface

Description

32-bit XGMII for 1G/2.5G/5G/10G (USXGMII).

64-bit XGMII for 10G.

1.25 Gbps for 1G.

3.125 Gbps for 2.5G.

10.3125 Gbps for 1G/2.5G/5G/10G (USXGMII).

Provides access to the configuration registers of the PHY.

Avalon ® interface

Memory-Mapped (Avalon-MM)

PCS function

Auto-negotiation

IEEE 1588v2

Sync-E

2.6.5.1.2. Release Information

Table 152.

PHY Release Information

Item

Version

Release Date

Ordering Codes

Product ID

Vendor ID

Open Core Plus

2.6.5.1.3. Device Family Support

1000BASE-X for 1G and 2.5G.

10GBASE-R for 10G.

USXGMII PCS for 1G/2.5G/5G/10G

Implements clause 37. Supported in 1GbE only.

USXGMII Auto-negotiation supported in the 1G/2.5G/5G/10G (USXGMII) configuration.

Provides the required latency to the MAC if the MAC enables the IEEE

1588v2 feature.

Provides the clock for Sync-E implementation.

Description

16.0

May 2016

IP-10GMRPHY

00E4

6AF7

Supported

Device Family

Arria 10

Arria V GX/GT/SX/ST

Operating Mode

2.5G

1G/2.5G

1G/2.5G/5G/10G

2.5G

1G/2.5G

Support Level

Final

Final

Other device families No support

Intel ®

200

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Definition: Device Support Level

Intel FPGA IP cores provide the following support for Intel FPGA device families:

Preliminary support—Intel verifies the IP core with preliminary timing models for this device family. The IP core meets all functional requirements, but might still be undergoing timing analysis for the device family. This IP core can be used in production designs with caution.

Final support—Intel verifies the IP core with final timing models for this device family. The IP core meets all functional and timing requirements for the device family. This IP core is ready to be used in production designs.

2.6.5.1.4. Resource Utilization

The following estimates are obtained by compiling the PHY IP core with the Intel

Quartus Prime software.

Table 153.

Resource Utilization

Arria 10

Device

1G/2.5G

Speed

1G/2.5G with IEEE

1588v2 enabled

1G/2.5G/5G/10G

1G/2.5G/5G/10G

(USXGMII)

ALMs

550

1200

1150

650

ALUTs

750

1850

1500

800

Logic Registers

1200

2550

2550

1500

Memory Block

2 (M20K)

2 (M20K)

6 (M20K)

3 (M20K)

2.6.5.2. Using the IP Core

The Intel FPGA IP Library is installed as part of the Intel Quartus Prime installation process. You can select the 1G/2.5G/5G/10G Multi-rate Ethernet IP core from the library and parameterize it using the IP parameter editor.

2.6.5.2.1. Parameter Settings

You customize the PHY IP core by specifying the parameters in the parameter editor in the Intel Quartus Prime software. The parameter editor enables only the parameters that are applicable to the selected speed.

Table 154.

1G/2.5G/5G/10G Multi-rate Ethernet PHY IP Core Parameters

Speed

Name

Enable IEEE 1588 Precision

Time Protocol

Value

2.5G

1G/2.5G

1G/2.5G/5G/10G

On, Off

Description

The operating speed of the PHY.

Connect to MGBASE-T PHY On, Off

Select this parameter for the PHY to provide latency information to the MAC. The MAC requires this information if it enables the IEEE 1588v2 feature.

This parameter is enabled only for 2.5G and 1G/2.5G.

Select this option when the external PHY is MGBASE-T compatible.

This parameter is enabled for 2.5G, 1G/2.5G, and 1G/

2.5G/10G (MGBASE-T) modes.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

201

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Name

Connect to NBASE-T PHY

PHY ID (32 bit)

Value

On, Off

32-bit value

Description

Select this option when the external PHY is NBASE-T compatible.

This parameter is enabled for 1G/2.5G/5G/10G

(USXGMII) modes.

An optional 32-bit unique identifier:

• Bits 3 to 24 of the Organizationally Unique Identifier

(OUI) assigned by the IEEE

• 6-bit model number

• 4-bit revision number

If unused, do not change the default value, which is

0x00000000.

Specify the frequency of the reference clock for 10GbE.

Reference clock frequency for

10 GbE (MHz)

Selected TX PMA local clock division factor for 1 GbE

Selected TX PMA local clock division factor for 2.5 GbE

Enable Altera Debug Master

Endpoint

Enable capability registers

Set user-defined IP identifier

Enable control and status registers

Enable PRBS soft accumulators

322.265625, 644.53125

1

,

2

,

4

,

8

1

,

2

On, Off

On, Off

User-specified

On, Off

On, Off

This parameter is the local clock division factor in the 1G mode. It is directly mapped to the Native PHY IP Core

GUI options.

This parameter is the local clock division factor in the

2.5G mode. It is directly mapped to the Native PHY IP

Core GUI options.

Available in Native PHY and TX PLL IP parameter editors.

When enabled, the Altera Debug Master Endpoint

(ADME) is instantiated and has access to the Avalon-MM interface of the Native PHY. You can access certain test and debug functions using System Console with the

ADME. Refer to the Embedded Debug Features section for more details about ADME.

Available in Native PHY and TX PLL IP parameter editors.

Enables capability registers. These registers provide high-level information about the transceiver channel's /

PLL's configuration.

Available in Native PHY and TX PLL IP parameter editors.

Sets a user-defined numeric identifier that can be read from the user_identifier registers are enabled.

offset when the capability

Available in Native PHY and TX PLL IP parameter editors.

Enables soft registers for reading status signals and writing control signals on the PHY /PLL interface through the ADME or reconfiguration interface.

Available in Native PHY IP parameter editor only.

Enables soft logic to perform PRBS bit and error accumulation when using the hard PRBS generator and checker.

Related Information

Embedded Debug Features

on page 544

2.6.5.2.2. Timing Constraints

Constrain the PHY based on the fastest speed. For example, if you configure the PHY as 1G/2.5G, constrain it based on 2.5G.

Intel ®

202

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

For the 1G/2.5G/5G/10G operating mode, constrain the PHY for the 10G datapath as well as the 1G/2.5G datapath. Refer to the example provided:

<Installation Directory>

/ip/altera/ethernet/alt_mge_phy/example/ alt_mge_phy_multi_speed_10g.sdc

.

2.6.5.2.3. Changing the PHY's Speed

You can change the PHY's speed through the reconfiguration block.

1. The user application initiates the speed change by writing to the corresponding register of the reconfiguration block.

2. The reconfiguration block performs the following steps:

• In Arria 10 devices: a. Sets the xcvr_mode

signal of the 1G/2.5G/5G/10G Multi-rate Ethernet

PHY IP core to the requested speed.

b. Reads the generated .mif file for the configuration settings and configures the transceiver accordingly.

The

.mif

files, alt_mge_phy_reconfig_parameters_CFG*.mif

, are generated in the <IP working directory>

/ altera_xcvr_native_a10_

<version>

/synth/reconfig

directory.

c. Selects the corresponding transceiver PLL.

d. Triggers the transceiver recalibration.

3. The reconfiguration block triggers the PHY reset through the transceiver reset controller.

2.6.5.3. Configuration Registers

You can access the 16-bit configuration registers via the Avalon-MM interface. These configuration registers apply only to 2.5G and 1G/2.5G operating modes.

Observe the following guidelines when accessing the registers:

• Do not write to reserved or undefined registers.

• When writing to the registers, perform read-modify-write to ensure that reserved or undefined register bits are not overwritten.

Table 155.

PHY Register Definitions

Addr Name Description

0x00 control

Access HW Reset

Value

RWC 0 • Bit [15]: reset.

RESET

. Set this bit to 1 to trigger a soft

The PHY clears the bit when the reset is completed.

The register values remain intact during the reset.

• Bit[14]:

LOOPBACK

. Set this bit to 1 to enable loopback on the serial interface.

• Bit [12]:

AUTO_NEGOTIATION_ENABLE to 1 to enable auto-negotiation.

. Set this bit

Auto-negotiation is supported only in 1GbE.

Therefore, set this bit to 0 when you switch to a speed other than 1GbE.

RW

RW

0

0 continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

203

0x01

0x04

0x05

Addr

0x02:0x03

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Name status phy_identifier

Description

• Bit [9]:

RESTART_AUTO_NEGOTIATION to 1 to restart auto-negotiation.

. Set this bit

The PHY clears the bit as soon as auto-negotiation is restarted.

• The rest of the bits are reserved.

• Bit [5]:

AUTO_NEGOTIATION_COMPLETE

. A value of

"1" indicates that the auto-negotiation is completed.

• Bit [3]:

AUTO_NEGOTIATION_ABILITY negotiation.

. A value of

"1" indicates that the PCS function supports auto-

• Bit [2]:

LINK_STATUS established.

. A value of "0" indicates that the link is lost. Value of 1 indicates that the link is

• The rest of the bits are reserved.

The value set in the PHY_IDENTIFIER parameter.

Access HW Reset

Value

RWC 0

RO

RO

RO

RO

0

1

0

Value of

PHY_IDEN

TIFIER parameter

— dev_ability

Use this register to advertise the device abilities during auto-negotiation.

• Bits [13:12]:

RF

. Specify the remote fault.

— 00: No error.

— 01: Link failure.

— 10: Offline.

— 11: Auto-negotiation error.

• Bits [8:7]:

PS

. Specify the PAUSE support.

— 00: No PAUSE.

— 01: Symmetric PAUSE.

— 10: Asymmetric PAUSE towards the link partner.

— 11: Asymmetric and symmetric PAUSE towards the link device.

• Bit [5]:

FD

. Ensure that this bit is always set to 1.

• The rest of the bits are reserved.

partner_ability

The device abilities of the link partner during autonegotiation.

• Bit [14]:

ACK

. A value of "1" indicates that the link partner has received three consecutive matching ability values from the device.

• Bits [13:12]:

RF

. The remote fault.

— 00: No error.

— 01: Link failure.

— 10: Offline.

— 11: Auto-negotiation error.

RW

RW

RW

RO

RO

00

11

1

0

0 continued...

Intel ®

204

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Addr

0x06

0x07

0x08

0x09:0x0F

0x10

0x11

0x12:0x13

0x14:0x1F

0x400

Name an_expansion device_next_page

Description

• Bits [8:7]:

PS

. The PAUSE support.

— 00: No PAUSE.

— 01: Symmetric PAUSE.

— 10: Asymmetric PAUSE towards the link partner.

— 11: Asymmetric and symmetric PAUSE towards the link device.

• Bit [6]:

HD

. A value of "1" indicates that half-duplex is supported.

• Bit [5]:

FD

. A value of "1" indicates that full-duplex is supported.

• The rest of the bits are reserved.

The PCS capabilities and auto-negotiation status.

Bit [1]:

PAGE_RECEIVE

. A value of "1" indicates that the partner_ability register has been updated. This bit is automatically cleared once it is read.

Bit [0]:

LINK_PARTNER_AUTO_NEGOTIATION_ABLE value of "1" indicates that the link partner supports auto-negotiation.

. A

Access HW Reset

Value

RO 0

RO

RO

RO

RO

0

0

0

0

The PHY does not support the next page feature. These registers are always set to 0.

RO

RO

0

0 partner_next_pag e

Reserved scratch rev

Provides a memory location to test read and write operations.

The current version of the PHY IP core.

RW

RO

0

RW

Current version of the PHY

0 link_timer

Reserved

21-bit auto-negotiation link timer.

• Offset 0x12: link_timer[15:0]. Bits [8:0] are always be set to 0.

• Offset 0x13: link_timer[20:16] occupies the lower 5 bits. The remaining 11 bits are reserved and must always be set to 0.

— usxgmii_control

Control Register

Bit [0]:

USXGMII_ENA

:

• 0: 10GBASE-R mode

• 1: USXGMII mode

Bit [1]:

USXGMII_AN_ENA is set to 1:

is used when

USXGMII_ENA

• 0: Disables USXGMII Auto-Negotiation and manually configures the operating speed with the

USXGMII_SPEED

register.

• 1: Enables USXGMII Auto-Negotiation, and automatically configures operating speed with link partner ability advertised during USXGMII Auto-

Negotiation.

RW

RW

0x0

0x1 continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

205

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

0x401

Addr

0x402:0x404

0x405

Name Description

Bit [4:2]:

USXGMII_SPEED

is the operating speed of the PHY in USXGMII mode and to 0.

USE_USXGMII_AN

is set

• 3’b000: Reserved

• 3’b001: Reserved

• 3’b010: 1G

• 3’b011: 10G

• 3’b100: 2.5G

• 3’b101: 5G

• 3’b110: Reserved

• 3’b111: Reserved

Bit [8:5]: Reserved

Bit [9]: RESTART_AUTO_NEGOTIATION

Write 1 to restart Auto-Negotiation sequence The bit is cleared by hardware when Auto-Negotiation is restarted.

Access HW Reset

Value

RW 0x0

RWC

(hardw are selfclear)

RO

0x0

0x0 usxgmii_status

Reserved usxgmii_partner_ ability

Bit [15:10]: Reserved

Bit [30:16]: Reserved

Status Register

Bit [1:0]: Reserved

Bit [2]:

LINK_STATUS all speeds

indicates link status for USXGMII

• 1: Link is established

• 0: Link synchronization is lost, a 0 is latched

Bit [3]: Reserved

Bit [4]: Reserved

Bit [5]:

AUTO_NEGOTIATION_COMPLETE

A value of 1 indicates the Auto-Negotiation process is completed.

Bit [15:6]: Reserved

Bit [31:16]: Reserved

Device abilities advertised to the link partner during

Auto-Negotiation

Bit [0]: Reserved

Bit [6:1]: Reserved

Bit [7]:

EEE_CLOCK_STOP_CAPABILITY

Indicates whether or not energy efficient ethernet (EEE) clock stop is supported.

• 0: Not supported

• 1: Supported

Bit [8]:

EEE_CAPABILITY

Indicates whether or not EEE is supported.

• 0: Not supported

• 1: Supported

RO

RO

RO

0x0

0x0

0x0 continued...

Intel ®

206

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Addr

0x406:0x411

0x412

0x413:0x41F

0x461

Name

Reserved usxgmii_link_tim er

Reserved phy_serial_loopb ack

Description

Bit [11:9]:

SPEED

• 3'b000: 10M

• 3'b001: 100M

• 3'b010: 1G

• 3'b011: 10G

• 3'b100: 2.5G

• 3'b101: 5G

• 3'b110: Reserved

• 3'b111: Reserved

Bit [12]:

DUPLEX

Indicates the duplex mode.

• 0: Half duplex

• 1: Full duplex

Bit [13]: Reserved

Bit [14]:

ACKNOWLEDGE

A value of 1 indicates that the device has received three consecutive matching ability values from its link partner.

Bit [15]:

LINK

Indicates the link status.

• 0: Link down

• 1: Link up

Bit [31:16]: Reserved

Auto-Negotiation link timer. Sets the link timer value in bit [19:14] from 0 to 2 ms in approximately 0.05-ms steps. You must program the link timer to ensure that it matches the link timer value of the external NBASE-T

PHY IP Core.

The reset value sets the link timer to approximately 1.6

ms.

Bits [13:0] are reserved and always set to 0.

Configures the transceiver serial loopback in the PMA from TX to RX.

Bit [0]

• 0: Disables the PHY serial loopback

• 1: Enables the PHY serial loopback

Bit [15:1]: Reserved

Bit [31:16]: Reserved

Access HW Reset

Value

RO 0x0

RO

RO

RO

[19:14

]: RW

[13:0]:

RO

RW

0x0

0x0

0x0

[19:14]:

0x1F

[13:0]:

0x0

0x0

2.6.5.3.1. Register Map

You can access the 16-bit/32-bit configuration registers (

37 )

interface.

via the Avalon-MM

(37) These registers are identical to the Intel Arria 10 variation of 1G/2.5G/5G/10G Multi-rate

Ethernet PHY IP core.

Intel ® Arria ® 10 Transceiver PHY User Guide

207

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 156.

Register Map

Address Range

0x00 : 0x1F

0x400 : 0x41F

0x461

Usage

1000BASE-X/SGMII

USXGMII

Serial Loopback

Bit

16

32

32

Configuration

2.5G, 1G/2.5G, 10M/

100M/1G/2.5, 10M/

100M/1G/2.5G/10G

(MGBASE-T), 1G/2.5G/10G

(MGBASE-T)

1G/2.5G/5G/10G (USXGMII)

1G/2.5G/5G/10G (USXGMII)

2.6.5.3.2. Definition: Register Access

Table 157.

Types of Register Access

RO

RW

RWC

Access Definition

Read only.

Read and write.

Read, and write and clear. The user application writes 1 to the register bit(s) to invoke a defined instruction. The IP core clears the bit(s) upon executing the instruction.

2.6.5.4. Interface Signals

Figure 80.

PHY Interface Signals

Serial

Interface tx_serial_clk rx_cdr_refclk rx_cdr_refclk1 rx_pma_clkout tx_serial_data rx_serial_data

Avalon-MM

Control & Status

Interface csr_clk csr_address[4:0] csr_write csr_read csr_writedata[] (i) csr_readdata[] (i) csr_waitrequest xcvr_mode[1:0] operating_speed[2:0] latency_measure_clk

Reset reset pll_powerdown tx_digitalreset rx_digitalreset tx_analogreset rx_analogreset

Status

Interface led_link led_char_err led_disp_err led_an rx_block_lock

PHY tx_clkout gmii16b_tx_d[15:0] gmii16b_tx_en[1:0] gmii16b_tx_err[1:0] gmii16b_tx_latency[21:0] rx_clkout gmii16b_rx_d[15:0] gmii16b_rx_dv[1:0] gmii16b_rx_err[1:0] gmii16b_rx_latency[21:0] xgmii_tx_coreclkin xgmii_tx_control[7:0] xgmii_tx_data[63:0] xgmii_tx_valid xgmii_rx_coreclkin xgmii_rx_control[7:0] xgmii_rx_data[63:0] xgmii_rx_valid rx_is_lockedtodata tx_cal_busy rx_cal_busy reconfig_clk reconfig_reset reconfig_address[9:0] reconfig_write reconfig_read reconfig_writedata[31:0] reconfig_readdata[31:0] reconfig_waitrequest

TX GMII

RX GMII

TX XGMII

RX XGMII

Arria 10

Transceiver Status &

Reconfiguration Interface

Intel ®

208

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.6.5.4.1. Clock and Reset Signals

Table 158.

Clock and Reset Signals

Signal Name

Clock signals

Direction tx_clkout

Output rx_clkout

Output

Width

1

1 csr_clk xgmii_tx_coreclkin xgmii_rx_coreclkin latency_measure_clk tx_serial_clk rx_cdr_refclk rx_cdr_refclk_1 rx_pma_clkout

Reset signals reset tx_analogreset

Input

Input

Input

Input

Input

Input

Input

Output

Input

Input

1

1

1

1

1

1

1

1

1-3

1

Description

GMII TX clock, derived from tx_serial_clk[1:0]

. Provides 156.25 MHz timing reference for 2.5GbE; 62.5 MHz for 1GbE.

GMII RX clock, derived from tx_serial_clk[1:0]

. Provides 156.25 MHz timing reference for 2.5GbE; 62.5 MHz for 1GbE.

Clock for the Avalon-MM control and status interface. Intel recommends 125 – 156.25 MHz for this clock.

XGMII TX clock. Provides 156.25 MHz timing reference for 10GbE and 312.5 MHz for 1G/

2.5G/5G/10G (USXGMII) mode. Synchronous to tx_serial_clk

with zero ppm.

XGMII RX clock. Provides 156.25 MHz timing reference for 10GbE and 312.5 MHz for 1G/

2.5G/5G/10G (USXGMII) mode.

Sampling clock for measuring the latency of the

16-bit GMII datapath. This clock operates at 80

MHz and is available only when the IEEE 1588v2 feature is enabled.

Serial clock from transceiver PLLs.

• 2.5GbE: Connect bit [0] to the transceiver PLL.

This clock operates at 1562.5 MHz.

• 1GbE: Connect bit [1] to the transceiver PLL.

This clock operates at 625 MHz.

• 10GbE: Connect bit [2] to the transceiver PLL.

This clock operates at 5156.25 MHz.

• 1G/2.5G/5G/10G (USXGMII) mode: Connect bit

[0] to 5156.25 MHz.

125-MHz RX CDR reference clock for 1GbE and

2.5GbE

RX CDR reference clock for 10GbE. The frequency of this clock can be either 322.265625 MHz or

644.53125 MHz, as specified by the Reference

clock frequency for 10 GbE (MHz) parameter setting.

Recovered clock from CDR, operates at the following frequency:

• 1GbE: 125 MHz

• 2.5GbE: 312.5 MHz

• 5GbE/10GbE: 322.265625 MHz

Active-high global reset. Assert this signal to trigger an asynchronous global reset.

Connect this signal to the Transceiver PHY Reset

Controller IP core. When asserted, triggers an asynchronous reset to the analog block on the TX path.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

209

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Signal Name tx_digitalreset rx_analogreset rx_digitalreset

Direction

Input

Input

Input

Width

1

1

1

Description

Connect this signal to the Transceiver PHY Reset

Controller IP core. When asserted, triggers an asynchronous reset to the digital logic on the TX path.

Connect this signal to the Transceiver PHY Reset

Controller IP core. When asserted, triggers an asynchronous reset to the receiver CDR.

Connect this signal to the Transceiver PHY Reset

Controller IP core. When asserted, triggers an asynchronous reset to the digital logic on the RX path.

2.6.5.4.2. Operating Mode and Speed Signals

Table 159.

Transceiver Mode and Operating Speed Signals

Signal Name xcvr_mode operating_speed

Direction

Input

Output

Width

2

3

Description

Connect this signal to the reconfiguration block.

Use the values below to set the speed:

• 0x0 = 1G

• 0x1 = 2.5G

• 0x3 = 10G

Connect this signal to the MAC. This signal provides the current operating speed of the PHY:

• 0x0 = 10G

• 0x1 = 1G

• 0x4 = 2.5G

• 0x5 = 5G

2.6.5.4.3. GMII Signals

The 16-bit TX and RX GMII supports 1GbE and 2.5GbE at 62.5 MHz and 156.25 MHz respectively.

Table 160.

GMII Signals

Signal Name Direction

TX GMII signals—synchronous to tx_clkout gmii16b_tx_d

Input

Width

16

Description gmii16b_tx_en gmii16b_tx_err

Input

Input

2

2

TX data from the MAC. The MAC sends the lower byte first followed by the upper byte.

When asserted, indicates the start of a new frame from the MAC. Bit[0] corresponds to gmii16b_tx_d

[7:0]; bit[1] corresponds to gmii16b_tx_d

[15:8].

This signal remains asserted until the PHY receives the last byte of the data frame.

When asserted, indicates an error. Bit[0] corresponds to gmii16b_tx_err

[7:0]; bit[1] corresponds to gmii16b_tx_err

[15:8].

The bits can be asserted at any time during a frame transfer to indicate an error in the current frame.

continued...

Intel ®

210

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Signal Name gmii16b_tx_latency

Direction

Output

Width

22

Description

The latency of the PHY excluding the PMA block on the TX datapath:

• Bits [21:10]: The number of clock cycles.

• Bits [9:0]: The fractional number of clock cycles.

This signal is available when only the Enable IEEE

1588 Precision Time Protocol parameter is selected.

RX GMII signals—synchronous to rx_clkout gmii16b_rx_d

Output gmii16b_rx_err gmii16b_rx_dv gmii16b_rx_latency

Output

Output

Output

16

2

2

22

RX data to the MAC. The PHY sends the lower byte first followed by the upper byte. Rate matching is done by the PHY on the RX data from the RX recovered clock to rx_clkout

.

When asserted, indicates an error. Bit[0] corresponds to gmii16b_rx_err

[7:0]; bit[1] corresponds to gmii16b_rx_err

[15:8].

The bits can be asserted at any time during a frame transfer to indicate an error in the current frame.

When asserted, indicates the start of a new frame.

Bit[0] corresponds to gmii16b_rx_d

[7:0]; bit[1] corresponds to gmii16b_rx_d

[15:8].

This signal remains asserted until the PHY sends the last byte of the data frame.

The latency of the PHY excluding the PMA block on the RX datapath:

• Bits [21:10]: The number of clock cycles.

• Bits [9:0]: The fractional number of clock cycles.

This signal is available only when the Enable IEEE

1588 Precision Time Protocol parameter is selected.

2.6.5.4.4. XGMII Signals

The XGMII supports 10GbE at 156.25 MHz.

Table 161.

XGMII Signals

Signal Name Direction Width

TX XGMII signals—synchronous to xgmii_tx_coreclkin xgmii_tx_data

Input 64, 32 xgmii_tx_control

Input 8, 4

Description

TX data from the MAC. The MAC sends the data in the following order: bits[7:0], bits[15:8], and so forth.

The width is:

• 64 bits for 1G/2.5G/10G configurations.

• 32 bits for 1G/2.5G/5G/10G configurations.

TX control from the MAC:

• xgmii_tx_control

[0] corresponds to xgmii_tx_data

[7:0]

• xgmii_tx_control

[1] corresponds to xgmii_tx_data

[15:8]

• and so forth.

The width is: continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

211

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Signal Name xgmii_tx_valid

Direction

Output

Width

1

Description

• 8 bits for 1G/2.5G/10G configurations.

• 4 bits for 1G/2.5G/5G/10G configurations.

Indicates valid data on xgmii_tx_control

and xgmii_tx_data

from the MAC.

Your logic/MAC must toggle the valid data as shown below:

1G

2.5G

5G

10G

Speed Toggle Rate

Asserted once every 10 clock cycles

Asserted once every 4 clock cycles

Asserted once every 2 clock cycles

Always asserted

RX XGMII signals—synchronous to xgmii_rx_coreclkin xgmii_rx_data

Output 64, 32 xgmii_rx_control xgmii_rx_valid

Output

Output

8, 4

1

RX data to the MAC. The PHY sends the data in the following order: bits[7:0], bits[15:8], and so forth.

The width is:

• 64 bits for 1G/2.5G/10G configurations.

• 32 bits for 1G/2.5G/5G/10G configurations.

RX control to the MAC.

• xgmii_rx_control

[0] corresponds to xgmii_rx_data

[7:0]

• xgmii_rx_control

[1] corresponds to xgmii_rx_data

[15:8]

• and so forth.

The width is:

• 8 bits for 1G/2.5G/10G configurations.

• 4 bits for 1G/2.5G/5G/10G configurations.

Indicates valid data on xgmii_rx_control

and xgmii_rx_data

from the MAC.

The toggle rate from the PHY is shown in the table below.

Note: The toggle rate may vary when the start of a packet is received or when rate match occurs inside the PHY. You should not expect the valid data pattern to be fixed.

Speed

1G

2.5G

5G

10G

Toggle Rate

Asserted once every 10 clock cycles

Asserted once every 4 clock cycles

Asserted once every 2 clock cycles

Always asserted

Intel ®

212

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.6.5.4.5. Status Signals

Table 162.

Status Signals

Signal Name Direction Clock

Domain

Width Description led_char_err led_link led_disp_err led_an rx_block_lock

Output

Output

Output

Output

Output

Synchronous to tx_clkout

Synchronous to rx_clkout

Synchronous to rx_clkout

Synchronous to rx_clkout

1

1

1

1

1

Asserted when a 10-bit character error is detected in the RX data.

Asserted when the link synchronization for

1GbE or 2.5GbE is successful

Asserted when a 10-bit running disparity error is detected in the RX data.

Asserted when auto-negotiation is completed.

Asserted when the link synchronization for

10GbE is successful.

2.6.5.4.6. Serial Interface Signals

The serial interface connects to an external device.

Table 163.

Serial Interface Signals

Signal Name tx_serial_data rx_serial_data

Direction

Output

Input

Width

1

1

TX data.

RX data.

Description

2.6.5.4.7. Transceiver Status and Reconfiguration Signals

Table 164.

Control and Status Signals

Signal Name rx_is_lockedtodata tx_cal_busy

Direction

Output

Output

Output

Width

1

1

1 rx_cal_busy

Transceiver reconfiguration signals for Arria 10 devices reconfig_clk

Input 1 reconfig_reset reconfig_address reconfig_write reconfig_read reconfig_writedata reconfig_readdata reconfig_waitrequest

Input

Input

Input

Input

Input

Output

Output

32

32

1

1

1

1

10

Description

Asserted when the CDR is locked to the RX data.

Asserted when TX calibration is in progress.

Asserted when RX calibration is in progress.

Reconfiguration signals connected to the reconfiguration block. The reconfig_clk

signal provides the timing reference for this interface.

Intel ® Arria ® 10 Transceiver PHY User Guide

213

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.6.5.4.8. Avalon-MM Interface Signals

The Avalon-MM interface is an Avalon-MM slave port. This interface uses word addressing and provides access to the 16-bit configuration registers of the PHY.

Table 165.

Avalon-MM Interface Signals

Signal Name csr_address

Direction

Input

Width

5, 11 csr_read csr_readdata csr_write csr_writedata csr_waitrequest

Input

Output

Input

Input

Output

1

16, 32

1

16, 32

1

Description

Use this bus to specify the register address to read from or write to. The width is:

• 5 bits for 2.5G and 1G/2.5G configurations.

• 11 bits for 1G/2.5G/5G/10G configurations.

Assert this signal to request a read operation.

Data read from the specified register. The data is valid only when the csr_waitrequest deasserted. The width is:

signal is

• 16 bits for 2.5G and 1G/2.5G configurations.

• 32 bits for 1G/2.5G/5G/10G configurations. The upper 16 bits are reserved.

Assert this signal to request a write operation.

Data to be written to the specified register. The data is written only when the csr_waitrequest signal is deasserted. The width is:

• 16 bits for 2.5G and 1G/2.5G configurations.

• 32 bits for 1G/2.5G/5G/10G configurations. The upper 16 bits are reserved.

When asserted, indicates that the PHY is busy and not ready to accept any read or write requests.

• When you have requested for a read or write, keep the control signals to the Avalon-MM interface constant while this signal is asserted.

The request is complete when it is deasserted.

• This signal can be high or low during idle cycles and reset. Therefore, the user application must not make any assumption of its assertion state during these periods.

2.6.6. XAUI PHY IP Core

In a XAUI configuration, the transceiver channel data path is configured using a soft

PCS. The XAUI configuration provides the transceiver channel datapath, clocking, and channel placement guidelines. You can implement a XAUI link using the IP Catalog.

Under Ethernet in the Interfaces menu, select the XAUI PHY IP core. The XAUI PHY IP core implements the XAUI PCS in soft logic.

XAUI is a specific physical layer implementation of the 10 Gigabit Ethernet link defined in the IEEE 802.3ae-2008 specification. The XAUI PHY uses the XGMII interface to connect to the IEEE802.3 MAC and Reconciliation Sublayer (RS). The IEEE

802.3ae-2008 specification requires the XAUI PHY link to support:

• A 10 Gbps data rate at the XGMII interface

• Four lanes each at 3.125 Gbps at the PMD interface

Intel ®

214

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 81.

XAUI and XGMII Layers

LAN Carrier Sense Multiple

Access/Collision Detect (CSMA/CD)

Layers

Higher Layers

Logical Link Control (LLC)

OSI

Reference

Model Layers

MAC Control (Optional)

Media Access Control (MAC)

Application

Reconciliation

Presentation

10 Gigabit Media Independent Interface

Session

Transport

Optional

XGMII

Extender

XGMII Extender Sublayer

10 Gigabit Attachment Unit Interface

XGMII Extender Sublayer

10 Gigabit Media Independent Interface

Network

Data Link

PCS

PMA

PMD

Physical Layer Device

Physical

Medium Dependent Interface

Medium

10 Gbps

Intel's XAUI PHY IP core implements the IEEE 802.3 Clause 48 specification to extend the operational distance of the XGMII interface and reduce the number of interface signals.

XAUI extends the physical separation possible between the 10 Gbps Ethernet MAC function and the Ethernet standard PHY component to one meter. The XAUI PHY IP core accepts 72-bit data (single data rate–SDR XGMII) from the application layer at

156.25 Mbps. The serial interface runs at 4 × 3.125 Gbps.

Figure 82.

XAUI PHY IP Core

XAUI PHY IP

SDR XGMII

72 bits @ 156.25 Mbps

XAUI PHY IP Core

PCS

8B/10B

Word Aligner

Phase Comp

Hard PMA

Avalon-MM

Control & Status

4

4

4 x 3.125 Gbps serial

Intel's third-party IP partner for Dual Data Rate XAUI (DDR XAUI or DXAUI) and

Reduced XAUI (RXAUI) support is MorethanIP (MTIP).

Intel ® Arria ® 10 Transceiver PHY User Guide

215

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

XAUI does not support open compute project (OCP) networking.

Related Information

• IEEE 802.3 Clause 48

• MorethanIP

2.6.6.1. Transceiver Datapath in a XAUI Configuration

The XAUI PHY IP core is partially implemented in soft logic inside the FPGA core. You must ensure that your channel placement is compatible with the soft PCS implementation.

Figure 83.

Transceiver Channel Datapath for XAUI Configuration

The XAUI configuration uses both the soft PCS and the Standard PCS as shown in the following figure.

Channel 3

Channel 2

Channel 1

Channel 0

FPGA Fabric

Soft PCS

Soft PCS

Soft PCS

Soft PCS

Channel 3

Channel 2

Channel 1

Channel 0

Portable solution using Custom PHY or Native PHY

Transmitter Standard PCS

Transmitter Standard PCS

Transmitter Standard PCS

Transmitter Standard PCS

Transmitter PMA Ch3

Transmitter PMA Ch2

Transmitter PMA Ch1

Transmitter PMA Ch0

16 20 20 10

20

Receiver Standard PCS

10 10

Receiver PMA

16 20 20 20

2.6.6.2. XAUI Supported Features

64-Bit SDR Interface to the MAC/RS

Clause 46 of the IEEE 802.3-2008 specification defines the XGMII interface between the XAUI PCS and the Ethernet MAC/RS. Each of the four XAUI lanes must transfer 8bit data and a 1-bit control code at both the positive and negative edge (double data rate) of the 156.25 MHz interface clock.

Arria 10 transceivers and a soft PCS solution in a XAUI configuration do not support the XGMII interface to the MAC/RS as defined in the IEEE 802.3-2008 specification.

Instead, they transfer 16-bit data and the 2-bit control code on each of the four XAUI lanes. The transfer occurs only at the positive edge (single data rate) of the 156.25

MHz interface clock.

Intel ®

216

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 84.

Implementation of the XGMII Specification in Arria 10 Devices Configuration

The ATX PLL is only supported to drive the internal transceiver. The FPLL is only supported to drive xgmii_tx_clk

and xgmii_rx_clk

. Both the ATX PLL and the FPLL must be clocked by the same reference clock to maintain 0 ppm.

XGMII Transfer (DDR)

Interface Clock (156.25 MHz)

Lane 0

8-bit

D0 D1 D2 D3

Lane 1 D0 D1 D2 D3

D2

D2

D3

D3

Lane 2 D0

Lane 3

Arria 10 Soft PCS Interface (SDR)

Interface Clock (156.25 MHz)

D0

Lane 0

16-bit

{D1, D0}

D1

Lane 1 {D1, D0}

D1

{D3, D2}

{D3, D2}

Lane 2

{D1, D0} {D3, D2}

Lane 3 {D1, D0} {D3, D2}

8B/10B Encoding/Decoding

Each of the four lanes in a XAUI configuration supports an independent 8B/10B encoder/decoder as specified in Clause 48 of the IEEE802.3-2008 specification.

8B/10B encoding limits the maximum number of consecutive 1s and 0s in the serial data stream to five. This limit ensures DC balance as well as enough transitions for the receiver CDR to maintain a lock to the incoming data.

The XAUI PHY IP core provides status signals to indicate both running disparity and the 8B/10B code group error.

Intel ® Arria ® 10 Transceiver PHY User Guide

217

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Transmitter and Receiver State Machines

In a XAUI configuration, the Arria 10 soft PCS implements the transmitter and receiver state diagrams shown in Figure 48-6 and Figure 48-9 of the IEEE802.3-2008 specification.

The transmitter state machine performs the following functions in conformance with the 10GBASE-X PCS:

• Encoding the XGMII data to PCS code groups

• Converting Idle ||I|| ordered sets into Sync ||K||, Align ||A||, and Skip ||R|| ordered sets

The receiver state machine performs the following functions in conformance with the

10GBASE-X PCS:

• Decoding the PCS code groups to XGMII data

• Converting Sync ||K||, Align ||A||, and Skip ||R|| ordered sets into Idle ||I|| ordered sets

Synchronization

The word aligner block in the receiver PCS of each of the four XAUI lanes implements the receiver synchronization state diagram shown in Figure 48-7 of the

IEEE802.3-2008 specification.

The XAUI PHY IP core provides a status signal per lane to indicate if the word aligner is synchronized to a valid word boundary.

Deskew

The lane aligner block in the receiver PCS implements the receiver deskew state diagram shown in Figure 48-8 of the IEEE 802.3-2008 specification.

The lane aligner starts the deskew process only after the word aligner block in each of the four XAUI lanes indicates successful synchronization to a valid word boundary.

The XAUI PHY IP core provides a status signal to indicate successful lane deskew in the receiver PCS.

Clock Compensation

The rate match FIFO in the receiver PCS datapath compensates up to ±100 ppm difference between the remote transmitter and the local receiver. It compensates by inserting and deleting Skip ||R|| columns, depending on the ppm difference.

The clock compensation operation begins after:

• The word aligner in all four XAUI lanes indicates successful synchronization to a valid word boundary.

• The lane aligner indicates a successful lane deskew.

The rate match FIFO provides status signals to indicate the insertion and deletion of the Skip ||R|| column for clock rate compensation.

Intel ®

218

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.6.6.3. XAUI PHY Release Information

Table 166.

XAUI Release Information

Item

Version

Release Date

Product ID

Vendor ID

16.0

November 2016

00D7

6AF7

Description

2.6.6.4. XAUI PHY Device Family Support

IP cores provide either final or preliminary support for target Intel device families.

These terms have the following definitions:

• Final support—Verified with final timing models for this device.

• Preliminary support—Verified with preliminary timing models for this device.

Table 167.

Device Family Support

Device Family Support

Arria 10

XAUI

Preliminary

Intel ® Arria ® 10 Transceiver PHY User Guide

219

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.6.6.5. Transceiver Clocking and Channel Placement Guidelines in XAUI

Configuration

Transceiver Clocking

Figure 85.

Transceiver Clocking for XAUI Configuration Without Phase Compensation

FIFO Enabled

The external ATX PLL generates the transmitter serial and parallel clocks for the four XAUI channels. You must instantiate the PLL and connect it to XAUI. The x6 clock line carries the transmitter serial and parallel clocks to the PMA and PCS of each of the four channels.

XAUI PHY IP Core

Channel 3

Channel 2

Channel 1

Channel 0

Soft PCS

Soft PCS

Soft PCS

Soft PCS

Channel 3

Channel 2

Channel 1

Channel 0

Transmitter Standard PCS

Transmitter Standard PCS

Transmitter Standard PCS

Transmitter Standard PCS

Transmitter PMA Ch 3

Transmitter PMA Ch 2

Transmitter PMA Ch 1

Transmitter PMA Ch 0

16 20 20 10 xgmii_tx_clk

16 20 20 20

/2

Parallel Clock

Receiver Standard PCS

10 10

Receiver PMA

Note: xgmii_rx_clk

Parallel Clock

Parallel Clock

(Recovered) from Channel 0

/2

Parallel Clock (Recovered)

Master Clock Generation Block

(1)

ATX PLL

Serial Clock

(From the ×1 Clock Lines)

Clock Divider

Parallel and Serial Clocks (From the ×6 or ×N Clock Lines)

Parallel Clock

Serial Clock

Parallel and Serial Clocks

Note:

1. Use the ATX PLL as the transmit PLL for XAUI support in Arria 10 devices.

When configuring ATX PLL, the PMA width setting must be set to 20-bit per transceiver channel. This ensures that the serial clock is running at 3.125 Gbps while the input reference clock is 156.25 MHz.

Intel ®

220

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 86.

Transceiver Clocking for XAUI Configuration With Phase Compensation FIFO

Enabled

When phase compensation FIFO is enabled, you can connect the core to different clocks on the Avalon-ST interface.

Parallel Clock

Parallel Clock (x6 Network)

Serial Clock

Parallel Recovered Clock

Parallel Recovered Clock 2

Serial Recovered Clock

XAUI PHY IP Core

Soft PCS

Transmitter Standard PCS Transmitter PMA

32/64b

Avalon-ST

Adapter

MAC

36/72b

XGMII

Adapter xgmii_tx_clk 156.25 MHz

Receiver Standard PCS Receiver PMA

156.25 MHz

Parallel Recovered Clock 2 (1) Parallel Recovered Clock

Serial Recovered Clock fPLL

REFCLK 156.25 MHz

ATX PLL x1 Network

Master CGB

Parallel Clock (x6 Network)

Serial Clock (x6 Network)

Note:

1. One recovered clock drives four XAUI channels.

2.6.6.6. XAUI PHY Performance and Resource Utilization

The following table lists the typical expected device resource utilization for different configurations using the current version of the Quartus II software targeting an Arria

10 device. The numbers of combinational ALUTs and logic registers are rounded to the nearest 100.

Table 168.

XAUI PHY Performance and Resource Utilization

Implementation

Soft XAUI 4

Number of 3.125

Gbps Channels

Combinational ALUTs

1700

Dedicated Logic

Registers

1700

M20K Memory Blocks

3

2.6.6.7. Parameterizing the XAUI PHY

This section contains the recommended parameter values for this protocol. Refer to

Using the Arria 10 Transceiver Native PHY IP Core for the full range of parameter values.

Complete the following steps to configure the XAUI PHY IP core in the IP Catalog:

1. For Which device family will you be using?, select Arria 10.

2. Click Installed IP

Library

Interface Protocols

Ethernet

XAUI PHY.

3. Use the tabs on the IP Catalog to select the options required for the protocol.

4. Refer to the following topics to learn more about the parameters: a. General Parameters

Intel ® Arria ® 10 Transceiver PHY User Guide

221

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

b. Analog Parameters c. Advanced Options Parameters

5. Click Finish to generate your customized XAUI PHY IP core.

Related Information

Using the Arria 10 Transceiver Native PHY IP Core

on page 45

XAUI PHY General Parameters on page 222

Analog Parameter Settings on page 585

XAUI PHY Advanced Options Parameters

on page 222

2.6.6.7.1. XAUI PHY General Parameters

This section describes the settings available on the General Options tab.

Table 169.

General Options

Name

Device family

XAUI interface type

Arria 10

Soft XAUI

Enable Sync-E support On / Off

Number of XAUI interfaces 1

Value Description

The target device family.

Implements the PCS in soft logic and the PMA in hard logic. Includes four channels.

Shows separate reference clocks for CDR PLL and TX PLL.

Specifies the number of XAUI interfaces. Only 1 is available in the current release.

2.6.6.7.2. XAUI PHY Advanced Options Parameters

This section describes the settings available on the Advanced Options tab.

Table 170.

Advanced Options

Name

Include control and status ports

Value

On / Off

Enable dynamic reconfiguration

Enable rx_recovered_clk pin

Enable phase compensation

FIFO

On / Off

On / Off

On / Off

Description

If you turn this option on, the top-level IP core includes the status signals and digital resets shown in XAUI Top-Level Signals

—Soft PCS and PMA and XAUI Top-Level Signals—Hard IP PCS and PMA. If you turn this option off, you can access control and status information using the Avalon-MM interface to the control and status registers. The default setting is off.

When you turn this option on, you can connect the dynamic reconfiguration ports to an external reconfiguration module.

When you turn this option on, the RX recovered clock signal is an output signal.

Enables the phase compensation FIFO to allow different clocks on the xgmii interface.

2.6.6.8. XAUI PHY Ports

The following figure illustrates the top-level signals of the XAUI PHY IP core for the soft IP implementation.

Intel ®

222

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 87.

XAUI Top-Level Signals—Soft PCS and PMA

XAUI Top-Level Signals

SDR TX XGMII

SDR RX XGMII

Avalon-MM PHY

Management

Interface

Clocks

PLL xgmii_tx_dc[71:0] xgmii_tx_clk xgmii_rx_dc[71:0] xgmii_rx_clk xgmii_rx_inclk phy_mgmt_clk phy_mgmt_clk_reset phy_mgmt_address[8:0] phy_mgmt_writedata[31:0] phy_mgmt_readdata[31:0] phy_mgmt_write phy_mgmt_read phy_mgmt_waitrequest pll_ref_clk cdr_ref_clk pll_locked_i pll_powerdown_o tx_bonding_clock[5:0] pll_cal_busy_i xaui_rx_serial_data[3:0] xaui_tx_serial_data[3:0] rx_channelaligned rx_disperr[7:0] rx_errdetect[7:0] rx_syncstatus[7:0] reconfig_clk reconfig_reset reconfig_address[11:0] reconfig_writedata[31:0] reconfig_readdata[31:0] reconfig_write reconfig_read reconfig_waitrequest rx_recovered_clk[3:0] rx_ready tx_ready

Transceiver

Serial Data

RX Status

Optional

Avalon-MM

Dynamic

Reconfiguration

PMA

Channel

Controller

2.6.6.9. XAUI PHY Interfaces

The XAUI PCS interface to the FPGA fabric uses a SDR XGMII interface. This interface implements a simple version of the Avalon-ST protocol. The interface does not include ready or valid signals. Consequently, the sources always drive data and the sinks must always be ready to receive data.

For more information about the Avalon-ST protocol, including timing diagrams, refer to the Avalon Interface Specifications.

Depending on the parameters you choose, the application interface runs at either

156.25 Mbps or 312.5 Mbps. At either frequency, data is only driven on the rising edge of clock. To meet the bandwidth requirements, the datapath is eight bytes wide with eight control bits, instead of the standard four bytes of data and four bits of control.

The XAUI PHY IP core treats the datapath as two, 32-bit data buses and includes logic to interleave them, starting with the low-order bytes.

Figure 88.

Interleaved SDR XGMII Data Mapping

Original XGMII Data

[63:56] [55:48] [47:40] [39:32] [31:24] [23:16] [15:8] [7:0]

[63:56] [31:24] [55:48]

Related Information

Avalon Interface Specifications

[23:16]

Interleaved Result

[47:40] [15:8] [39:32] [7:0]

Intel ® Arria ® 10 Transceiver PHY User Guide

223

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.6.6.9.1. SDR XGMII TX Interface

Table 171.

SDR TX XGMII Interface

Signal Name xgmii_tx_dc[71:0]

Direction

Input xgmii_tx_clk

Input

Description

Contains 4 lanes of data and control for XGMII. Each lane consists of

16 bits of data and 2 bits of control. Synchronous to mgmt_clk

.

• Lane 0–[7:0]/[8], [43:36]/[44]

• Lane 1–[16:9]/[17], [52:45]/[53]

• Lane 2–[25:18]/[26], [61:54]/[62]

• Lane 3–[34:27]/[35],[70:63]/[71]

The XGMII SDR TX clock which runs at 156.25 MHz.

2.6.6.9.2. SDR XGMII RX Interface

Table 172.

SDR RX XGMII Interface

Signal Name xgmii_rx_dc_[71:0]

Direction

Output xgmii_rx_clk xgmii_rx_inclk

Output

Input

Description

Contains 4 lanes of data and control for XGMII. Each lane consists of

16 bits of data and 2 bits of control. Synchronous to mgmt_clk

.

• Lane 0–[7:0]/[8], [43:36]/[44]

• Lane 1–[16:9]/[17], [52:45]/[53]

• Lane 2–[25:18]/[26], [61:54]/[62]

• Lane 3–[34:27]/[35],[70:63]/[71]

The XGMII SDR RX clock which runs at 156.25 MHz.

The XGMII SDR RX input clock which runs at 156.25 MHz. This port is only available when Enable phase compensation FIFO is selected.

2.6.6.9.3. Transceiver Serial Data Interface

The XAUI transceiver serial data interface has four lanes of serial data for both the TX and RX interfaces. This interface runs at 3.125 Gbps. There is no separate clock signal because it is encoded in the data.

Table 173.

Serial Data Interface

Signal Name xaui_rx_serial_data[3:0] xaui_tx_serial_data[3:0]

Direction

Input

Output

Serial input data.

Serial output data.

Description

Intel ®

224

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.6.6.9.4. XAUI PHY Clocks, Reset, and Powerdown Interfaces

Figure 89.

Clock Inputs and Outputs for IP Core with Soft PCS phy_mgmt_clk pll_ref_clk

XAUI Soft IP Core xgmii_tx_clk xgmii_rx_clk

Soft PCS

pma_pll_inclk sysclk pma_tx_clkout pma_rx_clkout pll_ref_clk

PMA

tx_clkout rx_recovered_clk

4

4

4 x 3.125 Gbps serial

Table 174.

Clock and Reset Signals

Signal Name pll_ref_clk

Direction

Input

Description

This is a 156.25 MHz reference clock that is used by the CDR logic.

2.6.6.9.5. XAUI PHY PMA Channel Controller Interface

Table 175.

PMA Channel Controller Signals

Signal Name rx_recovered_clk[3:0]

Direction

Output rx_ready tx_ready pll_cal_busy_i

Output

Output

Input

Description

This is the RX clock, which is recovered from the received data stream.

Indicates PMA RX has exited the reset state and the transceiver can receive data. Synchronous to mgmt_clk

.

Indicates PMA TX has exited the reset state and the transceiver can transmit data. Synchronous to mgmt_clk

.

Indicates the PLL calibration status.

2.6.6.9.6. XAUI PHY Optional PMA Control and Status Interface

Use the Avalon-MM PHY Management interface to read the state of the optional PMA control and status signals available in the XAUI PHY IP core registers. In some cases you may need to know the instantaneous value of a signal to ensure correct functioning of the XAUI PHY. In such cases, you can include the required signal in the top-level module of your XAUI PHY IP core.

Table 176.

Optional Control and Status Signals—Soft IP Implementation

Signal Name rx_channelaligned rx_disperr[7:0]

Direction

Output

Output

Description

When asserted, indicates that all 4 RX channels are aligned. Synchronous to to receive data.

mgmt_clk

. This signal is asserted when the RX lanes are fully aligned and ready

Received 10-bit code or data group has a disparity error. It is paired with rx_errdetect

which is also asserted when a disparity error occurs. The continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

225

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Signal Name rx_errdetect[7:0] rx_syncstatus[7:0]

Direction

Output

Output

Description rx_disperr

signal is 2 bits wide per channel for a total of 8 bits per XAUI link. Synchronous to mgmt_clk

.

When asserted, indicates an 8B/10B code group violation. It is asserted if the received 10-bit code group has a code violation or disparity error. Use rx_errdetect

with the rx_disperr

signal to differentiate between a code violation error, a disparity error, or both. The rx_errdetect

signal is 2 bits wide per channel for a total of 8 bits per XAUI link.

Synchronous to mgmt_clk

.

Synchronization indication. RX synchronization is indicated on the rx_syncstatus

port of each channel. The rx_syncstatus

signal is 2 bits per channel for a total of 8 bits per hard XAUI link. The rx_syncstatus

signal is 1 bit per channel for a total of 4 bits per soft XAUI link. Synchronous to mgmt_clk

.

2.6.6.10. XAUI PHY Register Interface and Register Descriptions

The Avalon-MM PHY management interface provides access to the XAUI PHY IP core

PCS, PMA, and transceiver reconfiguration registers.

Table 177.

Signals in the Avalon-MM PHY Management Interface phy_mgmt_clk

Signal Name phy_mgmt_clk_reset phy_mgmt_addr[8:0] phy_mgmt_writedata[31:0] phy_mgmt_readdata[31:0] phy_mgmt_write phy_mgmt_read phy_mgmt_waitrequest

Direction

Input

Input

Input

Input

Output

Input

Input

Output

Description

Avalon-MM clock input.

Global reset signal that resets the entire XAUI PHY. This signal is active high and level sensitive.

9-bit Avalon-MM address.

32-bit input data.

32-bit output data.

Write signal. Asserted high.

Read signal. Asserted high.

When asserted, indicates that the Avalon-MM slave interface is unable to respond to a read or write request.

When asserted, control signals to the Avalon-MM slave interface must remain constant.

Note:

For more information about the Avalon-MM interface, including timing diagrams, refer to the Avalon Interface Specification.

The following table specifies the registers that you can access using the Avalon-MM

PHY management interface using word addresses and a 32-bit embedded processor. A single address space provides access to all registers.

Writing to reserved or undefined register addresses may have undefined side effects.

Intel ®

226

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 178.

XAUI PHY IP Core Registers

Word

Addr

Bits R/W Register Name

0x041

0x042

0x044

[31:0]

[1:0]

RW

W

R

RW

Description

Reset Control Registers–Automatic Reset Controller reset_ch_bitmask

Bit mask for reset registers at addresses 0x042 and

0x044. The default value is all 1s. You can reset channel < n

> when bit< n

> = 1.

reset_control

(write) Writing a 1 to bit 0 initiates a TX digital reset using the reset controller module. The reset affects channels enabled in the a 1 to bit 1 initiates a RX digital reset of channels enabled in the clears.

reset_ch_bitmask reset_ch_bitmask

. Writing

. This bit selfreset_status

Reserved

(read) Reading bit 0 returns the status of the reset controller

TX ready bit. Reading bit 1 returns the status of the reset controller RX ready bit. This bit self-clears.

Reset Controls –Manual Mode

It is safe to write 0s to reserved bits.

[31:4,0

]

[1] RW

0x061

0x064

0x065

0x066

0x067

0x084

[2]

[3]

[31:0]

[31:0]

[31:0]

[31:0]

[31:0]

[31:16]

[15:8]

RW

RW

RW

RW

RW

RO

RO

N/A

R reset_tx_digital reset_rx_analog pma_rx_set_locktoref pma_rx_is_lockedtodata pma_rx_is_lockedtoref

Writing a 1 causes the internal TX digital reset signal to be asserted, resetting all channels enabled in reset_ch_bitmask

. You must write a 0 to clear the reset condition.

Writing a 1 causes the internal RX analog reset signal to be asserted, resetting the RX analog logic of all channels enabled in reset_ch_bitmask write a 0 to clear the reset condition.

. You must reset_rx_digital

Writing a 1 causes the RX digital reset signal to be asserted, resetting the RX digital channels enabled in reset_ch_bitmask

. You must write a 0 to clear the reset condition.

PMA Control and Status Registers phy_serial_loopback pma_rx_set_locktodata

Writing a 1 to channel < n

> puts channel < n

> in serial loopback mode. For information about pre- or post-CDR serial loopback modes, refer to Loopback

Modes.

When set, programs the RX CDR PLL to lock to the incoming data. Bit < n

> corresponds to channel < n

>.

When set, programs the RX CDR PLL to lock to the reference clock. Bit < n

> corresponds to channel < n

>.

When asserted, indicates that the RX CDR PLL is locked to the RX data, and that the RX CDR has changed from LTR to LTD mode. Bit < n

> corresponds to channel < n

>.

When asserted, indicates that the RX CDR PLL is locked to the reference clock. Bit < n

> corresponds to channel < n

>.

XAUI PCS

Reserved

Reserved

N/A

N/A continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

227

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Word

Addr

Bits R/W Register Name Description

0x085 [31:16]

[15:8]

0x08a

[7:0]

[7:0]

[0]

N/A

R

RW syncstatus[7:0]

Reserved errdetect[7:0] disperr[7:0] simulation_flag

Records the synchronization status of the corresponding bit. The RX sync status register has 1 bit per channel for a total of 4 bits per soft XAUI link; soft XAUI uses bits 0–3. Reading the value of the syncstatus

register clears the bits.

From block: Word aligner

N/A

When set, indicates that a received 10-bit code group has an 8B/10B code violation or disparity error. Use errdetect

with disperr

to differentiate between a code violation error, a disparity error, or both. There are 2 bits per RX channel for a total of 8 bits per XAUI link. Reading the value of the clears the bits.

errdetect

register

From block: 8B/10B decoder

Indicates that the received 10-bit code or data group has a disparity error. When set, the corresponding errdetect

bits are also set. There are 2 bits per RX channel for a total of 8 bits per XAUI link. Reading the value of the errdetect

register clears the bits.

From block: 8B/10B decoder

Setting this bit to 1 shortens the duration of reset and loss timer when simulating. Intel recommends that you keep this bit set for simulation.

Related Information

Avalon Interface Specifications

2.6.6.11. XAUI PHY Timing Analyzer SDC Constraint

Refer to the "Timing Constraints for Bonded PCS and PMA Channels" section for the

Synopsis Design Constraints (SDC) for XAUI.

Related Information

Timing Constraints for Bonded PCS and PMA Channels

on page 443

2.6.7. Acronyms

This table defines some commonly used Ethernet acronyms.

Table 179.

Ethernet Acronyms

AN

BER

DME

FEC

GMII

KR

Acronym Definition

Auto-Negotiation in Ethernet as described in Clause 73 of IEEE 802.3ap-2007.

Bit Error Rate.

Differential Manchester Encoding.

Forward error correction.

Gigabit Media Independent Interface.

Short hand notation for Backplane Ethernet with 64b/66b encoding.

continued...

Intel ®

228

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

LD

LT

LP

MAC

MII

OSI

PCS

PHY

PMA

PMD

SGMII

WAN

XAUI

Acronym Definition

Local Device.

Link training in backplane Ethernet Clause 72 for 10GBASE-KR and 40GBASE-KR4.

Link partner, to which the LD is connected.

Media Access Control.

Media independent interface.

Open System Interconnection.

Physical Coding Sublayer.

Physical Layer in OSI 7-layer architecture, also in Intel device scope is: PCS + PMA.

Physical Medium Attachment.

Physical Medium Dependent.

Serial Gigabit Media Independent Interface.

Wide Area Network.

10 Gigabit Attachment Unit Interface.

2.7. PCI Express (PIPE)

You can use Arria 10 transceivers to implement a complete PCI Express solution for

Gen1, Gen2, and Gen3, at data rates of 2.5, 5.0, and 8 Gbps, respectively.

Configure the transceivers for PCIe functionality using one of the following methods:

• Arria 10 Hard IP for PCIe

This is a complete PCIe solution that includes the Transaction, Data Link, and

PHY/MAC layers. The Hard IP solution contains dedicated hard logic, which connects to the transceiver PHY interface.

Note: For more information, refer to the Arria 10 Avalon-ST Interface for PCIe

Solutions User Guide .

• Native PHY IP Core in PIPE Gen1/Gen2/Gen3 Transceiver Configuration

Rules

Use the Native PHY IP (Native PHY IP Core) to configure the transceivers in PCIe mode, giving access to the PIPE interface (commonly called PIPE mode in transceivers). This mode enables you to connect the transceiver to a third-party

MAC to create a complete PCIe solution.

The PIPE specification (version 3.0) provides implementation details for a PCIecompliant physical layer. The Native PHY IP Core for PIPE Gen1, Gen2, and Gen3 supports x1, x2, x4, or x8 operation for a total aggregate bandwidth ranging from

2 to 64 Gbps. In a x1 configuration, the PCS and PMA blocks of each channel are clocked and reset independently. The x2, x4, and x8 configurations support channel bonding for two-lane, four-lane, and eight-lane links. In these bonded channel configurations, the PCS and PMA blocks of all bonded channels share common clock and reset signals.

Gen1 and Gen2 modes use 8B/10B encoding, which has a 20% overhead to overall link bandwidth. Gen3 modes use 128b/130b encoding, which has an overhead of less than 2%. Gen1 and Gen2 modes use the Standard PCS, and Gen3 mode uses the

Gen3 PCS for its operation.

Intel ® Arria ® 10 Transceiver PHY User Guide

229

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 180.

Transceiver Solutions

Support

Gen1, Gen2, and Gen3 data rates

MAC, data link, and transaction layer

Transceiver interface

Arria 10 Hard IP for PCI Express

Yes

Yes

Hard IP through PIPE 3.0 based interface

Native PHY IP Core for PCI Express

(PIPE)

Yes

User implementation in FPGA fabric

• PIPE 2.0 for Gen1 and Gen2

• PIPE 3.0 based for Gen3 with Gen1/

Gen2 support

Related Information

• Intel PHY Interface for the PCI Express (PIPE) Architecture PCI Express

• Arria 10 Hard IP for PCI Express User Guide for the Avalon Streaming Interface

2.7.1. Transceiver Channel Datapath for PIPE

Figure 90.

Transceiver Channel Datapath for PIPE Gen1/Gen2 Configurations

Transmitter PMA Transmitter Standard PCS FPGA

Fabric

PRBS

Generator

Receiver PMA Receiver Standard PCS

PRBS

Verifier

Intel ®

230

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 91.

Transceiver Channel Datapath for PIPE Gen1/Gen2/Gen3 Configurations

Transmitter PMA Transmitter Gen3 PCS FPGA

Fabric

Transmitter Standard PCS

Receiver PMA Receiver Gen3 PCS

PRBS

Generator

Receiver Standard PCS

PRBS

Verifier

2.7.2. Supported PIPE Features

PIPE Gen1, Gen2, and Gen3 configurations support different features.

Table 181.

Supported Features for PIPE Configurations

Protocol Feature x1, x2, x4, x8 link configurations

PCIe-compliant synchronization state machine

±300 ppm (total 600 ppm) clock rate compensation

Transmitter driver electrical idle

Receiver detection

8B/10B encoding/decoding disparity control

128b/130b encoding/decoding

Gen1

(2.5 Gbps)

Yes

Yes

Yes

Yes

Yes

Yes

No

Gen2

(5 Gbps)

Yes

Yes

Yes

Yes

Yes

Yes

No

Scrambling/Descrambling

Power state management

Receiver PIPE status encoding pipe_rxstatus[2:0]

Dynamic switching between 2.5 Gbps and 5 Gbps signaling rate

No

Yes

Yes

No

No

Yes

Yes

Yes

Gen3

(8 Gbps)

Yes

Yes

Yes

Yes

Yes

No

Yes (supported through the

Gearbox)

Yes

(implemented in FPGA fabric)

(38)

Yes

Yes

No continued...

(38) You must enable scrambling/descrambling in Gen1/Gen2 when using Arria 10 PCIe Gen3 configurations.

Intel ® Arria ® 10 Transceiver PHY User Guide

231

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Protocol Feature Gen1

(2.5 Gbps)

No

Gen2

(5 Gbps)

No

Gen3

(8 Gbps)

Yes Dynamic switching between 2.5 Gbps, 5 Gbps, and 8 Gbps signaling rate

Dynamic transmitter margining for differential output voltage control

Dynamic transmitter buffer de-emphasis of –3.5 dB and –6 dB

Dynamic Gen3 transceiver pre-emphasis, de-emphasis, and equalization

PCS PMA interface width (bits)

Receiver Electrical Idle Inference (EII)

No

No

No

Yes

Yes

No

Yes

Yes

Yes

10

Implement in FPGA fabric

10

Implement in

FPGA fabric

32

Implement in

FPGA fabric

Related Information

PCIe Gen3 PCS Architecture on page 495

For more information about PIPE Gen3.

• Intel PHY Interface for the PCI Express* (PIPE) Architecture PCI Express 2.0

• Intel PHY Interface for the PCI Express (PIPE) Architecture PCI Express 3.0

2.7.2.1. Gen1/Gen2 Features

In a PIPE configuration, each channel has a PIPE interface block that transfers data, control, and status signals between the PHY-MAC layer and the transceiver channel

PCS and PMA blocks. The PIPE configuration is based on the PIPE 2.0 specification. If you use a PIPE configuration, you must implement the PHY-MAC layer using soft IP in the FPGA fabric.

2.7.2.1.1. Dynamic Switching Between Gen1 (2.5 Gbps) and Gen2 (5 Gbps)

In a PIPE configuration, Native PHY IP Core provides an input signal pipe_rate

[1:0]

that is functionally equivalent to the RATE signal specified in the PCIe specification. A change in value from 2'b00 to 2'b01 on this input signal pipe_rate

[1:0]

initiates a data rate switch from Gen1 to Gen2. A change in value from 2'b01 to 2'b00 on the input signal initiates a data rate switch from Gen2 to Gen1.

2.7.2.1.2. Transmitter Electrical Idle Generation

The PIPE interface block in Arria 10 devices puts the transmitter buffer in an electrical idle state when the electrical idle input signal is asserted. During electrical idle, the transmitter buffer differential and common mode output voltage levels are compliant with the PCIe Base Specification 2.0 for both PCIe Gen1 and Gen2 data rates.

The PCIe specification requires the transmitter driver to be in electrical idle in certain power states.

Note: For more information about input signal levels required in different power states, refer to Power State Management in the next section.

Intel ®

232

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.7.2.1.3. Power State Management

Table 182.

Power States Defined in the PCIe Specification

To minimize power consumption, the physical layer device must support the following power states.

Power States

P0

Description

Normal operating state during which packet data is transferred on the PCIe link.

P0s, P1, and P2 The PHY-MAC layer directs the physical layer to transition into these low-power states.

The PIPE interface in Arria 10 transceivers provides a pipe_powerdown each transceiver channel configured in a PIPE configuration.

input port for

The PCIe specification requires the physical layer device to implement power-saving measures when the P0 power state transitions to the low power states. Arria 10 transceivers do not implement these power-saving measures except for putting the transmitter buffer in electrical idle mode in the lower power states.

2.7.2.1.4. 8B/10B Encoder Usage for Compliance Pattern Transmission Support

The PCIe transmitter transmits a compliance pattern when the Link Training and

Status State Machine (LTSSM) enters the Polling.Compliance substate. The

Polling.Compliance substate assesses if the transmitter is electrically compliant with the PCIe voltage and timing specifications.

2.7.2.1.5. Receiver Status

The PCIe specification requires the PHY to encode the receiver status on a 3-bit status signal pipe_rx_status[2:0]

. This status signal is used by the PHY-MAC layer for its operation. The PIPE interface block receives status signals from the transceiver channel PCS and PMA blocks, and encodes the status on the pipe_rx_status[2:0] signal to the FPGA fabric. The encoding of the status signals on the pipe_rx_status[2:0]

signal conforms to the PCIe specification.

2.7.2.1.6. Receiver Detection

The PIPE interface block in Arria 10 transceivers provides an input signal pipe_tx_detectrx_loopback

for the receiver detect operation. The PCIe protocol requires this signal to be high during the Detect state of the LTSSM. When the pipe_tx_detectrx_loopback

signal is asserted in the P1 power state, the PIPE interface block sends a command signal to the transmitter driver in that channel to initiate a receiver detect sequence. In the P1 power state, the transmitter buffer must always be in the electrical idle state. After receiving this command signal, the receiver detect circuitry creates a step voltage at the output of the transmitter buffer. The time constant of the step voltage on the trace increases if an active receiver that complies with the PCIe input impedance requirements is present at the far end. The receiver detect circuitry monitors this time constant to determine if a receiver is present.

Note: For the receiver detect circuitry to function reliably, the transceiver on-chip termination must be used. Also, the AC-coupling capacitor on the serial link and the receiver termination values used in your system must be compliant with the PCIe Base

Specification 2.0.

Intel ® Arria ® 10 Transceiver PHY User Guide

233

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

The PIPE core provides a 1-bit PHY status signal pipe_phy_status

and a 3-bit receiver status signal pipe_rx_status[2:0]

to indicate whether a receiver is detected, as per the PIPE 2.0 specifications.

2.7.2.1.7. Gen1 and Gen2 Clock Compensation

In compliance with the PIPE specification, Arria 10 receiver channels have a rate match FIFO to compensate for small clock frequency differences up to ±300 ppm between the upstream transmitter and the local receiver clocks.

Consider the following guidelines for PIPE clock compensation:

• Insert or delete one SKP symbol in an SKP ordered set.

• Minimum limit is imposed on the number of SKP symbols in SKP ordered set after deletion. An ordered set may have an empty COM case after deletion.

• Maximum limit is imposed on the number of the SKP symbols in the SKP ordered set after insertion. An ordered set may have more than five symbols after insertion.

• For INSERT/DELETE cases: The flag status appears on the COM symbol of the SKP ordered set where insertion or deletion occurs.

• For FULL/EMPTY cases: The flag status appears where the character is inserted or deleted.

Note: When the PIPE interface is on, it translates the value of the flag to the appropriate pipe_rx_status

signal.

• The PIPE mode also has a “0 ppm” configuration option that you can use in synchronous systems. The Rate Match FIFO Block is not expected to do any clock compensation in this configuration, but latency is minimized.

Figure 92.

Rate Match Deletion

This figure shows an example of rate match deletion in the case where two /K28.0/ SKP symbols must be deleted. Only one /K28.0/ SKP symbol is deleted per SKP ordered set received.

SKP Symbol

Deleted

First SKP Ordered Set Second SKP Ordered Set

K28.0

Dx.y

rmfifo_input_data rx_parallel_data pipe_rx_status[2:0]

K28.5

K28.5

3’b010

K28.0

Dx.y

xxx

Dx.y

K28.5

3’b010

K28.5

K28.0

xxx

K28.0

K28.0

xxx

K28.0

Dx.y

xxx

Intel ®

234

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 93.

Rate Match Insertion

The figure below shows an example of rate match insertion in the case where two SKP symbols must be inserted. Only one /K28.0/ SKP symbol is inserted per SKP ordered set received.

First SKP Ordered Set Second SKP Ordered Set rmfifo_input_data rx_parallel_data pipe_rx_status[2:0]

K28.5

K28.5

3’b001

K28.0

K28.0

xxx

Dx.y

K28.0

xxx

K28.5

Dx.y

xxx

K28.0

K28.5

3’b001

K28.0

K28.0

xxx

K28.0

K28.0

xxx

K28.0

K28.0

xxx

K28.0

xxx

K28.0

xxx

SKP Symbol Inserted

Figure 94.

Rate Match FIFO Full

The rate match FIFO in PIPE mode automatically deletes the data byte that causes the FIFO to go full and drives pipe_rx_status[2:0]

= 3'b101 synchronous to the subsequent data byte. The figure below shows the rate match FIFO full condition in PIPE mode. The rate match FIFO becomes full after receiving data byte

D4.

tx_parallel_data D1 D2 D3 D4 D5 D6 D7 D8 rx_parallel_data D1 D2 D3 D4 D6 D7 D8 xx xx xx pipe_rx_status[2:0] xxx xxx xxx xxx 3’b101 xxx xxx xxx

Figure 95.

Rate Match FIFO Empty

The rate match FIFO automatically inserts /K30.7/ (9'h1FE) after the data byte that causes the FIFO to become empty and drives pipe_rx_status[2:0]

= 3'b110 synchronous to the inserted /K30.7/ (9'h1FE). The figure below shows rate match FIFO empty condition in PIPE mode. The rate match FIFO becomes empty after reading out data byte D3.

tx_parallel_data D1 D2 D3 D4

D5

D6 rx_parallel_data D1 D2 D3 /K.30.7/ D4 D5 pipe_rx_status[2:0] xxx xxx xxx 3’b110 xxx xxx

PIPE 0 ppm

The PIPE mode also has a "0 ppm" configuration option that can be used in synchronous systems. The Rate Match FIFO Block is not expected to do any clock compensation in this configuration, but latency is minimized.

2.7.2.1.8. PCIe Reverse Parallel Loopback

PCIe reverse parallel loopback is only available in a PCIe functional configuration for

Gen1, Gen2, and Gen3 data rates. The received serial data passes through the receiver CDR, deserializer, word aligner, and rate matching FIFO buffer. The data is then looped back to the transmitter serializer and transmitted out through the transmitter buffer. The received data is also available to the FPGA fabric through the rx_parallel_data

port. This loopback mode is based on PCIe specification 2.0.

Arria 10 devices provide an input signal this loopback mode.

pipe_tx_detectrx_loopback

to enable

Note: This is the only loopback option supported in PIPE configurations.

Intel ® Arria ® 10 Transceiver PHY User Guide

235

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 96.

PCIe Reverse Parallel Loopback Mode Datapath

Transmitter PMA Transmitter Standard PCS FPGA

Fabric

Reverse Parallel

Loopback Path

PRBS

Generator

Receiver PMA Receiver Standard PCS

PRBS

Verifier

Related Information

Arria 10 Standard PCS Architecture

on page 479

• Intel PHY Interface for the PCI Express* (PIPE) Architecture PCI Express 2.0

2.7.2.2. Gen3 Features

The following subsections describes the Arria 10 transceiver block support for PIPE

Gen3 features.

The PCS supports the PIPE 3.0 base specification. The 32-bit wide PIPE 3.0-based interface controls PHY functions such as transmission of electrical idle, receiver detection, and speed negotiation and control.

2.7.2.2.1. Auto-Speed Negotiation

PIPE Gen3 mode enables ASN between Gen1 (2.5 Gbps), Gen2 (5.0 Gbps), and Gen3

(8.0 Gbps) signaling data rates. The signaling rate switch is accomplished through frequency scaling and configuration of the PMA and PCS blocks using a fixed 32-bit wide PIPE 3.0-based interface.

The PMA switches clocks between Gen1, Gen2, and Gen3 data rates. For a non bonded x1 channel, an ASN module facilitates speed negotiation in that channel. For bonded x2, x4, x8 and x16 channels, the ASN module selects the master channel to control the rate switch. The master channel distributes the speed change request to the other

PMA and PCS channels.

The PCIe Gen3 speed negotiation process is initiated when Hard IP or the FPGA fabric requests a rate change. The ASN then places the PCS in reset, and dynamically shuts down the clock paths to disengage the current active state PCS (either Standard PCS or Gen3 PCS). If a switch to or from Gen3 is requested, the ASN automatically selects the correct PCS clock paths and datapath selection in the multiplexers. The ASN block then sends a request to the PMA block to switch the data rate, and waits for a rate change done signal for confirmation. When the PMA completes the rate change and sends confirmation to the ASN block, the ASN enables the clock paths to engage the new PCS block and releases the PCS reset. Assertion of the pipe_phy_status

signal by the ASN block indicates the successful completion of this process.

Intel ®

236

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Note: In Native PHY IP core - PIPE configuration, you must set pipe_rate[1:0] to initiate the transceiver datarate switch sequence.

2.7.2.2.2. Rate Switch

This section provides an overview of auto rate change between PIPE Gen1 (2.5 Gbps),

Gen2 (5.0 Gbps), and Gen3 (8.0 Gbps) modes.

In Arria 10 devices, there is one ASN block common to the Standard PCS and Gen3

PCS, located in the PMA PCS interface that handles all PIPE speed changes. The PIPE interface clock rate is adjusted to match the data throughput when a rate switch is requested.

Table 183.

PIPE Gen3 32 bit PCS Clock Rates

PCIe Gen3 Capability Mode

Enabled

Lane data rate

PCS clock frequency

FPGA fabric IP clock frequency

PIPE interface width pipe_rate [1:0]

2.5 Gbps

250 MHz

62.5 MHz

32-bit

2'b00

Gen1

5 Gbps

500 MHz

125 MHz

32-bit

2'b01

Gen2

8 Gbps

250 MHz

250 MHz

32-bit

2'b10

Gen3

Figure 97.

Rate Switch Change

The block-level diagram below shows a high level connectivity between ASN and Standard PCS and Gen3 PCS.

Control Plane

Bonding Up pipe_rate[1:0] from FPGA Fabric

Standard PCS PCS/PMA INF

Gen3 ASN

(Gen1, Gen2, Gen3)

Gen3 PCS pipe_sw pipe_sw_done

PMA

PHYSTATUS

GEN

PHYSTATUS

GEN pipe_phy_status pll_pcie_clk

TX

FIFO

/2

(for Gen1 Only)

Control Plane

Bonding Down

Intel ® Arria ® 10 Transceiver PHY User Guide

237

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

The sequence of speed change between Gen1, Gen2, and Gen3 occurs as follows:

1. The PHY-MAC layer implemented in FPGA fabric requests a rate change through pipe_rate[1:0]

.

2. The ASN block waits for the TX FIFO to flush out data. Then the ASN block asserts the PCS reset.

3. The ASN asserts the clock shutdown signal to the Standard PCS and Gen3 PCS to dynamically shut down the clock.

4. When the rate changes to or from the Gen3 speed, the ASN asserts the clock and data multiplexer selection signals.

5. The ASN uses a pipe_sw[1:0]

output signal to send a rate change request to the PMA.

6. The ASN continuously monitors the

PMA.

pipe_sw_done[1:0]

input signal from the

7. After the ASN receives the pipe_sw_done[1:0]

signal, it deasserts the clock shut down signals to release the clock.

8. The ASN deasserts the PCS reset.

9. The ASN sends the speed change completion to the PHY-MAC interface. This is done through the pipe_phy_status

signal to PHY-MAC interface.

Figure 98.

Speed Change Sequence pipe_tx_elecidle pipe_rate[1:0] pipe_sw[1:0] pipe_sw_done[1:0] pipe_phy_status

00

00

00

10

10

10

2.7.2.2.3. Gen3 Transmitter Electrical Idle Generation

In the PIPE 3.0-based interface, you can place the transmitter in electrical idle during low power states. Before the transmitter enters electrical idle, you must send the

Electrical Idle ordered set, consisting of 16 symbols with value 0x66. During electrical idle, the transmitter differential and common mode voltage levels are based on the

PCIe Base Specification 3.0.

2.7.2.2.4. Gen3 Clock Compensation

Enable this mode from the Parameter Editor when using the Gen3 PIPE transceiver configuration rule.

To accommodate PCIe protocol requirements and to compensate for clock frequency differences of up to ±300 ppm between source and termination equipment, receiver channels have a rate match FIFO. The rate match FIFO adds or deletes four SKP characters (32 bits) to keep the FIFO from becoming empty or full. If the rate match

FIFO is almost full, the FIFO deletes four SKP characters. If the rate match FIFO is nearly empty, the FIFO inserts a SKP character at the start of the next available SKP ordered set. The and deletion.

pipe_rx_status [2:0]

signal indicates FIFO full, empty, insertion

Intel ®

238

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Note: Refer to the Gen1 and Gen2 Clock Compensation section for waveforms.

Related Information

Gen1 and Gen2 Clock Compensation on page 234

2.7.2.2.5. Gen3 Power State Management

The PCIe base specification defines low power states for PHY layer devices to minimize power consumption. The Gen3 PCS does not implement these power saving measures, except when placing the transmitter driver in electrical idle in the low power state. In the P2 low power state, the transceivers do not disable the PIPE block clock.

Figure 99.

P1 to P0 Transition

The figure below shows the transition from P1 to P0 with completion provided by pipe_phy_status

.

tx_coreclkin pipe_powerdown pipe_phy_status

P1 P0

2.7.2.2.6. CDR Control

The CDR control block performs the following functions:

• Controls the PMA CDR to obtain bit and symbol alignment

• Controls the PMA CDR to deskew within the allocated time

• Generates status signals for other PCS blocks

The PCIe base specification requires that the receiver L0s power state exit time be a maximum of 4 ms for Gen1, 2 ms for Gen2, and 4 ms for Gen3 signaling rates. The transceivers have an improved CDR control block to accommodate fast lock times.

Fast lock times are necessary for the CDR to relock to the new multiplier/divider settings when entering or exiting Gen3 speeds.

2.7.2.2.7. Gearbox

As per the PIPE 3.0 specification, for every 128 bits that are moved across the Gen3

PCS, the PHY must transmit 130 bits of data. Intel uses the pipe_tx_data_valid signal every 16 blocks of data to transmit the built-up backlog of 32 bits of data.

The 130-bit block is received as follows in the 32-bit data path: 34 (32+2-bit sync header), 32, 32, 32. During the first cycle, the gearbox converts the 34-bit input data to 32-bit data. During the next three clock cycles, the gearbox merges bits from adjacent cycles. For the gearbox to work correctly, a gap must be provided in the data for every 16 shifts because each shift contains two extra bits for converting the initial

34 bits to 32 bits in the gearbox. After 16 shifts, the gearbox has an extra 32 bits of data that are transmitted out. This requires a gap in the input data stream, which is achieved by driving pipe_tx_data_valid

low for one cycle after every 16 blocks of data.

Figure 100. Gen3 Data Transmission tx_coreclkin pipe_tx_sync_hdr pipe_tx_blk_start pipe_tx_data_valid

10

Intel ® Arria ® 10 Transceiver PHY User Guide

239

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.7.3. How to Connect TX PLLs for PIPE Gen1, Gen2, and Gen3 Modes

Figure 101. Use ATX PLL or fPLL for Gen1/Gen2 x1 Mode

X1 Network

6

CGB

Ch 5 fPLL1

ATX PLL1

6

CGB

CDR

Ch 4

Master

CGB1

4

6

CGB

CDR

Ch 3

Path for Clocking in

Gen1/Gen2 x1 Mode fPLL0

6

CGB

CDR

Ch 2

Master

CGB0

4

6

CGB

CDR

Ch 1

ATX PLL0

6

CGB

CDR

Ch 0

Path for Clocking in

Gen1/Gen2 x1 Mode

CDR

Notes:

1. The figure shown is just one possible combination for the PCIe Gen1/Gen2 x1 mode.

2. Gen1/Gen2 x1 mode uses the ATX PLL or fPLL.

3. Gen1/Gen2 x1 can use any channel from the given bank for which the ATX PLL or fPLL is enabled.

4. Use the pll_pcie_clk from either the ATX PLL or fPLL. This is the hclk required by the PIPE interface.

Intel ®

240

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 102. Use ATX PLL or fPLL for Gen1/Gen2 x4 Mode

XN

Network

X6

Network fPLL1

ATX PLL1

Connections Done via X1 Network

Master

CGB

Master

CGB

6 6

6

6

6

6

CGB

CGB

CGB

CGB

CGB

CGB

CDR

Ch 3

CDR

Ch 2

Ch 5

CDR

Ch 4

CDR

Ch 1

CDR

Ch 0

CDR

Notes:

1. The figure shown is just one possible combination for the PCIe Gen1/Gen2 x4 mode.

2. The x6 and xN clock networks are used for channel bonding applications.

3. Each master CGB drives one set of x6 clock lines.

4. Gen1/Gen2 x4 modes use the ATX PLL or fPLL only.

5. Use the pll_pcie_clk from either the ATX or fPLL. This is the hclk required by the PIPE interface.

6.

In this case the Master PCS channel is logical channel 3 (physical channel 4).

Intel ® Arria ® 10 Transceiver PHY User Guide

241

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 103. Use ATX PLL or fPLL for Gen1/Gen2 x8 Mode

Use Any

One PLL fPLL1

ATX PLL1

Master

CGB

Connections Done via X1 Network

Master

CGB

6 6

6

6

6

6

CGB

CGB

Master

CGB

6

Notes:

1. Figure shown is just one possible combination for the PCIe Gen1/Gen2 x8 mode.

2. The x6 and xN clock networks are used for channel bonding applications.

3. Each master CGB drives one set of x6 clock lines. The x6 lines further drive the xN lines.

4. Gen1/Gen2 x8 mode uses the ATX PLL or fPLL only.

5. Use the pll_pcie_clk from either the ATX or fPLL. This is the hclk required by the PIPE interface.

6. In this case the Master PCS channel is logical channel 4 (Ch 1 in the top bank).

CGB

CGB

CGB

CGB

CGB

CGB

Ch 5

CDR

Ch 4

CDR

Ch 3

CDR

Ch 2

Transceiver bank

CDR

Ch 1

CDR

Ch 0

CDR

Ch 5

CDR

Ch 4

CDR

Transceiver bank

Intel ®

242

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 104. Use ATX PLL or fPLL for Gen1/Gen2/Gen3 x1 Mode

X1 Network

6

CGB fPLL1

ATX PLL1

6

CGB

Ch 5

CDR

Ch 4

Master

CGB1

4

CDR

Ch 3

6

CGB

CDR

Ch 2

6

CGB fPLL0

Master

CGB0

4

CDR

Ch 1

6

CGB

ATX PLL0

CDR

Ch 0

6

CGB

CDR

Notes:

1. The figure shown is just one possible combination for the PCIe Gen1/Gen2/Gen3 x1 mode.

2. Gen1/Gen2 modes use the fPLL only.

3. Gen3 mode uses the ATX PLL only.

4. Use the pll_pcie_clk from the fPLL, configured as Gen1/Gen2. This is the hclk required by the PIPE interface.

5. Select the number of TX PLLs (2) in the Native PHY IP core wizard.

Intel ® Arria ® 10 Transceiver PHY User Guide

243

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 105. Use ATX PLL or fPLL for Gen1/Gen2/Gen3 x4 Mode

XN

Network

X6

Network fPLL1

ATX PLL1

Connections Done via X1 Network

Master

CGB

Master

CGB

6 6

6

6

6

6

CGB

CGB

CGB

CGB

CGB

CGB

Notes:

1. The figure shown is just one possible combination for the PCIe Gen1/Gen2/Gen3 x4 mode.

2. The x6 and xN clock networks are used for channel bonding applications.

3. Each master CGB drives one set of x6 clock lines.

4. Gen1/Gen2 modes use the fPLL only.

5. Gen3 mode uses the ATX PLL only.

6. Use the pll_pcie_clk from the fPLL, configured as Gen1/Gen2. This is the hclk required by the PIPE interface.

CDR

Ch 1

CDR

Ch 0

CDR

CDR

Ch 3

CDR

Ch 2

Ch 5

CDR

Ch 4

Intel ®

244

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 106. Use ATX PLL or fPLL for Gen1/Gen2/Gen3 x8 Mode

Master

CGB fPLL1

ATX PLL1

Connections Done via X1 Network

Master

CGB

6 6

6

6

6

6

CGB

CGB

CGB

CGB

CGB

CGB

Ch 5

CDR

Ch 4

CDR

Ch 3

CDR

Ch 2

Transceiver bank

CDR

Ch 1

CDR

Ch 0

CDR

Ch 5

CGB

CDR

Ch 4

CGB

Master

CGB

6

Notes:

1. The figure shown is just one possible combination for the PCIe Gen1/Gen2/Gen3 x8 mode.

2. The x6 and xN clock networks are used for channel bonding applications.

3. Each master CGB drives one set of x6 clock lines. The x6 lines further drive the xN lines.

4. Gen1/Gen2 x8 modes use the fPLL only.

5. Gen3 mode uses the ATX PLL only.

6. Use the pll_pcie_clk from the fPLL, configured as Gen1/Gen2. This is the hclk required by the PIPE interface.

CDR

Transceiver bank

Related Information

Using PLLs and Clock Networks

on page 398

For more information about implementing clock configurations and configuring

PLLs.

• PIPE Design Example

For more information about the PLL configuration for PCIe.

Transmit PLL recommendation based on Data rates

on page 349

For more information about ATX PLL placement restrictions

Intel ® Arria ® 10 Transceiver PHY User Guide

245

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.7.4. How to Implement PCI Express (PIPE) in Arria 10 Transceivers

You must be familiar with the Standard PCS architecture, Gen3 PCS architecture, PLL architecture, and the reset controller before implementing the PCI Express protocol.

1. Go to the IP Catalog and select the Arria 10 Transceiver Native PHY IP Core.

Refer to Select and Instantiate the PHY IP Core on page 33 for more details.

2. Select Gen1/Gen2/Gen3 PIPE from the Arria 10 Transceiver configuration

rules list, located under Datapath Options.

3. Use the parameter values in the tables in Transceiver Native PHY IP Parameters for

PCI Express Transceiver Configurations Rules as a starting point. Alternatively, you

can use Arria 10 Transceiver Native PHY Presets . You can then modify the settings to meet your specific requirements.

4. Click Finish to generate the Native PHY IP (this is your RTL file).

5. Instantiate and configure your PLL.

6. Create a transceiver reset controller. You can use your own reset controller or use the Transceiver PHY Reset Controller.

7. Connect the Native PHY IP to the PLL IP core and the reset controller. Use the

information in Transceiver Native PHY IP Ports for PCI Express Transceiver

Configuration Rules to connect the ports.

8. Simulate your design to verify its functionality.

Intel ®

246

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 107. Connection Guidelines for a PIPE Gen3 Design

pll_refclk

ATX PLL and Master

CGB (Gen3) tx_bonding_clocks mcgb_aux_clk fPLL

(Gen1/Gen2) pll_pcie_clk tx_serial_clk

Arria 10

Transceiver

Native PHY tx_bonding_clocks pipe_hclk_in

(1)

Reset Controller (2) clock reset

Notes:

(1). If you enable the input pll_cal_busy port in the Transceiver PHY Reset Controller, you can connect the pll_cal_busy output signals from the PLLs directly to the input port on the reset-controller without ORing the tx_cal_busy and pll_cal_busy signals.

(2).

a. If you are using the Transceiver PHY Reset Controller, you must configure the TX digital reset mode and RX digital reset mode to Manual to avoid resetting the Auto Speed

Negotiation (ASN) block which handles the rate switch whenever the channel PCS is reset.

b. When the TX digitalreset is in Auto mode, the associated tx_digitalreset controller automatically resets whenever the pll_locked signal is deasserted. When in Manual mode, the associated tx_digitalreset controller is not reset when the pll_locked signal is deasserted, allowing the user to choose what to do.

c. When the RX digitalreset is in Auto mode, the associated rx_digitalreset controller automatically resets whenever the rx_is_lockedtodata signal is deasserted. When in

Manual mode, the associated rx_digitalreset controller is not reset when the rx_is_lockedtodata signal is deasserted, allowing the user to choose what to do.

d. If the resets are configured to Auto mode for PIPE designs, then the digital reset will get asserted automatically when the lock signal is deasserted.

Intel ® Arria ® 10 Transceiver PHY User Guide

247

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Recommendations:

Intel recommends that you not reset the PLL and channels (TX and RX) when using the PIPE mode of Native PHY. This is to avoid resetting the Auto Speed Negotiation

(ASN) block in the PCS.

Related Information

PLLs on page 349

For information about PLL architecture and implementation details.

Arria 10 Standard PCS Architecture

on page 479

Resetting Transceiver Channels

on page 416

For information about the Reset controller and implementation details.

2.7.5. Native PHY IP Parameter Settings for PIPE

Table 184.

Parameters for Arria 10 Native PHY IP in PIPE Gen1, Gen2, Gen3 Modes

This section contains the recommended parameter values for this protocol. Refer to Using the Arria 10

Transceiver Native PHY IP Core for the full range of parameter values.

Gen1 PIPE Gen2 PIPE Gen3 PIPE

Parameter

Message level for rule violations

Common PMA Options

VCCR_GXB and VCCT_GXB supply voltage for the

Transceiver

Transceiver link type

Datapath Options

Transceiver configuration rules

PMA configuration rules

Transceiver mode

Number of data channels

Data rate

Enable datapath and interface reconfiguration

Enable simplified data interface

Provide separate interface for each channel

Error

Gen1: 1_1V, 1_0V, 0_9V

Gen1: sr,lr

Gen1 PIPE

Basic

TX / RX Duplex

Gen1 x1: 1 channel

Gen1 x2: 2 channels

Gen1 x4: 4 channels

Gen1 x8: 8 channels

2.5 Gbps

Optional

Optional (

40 )

Optional

Error

Gen2: 1_1V, 1_0V, 0_9V

Gen2: sr,lr

Gen2 PIPE

Basic

TX / RX Duplex

Gen2 x1: 1 channel

Gen2 x2: 2 channels

Gen2 x4: 4 channels

Gen2 x8: 8 channels

5 Gbps

Optional

Optional

( 40

)

Optional

Error

Gen3: 1_1V, 1_0V, 0_9V

Gen3: sr,lr

Gen3 PIPE

Basic

TX / RX Duplex

Gen3 x1: 1 channel

Gen3 x2: 2 channels

Gen3 x4: 4 channels

Gen3 x8: 8 channels

5 Gbps (39)

Optional

Optional

( 40

)

Optional

(39) The PIPE is configured in Gen1/Gen2 during Power Up. Gen3 PCS is configured for 8 Gbps.

(40) Refer to

Table 191 on page 263 for bit settings when simplified data interface is enabled.

Intel ®

248

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 185.

Parameters for Arria 10 Native PHY IP in PIPE Gen1, Gen2, Gen3 Modes - TX

PMA

This section contains the recommended parameter values for this protocol. Refer to Using the Arria 10

Transceiver Native PHY IP Core for the full range of parameter values.

Gen1 PIPE Gen2 PIPE Gen3 PIPE

TX Bonding Options

TX channel bonding mode

PCS TX channel bonding master

Default PCS TX channel bonding master

Nonbonded (x1)

PMA & PCS Bonding

Auto (

41 )

Gen1 x1: 0

Gen1 x2: 1

Gen1 x4: 2

Gen1 x8: 4

Nonbonded (x1)

PMA & PCS Bonding

Auto

( 41

)

Gen1 x1: 0

Gen1 x2: 1

Gen1 x4: 2

Gen1 x8: 4

Nonbonded (x1)

PMA & PCS Bonding

Auto (

41 )

Gen1 x1: 0

Gen1 x2: 1

Gen1 x4: 2

Gen1 x8: 4

TX PLL Options

TX local clock division factor 1 1

Number of TX PLL clock inputs per channel

Initial TX PLL clock input selection

1

0

1

0

1

Gen3 x1: 2

All other modes: 1

Gen1 / Gen2 clock connection should be used for Initial clock input selection in

Gen3x1

All other modes: 0

TX PMA Optional Ports

Enable tx_analog_reset_ack port

Enable tx_pma_clkout

port

Enable tx_pma_div_clkout port tx_pma_div_clkout division factor

Enable tx_pma_elecidle port

Enable tx_pma_qpipullup port (QPI)

Enable tx_pma_qpipulldn port (QPI)

Enable tx_pma_txdetectrx port (QPI)

Enable tx_pma_rxfound

port (QPI)

Enable rx_seriallpbken

port

Optional

Optional

Optional

Optional

Off

Off

Off

Off

Off

Off

Optional

Optional

Optional

Optional

Off

Off

Off

Off

Off

Off

Optional

Optional

Optional

Optional

Off

Off

Off

Off

Off

Off

(41) Setting this parameter is placement-dependent. In AUTO mode, the Native PHY IP Parameter

Editor selects the middle-most channel of the configuration as the default PCS TX channel bonding master. You must ensure that this selected channel is physically placed as Ch1 or Ch4 of the transceiver bank. Else, use the manual selection for the PCS TX channel bonding master to select a channel that can be physically placed as Ch1 or Ch4 of the transceiver bank. Refer to section How to place channels for PIPE configurations for more details.

Intel ® Arria ® 10 Transceiver PHY User Guide

249

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 186.

Parameters for Arria 10 Native PHY IP in PIPE Gen1, Gen2, Gen3 Modes - RX

PMA

This section contains the recommended parameter values for this protocol. Refer to Using the Arria 10

Transceiver Native PHY IP Core for the full range of parameter values.

Gen1 PIPE Gen2 PIPE Gen3 PIPE

RX CDR Options

Number of CDR reference clocks

Selected CDR reference clock

Selected CDR reference clock frequency

PPM detector threshold

Equalization

CTLE adaptation mode

1

0

100, 125 MHz

1000

1

0

100, 125 MHz

1000

1

0

100, 125 MHz

1000

Manual / Triggered Manual / Triggered Manual / Triggered

DFE adaptation mode

Number of fixed dfe taps

RX PMA Optional Ports

Enable rx_analog_reset_ack

port

Enable rx_pma_clkout

port

Enable rx_pma_div_clkout port rx_pma_div_clkout division factor

Enable rx_pma_clkslip

port

Enable rx_pma_qpipulldn port (QPI)

Enable rx_is_lockedtodata port

Enable rx_is_lockedtoref port

Enable rx_set_locktodata

and rx_set_locktoref

ports

Enable rx_seriallpbken

port

Enable PRBS Verifier Control and Status ports

Disabled

NA

Optional

Optional

Optional

Optional

Optional

Off

Optional

Optional

Optional

Optional

Optional

Disabled

NA

Optional

Optional

Optional

Optional

Optional

Off

Optional

Optional

Optional

Optional

Optional

Disabled

NA

Table 187.

Parameters for Arria 10 Native PHY IP in PIPE Gen1, Gen2, Gen3 Modes -

Standard PCS

This section contains the recommended parameter values for this protocol. Refer to Using the Arria 10

Transceiver Native PHY IP Core for the full range of parameter values.

Gen1 PIPE Gen2 PIPE Gen3 PIPE Parameter

Standard PCS configurations

Standard PCS / PMA interface width 10 10 10 (42) continued...

Optional

Optional

Optional

Optional

Optional

Off

Optional

Optional

Optional

Optional

Optional

(42) The PIPE is configured in Gen1/Gen2 during Power Up. Gen3 PCS is configured for PCS/PMA width of 32.

Intel ®

250

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter

FPGA Fabric / Standard TX PCS interface width

FPGA Fabric / Standard RX PCS interface width

Enable Standard PCS low latency mode

Standard PCS FIFO

TX FIFO mode

RX FIFO mode

Enable tx_std_pcfifo_full

port

Enable tx_std_pcfifo_empty

port

Enable rx_std_pcfifo_full

port

Enable rx_std_pcfifo_empty

port

Byte Serializer and Deserializer

TX byte serializer mode

RX byte deserializer mode

8B/10B Encoder and Decoder

Enable TX 8B/10B encoder

Enable TX 8B/10B disparity control

Enable RX 8B/10B decoder

Rate Match FIFO

Rate Match FIFO mode

RX rate match insert / delete -ve pattern

(hex)

RX rate match insert / delete +ve pattern (hex)

Enable rx_std_rmfifo_full

port

Enable rx_std_rmfifo_empty

port

PCI Express Gen 3 rate match FIFO mode

Word Aligner and Bit Slip

Enable TX bit slip

Enable port tx_std_bitslipboundarysel

RX word aligner mode

RX word aligner pattern length

RX word aligner pattern (hex)

Gen1 PIPE

8, 16

8, 16

Off low_latency low_latency

Optional

Optional

Optional

Optional

Disabled, Serialize x2

Disabled, Serialize x2

Enabled

Enabled

Enabled

PIPE, PIPE 0ppm

0x0002f17c (K28.5/

K28.0/)

0x000d0e83 (K28.5/

K28.0/)

Optional

Optional

Bypass

Off

Optional

Synchronous State

Machine

10

0x0000 00000000017c (/

K28.5/)

Gen2 PIPE

16

16

Off low_latency low_latency

Optional

Optional

Optional

Optional

Serialize x2

Serialize x2

Enabled

Enabled

Enabled

PIPE, PIPE 0ppm

0x0002f17c (K28.5/

K28.0/)

0x000d0e83 (K28.5/

K28.0/)

Optional

Optional

Bypass

Off

Optional

Synchronous State

Machine

10

0x0000 00000000017c (/

K28.5/)

Gen3 PIPE

32

32

Off low_latency low_latency

Optional

Optional

Optional

Optional

Serialize x4

Deserialize x4

Enabled

Enabled

Enabled

PIPE, PIPE 0ppm

0x0002f17c (K28.5/

K28.0/)

0x000d0e83

(K28.5/K28.0/)

Optional

Optional

600

Off

Optional

Synchronous State

Machine

10

0x0000

00000000017c(/

K28.5/) continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

251

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter

Number of word alignment patterns to achieve sync

Number of invalid data words to lose sync

Number of valid data words to decrement error count

Enable rx_std_wa_patternalign

port

Enable rx_std_wa_a1a2size

port

Enable port rx_std_bitslipboundarysel

Enable rx_bitslip

port

Bit Reversal and Polarity Inversion

Enable TX bit reversal

Enable TX byte reversal

Enable TX polarity inversion

Enable tx_polinv

port

Enable RX bit reversal

Enable rx_std_bitrev_ena

port

Enable RX byte reversal

Enable rx_std_byterev_ena

port

Enable RX polarity inversion

Enable rx_polinv

port

Enable rx_std_signaldetect

port

PCIe Ports

Enable PCIe dynamic datarate switch ports

Enable PCIe pipe_hclk_in

and pipe_hclk_out

ports

Enable PCIe Gen3 analog control ports

Enable PCIe electrical idle control and status ports

Enable PCIe pipe_rx_polarity

port

Dynamic reconfiguration

Enable dynamic reconfiguration

Note:

Gen1 PIPE

3

16

15

Optional

Off

Optional

Off

Off

Off

Off

Off

Off

Off

Off

Off

Off

Off

Optional

Off

Enabled

Off

Enabled

Enabled

Disabled

Gen2 PIPE

3

16

15

Optional

Off

Optional

Off

Off

Off

Off

Off

Off

Off

Off

Off

Off

Off

Optional

Enabled

Enabled

Off

Enabled

Enabled

Disabled

Gen3 PIPE

3

16

15

Optional

Off

Optional

Off

Off

Off

Off

Off

Off

Off

Off

Off

Off

Off

Optional

Enabled

Enabled

Enabled

Enabled

Enabled

Disabled

The signals in the left-most column are automatically mapped to a subset of a 128-bit tx_parallel_data

word when the Simplified Interface is enabled.

Related Information

How to Place Channels for PIPE Configurations

on page 268

Using the Arria 10 Transceiver Native PHY IP Core

on page 45

Intel ®

252

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Bit Mappings When the Simplified Interface Is Disabled on page 263

2.7.6. fPLL IP Parameter Core Settings for PIPE

Table 188.

Parameter Settings for Arria 10 fPLL IP core in PIPE Gen1, Gen2, Gen3 modes

This section contains the recommended parameter values for this protocol. Refer to Using the Arria 10

Transceiver Native PHY IP Core for the full range of parameter values.

Parameter Gen1 PIPE Gen2 PIPE Gen3 PIPE (For Gen1/

Gen2 speeds)

PLL

General fPLL mode

Protocol Mode

Message level for rule violation

Number of PLL reference clocks

Selected reference clock source

Enable fractional mode

Enable manual counter configuration

Enable ATX to fPLL cascade clock input port

Settings

Bandwidth

Feedback

Operation mode

Output frequency

Transceiver

PCIe Gen 1

Error

1

0

Disable

Disable

Disable

Low, Medium, High

Direct

Transceiver usage

PLL output frequency

PLL datarate

PLL integer reference clock frequency

250oMHz

2500Mbps

100 MHz, 125 MHZ

Master Clock Generation Block (MCGB)

Include master clock generation block

Clock division factor

Disable for x1

Enable for x2, x4, x8

N/A for x1

1 for x2, x4, x8

Enable x6/xN non-bonded high-speed clock output port

Enable PCIe clock switch interface

N/A for x1

Disable for x2, x4, x8

N/A for x1

Disable for x2, x4, x8

Transceiver

PCIe Gen 2

Error

1

0

Disable

Disable

Disable

Low, Medium, High

Direct

2500MHz

5000Mbps

100 MHz, 125 MHZ

Disable for x1

Enable for x2, x4, x8

N/A for x1

1 for x2, x4, x8

N/A for x1

Disable for x2, x4, x8

N/A for x1

Enable for x2, x4, x8

Transceiver

PCIe Gen 2

Error

1

0

Disable

Disable

Disable

Low, Medium, High

Direct

2500MHz

5000Mbps

100 MHz, 125 MHZ

Disable for x1

Disable for x2, x4, x8

N/A for x1

N/A for x2, x4, x8

N/A for x1

N/A for x2,x4, x8

N/A for x1

N/A for x2, x4, x8 continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

253

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter Gen1 PIPE Gen2 PIPE

Number of auxiliary MCGB clock input ports

MCGB input clock frequency

MCGB output data rate

Bonding

Enable bonding clock output ports

Enable feedback compensation bonding

PMA interface width

N/A for x1

0 for x2, x4, x8

1250MHz

2500Mbps

N/A for x1 design

Enable for x2, x4, x8

N/A for x1 design

Disable for x2, x4, x8

N/A for x1 design

10 for x2, x4, x8

Dynamic Reconfiguration

Enable dynamic reconfiguration

Enable Altera Debug Master

Endpoint

Separate avmm_busy from reconfig_waitrequest

Disable

Disable

N/A

Optional Reconfiguration Logic

Enable capability registers N/A

Set user-defined IP identifier N/A

Enable control and status registers

N/A

Configuration Files

Configuration file prefix

Generate SystemVerilog package file

Generate C Header file

Generate MIF (Memory

Initialize file)

Generation Options

Generate parameter documentation file

N/A

N/A

N/A

N/A

Enable

N/A for x1

0 for x2, x4, x8

2500MHz

5000Mbps

N/A for x1 design

Enable for x2, x4, x8

N/A for x1 design

Disable for x2, x4, x8

N/A for x1 design

10 for x2, x4, x8

Disable

Disable

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

Enable

Related Information

Using the Arria 10 Transceiver Native PHY IP Core

on page 45

Gen3 PIPE (For Gen1/

Gen2 speeds)

N/A for x1

N/A for x2, x4, x8

2500MHz

5000Mbps

N/A for x1

N/A for x2, x4, x8

N/A for x1

N/A for x2, x4, x8

N/A for x1

N/A for x2, x4, x8

Disable

Disable

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

Enable

Intel ®

254

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.7.7. ATX PLL IP Parameter Core Settings for PIPE

Table 189.

Parameters for Arria 10 ATX PLL IP core in PIPE Gen1, Gen2, Gen3 modes

This section contains the recommended parameter values for this protocol. Refer to Using the Arria 10

Transceiver Native PHY IP Core for the full range of parameter values.

Parameter Gen1 PIPE Gen2 PIPE Gen3 PIPE (For Gen3 speed)

PLL

General

Message level for rule violations

Protocol Mode

Bandwidth

Number of PLL reference clocks

Selected reference clock source

Ports

Primary PLL clock output buffer

Enable PLL GX clock output port

Enable PLL GT clock output port

Enable PCIe clock output port pll_pcie_clk

Error

PCIe Gen 1

Low, medium, high

1

0

Error

PCIe Gen 2

Low, medium, high

1

0

Error

PCIe Gen 3

Low, medium, high

1

0

GX clock output buffer GX clock output buffer GX clock output buffer

Enable Enable Enable

Disable

Enable

Disable

Disable

Enable

Disable

Disable

Disable (Use the pll_pcie_clk

output port from the fPLL to drive the hclk)

Disable Enable ATX to fPLL cascade clock output port

Output Frequency

PLL output frequency

PLL output datarate

Enable fractional mode

PLL integer reference clock frequency

Configure counters manually

Multiple factor (M counter)

Divide factor (N counter)

Divide factor (L counter)

Master Clock Generation Block

MCGB

Include master clock generation block

Clock division factor

Enable x6/xN non-bnded high speed clock output port

Enable PCIe clock switch interface

2500MHz

2500Mbps

Disable

100MHz, 125MHZ

Disable

N/A

N/A

N/A

Disable for x1

Enable for x2, x4, x8

N/A for x1

1 for x2, x4, x8

N/A for x1

Disable for x2, x4, x8

N/A for x1

Disable for x2, x4, x8

2500MHz

5000Mbps

Disable

100MHz, 125MHZ

Disable

N/A

N/A

N/A

Disable for x1

Enable for x2, x4, x8

N/A for x1

1 for x2, x4, x8

N/A for x1

Disable for x2, x4, x8

N/A for x1

Enable for x2, x4, x8

4000MHz

8000Mbps

Disable

100MHz, 125MHZ

Disable

N/A

N/A

N/A

Disable for x1

Enable for x2, x4, x8

N/A for x1

1 for x2, x4, x8

N/A for x1

Disable for x2, x4, x8

N/A for x1

Enable for x2, x4, x8 continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

255

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter

Number of auxiliary MCGB clock input ports

MCGB input clock frequency

MCGB output data rate

Bonding

Enable bonding clock output ports

Gen1 PIPE

N/A for x1

0 for x2, x4, x8

1250 MHz

2500 Mbps

Gen2 PIPE

N/A for x1

0 for x2, x4, x8

2500 MHz

5000 Mbps

Gen3 PIPE (For Gen3 speed)

N/A for x1

1 for x2, x4, x8

4000 MHz

8000 Mbps

Enable feedback compensation bonding

PMA interface width

N/A for x1

Enable for x2, x4, x8

N/A for x1 design

Disable for x2, x4, x8

N/A for x1 design

10 for x2, x4, x8

N/A for x1

Enable for x2, x4, x8

N/A for x1 design

Disable for x2, x4, x8

N/A for x1 design

10 for x2, x4, x8

N/A for x1

Enable for x2, x4, x8

Disable for x1

Disable for x2, x4, x8

N/A for x1

10 for x2, x4, x8

Dynamic Reconfiguration

Enable dynamic reconfiguration

Enable Altera Debug Master Endpoint

Separate avmm_busy from reconfig_waitrequest

Optional Reconfiguration Logic

Enable capability registers

Set user-defined IP identifier

Enable control and status registers

Configuration Files

Configuration file prefix

Generate SystemVerilog package file

Generate C Header file

Generate MIF (Memory Initialize file)

Generation Options

Generate parameter documentation file

Disable

Disable

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

Disable

Disable

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

Enable Enable

Related Information

Using the Arria 10 Transceiver Native PHY IP Core

on page 45

Disable

Disable

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

Enable

Intel ®

256

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.7.8. Native PHY IP Ports for PIPE

Figure 108. Signals and Ports of Native PHY IP for PIPE reconfig_reset reconfig_clk reconfig_avmm tx_digitalreset tx_datak [3:0], [1:0], or [0] tx_parallel_data [31:0], [15:0], or [7:0] tx_coreclkin tx_clkout pipe_rx_elecidle [(N-1):0] pipe_phy_status [(N-1):0] pipe_rx_data_valid [(N-1):0] pipe_rx_sync_hdr [(2N-1):0] pipe_rx_blk_start [(N-1):0] pipe_rate [1:0] pipe_g3_tx_deemph [(18N-1):0] pipe_g3_rxpresethint [(3N-1):0] pipe_sw_done [1:0] pipe_rx_polarity [(N-1):0] pipe_tx_elecidle [(4N-1):0] pipe_tx_detectrx_loopback [(N-1):0] pipe_powerdown [(2N-1):0] pipe_rx_eidleinfersel [(3N-1):0] pipe_tx_sync_hdr [(2N-1):0] pipe_tx_data_valid [(N-1):0] pipe_tx_blk_start [(N-1):0] pipe_tx_deemph [(N-1):0] tx_bonding_clocks[(6n-1):0] tx_analogreset rx_analogreset rx_digitalreset rx_datak [3:0], [1:0], or [0] rx_parallel_data [31:0], [15:0], or [7:0] rx_clkout rx_coreclkin rx_syncstatus

Reconfiguration

Registers

Arria 10 Transceiver Native PHY

Nios II Hard

Calibration IP

TX PMA TX Standard PCS tx_datak [3:0], [1:0], or [0] tx_parallel_data[31:0],[15:0],or[7:0] tx_coreclkin tx_clkout unused_tx_parallel_data[118:0]

10

Serializer

PIPE Interface

RX Standard PCS rx_datak [3:0], [1:0], or [0] rx_parallel_data[31:0],[15:0],or[7:0] rx_clkout rx_coreclkin rx_syncstatus unused_rx_parallel_data[118:0]

Local CGB

(for X1 Modes Only

-

RX PMA

Deserializer CDR

Gen1/Gen2/Gen3 - Black

Gen2/Gen3 - Red

Note: N is the number of PCIe channels tx_cal_busy rx_cal_busy tx_serial_data pipe_hclk_out [0] pipe_hclk_in [0] (from TX PLL) pipe_tx_compliance [(4N-1):0] pipe_tx_margin [(3N-1):0] pipe_tx_swing [(N-1):0] pipe_rx_valid [(N-1):0] pipe_rx_status [(3N-1):0] pipe_sw [1:0] tx_serial_data rx_serial_data rx_cdr_refclk0 rx_is_lockedtodata rx_is_lockedtoref

Intel ® Arria ® 10 Transceiver PHY User Guide

257

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 190.

Ports for Arria 10 Transceiver Native PHY in PIPE Mode

This section contains the recommended settings for this protocol. Refer to Using the Arria 10 Transceiver

Native PHY IP Core for the full range of parameter settings.

Port rx_cdr_refclk0 tx_serial_clk0/ tx_serial_clk1 pipe_hclk_in[0] pipe_hclk_out[0] tx_parallel_data[31:0]

,

[15:0]

, or

[7:0] tx_datak[3:0]

,

[1:0]

, or

[0] pipe_tx_sync_hdr[(2N-1)

:0]

(43)

Direction

In

In

In

Out

Clock Domain

Clocks

Description

N/A

N/A

N/A

The 100/125 MHz input reference clock source for the PHY's TX PLL and RX CDR.

The high speed serial clock generated by the

PLL.

Note: For Gen3 x1 ONLY is used.

tx_serial_clk1

The 500 MHz clock used for the ASN block.

This clock is generated by the PLL, configured for Gen1/Gen2.

Note: For Gen3 designs, use from the fPLL that is used for Gen1/Gen2.

N/A

The 500 MHz clock output provided to the

PHY - MAC interface. The pipe_hclk_out

[0]

port can be left floating when you connect tx_clkout

to the MAC clock input.

PIPE Input from PHY - MAC Layer

In

In

In tx_coreclkin tx_coreclkin tx_coreclkin

The TX parallel data driven from the MAC.

For Gen1 this can be 8 or 16 bits. For Gen2 this is 16 bits. For Gen3 this is 32 bits.

Note: unused_tx_parallel_data be tied to '0'.

should

Active High. Refer to table Bit Mappings when

the Simplified Interface is Disabled for additional details.

The data and control indicator for the transmitted data.

For Gen1 or Gen2, when 0, indicates that tx_parallel_data

is data, when 1, indicates that control.

tx_parallel_data

is

For Gen3, bit[0]

corresponds to tx_parallel_data[7:0]

, bit[1] corresponds to and so on.

tx_parallel_data[15:8]

,

Active High. Refer to table Bit Mappings when

the Simplified Interface is Disabled for additional details.

For Gen3, indicates whether the 130-bit block transmitted is a Data or Control

Ordered Set Block.

The following encodings are defined:

2'b10: Data block

2'b01: Control Ordered Set Block

This value is read when pipe_tx_blk_start = 1b'1

.

continued...

(43) N is the number of PCIe channels.

Intel ®

258

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Port Direction Clock Domain pipe_tx_blk_start[(N-1)

:0] pipe_tx_elecidle[(4N-1)

:0] pipe_tx_detectrx_loopba ck [(N-1):0] pipe_tx_compliance[(4N-

1):0]

In

In

In

In tx_coreclkin

Asynchronous tx_coreclkin tx_coreclkin

Description

Refer to Lane Level Encoding in the PCI

Express Base Specification, Rev. 3.0 for a detailed explanation of data transmission and reception using 128b/130b encoding and decoding.

Not used for Gen1 and Gen2 data rates.

Active High

For Gen3, specifies the start block byte location for TX data in the 128-bit block data.

Used when the interface between the PCS and PHY-MAC (FPGA Core) is 32 bits.

Not used for Gen1 and Gen2 data rates.

Active High

Forces the transmit output to electrical idle.

Refer to the Intel PHY Interface for PCI

Express (PIPE) for timing diagrams.

Gen1 - Width of signal is 1 bit/lane.

Gen2 - Width of signal is 2 bits/lane. For example, if the MAC connected to PIPE

Gen2x4 has 1bit/lane, then you can use the following mapping to connect to PIPE:

{pipe_tx_elecidle[7:0] =

{{2{tx_elecidle_ch3}},

{2{tx_elecidle_ch2}},{2{tx_elecidle_ch1}},

{2{tx_elecidle_ch0}}} where tx_elecidle_* is the output signal from MAC.

Gen3 - Width of signal is 4 bits/lane. For example, if the MAC connected to PIPE

Gen3x4 has 1bit/lane, then you can use the following mapping to connect to PIPE:

{pipe_tx_elecidle[15:0] =

{{4{tx_elecidle_ch3}},

{4{tx_elecidle_ch2}},{4{tx_elecidle_ch1}},

{4{tx_elecidle_ch0}}} where tx_elecidle_* is the output signal from MAC.

Active High

Instructs the PHY to start a receive detection operation. After power-up, asserting this signal starts a loopback operation. Refer to section 6.4 of the Intel PHY Interface for PCI

Express (PIPE) for a timing diagram.

Active High

Asserted for one cycle to set the running disparity to negative. Used when transmitting the compliance pattern. Refer to section 6.11

of the Intel PHY Interface for PCI Express

(PIPE) Architecture for more information.

Gen1 - Width of signal is 1 bit/lane.

Gen2 - Width of signal is 2 bits/lane.

For example, if the MAC connected to PIPE

Gen2x4 has 1bit/lane, then you can use the following mapping to connect to PIPE:

{pipe_tx_compliance[7:0] =

{{2{tx_compliance_ch3}},

{2{tx_compliance _ch2}},

{2{tx_compliance_ch1}}, {2{tx_compliance

_ch0}}}. Where tx_compliance_* is the output signal from MAC.

Gen3 - Width of signal is 4 bits/lane.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

259

Port pipe_rx_polarity[(N-1):

0] pipe_powerdown[(2N-1):

0] pipe_tx_margin[(3N-1):

0] pipe_tx_swing[(N-1):0] pipe_tx_deemph[(N-1):0] pipe_g3_tx_deemph[(18N-

1):0]

Direction

In

In

In

In

In

In

Clock Domain

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Asynchronous tx_coreclkin tx_coreclkin tx_coreclkin

Asynchronous

Asynchronous

Description

For example, if the MAC connected to PIPE

Gen3x4 has 1bit/lane, then you can use the following mapping to connect to PIPE:

{pipe_tx_compliance[15:0]= {{4{tx_ compliance _ch3}}, {4{tx_ compliance

_ch2}}, {4{tx_ compliance _ch1}}, {4{tx_ compliance _ch0}}}. Where tx_ compliance

_* is the output signal from MAC.

Active High

When 1'b1, instructs the PHY layer to invert the polarity on the received data.

Active High

Requests the PHY to change its power state to the specified state. The Power States are encoded as follows:

2'b00: P0 - Normal operation.

2'b01: P0s - Low recovery time, power saving state.

2'b10: P1 - Longer recovery time, lower power state .

2'b11: P2 - Lowest power state.

Transmit V

OD

margin selection. The PHY-MAC sets the value for this signal based on the value from the Link Control 2 Register. The following encodings are defined:

3'b000: Normal operating range

3'b001: Full swing: 800 - 1200 mV; Half swing: 400 - 700 mV.

3'b010:-3'b011: Reserved.

3'b100-3'b111: Full swing: 200 - 400mV;

Half swing: 100 - 200 mV else reserved.

Indicates whether the transceiver is using

Full swing or Half swing voltage as defined by the pipe_tx_margin

.

1'b0-Full swing.

1'b1-Half swing.

Transmit de-emphasis selection. In PCI

Express Gen2 (5 Gbps) mode it selects the transmitter de-emphasis:

1'b0: –6 dB.

1'b1: –3.5 dB.

The pipe_g3_tx_deemph

port is used to select the link partners transmitter deemphasis during equalization. The 18 bits specify the following coefficients:

[5:0]: C

-1

[11:6]: C

0

[17:12]: C

+1

Refer to Preset Mappings to TX De-emphasis

on page 267 for presets to TX de-emphasis mappings. In Gen3 capable designs, the TX de-emphasis for Gen2 data rate is always -6 dB. The TX de-emphasis for Gen1 data rate is always -3.5 dB.

Refer to section 6.6 of Intel PHY Interface for

PCI Express (PIPE) Architecture for more information.

continued...

Intel ®

260

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Port pipe_g3_rxpresethint[(3

N-1):0] pipe_rx_eidleinfersel[(

3N-1):0] pipe_rate[1:0] pipe_sw_done[1:0] pipe_tx_data_valid[(N-1

):0] rx_parallel_data[31:0]

[15:0]

, or

[7:0]

,

Direction

In

In

In

In

In

Out

Clock Domain

Asynchronous

Asynchronous

Asynchronous

N/A

Description

Note: Intel recommends transmitting Preset

P8 coefficients for Arria 10 receiver to recover data successfully.

This is used to trigger CTLE adaptation in

Phase2 (EP) /Phase 3 (RP) to achieve receiver Bit Error Rate (BER) that is less than

10 -12 .

Gen3 capable design at Gen1/Gen2 speeds:

This should be set to 3’b000.

Gen3 capable design at Gen3 speed: Refer to section “PHY IP Core for PCIe (PIPE) Link

Equalization for Gen3 Data Rate” for details on when to set/reset this port.

When asserted high, the electrical idle state is inferred instead of being identified using analog circuitry to detect a device at the other end of the link. The following encodings are defined:

3'b0xx: Electrical Idle Inference not required in current LTSSM state.

3'b100: Absence of COM/SKP OS in 128 ms.

3'b101: Absence of TS1/TS2 OS in 1280 UI interval for Gen1 or Gen2.

3'b110: Absence of Electrical Idle Exit in

2000 UI interval for Gen1 and 16000 UI interval for Gen2.

3'b111: Absence of Electrical Idle exit in 128 ms window for Gen1.

Note: Recommended to implement Receiver

Electrical Idle Inference (EII) in FPGA fabric.

The 2-bit encodings defined in the following list:

2'b00: Gen1 rate (2.5 Gbps)

2'b01: Gen2 rate (5.0 Gbps)

2'b10: Gen3 rate (8.0 Gbps)

Signal from the Master clock generation buffer, indicating that the rate switch has completed. Use this signal for bonding mode only.

For non-bonded applications, this signal is internally connected to the local CGB.

tx_coreclkin

For Gen3, this signal is deasserted by the

MAC to instruct the PHY to ignore tx_parallel_data

for current clock cycle.

A value of 1'b1 indicates the PHY should use the data. A value of 0 indicates the PHY should not use the data.

Active High

PIPE Output to PHY - MAC Layer rx_coreclkin

The RX parallel data driven to the MAC.

For Gen1 this can be 8 or 16 bits. For Gen2 this is 16 bits only. For Gen3 this is 32 bits.Refer to Bit Mappings When the

Simplified Interface is Disabled for more details.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

261

Port rx_datak[3:0]

,

[1:0]

, or

[0] pipe_rx_sync_hdr[(2N-1)

:0] pipe_rx_blk_start[(N-1)

:0] pipe_rx_data_valid[(N-1

):0] pipe_rx_valid[(N-1):0] pipe_phy_status[(N-1):

0] pipe_rx_elecidle[(N-1):

0] pipe_rx_status[(3N-1):

0]

Direction

Out

Out

Out

Out

Out

Out

Out

Out

Clock Domain

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

rx_coreclkin rx_coreclkin rx_coreclkin rx_coreclkin rx_coreclkin rx_coreclkin

Asynchronous rx_coreclkin

Description

The data and control indicator.

For Gen1 or Gen2, when 0, indicates that rx_parallel_data

is data, when 1, indicates that control.

rx_parallel_data is

For Gen3,

Bit[0]

corresponds to rx_parallel_data[7:0]

,

Bit[1] corresponds to rx_parallel_data[15:8] and so on. Refer to tableBit Mappings When

the Simplified Interface is Disabled for more details.

,

For Gen3, indicates whether the 130-bit block being transmitted is a Data or Control

Ordered Set Block. The following encodings are defined:

2'b10: Data block

2'b01: Control Ordered Set block

This value is read when pipe_rx_blk_start

= 4'b0001. Refer to

Section 4.2.2.1. Lane Level Encoding in the

PCI Express Base Specification, Rev. 3.0 for a detailed explanation of data transmission and reception using 128b/130b encoding and decoding.

For Gen3, specifies the start block byte location for RX data in the 128-bit block data. Used when the interface between the

PCS and PHY-MAC (FPGA Core) is 32 bits.

Not used for Gen1 and Gen2 data rates.

Active High

For Gen3, this signal is deasserted by the

PHY to instruct the MAC to ignore rx_parallel_data

for current clock cycle.

A value of 1'b1 indicates the MAC should use the data. A value of 1'b0 indicates the MAC should not use the data.

Active High

Asserted when RX data and control are valid.

Signal used to communicate completion of several PHY requests.

Active High

When asserted, the receiver has detected an electrical idle.

Active High

Signal encodes receive status and error codes for the receive data stream and receiver detection. The following encodings are defined:

3'b000 - Receive data OK

3'b001 - 1 SKP added

3'b010 - 1 SKP removed

3'b011 - Receiver detected

3'b100 - Either 8B/10B or 128b/130b decode error and (optionally) RX disparity error

3'b101 - Elastic buffer overflow

3'b110 - Elastic buffer underflow continued...

Intel ®

262

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Port pipe_sw[1:0]

Direction

Out

Clock Domain

N/A

Description

3'b111 - Receive disparity error, not used if disparity error is reported using 3'b100.

Signal to clock generation buffer indicating the rate switch request. Use this signal for bonding mode only.

For non-bonded applications this signal is internally connected to the local CGB.

Active High. Refer to Table 191 on page 263

Bit Mappings When the Simplified Interface is

Disabled for more details.

Table 191.

Bit Mappings When the Simplified Interface Is Disabled

This section contains the recommended settings for this protocol. Refer to Using the Arria 10 Transceiver

Native PHY IP Core for the full range of parameter values.

Signal Name Gen1 (TX Byte

Serializer and RX

Byte Deserializer disabled)

Gen1 (TX Byte

Serializer and RX Byte

Deserializer in X2 mode), Gen2 (TX Byte

Serializer and RX Byte

Deserializer in X2 mode)

Gen3 tx_parallel_data tx_parallel_dat a[7:0] tx_parallel_data[29

:22,7:0] tx_parallel_data[40:33,29:22,18

:11,7:0] tx_datak pipe_tx_compliance pipe_tx_elecidle pipe_tx_detectrx_loop bacK pipe_powerdown pipe_tx_margin pipe_tx_swing rx_parallel_data rx_datak rx_syncstatus pipe_phy_status pipe_rx_valid pipe_rx_status tx_parallel_dat a[8] tx_parallel_dat a[9] tx_parallel_dat a[10] tx_parallel_dat a[46] tx_parallel_dat a[48:47] tx_parallel_dat a[51:49] tx_parallel_dat a[53] rx_parallel_dat a[7:0] rx_parallel_dat a[8] rx_parallel_dat a[10] rx_parallel_dat a[65] rx_parallel_dat a[66] rx_parallel_dat a[69:67] tx_parallel_data[30

,8] tx_parallel_data[41,30,19,8] tx_parallel_data[31

,9] tx_parallel_data[42,31,20,9] tx_parallel_data[32

,10] tx_parallel_data[43,32,21,10] tx_parallel_data[46

] tx_parallel_data[46] tx_parallel_data[48

:47] tx_parallel_data[48:47] tx_parallel_data[51

:49] tx_parallel_data[51:49] tx_parallel_data[53

] tx_parallel_data[53] rx_parallel_data[39

:32,7:0] rx_parallel_data[40

,8] rx_parallel_data[55:48,39:32,23

:16,7:0] rx_parallel_data[56,40,24,8] rx_parallel_data[42

,10] rx_parallel_data[58,42,26,10] rx_parallel_data[65

] rx_parallel_data[65] rx_parallel_data[66

] rx_parallel_data[66] rx_parallel_data[69

:67] rx_parallel_data[69:67] continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

263

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Signal Name pipe_tx_deemph pipe_tx_sync_hdr pipe_tx_blk_start pipe_tx_data_valid pipe_rx_sync_hdr pipe_rx_blk_start pipe_rx_data_valid

Gen1 (TX Byte

Serializer and RX

Byte Deserializer disabled)

N/A

N/A

N/A

N/A

N/A

N/A

N/A

Gen1 (TX Byte

Serializer and RX Byte

Deserializer in X2 mode), Gen2 (TX Byte

Serializer and RX Byte

Deserializer in X2 mode) tx_parallel_data[52

]

N/A

N/A

N/A

N/A

N/A

N/A

Gen3

N/A tx_parallel_data[55:54] tx_parallel_data[56] tx_parallel_data[60] rx_parallel_data[71:70] rx_parallel_data[72] rx_parallel_data[76]

Refer to section 6.6 of Intel PHY Interface for PCI Express (PIPE) Architecture for more information.

Related Information

PHY IP Core for PCIe (PIPE) Link Equalization for Gen3 Data Rate on page 274

• Intel PHY Interface for PCI Express (PIPE) Architecture

Bit Mappings When the Simplified Interface is Disabled

on page 263

Using the Arria 10 Transceiver Native PHY IP Core

on page 45

2.7.9. fPLL Ports for PIPE

Table 192.

fPLL Ports for PIPE

This section contains the recommended settings for this protocol. Refer to Using the Arria 10 Transceiver

Native PHY IP Core for the full range of parameter settings.

Port

Pll_powerdown

Pll_reflck0 tx_serial_clk

Direction Clock Domain

Input

Description

Asynchronous Resets the PLL when asserted high. Needs to be connected to a dynamically controlled signal (the Transceiver PHY

Reset Controller

FPGA IP).

pll_powerdown

output if using this Intel

Input N/A

Output N/A

Reference clock input port 0. There are five reference clock input ports. The number of reference clock ports available depends on the Number of PLL reference clocks parameter.

High speed serial clock output port for GX channels.

Represents the x1 clock network.

For Gen1x1, Gen2x1, connect the output from this port to the tx_serial_clk

input of the native PHY IP.

For Gen1x2, x4, x8, use the tx_bonding_clocks port to connect to the Native PHY IP.

output

For Gen2x2, x4, x8, use the tx_bonding_clocks port to connect to the Native PHY IP.

output

For Gen3x1, connect the output from this port to one of the two tx_serial_clk

input ports on the native PHY IP.

For Gen3x2, x4, x8, connect the output from this port to the Auxiliary Master CGB clock input port of the ATX PLL IP.

continued...

Intel ®

264

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

pll_locked

Port pll_pcie_clk

Pll_cal_busy

Mcgb_rst mcgb_aux_clk0 tx_bonding_clocks[6n-1:0] pcie_sw[1:0] pcie_sw_done[1:0]

]

Direction Clock Domain

Output Asynchronous

Description

Active high status signal which indicates if PLL is locked.

Output

Output

Input

Input

N/A This is the hclk required for PIPE interface.

For Gen1x1, x2, x4, x8 use this port to drive the the PIPE interface.

hclk for

For Gen2x1, x2, x4, x8 use this port to drive the the PIPE interface.

hclk

for

For Gen3x1, x2, x4, x8, use the interface.

pll_pcie_clk

from fPLL

(configured as Gen1/Gen2) as the hclk for the PIPE

Asynchronous Status signal which is asserted high when PLL calibration is in progress.

If this port is not enabled in Transceiver PHY Reset

Controller, then perform logical OR with this signal and the tx_cal_busy

output signal from Native PHY to input the tx_cal_busy

on the reset controller IP.

Asynchronous Master CGB reset control.

Output

Input

Output

N/A

N/A

Used for Gen3 to switch between fPLL/ATX PLL during link speed negotiation. For gen3x2, x4, x8 use the mcgb_aux_clk

input port on the ATX PLL.

Optional 6-bit bus which carries the low speed parallel clock outputs from the Master CGB. It is used for channel bonding, and represents the x6/xN clock network.

For Gen1x1, this port is disabled.

For Gen1x2, x4, x8 connect the output from this port to the tx_bonding_clocks

input on Native PHY.

For Gen2x1, this port is disabled.

For Gen2x2, x4, x8 connect the output from this port to the tx_bonding_clocks

input on Native PHY.

For Gen3x1, this port is disabled.

For Gen3x2, x4, x8, use the tx_bonding_clocks

output from the ATX PLL to connect to the input of the Native PHY.

tx_bonding_clocks

Asynchronous 2-bit rate switch control input used for PCIe protocol implementation.

For Gen1, this port is N/A

For Gen 2x2, x4, x8 connect the

Native PHY to this port.

pipe_sw

output from

For Gen3x2, x4, x8 connect the

Native PHY to this port.

pipe_sw

output from the

For Gen3x2, x4, x8, this port is not used. You must use the pipe_sw

from Native PHY to drive the pcie_sw

input port on the ATX PLL.

Asynchronous 2-bit rate switch status output used for PCIe protocol implementation.

For Gen1, this port is N/A.

For Gen 2x2, x4, x8 connect the pcie_sw_done

output from ATX PLL to the pipe_sw_done

input of Native PHY .

For Gen3x2, x4, x8 connect the from ATX PLL to the pcie_sw_done

output pipe_sw_done

input of Native PHY.

Related Information

Using the Arria 10 Transceiver Native PHY IP Core

on page 45

Intel ® Arria ® 10 Transceiver PHY User Guide

265

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.7.10. ATX PLL Ports for PIPE

Table 193.

ATX PLL Ports for PIPE

This section contains the recommended settings for this protocol. Refer to Using the Arria 10 Transceiver

Native PHY IP Core for the full range of parameter settings.

Port

Pll_powerdown

Pll_reflck0 tx_serial_clk pll_locked pll_pcie_clk

Pll_cal_busy

Mcgb_rst mcgb_aux_clk0 tx_bonding_clocks[5:0]

Direction Clock Domain

Input

Description

Asynchronous Resets the PLL when asserted high. Needs to be connected to a dynamically controlled signal (the Transceiver PHY Reset

Controller pll_powerdown

output if using this Intel FPGA IP.

Input

Output

Output

N/A

N/A

Reference clock input port 0. There are five reference clock input ports. The number of reference clock ports available depends on the Number of PLL reference clocks parameter.

High speed serial clock output port for GX channels. Represents the x1 clock network.

For Gen1x1, Gen2x1, connect the output from this port to the tx_serial_clk input of the native PHY IP.

For Gen1x2, x4, x8, use the tx_bonding_clocks output port to connect to the Native PHY.

For Gen2x2, x4, x8, use the tx_bonding_clocks output port to connect to the Native PHY.

For Gen3x1, connect the output from this port to one of the two tx_serial_clk input ports on the native PHY IP.

For Gen3x2, x4, x8, this port is not used. Use the tx_serial_clk output from the fPLL to drive the Auxiliary Master CGB clock input port of the ATX PLL.

Asynchronous Active high status signal which indicates if PLL is locked.

Output

Output

Input

Input

N/A This is the hclk required for PIPE interface.

For Gen1x1,x2,x4,x8 use this port to drive the hclk for the PIPE interface.

For Gen2x1,x2,x4,x8 use this port to drive the hclk for the PIPE interface.

For Gen3x1,x2,x4,x8, this port is not used. Use the pll_pcie_clk

from fPLL (configured as Gen1/Gen2) as the hclk for the PIPE interface.

Asynchronous Status signal which is asserted high when PLL calibration is in progress. If this port is not enabled in the Transceiver PHY

Reset Controller, then perform logical OR with this signal and the tx_cal_busy

output signal from Native PHY to input the tx_cal_busy

on the reset controller IP.

Asynchronous Master CGB reset control.

N/A

Output N/A

Used for Gen3 to switch.

between fPLL/ATX PLL during link speed negotiation.

For gen3x2,x4,x8 use the tx_serial_clk output

port from fPLL (configured for Gen1/Gen2) to drive the input port on the ATX PLL.

mcgb_aux_clk

Optional 6-bit bus which carries the low speed parallel clock outputs from the Master CGB. Used for channel bonding, and represents the x6/xN clock network.

For Gen1x1, this port is disabled.

For Gen1x2,x4,x8 connect the output from this port to the tx_bonding_clocks

input on Native PHY.

For Gen2x1, this port is disabled

For Gen2x2,x4,x8 connect the output from this port to tx_bonding_clocks

input on Native PHY.

For Gen3x1, this port is disabled.

continued...

Intel ®

266

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Port pcie_sw[1:0] pcie_sw_done[1:0]

Direction Clock Domain

Input

Output

Description

For Gen3x2,x4,x8 use the tx_bonding_clocks

output from the ATX PLL to connect to the the Native PHY.

tx_bonding_clocks

input of

Asynchronous 2-bit rate switch control input used for PCIe protocol implementation.

For Gen1, this port is N/A.

For Gen 2x2,x4,x8 connect the

PHY to this port.

pipe_sw

output from Native

For Gen3x2,x4,x8 use the drive this port.

pipe_sw

output from Native PHY to

Asynchronous 2-bit rate switch status output used for PCIe protocol implementation.

For Gen1, this port is N/A.

For Gen2x2, x4, x8 connect the pcie_sw_done

output from

ATX PLL to pipe_sw_done input of Native PHY .

For Gen3x2, x4, x8 pcie_sw_done

output from ATX PLL to pipe_sw_done

input of Native PHY.

Related Information

Using the Arria 10 Transceiver Native PHY IP Core

on page 45

2.7.11. Preset Mappings to TX De-emphasis

Table 194.

Arria 10 Preset Mappings to TX De-emphasis

Preset C

+1

C

0

6

7

4

5

8

9

10

0

1

2

3

001111

001010

001100

001000

000000

000000

000000

001100

001000

000000

010110

101101

110010

110000

110100

111100

110110

110100

101010

101100

110010

100110

000000

000000

000000

000000

000000

000110

001000

000110

001000

001010

000000

C

-1

The pipe_g3_txdeemph

port is used to select the link partner’s transmitter deemphasis during equalization. The 18 bits specify the following coefficients:

[5:0]: C

-1

[11:6]: C

0

[17:12]: C

+1

Intel ® Arria ® 10 Transceiver PHY User Guide

267

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Note: Intel recommends transmitting Preset P8 coefficients for Arria 10 receiver to recover data successfully.

2.7.12. How to Place Channels for PIPE Configurations

Instead of the fitter or software model, the hardware dictates all the placement restrictions. The restrictions are listed below:

• The channels must be contiguous for bonded designs.

• The master CGB is the only way to access x6 lines and must be used in bonded designs. The local CGB cannot be used to route clock signals to slave channels because the local CGB does not have access to x6 lines.

• When implementing a Gen3-capable PIPE configuration in a -2 or -3 core speed grade, you cannot place the Logical PCS Master Channel in a location adjacent to the Hard IP (HIP).

• Non PCIe-Channels that are placed next to active banks with PIPE interfaces that are Gen3 capable have the following restrictions

— When VCCR_GXB and VCCT_GXB are set to 1.03 V or 1.12 V, the maximum data rate supported for the non-PCIe channels in those banks is 12.5 Gbps for chip-to-chip applications. These channels cannot be used to drive backplanes or for GT rates.

— When VCCR_GXB and VCCT_GXB are set to 0.95 V, the non-PCIe channels in those banks cannot be used.

For channel placement guidelines when using Arria 10 Hard IP for PCIe, refer to the

PCIe User Guide.

For ATX PLL placement restrictions, refer to the section "Transmit PLL

Recommendations Based on Data Rates" of PLLs and Clock Networks chapter.

Related Information

• Arria 10 Avalon-MM Interface for PCIe Solutions User Guide

PLLs and Clock Networks on page 347

2.7.12.1. Master Channel in Bonded Configurations

For PCIe, both the PMA and PCS must be bonded. There is no need to specify the PMA

Master Channel because of the separate Master CGB in the hardware. However, you must specify the PCS Master Channel through the Native PHY. You can choose any one of the data channels (part of the bonded group) as the logical PCS Master Channel.

Note: Whichever channel you pick as the PCS master, the fitter selects the physical CH1 or

CH4 of a transceiver bank as the master channel. This is because the ASN and Master

CGB connectivity only exists in the hardware of these two channels of the transceiver bank.

Intel ®

268

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 195.

Logical PCS Master Channel for PIPE Configuration

PIPE Configuration x1 x2 x4 x8

Logical PCS Master Channel # (default)

0 (

44 )

1 (

44 )

2 (

44 )

4 (

44 )

The following figures show the default configurations:

Figure 109. x2 Configuration

1

0

Logical

Channel

CH1

CH0

Physical

Channel

CH1

CH0

CH5

CH4

CH3

CH2

CH5

CH4

CH3

CH2

Master CH

Data CH

Master

CGB

Master

CGB

Master

CGB

Master

CGB fPLL

ATX

PLL fPLL

ATX

PLL fPLL

ATX

PLL fPLL

ATX

PLL

Note:

Transceiver bank

Transceiver bank

The physical channel 0 aligns with logical channel 0. The logical PCS Master Channel 1 is specified as Physical Channel 1.

(44) Ensure that the Logical PCS Master Channel aligns with Physical Channel 1 or 4 in a given transceiver bank.

Intel ® Arria ® 10 Transceiver PHY User Guide

269

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 110. x4 Configuration

The figure below shows an alternate way of placing 4 bonded channels. In this case, the logical PCS Master

Channel number 2 must be specified as Physical channel 4.

fPLL

3

2

1

0

Logical

Channel

CH4

CH3

CH2

CH1

CH0

Physical

Channel

CH1

CH0

CH5

CH5

CH4

CH3

CH2

Data CH

Master CH

Data CH

Data CH

Master

CGB

Master

CGB

Master

CGB

Master

CGB

ATX

PLL fPLL

ATX

PLL fPLL

ATX

PLL fPLL

ATX

PLL

Transceiver bank

Transceiver bank

Intel ®

270

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 111. x8 Configuration

For x8 configurations, Intel recommends you choose a master channel that is a maximum of four channels away from the farthest slave channel.

fPLL

7

6

5

4

3

2

1

0

Logical

Channel

CH4

CH3

CH2

CH1

CH0

Physical

Channel

CH1

CH0

CH5

CH5

CH4

CH3

CH2

Data CH

Data CH

Data CH

Master CH

Data CH

Data CH

Data CH

Data CH

Master

CGB

Master

CGB

Master

CGB

Master

CGB

ATX

PLL fPLL

ATX

PLL fPLL

ATX

PLL fPLL

ATX

PLL

Transceiver bank

Transceiver bank

Note: The physical channel 0 aligns with logical channel 0. The logical PCS master channel 4 is specified as Physical channel 4.

Intel ® Arria ® 10 Transceiver PHY User Guide

271

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 112. x4 Alternate Configuration

The figure below shows an alternate way of placing 4 bonded channels. In this case, the logical PCS Master

Channel number 2 must be specified as Physical channel 1.

fPLL

3

2

1

0

Logical

Channel

CH4

CH3

CH2

CH1

CH0

Physical

Channel

CH1

CH0

CH5

CH5

CH4

CH3

CH2 Data CH

Master CH

Data CH

Data CH

Master

CGB

Master

CGB

Master

CGB

Master

CGB

ATX

PLL fPLL

ATX

PLL fPLL

ATX

PLL fPLL

ATX

PLL

Transceiver bank

Transceiver bank

As indicated in the figures above, the fitter picks either physical CH1 or CH4 as the

PCS master in bonded configurations for PIPE.

Intel ®

272

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 113. x4 Configuration with the Master Channel Adjacent to a Hard IP

The figure below shows the placement of a x4 PIPE configuration with the Logical PCS Master Channel that is adjacent to a Hard IP.

3

2

1

0

CH5

CH4

CH3

CH2

CH1

CH0

CH5

CH4

CH5

CH4

CH3

CH2

CH3

CH2

CH1

CH0

CH1

CH0

Hard

IP

Data CH

Master CH

Data CH

Data CH fPLL

Master CGB fPLL

Master CGB fPLL

Master CGB fPLL

Master CGB fPLL

Master CGB fPLL

Master CGB

ATX

PLL

ATX

PLL

ATX

PLL

ATX

PLL

ATX

PLL

ATX

PLL

Transceiver

Bank

Transceiver

Bank

Transceiver

Bank

Logical

Channel

Physical

Channel

Intel ® Arria ® 10 Transceiver PHY User Guide

273

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 114. x4 Configuration with the Master Channel not Adjacent to a Hard IP

The figure below shows the placement of a x4 PIPE configuration with the Logical PCS Master Channel that is not adjacent to a Hard IP.

3

2

1

CH5

CH4

CH3

CH2

CH1

CH0

Data CH

Master CH

Data CH fPLL

Master CGB fPLL

Master CGB

ATX

PLL

ATX

PLL

Transceiver

Bank

0 CH5

CH4

CH3

CH2

CH1

CH0

CH5

CH4

CH3

CH2

CH1

CH0

Hard

IP

Data CH fPLL

Master CGB fPLL

Master CGB fPLL

Master CGB fPLL

Master CGB

ATX

PLL

ATX

PLL

ATX

PLL

ATX

PLL

Transceiver

Bank

Transceiver

Bank

Logical

Channel

Physical

Channel

2.7.13. PHY IP Core for PCIe (PIPE) Link Equalization for Gen3 Data Rate

Gen3 mode requires TX and RX link equalization because of the data rate, the channel characteristics, receiver design, and process variations. The link equalization process allows the Endpoint and Root Port to adjust the TX and RX setup of each lane to improve signal quality. This process results in Gen3 links with a receiver Bit Error Rate

(BER) that is less than 10 -12 .

For detailed information about the four-stage link equalization procedure for 8.0 GT/s data rate, refer to Section 4.2.3 in the PCI Express Base Specification, Rev 3.0. A new

LTSSM state, Recovery.Equalization with Phases 0–3, reflects progress through Gen3 equalization. Phases 2 and 3 of link equalization are optional. Each link must progress through all four phases, even if no adjustments occur. If you skip Phases 2 and 3, you speed up link training at the expense of link BER optimization.

Intel ®

274

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Phase 0

Phase 0 includes the following steps:

1. The upstream component enters Phase 0 of equalization during

Recovery.Rcvrconfig by sending EQ TS2 training sets with starting presets for the downstream component. EQ TS2 training sets may be sent at 2.5 GT/s or 5 GT/s.

2. The downstream component enters Phase 0 of equalization after exiting

Recovery.Speed at 8 GT/s. It receives the starting presets from the training sequences and applies them to its transmitter. At this time, the upstream component has entered Phase 1 and is operating at 8 GT/s.

3. To move to Phase 1, the receiver must have a BER < 10 able to decode enough consecutive training sequences.

-4 . The receiver should be

4. In order to move to Equalization Phase 1, the downstream component must detect training sets with Equalization Control (EC) bits set to 2’b01.

Phase 1

During Phase 1 of the equalization process, the link partners exchange Full Swing (FS) and Low Frequency (LF) information. These values represent the upper and lower bounds for the TX coefficients. The receiver uses this information to calculate and request the next set of transmitter coefficients.

1. The upstream component moves to EQ Phase 2 when training sets with EC bits set to 1’b0 are captured on all lanes. It also sends EC=2’b10, starting pre-cursor, main cursor, and post-cursor coefficients.

2. The downstream component moves to EQ Phase 2 after detecting these new training sets.

Use the pipe_g3_txdeemph[17:0] port to select the transmitter de-emphasis. The

18 bits specify the following coefficients:

• [5:0]: C

-1

• [11:6]: C

0

• [17:12]: C

+1

Refer to Preset Mappings to TX De-emphasis for the mapping between presets and TX de-emphasis.

Phase 2 (Optional)

During Phase 2, the Endpoint tunes the TX coefficients of the Root Port. The TS1 Use

Preset bit determines whether the Endpoint uses presets for coarse resolution or coefficients for fine resolution.

If you are using the PHY IP Core for PCI Express (PIPE) as the Root Port, the Endpoint can tune the Root Port TX coefficients.

The tuning sequence typically includes the following steps:

1. The Endpoint receives the starting presets from the Phase 2 training sets sent by the Root Port.

2. The circuitry in the Endpoint receiver determines the BER. It calculates the next set of transmitter coefficients using FS and LF. It also embeds this information in the Training Sets for the Link Partner to apply to its transmitter.

Intel ® Arria ® 10 Transceiver PHY User Guide

275

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

The Root Port decodes these coefficients and presets, performs legality checks for the three transmitter coefficient rules and applies the settings to its transmitter and also sends them in the Training Sets. The default Full Swing (FS) value advertised by the Intel device is 60 and Low Frequency (LF) is 20. The three rules for transmitter coefficients are: a. |C

-1

| <= Floor (FS/4) b. |C

-1

|+C

0

+|C

+1

| = FS c. C

0

-|C

-1

|-|C

+1

|>= LF

Where: C

0

is the main cursor (boost), C

-1

is the pre-cursor (pre-shoot), and C

+1

is

the post-cursor (de-emphasis).

3. This process is repeated until the downstream component's receiver achieves a

BER of < 10 -12

Phase 3 (Optional)

During this phase, the Root Port tunes the Endpoint’s transmitter. This process is analogous to Phase 2 but operates in the opposite direction.

After Phase 3 tuning is complete, the Root Port moves to Recovery.RcvrLock, sending

EC=2’b00, and the final coefficients or preset agreed upon in Phase 2. The Endpoint moves to Recovery.RcvrLock using the final coefficients or preset agreed upon in

Phase 3.

Recommendations for Tuning Link

To improve the BER of the receiver, Intel recommends that you turn on CTLE in triggered mode during Phase 2 Equalization for Endpoints or Phase 3 Equalization for

Root Ports.

Use the port pipe_g3_txdeemph[17:0]

to transmit the coefficients corresponding to the Gen3 presets. Intel recommends transmitting Preset P8 coefficients for A10 receiver to recover data successfully. The pipe_g3_txdeemph

is used to select the link partner’s transmitter de-emphasis during equalization.

Use the port pipe_g3_rxpresethint[2:0]

to turn on CTLE in triggered mode during equalization phases.

Table 196.

CTLE mode for Gen1/Gen2 speeds of Gen3 capable design

Use this table to drive the pipe_g3_rxpresethint

Gen1/Gen2 speeds of a Gen3 capable design.

port and set the CTLE in manual mode when operating at

Supported CTLE - mode Manual. To use CTLE in manual mode Gen3 capable design running at Gen1/Gen2 speeds during

Power up

Down train to Gen1/Gen2 (directed or not) and subsequent re-entry to Gen3

Down train to Gen1/Gen2

• During power up, set pipe_g3_rxpresethint[2:0]

= 3’b000

• You can use the default CTLE 4S AC Gain set by Quartus (or)

• Set the manual CTLE 4S AC Gain using QSF assignments

• On entry to Gen1/2, set pipe_g3_rxpresethint[2:0]

= 3’b000

• You can use the default CTLE 4S AC Gain set by Quartus (or)

• Set the manual CTLE 4S AC Gain using QSF assignments

• On entry to Gen1/2, set pipe_g3_rxpresethint[2:0]

= 3’b000

• You can use the default CTLE 4S AC Gain set by Quartus (or)

• Set the manual CTLE 4S AC Gain using QSF assignments

Intel ®

276

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Note: Intel does not support use of CTLE in adaptive mode for Gen1/Gen2 speeds. You must use CTLE in manual mode.

Table 197.

CTLE mode for Gen3 speed of Gen3 capable design

Use this table to drive the pipe_g3_rxpresethint operating at Gen3 speed for Gen3 capable designs.

port and set the CTLE mode to adaptation mode when

Supported CTLE - mode Triggered adaptation. To use CTLE in adaptation mode, Set Gen3 capable design running at Gen3 speed during

1st time entry to Gen3

Redoing EQ in Gen3

• In EQ Phase2/3, after far end TX preset/coefficient requests are completed, set pipe_g3_rxpresethint

= 3’b111 and link needs to stay in Recovery for at least 12ms for

CTLE adaptation

• If there is not enough time in EQ phases, delay can be inserted in Recovery.RcvrLock after the EQ

• After that, pipe_g3_rxpresethint

should remain 3’b111 for Gen3 even in Recovery

• pipe_g3_rxpresethint

should be set to 3’b000 in EQ Phase2/3 entry

• Follow the same procedure as first time link up to Gen3

Re-entry to Gen3 after down train to Gen1/

Gen2 (directed or not)

• On subsequent entry to Gen3, set pipe_g3_rxpresethint[2:0] valid data and wait for 12ms in Recovery state for CTLE adaptation

= 3’b111 when there is

Note: Intel recommends that you use CTLE in adaptive mode for Gen3 speed. If you want to use CTLE in manual mode for Gen3 speed, then you must set pipe_g3_rxpresethint[2:0]

= 3’b000 and set the CTLE 4S AC gain value

• You can use the default CTLE 4S AC Gain set by Quartus (or)

• Set the manual CTLE 4S AC Gain using QSF assignments

Related Information

Preset Mappings to TX De-emphasis

on page 267

Continuous Time Linear Equalization (CTLE)

on page 452

• PCI Express Base Specification

• PIPE Specification

2.7.14. Using Transceiver Toolkit (TTK)/System Console/Reconfiguration

Interface to manually tune Arria 10 PCIe designs (Hard IP(HIP) and

PIPE) (For debug only)

Table 198.

Manual tuning of TX analog settings for PCIe channels

To manually tune TX channels of the Arria 10 PCIe designs using TTK/System Console/Reconfiguration

Interface, you must set the following attributes

Attribute Description Default value in PCIe mode

1’b1

Value to be set to use TTK/

System Console

1’b0 user_fir_coe ff_ctrl_sel

0x105[7]

Mux to select between static vs dynamic (port) control

• 0 for static setting (to use TTK/ system console for manual tuning)

• 1 for dynamic control (PCIe mode) continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

277

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Attribute Default value in PCIe mode pre_emp_swit ching_ctrl_p re_tap_1t

0x107[4:0] pre_emp_sign

_pre_tap_1t

0x107[5]

Controlled by coefficients on the port pipe_g3_txdeemph negative vod_output_s wing_ctrl

0x109[4:0] pre_emp_swit ching_ctrl_1 st_post_tap

0x105[4:0] pre_emp_sign

_1st_post_ta p 0x105[6]

Controlled by coefficients on the port pipe_g3_txdeemph

Controlled by coefficients on the port pipe_g3_txdeemph

Negative

Value to be set to use TTK/

System Console

Description

Depends on value set by pre_emp_switching_ctrl_pre_ tap_1t

register setting

Setting this mux affects VOD, pre tap and post tap attributes

Sets 1st Pre tap value

• Direct mapped

Depends on value set by pre_emp_sign_pre_tap_1t register

setting

Depends on value set by vod_output_swing_ctrl

register setting

Depends on value set by pre_emp_switching_ctrl_1st_ post_tap register setting

Sets 1st Pre tap sign

• - 1 negative (default for PCIe mode)

• 0 positive

Output swing

• Direct mapped

Sets 1st Post tap value

• Direct mapped

Depends on value set by pre_emp_sign_1st_post_tap reg ister setting

Set 1st Post tap sign

• - 1 negative (default for PCIe mode)

• - 0 positive

Note: You must set the attribute user_fir_coeff_ctrl_sel

located at register address

0x105[7] back to 1’b1 to allow the Arria 10 PCI Express PIPE design to listen to the port pipe_g3_txdeemph[17:0]

on each channel for normal PCIe operation.

Table 199.

Manual tunning of RX analog settings for PCIe channels

To manually tune RX channels of the Arria 10 PCI Express designs using TTK/System Console/Reconfiguration

Interface, you must set the following attribute

Attribute Description rrx_pcie_eqz

0x161[2]

Default value in PCIe mode

1’b1

Value to be set to use TTK/

System Console

1’b0 adp_4s_ctle_ bypass

0x167[0]

1’b0 • 1’b0 for Gen3 for Adaptive 4S

CTLE

• 1’b1 for Gen1/Gen2 for Manual

4S CTLE

Mux to select between static vs dynamic control

• 0 for static setting (use for manual tuning)

• 1 for dynamic control (PCIe mode)

Setting this mux affects the CTLE 4s gain and 1s gain values

Mux to select between CTLE 4S manual mode vs adaptive mode

• 0 for CTLE 4S adaptive mode

• 1 for CTLE 4S manual mode continued...

Intel ®

278

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Attribute adp_ctle_acg ain_4s

0x167[5:1]

Adp_status_s el

0x14C[5:0]

Test_mux

0x177[3:0]

Default value in PCIe mode

5’b0

Set the mux to 6’b011011 Set the mux to 6’b011011

Read values. Map 4 bit value read out to 5 bit gain values

Value to be set to use TTK/

System Console

Depends on the value set by adp_ctle_acgain_4s Register setting

Description

Set CTLE manual 4S AC gain

• Direct mapped

Read values. Map 4 bit value read out to 5 bit gain values

Sets the test mux to read the CTLE converged values from 0x177[3:0]

Reflects the converged values from

CTLE adaptation

Note: You must set the attribute rrx_pcie_eqz

located at register address 0x161[2] back to 1’b1 to allow the Arria 10 PCIe PIPE design to listen to the port pipe_g3_rxpresethint[2:0]

on each channel for normal PCIe operation.

Related Information

Analog Parameter Settings on page 585

• Debugging Transceiver Links with Transceiver Toolkit

• Arria 10 Register Map

2.8. CPRI

The common public radio interface (CPRI) is a high-speed serial interface developed for wireless network radio equipment controller (REC) to uplink and downlink data from available remote radio equipment (RE).

The CPRI protocol defines the interface of radio base stations between the REC and the RE. The physical layer supports both the electrical interfaces (for example, traditional radio base stations) and the optical interface (for example, radio base stations with a remote radio head). The scope of the CPRI specification is restricted to the link interface only, which is a point-to-point interface. The link has all the features necessary to enable a simple and robust usage of any given REC and RE network topology, including a direct interconnection of multiport REs.

Intel ® Arria ® 10 Transceiver PHY User Guide

279

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.8.1. Transceiver Channel Datapath and Clocking for CPRI

Figure 115. Transceiver Channel Datapath and Clocking for CPRI

Transmitter PMA Transmitter Standard PCS

40 32

FPGA

Fabric

245 MHz tx_clkout tx_pma_div_clkout

PRBS

Generator

/2, /4 tx_coreclkin

245 MHz tx_clkout

Receiver PMA Receiver Standard PCS

40

Parallel Clock

(Recovered)

245 MHz

Parallel Clock

(From Clock

Divider) rx_clkout tx_clkout

PRBS

Verifier

/2, /4 rx_pma_div_clkout

Clock Generation Block (CGB)

Clock Divider

32 rx_coreclkin

245 MHz rx_clkout or tx_clkout

ATX PLL

CMU PLL fPLL

Parallel Clock

Serial Clock

Parallel and Serial Clock Parallel and Serial Clock

Serial Clock

Table 200.

Channel Width Options for Supported Serial Data Rates

Serial Data

Rate

(Mbps)

614.4

(45)

1228.8

2457.6

3072

4915.2

6144

9830.4

8-Bit

Yes

Yes

Yes

Yes

N/A

N/A

N/A

8/10 Bit Width

Channel Width (FPGA-PCS Fabric)

16/20 Bit Width

16-Bit

Yes

Yes

Yes

16-Bit

N/A

Yes

Yes

32-Bit

N/A

Yes

Yes

Yes

N/A

N/A

N/A

Yes

Yes

Yes

N/A

Yes

Yes

Yes

Yes

Table 201.

Interface Width Options for 10.1376 Gbps and 12.16512 Gbps Data Rates

Serial Data Rate

(Mbps)

10137.6

12165.12

Interface Width

FPGA fabric - Enhanced PCS (bit)

66

66

Enhanced PCS - PMA (bit)

32, 40, 64

40, 64

(45) Over-sampling is required to implement 614.4Mbps

Intel ®

280

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.8.1.1. TX PLL Selection for CPRI

Choose a transmitter PLL that fits your required data rate.

Table 202.

TX PLL Supported Data Rates

ATX and fPLL support the clock bonding feature.

TX PLLs

ATX fPLL

CMU

Supported Data Rate (Mbps)

614.4, 1228.8, 2457.6, 3072, 4915.2, 6144, 8110.08, 9830.4, 10137.6, 12165.12

614.4, 1228.8, 2457.6, 3072, 4915.2, 6144, 8110.08, 9830.4, 10137.6, 12165.12

614.4, 1228.8, 2457.6, 3072, 4915.2, 6144, 8110.08, 9830.4, 10137.6

Note: • Channels that use the CMU PLL cannot be bonded. The CMU PLL that provides the clock can only drive channels in the transceiver bank where it resides.

• Over-sampling is required to implement 614.4Mbps.

2.8.1.2. Auto-Negotiation

When auto-negotiation is required, the channels initialize at the highest supported frequency and switch to successively lower data rates if frame synchronization is not achieved. If your design requires auto-negotiation, choose a base data rate that minimizes the number of PLLs required to generate the clocks required for data transmission.

By selecting an appropriate base data rate, you can change data rates by changing the local clock generation block (CGB) divider. If a single base data rate is not possible, you can use an additional PLL to generate the required data rates.

Table 203.

Recommended Base Data Rates and Clock Generation Blocks for Available

Data Rates

Data Rate (Mbps)

1228.8

2457.6

3072.0

4915.2

6144.0

9830.4

Base Data Rate (Mbps)

9830.4

9830.4

6144.0

9830.4

6144.0

9830.4

Local CGB Divider

8

4

2

2

1

1

2.8.2. Supported Features for CPRI

The CPRI protocol places stringent requirements on the amount of latency variation that is permissible through a link that implements these protocols.

CPRI (Auto) and CPRI (Manual) transceiver configuration rules are both available for

CPRI designs. Both modes use the same functional blocks, but the configuration mode of the word aligner is different between the Auto and Manual modes. In CPRI (Auto) mode, the word aligner works in deterministic mode. In CPRI (Manual) mode, the word aligner works in manual mode.

Intel ® Arria ® 10 Transceiver PHY User Guide

281

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

To avoid transmission interference in time division multiplexed systems, every radio in a cell network requires accurate delay estimates with minimal delay uncertainty. Lower delay uncertainty is always desired for increased spectrum efficiency and bandwidth.

The Arria 10 devices are designed with features to minimize the delay uncertainty for both RECs and REs.

2.8.2.1. Word Aligner in Deterministic Latency Mode for CPRI

The deterministic latency state machine in the word aligner reduces the known delay variation from the word alignment process. It automatically synchronizes and aligns the word boundary by slipping one half of a serial clock cycle (1UI) in the deserializer.

Incoming data to the word aligner is aligned to the boundary of the word alignment pattern (K28.5).

Figure 116. Deterministic Latency State Machine in the Word Aligner

Clock-Slip

Control

Parallel

Clock

From RX CDR Deserializer

Deterministic Latency

Synchronization State Machine

To 8B/10B Decoder

When using deterministic latency state machine mode, assert rx_std_wa_patternalign

to initiate the pattern alignment after the reset sequence is complete. This is an edge-triggered signal in all cases except one: when the word aligner is in manual mode and the PMA width is 10, in which case rx_std_wa_patternalign

is level sensitive.

Figure 117. Word Aligner in Deterministic Mode Waveform rx_clkout rx_std_wa_patternalign rx_parallel_data rx_errdetect rx_disperr rx_patterndetect rx_syncstatus f1e4b6e4

1101

1101

0000

0000 b9dbf1db 915d061d e13f913f 7a4ae24a bbae9b10 bcbcbcbc

0000

0000

1010

1010

1000

1000

0010

0000

1010

1010

0000

0000

1111

1111

95cd3c50 91c295cd

0000

Related Information

Word Aligner on page 485

2.8.2.1.1. Transmitter and Receiver Latency

The latency variation from the link synchronization function (in the word aligner block) is deterministic with the rx_bitslipboundaryselectout

port. Additionally, you can use the tx_bitslipboundaryselect

port to fix the round trip transceiver latency for port implementation in the remote radio head to compensate for latency variation in the word aligner block. The tx_bitslipboundaryselect

port is available to control the number of bits to be slipped in the transmitter serial data stream. You can optionally use the tx_bitslipboundaryselect round-trip latency to a whole number of cycles.

port to round the

Intel ®

282

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

When using the byte deserializer, additional logic is required in the FPGA fabric to determine if the comma byte is received in the lower or upper byte of the word. The delay is dependent on the word in which the comma byte appears.

2.8.3. Word Aligner in Manual Mode for CPRI

When configuring the word aligner in CPRI (Manual), the word aligner parses the incoming data stream for a specific alignment character. After rx_digitalreset deasserts, asserting the rx_std_wa_patternalign

triggers the word aligner to look for the predefined word alignment pattern or its complement in the received data stream. It is important to note that the behavior of the word aligner in Manual mode operates in different ways depending on the PCS-PMA interface width.

Table 204.

Word Aligner Signal Status Behaviors in Manual Mode

PCS-PMA Interface Width

10 rx_std_wa_patternali gn

Behavior

Level sensitive

20 Edge sensitive rx_syncstatus

Behavior

One parallel clock cycle (When three control patterns are detected)

Remains asserted until next rising edge of rx_std_wa_patternalign rx_patterndetect

Behavior

One parallel clock cycle

One parallel clock cycle

PCS-PMA Width = 10

When the PCS-PMA interface width is 10, 3 consecutive word alignment patterns found after the initial word alignment in a different word boundary causes the word aligner to resynchronize to this new word boundary if the rx_std_wa_patternalign remains asserted; rx_std_wa_patternalign

is level sensitive. If you deassert rx_std_wa_patternalign

, the word aligner maintains the current word boundary even when it finds the alignment pattern in a new word boundary. When the word aligner is synchronized to the new word boundary, rx_patterndetect

and rx_syncstatus

are asserted for one parallel clock cycle.

PCS-PMA Width =20

When the PMA-PCS width is 20, any alignment pattern found after the initial alignment in a different word boundary causes the word aligner to resynchronize to this new word boundary on the rising edge of rx_std_wa_patternalign

; rx_std_wa_patternalign

is edge sensitive. The word aligner maintains the current word boundary until the next rising edge of rx_std_wa_patternalign

. When the word aligner is synchronized to the new word boundary, rx_patterndetect

asserts for one parallel clock cycle and rx_syncstatus remains asserted until the next rising edge of rx_std_wa_patternalign

.

Figure 118. Word Aligner in Manual Alignment Mode Waveform rx_clkout rx_std_wa_patternalign rx_parallel_data rx_patterndetect rx_syncstatus

0...

0

0000 f1e4b6e4 b9dbf1db 915d061d e13f913f 7a4ae24a bcbc7b78 bcbcbcbc

1100 1111

1100 1111

95cd3c50 91c295cd ded691c2

0000

Related Information

Word Aligner on page 485

Intel ® Arria ® 10 Transceiver PHY User Guide

283

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.8.4. How to Implement CPRI in Arria 10 Transceivers

You should be familiar with the Standard PCS and PMA architecture, PLL architecture, and the reset controller before implementing your CPRI protocol.

1. Instantiate the Arria 10 Transceiver Native PHY IP from the IP Catalog.

Refer to Select and Instantiate the PHY IP Core on page 33 for more details.

2. Select CPRI (Auto) or CPRI (Manual) from the Transceiver configuration

rules list located under Datapath Options, depending on which protocol you are implementing.

3. Use the parameter values in the tables in Native PHY IP Parameter Settings for

CPRI

on page 285 as a starting point. Or, you can use the protocol presets

described in Preset Configuration Options . You can then modify the setting to meet

your specific requirements.

4. Click Generate to generate the Native PHY IP (this is your RTL file).

Figure 119. Signals and Ports of Native PHY IP for CPRI

Arria 10 Transceiver Native PHY tx_cal_busy rx_cal_busy

NIOS

Hard Calibration IP

Reconfiguration

Registers tx_serial_data

TX PMA

Serializer

10/20

TX Standard PCS tx_datak tx_parallel_data tx_coreclkin tx_clkout unused_tx_parallel_data[118:0] reconfig_reset reconfig_clk reconfig_avmm tx_digital_reset tx_datak[1:0] tx_parallel_data[15:0] tx_coreclkin tx_clkout tx_serial_clk0

(from TX PLL) rx_serial_data rx_cdr_refclk0 rx_is_lockedtodata rx_is_lockedtoref

Local Clock

Generation

Block

RX PMA

Deserializer

CDR

10/20

RX Standard PCS rx_datak rx_parallel_data rx_clkout rx_coreclkin rx_errdetect rx_disperr rx_runningdisp rx_patterndetect rx_syncstatus rx_std_wa_patternalign unused_rx_parallel_data[118:0] tx_analog_reset rx_analog_reset rx_digital_reset rx_datak[1:0] rx_parallel_data[15:0] rx_clkout rx_coreclkin rx_errdetect[1:0] rx_disperr[1:0] rx_runningdisp[1:0] rx_patterndetect[1:0] rx_syncstatus[1:0] rx_std_wa_patternalign unused_rx_parallel_data[118:0]

5. Instantiate and configure your PLL.

6. Create a transceiver reset controller.

You can use your own reset controller or use the Native PHY Reset Controller IP.

7. Connect the Native PHY IP to the PLL IP core and the reset controller. Use the information in the following figure to connect the ports.

Intel ®

284

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 120. Connection Guidelines for a CPRI PHY Design pll_refclk PLL IP Core clk reset pll_sel pll_locked

Reset Controller pll_cal_busy tx_ready rx_ready rx_cdr_refclk tx_serialclk0

Data

Generator tx_clkout tx_parallel_data

Data

Verifier rx_clkout rx_parallel_data

Arria 10 Transceiver Native PHY tx_serial_data rx_serial_data

8. Simulate your design to verify its functionality.

Related Information

Arria 10 Standard PCS Architecture

on page 479

For more information about Standard PCS architecture

Arria 10 PMA Architecture on page 447

For more information about PMA architecture

Using PLLs and Clock Networks

on page 398

For more information about implementing PLLs and clocks

PLLs on page 349

PLL architecture and implementation details

Resetting Transceiver Channels

on page 416

Reset controller general information and implementation details

Standard PCS Ports on page 86

Port definitions for the Transceiver Native PHY Standard Datapath

2.8.5. Native PHY IP Parameter Settings for CPRI

Table 205.

General and Datapath Options

The first two sections of the Parameter Editor for the Native PHY IP provide a list of general and datapath options to customize the transceiver.

Parameter

Message level for rule violations

Value error continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

285

Parameter

Transceiver configuration rules

PMA configuration rules

Transceiver mode

Number of data channels

Data rate

Enable datapath and interface reconfiguration

Enable simplified data interface

Table 206.

TX PMA Parameters

Parameter

TX channel bonding mode

TX local clock division factor

Number of TX PLL clock inputs per channel

Initial TX PLL clock input selection

Enable tx_pma_clkout port

Enable tx_pma_div_clkout port tx_pma_div_clkout division factor

Enable tx_pma_elecidle port

Enable tx_pma_qpipullup port (QPI)

Enable tx_pma_qpipulldn port (QPI)

Enable tx_pma_txdetectrx port (QPI)

Enable tx_pma_rxfound port (QPI)

Enable rx_seriallpbken port

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Value warning

CPRI (Auto)

CPRI (Manual) basic

TX/RX Duplex

1-36

1228.8 Mbps

2457.6 Mbps

3072 Mbps

4915.2 Mbps

6144 Mbps

8110.08 Mbps

9830.4 Mbps

10137.6 Mbps

( 46 )

12165.12 Mbps

(

46

)

Off

On

Value

Not Bonded / PMA Bonding Only / PMA and PCS Bonding

1

1

0

Off

On

2

Off

Off

Off

Off

Off

Off

(46) 10137.6 Mbps and 12165.12 Mbps are implemented by selecting 10GBase-R or 10GBase-R

1588 under Transceiver configuration rules. The Enhanced PCS is selected when the CPRI data rate is 10137.6 Mbps and above.

Intel ®

286

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 207.

RX PMA Parameters

Parameter

Number of CDR reference clocks

Selected CDR reference clock

Selected CDR reference clock frequency

PPM detector threshold

CTLE adaptation mode

DFE adaptation mode

Number of fixed dfe taps

Enable rx_pma_clkout port

Enable rx_pma_div_clkout port rx_pma_div_clkout division factor

Enable rx_pma_clkslip port

Enable rx_pma_qpipulldn port (QPI)

Enable rx_is_lockedtodata port

Enable rx_is_lockedtoref port

Enable rx_set_locktodata and rx_set_locktoref ports

Enable rx_seriallpbken port

Enable PRBS verifier control and status ports

Table 208.

Standard PCS Parameters

Parameters

Standard PCS / PMA interface width

FPGA fabric / Standard TX PCS interface width

FPGA fabric / Standard RX PCS interface width

Enable 'Standard PCS' low latency mode

TX FIFO mode

RX FIFO mode

Enable tx_std_pcfifo_full port

Enable tx_std_pcfifo_empty port

Enable rx_std_pcfifo_full port

Enable rx_std_pcfifo_empty port

TX byte serializer mode

RX byte deserializer mode

Enable TX 8B/10B encoder

Enable TX 8B/10B disparity control

Enable RX 8B/10B decoder

Value

1

0

Select legal range defined by the Quartus Prime software

1000 manual disabled

3

Off

On

2

Off

Off

On

On

Off

Off

Off

Value

20

32

32

Off register_fifo register_fifo

Off

Off

Off

Off

Serialize x2

Deserialize x2

On

Off

On continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

287

Parameters

RX rate match FIFO mode

RX rate match insert / delete -ve pattern (hex)

RX rate match insert / delete +ve pattern (hex)

Enable rx_std_rmfifo_full port

Enable rx_std_rmfifo_empty port

PCI Express Gen3 rate match FIFO mode

Enable TX bit slip

Enable tx_std_bitslipboundarysel port

RX word aligner mode

RX word aligner pattern length

RX word aligner pattern (hex)

Number of word alignment patterns to achieve sync

Number of invalid data words to lose sync

Number of valid data words to decrement error count

Enable fast sync status reporting for deterministic latency SM

Enable rx_std_wa_patternalign port

Enable rx_std_wa_a1a2size port

Enable rx_std_bitslipboundarysel port

Enable rx_bitslip port

All options under Bit Reversal and Polarity Inversion

All options under PCIe Ports

Table 209.

Dynamic Reconfiguration

Parameter

Enable dynamic reconfiguration

Share reconfiguration interface

Enable Altera Debug Master Endpoint

Enable embedded debug

Enable capability registers

Set user-defined IP identifier

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Value

Disabled

0x00000000

0x00000000

Off

Off

Bypass

Off (CPRI Auto configuration)

On (CPRI Manual configuration)

Off (CPRI Auto configuration)

On (CPRI Manual configuration)

deterministic latency (CPRI Auto configuration)

manual (FPGA fabric controlled) (CPRI

Manual configuration)

10

0x000000000000017c

3

( 47

)

3

( 47

)

3

( 47

)

On / Off

On / Off

Off

Off (CPRI Auto configuration)

On (CPRI Manual configuration)

Off (CPRI Auto configuration)

On (CPRI Manual configuration)

Off

Off

Value

Off

Off

Off

Off

Off

0 continued...

(47) These are unused when the transceiver PHY is in CPRI mode.

Intel ®

288

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter

Enable control and status registers

Enable prbs soft accumulators

Configuration file prefix

Generate SystemVerilog package file

Generate C header file

Generate MIF (Memory Initialization File)

Table 210.

Generation Options

Parameter

Generate parameter documentation file

Value

Off

Off altera_xcvr_native_a10

Off

Off

Off

Value

On

2.9. Other Protocols

2.9.1. Using the "Basic (Enhanced PCS)" and "Basic with KR FEC"

Configurations of Enhanced PCS

You can use Arria 10 transceivers to configure the Enhanced PCS to support other 10G or 10G-like protocols. The Basic (Enhanced PCS) transceiver configuration rule allows access to the Enhanced PCS with full user control over the transceiver interfaces, parameters, and ports.

You can configure the transceivers for Basic functionality using the Native PHY IP

Basic (Enhanced PCS) transceiver configuration rule.

Basic with KR FEC is a KR FEC sublayer support with a low latency physical coding sublayer (PCS). The KR FEC sublayer increases the bit error rate (BER) performance of a link. This mode can run up to a data rate of 25.8 Gbps. Use this configuration to implement applications with low latency or low BER requirements or applications such as 10 Gbps, 40 Gbps or 100 Gbps Ethernet over backplane (10GBASE-KR protocol).

The Forward Error Correction (FEC) function is defined in Clause 74 of IEEE

802.3ap-2007. FEC provides an error detection and correction mechanism that allows noisy channels to achieve the Ethernet-mandated Bit Error Rate (BER) of 10 -12 . The

FEC sublayer provides additional link margin by compensating for variations in manufacturing and environmental conditions. To distinguish it from other FEC mechanisms (for example, Optical Transport Network FEC), FEC as defined in Clause

74 of IEEE 802.3ap-2007 is called KR FEC.

Note: This configuration supports the FIFO in phase compensation and register modes, and

KR FEC PCS blocks. You can implement all other required logic for your specific application, such as standard or proprietary protocol multi-channel alignment, either in the FPGA fabric in soft IP or use Intel's 10GBASE-KR PHY IP core product as full solutions in the FPGA.

Intel ® Arria ® 10 Transceiver PHY User Guide

289

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 121. Transceiver Channel Datapath and Clocking for Basic (Enhanced PCS)

Configuration

Transmitter PMA Transmitter Enhanced PCS FPGA

Fabric

32

32

32-bit data

PRBS

Generator

PRP

Generator

Parallel Clock (322.265625 MHz) tx_clkout

KR FEC TX G KR FEC Scr

KR FEC Enc

Receiver PMA Receiver Enhanced PCS tx_pma_div_clkout rx_pma_div_clkout

32 32

32-bit data

PRBS

Verifier

Parallel Clock (322.265625 MHz)

KR FEC Block S KR FEC Dec

Clock Generation Block (CGB)

Parallel Clock

Serial Clock

Parallel and Serial Clocks

Notes:

1. Can be enabled or disabled based on the gearbox ratio selected

2. Depends on the value of the clock division factor chosen

3. To use the Scrambler and Descrambler, you must use a 66:32, 66:40, or 66:64 gear ratio and the Block Synchronizer must be enabled

Clock Divider

Parallel and Serial Clocks

PRP

Verifier

10GBASE-R

BER Checker

(5156.25 MHz) =

Data rate/2 (2)

ATX PLL fPLL

CMU PLL

Serial Clock

Input Reference Clock rx_clkout

Intel ®

290

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 122. Transceiver Channel Datapath and Clocking for a Basic with KR FEC

Configuration

Clock frequencies in this figure are examples based on a 10.3125 Gbps data rate.

Transmitter PMA Transmitter Enhanced PCS

64

TX

Data &

Control

64 + 2 tx_hf_clk tx_pma_clk tx_krfec_clk

PRBS

Generator

Parallel Clock (161.13 MHz) (3)

PRP

Generator

156.25 MHz (2)

FPGA

Fabric tx_clkout

KR FEC TX G KR FEC Scr

KR FEC Enc

KR FEC

Receiver PMA Receiver Enhanced PCS tx_pma_div_clkout rx_pma_div_clkout

RX

Data &

Control

64 + 2 rx_rcvd_clk rx_pma_clk

/64

PRBS

Verifier rx_krfec_clk

Parallel Clock (161.13 MHz) (3)

PRP

Verifier

10GBASE-R

BER Checker

156.25 MHz (2) rx_clkout

KR FEC Block S

Parallel Clock

Serial Clock

Parallel and Serial Clocks

Notes:

1. Value is based on the clock division factor chosen

2. Value is calculated as data rate on parallel interface/FPGA fabric - PCS interface width

3. Value is calculated as data rate on serial interface/PCS-PMA interface width

KR FEC Dec

Clock Generation Block (CGB)

KR FEC

Clock Divider

Parallel and Serial Clocks tx_serial_clk0

(5156.25 MHz) =

Data rate/2

ATX PLL fPLL

CMU PLL

Serial Clock

Input Reference Clock

2.9.1.1. How to Implement the Basic (Enhanced PCS) and Basic with KR FEC

Transceiver Configuration Rules in Arria 10 Transceivers

You should be familiar with the Basic (Enhanced PCS) and PMA architecture, PLL architecture, and the reset controller before implementing the Basic (Enhanced PCS) or Basic with KR FEC Transceiver Configuration Rule.

1. Open the IP Catalog and select the Arria 10 Transceiver Native PHY IP.

Refer to Select and Instantiate the PHY IP Core on page 33 for more details.

2. Select Basic (Enhanced PCS) or Basic with KR FEC from the Transceiver

Configuration Rules list located under Datapath Options.

3. Use the parameter values in the tables in Transceiver Native PHY IP Parameters for

Basic (Enhanced PCS) and Basic with KR FEC Transceiver Configuration Rules

as a starting point. Or, you can use the protocol presets described in

Transceiver Native

PHY Presets

. You can then modify the settings to meet your specific requirements.

4. Click Finish to generate the Native PHY IP (this is your RTL file).

Intel ® Arria ® 10 Transceiver PHY User Guide

291

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 123. Signals and Ports of Native PHY IP for Basic (Enhanced PCS) and Basic with

KR FEC Configurations tx_cal_busy rx_cal_busy

NIOS

Hard Calibration IP

Reconfiguration

Registers reconfig_reset reconfig_clk reconfig_avmm tx_serial_data

TX PMA

Serializer

TX Enhanced PCS tx_digital_reset tx_control[17:0] tx_parallel_data[127:0] tx_coreclkin tx_clkout tx_enh_data_valid tx_digital_reset tx_control[17:0] tx_parallel_data[127:0] tx_coreclkin tx_clkout tx_enh_data_valid tx_serial_clk0

(from TX PLL)

Clock

Generation

Block

RX PMA RX Enhanced PCS tx_analog_reset rx_analog_reset

Deserializer rx_serial_data rx_cdr_refclk0 rx_is_lockedtodata rx_is_lockedtoref

CDR rx_digital_reset rx_clkout rx_coreclkin rx_parallel_data[127:0] rx_control[19:0] rx_digital_reset rx_clkout rx_coreclkin rx_parallel_data[127:0] rx_control[19:0] rx_cdr_refclk0

5. Configure and instantiate the PLL.

6. Create a transceiver reset controller. You can use your own reset controller or use the Transceiver PHY Reset Controller.

7. Connect the Native PHY IP core to the PLL IP core and the reset controller.

Figure 124. Connection Guidelines for a Basic (Enhanced PCS) Transceiver Design

PLL IP Core

Reset

Controller

Design

Testbench

32-bit data

(32:32 gearbox ratio)

Arria 10 Transceiver

Native PHY

Intel ®

292

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 125. Connection Guidelines for a Basic with KR FEC Transceiver Design

PLL IP Core

Reset

Controller

Design

Testbench

64d + 2c

Arria 10 Transceiver

Native PHY

8. Simulate your design to verify its functionality.

Related Information

Arria 10 Enhanced PCS Architecture

on page 461

For more information about Enhanced PCS architecture

Arria 10 PMA Architecture on page 447

For more information about PMA architecture

Using PLLs and Clock Networks

on page 398

For more information about implementing PLLs and clocks

PLLs on page 349

PLL architecture and implementation details

Resetting Transceiver Channels

on page 416

Reset controller general information and implementation details

Enhanced PCS Ports on page 76

For detailed information about the available ports in the Basic protocol.

2.9.1.2. Native PHY IP Parameter Settings for Basic (Enhanced PCS) and Basic with KR FEC

This section contains the recommended parameter values for this protocol. Refer to

Using the Arria 10 Transceiver Native PHY IP Core for the full range of parameter values.

Table 211.

General and Datapath Parameters

The first two sections of the Parameter Editor for the Transceiver Native PHY provide a list of general and datapath options to customize the transceiver.

Parameter

Message level for rule violations

Transceiver configuration rules

PMA configuration rules

Transceiver mode

Number of data channels

Data rate

Range

error, warning

Basic (Enhanced PCS), Basic w/KR FEC

Basic, QPI, GPON

TX / RX Duplex, TX Simplex, RX Simplex

1 to 96

GX transceiver channel: 1 Gbps (

48 )

to 17.4 Gbps continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

293

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter

Enable datapath and interface reconfiguration

Enable simplified data interface

Table 212.

TX PMA Parameters

Parameter

TX channel bonding mode

PCS TX channel bonding master

Actual PCS TX channel bonding master

TX local clock division factor

Number of TX PLL clock inputs per channel

Initial TX PLL clock input selection

Enable tx_pma_clkout port

Enable tx_pma_div_clkout port tx_pma_div_clkout division factor

Enable tx_pma_elecidle port

Enable tx_pma_qpipullup port (QPI)

Enable tx_pma_qpipulldn port (QPI)

Enable tx_pma_txdetectrx port (QPI)

Enable tx_pma_rxfound port (QPI)

Enable rx_serialpbken port

Table 213.

RX PMA Parameters

Parameter

Number of CDR reference clocks

Selected CDR reference clock

Selected CDR reference clock frequency

Range

GT transceiver channel: 1 Gbps (

48

) to 25.8 Gbps (49)

On / Off

On / Off

Range

Not bonded, PMA only bonding, PMA and PCS bonding

Auto, 0 to n-1, n (where n = the number of data channels)

n-1 (where n = the number of data channels)

1, 2, 4, 8

1, 2, 3, 4

0

On / Off

On / Off

Disabled, 1, 2, 33, 40, 66

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

PPM detector threshold

CTLE adaptation mode

DFE adaptation mode

Number of fixed dfe taps

Enable rx_pma_clkout port

Range

1 to 5

0 to 4

For Basic (Enhanced PCS): Depends on the data rate parameter

For Basic with KR FEC: 50 to 800

100, 300, 500, 1000 manual

adaptation enabled, manual, disabled

3, 7

On / Off continued...

(48) Applies when operating in reduced power modes. For standard power modes, the Enhanced

PCS minimum data rate is 1600 Mbps.

(49) The Enhanced PCS must be configured in basic mode to support this data rate range.

Intel ®

294

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter

Enable rx_pma_div_clkout port rx_pma_div_clkout division factor

Enable rx_pma_clkslip port

Enable rx_pma_qpipulldn port (QPI)

Enable rx_is_lockedtodata port

Enable rx_is_lockedtoref port

Enable rx_set_locktodata and rx_set_locktoref ports

Enable rx_serialpbken port

Enable PRBS verifier control and status ports

Range

On / Off

Disabled, 1, 2, 33, 40, 66

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

Table 214.

Enhanced PCS Parameters

Enable Enhanced PCS low latency mode

Enable RX/TX FIFO double width mode

TX FIFO mode

Parameter

Enhanced PCS/PMA interface width

FPGA fabric/Enhanced PCS interface width

Range

32, 40, 64

Note: Basic with KR FEC allows 64 only

32, 40, 50, 64, 66, 67

Note: Basic with KR FEC allows 66 only

On / Off

On / Off

Phase compensation, Register, Interlaken, Basic, Fast register

Note: Only Basic Enhanced and Basic Enhanced with

KRFEC are valid.

10, 11, 12, 13, 14, 15

1, 2, 3, 4, 5

On / Off

TX FIFO partially full threshold

TX FIFO partially empty threshold

Enable tx_enh_fifo_full port

Enable tx_enh_fifo_pfull port

Enable tx_enh_fifo_empty port

Enable tx_enh_fifo_pempty port

RX FIFO mode

RX FIFO partially full threshold

On / Off

On / Off

On / Off

Phase Compensation, Register, Basic

0 to 31

RX FIFO partially empty threshold 0 to 31

Enable RX FIFO alignment word deletion (Interlaken) On / Off

Enable RX FIFO control word deletion (Interlaken)

Enable rx_enh_data_valid port

On / Off

On / Off

Enable rx_enh_fifo_full port

Enable rx_enh_fifo_pfull port

Enable rx_enh_fifo_empty port

Enable rx_enh_fifo_pempty port

On / Off

On / Off

On / Off

On / Off continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

295

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Range Parameter

Enable rx_enh_fifo_del port (10GBASE-R)

Enable rx_enh_fifo_insert port (10GBASE-R)

Enable rx_enh_fifo_rd_en port (Interlaken)

Enable rx_enh_fifo_align_val port (Interlaken)

Enable rx_enh_fifo_align_cir port (Interlaken)

Enable TX 64b/66b encoder

Enable RX 64b/66b decoder

Enable TX sync header error insertion

Enable RX block synchronizer

Enable rx_enh_blk_lock port

Enable TX data bitslip

Enable TX data polarity inversion

Enable RX data bitslip

Enable RX data polarity inversion

Enable tx_enh_bitslip port

Enable rx_bitslip port

Enable RX KR-FEC error marking

Error marking type

Enable KR-FEC TX error insertion

KR-FEC TX error insertion spacing

Enable tx_enh_frame port

Enable rx_enh_frame port

Enable rx_enh_frame_dian_status port

Table 215.

Dynamic Reconfiguration Parameters

Parameter

Enable dynamic reconfiguration

Share reconfiguration interface

Enable Altera Debug Master Endpoint

Enable embedded debug

Enable capability registers

Set user-defined IP identifier

Enable control and status registers

Enable prbs soft accumulators

Configuration file prefix

Generate SystemVerilog package file

Generate C header file

On / Off

On / Off

On / Off

On / Off

On / Off number

On / Off

On / Off text string

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

On / Off

10G, 40G

On / Off

On / Off

On / Off

On / Off

On / Off

Range

Intel ®

296

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 216.

Generate Options Parameters

Parameter

Generate parameter documentation file On / Off

Range

Related Information

Using the Arria 10 Transceiver Native PHY IP Core

on page 45

2.9.1.3. How to Enable Low Latency in Basic Enhanced PCS

In the Parameter Editor, use the following settings to enable low latency:

1. Select the Enable 'Enhanced PCS' low latency mode option.

2. Select one of the following gear ratios:

Single-width mode: 32:32, 40:40, 64:64, 66:40, 66:64, or 64:32

Double-width mode: 40:40, 64:64, or 66:64

3. Select Phase_compensation in the TX and RX FIFO mode list.

4. If you need the Scrambler and Descrambler features, enable Block Synchronize and use the 66:32, 66:40, or 66:64 gear ratio.

2.9.1.4. Enhanced PCS FIFO Operation

Phase Compensation Mode

Phase compensation mode ensures correct data transfer between the core clock and parallel clock domains. The read and write sides of the TX Core or RX Core FIFO must be driven by the same clock frequency. The depth of the TX or RX FIFO is constant in this mode. Therefore, the TX Core or RX Core FIFO flag status can be ignored. You can tie tx_fifo_wr_en

or rx_data_valid

to 1.

Basic Mode

Basic mode allows you to drive the write and read side of a FIFO with different clock frequencies. tx_coreclkin

or rx_coreclkin

must have a minimum frequency of the lane data rate divided by 66. The frequency range for tx_coreclkin

or rx_coreclkin

is (data rate/32) to (data rate/66). For best results, Intel recommends that tx_coreclkin

or rx_coreclkin the FIFO flag to control write and read operations.

be set to (data rate/32). Monitor

For TX FIFO, assert tx_enh_data_valid

with the tx_fifo_pfull

This can be done with the following example assignment:

signal going low.

assign tx_enh_data_valid = ~tx_fifo_pfull;

Intel ® Arria ® 10 Transceiver PHY User Guide

297

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 126. TX FIFO Basic Mode Operation tx_clkout (read side) tx_coreclk (write side) tx_parallel_data[63:0] tx_digitalreset tx_enh_datavalid tx_fifo_pempty tx_fifo_full tx_fifo_pfull

64’d0 64’d1 64’d2 64’d3 64’d4 64’d5 64’d6 64’d7 64’d8 64’d9 64’ha

For RX FIFO, assert rx_enh_read_en

with the rx_fifo_pempty

This can be done with the following example assignment:

signal going low.

assign rx_enh_read_en = ~rx_fifo_pempty;

Figure 127. RX FIFO Basic Mode Operation rx_clkout (write side) rx_coreclkin (read side) rx_parallel_data[63:0] rx_digitalreset rx_enh_read_en rx_fifo_pfull rx_fifo_empty rx_fifo_pempty

64’d0 64’d1 64’d2 64’d3 64’d4 64’d5 64’d6 64’d7 64’d8 64’d9 64’ha

If you are using even gear ratios, the rx_enh_data_valid

signal is always high. For uneven gear ratios, rx_enh_data_valid

toggles. RX parallel data is valid when rx_enh_data_valid

is high. Discard invalid RX parallel data when the rx_enh_datavalid

signal is low.

Register and Fast Register Mode

This FIFO mode is used for protocols, which require deterministic latency. You can tie tx_fifo_wr_en

to 1.

2.9.1.5. TX Data Bitslip

The bit slip feature in the TX gearbox allows you to slip the transmitter bits before they are sent to the serializer.

The value specified on the TX bit slip bus indicates the number of bit slips. The minimum slip is one UI. The maximum number of bits slipped is equal to the FPGA fabric-to-transceiver interface width minus 1. For example, if the FPGA fabric-totransceiver interface width is 64 bits, the bit slip logic can slip a maximum of 63 bits.

Each channel has 6 bits to determine the number of bits to slip. The TX bit slip bus is a level-sensitive port, so the TX serial data is bit slipped statically by TX bit slip port

Intel ®

298

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

assignments. Each TX channel has its own TX bit slip assignment and the bit slip amount is relative to the other TX channels. You can improve lane-to-lane skew by assigning TX bit slip ports with proper values.

The following figure shows the effect of slipping tx_serial_data[0]

by one UI to reduce the skew with tx_serial_data[1]

. After the bit slip, tx_serial_data[0] and tx_serial_data[1]

are aligned.

Figure 128. TX Bit Slip tx_serial_clock tx_enh_bitslip[0] 0000000 tx_serial_data[0] (Before) tx_enh_bitslip[0] 0000001 tx_serial_data[0] (After) tx_serial_data[1]

1 UI

2.9.1.6. TX Data Polarity Inversion

Use the TX data polarity inversion feature to swap the positive and negative signals of a serial differential link if they were erroneously swapped during board layout. To enable TX data polarity inversion, select the Enable TX data polarity inversion option in the Gearbox section of Platform Designer (Standard). It can also be dynamically controlled with dynamic reconfiguration.

2.9.1.7. RX Data Bitslip

The RX data bit slip in the RX gearbox allows you to slip the recovered data. An asynchronous active high edge on the rx_bitslip

port changes the word boundary, shifting rx_parallel_data

one bit at a time. Use the rx_bitslip

port with its own word aligning logic. Assert the rx_bitslip

signal for at least two parallel clock cycles to allow synchronization. You can verify the word alignment by monitoring rx_parallel_data

. Using the RX data bit slip feature is optional.

Figure 129. RX Bit Slip rx_clkout rx_bitslip rx_parallel_data[63:0] 64’d0 64’d1

2.9.1.8. RX Data Polarity Inversion

Use the RX data polarity inversion feature to swap the positive and negative signals of a serial differential link if they were erroneously swapped during board layout. To enable RX data polarity inversion, select the Enable RX data polarity inversion option in the Gearbox section of Platform Designer (Standard). It can also be dynamically controlled with dynamic reconfiguration.

Intel ® Arria ® 10 Transceiver PHY User Guide

299

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.9.2. Using the Basic/Custom, Basic/Custom with Rate Match

Configurations of Standard PCS

Use one of the following transceiver configuration rules to implement protocols such as

SONET/SDH, SDI/HD, SATA, or your own custom protocol:

• Basic protocol

• Basic protocol with low latency enabled

• Basic with rate match protocol

Figure 130. Transceiver Channel Datapath and Clocking for the Basic and Basic with Rate

Match Configurations

The clocking calculations in this figure are for an example when the data rate is 1250 Mbps and the PMA width is 10 bits.

Transmitter PMA Transmitter Standard PCS FPGA

Fabric

10

16

625 MHz (2)

Receiver PMA

125 MHz (1) tx_clkout tx_pma_div_clkout

PRBS

Generator

/2 tx_coreclkin

Receiver Standard PCS

62.5 MHz (1) tx_clkout

10

16

Parallel Clock

(Recovered)

125 MHz (1)

Parallel Clock

(From Clock

Divider) rx_clkout tx_clkout

PRBS

Verifier

/2 rx_coreclkin

62.5 MHz (1) rx_clkout or tx_clkout rx_pma_div_clkout

Clock Generation Block (CGB)

Clock Divider

ATX PLL

CMU PLL fPLL

Parallel Clock

Serial Clock

Parallel and Serial Clock

Notes:

1. The parallel clock (tx_clkout or rx_clkout) is calculated as data rate/PCS-PMA interface width =1250/10 = 125 MHz.

When the Byte Serializer is set to Serialize x2 mode, tx_clkout and rx_clkout become 1250/20 = 62.5 MHz.

2. The serial clock is calculated as data rate/2. The PMA runs on a dual data rate clock.

3. This block is only enabled when using the Basic with Rate Match transceiver configuration rule.

Parallel and Serial Clock

Serial Clock

In low latency modes, the transmitter and receiver FIFOs are always enabled.

Depending on the targeted data rate, you can optionally bypass the byte serializer and deserializer blocks.

Intel ®

300

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 131. Transceiver Channel Datapath and Clocking for Basic Configuration with Low

Latency Enabled

The clocking calculations in this figure are for an example when the data rate is 1250 Mbps and the PMA width is 10 bits.

Transmitter PMA Transmitter Standard PCS FPGA

Fabric

10

16

625 MHz (2)

125 MHz (1) tx_clkout tx_pma_div_clkout

PRBS

Generator

/2 tx_coreclkin

Receiver Standard PCS

62.5 MHz (1) tx_clkout

Receiver PMA

10

16

Parallel Clock

(Recovered)

125 MHz (1)

Parallel Clock

(From Clock

Divider) rx_clkout tx_clkout

PRBS

Verifier

/2 rx_coreclkin

62.5 MHz (1) rx_clkout or tx_clkout rx_pma_div_clkout

Clock Generation Block (CGB)

Clock Divider

ATX PLL

CMU PLL fPLL

Parallel Clock

Serial Clock

Parallel and Serial Clock

Notes:

1. The parallel clock (tx_clkout or rx_clkout) is calculated as data rate/PCS-PMA interface width = 1250/10 = 125 MHz.

When the Byte Serializer is set to Serialize x2 mode, tx_clkout and rx_clkout become 1250/20 = 62.5 MHz.

2. The serial clock is calculated as data rate/2. The PMA runs on a dual data rate clock.

Parallel and Serial Clock

Serial Clock

In low latency modes, the transmitter and receiver FIFOs are always enabled.

Depending on the targeted data rate, you can optionally bypass the byte serializer and deserializer blocks.

Related Information

Arria 10 Standard PCS Architecture

on page 479

2.9.2.1. Word Aligner Manual Mode

To use this mode:

1. Set the RX word aligner mode to Manual (FPGA Fabric controlled).

2. Set the RX word aligner pattern length option according to the PCS-PMA interface width.

3. Enter a hexadecimal value in the RX word aligner pattern (hex) field.

This mode adds rx_patterndetect

and rx_syncstatus

Enable rx_std_wa_patternalign port option to enable

. You can select the rx_std_wa_patternalign

. An active high on rx_std_wa_patternalign

re-aligns the word aligner one time.

Intel ® Arria ® 10 Transceiver PHY User Guide

301

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Note: • rx_patterndetect

is asserted whenever there is a pattern match.

• rx_syncstatus

is asserted after the word aligner achieves synchronization.

• rx_std_wa_patternalign

is asserted to re-align and resynchronize.

• If there is more than one channel in the design, rx_patterndetect

, rx_syncstatus

and rx_std_wa_patternalign

become buses in which each bit corresponds to one channel.

You can verify this feature by monitoring rx_parallel_data

.

The following timing diagrams demonstrate how to use the ports and show the relationship between the various control and status signals. In the top waveform, rx_parallel_data

is initially misaligned. After asserting the rx_std_wa_patternalign

signal, it becomes aligned. The bottom waveform shows the behavior of the rx_syncstatus

signal when rx_parallel_data

is already aligned.

Figure 132. Manual Mode when the PCS-PMA Interface Width is 8 Bits tx_parallel_data

= 8'hBC and the word aligner pattern = 8'hBC rx_std_wa_patternalign tx_parallel_data bc

00 bc rx_parallel_data rx_patterndetect rx_syncstatus rx_std_wa_patternalign tx_parallel_data rx_parallel_data rx_patterndetect rx_syncstatus bc bc

In manual alignment mode, the word alignment operation is manually controlled with the rx_std_wa_patternalign

input signal or the rx_enapatternalign

register.

The word aligner operation is level-sensitive to rx_enapatternalign

. The word aligner asserts the rx_syncstatus

signal for one parallel clock cycle whenever it realigns to the new word boundary.

Intel ®

302

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 133. Manual Mode when the PCS-PMA Interface Width is 10 Bits tx_parallel_data

= 10'h3BC and the word aligner pattern = 10'h3BC rx_std_wa_patternalign tx_parallel_data rx_parallel_data rx_patterndetect rx_syncstatus

3bc

000 3bc rx_std_wa_patternalign tx_parallel_data rx_parallel_data rx_patterndetect rx_syncstatus

3bc

3bc

Figure 134. Manual Mode when the PCS-PMA Interface Width is 16 Bits tx_parallel_data

= 16'hF3BC and the word aligner pattern = 16'hF3BC rx_std_wa_patternalign tx_parallel_data rx_parallel_data rx_patterndetect rx_syncstatus f3bc

0000

00

00 f3bc

01

11 11 rx_std_wa_patternalign tx_parallel_data rx_parallel_data rx_patterndetect rx_syncstatus f3bc f3bc

01

11 00 11

Figure 135. Manual Mode when the PCS-PMA Interface Width is 20 Bits tx_parallel_data

= 20'hFC3BC and the word aligner pattern = 20'hFC3BC rx_std_wa_patternalign tx_parallel_data fc3bc rx_parallel_data rx_patterndetect rx_syncstatus

0000

00

00 fc3bc

01

11 11 11 rx_std_wa_patternalign tx_parallel_data rx_parallel_data rx_patterndetect rx_syncstatus fc3bc fc3bc

01

11 00 11

2.9.2.2. Word Aligner Synchronous State Machine Mode

To use this mode:

• Select the Enable TX 8B/10B encoder option.

• Select the Enable RX 8B/10B decoder option.

Intel ® Arria ® 10 Transceiver PHY User Guide

303

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Note:

The 8B/10B encoder and decoder add the following additional ports:

• tx_datak

• rx_datak

• rx_errdetect

• rx_disperr

• rx_runningdisp

1. Set the RX word aligner mode to synchronous state machine.

2. Set the RX word aligner pattern length option according to the PCS-PMA interface width.

3. Enter a hexadecimal value in the RX word aligner pattern (hex) field.

The RX word aligner pattern is the 8B/10B encoded version of the data pattern. You can also specify the number of word alignment patterns to achieve synchronization, the number of invalid data words to lose synchronization, and the number of valid data words to decrement error count. This mode adds two additional ports: rx_patterndetect

and rx_syncstatus

.

• rx_patterndetect

is asserted whenever there is a pattern match.

• rx_syncstatus

is asserted after the word aligner achieves synchronization.

• rx_std_wa_patternalign

is asserted to re-align and re-synchronize.

• If there is more than one channel in the design, tx_datak

, rx_datak

, rx_errdetect

, rx_disperr

, rx_runningdisp

, rx_patterndetect

, and rx_syncstatus

become buses in which each bit corresponds to one channel.

You can verify this feature by monitoring rx_parallel_data

.

Figure 136. Synchronization State Machine Mode when the PCS-PMA Interface Width is

20 Bits rx_std_wa_patternalign tx_datak tx_parallel_data rx_parallel_data rx_datak rx_errdetect rx_disperr rx_runningdisp rx_patterndetect rx_syncstatus

11

00

00

11

00

00

11 bc02

0000 02bc

01

00

00

11

01

00 11 00

11

11 00 11

2.9.2.3. RX Bit Slip

To use the RX bit slip, select Enable rx_bitslip port and set the word aligner mode to

bit slip. This adds rx_bitslip

as an input control port. An active high edge on rx_bitslip

slips one bit at a time. When rx_bitslip

is toggled, the word aligner slips one bit at a time on every active high edge. Assert the rx_bitslip

signal for at least two parallel clock cycles to allow synchronization. You can verify this feature by monitoring rx_parallel_data

.

Intel ®

304

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

The RX bit slip feature is optional and may or may not be enabled.

Figure 137. RX Bit Slip in 8-bit Mode tx_parallel_data

= 8'hbc rx_std_bitslipboundarysel rx_bitslip

01111 tx_parallel_data rx_parallel_data bc

00 97 cb e5 f2 79

Figure 138. RX Bit Slip in 10-bit Mode tx_parallel_data

= 10'h3bc rx_std_bitslipboundarysel 01111 rx_bitslip tx_parallel_data rx_parallel_data

3bc

000 1de 0ef 277 33b 39d 3ce 1e7 2f3

Figure 139. RX Bit Slip in 16-bit Mode tx_parallel_data

= 16'hfcbc

00010 rx_std_bitslipboundarysel rx_bitslip

00001 tx_parallel_data rx_parallel_data fcbc

979f cbcf

00011 e5e7

00100 f2f3

00101 f979

00110 fcbc

379 bc

3bc

Figure 140. RX Bit Slip in 20-bit Mode tx_parallel_data

= 20'h3fcbc rx_std_bitslipboundarysel rx_bitslip

00001 00010 tx_parallel_data rx_parallel_data

3fcbc e5e1f f2f0f

00011 f9787

00100 fcbc3

00101 de5e1

00110 ff2f0

00111

7f978

01000

3fcbc

2.9.2.4. RX Polarity Inversion

Receiver polarity inversion can be enabled in low latency, basic, and basic rate match modes.

To enable the RX polarity inversion feature, select the Enable RX polarity inversion and Enable rx_polinv port options.

This mode adds rx_polinv

. If there is more than one channel in the design, rx_polinv

is a bus in which each bit corresponds to a channel. As long as rx_polinv

is asserted, the RX data received has a reverse polarity.

You can verify this feature by monitoring rx_parallel_data

.

Intel ® Arria ® 10 Transceiver PHY User Guide

305

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 141. RX Polarity Inversion rx_polinv tx_parallel_data rx_parallel_data rx_patterndetect rx_syncstatus

11111100001110111100

11111100001...

01

00000011110001000011

11

11111100001110111100

2.9.2.5. RX Bit Reversal

The RX bit reversal feature can be enabled in low latency, basic, and basic rate match mode. The word aligner is available in any mode, bit slip, manual, or synchronous state machine.

To enable this feature, select the Enable RX bit reversal and Enable

rx_std_bitrev_ena port options. This adds rx_std_bitrev_ena

. If there is more than one channel in the design, rx_std_bitrev_ena

becomes a bus in which each bit corresponds to a channel. As long as rx_std_bitrev_ena

is asserted, the RX data received by the core shows bit reversal.

You can verify this feature by monitoring rx_parallel_data

.

Figure 142. RX Bit Reversal rx_std_bitrev_ena tx_parallel_data rx_parallel_data rx_patterndetect rx_syncstatus

11111100001110111100

11111100001110111100

01

11

00111101110000111111

00

11111100001110111100

01

2.9.2.6. RX Byte Reversal

The RX byte reversal feature can be enabled in low latency, basic, and basic rate match mode. The word aligner is available in any mode.

To enable this feature, select the Enable RX byte reversal and Enable

rx_std_byterev_ena port options. This adds rx_std_byterev_ena

. If there is more than one channel in the design, rx_std_byterev_ena

becomes a bus in which each bit corresponds to a channel. As long as rx_std_byterev_ena

RX data received by the core shows byte reversal.

is asserted, the

You can verify this feature by monitoring rx_parallel_data

.

Figure 143. RX Byte Reversal rx_std_byterev_ena tx_parallel_data rx_parallel_data rx_patterndetect rx_syncstatus

01

11

11111100001110111100

111111...

11101111001111110000

10

11111100001110111100

01

2.9.2.7. Rate Match FIFO in Basic (Single Width) Mode

Only the rate match FIFO operation is covered in these steps.

Intel ®

306

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

1. Select basic (single width) in the RX rate match FIFO mode list.

2. Enter values for the following parameters.

Parameter

RX rate match insert/delete +ve pattern (hex)

RX rate match insert/delete –ve pattern (hex)

Value

20 bits of data specified as a hexadecimal string

20 bits of data specified as a hexadecimal string

Description

The first 10 bits correspond to the skip pattern and the last 10 bits correspond to the control pattern. The skip pattern must have neutral disparity.

The first 10 bits correspond to the skip pattern and the last 10 bits correspond to the control pattern. The skip pattern must have neutral disparity.

ve (volt encodes) are NRZ_L conditions where +ve encodes 0 and –ve encodes 1.

ve is a running disparity (+/–RD) specifically used with the rate matcher.

Depending on the ppm difference (which is defined by protocol) between the recovered clock and the local clock, the rate matcher adds or deletes a maximum of four skip patterns (neutral disparity). The net neutrality is conserved even after the skip word insertion or deletion because the control words alternate between positive and negative disparity.

In the following figure, the first skip cluster has a /K28.5/ control pattern followed by two /K28.0/ skip patterns. The second skip cluster has a /K28.5/ control pattern followed by four /K28.0/ skip patterns. The rate match FIFO deletes only one /K28.0/ skip pattern from the first skip cluster to maintain at least one skip pattern in the cluster after deletion. Two /K28.0/ skip patterns are deleted from the second cluster for a total of three skip patterns deletion requirement.

The rate match FIFO can insert a maximum of four skip patterns in a cluster, if there are no more than five skip patterns in the cluster after insertion.

Figure 144. Rate Match FIFO Deletion with Three Skip Patterns Required for Deletion

First Skip Cluster Second Skip Cluster

K28.0

K28.0

tx_parallel_data rx_parallel_data

K28.5

K28.5

K28.0

K28.0

K28.0

K28.5

K28.5

K28.0

K28.0

K28.0

K28.0

K28.0

Three Skip Patterns Deleted

Note: /K28.5/ is the control pattern and /K28.0/ is the skip pattern

In the following figure, /K28.5/ is the control pattern and neutral disparity /K28.0/ is the skip pattern. The first skip cluster has a /K28.5/ control pattern followed by three /K28.0/ skip patterns. The second skip cluster has a /K28.5/ control pattern followed by two /K28.0/ skip patterns. The rate match FIFO inserts only two /

K28.0/ skip patterns into the first skip cluster to maintain a maximum of five skip patterns in the cluster after insertion. One /K28.0/ skip pattern is inserted into the second cluster for a total of three skip patterns to meet the insertion requirement.

Figure 145. Rate Match FIFO Insertion with Three Skip Patterns Required for Insertion

First Skip Cluster Second Skip Cluster tx_parallel_data K28.5

K28.0

K28.0

K28.0

K28.5

K28.0

K28.0

Dx.y

rx_parallel_data K28.5

K28.0

K28.0

K28.0

K28.0

K28.0

K28.5

K28.0

K28.0

K28.0

Dx.y

Three Skip Patterns Inserted

Intel ® Arria ® 10 Transceiver PHY User Guide

307

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

The following figure shows the deletion of D5 when the upstream transmitter reference clock frequency is greater than the local receiver reference clock frequency. It asserts deletion takes place.

rx_std_rmfifo_full

for one parallel clock cycle while the

Figure 146. Rate Match FIFO Becoming Full After Receiving D5 tx_parallel_data D1 D2 D3 D4 D5 D6 rx_parallel_data D1 D2 D3 D4 D6 D7

D7

D8

D8 xx xx xx rx_std_rmfifo_full

The following figure shows the insertion of skip symbols when the local receiver reference clock frequency is greater than the upstream transmitter reference clock frequency. It asserts rx_std_rmfifo_empty

for one parallel clock cycle while the insertion takes place.

Figure 147. Rate Match FIFO Becoming Empty After Receiving D3 tx_parallel_data D1 D2 D3 D4 D5 D6 rx_parallel_data D1 D2 D3 /K30.7/ D4 D5 rx_std_rmfifo_empty

2.9.2.8. Rate Match FIFO Basic (Double Width) Mode

1. Select basic (double width) in the RX rate match FIFO mode list.

2. Enter values for the following parameters.

Parameter

RX rate match insert/delete +ve pattern (hex)

RX rate match insert/delete -ve pattern (hex)

Value

20 bits of data specified as a hexadecimal string

20 bits of data specified as a hexadecimal string

Description

The first 10 bits correspond to the skip pattern and the last 10 bits correspond to the control pattern. The skip pattern must have neutral disparity.

The first 10 bits correspond to the skip pattern and the last 10 bits correspond to the control pattern. The skip pattern must have neutral disparity.

The rate match FIFO can delete as many pairs of skip patterns from a cluster as necessary to avoid the rate match FIFO from overflowing. The rate match FIFO can delete a pair of skip patterns only if the two 10-bit skip patterns appear in the same clock cycle on the LSByte and MSByte of the 20-bit word. If the two skip patterns appear straddled on the MSByte of a clock cycle and the LSByte of the next clock cycle, the rate match FIFO cannot delete the pair of skip patterns.

In the following figure, the first skip cluster has a /K28.5/ control pattern in the

LSByte and /K28.0/ skip pattern in the MSByte of a clock cycle followed by one /

K28.0/ skip pattern in the LSByte of the next clock cycle. The rate match FIFO cannot delete the two skip patterns in this skip cluster because they do not appear in the same clock cycle. The second skip cluster has a /K28.5/ control pattern in the MSByte of a clock cycle followed by two pairs of /K28.0/ skip patterns in the next two cycles. The rate match FIFO deletes both pairs of /K28.0/ skip patterns

(for a total of four skip patterns deleted) from the second skip cluster to meet the three skip pattern deletion requirement.

Intel ®

308

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

The rate match FIFO can insert as many pairs of skip patterns into a cluster necessary to avoid the rate match FIFO from under running. The 10-bit skip pattern can appear on the MSByte, the LSByte, or both, of the 20-bit word.

Figure 148. Rate Match FIFO Deletion with Four Skip Patterns Required for Deletion

/K28.5/ is the control pattern and neutral disparity /K28.0/ is the skip pattern.

First Skip Cluster Second Skip Cluster

Two Pairs of Skip

Patterns Deleted tx_parallel_data[19:10] tx_parallel_data[9:0] rx_parallel_data[19:0]

Dx.y

Dx.y

Dx.y

K28.0

K28.5

K28.0

Dx.y

K28.0

Dx.y

K28.5

Dx.y

K28.5

K28.0

K28.0

Dx.y

K28.0

K28.0

Dx.y

Dx.y

rx_parallel_data[9:0] Dx.y

K28.5

K28.0

Dx.y

Dx.y

In the following figure, /K28.5/ is the control pattern and neutral disparity /K28.0/ is the skip pattern. The first skip cluster has a /K28.5/ control pattern in the

LSByte and /K28.0/ skip pattern in the MSByte of a clock cycle. The rate match

FIFO inserts pairs of skip patterns in this skip cluster to meet the three skip pattern insertion requirement.

Figure 149. Rate Match FIFO Insertion with Four Skip Patterns Required for Insertion

First Skip Cluster Second Skip Cluster tx_parallel_data[19:10] tx_parallel_data[9:0] rx_parallel_data[19:0] rx_parallel_data[9:0]

Dx.y

Dx.y

Dx.y

Dx.y

K28.0

K28.5

K28.0

K28.5

Dx.y

Dx.y

K28.0

K28.0

K28.5

Dx.y

K28.0

K28.0

K28.0

K28.0

Dx.y

Dx.y

K28.0

K28.0

K28.5

Dx.y

K28.0

K28.0

K28.0

K28.0

The following figure shows the deletion of the 20-bit word D7D8.

Figure 150. Rate Match FIFO Becoming Full After Receiving the 20-Bit Word D5D6 tx_parallel_data[19:0] D2 D4 D6 D8 D10 D12 tx_parallel_data[9:0] D1 D3 D5 D7 D9 D11 rx_parallel_data[19:10] rx_parallel_data[9:0]

D2

D1

D4

D3

D6

D5

D10

D9

D12

D11 xx xx rx_std_rmfifo_full

The following figure shows the insertion of two skip symbols.

Intel ® Arria ® 10 Transceiver PHY User Guide

309

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 151. Rate Match FIFO Becoming Empty After Reading out the 20-Bit Word D5D6 tx_parallel_data[19:0] D2 D4 D6

D8 D10

D12 tx_parallel_data[9:0] D1 D3 D5

D7

D9 D11 rx_parallel_data[19:10] rx_parallel_data[9:0]

D2

D1

D4

D3

D6

D5

/K30.7/

/K30.7/

D8

D7

D10

D9 rx_std_rmfifo_empty

2.9.2.9. 8B/10B Encoder and Decoder

To enable the 8B/10B Encoder and the 8B/10B Decoder, select the Enable TX

8B/10B Encoder and Enable RX 8B/10B Decoder options on the Standard PCS tab in the IP Editor. Platform Designer (Standard) allows implementing the 8B/10B decoder in RX-only mode.

The following ports are added:

• tx_datak

• rx_datak

• rx_runningdisp

• rx_disperr

• rx_errdetect rx_datak

and tx_datak

indicate whether the parallel data is a control word or a data word. The incoming 8-bit data ( tx_parallel_data

) and the control identifier

( tx_datak

) are converted into a 10-bit data. After a power on reset, the 8B/10B encoder takes the 10-bit data from the RD- column. Next, the encoder chooses the

10-bit data from the RD+ column to maintain neutral disparity. The running disparity is shown by rx_runningdisp

.

2.9.2.10. 8B/10B TX Disparity Control

The Disparity Control feature controls the running disparity of the output from the

8B/10B Decoder.

To enable TX Disparity Control, select the Enable TX 8B/10B Disparity Control option. The following ports are added:

• tx_forcedisp be forced or not

—a control signal that indicates whether a disparity value has to

• tx_dispval being forced

—a signal that indicates the value of the running disparity that is

When the number of data channels is more than 1, tx_forcedisp

and tx_dispval are shown as buses in which each bit corresponds to one channel.

Intel ®

310

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

The following figure shows the current running disparity being altered in Basic singlewidth mode by forcing a positive disparity /K28.5/ when it was supposed to be a negative disparity /K28.5/. In this example, a series of /K28.5/ code groups are continuously being sent. The stream alternates between a positive running disparity

(RD+) /K28.5/ and a negative running disparity (RD-) /K28.5/ to maintain a neutral overall disparity. The current running disparity at time n + 3 indicates that the /K28.5/ in time n + 4 should be encoded with a negative disparity. Because tx_forcedisp

is high at time n + 4, and tx_dispval positive disparity code group.

is low, the /K28.5/ at time n + 4 is encoded as a

Figure 152. 8B/10B TX Disparity Control n n + 1 n + 2 n + 3 n + 4 n + 5 n + 6 n + 7 clock tx_in[7:0] tx_ctrlenable tx_forcedisp tx_dispval

Current Running Disparity dataout[9:0]

BC

RD–

17C

BC

RD+

283

BC

RD–

17C

BC

RD+

283

BC

RD+

283

BC

RD–

17C

BC

RD+

283

BC

RD–

17C

2.9.2.11. How to Enable Low Latency in Basic

In the Arria 10 Transceiver Native PHY IP Parameter Editor, use the following settings to enable low latency:

1. Select the Enable 'Standard PCS' low latency mode option.

2. Select either low_latency or register FIFO in the TX FIFO mode list.

3. Select either low_latency or register FIFO in the RX FIFO mode list.

4. Select either Disabled or Serialize x2 in the TX byte serializer mode list.

5. Select either Disabled or Serialize x2 in the RX byte deserializer mode list.

6. Ensure that RX rate match FIFO mode is disabled.

7. Set the RX word aligner mode to bitslip.

8. Set the RX word aligner pattern length to 7 or 16.

Note: TX bitslip, RX bitslip, bit reversal, and polarity inversion modes are supported.

2.9.2.12. TX Bit Slip

To use the TX bit slip, select the Enable TX bitslip and Enable

tx_std_bitslipboundarysel port options. This adds the tx_std_bitslipboundarysel

input port. The TX PCS automatically slips the number of bits specified by tx_std_bitslipboundarysel bit slip. If there is more than one channel in the design,

. There is no port for TX tx_std_bitslipboundarysel

ports are multiplied by the number of channels. You can verify this feature by monitoring the tx_parallel_data

port.

Enabling the TX bit slip feature is optional.

Intel ® Arria ® 10 Transceiver PHY User Guide

311

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Note: The rx_parallel_data

values in the following figures are based on the TX and RX bit reversal features being disabled.

Figure 153. TX Bit Slip in 8-bit Mode tx_parallel_data

= 8'hbc. tx_std_bitslipboundarysel

= 5'b00001 (bit slip by 1 bit).

tx_std_bitslipboundarysel tx_parallel_data rx_parallel_data

00001 bc

79

Figure 154. TX Bit Slip in 10-bit Mode tx_parallel_data

= 10'h3bc. tx_std_bitslipboundarysel

= 5'b00011 (bit slip by 3 bits).

tx_std_bitslipboundarysel tx_parallel_data rx_parallel_data

00011

3bc

1e7

Figure 155. TX Bit Slip in 16-bit Mode tx_parallel_data

= 16'hfcbc. tx_std_bitslipboundarysel

=5'b00011 (bit slip by 3 bits).

tx_std_bitslipboundarysel tx_parallel_data rx_parallel_data

00011 fcbc

5e7f

Figure 156. TX Bit Slip in 20-bit Mode tx_parallel_data

= 20'hF3CBC. tx_std_bitslipboundarysel

= 5'b00111 (bit slip by 7 bits).

tx_std_bitslipboundarysel tx_parallel_data rx_parallel_data

00111 f3cbc e5e1f

2.9.2.13. TX Polarity Inversion

The positive and negative signals of a serial differential link might accidentally be swapped during board layout. Solutions such as a board respin or major updates to the PLD logic can be expensive. The transmitter polarity inversion feature is provided to correct this situation.

Transmitter polarity inversion can be enabled in low latency, basic, and basic rate match modes.

To enable TX polarity inversion, select the Enable tx_polinv port option in Platform

Designer (Standard). It can also be dynamically controlled with dynamic reconfiguration.

This mode adds tx_polinv

. If there is more than one channel in the design, tx_polinv

is a bus with each bit corresponding to a channel. As long as tx_polinv is asserted, the TX data transmitted has a reverse polarity.

Intel ®

312

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.9.2.14. TX Bit Reversal

The TX bit reversal feature can be enabled in low latency, basic, and basic rate match mode. The word aligner is available in any mode. This feature is parameter-based, and creates no additional ports. If there is more than one channel in the design, all channels have TX bit reversal.

To enable TX bit reversal, select the Enable TX bit reversal option in Platform

Designer (Standard). It can also be dynamically controlled with dynamic reconfiguration.

Figure 157. TX Bit Reversal tx_parallel_data rx_parallel_data

11111100001110111100

00000...

00111101110000111111

2.9.2.15. TX Byte Reversal

The TX byte reversal feature can be enabled in low latency, basic, and basic rate match mode. The word aligner is available in any mode. This feature is parameterbased, and creates no additional ports. If there is more than one channel in the design, all channels have TX byte reversal.

To enable TX byte reversal, select the Enable TX byte reversal option in Platform

Designer (Standard). It can also be dynamically controlled with dynamic reconfiguration.

Figure 158. TX Byte Reversal tx_parallel_data rx_parallel_data

11111100001110111100

00000000... 11101111001111110000

2.9.2.16. How to Implement the Basic, Basic with Rate Match Transceiver

Configuration Rules in Arria 10 Transceivers

You should be familiar with the Standard PCS and PMA architecture, PLL architecture, and the reset controller before implementing your Basic protocol IP.

1. Open the IP Catalog and select the Native PHY IP.

Refer to Select and Instantiate the PHY IP Core on page 33.

2. Select Basic/Custom (Standard PCS) or Basic/Custom w/Rate Match

(Standard PCS) from the Transceiver configuration rules list located under

Datapath Options depending on which configuration you want to use.

3. Use the parameter values in the tables in Transceiver Native PHY IP Parameter

Settings for the Basic Protocol

as a starting point. Or, you can use the protocol

presets described in Transceiver Native PHY Presets

. You can then modify the setting to meet your specific requirements.

4. Click Finish to generate the Native PHY IP (this is your RTL file).

Intel ® Arria ® 10 Transceiver PHY User Guide

313

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 159. Signals and Ports of Native PHY IP for Basic, Basic with Rate Match

Configurations

Arria 10 Transceiver Native PHY

Reconfiguration

Registers

Nios Hard

Calibration IP tx_cal_busy rx_cal_busy reconfig_reset reconfig_clk reconfig_avmm tx_digital_reset tx_datak tx_parallel_data[7:0] tx_clkout

TX Standard PCS tx_datak tx_parallel_data[7:0] tx_coreclkin tx_clkout unused_tx_parallel_data[118:0]

10

TX PMA

Serializer tx_serial_data

Central/Local

Clock Divider tx_serial_clk0 (from TX PLL) tx_analog_reset rx_analog_reset rx_digital_reset rx_datak rx_parallel_data[7:0] rx_clkout rx_errdetect rx_disperr rx_runningdisp rx_patterndetect rx_syncstatus rx_rmfifostatus (1)

RX Standard PCS rx_datak rx_parallel_data[7:0] rx_clkout rx_coreclkin rx_errdetect rx_disperr rx_runningdisp rx_patterndetect rx_syncstatus rx_rmfifostatus (1) unused_rx_parallel_data[113:0]

10

RX PMA

Deserializer CDR rx_serial_data rx_cdr_refclk0 rx_is_lockedtodata rx_is_lockedtoref

Note:

1. Only applies when using the Basic with Rate Match transceiver configuration rule.

5. Instantiate and configure your PLL.

6. Create a transceiver reset controller.

7. Connect the Native PHY IP to the PLL IP and the reset controller. Use the

information in Transceiver Native PHY Ports for the Protocol

to connect the ports.

Figure 160. Connection Guidelines for a Basic/Custom Design pll_ref_clk reset

Pattern

Generator tx_parallel_data tx_datak tx_clkout tx_serial_data rx_serial_data rx_cdr_refclk

PLL IP tx_serial_clk pll_locked pll_powerdown rx_ready tx_ready clk reset reset

Reset

Controller

Pattern

Checker tx_digital_reset tx_analog_reset rx_digital_reset rx_analog_reset rx_is_lockedtoref rx_is_lockedtodata rx_parallel_data rx_datak rx_clkout

Arria 10

Transceiver

Native

PHY reconfig_clk reconfig_reset reconfig_write reconfig_read reconfig_address reconfig_writedata reconfig_readdata reconfig_waitrequest cal_busy

For

Reconfiguration

8. Simulate your design to verify its functionality.

Intel ®

314

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Related Information

Arria 10 Standard PCS Architecture

on page 479

For more information about Standard PCS architecture

Arria 10 PMA Architecture on page 447

For more information about PMA architecture

Using PLLs and Clock Networks

on page 398

For more information about implementing PLLs and clocks

PLLs on page 349

PLL architecture and implementation details

Resetting Transceiver Channels

on page 416

Reset controller general information and implementation details

Standard PCS Ports on page 86

Port definitions for the Transceiver Native PHY Standard Datapath

2.9.2.17. Native PHY IP Parameter Settings for Basic, Basic with Rate Match

Configurations

This section contains the recommended parameter values for this protocol. Refer to

Using the Arria 10 Transceiver Native PHY IP Core for the full range of parameter values.

Table 217.

General and Datapath Options Parameters

Parameter

Message level for rule violations

Transceiver configuration rules

PMA configuration rules

Transceiver mode

Number of data channels

Data rate

Enable datapath and interface reconfiguration

Enable simplified data interface

Range error warning

Basic/Custom (Standard PCS)

Basic/Custom w/Rate Match (Standard

PCS) basic

TX/RX Duplex

TX Simplex

RX Simplex

1

to

96

611

Mbps to

12

Gbps

On/Off

On/Off

Table 218.

TX PMA Parameters

Parameter

TX channel bonding mode

PCS TX channel bonding master

Actual PCS TX channel bonding master

Range

Not bonded

PMA-only bonding

PMA and PCS bonding

Auto, n-1 (where n = the number of data channels)

n-1 (where n = the number of data channels) continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

315

Parameter

TX local clock division factor

Number of TX PLL clock inputs per channel

Initial TX PLL clock input selection

Enable tx_pma_clkout port

Enable tx_pma_div_clkout port tx_pma_div_clkout division factor

Enable tx_pma_elecidle port

Enable tx_pma_qpipullup port (QPI)

Enable tx_pma_qpipulldn port (QPI)

Enable tx_pma_txdetectrx port (QPI)

Enable tx_pma_rxfound port (QPI)

Enable rx_seriallpbken port

Table 219.

RX PMA Parameters

Parameter

Number of CDR reference clocks

Selected CDR reference clock

Selected CDR reference clock frequency

PPM detector threshold

CTLE adaptation mode

DFE adaptation mode

Number of fixed dfe taps

Enable rx_pma_clkout port

Enable rx_pma_div_clkout port rx_pma_div_clkout division factor

Enable rx_pma_clkslip port

Enable rx_pma_qpipulldn port (QPI)

Enable rx_is_lockedtodata port

Enable rx_is_lockedtoref port

Enable rx_set_locktodata and rx_set_locktoref ports

Enable rx_seriallpbken port

Enable PRBS verifier control and status ports

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Range

1, 2, 4, 8

1, 2, 3, 4

0 (Depends on the Number of TX PLL clock

inputs per channel value)

On/Off

On/Off

Disabled, 1, 2, 33, 40, 66

On/Off

On/Off

On/Off

On/Off

On/Off

On/Off

Range

1, 2, 3, 4, 5

0, 1, 2, 3, 4

Legal range defined by Quartus Prime software

100, 300, 500, 1000 manual disabled

3, 7

On/Off

On/Off

Disabled, 1, 2, 33, 40, 50, 66

On/Off

On/Off

On/Off

On/Off

On/Off

On/Off

On/Off

Intel ®

316

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 220.

Standard PCS Parameters

Parameter

Standard PCS / PMA interface width

FPGA fabric / Standard TX PCS interface width

FPGA fabric / Standard RX PCS interface width

Enable 'Standard PCS' low latency mode

TX FIFO mode

RX FIFO Mode

Enable tx_std_pcfifo_full port

Enable tx_std_pcfifo_empty port

Enable rx_std_pcfifo_full port

Enable rx_std_pcfifo_empty port

TX byte serializer mode

RX byte deserializer mode

Enable TX 8B/10B encoder

Enable TX 8B/10B disparity control

Enable RX 8B/10B decoder

RX rate match FIFO mode

RX rate match insert/delete -ve pattern (hex)

RX rate match insert/delete +ve pattern (hex)

Enable rx_std_rmfifo_full port

Enable rx_std_rmfifo_empty port

PCI Express* Gen 3 rate match FIFO mode

Enable TX bit slip

Enable tx_std_bitslipboundarysel port

RX word aligner mode

RX word aligner pattern length

RX word aligner pattern (hex)

Number of word alignment patterns to achieve sync

Range

8, 10, 16, 20

8, 10, 16, 20, 32, 40

8, 10, 16, 20, 32, 40

On/Off

Off (for Basic with Rate Match) low_latency register_fifo fast_register low_latency register_fifo

On/Off

On/Off

On/Off

On/Off

Disabled

Serialize x2

Serialize x4

Disabled

Deserialize x2

Deserialize x4

On/Off

On/Off

On/Off

Disabled

Basic 10-bit PMA (for Basic with Rate Match)

Basic 20-bit PMA (for Basic with Rate Match)

User-defined value

User-defined value

On/Off

On/Off

Bypass

On/Off

On/Off bitslip manual (PLD controlled) synchronous state machine

7, 8, 10, 16, 20, 32, 40

User-defined value

0-255 continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

317

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Parameter

Number of invalid data words to lose sync

Number of valid data words to decrement error count

Enable fast sync status reporting for deterministic latency SM

Enable rx_std_wa_patternalign port

Enable rx_std_wa_a1a2size port

Enable rx_std_bitslipboundarysel port

Enable rx_bitslip port

Enable TX bit reversal

Enable TX byte reversal

Enable TX polarity inversion

Enable tx_polinv port

Enable RX bit reversal

Enable rx_std_bitrev_ena port

Enable RX byte reversal

Enable rx_std_byterev_ena port

Enable RX polarity inversion

Enable rx_polinv port

Enable rx_std_signaldetect port

Enable PCIe dynamic datarate switch ports

Enable PCIe pipe_hclk_in and pipe_hclk_out ports

Enable PCIe Gen 3 analog control ports

Enable PCIe electrical idle control and status ports

Enable PCIe pipe_rx_polarity port

Table 221.

Dynamic Reconfiguration Parameters

Parameter

Enable dynamic reconfiguration

Share reconfiguration interface

Enable Altera Debug Master Endpoint

Range

On/Off

On/Off

On/Off

Table 222.

Generation Options Parameters

Parameter

Generate parameter documentation file

Related Information

Using the Arria 10 Transceiver Native PHY IP Core

on page 45

Range

On/Off

Off

Off

Off

Off

Off

On/Off

On/Off

On/Off

On/Off

On/Off

On/Off

Range

0-63

0-255

On/Off

On/Off

On/Off

On/Off

On/Off

On/Off

On/Off

On/Off

On/Off

On/Off

Intel ®

318

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.9.3. Design Considerations for Implementing Arria 10 GT Channels

This section provides information on using the Arria 10 GT transceiver channels .

GT channels can be used in Enhanced PCS basic mode and PCS-Direct configuration to support 25.8 Gbps. When GT channels are used in PCS-Direct configuration, the PCS blocks are bypassed. The serializer/deserializer in GT channels supports 64 bit and

128 bit serialization factors.

2.9.3.1. Transceiver PHY IP

Arria 10 GT transceiver channels are implemented using the Native PHY IP with the

Basic (Enhanced PCS) transceiver configuration rule.

• To support 25.8 Gbps, the Enhanced PCS must be configured in basic mode with the low latency check box unselected. To configure the Enhanced PCS, do not enable any functional blocks in the Enhanced PCS (that is, disable Block

Synchronizer, Gearbox, Scrambler, and Encoder).

• You can also use the PCS-Direct mode for 25.8 Gbps.

You can bundle several GT transceiver channels with one Native PHY IP instantiation, but you must instantiate a separate ATX PLL IP for every ATX PLL used.

2.9.3.2. PLL and GT Transceiver Channel Clock Lines

The ATX PLL is used to provide the clock source for the GT transceiver channels. Each

ATX PLL has two dedicated GT clock lines which connect the PLL directly to the GT transceiver channels within a transceiver bank. The top ATX PLL drives channels 3 and

4, and the bottom ATX PLL drives channels 0 and 1. These connections bypass the rest of the clock network for higher performance.

Intel ® Arria ® 10 Transceiver PHY User Guide

319

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 161. GT Channel Configuration

Ch 5

CGB

CDR

Ch 4

CGB

ATX PLL1

CMU or CDR

Ch 3

CGB

CDR

Ch 2

CGB

CDR

Ch 1

CGB

ATX PLL0

CMU or CDR

Ch 0

CGB

CDR

When both the channels 0 and 1 are configured as GT channels, they are driven by the same ATX PLL and have to be configured to run at the same data rates. This is also true for channels 3 and 4 when they are configured as GT channels.

Intel ®

320

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Note: • GT channel bonding is not supported.

• For optimum performance of GT channel, the reference clock of ATX PLL is recommended to be from a dedicated reference clock pin in the same bank.

Related Information

Input Reference Clock Sources on page 372

2.9.3.3. Reset Controller

Each GT channel instantiated has independent analog and digital reset ports. Refer to the Resetting Transceiver Channels chapter for more details on designing a reset controller to reset these ports.

Related Information

Resetting Transceiver Channels

on page 416

Reset controller general information and implementation details

2.9.3.4. How to Implement Designs for Data Rates Above 17.4 Gbps Using

Enhanced PCS in Low Latency Mode

• You should be familiar with the Enhanced PCS and PMA architecture, PLL architecture, and the reset controller.

• Make sure you have selected an Arria 10 GT device for the project

1. Select Tools

IP Catalog

Interface Protocols

Transceiver PHY

Arria

10 Transceiver Native PHY. Refer to Select and Instantiate the PHY IP Core on

page 33 for detailed steps.

2. Set VCCR_GXB and VCCT_GXB to 1.1V. Note these settings are overridden by the QSF file settings which should also be set to 1.1V. QII makes sure the actual voltage prescribed is in line with pin connection guidelines and the Arria10 Data

Sheet.

3. Select Basic (Enhanced PCS) from the Transceiver configuration rules list located under Datapath Options.

4. Use the parameter values in the tables in Transceiver Native PHY IP Parameters

Settings for Basic (Enhanced PCS) and Basic with KR FEC for each input of the

Arria 10 Transceiver Native PHY Parameter Editor as a starting point. Or, you can

use the protocol presets described in Transceiver Native PHY Presets

. You can then modify the settings to meet your specific requirements.

• Ensure that the data rate is set to 25781.25 Mbps. To achieve the higher data rates, use Enhanced PCS basic mode with the low latency option unchecked.

Select a CDR reference clock to match your data rate. Use Phase compensation FIFO modes.

• Make sure DFE is disabled from Rx PMA settings.

• Set the Enhanced PCS / PMA interface width to 64 bits.

• Set the FPGA fabric / Enhanced PCS interface width to 64 bits.

• You can enable RX/TX FIFO double width mode to create a FPGA fabric / PCS interface width of 128 bits.

• Click Finish to generate the Native PHY IP (this is your RTL file).

Intel ® Arria ® 10 Transceiver PHY User Guide

321

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 162. Signals and Ports of the Native PHY for Basic (Enhanced PCS) Transceiver

Configuration Rule for Data Rates Above 17.4 Gbps and FPGA Fabric / PCS

Interface width of 128 bits tx_cal_busy rx_cal_busy

NIOS

Hard Calibration IP

Reconfiguration

Registers reconfig_reset reconfig_clk reconfig_avmm tx_serial_data

TX PMA

Serializer

TX Enhanced PCS tx_digital_reset tx_control[17:0] tx_parallel_data[127:0] tx_coreclkin tx_clkout tx_enh_data_valid tx_digital_reset tx_control[17:0] tx_parallel_data[127:0] tx_coreclkin tx_clkout tx_enh_data_valid tx_serial_clk0

(from TX PLL) tx_analog_reset rx_analog_reset

RX PMA

Deserializer

RX Enhanced PCS rx_serial_data rx_cdr_refclk0 rx_is_lockedtodata rx_is_lockedtoref

CDR rx_digital_reset rx_clkout rx_coreclkin rx_parallel_data[127:0] rx_control[19:0] rx_digital_reset rx_clkout rx_coreclkin rx_parallel_data[127:0] rx_control[19:0] refclk

5. Select ToolsIP CatalogBasic FunctionsClocksPLLs and Resets

PLLArria 10 Transceiver ATX PLL. Refer to

Instantiating the ATX PLL IP Core

on page 354 for detailed steps.

6. Configure the ATX PLL IP using the Parameter Editor.

• Select the GT clock output buffer.

• Enable the PLL GT clock output port.

• Set the PLL output clock frequency to the Native PHY IP recommended frequency.

Intel ®

322

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 163. ATX PLL IP with GT Clock Lines Enabled

7. Create a transceiver reset controller. Refer to Resetting Transceiver Channels on

page 416 for more details about configuring the reset IP core.

8. Connect the Native PHY IP core to the PLL IP core and the reset controller.

The ATX PLL's port tx_serial_clk_gt

represents the dedicated GT clock lines.

Connect this port to the Native PHY IP core's tx_serial_clk0

port. The Quartus

Prime software automatically uses the dedicated GT clocks instead of the x1 clock network.

2.9.3.5. Arria 10 GT Channel Usage

All Arria 10 GT devices have a total of six GT transceiver channels to support 25.8

Gbps.

Arria 10 GT devices have three transceiver banks that support up to two GT channels.

Each channel can operate as a duplex channel, TX only, or RX only channel.

Transceiver banks GXBL1E and GXBL1H each contain two GT transceiver channels:

Ch3 and Ch4. Transceiver bank GXBL1G contains two GT transceiver channels: Ch0 and Ch1. Channels 2 and 5 on any bank can only be configured as GX transceiver channels.

Intel ® Arria ® 10 Transceiver PHY User Guide

323

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Table 223.

Valid Permutations for GT and GX Channel Configuration in Transceiver Bank

GXBL1G for Channels 0, 1, and 2

GT Transceiver Channel

Ch2

Ch1

Ch0

Configuration A

Unusable

GT

GT

Configuration B

Unusable

GT

Unusable

Configuration C

Unusable

Unusable

GT

Configuration D

GX

GX

GX

Notes on grouping channels Ch0, Ch1, and Ch2:

• If channels 0 and 1 are configured as GT channels, channel 2 is unusable

(Configuration A).

• If either channel 0 or 1 is configured as a GT channel, the remaining channels are unusable (Configurations B and C).

• If channels 0 and 1 are not configured as GT channels, this grouping can be all configured as GX channels (Configuration D).

• If either channel 0 or 1 is used as a GT channel, then the ATX PLL adjacent to channel 0 and 1 must be reserved for GT channel configurations.

Table 224.

Valid Permutations for GT and GX Channel Configuration in Transceiver Banks

GXBL1E and GXBL1H for Channels 3, 4, and 5

GT Transceiver Channel

Ch5

Ch4

Ch3

Configuration A

Unusable

GT

GT

Configuration B

Unusable

GT

Unusable

Configuration C

Unusable

Unusable

GT

Configuration D

GX

GX

GX

Notes on grouping channels Ch3, Ch4, and Ch5:

• If channels 3 and 4 are configured as GT channels, channel 5 is unusable

(Configuration A).

• If either channel 3 or 4 is configured as a GT channel, the remaining channels are unusable (Configurations B and C).

• If channels 3 and 4 are not configured as GT channels, this grouping can be all configured as GX channels (Configuration D).

• If either channel 3 or 4 is used as a GT channel, then the ATX PLL adjacent to channel 3 and 4 must be reserved for GT channel configurations.

2.9.4. How to Implement PCS Direct Transceiver Configuration Rule

You should be familiar with PCS Direct architecture, PMA architecture, PLL architecture, and the reset controller before implementing PCS Direct Transceiver

Configuration Rule.

1. Open the IP Catalog and select Arria 10 Transceiver Native PHY IP. Refer to

Select and Instantiate the PHY IP Core on page 33 for detailed steps.

2. Select PCS Direct from the Transceiver configuration rules list located under

Datapath Options.

3. Configure your Native PHY IP.

4. Click Generate to generate the Native PHY IP (this is your RTL file).

Intel ®

324

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

5. Instantiate and configure your PLL.

6. Create a transceiver reset controller. You can use your own controller or use the

Transceiver PHY Reset Controller.

7. Connect the Native PHY IP to the PLL IP and the reset controller.

Figure 164. Connection Guidelines for a PCS Direct PHY Design pll_refclk PLL IP Core clk reset pll_sel pll_locked

Reset Controller tx_ready rx_ready pll_cal_busy rx_cdr_refclk tx_serialclk0

Data

Generator tx_clkout tx_parallel_data

Data

Verifier rx_clkout rx_parallel_data

Arria 10 Transceiver Native PHY tx_serial_data rx_serial_data

8. Simulate your design to verify its functionality.

2.10. Simulating the Transceiver Native PHY IP Core

Use simulation to verify the Native PHY transceiver functionality. The Quartus Prime software supports register transfer level (RTL) and gate-level simulation in both

ModelSim - Intel FPGA Edition and third-party simulators. You run simulations using your Quartus Prime project files.

Intel ® Arria ® 10 Transceiver PHY User Guide

325

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

The following simulation flows are available:

• NativeLink—This flow simplifies simulation by allowing you to start a simulation from the Quartus Prime software. This flow automatically creates a simulation script and compiles design files, IP simulation model files, and Intel simulation library models.

Note: The Quartus Prime Pro Edition software does not support NativeLink RTL simulation

• Scripting IP Simulation—In this flow you perform the following actions:

1. Run the ip-setup-simulation utility to generate a single simulation script that compiles simulation files for all the underlying IPs in your design. This script needs to be regenerated whenever you upgrade or modify IPs in the design.

2. You create a top-level simulation script for compiling your testbench files and simulating the testbench. It sources the script generated in the first action.

You do not have to modify this script even if you upgrade or modify the IPs in your design.

• Custom Flow—This flow allows you to customize simulation for more complex requirements. You can use this flow to compile design files, IP simulation model files, and Intel simulation library models manually.

You can simulate the following netlist:

• The RTL functional netlist—This netlist provides cycle-accurate simulation using

Verilog HDL, SystemVerilog, and VHDL design source code. Intel and third-party

EDA vendors provide the simulation models.

Prerequisites to Simulation

Before you can simulate your design, you must have successfully passed Quartus

Prime Analysis and Synthesis.

Related Information

Simulating Intel FPGA Designs

2.10.1. NativeLink Simulation Flow

The NativeLink settings available in the Quartus Prime software allow you to specify your simulation environment, simulation scripts, and testbenches. The Quartus Prime software saves these settings in your project. After you specify the NativeLink settings, you can start simulations easily from the Quartus Prime software.

2.10.1.1. How to Use NativeLink to Specify a ModelSim Simulation

Complete the following steps to specify the directory path and testbench settings for your simulator:

1. On the Tools menu, click Options, and then click EDA Tool Options.

2. Browse to the directory for your simulator. The following table lists the directories for supported simulators:

Table 225.

Simulator Path

Simulator

Mentor Graphics* ModelSim - Intel FPGA Edition

Path

<drive>:\<simulator install path>\win32aloem (Windows)

Intel ®

326

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Simulator Path

/<simulator install path>/bin (Linux*)

3. On the Assignments menu, click Settings.

4. In the Category list, under EDA Tool Settings select Simulation.

5. In the Tool name list, select your simulator.

Note: ModelSim refers to ModelSim SE and PE. These simulators use the same commands as QuestaSim.ModelSim - Intel FPGA Edition refers to ModelSim - Intel

FPGA Edition Starter Edition and ModelSim - Intel FPGA Edition Subscription

Edition.

6. In the Output directory, browse to the directory for your output files.

7. To map illegal HDL characters, turn on Map illegal HDL characters.

8. To filter netlist glitches , turn on Enable glitch filtering.

9. Complete the following steps to specify additional options for NativeLink automation: a. Turn on Compile test bench.

b. Click Test Benches.

The Test Benches dialog box appears.

c. Click New.

d. Under Create new test bench settings, for Test bench name type the test bench name. For Top level module in the test bench, type the top-level module name. These names should match the actual test bench module names.

e. Select Use test bench to perform VHDL timing simulation and specify the name of your design instance under Design instance name in test bench.

f.

Under the Simulation period, turn on Run simulation until all vector

stimuli are used.

g. Under Test bench and simulation files, select your test bench file from your folder. Click Add.

h. Click OK.

Intel ® Arria ® 10 Transceiver PHY User Guide

327

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.10.1.2. How to Use NativeLink to Run a ModelSim RTL Simulation

Figure 165. NativeLink Simulation Flow Diagram

Specify EDA Simulator &

Simulator Directory

Run RTL Functional or

Gate-Level Simulation

Does

Simulation Give

Expected Results?

No

Debug Design &

Make RTL Changes

Yes

Run Quartus Prime

Analysis and Elaboration

Define Control Signals Using

In-System Sources & Probes

Run Simulation

No

Does

Simulation Give

Expected Results?

Yes

Simulation Complete

Intel ®

328

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Complete the following steps to run an RTL functional simulation:

1. Open your Quartus Prime project.

2. On the Tools menu, select Run Simulation Tool, then select RTL Simulation or

Gate Level Simulation.

3. Run Quartus Prime Analysis and Elaboration and re-instantiate control signals that you defined using the In-System Sources and Probe Editor. The In-System Sources and Probe Editor can only access the pins of the device. Consequently, you must route any signal that you want to observe to the top-level of your design.

4. To monitor additional signals, highlight the desired instances or nodes in

Instance, and right-click Add wave.

5. Select Simulate and then Run.

6. Specify the simulation duration.

7. Complete the following steps to restart the simulation: a. On the Simulate menu, select restart, then click ok.

This action clears the existing waves.

b. Highlight run and select the appropriate options to run the simulation.

Related Information

Simulating the Transceiver Native PHY IP Core on page 325

2.10.1.3. How to Use NativeLink to Specify Third-Party RTL Simulators

The following figure illustrates the high-level steps for using the NativeLink with Third-

Party EDA RTL simulator.

Intel ® Arria ® 10 Transceiver PHY User Guide

329

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 166. Using NativeLink with Third-Party Simulators

Specify EDA Simulator &

Simulator Directory

Perform

Functional Simulation

Does

Simulation Give

Expected Results?

No

Debug Design &

Make RTL Changes

Yes

Run Quartus Prime

Analysis and Elaboration

Start Simulator, Compile

Design and Testbench

Load Design &

Run Simulation

No

Does

Simulation Give

Expected Results?

Yes

Simulation Complete

Complete the following steps to specify the directory path and testbench settings for your simulator:

1. On the Tools menu, click Options, and then click EDA Tool Options.

2. Browse to the directory for your simulator. The following table lists the directories for supported third-party simulators:

Table 226.

Simulator Path

Simulator

Mentor Graphics ModelSim

Mentor Graphics QuestaSim*

Synopsys VCS/VCS MX

Cadence Incisive Enterprise

Aldec Active-HDL

Aldec Riviera-Pro

Path

<drive>:\<simulator install path>\win32 (Windows)

/<simulator install path>/bin (Linux)

/<simulator install path>/bin (Linux)

/<simulator install path>/tools/bin (Linux)

<drive>:\<simulator install path>\bin (Windows)

/<simulator install path>/bin (Linux)

3. On Assignments menu, click Settings.

Intel ®

330

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

4. In the Category list, under EDA Tool Settings, select Simulation.

5. In the Tool name list, select your simulator.

6. To enable your simulator, on the Tools menu, click Options and then click

License Setup . Make necessary changes for EDA tool licenses.

7. Compile your design and testbench files.

8. Load the design and run the simulation in the EDA tool.

To learn more about third-party simulators, click on the appropriate link below.

Related Information

• Mentor Graphics ModelSim and QuestaSim Support

• Synopsys VCS and VCS MX Support

• Cadence Incisive Enterprise Simulator Support

• Aldec Active-HDL and Riviera-Pro Support

2.10.2. Scripting IP Simulation

The Intel Quartus Prime software supports the use of scripts to automate simulation processing in your preferred simulation environment. You can use your preferred scripting methodology to control simulation.

Intel recommends the use of a version-independent top-level simulation script to control design, testbench, and IP core simulation. Because Quartus Prime-generated simulation file names may change.

You can use the ip-setup simulation utility to generate or regenerate underlying setup scripts after any software or IP version upgrade or regeneration. Use of a top-level script and ip-setup-simulation eliminates the requirement to manually update simulation scripts.

2.10.2.1. Generating a Combined Simulator Setup Script

Platform Designer (Standard) system generation creates the interconnect between components. It also generates files for synthesis and simulation, including the .spd files necessary for the ip-setup-simulation utility.

The Intel Quartus Prime software provides utilities to help you generate and update IP simulation scripts. You can use the ip-setup-simulation utility to generate a combined simulator setup script, for all Intel FPGA IP in your design, for each supported simulator. You can subsequently rerun ip-setup-simulation to automatically update the combined script. Each simulator's combined script file contains a rudimentary template that you can adapt for integration of the setup script into a top-level simulation script.

Related Information

Intel Quartus Prime Standard Edition Handbook Volume 3: Verification

Provides more information about the steps to generate top-level simulation script.

Intel ® Arria ® 10 Transceiver PHY User Guide

331

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

2.10.3. Custom Simulation Flow

The custom simulation flow allows you to customize the simulation process for more complex simulation requirements. This flow allows you to control the following aspects of your design:

• Component binding

• Compilation order

• Run commands

• IP cores

• Simulation library model files

The following figure illustrates the steps for custom flow simulation. If you use a simulation script, you can automate some of the steps.

Intel ®

332

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Figure 167. Custom flow Simulation

Compile Sim Model Libs

Using Sim Lib Compiler

Start Simulator & Open

Quartus Prime Project

Compile Design, Testbench,

& Simulation Libraries

Load Design

& Run Simulation

Does

Simulation Give

Expected Results?

No

Debug Design &

Make RTL Changes

Yes

Compile Design, Testbench,

& Simulation Libraries

Load Design &

Run Simulation

No

Does

Simulation Give

Expected Results?

Yes

Simulation Complete

2.10.3.1. How to Use the Simulation Library Compiler

The Simulation Library Compiler compiles Intel simulation libraries for supported simulation tools, and saves the simulation files in the output directory you specify.

Intel ® Arria ® 10 Transceiver PHY User Guide

333

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Note: Because the ModelSim - Intel FPGA Edition software provides precompiled simulation libraries, you do not have to compile simulation libraries if you are using the software.

Complete the following steps to compile the simulation model libraries using the

Simulation Library Compiler:

1. On the Tools menu, click Launch Simulation Library Compiler.

2. Under EDA simulation tool, for the Tool name, select your simulation tool.

3. Under Executable location, browse to the location of the simulation tool you specified. You must specify this location before you can run the EDA Simulation

Library Compiler.

4. Under Library families, select one or more family names and move them to the

Selected families list.

5. Under Library language, select Verilog, VHDL, or both.

6. In the Output directory field, specify a location to store the compiled libraries.

7. Click Start Compilation.

Complete the following steps to add the simulation files to your project:

1. On the Assignments menu, click Settings.

2. In the Category list, select Files.

3. Click Browse to open the Select File dialog box and select one or more files in the Files list to add to your project.

4. Click Open, and then Add to add the selected file(s) to your project.

5. Click OK to close the Settings dialog box.

Related Information

• Preparing for EDA Simulation

• Intel FPGA Simulation Models

2.10.3.2. Custom Simulation Scripts

You can automate simulations by creating customized scripts. You can generate scripts manually. In addition, you can use NativeLink to generate a simulation script as a template and then make the necessary changes. The following table shows a list of script directories NativeLink generates.

Table 227.

Custom Simulation Scripts for Third Party RTL Simulation

Simulator

Mentor Graphics

ModelSim or

QuestaSim

Aldec Riviera Pro

Simulation File

/simulation/ modelsim/ modelsim_setup.do

Or mentor/msim_setup.tcl

/simulation/ aldec/ rivierapro_setup.tcl

Use

Source directly with your simulator. Run do msim_setup.tcl

, followed by ld_debug

. If you have more than one IP, each IP has a dedicated msim_setup.tcl

all the files included in the

file. Make sure that you combine msim_setup.tcl

files into one common msim_setup.tcl

file.

Source directly with your simulator

.

continued...

Intel ®

334

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Simulator

Synopsys VCS

Cadence Incisive

(NCSim)

Simulation File

/simulation/synopsys/vcs/ vcs_setup.sh

Synopsys VCS MX /simulation/synopsys/ vcsmx/vcsmx_setup.sh

/simulation/cadence/ ncsim_setup.sh

Use

Add your testbench file name to this file to pass the testbench file to VCS using the

–file

option. If you specify a testbench file for

NativeLink and do not choose to simulate, NativeLink generates a script that runs VCS.

Run this script at the command line using quartus_sh–t

<script>

. Any testbench you specify with NativeLink is included in this script.

Run this script at the command line using this script.

quartus_sh –t

<script>. Any testbench you specify with NativeLink is included in

2.11. Implementing Protocols in Intel Arria 10 Transceivers

Revision History

Changes Document

Version

2018.06.15

2017.11.06

2016.10.31

Made the following changes:

• For the 1G/2.5G/5G/10G Multi-rate Ethernet status signal, added a Clock Domain column and values for all except led_char_err.

• Changed the Gen1 PIPE PLL output frequency from 1250MHz to 2500MHz in fPLL IP Parameter Core

Settings for PIPE and ATX PLL IP Parameter Core Settings for PIPE.

• Updated Disabling/Enabling PRBS Pattern Inversion to address the hard PRBS generator and checker pattern being inverted.

• Updated the description of 0x4C0 bit 5 Override AN Parameters Enable to refer to 0x4C3 and changed the start address of the reserved space to 0x4D7 in 10GBASE-KR PHY Register Definitions.

• Changed the start address of the reserved space to 0x4D7 in 1G/10GbE Register Definitions.

• Added a frequency to the description of and added a footnote to the Selected CDR reference

clock frequency parameter in the "RX PMA Parameters" table.

• Added a note about bit slipping after the "Gearbox Parameters" table.

• Added a reference and a link to Clock and Reset Interfaces in the "1-Gigabit/10-Gigabit Ethernet

(GbE) PHY IP Core" section.

• Clarified the description of the Enable PCIe pipe_hclk_in and pipe_hclk_out ports parameter in the "PCIe Ports" table.

• Clarified the description of the pipe_hclk_out[0]

Native PHY in PIPE Mode" table.

port in the "Ports for Arria 10 Transceiver

• Changed the values for the Number of fixed dfe taps parameter in the "RX PMA Parameters" table of the Interlaken section.

• Changed the description of bit 15 of register address 0x4D0 in the "1G/10GbE Register Definitions" table.

• Changed the description of bit 5 of register address 0x4C0 in the "1G/10GbE Register Definitions" table.

Made the following changes to the CPRI section:

• Removed a note from the "Transmitter and Receiver Latency" section.

Made the following changes to the 1G/2.5G/5G/10G Multi-rate Ethernet PHY IP Core section:

• Added the "Register Map" section.

Made the following changes to the 1G/10 Gbps Ethernet PHY IP Core section:

• Added MII Interface signals to the "1G/10GbE PHY Top-Level Signals" figure.

• Added the MII section.

• Added the tx_pcfifo_error_1g

Signals" table.

and rx_pcfifo_error_1g

signals to the "Control and Status

• Removed bit addresses from the 0x494 register in the "GMII PCS Registers" table.

• Changed the read/write description for the 0x495 register in the "GMII PCS Registers" table.

• Changed the note for

COPPER_DUPLEX_OPERATION

in the "GMII PCS Registers" table.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

335

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Document

Version

2016.05.02

Changes

Made the following changes to the Gigabit Ethernet (GbE) and GbE with IEEE 1588v2 section:

• Added description about the RX FIFO and TX FIFO in the "GbE with IEEE 1588v2" section.

• Added a note to the pll_powerdown

1588v2 PHY Design" figure.

signal in the "Connection Guidelines for a GbE/GbE with IEEE

• Updated the parameter descriptions for in the "Standard PCS Parameters" table.

Made the following changes to the XAUI PHY IP Core section:

• Added further description to the rx_channelaligned

Signals—Soft IP Implementation" table.

signal in the "Optional Control and Status

Made the following changes to the Using the Arria 10 Transceiver Native PHY IP Core section:

• Added "Synchronous to rx_clkout

" for rx_std_wa_patternalign[<n>-1:0] domain column in Word Aligner and Bitslip table.

in the clock

• Added "Unused Transceiver Channels" section.

Made the following changes to the CPRI section:

• New table "Interface Width Options for 10.1376 Gbps and 12.16512 Gbps Data Rates" added.

• Supported data rates updated for TX PLLs.

• Data rate values updated in table "General and Datapath Options".

Made the following changes to the PCI Express section:

• Added PIPE Interface width number in the Port column in table "Ports for Arria 10 Transceiver

Native PHY in PIPE Mode".

Made the following changes to the 10GBASE-KR PHY IP Core section:

• Updated the version and release date in the "10GBASE-KR PHY Release Information" table.

• Changed the definitions and parameters in the "General Options Parameters" table.

• Added the "Speed Detection Parameters" table.

• Added and removed parameters in the "Auto Negotiation and Link Training Settings" table.

• Removed parameter from the "10GBASE-R Parameters" table.

• Changed descriptions in the "10GBASE-KR Register Definitions" table for 0x4B0 and 0x4D0.

• Added signals to the "Control and Status Signals" table.

• Added a new bit field for 0x4D1 in the "10GBASE-KR Register Definitions" table.

• Changed the default value for INITPOSTVAL Init Post tap Value in the "10GBASE-KR Optional

Parameters" table.

Made the following changes to the 1G/2.5G/5G/10G Multi-rate Ethernet PHY IP Core section:

• Changed the "Block Diagram of the PHY IP Core" figure.

• Updated the version and release date in the "PHY Release Information" table.

• Updated the "Resource Utilization" table.

• Updated the "PHY Features" table.

• Changed the "1G/2.5G/5G/10G Multi-rate Ethernet PHY IP Core Parameters" table.

• Added signals to the "PHY Interface Signals" figure.

• Added descriptions in the "Clock and Reset Signals" table.

• Added descriptions in the "Transceiver Mode and Operating Speed Signals" table.

• Changed the "Avalon-MM Interface Signals" table.

• Added signals to the "XGMII Signals" table.

• Added registers to the "PHY Register Definitions" table.

• Added parameters to the "1G/2.5G/5G/10G Multi-rate Ethernet PHY IP Core Parameters" table.

Made the following changes to the 1-Gigabit/10-Gigabit Ethernet (GbE) PHY IP Core section:

• Updated the version and release date in the "1G/10GbE Release Information" table.

• Added signals to the "1G/10GbE PHY Top-Level Signals" figure.

• Added signals to the "PHY Interface Signals" figure.

• Added signals to the "Control and Status Signals" table.

• Changed descriptions in the "GMII Interface Ports " table.

continued...

Intel ®

336

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Document

Version

2016.02.11

2015.12.18

Changes

Made the following changes to the Simulating the Transceiver Native PHY IP section:

• Added a footnote to inform that the "NativeLink" mode is not supported by the "Quartus Prime Pro" edition.

• Added the “Scripting IP Simulation” flow..

• Replaced the “Generation Version Agnostic IP" and "Platform DesignerPlatform Designer Simulation

Scripts", “Use the ip-make-simscript Utility”, and “How to Generate Scripts” sections with the

“Scripting IP Simulation” section.

Made the following changes to the PCI Express section:

• Updated the "How to Place Channels for PIPE Configuration" section.

• Updated the“x4 Configuration with Master Channel Adjacent to a HIP”, “x4 Configuration with

Master Channel not Adjacent to a HIP”, “Rate Switch Change” figures.

Made the following changes to the Other Protocols section:

• Replaced the "Design Considerations for Data Rates above 17.4 Gbps Using Arria 10 GT Channels” section.

• Changed the title from "Design Considerations for Data Rates above 17.4 Gbps Using Arria 10 GT

Channels” to "Design Considerations for implementing Arria 10 GT Channels”.

• Changed the data rate from a range of “17.4 Gbps to 28.3 Gbps” to 25.78125 Gbps.

• Changed the titles of “Valid Permutations for GT and GX Channel Configuration in Transceiver Bank

GXBL1G for Channels 0, 1, and 2” and “Valid Permutations for GT and GX Channel Configuration in

Transceiver Banks GXBL1E and GXBL1H for Channels 3, 4, and 5".

• Removed the “Native PHY IP Parameter Settings for PCS Direct Transceiver Configuration Rules” section.

• Changed “How to Implement Designs for Data Rates Above 17.4 Gbps Using Enhanced PCS in Low

Latency Mode” section.

• Changed the “ATX PLL IP with GT Clock Lines Enabled” figure.

• Updated the "Valid Permutations for GT and GX Channel Configuration in Transceiver Bank GXBL1G for Channels 0, 1, and 2" and "Valid Permutations for GT and GX Channel Configuration in

Transceiver Banks GXBL1E, and GXBL1H for Channels 3, 4, and 5"" tables.

Made the following changes to the CPRI section:

• Updated the "Transceiver Channel Datapath and Clocking for CPRI" figure.

• Added a note in the "Channel Width Options for Supported Serial Data Rates" table.

• Changed the fPLL supported data rate in the "TX PLL Supported Data Rates" table.

• Changed the "General and Datapath Options" table in the "Native PHY IP Parameter Settings for

CPRI" section.

Made the following changes to the Arria 10 Transceiver Protocols and PHY IP Support section:

• Moved the 19th footnote from "Protocol Preset" column to "Transceiver PHY IP Core" column.

• Changed the footnote 14 to the following: “Link training, auto speed negotiation and sequencer functions are not included in the Native PHY IP. The user would have to create soft logic to implement these functions when using Native PHY IP”.

Made the following changes to the Other Protocols section:

• Removed the "Design Considerations for Data Rates Above 17.4 Gbps Using Arria 10 GT Channels" section.

• Updated the maximum data rate for GT channels to 25.8 Gbps.

Made the following changes to the 1G/2.5G/10G Multi-rate Ethernet PHY IP Core section:

• Removed signals from the "XGMII Signals" table.

• Removed signals from the "PHY Interface Signals" figure.

• Changed the ordering code in the "PHY Release Information" table.

Made the following changes to the XAUI PHY IP Core section:

• Added a description to the "Implementation of the XGMII Specification in Arria 10 Devices

Configuration" figure.

Made the following changes to the 10GBASE-KR PHY IP with FEC Option section:

• Added a note to the "Parameterizing the 10GBASE-KR PHY" section.

• Added new signals to the "Control and Status Signals" table.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

337

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Document

Version

2015.11.02

Changes

Made the following changes to the 1G/10 Gbps Ethernet PHY IP Core section:

• Added a note to the "Parameterizing the 1G/10GbE PHY" section.

• Added new signals to the "Control and Status Signals" table.

• Changed the description for calc_clk_1g in the "Clock and Reset Signals" table.

Made the following changes to the PCI Express (PIPE) section:

• Updated the "Rate Switch Change" figure in the Gen3 features section.

Made the following changes to the Using the Arria 10 Transceiver Native PHY IP Core section:

• Changed the title of “TX and RX FIFO” to “Standard PCS FIFO” in the Standard PCS Ports table.

• Updated the description and range for “Enable fast sync status reporting for deterministic Latency

SM” parameter in the Standard PCS Parameters table.

• Changed the title of “TX and RX FIFO Parameters” to “Standard PCS FIFO Parameters” in the

Standard PCS Parameters table.

• Updated the “Error marking type” range in the KR-FEC Parameters table in the Enhanced PCS

Parameters section.

• Updated the “Number of fixed DFE taps” value in the Equalization table in the PMA Parameters section.

• Added a new parameter “Provide separate interface for each channel” in the General and Datapath

Options table in the General and Datapath Parameters section.

• Updated the “PMA configuration rules” value in the General and Datapath Options table in the

General and Datapath Parameters section.

• Removed footnote and added "Hard IP for PCI Express to Native PHY IP" in the “Arria 10 Transceiver

Protocols and PHY IP Support” table.

• Updated the description for “Enable tx_pma_ rxfound port (QPI)” parameter in the TX PMA Optional

Ports table in the PMA Parameters section.

• Updated the descriptions for “TX FIFO Mode”,“Enable tx_enh_fifo_full port”, “Enable tx_enh_fifo_empty port” parameters in the Enhanced PCS TX FIFO Parameters table in the

Enhanced PCS Parameters section.

• Updated the descriptions for “Enable rx_enh_fifo_full port”, “Enable rx_enh_fifo_empty port” parameters in the Enhanced PCS RX FIFO Parameters table in the Enhanced PCS Parameters section.

• Updated the description for “Enable RX byte deserializer” parameter in the Byte Serializer and

Deserializer Parameters table in the Standard PCS Parameters section.

• Updated the description for “Share reconfiguration interface” parameter in the Dynamic

Reconfiguration table in the Dynamic Reconfiguration Parameters section.

• Updated the values and descriptions in the Configuration Profiles table in the Dynamic

Reconfiguration Parameters section.

• Updated the foot note for “tx_pma_clkout” clock to suggest what to do with the clock.

• Updated the description for “tx_dispval[<n>(<w>/<s>-1:0]” signal in the 8B/10B Encoder and

Decoder table in the Standard PCS Ports section.

• Updated the values and descriptions in the Configuration Profiles table in the Dynamic

Reconfiguration Parameters section.

• Updated the descriptions for “Enable tx_std_ pcfifo_full port”, “Enable tx_std_ pcfifo_empty port”,

“Enable rx_std_ pcfifo_full port”, “Enable rx_std_ pcfifo_empty port” in the TX and RX FIFO

Parameters table in the Standard PCS Parameters section.

• Added links to other sections which describe the RX rate match FIFO in Basic, GBE and Transceiver channel datapath modes in the Rate Match FIFO Parameters table in the Standard PCS Parameters section.

• Updated value for Transceiver Configuration rules parameter in the " General and Datapath Options" table in the General and Datapath Parameters section.

• Added a new parameter "Provide separate interface for each channel" in the " General and Datapath

Options" table in the General and Datapath Parameters section.

• Updated “Transceiver Native PHY IP Core Parameter Editor” figure.

• Updated “General, Common PMA Options, and Datapath Options” table.

• Added parameter “Enable tx_pma_analog_reset_ackport” in “TX PMA Optional Ports” table.

• Updated parameter “Number of fixed DFE taps” in "Equalization" table.

• Added parameter “Enable rx_analog_reset_ack port” in "RX PMA Optional Ports” table.

continued...

Intel ®

338

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Document

Version

Changes

• Added parameter “Separate reconfig_waitrequest from the status of AVMM arbitration with PreSICE” in “Dynamic Reconfiguration” table.

• Added parameter “Include PMA analog settings in configuration Files”in “Configuration Files”.

• Added “Analog PMA Settings (Optional) in Dynamic Reconfiguration” tabl.e

Made the following changes to the 1G/10 Gbps Ethernet PHY IP Core section:

• Changed the release date and version in the "1G/10GbE Release Information" table.

• Changed the descriptions for

Reset Signals" table.

tx_serial_clk_1g

and rx_cdr_refclk_1g

in the "Clock and

• Changed descriptions in the "General Options Parameters" table.

• Added the "1G Data Mode" table to the PMA Registers section.

• Removed the "1G Data Mode" rows from the Arria 10 GMII PCS Registers section.

Made the following changes to the 10GBASE-KR PHY IP Core with FEC Option section:

• Added bit 12 to the 0x4B0 word address in the "10GBASE-KR Register Definitions" table.

Made the following changes to the Gigabit Ethernet (GbE) and GbE with IEEE 1588v2 section:

• Added a note to the "Transceiver Channel Datapath and Clocking at 1250 Mbps for GbE, GbE with

IEEE 1588v2" figure.

• Changed the note in the "Gigabit Ethernet (GbE) and GbE with IEEE 1588v2" section.

• Changed some signal names in the "Signals and Ports for Native PHY IP Configured for GbE or GbE with IEEE 1588v2" figure.

• Changed the values in the "TX PMA Parameters" table.

• Added a parameter to and updated values in the "RX PMA Parameters" table.

• Changed the values in the "Standard PCS Parameters" table.

Made the following changes to the 10GBASE-R section:

• Added description text to the "10GBASE-R, 10GBASE-R with IEEE 1588v2, and 10GBASE-R with

FEC Variants" section.

• Changed steps in the "How to Implement 10GBASE-R, 10GBASE-R with IEEE 1588v2, and

10GBASE-R with FEC in Arria 10 Transceivers" section.

• Changed signal names in the "Signals and Ports of Native PHY IP Core for the 10GBASE-R,

10GBASE-R with IEEE 1588v2, and 10GBASE-R with FEC" figure.

• Updated parameters in the "General and Datapath Parameters" table.

• Updated parameters in the "RX PMA Parameters" table.

• Updated parameters in the "Enhanced PCS Parameters" table.

• Updated parameters in the "Block Sync Parameters" table.

• Updated parameters in the "Dynamic Reconfiguration Parameters" table.

Made the following changes to the XAUI PHY IP Core section:

• Changed the release date and version in the "XAUI Release Information" table.

• Changed the descriptions in the "XAUI PHY IP Core Registers" table.

• Added description in the "XAUI PHY IP Core" section.

Made the following changes to the 1G/2.5G/10G Multi-rate Ethernet PHY IP Core section:

• Added this section.

Made the following changes to the PCI Express (PIPE) section:

• Updated description for port "pipe_g3_txdeemph[17:0]" in the "Ports for Arria 10 Transceiver

Native PHY in PIPE Mode" table.

• Updated "Ports for Arria 10 Transceiver Native PHY in PIPE Mode" table for presets to TX Deemphasis mappings.

• Updated x4 Configuration and x4 Alternate Configuration figures in the "Master Channel in Bonded

Configurations section".

• Updated "PHY IP Core for PCIe (PIPE) Link Equalization for Gen3 Data Rate" section.

• Updated “Connection Guidelines for a PIPE Gen3 Design” figure.

• Added recommendations in the “How to Implement PCI Express (PIPE) in Arria 10 Transceivers” section.

• Updated description of parameter “PCS TX channel bonding master” in the “Parameters for Arria 10

Native PHY IP in PIPE Gen1, Gen2, Gen3 Modes - TX PMA” table.

• Added table “Parameter Settings for Arria 10 fPLL IP in PIPE Gen1, Gen2, Gen3 modes” in the “fPLL

IP Parameter Settings for PIPE” section.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

339

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Document

Version

2015.05.11

Changes

• Added table “Parameters for Arria 10 ATX PLL IP in PIPE Gen1, Gen2, Gen3 modes” in the “ATX PLL

IP Parameter Settings for PIPE” section.

• Updated description of port pipe_tx_elecidle in the “Ports for Arria 10 Transceiver Native PHY in

PIPE Mode” table.

• Updated description of port pipe_tx_compliance in the “Ports for Arria 10 Transceiver Native PHY in

PIPE Mode” table.

• Updated description of port pipe_g3_txdeemph[17:0] in the “Ports for Arria 10 Transceiver Native

PHY in PIPE Mode” table.

• Added table “fPLL Ports for PIPE” in the section “fPLL Ports for PIPE” section.

• Added table” ATX PLL Ports for PIPE “ in the “ATX PLL Ports for PIPE” section.

• Added table “Arria 10 Preset Mappings to TX De-emphasis” in the “Preset Mappings to TX Deemphasis” section.

• Updated figure “Alternate Configuration” figure in the “How to Place Channels for PIPE

Configurations” section.

• Updated the “PHY IP Core for PCIe (PIPE) Link Equalization for Gen3 Data Rate” section.

Made the following changes to the Other Protocols section:

• Added the "Enhanced PCS FIFO Operation" section.

• Changed the minimum data rate from 960 Mbps to 1.0 Gbps in the "General and Datapath

Parameters" table.

Made the following changes to the 10GBASE-KR PHY IP Core section:

• Changed the register definitions for word address 0x4D0 in the "10GBASE-KR PHY Register

Definitions" section.

Made the following changes to the 10GBASE-R section:

• Added a parameter to the "RX PMA Parameters" table.

Made the following changes to the 10GBASE-KR PHY IP Core section:

• Changed the following bits and descriptions in the "10GBASE-KR PHY Register Definitions" section:

— Changed the bit and description for address 0x4D0[21:20].

— Added address 0x4D0[22].

— Removed address 0x4D0[26:24].

— Added address 0x4D0[28:24].

— Removed addresses 0x4D0[27] and 0x4D0[28].

Made the following changes to the Interlaken section:

• Added available preset variations to the "Interlaken" and "How to Implement Interlaken in Arria 10

Transceivers" sections.

• Updated the values for some parameters in the "TX PMA Parameters", "RX PMA Parameters",

"Enhanced PCS Parameters", "Interlaken Frame Generator Parameters", and "Interlaken Frame

Synchronizer Parameters" tables.

Made the following changes to the 1G/10 Gbps Ethernet PHY IP Core section:

• Changed the product ID in the "1G/10GbE Release Information" table.

• Changed the descriptions in the "Clock and Reset Signals" table.

• Removed the following bits from address 0x4D0 in the "Register Definitions" table:

— 19:18

— 26:24

— 27

Made the following changes to the PCI Express section:

• Updated the "Transceiver Channel Datapath for PIPE Gen1/Gen2 Configurations", "PIPE Gen1/Gen2/

Gen3 Configurations", "PCIe Reverse Parallel Loopback Mode Datapath", and "Signals and Ports of

Native PHY IP for PIPE" figures.

• Updated "Rate Switch" Gen3 features.

• Updated the "Enable simplified interface" and "Provide separate interface for each channel" parameters in the "Parameters for Arria 10 Native PHY IP in PIPE Gen1, Gen2, Gen3 Modes" table.

• Updated the "PCS TX channel; bonding master" parameters in the table "Parameters for Arria 10

Native PHY IP in PIPE Gen1, Gen2, Gen3 Modes - TX PMA" table.

• Updated the "Selected CDR reference clock frequency" parameter in the "Parameters for Arria 10

Native PHY IP in PIPE Gen1, Gen2, Gen3 Modes - RX PMA" table.

• Updated "How to place channels for PIPE configurations" section to include placement guidelines for using Arria 10 PCIe Hard IP.

continued...

Intel ®

340

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Document

Version

2014.12.15

Changes

Made the following changes to the CPRI section:

• Updated the "Connection Guidelines for a CPRI PHY Design" figure.

• Added table for the "Behavior of word aligner status signals for varying interface widths", when in

Manual Mode.

Made the following changes to the Other Protocols section:

• Updated the "Connection Guidelines for a PCS Direct PHY Design" figure.

• Updated the "Connection Guidelines for an Enhanced PCS in Low Latency Mode Design" figure.

• Updated the description following the "Rate Match FIFO Insertion with Four Skip Patterns Required for Insertion" figure.

• Added a Note to the "TX Bit Slip" section.

• Changed the value for rx_parallel_data in the "TX Bit Slip in 8-bit Mode" and "TX Bit Slip in 16-bit

Mode" figures.

Made the following changes to the XAUI PHY IP Core section:

• Removed the section.

set_max_skew

constraint from the "XAUI PHY Timing Analyzer SDC Constraints"

Made the following changes to the Using the Arria 10 Transceiver Native PHY IP Core section:

• Updated the figure for Transceiver Native PHY IP Core Parameter Editor.

• PMA parameters

— Updated the PMA parameter categorization in the TX PMA and RX PMA "Equalization" section.

— Added parameters

Enable tx_pma_iqtxrx_clkout port

and

Enable tx_seriallpbken port

in "TX PMA Optional Ports" table.

— Added parameters

Enable rx_pma_iqtxrx_clkout port

in "RX PMA Optional Ports" table.

— Updated "RX PMA Parameters" table into "RX CDR Options" and "Equalization" sections.

— Removed the option ports table.

Enable rx_pma_div_clkout division

factor from RX PMA optional

— Updated the description of "CTLE Adaptation Mode" and "DFE Adaptation Mode" in "RX PMA" parameter table.

— Updated value and description for parameter

Enable tx_pma_clkout port

and

Enable tx_pma_div_clkout port

in "TX Bonding Options" table.

— Updated value and description for parameter

Enable rx_pma_clkout port

and

Enable rx_pma_div_clkout port

in "RX PMA Optional Ports" table.

Made the following changes to the Using the Arria 10 Transceiver Native PHY IP Core section:

• Updated the description of tx_cal_busy

and rx_cal_busy

signals in the PMA Ports section.

• Added a new section Enhanced PCS TX and RX Control Ports to better describe the tx_control and rx_control

bit encodings used for different protocols. Removed the bit encodings for tx_control

and rx_control

signals from Enhanced PCS Ports section.

• Updated the clock domain information about signals mentioned in

Enhanced PCS Ports

section.

• Updated the description of rx_std_wa_patternalign

signal in Standard PCS Ports section.

• Updated the parameter descriptions in General Datapath Parameters and PMA Parameters sections.

• Updated the port descriptions in PMA Ports section.

Made the following changes to the Interlaken section:

• Added another value to the "TX channel bonding mode" parameter in the "TX PMA Parameters" table.

• Added values to the "PCS TX channel bonding master" and "Actual PCS TX channel bonding master" parameters in the "TX PMA Parameters" table.

• Corrected the values to the "CTLE adaptation mode" parameter in the "RX PMA Parameters" table.

• Added the "Enable Interlaken TX random disparity bit" parameter to the "Interlaken Disparity

Generator and Checker Parameters" table.

• Changed the values to four parameters to "Off" in the "Gearbox Parameters" table.

• Removed the "Enable embedded debug" parameter from the "Dynamic Reconfiguration Parameters" table.

Made the following changes to the Gigabit Ethernet (GbE) and GvE with IEEE 1588v2 section:

• Added a figure description to the "Signals and Ports for Native PHY IP Configured for GbE or GbE with IEEE 1588v2" figure.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

341

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Document

Version

Changes

Made the following changes to the 10GBASE-R section:

• Added a figure description to the "Signals and Ports of Native PHY IP Core for the 10GBASE-R,

10GBASE-R with IEEE 1588v2, and 10GBASE-R with FEC" figure.

Made the following changes to the 10GBASE-KR PHY IP with FEC Option section:

• Changed the "10GBASE-KR PHY IP Core Block Diagram" figure to activate the Standard TX PCS,

Standard RX PCS, and GbE PCS blocks.

• Added a note to the "10GBASE-KR Functional Description" section.

• Added new parameters to the "General Options" table.

• Changed the default values for VPOSTRULE, VPRERULE, INITPOSTVAL, and INITPREVAL in the

"Optional Parameters" table.

• "10GBASE-KR PHY Register Definitions" table:

— Changed the default value for register address 0x4D0[7:4]

— Changed the default value for register address 0x4D0[17].

— Changed the descriptions for register address 0x4B2.

— Changed the descriptions for register addresses 0x4D5 and 0x4D6.

• Changed the descriptions for the following signals in the in the "Clock and Reset Signals" table.

— tx_pma_clkout

— rx_pma_clkout tx_pma_div_clkout

— rx_pma_div_clkout

• Changed the descriptions for the following signals in the in the "XGMII Signals" table.

— xgmii_tx_clk

— xgmii_rx_clk

• Removed the 1588 Soft FIFOs block from the "PHY-Only Design Example with Two Backplane

Ethernet and Two Line-Side (1G/10G) Ethernet Channels" figure

Made the following changes to the 1G/10 Gbps Ethernet PHY IP Core section:

• Changed the descriptions for register address 0x4D5 in the "1G/10GbE Register Definitions" table.

• Removed the Daisy Chain and μP I/F lines from the Link Training block in the "1G/10GbE PHY Block

Diagram" figure.

• Changed the descriptions for 0x494 and 0x495, and added 0x4a4 bit 4 to the "GMII PCS Registers" section.

Made the following changes to the XAUI section:

• Added a PMA width requirement in the "Transceiver Clocking and Channel Placement Guidelines in

XAUI Configuration" section.

• Changed the figure description for the "Transceiver Clocking for XAUI Configuration" figure.

• Changed the note in the "Transceiver Clocking and Channel Placement Guidelines in XAUI

Configuration" section.

• Added a note to the "Transceiver Clocking for XAUI Configuration With Phase Compensation FIFO

Enabled" figure.

• Added the "Transceiver Clocking for XAUI Configuration With Phase Compensation FIFO Enabled" figure.

• Removed the Data rate parameter from the "General Options" table.

• Removed the tx_digitalreset

signal from the "Clock and Reset Signals" table.

• Changed the available signals in the "PMA Channel Controller Signals" table.

• Added the Enable phase compensation FIFO parameter to the "Advanced Options" table.

• Added the pll_cal_busy_i

signal to the "XAUI Top-Level Signals—Soft PCS and PMA" figure.

• Added the xgmii_rx_inclk

port to the "XAUI Top-Level Signals—Soft PCS and PMA" figure.

• Changed the description in the "Clock and Reset Signals" table.

• Removed the following signals from the "PMA Channel Controller Signals" table:

— tx_bonding_clocks[5:0]

— pll_cal_busy_i

— pll_powerdown_o pll_locked_i continued...

Intel ®

342

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Document

Version

2014.10.08

2014.08.15

Changes

• Made the following changes to the "XAUI PHY IP Core Registers" table.

— Removed cal_blk_powerdown

— Removed pma_tx_pll_is_locked

— Removed Word Addresses 0x082, 0x083, 0x086, 0x087, 0x088, 0x089

— Removed patterndetect[7:0]

— Changed the description for syncstatus [7:0]

• Added the xgmii_rx_inclk

port to the "SDR RX XGMII Interface " table.

• Added the pll_cal_busy_i

port to the "PMA Channel Controller Signals" table.

• Added the "XAUI PHY Timing Analyzer SDC Constraint" section.

Made the following changes to the PCI Express section:

• Added PIPE Gen3 32 bit PCS Clock Rates table in the Gen3 Rate Switchsection.

• Updated the Rate Switch Change figure.

• Updated the Bit Mappings When the Simplified Interface Is Disabledtable.

• Updated the figures in How to Place Channels for PIPE Configurations.

• Updated the Parameters for Arria 10 Native PHY IP in PIPE Gen1, Gen2, Gen3 Modes - TX PMA table.

• Updated the clock domains in Signals and Ports of Native PHY IP for PIPE figure.

• Updated the Ports for Arria 10 Transceiver Native PHY in PIPE Mode table.

• Updated Logical PCS Master Channel for PIPE Configuration table.

• Updated the PCIe Reverse Parallel Loopback in Gen1/Gen2 features with input signal name.

• Updated the Rate Switch Change figure.

• Updated the Gearbox Gen3 Transmission signals in the Gen3 Data Transmission figure.

• Updated the PIPE Design Example section.

• Updated the Gen3 Power State Management P1 to P0 Transition signals.

• Updated the Supported Features for PIPE Configurations table.

• Updated the Gen1/Gen2 Features section.

Made the following changes to the CPRI section:

• Updated the parameter values for “RX word aligner mode”.

• Added a new option for Interlaken in the GUI "Enable Interlaken TX random disparity bit".

• For PMA configuration rules changed the option “SATA” to “SATA/SAS”.

• Changed the GUI option “CTLE adaptation mode” to “DFE adaptation mode”.

Made the following changes to the Other Protocols section:

• Added four new sections: "TX Bit Slip", "TX Polarity Inversion", "RX Bit Slip", and "RX Polarity

Inversion".

• Changed the initial value of tx_parallel_data

in the "Manual Mode when the PCS-PMA Interface

Width is 10 Bits" and "Manual Mode when the PCS-PMA Interface Width is 16 Bits" figures.

• Changed the minimum value for the "Data rate" parameter to 1 Gbps in the "General and Datapath

Options Parameters" table.

Made the following changes to the Simulating the Native Transceiver PHY section:

• In the introductory section, removed the third bullet in the list of netlists you can simulate because gate-level timing simulation is no longer supported.

• Removed mention of the ModelSim DE simulator in the "How to Use NativeLink to Specify a

ModelSim Simulation" section.

Made the following changes to the Ethernet section:

• Changed the frequency for mgmt_clk

in the "Avalon-MM Interface Signals" table for Document

Version10GBASE-KR PHY IP Core with FEC Option and for 1G/10 Gbps Ethernet PHY IP Core.

Made the following changes to the Other Protocols section:

• Removed an erroneous note regarding Quartus II software legality check restrictions.

Made the following changes to the Transceiver Design Flow section:

• Added "Make Pin Assignments Using Pin Planner and Assignment Editor" block to figure "Transceiver

Design Flow"

• Updated Select and Instantiate PHY IP, Generate PHY IP, Select and Instantiate PLL IP, and

Generate PLL IP sections to indicate the new IP instantiation flow per ACDS 14.0A10 release.

• Added a new section for Make Pin Assignments Using Pin Planner and Assignment Editor continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

343

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Document

Version

Changes

Made the following changes to the Arria 10 Transceiver Protocols and PHY IP Support section:

• Updated table "Arria 10 Transceiver Protocols and PHY IP Support"

— Removed SFIS and 10G SDI from the table.

— Updated Protocol Preset, Transceiver Configuration Rule, and PCS Support for protocols in the table.

Made the following changes to the Using the Arria 10 Transceiver Native PHY IP section:

• Updated references of MegaWizard Plug-In Manager to IP Catalog and Parameter Editor.

• Added PCS Direct block in figure "Transceiver Native PHY IP Top Level Interfaces and Functional

Blocks".

• Updated figure "Transceiver Native PHY IP GUI" for 14.0A10 release IP GUI.

• Updated General and Datapath Parameters section

— Updated parameter descriptions in table "General and Datapath Options".

— Updated parameter descriptions in table "Transceiver Configuration Rule Parameters".

• Updated PMA Parameters section

— Updated parameter descriptions in tables "TX PMA Bonding options", "TX PLL Options", "RX PMA

Parameters".

— Added description for CTLE adaptation mode and updated description for DFE adaptation

mode.

• Enhanced PCS Parameters section

— Added a new table "Enhanced PCS Parameters"

— Updated the parameter descriptions in tables "Enhanced PCS TX FIFO Parameters", "Enhanced

PCS RX FIFO Parameters", "Interlaken Frame Generator Parameters", "Interlaken Frame

Synchronizer Parameters", "10GBASE-R BER Checker Parameters", "Scrambler-Descrambler

Parameters", "Block Synchronizer Parameters", "Gearbox Parameters".

— Added descriptions in "KR-FEC Parameters" table.

• Standard PCS Parameters

— Updated the descriptions in tables "TX and RX FIFO Parameters", "Rate Match FIFO Parameters",

"Word Aligner and Bitslip Parameters", and "PCIe Ports".

• Dynamic Reconfiguration Parameters

— Removed Enable Embedded JTAG Avalon-MM Master parameter and added Altera Debug

Master Endpoint parameter and updated its description.

— Added a table for "Embedded Debug Parameters".

• Updated the figure "Directory Structure for Generated Files" in IP Core File Locations section.

• Changed "one-time" to "triggered" adaptation mode for DFE and CTLE.

Made the following changes to the Interlaken section:

• Changed parameter name in the "Signals and Ports of Native PHY IP for Interlaken" figure from tx_bonding_clock to tx_bonding_clock[5:0].

• Updated tables in the "Native PHY IP Parameter Settings for Interlaken" section:

— Added new tables: "10GBASE-R BER Checker Parameters", "KR-FEC Parameters".

— Deleted table: "Configuration Profiles Parameters".

— Added new parameters and updated existing ones to tables: "General and Datapath

Parameters", "TX PMA Parameters", "RX PMA Parameters", "Enhanced PCS Parameters",

"Dynamic Reconfiguration Parameters".

— Updated existing parameters to tables: "Interlaken Frame Generator Parameters", "Interlaken

CRC-32 Generator and Checker Parameters".

Made the following changes to the Ethernet section:

• Initial release of the XAUI PHY IP Core section.

• Changed the bus width between the FPGA fabric and PCS, and added notes 3 and 4 to the

"Transceiver Channel Datapath and Clocking at 1250 Mbps for GbE, GbE with IEEE 1588v2" figure.

• Provided the full hexadecimal values for rx_parallel_data

, rx_patterndetect

, and rx_runningdisp

in the "Decoding for GbE" figure description.

• Changed the note in the Rate Match FIFO for GbE section to clarify the case where 200 ppm total is valid.

• Added the pll_cal_busy

circuitry, updated signals, and added a note to the "Connection

Guidelines for a GbE/GbE with IEEE 1588v2 PHY Design" figure.

• Removed the Device and speed grade parameter from the "General and Datapath Options" table.

continued...

Intel ®

344

Arria ® 10 Transceiver PHY User Guide

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Document

Version

Changes

• Changed the values for the PPM detector threshold parameter and removed the Decision feedback equalization parameter in the "RX PMA Parameters" table.

• Changed the 10GBASE-R PHY grouping in the "10GBASE-R PHY as Part of the IEEE802.3-2008 Open

System Interconnection (OSI)" figure.

• Added that 10GBASE-R is compatible with the Altera 10-Gbps Ethernet MAC Intel FPGA IPCore

Function in the 10GBASE-R, 10GBASE-R with IEEE 1588v2, and 10GBASE-R with FEC Variants section.

• Added the "Transceiver Channel Datapath and Clocking for 10GBASE-R with IEEE 1588v2" figure.

• Changed steps 1 and 4 in the How to Implement 10GBASE-R, 10GBASE-R with IEEE 1588v2, and

10GBASE-R with FEC in Arria 10 Transceivers section to match the GUI.

• Specified the target BER of 10 -12 in the 10GBASE-KR PHY IP Core section.

• Removed the "Top Level Modules of the 1G/10GbE PHY Intel FPGA IP Core Function" figure.

• Removed the 10GBASE-KR PHY with 1588 variant from the "10GBASE-KR PHY Performance and

Resource Utilization" table. This is not supported.

• Replaced the "10GBASE-KR PHY IP Block Diagram" figure.

• Added the Auto Negotiation, IEEE 802.3 Clause 73 section.

• Substantially rewrote the Link Training (LT), IEEE 802.3 Clause 72 section.

• Removed the "TX Equalization for Link Partners" figure.

• Removed the "TX Equalization in Daisy Chain Mode" figure. Daisy chain is not supported.

• Removed the Auto Negotiation section.

• Replaced the "Reconfiguration Block Details" figure.

• Removed the Initial Datapath, Enable internal PCS reconfiguration logic, and Enable IEEE

1588 Precision time Protocol parameters from the "General Options Parameters" table.

• Added the Reference clock frequency, Enable additional control and status pins, Include

FEC sublayer, Set FEC_ability bit on power up and reset, and Set FEC_Enable bit on power

up and reset parameters to the "General Options Parameters" table.

• Removed the 10GBASE-R Parameters section.

• Removed the 10M/100M/1Gb Ethernet Parameters section.

• Removed the Speed Detection Parameters section.

• Substantially changed the "Auto Negotiation and Link Training Settings" table, adding the

AN_PAUSE Pause Ability, CAPABLE_FEC ENABLE_FEC (request), AN_TECH Technology

Ability, AN_SELECTOR Selector Field, and Width of the Training Wait Counter parameters.

• Updated all parameter names, values, and descriptions in the "Optional Parameters" table.

• Updated the signals in the "10GBASE-KR Top-Level Signals" figure.

• Removed the rx_serial_clk_1g

and tx_serial_clk_1g

signals, and removed all references to

"1G" from all descriptions in the "Clock and Reset Signals" table.

• Removed references to GMII and MII interfaces from the Data Interfaces section.

• Removed GMII and MII signals from the "XGMII Signals" table.

• Updated the list of signals in the "Control and Status Signals" table.

• Removed the Daisy-Chain Interface Signals section.

• Removed the Embedded Processor Interface Signals section.

• Updated the list of signals in the "Dynamic Reconfiguration Interface Signals" table.

• Added new registers and updated descriptions of existing registers in the "10GBASE-KR Register

Definitions" table.

• Updated the 0x482 registers in the "PCS Registers" table.

• Updated and removed some addresses in the "PMA Registers" table.

• Added the Speed Change Summary section.

• Removed the 10GBASE-KR, Backplane, FEC, GMII PCS Registers section.

• Removed the 1588 Delay Requirement section.

• Removed the Channel Placement Guidelines section.

• Removed the introductory paragraph from the Design Example section.

• Removed the 1588 FIFO block from the "Top Level Modules of the 1G/10GbE PHY Intel FPGA IP

Core Function" figure.

• Updated all values for ALMs, ALUTs, Registers, and M20K in the "1G/10GbE PHY Performance and

Resource Utilization" table.

• Updated the blocks in the "Reconfiguration Block Details" figure.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

345

2. Implementing Protocols in Arria 10 Transceivers

UG-01143 | 2018.06.15

Document

Version

2013.12.02

Changes

• Changed the blocks and clock connections in the "Clocks for Standard and 10G PCS and TX PLLs" figure.

• Changed signal names and descriptions in the "Clock and Reset Signals" table.

• Changed the parameter name for 10GbE Reference Clock frequency and added the 1G

Reference clock frequency parameter in the "10GBASE-R Parameters" table.

• Removed the Set FEC_ability bit on power up and reset and Set FEC_enable bit on power

up and resetparameters from the "FEC Options" table.

• Updated the list of available signals in the "1G/10GbE PHY Top-Level Signals" figure.

• Added new registers and updated descriptions of existing registers in the "10GBASE-KR Register

Definitions" table.

• Added the 0x4A8 and 0x4A9 addresses and updated the name for address 0x4A2 and 0x4A3 in the

"10GBASE-KR, Backplane, FEC GMII PCS Registers" table.

• Added the Speed Change Summary section.

Made the following changes to the PCI Express section:

• Added a new topic Pipe link equalization for Gen 3 data rate.

• Changed "MegaWizard Plugin Manager" to "Parameter Editor"/"IP Catalog" in the How to Connect

TX PLLs for PIPE Gen1, Gen2 and Gen3 Mode section.

• Changed "MegaWizard Plugin Manager" to "Parameter Editor"/"IP Catalog" in the How to Implement

PCI Express in Arria 10 Transceivers section.

• Changed "MegaWizard Plugin Manager" to "Parameter Editor"/"IP Catalog" in the Supported Pipe

Features section.

Made the following changes to the CPRI section:

• Added new values to each row in the "TX PLL Supported Data Rates" table.

Made the following changes to the Other Protocols section:

• Updated the "How to Use NativeLink to Specify a ModelSim Simulation" section.

• Updated the "NativeLink Generated Scripts for Third-Party RTL Simulation" table.

• Changed references from MegaWizard to IP Catalog or Parameters Editor.

• Using the Basic and Basic with KR FEC Configurations of Enhanced PCS

— Updated the "Transceiver Channel Datapath and Clocking for Basic (Enhanced PCS)

Configuration" figure and added footnote 3.

— Updated the "General and Datapath Parameters", "TX PMA Parameters", "RX PMA Parameters", and "Enhanced PCS Parameters" tables.

— Added the "Equalization" table.

— Added the "How to Enable Low Latency in Basic Enhanced PCS" section.

• Using the Basic/Custom, Basic/Custom with Rate Match Configurations of Standard PCS

— Updated the values in the "Manual Mode when the PCS-PMA Interface is 8 Bits", "Manual Mode when the PCS-PMA Interface is 10 Bits", and "Manual Mode when the PCS-PMA Interface is 16

Bits" figures.

— Added the "8B/10B Encoder and Decoder" and "8B/10B TX Disparity Control" sections.

— Updated the "Connection Guidelines for a Basic/Custom Design" figure.

— Updated the "General and Datapath Options Parameters", "TX PMA Parameters", "RX PMA

Parameters", and "Standard PCS Parameters" tables.

• Design Considerations for Data Rates Above 17.4 Gbps Using Arria 10 GT Channels

— Updated the maximum data rate for GT channels to 25.4 Gbps.

— Added information about PCS Direct mode.

— Updated "ATX PLL IP with GT Clock Lines Enabled" figure.

• Updated the How to Implement the Basic, Basic with Rate Match Transceiver Configuration Rules in

Arria 10 Transceivers section.

Made the following changes to the Simulating the Transceiver Native PHY IP Core section:

• Updated the "How to Use NativeLink to Specify a ModelSim Simulation" section.

• Updated the "NativeLink Generated Scripts for Third-Party RTL Simulation" table.

Initial release.

Intel ®

346

Arria ® 10 Transceiver PHY User Guide

UG-01143 | 2018.06.15

3. PLLs and Clock Networks

This chapter describes the transceiver phase locked loops (PLLs), internal clocking architecture, and the clocking options for the transceiver and the FPGA fabric interface.

As shown in the following figure, transceiver banks can have either three or six transceiver channels. For every three channels, you get one advanced transmit (ATX)

PLL, one fractional PLL (fPLL), and one Master clock generation block (CGB). Refer to the Device Transceiver Layout section to identify which devices have three channel transceiver banks.

The Arria 10 transceiver clocking architecture supports both bonded and non-bonded transceiver channel configurations. Channel bonding is used to minimize the clock skew between multiple transceiver channels. For Arria 10 transceivers, the term bonding can refer to PMA bonding as well as PMA and PCS bonding. Refer to the

Channel Bonding section for more details.

Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.

*Other names and brands may be claimed as the property of others.

ISO

9001:2008

Registered

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Figure 168. Arria 10 PLLs and Clock Networks x1 Clock Lines

CH2 CDR

Local CGB

CH1 CDR/CMU

Local CGB

CH0

CDR

Local CGB x6 Clock Lines xN Clock Lines

Transceiver

Bank fPLL

ATX

PLL

Master

CGB

Transceiver

Bank

CH5

CDR

Local CGB

CH4

CDR/CMU

Local CGB

CH3 CDR

Local CGB

CH2

CDR

Local CGB

CH1 CDR/CMU

Local CGB

CH0

CDR

Local CGB fPLL

ATX

PLL

Master

CGB fPLL

ATX

PLL

Master

CGB

Related Information

Channel Bonding

on page 389

Device Transceiver Layout

on page 9

Intel ®

348

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Using PLLs and Clock Networks

on page 398

Information on how to use PLL IP to implement bonded and non-bonded transceiver designs.

3.1. PLLs

Table 228.

Transmit PLLs in Arria 10 Devices

PLL Type

Advanced Transmit (ATX) PLL

Fractional PLL (fPLL)

Clock Multiplier Unit (CMU) PLL or Channel PLL (50)

Characteristics

• Best jitter performance

• LC tank based voltage controlled oscillator (VCO)

• Supports fractional synthesis mode (in cascade mode only)

• Used for both bonded and non-bonded channel configurations

• Ring oscillator based VCO

• Supports fractional synthesis mode

• Used for both bonded and non-bonded channel configurations

• Ring oscillator based VCO

• Used as an additional clock source for non-bonded applications

Figure 169. Transmit PLL Recommendation Based on Data Rates

Related Information

Refer to Using PLL and Clock Networks section for guidelines and usage

on page 398

3.1.1. Transmit PLLs Spacing Guideline when using ATX PLLs and fPLLs

ATX PLL-to-ATX PLL Spacing Guidelines

For ATX PLL VCO frequencies between 7.2 GHz and 11.4 GHz, when two ATX PLLs operate at the same VCO frequency (within 100 MHz), they must be placed 7 ATX PLLs apart (skip 6).

(50) The CMU PLL or Channel PLL of channel 1 and channel 4 can be used as a transmit PLL or as a clock data recovery (CDR) block. The channel PLL of all other channels (0, 2, 3, and 5) can only be used as a CDR.

Intel ® Arria ® 10 Transceiver PHY User Guide

349

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Note:

For ATX PLL VCO frequencies between 11.4 GHz and 14.4 GHz, when two ATX PLLs operate at the same VCO frequency (within 100 MHz) and drive GX channels, they must be placed 4 ATX PLLs apart (skip 3).

For ATX PLL VCO frequencies between 11.4 GHz and 14.4 GHz, when two ATX PLLs operate at the same VCO frequency (within 100 MHz) and drive GT channels, they must be placed 3 ATX PLLs apart (skip 2).

For two ATX PLLs providing the serial clock for PCIe/PIPE Gen3, they must be placed 4

ATX PLL apart (skip 3).

If these spacing rules are violated, Intel Quartus Prime issues a critical warning.

When two ATX PLLs are being used, and you meet the following two conditions in your applications:

• One of the ATX PLL re-calibration process is triggered.

• The other channel (that is clocked by another ATX PLL) is in data transmission mode.

You must place the two ATX PLLs 7 ATX PLLs apart (skip 6). ATX PLLs between the 2 active ATX PLLs should not be used.

ATX PLL-to-fPLL Spacing Guidelines

If you are using both ATX PLL and fPLL, and you meet the below two conditions in your applications:

• When ATX PLL VCO frequency and fPLL VCO frequency is within 50MHz.

• ATX PLL is used to drive protocol which includes OTU2, OTU2e, SDH/Sonet_9953/

OC192/STM64, 10G GPON or protocol that has jitter integration start range

<1MHz and data rate > 3Gbps.

The ATX PLL and fPLL must be separated at least by 1 ATX PLL in between.

If you are using both ATX PLL and fPLL, and you meet the below two conditions in your applications:

• fPLL user re-calibration process is triggered.

• ATX PLL is used to drive protocol which includes OTU2, OTU2e, SDH/Sonet_9953/

OC192/STM64, 10G GPON or protocol that has jitter integration start range

<1MHz and data rate > 3Gbps.

then the ATX PLL and fPLL must be separated at least by 1 ATX PLL in between

(regardless of the ATX PLL and fPLL VCO frequency offset).

3.1.2. ATX PLL

The ATX PLL contains LC tank-based voltage controlled oscillators (VCOs). These LC

VCOs have different frequency ranges to support a continuous range of operation.

When driving the Transceiver directly, the ATX PLL only supports the integer mode. In cascade mode, the ATX PLL only supports fractional mode.

Intel ®

350

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Figure 170. ATX PLL Block Diagram

Dedicated reference clock pin

Reference clock network

Receiver input pin

Output of another PLL with PLL cascading

Global clock or core clock

CP &

LF

Refclk

Multiplexer

Input reference

clock

N Counter refclk

Up

PFD

Down fbclk

VCO

Delta Sigma

Modulator (1)

Lock

Detector pll_locked

2

L Counter

2

/2

Note:

Input Reference Clock

This is the dedicated input reference clock source for the PLL.

The input reference clock can be sourced from one of the following:

• Dedicated reference clock pin

• Reference clock network

• Receiver input pin

• Output of another PLL with PLL cascading

• Global clock or the core clock network

The input reference clock to the dedicated reference clock pin is a differential signal.

Intel recommends using the dedicated reference clock pin as the input reference clock source for the best jitter performance. The input reference clock must be stable and free-running at device power-up for proper PLL operation and PLL calibration. If the reference clock is not available at device power-up, then you must recalibrate the PLL when the reference clock is available.

Sourcing reference clock from a cascaded PLL output, global clock or core clock network introduces additional jitter to the ATX PLL output. Refer to KDB "How do I compensate for the jitter of PLL cascading or non-dedicated clock path for Arria 10 PLL reference clock?" for more details.

The ATX PLL calibration is clocked by the CLKUSR clock which must be stable and available for calibration to proceed. Refer to the Calibration section for more details about the CLKUSR clock.

Reference Clock Multiplexer

The reference clock

(refclk

) multiplexer selects the reference clock to the PLL from the various reference clock sources available.

N Counter

The N counter divides the

2, 4, and 8.

refclk

mux's output. The division factors supported are 1,

Intel ® Arria ® 10 Transceiver PHY User Guide

351

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Phase Frequency Detector (PFD)

The reference clock

(refclk)

signal at the output of the N counter block and the feedback clock

(fbclk)

signal at the output of the M counter block are supplied as inputs to the PFD. The output of the PFD is proportional to the phase difference between the refclk

and fbclk

inputs. It is used to align the refclk

signal at the output of the N counter to the feedback clock

(fbclk)

signal. The PFD generates an

"Up" signal when the reference clock's falling edge occurs before the feedback clock's falling edge. Conversely, the PFD generates a "Down" signal when the feedback clock's falling edge occurs before the reference clock's falling edge.

Charge Pump and Loop Filter

The PFD output is used by the charge pump and loop filter (CP and LF) to generate a control voltage for the VCO. The charge pump translates the "Up" or "Down" pulses from the PFD into current pulses. The current pulses are filtered through a low pass filter into a control voltage that drives the VCO frequency. The charge pump, loop filter, and VCO settings determine the bandwidth of the ATX PLL.

Lock Detector

The lock detector block indicates when the reference clock and the feedback clock are phase aligned. The lock detector generates an active high pll_locked

signal to indicate that the PLL is locked to its input reference clock.

Voltage Controlled Oscillator

The voltage controlled oscillator (VCO) used in the ATX PLL is LC tank based. The output of charge pump and loop filter serves as an input to the VCO. The output frequency of the VCO depends on the input control voltage. The output frequency is adjusted based on the output voltage of the charge pump and loop filter.

L Counter

The L counter divides the differential clocks generated by the ATX PLL. The L counter is not in the feedback path of the PLL.

M Counter

The M counter's output is the same frequency as the N counter's output. The VCO frequency is governed by the equation:

VCO freq = 2 * M * input reference clock/N

An additional divider divides the high speed serial clock output of the VCO by 2 before it reaches the M counter.

The M counter supports division factors in a continuous range from 8 to 127 in integer frequency synthesis mode and 11 to 123 in fractional mode.

Delta Sigma Modulator

The fractional mode is only supported when the ATX PLL is configured as a cascade source for OTN and SDI protocols. The delta sigma modulator is used in fractional mode. It modulates the M counter divide value over time so that the PLL can perform fractional frequency synthesis. In fractional mode, the M value is as follows: .

Intel ®

352

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

M (integer) + K/2^32, where K is the Fractional multiply factor (K) in the ATX PLL IP

Parameter Editor

K legal values are 1 through 2^32-1 and can only be manually entered in the ATX PLL

IP Parameter Editor in Quartus Prime software.

The output frequencies can be exact when the ATX PLL is configured in fractional mode. Due to the K value 32-bit resolution, translating to 1.63 Hz step for a 7 GHz

VCO frequency, not all desired fractional values can be achieved exactly. The lock signal is not available, when configured in fractional mode in k-precision mode (K <

0.1 or K > 0.9).

Multiple Reconfiguration Profiles

Under the ATX PLL IP Parameter Editor Dynamic Reconfiguration tab, in the

Configuration Profiles section, multiple reconfiguration profiles can be enabled. This allows to create, store, and analyze the parameter settings for multiple configurations or profiles of the ATX PLL IP.

The ATX PLL IP GUI can generate configuration files (SystemVerilog, C header or MIF) for a given configuration. With the multi reconfiguration profile options enabled, the

ATX PLL IP Parameter Editor can produce configuration files for all of the profiles simultaneously. In addition, by enabling the reduced reconfiguration files generation, the IP Parameter Editor produces a reduced configuration file by internally comparing the corresponding parameter settings of all the profiles and identifying the differences.

Embedded Reconfiguration Streamer

This option enables a push-button flow to reconfigure between multiple configurations or profiles. Here are the steps to follow:

1. Multiple reconfiguration profiles creation

• In the ATX PLL IP GUI, create configurations for each profiles using the multiprofile feature.

2. Reconfiguration report files

• The IP GUI generates the reconfiguration report files that contain parameter and register settings for all the selected profiles. If the reduced reconfiguration files option is selected, the IP parameter editor compares the settings between the profiles and generate reduced report files which only contain the differences.

3. Select “Enable embedded reconfiguration streamer logic” in the GUI to generate the following:

• Necessary HDL files to perform streaming.

• The individual report files for each profile, an SystemVerilog package file with configuration data for all the profiles concatenated together which is used to initialize the configuration ROM

4. Generate the ATX PLL IP and control the reconfiguration streamer using the AVMM master.

Related Information

Calibration

on page 567

• How do I compensate for the jitter of PLL cascading or non-dedicated clock path for Arria 10 PLL reference clock?

Intel ® Arria ® 10 Transceiver PHY User Guide

353

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

3.1.2.1. Instantiating the ATX PLL IP Core

The Arria 10 transceiver ATX PLL IP core provides access to the ATX PLLs in the hardware. One instance of the PLL IP core represents one ATX PLL in the hardware.

1. Open the Quartus Prime software.

2. Click ToolsIP Catalog.

3. In IP Catalog, under Library

Transceiver PLL

, select Arria 10

Transceiver ATX PLL and click Add.

4. In the New IP Instance dialog box, provide the IP instance name.

5. Select the Arria 10 device family.

6. Select the appropriate device and click OK.

The ATX PLL IP core Parameter Editor window opens.

3.1.2.2. ATX PLL IP Core

Table 229.

ATX PLL Configuration Options, Parameters, and Settings

Parameter

Message level for rule violations

Protocol mode

Range

Error

Warning

Description

Specifies the messaging level to use for parameter rule violations.

• Error—Causes all rule violations to prevent IP generation.

• Warning—Displays all rule violations as warnings and allows IP generation in spite of violations.

Governs the internal setting rules for the VCO.

This parameter is not a preset. You must set all other parameters for your protocol.

Bandwidth

Number of PLL reference clocks

Basic

PCIe* Gen1

PCIe Gen2

PCIe Gen3

SDI_cascade

OTN_cascade

UPI TX

SAS TX

Low

Medium

High

1 to 5

Specifies the VCO bandwidth.

Higher bandwidth reduces PLL lock time, at the expense of decreased jitter rejection.

Selected reference clock source

Primary PLL clock output buffer

0 to 4

GX clock output buffer

GT clock output buffer

Specifies the number of input reference clocks for the ATX

PLL.

You can use this parameter for data rate reconfiguration.

Specifies the initially selected reference clock input to the

ATX PLL.

Specifies which PLL output is active initially.

• If GX is selected, turn ON "Enable PLL GX clock

output port".

• If GT is selected, turn ON “Enable PLL GT clock

output port".

continued...

Intel ®

354

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Parameter

Enable PLL GX clock output port (

51

)

Range

On/Off

Enable PCIe clock output port On/Off

Description

Enables the GX output port which feeds x1 clock lines.

You must select this parameter for PLL output frequency less than 8.7 GHz, or if you intend to reconfigure the PLL to a frequency below 8.7 GHz.

Turn ON this port if GX is selected in the "Primary PLL

clock output buffer".

Exposes the

The port should be connected to the port.

pll_pcie_clk port used for PCI Express.

pipe_hclk_input

Enables the ATX to FPLL cascade clock output port.

Enable ATX to FPLL cascade clock output port

Enable fref and clklow port (52) .

PLL output frequency

PLL integer reference clock frequency

Multiply factor (M-Counter)

Divide factor (N-Counter)

Divide factor (L-Counter)

Predivide factor (L-Cascade

Predivider)

Fractional multiply factor (K)

On/Off

On/Off

Refer to Intel

Arria 10 Device

Datasheet .

Refer to the GUI

Enables fref

and clklow

ports for external lock detector.

Use this parameter to specify the target output frequency for the PLL.

Selects the input reference clock frequency for the PLL.

Read only

For

OTN_cascade or

SDI_cascade, refer to the GUI.

Read only

For

SDI_cascade or

OTN_cascade, refer to the GUI.

Displays the M-counter value.

Specifies the M-counter value (In SDI_cascade or

OTN_cascade Protocol mode only).

Displays the N-counter value.

For SDI_cascade or OTN_cascade, refer to the GUI.

Read only Displays the L-counter value.

Refer to the GUI Specifies the L-cascade predivider value. This value must be

2 for a VCO frequency greater than 10.46 GHz and 1 for a

VCO frequency less than 10.46GHz. (In SDI_cascade or

OTN_cascade Protocol mode only).

Read only Displays the actual K-counter value. This parameter is only available in fractional mode.

Table 230.

ATX PLL—Master Clock Generation Block Parameters and Settings

Parameter

Include Master Clock Generation

Block (53)

Range

On/Off

Description

When enabled, includes a master CGB as a part of the ATX

PLL IP core. The PLL output drives the Master CGB.

continued...

(51) You can enable both the GX clock output port and the GT clock output port. However, only one port can be in operation at any given time. You can switch between the two ports using PLL reconfiguration.

(52) The fPLL fref

and clklow

signals should only be used with the Intel external soft lock detection logic.

(53) Manually enable the MCGB for bonding applications.

Intel ® Arria ® 10 Transceiver PHY User Guide

355

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Parameter

Clock division factor

Enable x6/xN non-bonded highspeed clock output port

Enable PCIe clock switch interface

Number of auxiliary MCGB clock input ports

MCGB input clock frequency

MCGB output data rate.

Enable bonding clock output ports

Enable feedback compensation bonding

PMA interface width

Range

1, 2, 4, 8

On/Off

On/Off

0, 1

Read only

Read only

On/Off

On/Off

8, 10, 16, 20,

32, 40, 64

Description

This is used for x6/xN bonded and non-bonded modes.

Divides the master CGB clock input before generating bonding clocks.

Enables the master CGB serial clock output port used for x6/xN non-bonded modes.

Enables the control signals for the PCIe clock switch circuitry. Used for PCIe clock rate switching.

Auxiliary input is used to implement the PCIe Gen3 protocol.

Displays the master CGB's input clock frequency.

Displays the master CGB's output data rate.

Enables the tx_bonding_clocks

output ports of the master CGB used for channel bonding.

This option should be turned ON for bonded designs.

Enables this setting when using feedback compensation bonding. For more details about feedback compensation bonding, refer to the PLL Feedback Compensation Bonding section later in the document.

Specifies PMA-PCS interface width.

Match this value with the PMA interface width selected for the Native PHY IP core. You must select a proper value for generating bonding clocks for the Native PHY IP core.

Table 231.

ATX PLL—Dynamic Reconfiguration

Parameter

Enable reconfiguration

Range

On/Off

Enable Altera Debug Master

Endpoint

Separate reconfig_waitrequest from the status of AVMM arbitration with PreSICE

Enable capability registers

Set user-defined IP identifier

Enable control and status registers

Configuration file prefix

On/Off

On/Off

On/Off

User-defined

On/Off

Description

Enables the PLL reconfiguration interface. Enables the simulation models and adds Avalon compliant ports for reconfiguration.

When you turn on this option, the Transceiver PLL IP core includes an embedded Altera Debug Master Endpoint

(ADME) that connects internally to the Avalon-MM slave interface for dynamic reconfiguration. The ADME can access the reconfiguration space of the transceiver. It can perform certain test and debug functions via JTAG using the System

Console. Refer to the Reconfiguration Interface and

Dynamic Reconfiguration chapter for more details.

When enabled, the reconfig_waitrequest

does not indicate the status of AVMM arbitration with PreSICE. The

AVMM arbitration status is reflected in a soft status register bit. (Only available if "Enable control and status registers feature" is enabled).

Enables capability registers that provide high-level information about the ATX PLL's configuration.

Sets a user-defined numeric identifier that can be read from the user_identifier are enabled.

offset when the capability registers

Enables soft registers for reading status signals and writing control signals on the PLL interface through the embedded debug logic.

Enter the prefix name for the configuration files to be generated.

continued...

Intel ®

356

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Parameter

Generate SystemVerilog package file

Generate C header file

Enable multiple reconfiguration profiles

Enable embedded reconfiguration streamer

Generate reduced reconfiguration files

Number of reconfiguration profiles

Store current configuration to profile

Generate MIF (Memory Initialize

File)

Range

On/Off

On/Off

On/Off

On/Off

On/Off

1 to 8

0 to 7

On/Off

Description

Generates a SystemVerilog package file containing all relevant parameters used by the PLL.

Generates a C header file containing all relevant parameters used by the PLL.

Enables multiple configuration profiles to be stored.

Enables embedded reconfiguration streamer which automates the dynamic reconfiguration process between multiple predefined configuration profiles.

When enabled, the IP generates reconfiguration report files containing only the setting differences between the multiple reconfiguration profiles

Specifies the number of reconfiguration profiles

Specifies which configuration profile to modify (store, load, clear or refresh) when clicking the corresponding action button.

Generates a MIF file which contains the current configuration.

Use this option for reconfiguration purposes in order to switch between different PLL configurations.

Table 232.

ATX PLL—Generation Options

Parameter

Generate parameter documentation file

Range

On/Off

Table 233.

ATX PLL IP Core Ports pll_powerdown

Port Direction

Input

Description

Generates a .csv file which contains descriptions of ATX PLL

IP core parameters and values.

pll_refclk0 pll_refclk1 pll_refclk2 pll_refclk3 pll_refclk4 tx_serial_clk

Input

Input

Input

Input

Input

Output

Clock Domain

Asynchronous

N/A

N/A

N/A

N/A

N/A

N/A

Description

Resets the PLL when asserted high.

Needs to be connected to a dynamically controlled signal (the

Transceiver PHY Reset Controller pll_powerdown output if using this

Intel FPGA IP).

Reference clock input port 0.

There are a total of five reference clock input ports. The number of reference clock ports available depends on the

Number of PLL reference clocks parameter.

Reference clock input port 1.

Reference clock input port 2.

Reference clock input port 3.

Reference clock input port 4.

High speed serial clock output port for

GX channels. Represents the x1 clock network.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

357

Port tx_serial_clk_gt pll_locked pll_pcie_clk reconfig_clk0 reconfig_reset0 reconfig_write0 reconfig_read0 reconfig_address0[9:0] reconfig_writedata0[31:0] reconfig_readdata0[31:0] reconfig_waitrequest0 pll_cal_busy mcgb_rst mcgb_aux_clk0 tx_bonding_clocks[5:0] mcgb_serial_clk

Direction

Output

Output

Output

Input

Input

Input

Input

Input

Input

Output

Output

Output

Input

Input

Output

Output

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Clock Domain

N/A

Asynchronous

N/A

N/A reconfig_clk0 reconfig_clk0 reconfig_clk0 reconfig_clk0 reconfig_clk0 reconfig_clk0 reconfig_clk0

Asynchronous

Asynchronous

N/A

N/A

N/A

Description

High speed serial clock output port for

GT channels. Represents the GT clock network.

Active high status signal which indicates if the PLL is locked.

Used for PCIe. (54)

Optional Avalon interface clock. Used for PLL reconfiguration. The reconfiguration ports appear only if the

Enable Reconfiguration parameter is selected in the PLL IP Core GUI. When this parameter is not selected, the ports are set to OFF internally.

Used to reset the Avalon interface.

Asynchronous to assertion and synchronous to deassertion.

Active high write enable signal.

Active high read enable signal.

10-bit address bus used to specify address to be accessed for both read and write operations.

32-bit data bus. Carries the write data to the specified address.

32-bit data bus. Carries the read data from the specified address.

Indicates when the Avalon interface signal is busy. When asserted, all inputs must be held constant.

Status signal which is asserted high when PLL calibration is in progress.

OR this signal with before connecting to the reset controller IP.

tx_cal_busy

port

Master CGB reset control.

Deassert this reset at the same time as pll_powerdown

.

Used for PCIe implementation to switch between fPLL and ATX PLL during link speed negotiation.

Optional 6-bit bus which carries the low speed parallel clock outputs from the master CGB. Each transceiver channel in a bonded group has this 6bit bus.

Used for channel bonding, and represents the x6/xN clock network.

High speed serial clock output for x6/xN non-bonded configurations.

continued...

(54) Connect this clock to hclk

in PCIe applications.

Intel ®

358

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

pcie_sw[1:0]

Port pcie_sw_done[1:0] atx_to_fpll_cascade_clk ext_lock_detect_clklow

( 55

)

ext_lock_detect_fref

( 55

)

Direction

Input

Output

Output

Output

Output

Clock Domain

Asynchronous

Asynchronous

N/A

N/A

N/A

Description

2-bit rate switch control input used for

PCIe protocol implementation.

2-bit rate switch status output used for

PCIe protocol implementation.

The ATX PLL output clock is used to drive fPLL reference clock input (only available in SDI_cascade or

OTN_cascade protocol mode).

Clklow

output for external lock detection. It can be exposed by selecting the Enable clklow and fref port

Fref output for external lock detection.

It can be exposed by selecting the

Enable clklow and fref port.

Related Information

Calibration

on page 29

• Avalon Interface Specifications

The ports related to reconfiguration are compliant with the Avalon specification.

Refer to the Avalon specification for more details about these ports.

• Intel Arria 10 Device Datasheet

Refer to the Intel Arria 10 Device Datasheet for more details about the PLL output frequency range.

Reconfiguration Interface and Dynamic Reconfiguration

on page 502

Reconfiguring Channel and PLL Blocks on page 503

Steps to Perform Dynamic Reconfiguration

on page 516

• Intel Arria 10 device fPLL reports an unlocked condition

3.1.3. fPLL

There are two fPLLs in each transceiver bank with six channels (one located at the top and the other at the bottom of the bank). Transceiver banks with three channels have only one fPLL.

Figure 171. fPLL Block Diagram

Dedicated Reference Clock Pin

Reference Clock Network

Receiver Input Pin

Output of Another PLL with PLL Cascading

Global Clock or Core Clock

Refclk

Multiplexer

Input

Reference

Clock

N Counter refclk

PFD

Up

Down

Charge

Pump and

Loop Filter fbclk

VCO /2

/2

L Counter

/1, 2, 4, 8

M Counter

Delta Sigma

Modulator

C Counter

(55)

The fPLL fref

and detection logic.

clklow

signals should only be used with the Intel external soft lock

Intel ® Arria ® 10 Transceiver PHY User Guide

359

Note:

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

When in core mode, for the fPLL to generate output clocks with a fixed frequency and phase relation to an input reference clock, the Enable phase alignment option must be selected. In the fractional frequency mode, the fPLL supports data rates from 1

Gbps to 12.5 Gbps.

Input Reference Clock

This is the dedicated input reference clock source for the PLL.

The input reference clock can be sourced from one of the following:

• Dedicated reference clock pin

• Reference clock network

• Receiver input pin

• Output of another PLL with PLL cascading

• Global clock or the core clock network

The input reference clock is a differential signal. Intel recommends using the dedicated reference clock pin as the input reference clock source for best jitter performance. For protocol jitter compliance at data rates > 10 Gbps, Intel recommends using the dedicated reference clock pin in the same triplet with the fPLL as the input reference clock source.The input reference clock must be stable and freerunning at device power-up for proper PLL operation. If the reference clock is not available at device power-up, then you must recalibrate the PLL when the reference clock is available.

Sourcing reference clock from a cascaded PLL output, global clock or core clock network introduces additional jitter to the fPLL output. Refer to KDB "How do I compensate for the jitter of PLL cascading or non-dedicated clock path for Arria 10 PLL reference clock?" for more details.

The fPLL calibration is clocked by the CLKUSR clock, which must be stable and

available for the calibration to proceed. Refer to the Calibration on page 567 section

for details about PLL calibration and CLKUSR clock.

Reference Clock Multiplexer

The refclk

mux selects the reference clock to the PLL from the various available reference clock sources.

N Counter

The N counter divides the reference clock ( refclk

) mux's output. The N counter division helps lower the loop bandwidth or reduce the frequency within the phase frequency detector's (PFD) operating range. The N counter supports division factors from 1 to 32.

Phase Frequency Detector

The reference clock

(refclk)

signal at the output of the N counter block and the feedback clock

(fbclk)

signal at the output of the M counter block are supplied as an inputs to the PFD. The output of the PFD is proportional to the phase difference between the refclk

and fbclk

inputs. The PFD aligns the fbclk

to the refclk

The PFD generates an "Up" signal when the reference clock's falling edge occurs

.

Intel ®

360

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

before the feedback clock's falling edge. Conversely, the PFD generates a "Down" signal when the feedback clock's falling edge occurs before the reference clock's falling edge.

Charge Pump and Loop Filter (CP + LF)

The PFD output is used by the charge pump and loop filter to generate a control voltage for the VCO. The charge pump translates the "Up"/"Down" pulses from the

PFD into current pulses. The current pulses are filtered through a low pass filter into a control voltage that drives the VCO frequency.

Voltage Controlled Oscillator

The fPLL has a ring oscillator based VCO. The VCO transforms the input control voltage into an adjustable frequency clock.

VCO freq = 2 * M * Input reference clock/N. (N and M are the N counter and M counter division factors.)

L Counter

The L counter divides the VCO's clock output. When the fPLL acts as a transmit PLL, the output of the L counter drives the clock generation block (CGB) and the TX PMA via the X1 clock lines.

M Counter

The M counter divides the VCO's clock output. The M counter can select any VCO phase. The outputs of the M counter and N counter have same frequency. M counter range is 8 to 127 in integer mode and 11 to 123 in fractional mode.

Delta Sigma Modulator

The delta sigma modulator is used in fractional mode. It modulates the M counter divide value over time so that the PLL can perform fractional frequency synthesis.

In fractional mode, the M value is as follows:

M (integer) + K/2^32, where K is the fractional multiply factor (K) in the fPLL IP

Parameter Editor. The legal values of K are greater than 1% and less than 99% of the full range of 2^32 and can only be manually entered in the fPLL IP Parameter Editor in the Quartus Prime software.

The output frequencies can be exact when the fPLL is configured in fractional mode.

Due to the K value 32-bit resolution, translating to 1.63 Hz step for a 7 GHz VCO frequency, not all desired fractional values can be achieved exactly. The lock signal is not available, when configured in fractional mode in the K-precision mode (K < 0.1 or

K > 0.9).

C Counter

The fPLL C counter division factors range from 1 to 512.

Dynamic Phase Shift

The dynamic phase shift block allows you to adjust the phase of the C counters in user mode. In fractional mode, dynamic phase shift is only available for the C counters.

Intel ® Arria ® 10 Transceiver PHY User Guide

361

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Latency

The C counters can be configured to select any VCO phase and a delay of up to 128 clock cycles. The selected VCO phase can be changed dynamically.

Related Information

Calibration

on page 567

Calibration

on page 567

Details about PLL calibration

• How do I compensate for the jitter of PLL cascading or non-dedicated clock path for Arria 10 PLL reference clock?

3.1.3.1. Instantiating the fPLL IP Core

The fPLL IP core for Arria 10 transceivers provides access to fPLLs in hardware. One instance of the fPLL IP core represents one fPLL in the hardware.

1. Open the Quartus Prime software.

2. Click ToolsIP Catalog.

3. In IP Catalog, under Library

Transceiver PLL , select Arria 10 Transceiver

fPLL IP core and click Add.

4. In the New IP Instance dialog box, provide the IP instance name.

5. Select the Arria 10 device family.

6. Select the appropriate device and click OK.

The fPLL IP core Parameter Editor window opens.

3.1.3.2. fPLL IP Core

Table 234.

fPLL IP Core Configuration Options, Parameters, and Settings fPLL Mode

Parameters

Protocol Mode

Range

Core

Cascade Source

Transceiver

Description

Specifies the fPLL mode of operation.

Select Core to use fPLL as a general purpose PLL to drive the FPGA core clock network.

Select Cascade Source to connect an fPLL to another PLL as a cascading source.

Select Transceiver to use an fPLL as a transmit PLL for the transceiver block.

Governs the internal setting rules for the VCO.

This parameter is not a preset. You must set all parameters for your protocol.

Enable fractional mode

Basic

PCIe* Gen1

PCIe Gen2

PCIe Gen3

SDI_cascade

OTN_cascade

SDI_direct

SATA TX

OTN_direct

SATA_Gen3

HDMI

On/Off Enables the fractional frequency mode.

continued...

Intel ®

362

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Divide factor (N-counter)

Divide factor (L-counter)

Divide factor (K-counter)

PLL output frequency

PLL Datarate

Parameters

Enable physical output clock parameters

Enable clklow and fref ports (56)

Desired Reference clock frequency

Actual reference clock frequency

Number of PLL reference clocks

New parameter: Selected reference clock source

Bandwidth

Operation mode

Multiply factor (M-counter)

Range

On/Off

On/Off

Description

This enables the PLL to output frequencies which are not integral multiples of the input reference clock.

Selecting this option allows you to manually specify M, N, C and L counter values.

Enables fref and clklow clock ports for external lock detector. In Transceiver mode when "enable fractional mode" and "SDI_direct" prot_mode are selected,

pll_locked port is not available and user can create external lock detector using fref and clklow clock ports.

Refer to the GUI Specifies the desired PLL input reference clock frequency.

Read-only Displays the actual PLL input reference clock frequency.

1 to 5

0 to 4

Specify the number of input reference clocks for the fPLL.

Specifies the initially selected reference clock input to the fPLL.

Specifies the VCO bandwidth.

Higher bandwidth reduces PLL lock time, at the expense of decreased jitter rejection.

Low

Medium

High

Direct

Feedback compensation bonding

8 to 127

(integer mode)

11 to 123

(fractional mode)

Specifies the feedback operation mode for the fPLL.

Specifies the multiply factor (M-counter).

1 to 31

1, 2, 4, 8

User defined

Read-only

Read-only

Specifies the divide factor (N-counter).

Specifies the divide factor (L-counter).

Specifies the divide factor (K-counter).

Displays the target output frequency for the PLL.

Displays the PLL datarate.

Table 235.

fPLL—Master Clock Generation Block Parameters and Settings

Parameters

Include Master Clock Generation

Block

Clock division factor

Enable x6/xN non-bonded highspeed clock output port

Enable PCIe clock switch interface

Range

On/Off

1, 2, 4, 8

On/Off

On/Off

Description

When enabled, includes a master CGB as a part of the fPLL

IP core. The PLL output drives the master CGB.

This is used for x6/xN bonded and non-bonded modes.

Divides the master CGB clock input before generating bonding clocks.

Enables the master CGB serial clock output port used for x6/xN non-bonded modes.

Enables the control signals used for PCIe clock switch circuitry.

continued...

(56)

The fPLL fref

and detection logic.

clklow

signals should only be used with the Intel external soft lock

Intel ® Arria ® 10 Transceiver PHY User Guide

363

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Parameters

MCGB input clock frequency

MCGB output data rate

Enable bonding clock output ports

Enable feedback compensation bonding

PMA interface width

Range

Read only

Read only

On/Off

On/Off

8, 10, 16, 20,

32, 40, 64

Description

Displays the master CGB’s required input clock frequency.

You cannot set this parameter.

Displays the master CGB’s output data rate. You cannot set this parameter.

This value is calculated based on MCGB input clock frequency and MCGB clock division factor.

Enables the tx_bonding_clocks

output ports of the

Master CGB used for channel bonding.

You must enable this parameter for bonded designs.

Enables the feedback output path of the master CGB used for feedback compensation bonding. When enabled, the feedback connections are automatically handled by the PLL

IP.

Specifies the PMA-PCS interface width.

Match this value with the PMA interface width selected for the Native PHY IP core. You must select a proper value for generating bonding clocks for the Native PHY IP core.

Table 236.

fPLL—Dynamic Reconfiguration Parameters and Settings

Parameter

Enable reconfiguration

Enable Altera Debug Master

Endpoint

Separate reconfig_waitrequest from the status of AVMM arbitration with PreSICE

Enable capability registers

Set user-defined IP identifier

Enable control and status registers

Configuration file prefix

Generate SystemVerilog package

file

Generate C header file

Generate MIF (Memory Initialize

File)

Range

On/Off

On/Off

On/Off

On/Off

On/Off

On/Off

On/Off

On/Off

Description

Enables the PLL reconfiguration interface. Enables the simulation models and adds more ports for reconfiguration.

When you turn this option ON, the transceiver PLL IP core includes an embedded Altera Debug Master Endpoint

(ADME) that connects internally to the Avalon-MM slave interface for dynamic reconfiguration. The ADME can access the reconfiguration space of the transceiver. It can perform certain test and debug functions via JTAG using the System

Console. Refer to the Reconfiguration Interface and

Dynamic Reconfiguration chapter for more details.

When enabled, the reconfig_waitrequest

does not indicate the status of AVMM arbitration with PreSICE. The

AVMM arbitration status is reflected in a soft status register bit. (Only available if "Enable control and status registers feature" is enabled).

Enables capability registers that provide high-level information about the fPLL's configuration.

Sets a user-defined numeric identifier that can be read from the user_identifier are enabled.

offset when the capability registers

Enables soft registers for reading status signals and writing control signals on the PLL interface through the embedded debug logic.

Enter the prefix name for the configuration files to be generated.

Generates a SystemVerilog package file containing all relevant parameters used by the PLL.

Generates a C header file containing all relevant parameters used by the PLL.

Generates a MIF file that contains the current configuration.

Use this option for reconfiguration purposes in order to switch between different PLL configurations.

Intel ®

364

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Table 237.

Clock Switchover (between Dynamic Reconfiguration and General Options)

Clock Switchover Parameter

Create a second input clock pllrefclk1

Second Reference Clock Frequency User Defined

Switchover Mode

Switchover Delays

Create an active_clk signal to indicate the input clock in use

Create a clkbad signal for each of the input clocks

On/Off

Automatic Switchover

Manual Switchover

Automatic Switchover with Manual

Override

0 to 7

On/Off

On/Off

Range Description

Turn on this parameter to have a backup clock attached to your fPLL that can switch with your original reference clock

Specifies the second reference clock frequency for fPLL

Specifies how Input frequency switchover is handled. Automatic

Switchover uses built in circuitry to detect if one of your input clocks has stopped toggling and switch to the other.

Manual Switchover creates an

EXTSWITCH

signal which can be used to manually switch the clock by asserting high for at least 3 cycles.

Automatic Switchover with Manual

Override acts as Automatic Switchover until the

EXTSWITCH

goes high, in which case it switches and ignores any automatic switches as long as

EXTSWITCH

stays high.

Adds a specific amount of cycle delay to the Switchover Process.

This parameter creates an output that indicates which input clock is currently in use by the PLL. Low indicates refclk

, High indicates refclk1.

This parameter creates two outputs, one for each input clock. Low indicates the

CLK clkbad

is working, High indicates the

CLK

is not working.

Table 238.

fPLL - Generation Options

Parameter

Generates parameter documentation file

Direction

On/Off

Description

Generates a .csv file that contains descriptions of all the fPLL parameters and values.

Table 239.

fPLL IP Core Ports

Port pll_powerdown

Direction input

Clock Domain

Asynchronous pll_refclk0

pll_refclk1 input input

N/A

N/A

Description

Resets the PLL when asserted high.

Needs to be connected to a dynamically controlled signal (the

Transceiver PHY Reset Controller pll_powerdown output if using this

Intel FPGA IP).

Reference clock input port 0.

There are five reference clock input ports. The number of reference clock ports available depends on the

Number of PLL reference clocks parameter.

Reference clock input port 1.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

365

pll_refclk2 pll_refclk3 pll_refclk4 tx_serial_clk

Port pll_locked hssi_pll_cascade_clk pll_pcie_clk reconfig_clk0 reconfig_reset0 reconfig_write0 reconfig_read0 reconfig_address0[9:0] reconfig_writedata0[31:0] reconfig_readdata0[31:0] reconfig_waitrequest0 pll_cal_busy mcgb_rst mcgb_aux_clk0 tx_bonding_clocks[5:0] mcgb_serial_clk pcie_sw[1:0]

Direction input input input output output output output input input input input input input output output output input input output output input

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Clock Domain

N/A

N/A

N/A

N/A

Asynchronous

N/A

N/A

N/A reconfig_clk0 reconfig_clk0 reconfig_clk0 reconfig_clk0 reconfig_clk0 reconfig_clk0 reconfig_clk0

Asynchronous

Asynchronous

N/A

N/A

N/A

Asynchronous

Description

Reference clock input port 2.

Reference clock input port 3.

Reference clock input port 4.

High speed serial clock output port for GX channels. Represents the x1 clock network.

Active high status signal which indicates if PLL is locked.

fPLL cascade clock output port

Used for PCIe.

Optional Avalon interface clock. Used for PLL reconfiguration.

Used to reset the Avalon interface.

Asynchronous to assertion and synchronous to deassertion.

Active high write enable signal.

Active high read enable signal.

10-bit address bus used to specify address to be accessed for both read and write operations.

32-bit data bus. Carries the write data to the specified address.

32-bit data bus. Carries the read data from the specified address.

Indicates when the Avalon interface signal is busy. When asserted, all inputs must be held constant.

Status signal which is asserted high when PLL calibration is in progress.

Perform logical OR with this signal and the tx_cal_busy reset controller IP.

port on the

Master CGB reset control.

Deassert this reset at the same time as pll_powerdown

.

Used for PCIe to switch between fPLL/ATX PLL during link speed negotiation.

Optional 6-bit bus which carries the low speed parallel clock outputs from the Master CGB.

Used for channel bonding, and represents the x6/xN clock network.

High speed serial clock output for x6/xN non-bonded configurations.

2-bit rate switch control input used for PCIe protocol implementation.

continued...

Intel ®

366

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Port pcie_sw_done[1:0] atx_to_fpll_cascade_clk fpll_to_fpll_cascade_clk active_clk outclk0 outclk1 outclk2 outclk3 ext_lock_detect_clklow

( 57

) ext_lock_detect_fref

( 57

) phase_reset phase_en updn cntsel[3:0]

Direction output input output output output output output output output output input input input input

Clock Domain

Asynchronous

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

Description

2-bit rate switch status output used for PCIe protocol implementation.

Enables fPLL to ATX PLL cascading clock input port.

fPLL to fPLL cascade output port

(only in Core mode)

Creates an output signal that indicates the input clock being used by the PLL. A logic Low on this signal indicates refclk0

is being used and a logic High indicates refclk1

Clock Switchover enabled)

is being used (only in Core mode with

Core output clock 0. (only in Core mode)

There are four core fPLL output clock output ports. The number of output clock available depends on the

Selected reference clock source

Core output clock 1. (only in Core mode)

Core output clock 2. (only in Core mode)

Core output clock 3. (only in Core mode)

Clklow output for external lock detection. It can be exposed by selecting the Enable clklow and

fref port.

Fref output for external lock detection It can be exposed by selecting the Enable clklow and fref port.

Dynamic phase shift reset input signal. To be connected to DPS soft

IP phase_reset output.

Dynamic phase shift enable input signal. To be connected to DPS soft

IP phase_en output.

Dynamic phase shift updn input signal. To be connected to DPS soft

IP updn output.

Dynamic phase shift counter bus. To be connected to DPS soft IP cntsel output bus.

Related Information

Calibration

on page 29

Reconfiguration Interface and Dynamic Reconfiguration

on page 502

(57)

The fPLL fref

and detection logic.

clklow

signals should only be used with the Intel external soft lock

Intel ® Arria ® 10 Transceiver PHY User Guide

367

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

• Avalon Interface Specifications

The ports related to reconfiguration are compliant with the Avalon

Specification. Refer to the Avalon Specification for more details about these ports.

• Intel Arria 10 device fPLL reports an unlocked condition

3.1.4. CMU PLL

The clock multiplier unit (CMU) PLL resides locally within each transceiver channel.The

channel PLL's primary function is to recover the receiver clock and data in the transceiver channel. In this case the PLL is used in clock and data recovery (CDR) mode.

When the channel PLL of channels 1 or 4 is configured in the CMU mode, the channel

PLL can drive the local clock generation block (CGB) of its own channel, then the channel cannot be used as a receiver.

The CMU PLL from transceiver channel 1 and channel 4 can also be used to drive other transceiver channels within the same transceiver bank. The CDR of channels 0, 2, 3, and 5 cannot be configured as a CMU PLL.

For datarates lower than 6 Gbps, the local CGB divider has to be engaged (TX local division factor in transceiver PHY IP under the TX PMA tab) .

Figure 172. CMU PLL Block Diagram

User Control

(LTR/LTD)

Lock to

Reference

Controller

Lock

Detector

Lock to Reference

PLL Lock Status

Note:

Reference clock network

Receiver input pin

Refclk

Multiplexer

Input reference

clock

N Counter

CP &

LF refclk

Up

PFD

Down fbclk

VCO L Counter

M Counter

Output

Input Reference Clock

The input reference clock for a CMU PLL can be sourced from either the reference clock network or a receiver input pin. The input reference clock is a differential signal.

For protocol jitter compliance at data rates > 10 Gbps, Intel recommends using the dedicated reference clock pin in the same triplet with the CMU PLL as the input reference clock source.The input reference clock must be stable and free-running at device power-up for proper PLL operation. If the reference clock is not available at device power-up, then you must recalibrate the PLL when the reference clock is available. Refer to the Calibration section for details about PLL calibration and the

CLKUSR

clock requirement.

The CMU PLL calibration is clocked by the

CLKUSR

clock which must be stable and available for calibration to proceed. Refer to the Calibration section for more details about the

CLKUSR

clock.

Reference Clock Multiplexer (Refclk Mux)

Intel ®

368

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

The refclk mux selects the input reference clock to the PLL from the various reference clock sources available.

N Counter

The N counter divides the refclk mux's output. The N counter division helps lower the loop bandwidth or reduce the frequency to within the phase frequency detector's

(PFD) operating range. Possible divide ratios are 1 (bypass), 2, 4, and 8.

Phase Frequency Detector (PFD)

The reference clock

(refclk)

signal at the output of the N counter block and the feedback clock ( fbclk

) signal at the output of the M counter block is supplied as an input to the PFD. The PFD output is proportional to the phase difference between the two inputs. It aligns the input reference clock ( refclk

) to the feedback clock

( fbclk

). The PFD generates an "Up" signal when the reference clock's falling edge occurs before the feedback clock's falling edge. Conversely, the PFD generates a

"Down" signal when feedback clock's falling edge occurs before the reference clock's falling edge.

Charge Pump and Loop Filter (CP + LF)

The PFD output is used by the charge pump and loop filter to generate a control voltage for the VCO. The charge pump translates the "Up"/"Down" pulses from the

PFD into current pulses. The current pulses are filtered through a low pass filter into a control voltage which drives the VCO frequency.

Voltage Controlled Oscillator (VCO)

The CMU PLL has a ring oscillator based VCO. For VCO frequency range, refer to the datasheet.

L Counter

The L counter divides the differential clocks generated by the CMU PLL.

M Counter

The M counter is used in the PFD's feedback path. The output of the L counter is connected to the M counter. The combined division ratios of the L counter and the M counter determine the overall division factor in the PFD's feedback path.

Lock Detector (LD)

The lock detector indicates when the CMU PLL is locked to the desired output's phase and frequency. The lock detector XORs the "Up"/"Down" pulses and indicates when the

M counter's output and N counter's output are phase-aligned.

The reference clock ( too high.

refclk

) and feedback clock ( fbclk

) are sent to the PCS's ppm detector block. There is a pre-divider to lower the frequency in case the frequency is

Related Information

Calibration

on page 567

• IntelArria 10 Device Datasheet

Intel ® Arria ® 10 Transceiver PHY User Guide

369

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

3.1.4.1. Instantiating CMU PLL IP Core

The CMU PLL IP core for Arria 10 transceivers provides access to the CMU PLLs in hardware. One instance of the CMU PLL IP core represents one CMU PLL in hardware.

1. Open the Quartus Prime software.

2. Click ToolsIP Catalog.

3. In IP Catalog, under Library

Transceiver PLL , select Arria 10 Transceiver

CMU PLL and click Add.

4. In the New IP Instance Dialog Box, provide the IP instance name.

5. Select Arria 10 device family.

6. Select the appropriate device and click OK.

The CMU PLL IP core Parameter Editor window opens.

3.1.4.2. CMU PLL IP Core

Table 240.

CMU PLL Parameters and Settings

Parameters

Message level for rule violations

Range

Error

Warning

Bandwidth

Number of PLL reference clocks

Low

Medium

High

1 to 5

Description

Specifies the messaging level to use for parameter rule violations.

• Error - Causes all rule violations to prevent IP generation.

• Warning - Displays all rule violations as warnings and allows IP generation in spite of violations.

Specifies the VCO bandwidth.

Higher bandwidth reduces PLL lock time, at the expense of decreased jitter rejection.

Selected reference clock source

TX PLL Protocol mode

PLL reference clock frequency

PLL output frequency

Multiply factor (M-Counter)

Divide factor (N-Counter)

Divide factor (L-Counter)

0 to 4

BASIC

PCIe

Refer to the GUI

Refer to the GUI

Read only

Read only

Read only

Specifies the number of input reference clocks for the CMU

PLL.

You can use this parameter for data rate reconfiguration.

Specifies the initially selected reference clock input to the

CMU PLL.

This parameter governs the rules for correct protocol specific settings. Certain features of the PLL are only available for specific protocol configuration rules. This parameter is not a preset .

You must set all the other parameters for your protocol.

Selects the input reference clock frequency for the PLL.

Specify the target output frequency for the PLL.

Displays the M-multiplier value.

Displays the N-counter value.

Displays the L-counter value.

Intel ®

370

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Table 241.

CMU PLL—Dynamic Reconfiguration

Parameters

Enable dynamic reconfiguration

Range

On/Off

Enable Altera Debug Master

Endpoint

Separate reconfig_waitrequest from the status of AVMM arbitration with PreSICE

Enable capability registers

Set user-defined IP identifier

Enable control and status registers

Configuration file prefix

Generate SystemVerilog package file

Generate C header file

Generate MIF (Memory Initialize

File)

On/Off

On/Off

On/Off

On/Off

On/Off

On/Off

On/Off

Description

Enables the PLL reconfiguration interface. Enables the simulation models and adds more ports for reconfiguration.

When you turn this option On, the transceiver PLL IP core includes an embedded Altera Debug Master Endpoint that connects internally to the Avalon-MM slave interface for dynamic reconfiguration. The ADME can access the reconfiguration space of the transceiver. It can perform certain test and debug functions via JTAG using the System

Console. Refer to the Reconfiguration Interface and

Dynamic Reconfiguration chapter for more details.

When enabled, the reconfig_waitrequest

does not indicate the status of AVMM arbitration with PreSICE. The

AVMM arbitration status is reflected in a soft status register bit. (Only available if "Enable control and status registers feature" is enabled).

Enables capability registers that provide high- level information about the CMU PLL's configuration.

Sets a user-defined numeric identifier that can be read from the user_identifier are enabled.

offset when the capability registers

Enables soft registers for reading status signals and writing control signals on the PLL interface through the embedded debug logic.

Enter the prefix name for the configuration files to be generated.

Generates a SystemVerilog package file containing all relevant parameters used by the PLL.

Generates a C header file containing all relevant parameters used by the PLL.

Generates a MIF file that contains the current configuration.

Use this option for reconfiguration purposes in order to switch between different PLL configurations.

Table 242.

CMU PLL—Generation Options

Parameters

Generate parameter documentation file

Range

On/Off

Table 243.

CMU PLL IP Ports

Port pll_powerdown pll_refclk0

Range input input pll_refclk1 pll_refclk2 input input

Description

Generates a .csv file which contains the descriptions of all

CMU PLL parameters and values.

Clock Domain

Asynchronous

N/A

N/A

N/A

Description

Resets the PLL when asserted high.

Reference clock input port 0.

There are 5 reference clock input ports. The number of reference clock ports available depends on the

Number of PLL reference clocks parameter.

Reference clock input port 1.

Reference clock input port 2.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

371

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

pll_refclk3 pll_refclk4 tx_serial_clk

Port pll_locked reconfig_clk0 reconfig_reset0 reconfig_write0 reconfig_read0 reconfig_address0[9:0] reconfig_writedata0[31:0] reconfig_readdata0[31:0] reconfig_waitrequest0 pll_cal_busy

Range input input output output input input input input input input output output output

Clock Domain

N/A

N/A

Description

Reference clock input port 3.

Reference clock input port 4.

N/A

Asynchronous

N/A

High speed serial clock output port for

GX channels. Represents the x1 clock network.

Active high status signal which indicates if PLL is locked.

Optional Avalon interface clock. Used for PLL reconfiguration. The reconfiguration ports appear only if the

Enable Reconfiguration parameter is selected in the PLL IP Core GUI. When this parameter is not selected, the ports are set to OFF internally.

reconfig_clk0

Used to reset the Avalon interface.

Asynchronous to assertion and synchronous to deassertion.

reconfig_clk0

Active high write enable signal.

reconfig_clk0

Active high read enable signal.

reconfig_clk0

10-bit address bus used to specify address to be accessed for both read and write operations.

reconfig_clk0

32-bit data bus. Carries the write data to the specified address.

reconfig_clk0

32-bit data bus. Carries the read data from the specified address.

reconfig_clk0

Indicates when the Avalon interface signal is busy. When asserted, all inputs must be held constant.

Asynchronous Status signal that is asserted high when PLL calibration is in progress.

Perform logical OR with this signal and the tx_cal_busy controller IP.

port on the reset

Related Information

Calibration

on page 29

Reconfiguration Interface and Dynamic Reconfiguration

on page 502

• Avalon Interface Specifications

The ports related to reconfiguration are compliant with the Avalon

Specification. Refer to the Avalon Specification for more details about these ports.

3.2. Input Reference Clock Sources

The transmitter PLL and the clock data recovery (CDR) block need an input reference clock source to generate the clocks required for transceiver operation. The input reference clock must be stable and free-running at device power-up for proper PLL calibrations.

Intel ®

372

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Arria 10 transceiver PLLs have five possible input reference clock sources, depending on jitter requirements:

• Dedicated reference clock pins

• Reference clock network

• The output of another fPLL with PLL cascading (

58 )

• Receiver input pins

• Global clock or core clock

( 58

)

For the best jitter performance, Intel recommends placing the reference clock as close as possible, to the transmit PLL. For protocol jitter compliance at data rates > 10

Gbps, place the reference clock pin in the same triplet as the transmit PLL.

The following protocols require the reference clock to be placed in same bank as the transmit PLL:

• OTU2e, OTU2, OC-192 and 10G PON

• 6G and 12G SDI

Note: Sourcing a reference clock from a cascaded PLL output, global clock or core clock network introduces additional jitter to transmit PLL output. Refer to KDB "How do I compensate for the jitter of PLL cascading or non-dedicated clock path for Arria 10 PLL reference clock?" for more details.

For optimum performance of GT channel, the reference clock of transmit PLL is recommended to be from a dedicated reference clock pin in the same bank.

Figure 173. Input Reference Clock Sources

Reference Clock

Network

Dedicated refclk pin

(2)

Input

Reference

Clock

fPLL

Serial Clock

RX pin 2

RX pin 1

RX pin 0

(1) fPLL or ATX PLL

(3) Global or

Core Clock

Note:

Note : (1) You can choose only one of the three RX pins to be used as an input reference clock source. Any RX pin on the same side

of the device can be used as an input reference clock.

(2) Dedicated refclk pin can be used as an input reference clock source only for ATX or fPLL or to the reference clock network.

Reference clock network can then drive the CMU PLL.

(3) The output of another PLL can be used as an input reference clock source during PLL cascading. Arria 10 transceivers support fPLL to fPLL cascading.

• In Arria 10 devices, the FPGA fabric core clock network can be used as an input reference source for any PLL type.

• To successfully complete the calibration process, the reference clocks driving the

PLLs (ATX PLL, fPLL, CDR/CMU PLL) must be stable and free running at start of

FPGA configuration. Otherwise, recalibration is necessary.

(58) Not available for CMU.

Intel ® Arria ® 10 Transceiver PHY User Guide

373

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Related Information

Calibration

on page 567

For more information about the calibration process

3.2.1. Dedicated Reference Clock Pins

To minimize the jitter, the advanced transmit (ATX) PLL and the fractional PLL (fPLL) can source the input reference clock directly from the reference clock buffer without passing through the reference clock network. The input reference clock is also fed into the reference clock network.

Figure 174. Dedicated Reference Clock Pins

There are two dedicated reference clock ( refclk

) pins available in each transceiver bank. The bottom refclk pin feeds the bottom ATX PLL, fPLL, and CMU PLL. The top refclk

pin feeds the top ATX PLL, fPLL, and CMU

PLL. The dedicated reference clock pins can also drive the reference clock network.

Reference Clock

Network fPLL1

From PLL

Cascading Clock

Network

CH5

CDR PLL

CH4

CMU PLL

CH3

CDR PLL

Reference Clock

Network

ATX PLL1

Refclk

From PLL Feedback and Cascading Clock

Network fPLL0

From PLL

Cascading Clock

Network

CH2

CDR PLL

CH1

CMU PLL

CH0

CDR PLL

Reference Clock

Network

Input Reference Clock to the PLLs

Can Come from Either the Reference

Clock Network or the PLL Feedback and Cascading Clock Network

ATX PLL0

From PLL Feedback and Cascading Clock

Network

Refclk

ATX and fPLL Can Receive the

Input Reference Clock from a

Dedicated refclk Pin

3.2.2. Receiver Input Pins

Receiver input pins can be used as an input reference clock source to transceiver PLLs.

However, they cannot be used to drive core fabric.

Intel ®

374

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

The receiver input pin drives the feedback and cascading clock network, which can then feed any number of transmitter PLLs on the same side of the device. When a receiver input pin is used as an input reference clock source, the clock data recovery

(CDR) block of that channel is not available. As indicated in Figure 173 on page 373,

only one RX differential pin pair per three channels can be used as an input reference clock source at any given time.

3.2.3. PLL Cascading as an Input Reference Clock Source

In PLL cascading, PLL outputs are connected to the feedback and cascading clock network. The input reference clock to the first PLL can be sourced from the same network. In this mode, the output of one PLL drives the reference clock input of another PLL. PLL cascading can generate frequency outputs not normally possible with a single PLL solution. The transceiver in Arria 10 devices support fPLL to fPLL cascading, with only maximum two fPLLs allowed in the cascading chain. ATX PLL to fPLL cascading is available to OTN and SDI protocols only.

Note: • To successfully complete the calibration process, the reference clocks driving the

PLLs (ATX PLL, fPLL, CDR/CMU PLL) must be stable and free running at start of

FPGA configuration. Otherwise, recalibration is necessary.

• When the fPLL is used as a cascaded fPLL (downstream fPLL), a user recalibration on the fPLL is required. Refer to "User Recalibration" section in "Calibration" chapter for more information.

Related Information

Calibration

on page 567

For more information about the calibration process

3.2.4. Reference Clock Network

The reference clock network distributes a reference clock source to either the entire left or right side of the FPGA where the transceivers reside. This allows any reference clock pin to drive any transmitter PLL on the same side of the device. Designs using multiple transmitter PLLs which require the same reference clock frequency and are located along the same side of the device, can share the same dedicated reference clock ( refclk

) pin.

3.2.5. Global Clock or Core Clock as an Input Reference Clock

The global clock or the core clock can be used as an input reference clock for any PLL type.

The global or core clock network routes the clock directly to the PLL. In this case the

PLL reference clock network is not used. For best performance, use the dedicated reference clock pins or the reference clock network.

3.3. Transmitter Clock Network

The transmitter clock network routes the clock from the transmitter PLL to the transmitter channel. It provides two types of clocks to the transmitter channel:

• High Speed Serial clock—high-speed clock for the serializer.

• Low Speed Parallel clock—low-speed clock for the serializer and the PCS.

Intel ® Arria ® 10 Transceiver PHY User Guide

375

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

In a bonded channel configuration, both the serial clock and the parallel clock are routed from the transmitter PLL to the transmitter channel. In a non-bonded channel configuration, only the serial clock is routed to the transmitter channel, and the parallel clock is generated locally within the channel. To support various bonded and non-bonded clocking configurations, four types of transmitter clock network lines are available:

• x1 clock lines

• x6 clock lines

• xN clock lines

• GT clock lines

Related Information

Unused/Idle Clock Line Requirements on page 389

For more information about unused or idle transceiver clock lines in the design.

3.3.1. x1 Clock Lines

The x1 clock lines route the high speed serial clock output of a PLL to any channel within a transceiver bank. The low speed parallel clock is then generated by that particular channel's local clock generation block (CGB). Non-bonded channel configurations use the x1 clock network.

The x1 clock lines can be driven by the ATX PLL, fPLL, or by either one of the two channel PLLs (channel 1 and 4 when used as a CMU PLL) within a transceiver bank.

Intel ®

376

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Figure 175. x1 Clock Lines x1 Network

Ch 5

CGB fPLL1

Master

CGB

CDR

Ch 4

CGB

ATX PLL1 CMU or CDR

Ch 3

CGB

CDR

Ch 2

CGB fPLL0

Master

CGB

CDR

Ch 1

CGB

ATX PLL0 CMU or CDR

Ch 0

CGB

CDR

3.3.2. x6 Clock Lines

The x6 clock lines route the clock within a transceiver bank. The x6 clock lines are driven by the master CGB. The master CGB can only be driven by the ATX PLL or the fPLL. Because the CMU PLLs cannot drive the master CGB, the CMU PLLs cannot be used for bonding purposes. There are two x6 clock lines per transceiver bank, one for each master CGB. Any channel within a transceiver bank can be driven by the x6 clock lines.

Intel ® Arria ® 10 Transceiver PHY User Guide

377

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

For bonded configuration mode, the low speed parallel clock output of the master CGB is used and the local CGB within each channel is bypassed. For non-bonded configurations, the master CGB also provides a high speed serial clock output to each channel without bypassing the local CGB within each channel.

The x6 clock lines also drive the xN clock lines which route the clocks to the neighboring transceiver banks.

Figure 176. x6 Clock Lines x6

Top x6

Network x6

Bottom

CGB

Ch 5

CDR

Ch 4

CGB

Master

CGB

CGB

CMU or CDR

Ch 3

CDR

Ch 2

CGB

CDR

Ch 1

CGB

Master

CGB

CGB

CMU or CDR

Ch 0

CDR

Intel ®

378

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

3.3.3. xN Clock Lines

The xN clock lines route the transceiver clocks across multiple transceiver banks.

The master CGB drives the x6 clock lines and the x6 clock lines drive the xN clock lines. There are two xN clock lines: xN Up and xN Down. xN Up clock lines route the clocks to transceiver banks located above the master CGB and xN Down clock lines route the clocks to transceiver banks located below the master CGB. The xN clock lines can be used in both bonded and non-bonded configurations. For bonded configurations, the low speed parallel clock output of the master CGB is used, and the local CGB within each channel is bypassed. For non-bonded configurations, the master

CGB provides a high speed serial clock output to each channel.

Intel ® Arria ® 10 Transceiver PHY User Guide

379

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Figure 177. xN Clock Network

Master

CGB1

Master

CGB0 xN Up xN Down x6

Top x6

Bottom

CGB

CGB

CGB

CGB

CGB

CGB

CMU or CDR

Ch 3

CDR

Ch 2

Ch 5

CDR

Ch 4

CDR

Ch 1

CMU or CDR

Ch 0

CDR xN Up xN Down

The maximum channel span of a xN clock network is two transceiver banks above and two transceiver banks below the bank that contains the driving PLL and the master

CGB. A maximum of 30 channels can be used in a single bonded or non-bonded xN group.

The maximum data rate supported by the xN clock network while driving channels in either the bonded or non-bonded mode depends on the voltage used to drive the transceiver banks.

Intel ®

380

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Related Information

Implementing x6/xN Bonding Mode

on page 404

x6/xN Bonding

on page 389

• IntelArria 10 Device Datasheet

3.3.4. GT Clock Lines

GT clock lines are dedicated clock lines available only in Arria 10 GT devices.

Each ATX PLL has two dedicated GT clock lines that connect the PLL directly to the transceiver channels within a transceiver bank. The top ATX PLL drives channels 3 and

4, and the bottom ATX PLL drives channels 0 and 1. These connections bypass the rest of the clock network for higher performance. These channels can be used only for non-bonded configurations.

Intel ® Arria ® 10 Transceiver PHY User Guide

381

Figure 178. GT Clock Lines

ATX PLL1

ATX PLL0

CGB

CGB

CGB

CGB

CGB

CGB

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Ch 5

CDR

Ch 4

CMU or CDR

Ch 3

CDR

Ch 2

CDR

Ch 1

CMU or CDR

Ch 0

CDR

Intel ®

382

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

3.4. Clock Generation Block

In Arria 10 devices, there are two types of clock generation blocks (CGBs)

• Local clock generation block (local CGB)

• Master clock generation block (master CGB)

Each transmitter channel has a local clock generation block (CGB). For non-bonded channel configurations, the serial clock generated by the transmit PLL drives the local

CGB of each channel. The local CGB generates the parallel clock used by the serializer and the PCS.

There are two standalone master CGBs within each transceiver bank. The master CGB provides the same functionality as the local CGB within each transceiver channel. The output of the master CGB can be routed to other channels within a transceiver bank using the x6 clock lines. The output of the master CGB can also be routed to channels in other transceiver banks using the xN clock lines. Each transmitter channel has a multiplexer to select its clock source from either the local CGB or the master CGB.

Intel ® Arria ® 10 Transceiver PHY User Guide

383

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Figure 179. Clock Generation Block and Clock Network

The local clock for each transceiver channel can be sourced from either the local CGB via the x1 network, or the master CGB via the x6/xN network. For example, as shown by the red highlighted path, the fPLL 1 drives the x1 network which in turn drives the master CGB. The master CGB then drives the x6 clock network which routes the clocks to the local channels. As shown by the blue highlighted path, the ATX PLL 0 can also drive the x1 clock network which can directly feed a channel's local CGB. In this case, the low speed parallel clock is generated by the local CGB.

x1

Network xN

Up xN

Down x6

Top x6

Bottom fPLL 1

ATX PLL 1 fPLL 0

ATX PLL 0

Master

CGB1

Master

CGB0

CGB

CGB

CGB

CGB

CGB

CGB

Ch 5

CDR

Ch 4

CMU or CDR

Ch 3

CDR

Ch 2

Transceiver

Bank

CDR

Ch 1

CMU or CDR

Ch 0

CDR

3.5. FPGA Fabric-Transceiver Interface Clocking

The FPGA fabric-transceiver interface consists of clock signals from the FPGA fabric into the transceiver and clock signals from the transceiver into the FPGA fabric. These clock signals use the global (GCLK), regional (RCLK), and periphery (PCLK) clock

Intel ®

384

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

networks in the FPGA core. If the Global Signal is set to Off, it does not choose any of the previously mentioned clock networks. Instead, it chooses directly from the local routing between transceiver and FPGA fabric.

The transmitter channel forwards a parallel output clock tx_clkout

to the FPGA fabric to clock the transmitter data and control signals. The receiver channel forwards a parallel output clock rx_clkout

to the FPGA fabric to clock the data and status signals from the receiver into the FPGA fabric. Based on the receiver channel configuration, the parallel output clock is recovered from either the receiver serial data or the rx_clkout

clock (in configurations without the rate matcher) or the tx_clkout

clock (in configurations with the rate matcher).

Figure 180. FPGA Fabric - Transceiver Interface Clocking

Transmitter PMA Transmitter Standard PCS FPGA

Fabric

Receiver PMA tx_clkout tx_pma_div_clkout

Receiver Standard PCS

PRBS

Generator

/2, /4 tx_coreclkin tx_clkout rx_coreclkin

Parallel Clock

(From Clock

Divider)

Parallel Clock

(Recovered)

Serializer

/66

/40

/33

/2 rx_clkout tx_clkout

PRBS

Verifier

/2, /4 rx_pma_div_clkout

Clock Generation Block (CGB)

Clock Divider

Parallel and Serial Clocks tx_pma_div_clkout

Deserializer

/66

/40

/33

/2

Serial Clock

(from CGB) tx_clkout

CDR Recovered

Clock rx_pma_div_clkout rx_clkout

The divided versions of the tx_clkout

and rx_clkout

are available as tx_pma_div_clkout

and rx_pma_div_clkout

, respectively.

rx_clkout or tx_clkout

CMU PLL /

ATX PLL / fPLL

Serial Clock

Input Reference Clock

Parallel Clock

Serial Clock

Parallel and Serial Clocks

Intel ® Arria ® 10 Transceiver PHY User Guide

385

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Note:

The output frequency of of the following: tx_pma_div_clkout

and rx_pma_div_clkout can be one

• A divided down version of the tx_clkout

or rx_clkout

respectively, where divide by 1 and divide by 2 ratios are available.

• A divided down version of the serializer clock where divide by 33, 40, and 66 ratios are available.

Refer to the "TX PMA Optional Ports" table in PMA Parameters section for details about selecting the division factor.

These clocks can be used to meet core timing by operating the TX and RX FIFO in double-width mode, as this halves the required clock frequency at the PCS to/from

FPGA interface. These clocks can also be used to clock the core side of the TX and RX

FIFOs when the Enhanced PCS Gearbox is used.

For example, if you use the Enhanced PCS Gearbox with a 66:40 ratio, then you can use tx_pma_div_clkout external clock source.

with a divide-by-33 ratio to clock the write side of the TX

FIFO, instead of using a PLL to generate the required clock frequency, or using an

Related Information

PMA Parameters on page 51

3.6. Transmitter Data Path Interface Clocking

The clocks generated by the PLLs are used to clock the channel PMA and PCS blocks.

The clocking architecture is different for the standard PCS and the enhanced PCS.

Figure 181. Transmitter Standard PCS and PMA Clocking

The master or the local CGB provides the high speed serial clock to the serializer of the transmitter PMA, and the low speed parallel clock to the transmitter PCS.

Transmitter PMA Transmitter Standard PCS FPGA

Fabric

PRBS

Generator tx_coreclkin tx_clkout

From Receiver Standard PCS tx_pma_div_clkout

/2, /4 tx_clkout

Parallel Clock

Serial Clock

Parallel and Serial Clock

Clock Generation Block (CGB)

Clock Divider

Parallel and Serial Clock

ATX PLL

CMU PLL fPLL

Serial Clock

Input Reference Clock

In the Standard PCS, for configurations that do not use the byte serializer, the parallel clock is used by all the blocks up to the read side of the TX phase compensation FIFO.

For configurations that use the byte serializer block, the clock divided by 2 or 4 is used by the byte serializer and the read side of the TX phase compensation FIFO. The clock used to clock the read side of the TX phase compensation FIFO is also forwarded to the FPGA fabric to provide an interface between the FPGA fabric and the transceiver.

Intel ®

386

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

If the tx_clkout

that is forwarded to the FPGA fabric is used to clock the write side of the phase compensation FIFO, then both sides of the FIFO have 0 ppm frequency difference because it is the same clock that is used.

If you use a different clock than the tx_clkout

to clock the write side of the phase compensation FIFO, then you must ensure that the clock provided has a 0 ppm frequency difference with respect to the tx_clkout

.

Figure 182. Transmitter Enhanced PCS and PMA Clocking

The master or local CGB provides the serial clock to the serializer of the transmitter PMA, and the parallel clock to the transmitter PCS.

Transmitter PMA Transmitter Enhanced PCS FPGA

Fabric

TX

Data &

Control

Parallel Clock

PRBS

Generator

PRP

Generator tx_clkout

KR FEC Enc

KR FEC TX G

KR FEC Scr tx_pma_div_clkout

Clock Generation Block (CGB)

Parallel Clock

Serial Clock

Parallel and Serial Clocks

Clock Divider

Parallel and Serial Clocks

ATX PLL fPLL

CMU PLL

Serial Clock

Input Reference Clock

In the Enhanced PCS, the parallel clock is used by all the blocks up to the read side of the TX phase compensation FIFO. The clocks of all channels in bonded configuration are forwarded. You can pick tx_clkout[0]

as the source for clocking their TX logic in core.

For the enhanced PCS, the transmitter PCS forwards the following clocks to the FPGA fabric: tx_clkout

for each transmitter channel in non-bonded and bonded configuration. In bonded configuration, any requirements.

tx_clkout

can be used depending on your core timing

You can clock the transmitter datapath interface using one of the following methods:

• Quartus Prime selected transmitter datapath interface clock

• User-selected transmitter datapath interface clock

3.7. Receiver Data Path Interface Clocking

The CDR block present in the PMA of each channel recovers the serial clock from the incoming data. The CDR block also divides the recovered serial clock to generate the recovered parallel clock. Both the recovered serial and the recovered parallel clocks are used by the deserializer. The receiver PCS can use the following clocks based on the configuration of the receiver channel:

• Recovered parallel clock from the CDR in the PMA.

• Parallel clock from the clock divider used by the transmitter PCS (if enabled) for that channel.

Intel ® Arria ® 10 Transceiver PHY User Guide

387

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

For configurations that use the byte deserializer block, the clock divided by 2 or 4 is used by the byte deserializer and the write side of the RX phase compensation FIFO.

Figure 183. Receiver Standard PCS and PMA Clocking

Receiver PMA Receiver Standard PCS FPGA

Fabric rx_coreclkin

Parallel Clock

(Recovered)

Parallel Clock

(From Clock

Divider) rx_clkout tx_clkout

PRBS

Verifier

/2, /4 rx_pma_div_clkout

Clock Generation Block (CGB)

Clock Divider rx_clkout or tx_clkout

ATX PLL

CMU PLL fPLL

Parallel Clock

Serial Clock

Parallel and Serial Clock Parallel and Serial Clock

Serial Clock

All configurations that use the standard PCS channel must have a 0 ppm phase difference between the receiver datapath interface clock and the read side clock of the

RX phase compensation FIFO.

Figure 184. Receiver Enhanced PCS and PMA Clocking

Receiver PMA Receiver Enhanced PCS rx_pma_div_clkout

FPGA

Fabric

PRBS

Verifier

PRP

Verifier

10GBASE-R

BER Checker rx_clkout

KR FEC Block S KR FEC Dec

Parallel Clock

Serial Clock

Parallel and Serial Clock

The receiver PCS forwards the following clocks to the FPGA fabric:

• rx_clkout

— for each receiver channel when the rate matcher is not used.

• tx_clkout

— for each receiver channel when the rate matcher is used.

You can clock the receiver datapath interface using one of the following methods:

• Quartus Prime selected receiver datapath interface clock

• User-selected receiver datapath interface clock

Related Information

Unused or Idle Clock Line Requirements

on page 389

For more information about unused or idle transceiver clock lines in design.

Intel ®

388

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

3.8. Unused/Idle Clock Line Requirements

Unused or idle transceiver clock lines can degrade if the devices are powered up to normal operating conditions and not configured. This affects designs that configure transceiver RX channels to use the idle clock lines at a later date by using dynamic reconfiguration or a new device programming file. Clock lines affected are unused, or idle RX serial clock lines. Active RX serial clock lines and non-transceiver circuits are not impacted by this issue.

In order to prevent the performance degradation, for idle transceiver RX channels, recompile designs with Intel Quartus Prime version 16.1 or later with the assignment described in the link shown below. The CLKUSR pin must be assigned a 100-125 MHz clock. For used transceiver TX and RX channels, do not assert the analog reset signals indefinitely.

Related Information

Unused Transceiver channels Settings

on page 606

For more information about unused or idle transceiver clock lines in the design. It describes the unused or idle RX serial clock lines assignments in the qsf file.

3.9. Channel Bonding

For Arria 10 devices, two types of bonding modes are available:

• PMA bonding

• PMA and PCS bonding

Note: Channel bonding is not supported by GT channels.

Related Information

Resetting Transceiver Channels

on page 416

Refer to the Timing Constraints for Bonded PCS and PMA Channels section in the

Resetting Transceiver Channels chapter for additional details.

3.9.1. PMA Bonding

PMA bonding reduces skew between PMA channels. In PMA bonding, only the PMA portion of the transceiver datapath is skew compensated and the PCS is not skew compensated.

In Arria 10 devices, there are two PMA bonding schemes:

• x6/xN bonding

• PLL feedback compensation bonding

In either case, the channels in the bonded group need not be placed contiguously.

3.9.1.1. x6/xN Bonding

In x6/xN bonding mode, a single transmit PLL is used to drive multiple channels.

Intel ® Arria ® 10 Transceiver PHY User Guide

389

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

The steps below explain the x6/xN bonding process:

1. The ATX PLL or the fPLL generates a high speed serial clock.

2. The PLL drives the high speed serial clock to the master CGB via the x1 clock network.

3. The master CGB drives the high speed serial and the low speed parallel clock into the x6 clock network.

4. The x6 clock network feeds the TX clock multiplexer for the transceiver channels within the same transceiver bank. The local CGB in each transceiver channel is bypassed.

5. To drive the channels in adjacent transceiver banks, the x6 clock network drives the xN clock network. The xN clock network feeds the TX clock mutiplexer for the transceiver channels in these adjacent transceiver banks.

x6/xN Bonding Disadvantages x6/xN Bonding has the following disadvantages:

• The maximum data rate is restricted based on the transceiver supply voltage.

Refer to Arria 10 Device Data Sheet.

• The maximum channel span is limited to two transceiver banks above and below the bank containing the transmit PLL. Thus, the maximum span of 30 channels is supported.

Related Information

xN Clock Lines

on page 379

• Arria 10 Device Datasheet

3.9.1.2. PLL Feedback Compensation Bonding

In PLL feedback compensation bonding, channels are divided into bonded groups based on physical location with a three-channel or six-channel transceiver bank. All channels within the same six-channel transceiver bank are assigned to the same bonded group.

In PLL feedback compensation bonding, each bonded group is driven by its own set of high-speed serial and low-speed parallel clocks. Each bonded group has its own PLL and master CGB. To maintain the same phase relationship, the PLL and master CGB for different groups share the same reference clocks.

The steps below explain the PLL feedback compensation bonding process:

1. The same input reference clock drives the local PLL in each three-channel or sixchannel transceiver bank.

2. The local PLL for the bonding group drives the master CGB.

3. The master CGB feeds the x6 clock lines. The master CGB drives the transceiver channels in the bonding group via the x6 clock network.

4. The parallel output of the master CGB is the feedback input to the PLL.

5. In this mode, all channels are phase aligned to the same input reference clock.

Intel ®

390

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Note:

PLL Feedback Compensation Bonding Advantages over x6/xN Bonding Mode

• There is no data rate restriction. The x6 clock network used for PLL feedback compensation bonding can run up to the maximum data rate of the device used.

• There is no channel span limitation. It is possible to bond the entire side of the device using PLL feedback compensation.

PLL Feedback Compensation Bonding Disadvantages over x6/xN Bonding

Mode

• It uses more resources compared to x6/xN bonding. One PLL and one master CGB are used per transceiver bank. This causes higher power consumption compared to x6/xN bonding.

• The skew is higher compared to x6/xN bonding. The reference clock skew between each transceiver bank is higher than the skew contributed by the xN clock network in x6/xN bonding.

• Because the feedback clock for the PLL comes from the master CGB and not from the PLL, the PLL feedback compensation bonding mode has a reference clock limitation. The PLL's N-counter (reference clock divider) is bypassed resulting in only one valid reference clock frequency for a given data rate.

• Feedback compensation bonding only supports integer mode.

In order to minimize the reference clock skew for PLL feedback compensation bonding, use a reference clock input near the center of the bonded group.

x6/xN Bonding Advantages over PLL Feedback Compensation Bonding

• x6/xN uses less resources compared to PLL feedback compensation bonding. Only one PLL and one master CGB are required to drive all channels in the bonded group.

• x6/xN has lower skew compared to PLL feedback compensation bonding.

Related Information

Implementing PLL Feedback Compensation Bonding Mode

on page 405

3.9.2. PMA and PCS Bonding

PMA and PCS bonding reduces skew between both the PMA and PCS outputs within a group of channels.

For PMA bonding, either x6/xN or PLL feedback compensation bonding is used. For

PCS bonding, some of the PCS control signals within the bonded group are skew aligned using dedicated hardware inside the PCS.

Intel ® Arria ® 10 Transceiver PHY User Guide

391

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Figure 185. PMA and PCS Bonding

Starting

Delay (Cycles)

2

4

6

4

2

0

Distribution

Delay (Cycles)

4

2

0

2

4

6

Slave PCS

Channel

Slave PCS

Channel

Master PCS

Channel

Slave PCS

Channel

Slave PCS

Channel

Slave PCS

Channel

PMA

PMA

PMA

PMA

PMA

PMA

Note:

For PMA and PCS bonding, the concept of master and slave channels is used. One PCS channel in the bonded group is selected as the master channel and all others are slave channels. To ensure that all channels start transmitting data at the same time and in the same state, the master channel generates a start condition. This condition is transmitted to all slave channels. The signal distribution of this start condition incurs a two parallel clock cycle delay. Because this signal travels sequentially through each

PCS channel, this delay is added per channel. The start condition used by each slave channel is delay compensated based on the slave channel's distance from the master channel. This results in all channels starting on the same clock cycle.

The transceiver PHY IP automatically selects the center channel to be the master PCS channel. This minimizes the total starting delay for the bonded group. For PLL feedback compensation bonding up to all channels on one side can be bonded if the master PCS channel is placed in the center of the bonded group.

Because the PMA and PCS bonding signals travel through each PCS block, the PMA and

PCS bonded groups must be contiguously placed. The channel order needs to be maintained when doing the pin assignments to the dedicated RX serial inputs and TX serial outputs (for example: PIN_BC7 and PIN_BC8 for GXBR4D_TX_CH0p and

GXBR4D_TX_CH0n TX serial outputs). Channels need to be placed in an ascending order from bottom to top. Swapping of channels, when doing pin assignments, leads to errors.

3.9.3. Selecting Channel Bonding Schemes

In Arria 10 devices, select PMA and PCS bonding for bonded protocols that are explicitly supported by the hard PCS blocks. For example, PCI Express, SFI-S, and

40GBASE-KR.

Intel ®

392

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Select PMA-only bonding when a bonded protocol is not explicitly supported by the hard PCS blocks. For example, for Interlaken protocol, PMA-only bonding is used and a soft PCS bonding IP is implemented in the FPGA fabric.

3.9.4. Skew Calculations

To calculate the maximum skew between the channels, the following parameters are used:

• PMA to PCS datapath interface width (S)

• Maximum difference in number of parallel clock cycles between deassertion of each channel's FIFO reset (N).

To calculate the channel skew, the following five scenarios are considered:

• Non-bonded

In this case, both the PMA and PCS are non-bonded. Skew ranges from 0 UI to

[(S-1) + N*S] UI.

• PMA bonding using x6 / xN clock network

In this case, the PCS is non-bonded. Skew ranges from [0 to (N*S)] UI + x6/xN clock skew.

• PMA bonding using the PLL feedback compensation clock network

In this case, the PCS is non-bonded. Skew ranges from [0 to (N*S)] UI +

(reference clock skew) + (x6 clock skew).

• PMA and PCS bonding using the x6 / xN clock network

Skew = x6 / xN clock skew.

• PMA and PCS bonding using PLL feedback compensation clock network

Skew = (reference clock skew) + (x6 clock skew).

3.10. PLL Feedback and Cascading Clock Network

The PLL feedback and cascading clock network spans the entire side of the device, and is used for PLL feedback compensation bonding and PLL cascading.

Intel ® Arria ® 10 Transceiver PHY User Guide

393

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Figure 186. PLL Feedback and Cascading Clock Network

Transceiver Bank fPLL1

C

Connection (1)

PLL Feedback and Cascading Clock Network

0 1 2 3 fbclk refclk

ATX PLL 1 refclk fbclk

Connection (3)

Connection (4)

Master CGB1

Bidirectional

Tristate Buffer fPLL0

C refclk fbclk

ATX PLL 0 refclk fbclk

Connection (2)

Master CGB0

Bidirectional

Tristate Buffer

Legend refclk Lines fbclk Lines

C, M, and CGB Outputs

PLL Cascading

PLL Feedback Compensation Bonding

Intel ®

394

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Note:

To support PLL feedback compensation bonding and PLL cascading, the following connections are present:

1. The C counter output of the fPLL drives the feedback and cascading clock network.

2. The feedback and cascading clock network drives the feedback clock input of all PLLs.

3. The feedback and cascading clock network drives the reference clock input of all PLLs.

4. The master CGB’s parallel clock output drives the feedback and cascading

clock network.

For PLL cascading, connections (1) and (3) are used to connect the output of one PLL to the reference clock input of another PLL.

The transceivers in Arria 10 devices support fPLL to fPLL, and ATX PLL to fPLL

(via dedicated ATX PLL to fPLL cascade path) cascading. Only maximum two

PLLs allowed in the cascading chain.

When the fPLL is used as a cascaded fPLL (downstream fPLL), a user recalibration on the fPLL is required. Refer to "User Recalibration" section in "Calibration" chapter for more information.

For PLL feedback compensation bonding, connections (2) and (4) are used to connect the master CGB's parallel clock output to the PLL feedback clock input port.

PLL feedback compensation bonding can be used instead of xN bonding. The primary difference between PLL feedback compensation and xN bonding configurations, is for

PLL feedback compensation, the bonded interface is broken down into smaller groups of 6 bonded channels within a transceiver bank. A PLL within each transceiver bank

(ATX PLL or fPLL) is used as a transmit PLL. All the transmit PLLs share the same input reference clock.

In xN bonding configurations, one PLL is used for each bonded group. In PLL feedback compensation bonding, one PLL is used for each transceiver bank that the bonded group spans. There are no data rate limitations in PLL feedback compensation bonding, other than the natural data rate limitations of the transceiver channel and the PLL.

For feedback compensation bonding, the low-speed parallel clock must be the same frequency as the reference clock for the PLL.

fPLL Driving the Core

The fPLL can be used to drive the FPGA fabric. To ensure phase alignment between the input reference clock and the fPLL output clock, the fPLL needs to be configured in integer mode. Refer to the following figures when doing dynamic reconfiguration.

Intel ® Arria ® 10 Transceiver PHY User Guide

395

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Figure 187. Fractional and not Phase Aligned refclk N Counter

PFD VCO /2 fPLL M Counter

L Counter

/2

Phase

Multiplexer

C Counters

Figure 188. Integer and Phase Aligned refclk N Counter

PFD VCO /2 fPLL M Counter

L Counter

/2

C Counters

Phase

Multiplexer

PLL Feedback Clock Network

Intel ®

396

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Figure 189. Integer Mode phase aligned and external feedback fPLL 1

C refclk fpll_t_iqtxrxclk pm_iqtxrxclk_top[5:0] fbclk pm_iqtxrxclk_top[3:0]

PMA_RX_CLK

PMA_TX_CLK

RX pin (1)

PMA_RX_CLK

PMA_TX_CLK

RX pin (1)

PMA_RX_CLK

PMA_TX_CLK

RX pin (1)

PMA_RX_CLK

PMA_TX_CLK

RX pin (1)

PMA_RX_CLK

PMA_TX_CLK

RX pin (1) fbclk

Ch5 ch5_iqtxrxclk_2 pm_iqtxrxclk_top[5:0] refclk pm_iqtxrxclk_top[3:0] ch5_iqtxrxclk_5

4

6

6

4 fbclk

Ch4 ch4_iqtxrxclk_4 pm_iqtxrxclk_top[5:0] refclk pm_iqtxrxclk_top[3:0] ch4_iqtxrxclk_4

4

6 fbclk

Ch3 ch3_iqtxrxclk_0 pm_iqtxrxclk_top[5:0] refclk pm_iqtxrxclk_top[3:0] ch3_iqtxrxclk_5

4

6 pm_iqtxrx_t[5:0]

0 1 2 3 4 5

PMA_RX_CLK

PMA_TX_CLK

RX pin (1)

LCPLL 1

M refclk lc_t_iqtxrxclk pm_iqtxrxclk_top[5:0] fbclk pm_iqtxrxclk_top[3:0]

6

4

Master

CGB 1

Note: (1) RX pin used as reference clock

You must recalibrate the fPLL when you enable the phase alignment option.

1. Modify the fPLL IP to enable fPLL reconfiguration

• Under the Dynamic Reconfiguration Tab, turn ON Enable dynamic reconfiguration.

2. Create logics in the core to perform following steps:

Intel ® Arria ® 10 Transceiver PHY User Guide

397

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

• Read-Modify-Write 0x1 to offset address 0x126[0] of the fPLL to select internal feedback.

• Read-Modify-Write 0x1 to offset address 0x100 of the fPLL, then Read-Modify-

Write 0x1 to offset address 0x000 of the fPLL to request PreSICE to recalibrate the fPLL.

• Monitor bit 1 of offset address of 0x280 of the fPLL and wait until this bit changes to zero. This indicates recalibration is completed. Ensure the fPLL achieves lock.

• Read-Modify-Write 0x0 to offset address 0x126[0] of the fPLL to select the external feedback path.

3. Monitor the fPLL lock signal, wait until the fPLL achieves lock.

Related Information

User Recalibration

on page 576

Implementing PLL Cascading on page 408

3.11. Using PLLs and Clock Networks

In Arria 10 devices, PLLs are not integrated in the Native PHY IP core. You must instantiate the PLL IP cores separately. Unlike in previous device families, PLL merging is no longer performed by the Quartus Prime software. This gives you more control, transparency, and flexibility in the design process. You can specify the channel configuration and PLL usage.

Related Information

PLLs and Clock Networks on page 347

3.11.1. Non-bonded Configurations

In a non-bonded configuration, only the high speed serial clock is routed from the transmitter PLL to the transmitter channel. The low speed parallel clock is generated by the local clock generation block (CGB) present in the transceiver channel. For nonbonded configurations, because the channels are not related to each other and the feedback path is local to the PLL, the skew between channels cannot be calculated.

Also, the skew introduced by the clock network is not compensated.

3.11.1.1. Implementing Single Channel x1 Non-Bonded Configuration

In x1 non-bonded configuration, the PLL source is local to the transceiver bank and the x1 clock network is used to distribute the clock from the PLL to the transmitter channel.

For a single channel design, a PLL is used to provide the clock to a transceiver channel.

Intel ®

398

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Figure 190. PHY IP Core and PLL IP Core Connection for Single Channel x1 Non-Bonded

Configuration Example

Transceiver PLL

Instance (5 GHz)

PLL

Native PHY Instance

(1 CH Non-Bonded 10 Gbps)

TX Channel

To implement this configuration, instantiate a PLL IP core and a PHY IP core and connect them together as shown in the above figure.

Steps to implement a Single Channel x1 Non-Bonded Configuration

1. Instantiate the PLL IP core (ATX PLL, fPLL, or CMU PLL) you want to use in your design.

Refer to Instantiating the ATX PLL IP Core on page 354 or

Instantiating CMU

PLL IP Core

on page 370 or

Instantiating the fPLL IP Core on page 362 for

detailed steps.

2. Configure the PLL IP core using the IP Parameter Editor.

• For ATX PLL IP core, do not include the Master CGB.

• For fPLL IP core, set the PLL feedback operation mode to direct.

• For CMU PLL IP core, specify the reference clock and the data rate. No special configuration rule is required.

3. Configure the Native PHY IP core using the IP Parameter Editor .

• Set the Native PHY IP Core TX Channel bonding mode to Non Bonded .

4. Connect the PLL IP core to the Native PHY IP core. Connect the tx_serial_clk output port of the PLL to IP to the corresponding tx_serial_clk0

input port of the Native PHY IP core. This port represents the input to the local CGB of the channel. The tx_serial_clk

for the PLL represents the high speed serial clock generated by the PLL.

3.11.1.2. Implementing Multi-Channel x1 Non-Bonded Configuration

This configuration is an extension of the x1 non-bonded case. In the following example, 10 channels are connected to two instances of the PLL IP core. Two PLL instances are required because PLLs using the x1 clock network can only span the 6 channels within the same transceiver bank. A second PLL instance is required to provide the clock to the remaining 4 channels.

Because 10 channels are not bonded and are unrelated, you can use a different PLL type for the second PLL instance. It is also possible to use more than two PLL IP cores and have different PLLs driving different channels. If some channels are running at different data rates, then you need different PLLs driving different channels.

Intel ® Arria ® 10 Transceiver PHY User Guide

399

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Figure 191. PHY IP Core and PLL IP Core Connection for Multi-Channel x1 Non-Bonded

Configuration

Transceiver PLL

Instance (5 GHz) fPLL

Transceiver PLL

Instance (5 GHz) fPLL

Native PHY Instance

(10 CH Non-Bonded 10 Gbps)

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

Legend:

TX channels placed in the same transceiver bank.

TX channels placed in the adjacent transceiver bank.

Steps to implement a Multi-Channel x1 Non-Bonded Configuration

1. Choose the PLL IP core (ATX PLL, fPLL, or CMU PLL) you want to instantiate in your design and instantiate the PLL IP core.

Refer to Instantiating the ATX PLL IP Core on page 354 or

Instantiating CMU

PLL IP Core

on page 370 or

Instantiating the fPLL IP Core on page 362 for

detailed steps.

2. Configure the PLL IP core using the IP Parameter Editor

• For the ATX PLL IP core do not include the Master CGB. If your design uses the

ATX PLL IP core and more than 6 channels, the x1 Non-Bonded Configuration is not a suitable option. Multi-channel xN Non-Bonded or Multi-Channel x1/xN

Non-Bonded are the required configurations when using the ATX PLL IP core and more than 6 channels in the Native PHY IP core.

Refer to Figure 192 on page 401 Implementing Multi-Channel xN Non-Bonded

Configuration section or the Figure 193 on page 403 Multi-Channel x1/xN Non-

Bonded Example.

• For the fPLL IP core, set the PLL feedback operation mode to direct.

• For the CMU PLL IP core, specify the reference clock and the data rate. No special configuration rule is required.

3. Configure the Native PHY IP core using the IP Parameter Editor

Intel ®

400

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

• Set the Native PHY IP core TX Channel bonding mode to Non-Bonded.

• Set the number of channels as per your design requirement. In this example, the number of channels is set to 10.

4. Create a top level wrapper to connect the PLL IP core to the Native PHY IP core.

• The

tx_serial_clk

output

port of the PLL IP core represents the high speed serial clock.

• The Native PHY IP core has 10 (for this example) tx_serial_clk input ports. Each port corresponds to the input of the local CGB of the transceiver channel.

• As shown in the figure above, connect the first 6 tx_serial_clk input

to the first transceiver PLL instance.

• Connect the remaining 4 tx_serial_clk input

to the second transceiver

PLL instance.

3.11.1.3. Implementing Multi-Channel xN Non-Bonded Configuration

Using the xN non-bonded configuration reduces the number of PLL resources and the reference clock sources used.

Figure 192. PHY IP Core and PLL IP Core Connection for Multi-Channel xN Non-Bonded

Configuration

In this example, the same PLL is used to drive 10 channels across two transceiver banks.

Transceiver PLL

Instance (5 GHz)

ATX PLL x1 Master

CGB x6

Native PHY Instance

(10 CH Non-Bonded 10 Gbps)

TX Channel

TX Channel

TX Channel

TX Channel xN

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

Legend:

TX channels placed in the same transceiver bank.

TX channels placed in the adjacent transceiver bank.

Intel ® Arria ® 10 Transceiver PHY User Guide

401

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Steps to implement a multi-channel xN non-bonded configuration

1. You can use either the ATX PLL or fPLL for multi-channel xN non-bonded configuration.

Refer to Instantiating the ATX PLL IP Core on page 354 or

Instantiating the fPLL IP Core

on page 362 for detailed steps.

• Because the CMU PLL cannot drive the master CGB, only the ATX PLL or fPLL can be used for this example.

2. Configure the PLL IP core using the IP Parameter Editor. Enable Include

Master Clock Generation Block .

3. Configure the Native PHY IP core using the IP Parameter Editor

• Set the Native PHY IP core TX Channel bonding mode to Non-Bonded .

• Set the number of channels as per your design requirement. In this example, the number of channels is set to 10.

4. Create a top level wrapper to connect the PLL IP core to the Native PHY IP core.

• In this case, the PLL IP core has represents the xN clock line.

mcgb_serial_clk

output port. This

• The Native PHY IP core has 10 (for this example) tx_serial_clk input ports. Each port corresponds to the input of the local CGB of the transceiver channel.

• As shown in the figure above, connect the mcgb_serial_clk

output port of the PLL IP core to the 10 tx_serial_clk input

ports of the Native PHY IP core.

Intel ®

402

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Figure 193. Multi-Channel x1/xN Non-Bonded Example

The ATX PLL IP core has a tx_serial_clk output port. This port can optionally be used to clock the six channels within the same transceiver bank as the PLL. These channels are clocked by the x1 network. The remaining four channels outside the transceiver bank are clocked by the xN clock network.

Transceiver PLL

Instance (5 GHz)

Native PHY Instance

(10 CH Non-Bonded 10 Gbps)

ATX PLL x1

TX Channel

CGB xN

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

Legend:

TX channels placed in the same transceiver bank.

TX channels placed in the adjacent transceiver bank.

3.11.2. Bonded Configurations

In a bonded configuration, both the high speed serial and low speed parallel clocks are routed from the transmitter PLL to the transmitter channel. In this case, the local CGB in each channel is bypassed and the parallel clocks generated by the master CGB are used to clock the network.

In bonded configurations, the transceiver clock skew between the channels is minimized. Use bonded configurations for channel bonding to implement protocols such as PCIe and XAUI.

Intel ® Arria ® 10 Transceiver PHY User Guide

403

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

3.11.2.1. Implementing x6/xN Bonding Mode

Figure 194. PHY IP Core and PLL IP Core Connection for x6/xN Bonding Mode

Transceiver PLL

Instance (5 GHz)

ATX PLL x1

Master

CGB x6 x6 x6 x6 x6 x6 x6 xN xN xN xN

Native PHY Instance

(10 CH x6/xN Bonding 10 Gbps)

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

Legend:

TX channels placed in the same transceiver bank.

TX channels placed in the adjacent transceiver bank.

Steps to implement a x6/xN bonded configuration

1. You can instantiate either the ATX PLL or the fPLL for x6/xN bonded configuration.

Refer to Instantiating the ATX PLL IP Core on page 354 or

Instantiating the fPLL IP Core

on page 362 for detailed steps. Because the CMU PLL cannot drive the Master CGB, only the ATX PLL or fPLL can be used for bonded configurations.

2. Configure the PLL IP core using the IP Parameter Editor. Enable Include

Master Clock Generation Block and Enable bonding clock output ports.

3. Configure the Native PHY IP core using the IP Parameter Editor .

• Set the Native PHY IP core TX Channel bonding mode to either PMA

bonding or PMA/PCS bonding .

• Set the number of channels required by your design. In this example, the number of channels is set to 10.

4. Create a top level wrapper to connect the PLL IP core to Native PHY IP core.

Intel ®

404

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

• In this case, the PLL IP core has tx_bonding_clocks

output bus with width

[5:0].

• The Native PHY IP core has tx_bonding_clocks

input bus with width [5:0] multiplied by the number of transceiver channels (10 in this case). For 10 channels, the bus width is [59:0].

Note: While connecting tx_bonding_clocks

, leave tx_serial_clk

open to avoid any Intel Quartus Prime software fitter errors.

• Connect the PLL IP core to the PHY IP core by duplicating the output of the

PLL[5:0] for the number of channels. For 10 channels, the Verilog syntax for the input port connection is

.tx_bonding_clocks

({10{tx_bonding_clocks_output}})

.

Note: Although the above diagram looks similar to the 10-channel non-bonded configuration example, the clock input ports on the transceiver channels bypass the local CGB in x6/xN bonding configuration. This internal connection is taken care of when the

Native PHY channel bonding mode is set to Bonded.

Figure 195. x6/xN Bonding Mode —Internal Channel Connections

Ch 2

CGB

(1)

CDR

Ch 1

CGB

(1)

CDR

Ch 0

CGB

(1)

CDR

Note: (1) The local CGB is bypassed by the clock input ports in bonded mode.

Related Information

xN Clock Lines

on page 379

Information on xN Clock Network Span.

3.11.2.2. Implementing PLL Feedback Compensation Bonding Mode

In this bonding mode, the channel span limitations of xN bonding mode are removed.

This is achieved by dividing all channels into multiple bonding groups.

Intel ® Arria ® 10 Transceiver PHY User Guide

405

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Figure 196. PHY IP Core and PLL IP Core Connection for PLL Feedback Compensation

Bonding

Reference clock fPLL

Transceiver PLL

Instance (5 GHz)

CGB fPLL

Feedback Clock

Transceiver PLL

Instance (5 GHz)

Feedback Clock

CGB x6 x6

Native PHY Instance

(10 CH Bonded 10 Gbps)

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

TX Channel

Legend:

TX channels placed in the same transceiver bank.

TX channels placed in the adjacent transceiver bank.

The data rate is limited by the x6 network speed limit. A disadvantage of using PLL feedback compensation bonding is that it consumes more PLL resources. Each transceiver bank consumes one PLL and one master CGB.

In PLL feedback compensation bonding mode, the N counter (reference clock divider) is bypassed in order to ensure that the reference clock skew is minimized between the

PLLs in the bonded group. Because the N counter is bypassed, the PLL reference clock has a fixed value for any given data rate.

The PLL IP Core Parameter Editor window displays the required data rate in the

PLL reference clock frequency drop down menu.

Steps to implement a PLL Feedback Compensation Bonding Configuration

1. Instantiate the PLL IP core (ATX PLL or fPLL) you want to use in your design. Refer to

Instantiating the ATX PLL IP Core

on page 354 or Instantiating the fPLL IP Core

on page 362 for detailed steps. Because the CMU PLL cannot drive the master

CGB, only the ATX PLL or fPLL can be used for feedback compensation bonding.

2. Configure the PLL IP core using the IP Parameter Editor.

Intel ®

406

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

• If you use the ATX PLL, set the following configuration settings:

— Under the Master Clock Generation Block Tab

• Enable Include Master Clock Generation Block.

• Turn ON Enable Bonding Clock output ports.

• Turn ON Enable feedback compensation bonding.

— Under the Dynamic Reconfiguration Tab

• Turn ON Enable dynamic reconfiguration

• If you use the fPLL, set the following configuration settings:

— Under the PLL Tab

• Set the PLL Feedback type to feedback compensation bonding.

— Under the Master Clock Generation Block Tab

• Turn ON Enable Bonding Clock output ports.

— Under the Dynamic Reconfiguration Tab

• Turn ON Enable dynamic reconfiguration

3. Configure the Native PHY IP core using the IP Parameter Editor

• Set the Native PHY IP core TX Channel bonding mode to either PMA

bonding or PMA/PCS bonding.

• Turn ON Enable dynamic reconfiguration

4. Create a top level wrapper to connect the PLL IP cores to Native PHY IP core.

• In this case, the PLL IP core has tx_bonding_clocks

output bus with width

[5:0].

• The Native PHY IP core has tx_bonding_clocks

input bus with width [5:0] multiplied by the number of channels in a transceiver bank. (six channels in the transceiver bank).

• Unlike the x6/xN bonding mode, for this mode, the PLL should be instantiated multiple times. (One PLL is required for each transceiver bank that is a part of the bonded group.) Instantiate a PLL for each transceiver bank used.

• Connect the tx_bonding_clocks

output from each PLL to (up to) six channels in the same transceiver bank.

• Connect the PLL IP core to the PHY IP core by duplicating the output of the

PLL[5:0] for the number of transceiver channels used in the bonding group.

Steps to recalibrate the PLL after power up calibration

1. Dynamic reconfigure the PLL to change the feedback from the master CGB to feedback from PLL.

• For ATX PLL, Read-Modify-Write 0x1 to offset address 0x110[2] of the ATX

PLL.

• For fPLL, Read-Modify-Write 0x1 to offset address 0x126[0] of the fPLL.

2. Recalibrate the PLL.

3. After recalibration completes, ensure the PLL achieves lock. Dynamic reconfigure the PLL to change the feedback to master CGB.

Intel ® Arria ® 10 Transceiver PHY User Guide

407

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Note:

• For ATX PLL, Read-Modify-Write 0x0 to offset address 0x110[2] of the ATX

PLL.

• For fPLL, Read-Modify-Write 0x0 to offset address 0x126[0] of the fPLL.

4. Recalibrate TX PMA of all the bonded channels driven by the ATX PLL or the fPLL.

For this 10-channel example, two ATX PLLs are instantiated. Six channels of the tx_bonding_clocks

on the Native PHY IP core are connected to the first ATX PLL and the remaining four channels are connected to the second ATX PLL's tx_bonding_clock outputs.

Related Information

ATX PLL Recalibration on page 581

Fractional PLL Recalibration on page 581

PMA Recalibration

on page 582

3.11.3. Implementing PLL Cascading

In PLL cascading, the output of the first PLL feeds the input reference clock to the second PLL.

For example, if the input reference clock has a fixed frequency, and the desired data rate was not an integer multiple of the input reference clock, the first PLL can be used to generate the correct reference clock frequency. This output is fed as the input reference clock to the second PLL. The second PLL generates the clock frequency required for the desired data rate.

The transceivers in Arria 10 devices support fPLL to fPLL cascading. For OTN and SDI applications, there is a dedicated clock path for cascading ATX PLL to fPLL in Arria 10 production silicon. Only maximum two PLLs are allowed in the cascading chain.

Note: When the fPLL is used as a cascaded fPLL (downstream fPLL), a user recalibration on the fPLL is required. Refer to "User Recalibration" section in "Calibration" chapter for more information.

Figure 197. PLL Cascading fPLL (Cascade Source) pll_refclk0 hssi_pll_cascade_clk fPLL (Transceiver PLL) pll_refclk0 pll_powerdown pll_locked pll_powerdown

Intel ®

408

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Steps to implement fPLL to fPLL cascading:

1. Instantiate the fPLL IP core. Refer to Instantiating the fPLL IP Core on page 362

for detailed steps.

2. Set the following configuration settings for the fPLL IP core in the Parameter

Editor:

• Set the fPLL Mode to Cascade Source.

• Set the Desired output clock frequency.

3. Instantiate the fPLL IP core (the second PLL in PLL cascading configuration). Refer to

Instantiating the fPLL IP Core

on page 362 for detailed steps.

4. Configure the second fPLL IP core for the desired data rate and the reference clock frequency. Set reference clock frequency for the second fPLL same as the output frequency of the first fPLL.

5. Connect the fPLL IP core (cascade source) to fPLL IP core (transceiver PLL) as shown in the above figure. Ensure the following connections:

• The fPLL has an output port hssi_pll_cascade_clk

. Connect this port to the second fPLL's pll_refclk0

port.

6. Set the source (upstream) fPLL bandwidth to Low setting and the destination

(downstream) fPLL bandwidth to High setting.

7. If the input reference clock is available at device power-up, the first PLL is calibrated during the power-up calibration. The second PLL need to be recalibrated. Refer to the User Recalibration section. If the input reference clock is not available at device power-up, then re-run the calibration for the first PLL. After the first PLL has been calibrated, re-calibrate the second PLL.

Notes:

• No special configuration is required for the Native PHY instance.

• ATX PLL to fPLL cascading mode is added to address the OTN and SDI jitter requirement. In this mode, ATX PLL generates a relatively high and clean reference frequency in fractional mode. The reference is driving the fPLL, which is running in integer mode. Overall cascaded two PLLs, synthesize a needed frequency for a given data rate.

Related Information

User Recalibration

on page 576

3.11.4. Mix and Match Example

In the Arria 10 transceiver architecture, the separate Native PHY IP core and the PLL

IP core scheme allows great flexibility. It is easy to share PLLs and reconfigure data rates. The following design example illustrates PLL sharing and both bonded and nonbonded clocking configurations.

Intel ® Arria ® 10 Transceiver PHY User Guide

409

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Figure 198. Mix and Match Design Example

Transceiver Bank

ATX PLL

6.25 GHz

Transceiver Bank

fPLL

5.15625 GHz

Transceiver Bank fPLL, 5.15625 GHz fPLL, 625 MHz

Transceiver Bank fPLL

2.5 GHz

ATX PLL

4 GHz

Transceiver Bank

MCGB

MCGB x1 x1 x6 xN x1 mcgb_aux_clk0 x6 xN

Interlaken 12.5G

Interlaken 12.5G

Interlaken 12.5G

Interlaken 12.5G

Interlaken 12.5G

Interlaken 12.5G

Interlaken 12.5G

Interlaken 12.5G

Interlaken 12.5G

Interlaken 12.5G

10GBASE-KR

10GBASE-KR

10GBASE-KR

10GBASE-KR

1.25G

1.25G

1.25G

1.25G

1.25G GbE

1.25G GbE

PCIe Gen 1/2/3 x8

PCIe Gen 1/2/3 x8

PCIe Gen 1/2/3 x8

PCIe Gen 1/2/3 x8

PCIe Gen 1/2/3 x8

PCIe Gen 1/2/3 x8

PCIe Gen 1/2/3 x8

PCIe Gen 1/2/3 x8

Unused

Unused

Legend

Interlaken12.5G

10GBASE-KR

1.25G/9.8G/10.3125G

1.25G GbE

PCIe Gen 1/2/3

Unused channel

PLL Instances

In this example, two ATX PLL instances and five fPLL instances are used. Choose an appropriate reference clock for each PLL instance. The IP Catalog lists the available

PLLs.

Intel ®

410

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Use the following data rates and configuration settings for PLL IP cores:

• Transceiver PLL Instance 0: ATX PLL with output clock frequency of 6.25 GHz

— Enable the Master CGB and bonding output clocks.

• Transceiver PLL instance 1: fPLL with output clock frequency of 5.1625 GHz

• Transceiver PLL instance 2: fPLL with output clock frequency of 5.1625 GHz

• Transceiver PLL instance 3: fPLL with output clock frequency of 0.625 GHz

— Select the Use as Transceiver PLL option.

• Transceiver PLL instance 4: fPLL with output clock frequency of 2.5 GHz

— Select Enable PCIe* clock output port option.

— Select Use as Transceiver PLL option.

• Set Protocol Mode to PCIe Gen2.

— Select the Use as Core PLL option

• Set the Desired frequency to 500 MHz with a phase shift of 0 ps.

• Transceiver PLL instance 6: ATX PLL with output clock frequency of 4 GHz

— Enable Master CGB and bonding output clocks.

— Select Enable PCIe clock switch interface option.

— Set Number of Auxiliary MCGB Clock Input ports to 1.

Intel ® Arria ® 10 Transceiver PHY User Guide

411

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Native PHY IP Core Instances

In this example, four Transceiver Native PHY IP core instances and four 10GBASE-KR

PHY IP instances are used. Use the following data rates and configuration settings for the PHY IPs:

• 12.5 Gbps Interlaken with a bonded group of 10 channels

— Set the Interlaken 10x12.5 Gbps preset from the Arria 10 Transceiver Native

PHY IP core GUI.

— Refer to Interlaken on page 94 for more details.

• Custom multi-data rate 1.25G/9.8G/10.3125 Gbps non-bonded group of four channels

— Set the Number of data channels to 4.

— Set TX channel bonding to Not Bonded.

— Under the TX PMA tab, set the Number of TX PLL clock inputs per

channel to 3.

— Under the RX PMA tab, set the Number of CDR reference clocks to 3.

• 1.25 Gbps Gigabit Ethernet with a non-bonded group of two channels

— Set the GIGE-1.25Gbps preset from the Arria 10 Transceiver Native PHY IP core GUI.

— Change the Number of data channels to 2.

• PCIe Gen3 with a bonded group of 8 channels

— Set the PCIe PIPE Gen3x8 preset from the Arria 10 Transceiver Native PHY

IP core GUI.

— Under TX Bonding options, set the PCS TX channel bonding master to channel 5.

Note: The PCS TX channel bonding master must be physically placed in channel 1 or channel 4 within a transceiver bank. In this example, the

5th channel of the bonded group is physically placed at channel 1 in the transceiver bank.

— Refer to PCI Express (PIPE)

on page 229 for more details.

• 10.3125 Gbps 10GBASE-KR non-bonded group of 4 channels

— Instantiate the Arria 10 1G/10GbE and 10GBASE-KR PHY IP four times, with one instance for each channel.

— Refer to 10GBASE-KR PHY IP Core on page 135 for more details.

Intel ®

412

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Connection Guidelines for PLL and Clock Networks

• For 12.5 Gbps Interlaken with a bonded group of 10 channels, connect the tx_bonding_clocks

to the transceiver PLL's tx_bonding_clocks

output port.

Make this connection for all 10 bonded channels. This connection uses a master

CGB and the x6 / xN clock line to reach all the channels in the bonded group.

• Connect the tx_serial_clk

port of the first two instances of the 10GBASE-KR

PHY IP to the tx_serial_clk

port of PLL instance 1 (fPLL at 5.1625 GHz). This connection uses the x1 clock line within the transceiver bank.

• Connect the tx_serial_clk

port of the remaining two instances of the

10GBASE-KR PHY IP to the tx_serial_clk

port of the PLL instance 2 (fPLL at

5.1625 GHz). This connection uses the x1 clock line within the transceiver bank.

• Connect the three tx_serial_clk

ports for the custom multi-data rate PHY IP as follows:

— Connect tx_serial_clk0

port to the tx_serial_clk

port of PLL instance 2

(fPLL at 5.1625 GHz). This PLL instance is shared with the two 10GBASE-KR

PHY IP channels and also uses the x1 clock line within the transceiver bank.

• Connect the 1.25 Gbps Gigabit Ethernet non-bonded PHY IP instance to the tx_serial_clk

port of the PLL instance 5. Make this connection twice, one for each channel. This connection uses the x1 clock line within the transceiver bank.

• Connect the PCIe Gen3 bonded group of 8 channels as follows:

— Connect the tx_bonding_clocks

of the PHY IP to the tx_bonding_clocks port of the Transceiver PLL Instance 6. Make this connection for each of the 8 bonded channels.

— Connect the pipe_sw_done

of the PHY IP to the pipe_sw

port of the transceiver PLL instance 6.

— Connect the pll_pcie_clk

port of the PLL instance 5 to the PHY IP's pipe_hclk_in port.

— Connect tx_serial_clk

port of the PLL instance 5 to the mcgb_aux_clk0 port of the PLL instance 6. This connection is required as a part of the PCIe speed negotiation protocol.

3.11.5. Timing Closure Recommendations

Register mode is harder to close timing in Arria 10 devices. Intel recommends using negative edge capture on the RX side for periphery to core transfers greater than 240

MHz. To be specific, capture on a negative edge clock in the core and then immediately transfer to a positive edge clock.

• Use PCLK clock network for frequencies up to 250 MHz.

• Local routing is recommended for higher frequencies.

For core to periphery transfers on TX targeting higher frequencies (beyond 250 MHz),

Intel recommends using TX Fast Register mode as the PCS FIFO mode. This is the mode with PCLK that should be used by default for most 10GbE 1588 modes and 9.8

Gbps/10.1376 Gbps CPRI mode.

• You can use local routing to get up to 320 MHz in Register mode for the highest speed grade.

Intel ® Arria ® 10 Transceiver PHY User Guide

413

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

3.12. PLLs and Clock Networks Revision History

Changes Document

Version

2018.06.15

2017.11.06

2016.10.31

2016.05.02

2016.02.11

2015.12.18

2015.11.02

2015.05.11

2014.12.15

Made the following change:

• For fPLL IP Core, added OTN_direct, SATA_Gen3 and HDMI to the range for Protocol Mode.

Made the following changes:

• Updated the "ATX PLL-to-ATX PLL Spacing Guidelines" section with GT channels information.

• Added note "Sourcing reference clock from a cascaded PLL output, global clock or core clock network will introduce additional jitter to transmit PLL output. Refer to KDB "How do I compensate for the jitter of PLL cascading or non-dedicated clock path for Arria 10 PLL reference clock?" for more details."

• Added guidance for jitter compliance for data rates >10 Gbps in the following sections:

— "fPLL"

— "CMU PLL"

— "Input Reference Clock Sources"

Made the following change:

• New section Unused/Idle Clock Line Requirements added.

• Updated ATX PLL, fPLL and CMU PLL parameters.

• Updated ATX PLL and fPLL ports.

• Added new parameters and ports when fPLL is used in core mode.

• Provided additional details for ATX PLL and fPLL fractional mode usage in the "Delta Sigma

Modulator" section.

• Added a new section describing "ATX PLL multi-profile and embedded reconfiguration".

Made the following changes:

• Updated the optimal performance placement guidelines for ATX PLL VCO frequencies.

• Updated placement recommendations for different protocols - OTU2e, OTU2, OC-192, 6G and 12G

SDI.

• Updated the "FPGA Fabric - Transceiver Interface Clocking" figure.

• Updated the maximum data rate to 25.8 Gbps.

Made the following changes:

• Updated the “PLL Cascading” figure.

• Updated the "Dedicated Reference Clock Pins" in the "Input Reference Clock Sources" section.

Made the following changes:

• Updated ATX PLL, CMU PLL and fPLL Configuration Options, Parameters and Settings.

• Updated ATX PLL placement in figures and examples.

• Clarified PLL to PLL cascade support.

• Created TX PLL Recommendations based on datarates.

• Updated ATX PLL, fPLL and CMU PLL Quartus settings.

• Added details and figures for the fPLL driving the fabric use cases.

• Updated PLL Feedback and Cascading Clock Network figure.

• Updated steps to implement PLL cascading.

Made the following changes:

• Updated ATX PLL, CMU PLL and FPLL Configuration Options, Parameters and Settings.

• Modified Transmit PLLs Data Rate Range in Arria 10 Devices.

• Increased xN clock network channel span.

• Added ATX PLL to fPLL cascading details.

Made the following changes:

• Added a note about PLL cascading support in ACDS 14.1 version of Quartus II software.

• Corrected the minimum data rate supported by ATX PLL in Table: Transmit PLLs in Arria 10 Devices.

• Corrected the error in PLL output frequency range for ATX PLL and CMU PLL IP cores.

• Corrected the PLL reference clock frequency range for ATX PLL IP core.

continued...

Intel ®

414

Arria ® 10 Transceiver PHY User Guide

3. PLLs and Clock Networks

UG-01143 | 2018.06.15

Document

Version

2014.08.15

2013.12.02

Changes

• Added a note about jitter performance in Input Reference Clock Sources section.

• Updated the Mix and Match Design Example figure to indicate that MCGB is used in the example.

• Changed the minimum data rate supported by the PLLs to 1 Gbps.

Made the following changes:

• Changed the maximum data rate for GT channels to 25.8 Gbps.

• Changed figure "Arria 10 PLLs and Clock Networks" to indicate channel 0,1,3, and 5 have only the

CDR PLL.

• Updated figure "x1 Clock Lines" to indicate that the channel PLL of channel 1 and channel 4 can be used as CMU PLL or as a CDR.

• Updated ATX PLL, fPLL, and CMU PLL section with a clarification about input reference clock frequency stability at device power-up.

• Updated Instantiating ATX PLL, fPLL, and CMU PLL topics with new IP instantiation flow.

• Updated ATX PLL and fPLL architecture block diagrams to show global clock or core clock as an input reference clock.

• Updated ATX PLL IP section with 14.0 A10 release changes

— Added fractional mode support.

— Added embedded debug parameters in table ATX PLL Dynamic Reconfiguration.

• Updated fPLL IP section with 14.0A10 release changes

— Removed "fPLL -Clock Switch over Parameter and Settings" table.

— Updated table "fPLL Parameter and Settings".

— Added embedded debug parameters in table "fPLL - Dynamic Reconfiguration Parameters and

Settings".

— Removed Number of auxiliary MCGB clock input ports from fPLL IP parameters.

• Added global clock or core clock as an input reference clock source.

• Added a new section for Global Clock or Core Clock as an Input Reference Clock.

• Updated figure "Input Reference Clock Sources".

• Updated Dedicated Reference Clock Pins section "Dedicated Reference Clock Pins".

— Added a connection to indicate that dedicated refclk pins can drive the reference clock network.

— Removed a wrong connection from the diagram.

• Updated xN Clock Lines section with maximum channel span limitations and added a exception for

QPI protocols.

• Added a new image in the FPGA Fabric-Transceiver Interface Clocking section.

• Added a new section for Channel Bonding describing PMA bonding, PMA and PCS bonding in detail.

• Removed xN Clock Network Data Rate Restrictions table.

• Updated chapter to indicate Arria 10 Transceivers support fPLL to fPLL, fPLL to ATX PLL, and fPLL to

CMU PLL cascading.

• Updated Using PLLs and Clock Networks section

— Changed MegaWizard references to IP Catalog and Parameter Editor.

— Updated the valid configurations for PLL IP and Native PHY IP per 14.0A10 release change.

• Removed Table "xN Clock Network Data Rate Restrictions".

• Updated the chapter to indicate Arria 10 transceivers support to fPLL to fPLL, fPLL to ATX PLL, and fPLL to CMU PLL cascading.

Initial release.

Intel ® Arria ® 10 Transceiver PHY User Guide

415

UG-01143 | 2018.06.15

4. Resetting Transceiver Channels

To ensure that transceiver channels are ready to transmit and receive data, you must properly reset the transceiver PHY. Intel recommends a reset sequence that ensures the physical coding sublayer (PCS) and physical medium attachment (PMA) in each transceiver channel initialize and function correctly. You can either use the Transceiver

PHY Reset Controller or create your own reset controller.

4.1. When Is Reset Required?

You can reset the transmitter (TX) and receiver (RX) data paths independently or together. The recommended reset sequence requires reset and initialization of the PLL driving the TX or RX channels, as well as the TX and RX datapaths. A reset is required after any of the following events:

Table 244.

Reset Conditions

Event

Device power up and configuration

PLL reconfiguration

Reset Requirement

Requires reset to the transceiver PHY and the associated PLLs to a known initialize state.

Requires reset to ensure that the PLL acquires lock and also to reset the PHY. Both the

PLL and the transmitter channel must be held in reset before performing PLL reconfiguration.

Requires reset to the PLL to ensure PLL lock. You must also reset the PHY.

PLL reference clock frequency change

PLL recalibration

PLL lock loss or recovery

Channel dynamic reconfiguration

Optical module connection

RX CDR lock mode change

Requires reset to the PLL to ensure PLL lock. You must also reset the PHY. Both the PLL and the transmitter channel must be held in reset before performing PLL recalibration.

Requires reset after a PLL acquired lock from a momentary loss of lock. You must also reset the PHY.

Requires holding the channel in reset before performing a dynamic reconfiguration that causes rate change. A PLL reset is not required during channel reconfiguration.

Requires reset of RX to ensure lock of incoming data.

Requires reset of the RX channel any time the RX clock and data recovery (CDR) block switches from lock-to-reference to lock-to-data RX channel.

Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.

*Other names and brands may be claimed as the property of others.

ISO

9001:2008

Registered

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

4.2. Transceiver PHY Implementation

Figure 199. Typical Transceiver PHY Implementation clock

Reset Controller

(user-coded or Intel IP) tx_analogreset tx_digitalreset rx_analogreset rx_digitalreset

Transceiver PHY Instance

Transmitter

PCS user reset tx_cal_busy (1) rx_cal_busy rx_is_lockedtoref rx_is_lockedtodata

Receiver

PCS

Transmitter

PMA

Receiver

PMA tx_analogreset_ack (2) rx_analogreset_ack (2)

Note:

Transmit

PLL clk_usrpin

Transceiver Reset Sequencer Inferred Block

Optional

Notes:

(1) You can logical OR the pll_cal_busy and tx_cal_busy signals.

(2) tx_analogreset_ack and rx_analogreset_ack are status signals from the Transceiver PHY IP core when these ports are enabled for manual user implementation of Model 2.

Transceiver Reset Endpoints—The Transceiver PHY IP core contains Transceiver

Reset Endpoints (TREs)

( 59

) .

Transceiver Reset Sequencer—The Quartus Prime software detects the presence of

TREs and automatically inserts only one Transceiver Reset Sequencer (TRS) (

59 )

. The tx_analogreset

and rx_analogreset requests from the reset controller (User coded or Transceiver PHY Reset Controller) is received by the TREs. The TRE sends the reset request to the TRS for scheduling. TRS schedules all the requested PMA resets and sends them back to TREs. You can use either Transceiver PHY Reset Controller or your own reset controller. However, for the TRS to work correctly, the required timing

duration must be followed. See Figure 200 on page 419 for required timing duration.

• The TRS IP is an inferred block and is not visible in the RTL. You have no control over this block.

CLKUSR connection—The clock to the TRS must be stable and free-running

(100-125 MHz). By default, the Quartus Prime software automatically connects the

TRS clock input to the CLKUSR pin on the device. If you are using the CLKUSR pin for your own logic (feeding it to the core), you must instantiate altera_a10_xcvr_clock_module

: altera_a10_xcvr_clock_module reset_clock (.clk_in(mgmt_clk));

For more information about the CLKUSR pin, refer to the Arria 10 Pin Connection

Guidelines.

(59) There is only one centralized TRS instantiated for one or more Native PHY.

Intel ® Arria ® 10 Transceiver PHY User Guide

417

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Note: To successfully complete the calibration process, the reference clocks driving the PLLs

(ATX PLL, fPLL, CDR/CMU PLL) must be stable and free running at start of FPGA configuration. Otherwise, recalibration is necessary.

Related Information

• Arria 10 Pin Connection Guidelines

Calibration

on page 567

For more information about the calibration process

4.3. How Do I Reset?

You reset a transceiver PHY or PLL by integrating a reset controller in your system design to initialize the PCS and PMA blocks. You can save time by using the Intelprovided Transceiver PHY Reset Controller IP core, or you can implement your own reset controller that follows the recommended reset sequence. You can design your own reset controller if you require individual control of each signal for reset or need additional control or status signals as part of the reset functionality.

You can choose from two models for resetting the transceivers, based on your applications:

• Model 1—Default model (Minimum Assertion Time Requirement)

Choose the Arria 10 Default Settings preset for the Transceiver PHY Reset

Controller IP.

The chapter Transceiver Reset Control in Arria 10 Devices explains the default model in detail.

• Model 2—Acknowledgment model

This model uses an event-driven mechanism. The model is used for applications with strict timing requirements.

4.3.1. Model 1: Default Model

4.3.1.1. Recommended Reset Sequence

How to Enable Model 1

Choose the Figure 200 on page 419 for the Transceiver PHY Reset Controller IP. This

populates the reset duration fields with the correct values required by the transceiver reset sequencer (TRS).

Intel ®

418

Arria ® 10 Transceiver PHY User Guide

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Figure 200. Arria 10 Default Settings Preset

Intel ® Arria ® 10 Transceiver PHY User Guide

419

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Figure 201. Transmitter and Receiver Reset Sequence

1

Transmit or

Receive

2

FPGA Device

Power Up/Operation

3

Ensure Calibration

Completed

4

5

6

7

PLL,TX/RX Analog

Reset Asserted

Wait for required time and all gating

conditions and release PLL/Analog

resets

Associated PLL/CDR

Locked

Release TX/RX

Digital Reset

8

TX/RX Reset

Completed

4.3.1.1.1. Resetting the Transmitter During Device Operation

Follow this reset sequence to reset the PLL or the analog or digital blocks of the transmitter at any point during the device operation. Use this reset sequence to reestablish a link or after dynamic reconfiguration. The following steps detail the transmitter reset sequence during device operation. The step numbers correspond to the numbers in the following figure.

1. Perform the following steps:

Intel ®

420

Arria ® 10 Transceiver PHY User Guide

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

a. Assert tx_analogreset

, pll_powerdown

, and tx_digitalreset

while pll_cal_busy

and tx_cal_busy

are low.

b. Deassert pll_powerdown

after a minimum duration of 70 μs.

c. Deassert tx_analogreset

. This step can be done at the same time or after you deassert pll_powerdown

.

2. The pll_locked

signal goes high after the TX PLL acquires lock. Wait for a minimum of 70 μs after deasserting tx_analogreset

to monitor the pll_locked

signal.

3. Deassert tx_digitalreset

, after pll_locked

goes high. The tx_digitalreset

signal must stay asserted for a minimum t tx_digitalreset duration after tx_analogreset

is deasserted.

Note: You must reset the PCS blocks by asserting tx_digitalreset

, every time you assert pll_powerdown

and tx_analogreset

.

Figure 202. Transmitter Reset Sequence During Device Operation

Device Power Up pll_cal_busy tx_cal_busy t req t req tx_analogreset pll_powerdown pll_locked tx_digitalreset treq = 70 μs

1 2

Note:

(1) The Arria 10 Default setting presets tx_digitalreset to 70 μs.

(2) Area in gray is don’t care logic state.

3 t (1) tx_digitalreset

Related Information

Arria 10 Device Datasheet

4.3.1.1.2. Resetting the Receiver During Device Operation

Follow this reset sequence to reset the analog or digital blocks of the receiver at any point during the device operation. Use this reset to re-establish a link or after dynamic reconfiguration.

Intel ® Arria ® 10 Transceiver PHY User Guide

421

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Clock Data Recovery in Auto Lock Mode

The step numbers correspond to the numbers in the following figure:

1. Assert rx_analogreset

and rx_digitalreset

. Ensure that rx_cal_busy

is low. You must reset the PCS by asserting rx_digitalreset

every time you assert

rx_analogreset

.

2. Deassert rx_analogreset

after a minimum duration of 70 μs.

3. Ensure rx_is_lockedtodata

is asserted for t

LTD

(minimum of 4 μs) before deasserting rx_digitalreset

.

Figure 203. Resetting the Receiver During Device Operation (Auto Mode)

Device Power Up rx_cal_busy t req rx_analogreset rx_is_lockedtodata rx_digitalreset t req

= 70 μs t

LTD

min 4 μs

1 2 3

Note: rx_is_lockedtodata

will toggle when there is no data at the receiver input.

rx_is_lockedtoref is a don't care when rx_is_lockedtodata

is asserted.

Clock Data Recovery in Manual Lock Mode

Use the clock data recovery (CDR) manual lock mode to override the default CDR automatic lock mode depending on your design requirements.

Related Information

"Transceiver PHY Reset Controller IP Core" chapter of the Altera Transceiver PHY IP

Core User Guide.

Refer to the description of the rx_digitalreset

signal in the "Top-Level Signals" table for information about using the manual lock mode.

Control Settings for CDR Manual Lock Mode

Use the following control settings to set the CDR lock mode:

Table 245.

Control Settings for the CDR in Manual Lock Mode rx_set_locktoref

0

1

X rx_set_locktodata

0

0

1

CDR Lock Mode

Automatic

Manual-RX CDR LTR

Manual-RX CDR LTD

Intel ®

422

Arria ® 10 Transceiver PHY User Guide

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Resetting the Transceiver in CDR Manual Lock Mode

The numbers in this list correspond to the numbers in the following figure, which guides you through the steps to put the CDR in manual lock mode.

1. Make sure that the calibration is complete ( rx_cal_busy

is low) and the transceiver goes through the initial reset sequence. The rx_digitalreset

and rx_analogreset

signals should be low. The rx_is_lockedtoref

is a don't care and can be either high or low. The rx_is_lockedtodata

and rx_ready signals should be high, indicating that the transceiver is out of reset. Alternatively, you can start directly with the CDR in manual lock mode after the calibration is complete.

2. Assert the rx_set_locktoref

signal high to switch the CDR to the lock-toreference mode. The rx_is_lockedtodata

status signal is deasserted. Assert the rx_digitalreset

signal high at the same time or after rx_set_lockedtoref

is asserted if you use the user-coded reset. When the

Transceiver PHY reset controller is used, the asserted.

rx_digitalreset

is automatically

3. After the rx_digitalreset

signal gets asserted, the rx_ready

status signal is deasserted.

4. Assert the rx_set_locktodata

signal high, t

LTR_LTD_Manual

(minimum 15 μs) after the CDR is locked to reference. rx_is_locktoref

should be high and stable for a minimum t

LTR_LTD_Manual

(15 μs), before asserting rx_set_locktodata

. This is required to filter spurious glitches on rx_is_lockedtoref

. The rx_is_lockedtodata

status signal gets asserted, which indicates that the CDR is now set to LTD mode.

The rx_is_lockedtoref

status signal can be a high or low and can be ignored after asserting rx_set_locktodata

high after the CDR is locked to reference.

5. Deassert the rx_digitalreset

signal after a minimum of t

LTD_Manual

(4 μs).

6. If you are using the Transceiver PHY Reset Controller, the rx_ready

status signal gets asserted after the rx_digitalreset

signal is deasserted. This indicates that the receiver is now ready to receive data with the CDR in manual mode.

Intel ® Arria ® 10 Transceiver PHY User Guide

423

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Figure 204. Reset Sequence Timing Diagram for Receiver when CDR is in Manual Lock

Mode

Control Signals

rx_set_locktoref

2 t

LTR_LTD_Manual rx_set_locktodata 4 rx_digitalreset

1

2 t

LTD_Manual

5

1 rx_analogreset

Status Signals

rx_is_lockedtoref 1 4 rx_is_lockedtodata 1 2 4

6 rx_ready rx_cal_busy

1

3

4.3.1.1.3. Resetting the Transceiver Channel During Device Operation

The numbers in this list correspond to the numbers in the following figure.

1. Assert tx_analogreset

, pll_powerdown

, tx_digitalreset

, rx_analogreset

, and rx_digitalreset

. Ensure that pll_cal_busy

, tx_cal_busy

, and rx_cal_busy

are low.

2. Deassert pll_powerdown

and minimum duration of 70 μs.

tx_analogreset

at the same time, after a

3. The pll_locked

signal goes high after the TX PLL acquires lock. Wait for a minimum 70 μs after deasserting tx_analogreset

to monitor the pll_locked signal.

4. Deassert tx_digitalreset

after pll_locked

goes high. The tx_digitalreset

signal must stay asserted for a minimum t tx_digitalreset

(minimum of 70 μs) duration after tx_analogreset

is deasserted.

5. Deassert rx_analogreset

after deasserting tx_analogreset

.

6. Ensure rx_is_lockedtodata

is asserted for t

LTD

(minimum of 4 μs) before deasserting rx_digitalreset

.

Intel ®

424

Arria ® 10 Transceiver PHY User Guide

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Figure 205. Resetting the Transceiver Channel During Device Operation

Device Power Up pll_cal_busy tx_cal_busy rx_cal_busy t req t req tx_analogreset pll_powerdown pll_locked tx_digitalreset rx_analogreset rx_is_lockedtodata rx_digitalreset t rx_digitalreset

min 70 μs t req

= 70 μs

1 2 3 4

5 6 t

LTD

min 4 μs

4.3.1.1.4. Dynamic Reconfiguration of Channel Using the Default Model

TX Channel

The numbers in this list correspond to the numbers in the following figure.

1. Assert tx_analogreset

, pll_powerdown

, and tx_digitalreset

, while pll_cal_busy

and tx_cal_busy

are low.

2. Perform dynamic reconfiguration after minimum 70 μs of asserting tx_analogreset

.

3. Deassert pll_powerdown

after performing a dynamic reconfiguration.

Deassert tx_analogreset

. This step can be done at the same time or after you deassert pll_powerdown

.

4. The pll_locked

signal goes high after the TX PLL acquires lock. Wait for minimum 70 μs after deasserting tx_analogreset

to monitor the pll_locked signal.

5. Deassert tx_digitalreset

after pll_locked

goes high. The tx_digitalreset

signal must stay asserted for a minimum t tx_digitalreset duration after tx_analogreset

is deasserted.

Intel ® Arria ® 10 Transceiver PHY User Guide

425

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Figure 206. Dynamic Reconfiguration of Transmitter Channel During Device Operation

Device Power Up pll_cal_busy tx_cal_busy t req

Legal

Reconfiguration

Window t req tx_analogreset pll_powerdown pll_locked tx_digitalreset t tx_digitalreset

(1) t req

= 70 μs 1 2 3

Note:

(1) The Arria 10 Default setting presets ttx_digitalreset to 70 μs.

(2) Area in gray is don’t care zone.

4 5

RX Channel

The numbers in this list correspond to the numbers in the following figure.

1. Assert rx_analogreset

and rx_digitalreset

. Ensure that rx_cal_busy

is low. You must reset the PCS by asserting rx_digitalreset

every time you assert rx_analogreset

.

2. Perform dynamic reconfiguration after minimum 70 μs of asserting rx_analogreset

.

3. Deassert rx_analogreset

after performing dynamic reconfiguration.

4. The rx_is_lockedtodata

signal goes high after the CDR acquires lock.

5. Ensure rx_is_lockedtodata

is asserted for t

LTD

(minimum of 4 μs) before deasserting rx_digitalreset

.

Intel ®

426

Arria ® 10 Transceiver PHY User Guide

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Figure 207. Dynamic Reconfiguration of Receiver Channel During Device Operation

Device Power Up rx_cal_busy t req

Legal

Reconfiguration

Window rx_analogreset rx_is_lockedtodata rx_digitalreset t req

= 70 μs t

LTD

min 4 μs

1 2 3 4 5

4.3.2. Model 2: Acknowledgment Model

The acknowledgment model uses an event-driven mechanism. It is used for applications with strict timing requirements. Instead of waiting for a minimum assertion time of 70 μs for tx_analogreset

and rx_analogreset

, you must wait to receive the acknowledgment from the Transceiver Native PHY IP core to ensure successful assertion and deassertion of the analog resets.

To enable the acknowledgment model, enable the following ports in the Transceiver

Native PHY IP core:

• Enable the tx_analog_reset_ack

port in the TX PMA

Figure 208. Enabling the tx_analog_reset_ack Port

• Enable the rx_analog_reset_ack

port in the RX PMA

Figure 209. Enabling the rx_analog_reset_ack Port

Intel ® Arria ® 10 Transceiver PHY User Guide

427

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Note: tx_analog_reset_ack

and rx_analog_reset_ack

must be treated as asynchronous signals. You must pass them through a synchronizer before sending them to control logic.

4.3.2.1. Recommended Reset Sequence

4.3.2.1.1. Resetting the Transmitter During Device Operation

The numbers in this list correspond to the numbers in the following figure.

1. Assert tx_analogreset

, pll_powerdown

, and tx_digitalreset

, while pll_cal_busy

and tx_cal_busy

are low.

2. Wait for tx_analogreset_ack

to go high, to ensure successful assertion of tx_analogreset

. tx_analogreset_ack

goes high when TRS has successfully completed the reset request for assertion.

a. Deassert pll_powerdown

after t pll_powerdown

.

b. Deassert tx_analogreset

. This step can be done at the same time or after you deassert pll_powerdown

.

3. Wait for tx_analogreset_ack

to go low, to ensure successful deassertion of tx_analogreset

. tx_analogreset_ack

goes low when TRS has successfully completed the reset request for deassertion.

4. The pll_locked

signal goes high after the TX PLL acquires lock. Wait for tx_analogreset_ack

to go low before monitoring the pll_locked

signal.

5. Deassert tx_digitalreset goes high.

a minimum t tx_digitalreset

time after pll_locked

Figure 210. Transmitter Reset Sequence During Device Operation

Device Power Up pll_cal_busy tx_cal_busy tx_analogreset tx_analogreset_ack pll_powerdown pll_locked tx_digitalreset t tx_digitalreset

1 2

Note:

(1) Area in gray is don’t care logic state.

3 4 5

Intel ®

428

Arria ® 10 Transceiver PHY User Guide

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

4.3.2.1.2. Resetting the Receiver During Device Operation

The numbers in this list correspond to the numbers in the following figure.

1. Assert rx_analogreset

and rx_digitalreset

while rx_cal_busy

is low.

2. Wait for rx_analogreset_ack

to go high, to ensure successful assertion of rx_analogreset

. rx_analogreset_ack

goes high when TRS has successfully completed the reset request for assertion.

a. Deassert rx_analogreset

.

3. Wait for rx_analogreset_ack

to go low, to ensure successful deassertion of rx_analogreset

.

rx_analogreset_ack

goes low when TRS has successfully completed the reset request for deassertion.

4. The rx_is_lockedtodata

signal goes high after the CDR acquires lock.

5. Ensure rx_is_lockedtodata

is asserted for t

LTD

(minimum of 4 μs) before deasserting rx_digitalreset

.

Figure 211. Receiver Reset Sequence During Device Operation

Device Power Up rx_cal_busy rx_analogreset rx_analogreset_ack rx_is_lockedtodata rx_digitalreset t

LTD

min 4 μs

1 2 3 4 5

4.3.2.1.3. Dynamic Reconfiguration of Transmitter Channel Using the Acknowledgment

Model

The numbers in this list correspond to the numbers in the following figure.

1. Assert tx_analogreset

, pll_powerdown

, and tx_digitalreset

, while pll_cal_busy

and tx_cal_busy

are low.

2. Wait for tx_analogreset_ack

to go high, to ensure successful assertion of tx_analogreset

. tx_analogreset_ack

goes high when TRS has successfully completed the reset request for assertion.

Intel ® Arria ® 10 Transceiver PHY User Guide

429

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

a. Perform dynamic reconfiguration.

b. Deassert pll_powerdown

after t pll_powerdown

.

c. Deassert tx_analogreset

. This step can be done at the same time or after you deassert pll_powerdown

.

3. Wait for tx_analogreset_ack

to go low, to ensure successful deassertion of tx_analogreset

. tx_analogreset_ack

goes low when TRS has successfully completed the reset request for deassertion.

4. The pll_locked

signal goes high after the TX PLL acquires lock. Wait for tx_analogreset_ack

to go low before monitoring the pll_locked

signal.

5. Deassert tx_digitalreset

a minimum t tx_digitalreset

time after pll_locked goes high.

Figure 212. Dynamic Reconfiguration of Transmitter Channel During Device Operation

Device Power Up pll_cal_busy tx_cal_busy tx_analogreset tx_analogreset_ack

Legal

Reconfiguration

Window pll_powerdown pll_locked tx_digitalreset t tx_digitalreset

1 2

Note:

(1) Area in gray is don’t care zone.

3 4 5

4.3.2.1.4. Dynamic Reconfiguration of Receiver Channel Using the Acknowledgment Model

The numbers in this list correspond to the numbers in the "Dynamic Reconfiguration of

Receiver Channel During Device Operation" figure below.

1. Assert rx_analogreset

and rx_digitalreset

while rx_cal_busy

is low.

Intel ®

430

Arria ® 10 Transceiver PHY User Guide

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

a. To ensure successful assertion of rx_analogreset

, wait for rx_analogreset_ack

to go high. rx_analogreset_ack

goes high when the TRS has successfully completed the reset request for assertion.

b. Deassert rx_analogreset

.

2. To ensure successful deassertion of rx_analogreset

, wait for rx_analogreset_ack

to go low. rx_analogreset_ack

goes low when the TRS has successfully completed the reset request for deassertion. (60), (61)

3. Wait for rx_analogreset_ack

to go low; then ensure rx_is_lockedtodata signal goes high after the CDR (automatic lock mode) is locked to data.

4. After rx_is_lockedtodata

goes high, wait a minimum of t

LTD

(minimum of 4

μs). Then deassert rx_digitalreset

.

Figure 213. Dynamic Reconfiguration of Receiver Channel During Device Operation

Device Power Up rx_cal_busy rx_analogreset rx_analogreset_ack rx_is_lockedtodata rx_digitalreset

Legal

Reconfiguration

Window t

LTD

min 4 μs

1 2 3 4

(60) If the CDR operates in manual lock mode, step

3 on page 431 and step 4 on page 431 are not

applicable. After rx_analogreset_ack

goes low, apply the reset sequence from the "Reset

Sequence Timing Diagram for Receiver when CDR is in Manual Lock Mode" figure below.

(61) If the receiver signal detector is enabled and the CDR operates in manual lock mode, step

3

on page 431 and step

4

on page 431 are not applicable. After rx_analogreset_ack

goes low, wait for rx_std_signaldetect

to go high. When rx_std_signaldetect

is high continuously for 1 μs or more, apply the reset sequence from the "Reset Sequence Timing

Diagram for Receiver when CDR is in Manual Lock Mode" figure below.

Intel ® Arria ® 10 Transceiver PHY User Guide

431

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Figure 214. Reset Sequence Timing Diagram for Receiver when CDR is in Manual Lock

Mode

Control Signals

rx_set_locktoref

2 t

LTR_LTD_Manual rx_set_locktodata 4 rx_digitalreset

1

2 t

LTD_Manual

5

1 rx_analogreset

Status Signals

rx_is_lockedtoref 1 4 rx_is_lockedtodata 1 2 4

6 rx_ready rx_cal_busy

1

3

4.3.3. Transceiver Blocks Affected by Reset and Powerdown Signals

You must reset the digital PCS each time you reset the analog PMA or PLL. However, you can reset the digital PCS block alone.

Table 246.

Transceiver Blocks Affected by Specified Reset and Powerdown Signals

Transceiver

Block

CMU PLL

ATX PLL fPLL

CDR

Receiver

Standard PCS

Receiver

Enhanced PCS

Receiver PMA

Receiver PCIe

Gen3 PCS

Transmitter

Standard PCS

Transmitter

Enhanced PCS

Transmitter PMA

Transmitter PCIe

Gen3 PCS pll_powerdown

Yes

Yes

Yes tx_analogreset

Yes tx_digitalreset

Yes

Yes

Yes rx_analogreset

Yes

Yes rx_digitalreset

Yes

Yes

Yes

Intel ®

432

Arria ® 10 Transceiver PHY User Guide

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Related Information

User Recalibration

on page 576

4.4. Using the Transceiver PHY Reset Controller

Transceiver PHY Reset Controller is a configurable IP core that resets transceivers mainly in response to PLL lock activity. You can use this IP core rather than creating your own user-coded reset controller. You can define a custom reset sequence for the

IP core. You can also modify the IP cores's generated clear text Verilog HDL file to implement custom reset logic.

The Transceiver PHY Reset Controller handles all transceiver reset sequencing and supports the following options:

• Separate or shared reset controls per channel in response to PLL lock activity

• Separate controls for the TX and RX channels and PLLs

• Synchronization of the reset inputs

• Hysteresis for PLL locked status inputs

• Configurable reset timing

• Automatic or manual reset recovery mode in response to loss of PLL lock

You should create your own reset controller if the Transceiver PHY Reset Controller IP does not meet your requirements, especially when you require independent transceiver channel reset. The following figure illustrates the typical use of the

Transceiver PHY Reset Controller in a design that includes a transceiver PHY instance and the transmit PLL.

Intel ® Arria ® 10 Transceiver PHY User Guide

433

Figure 215. Transceiver PHY Reset Controller System Diagram

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Status Signals

clock reset tx_ready

Reset Controller

(user-coded or Intel IP) rx_ready tx_analogreset tx_digitalreset rx_analogreset rx_digitalreset rx_cal_busy rx_is_lockedtoref rx_is_lockedtodata

tx_analogreset_ack

(2)

rx_analogreset_ack

(2) pll_tx_cal_busy tx_cal_busy

(1)

pll_cal_busy

(1)

Transceiver PHY Instance

Transmitter

PCS

Transmitter

PMA

Receiver

PCS

Receiver

PMA

Transmit

PLL clk_usrpin

Transceiver Reset Sequencer Inferred Block

Note:

(1) You can logical OR the pll_cal_busy and tx_cal_busy signals. pll_tx_cal_busy connects to the controller’s tx_cal_busy input port.

Optional

Intel ®

434

Arria ® 10 Transceiver PHY User Guide

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

The Transceiver PHY Reset Controller IP core connects to the Transceiver PHY and the

Transmit PLL. The Transceiver PHY Reset Controller IP core receives status from the

Transceiver PHY and the Transmit PLL. Based on the status signals or the reset input, it generates TX and RX reset signals to the Transceiver PHY and TX PLL.

The tx_ready

signal indicates whether the TX PMA exits the reset state, and if the TX

PCS is ready to transmit data. The rx_ready

signal indicates whether the RX PMA exits the reset state, and if the RX PCS is ready to receive data. You must monitor these signals to determine when the transmitter and receiver are out of the reset sequence.

4.4.1. Parameterizing the Transceiver PHY Reset Controller IP

This section lists steps to configure the Transceiver PHY Reset Controller IP Core in the

IP Catalog. You can customize the following Transceiver PHY Reset Controller parameters for different modes of operation by clicking ToolsIP Catalog.

To parameterize and instantiate the Transceiver PHY Reset Controller IP core:

1. For Device Family, select your target device from the list.

2. Click Installed IPLibraryInterface ProtocolsTransceiver PHY

Transceiver PHY Reset Controller.

3. Select the options required for your design. For a description of these options, refer to the Transceiver PHY Reset Controller Parameters.

4. Click Finish. The wizard generates files representing your parameterized IP variation for synthesis and simulation.

4.4.2. Transceiver PHY Reset Controller Parameters

The Quartus Prime software provides a GUI to define and instantiate a Transceiver PHY

Reset Controller to reset transceiver PHY and external PLL.

Table 247.

General Options

Name

Number of transceiver channels

1-1000

Range

Number of TX PLLs

Input clock frequency

Synchronize reset input

Use fast reset for simulation

1-1000

1-500 MHz

On /Off

On /Off

Description

Specifies the number of channels that connect to the Transceiver PHY Reset Controller IP core. The upper limit of the range is determined by your

FPGA architecture.

Specifies the number of TX PLLs that connect to the Transceiver PHY Reset Controller IP core.

Input clock to the Transceiver PHY Reset Controller

IP core. The frequency of the input clock in MHz.

The upper limit on the input clock frequency is the frequency achieved in timing closure.

When On, the Transceiver PHY Reset Controller synchronizes the reset to the Transceiver PHY

Reset Controller input clock before driving it to the internal reset logic. When Off, the reset input is not synchronized.

When On, the Transceiver PHY Reset Controller uses reduced reset counters for simulation.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

435

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Name

Separate interface per channel/PLL

On /Off

Range Description

When On, the Transceiver PHY Reset Controller provides a separate reset interface for each channel and PLL.

Enable TX PLL reset control pll_powerdown duration

Synchronize reset input for PLL powerdown

Enable TX channel reset control

Use separate TX reset per channel On /Off

TX digital reset mode tx_analogreset duration tx_digitalreset duration pll_locked input hysteresis

Auto, Manual, Expose

Port

1-999999999

1-999999999

0-999999999

TX PLL

On /Off

1-999999999

On /Off

TX Channel

When On, the Transceiver PHY Reset Controller IP core enables the reset control of the TX PLL. When

Off, the TX PLL reset control is disabled.

Specifies the duration of the PLL powerdown period in ns. The value is rounded up to the nearest clock cycle. The default value is 1000 ns.

When On, the Transceiver PHY Reset Controller synchronizes the PLL powerdown reset with the

Transceiver PHY Reset Controller input clock. When

Off, the PLL powerdown reset is not synchronized.

On /Off When On, the Transceiver PHY Reset Controller enables the control logic and associated status signals for TX reset. When Off, disables TX reset control and status signals.

When On, each TX channel has a separate reset.

When Off, the Transceiver PHY Reset Controller uses a shared TX reset controller for all channels.

Specifies the Transceiver PHY Reset Controller behavior when the pll_locked

signal is deasserted. The following modes are available:

Auto—The associated tx_digitalreset controller automatically resets whenever the pll_locked

signal is deasserted. Intel recommends this mode.

Manual—The associated tx_digitalreset controller is not reset when the pll_locked signal is deasserted, allowing you to choose corrective action.

Expose Port—The tx_manual

signal is a toplevel signal of the IP core. You can dynamically change this port to Auto or Manual. (1=

Manual , 0 = Auto)

Specifies the time in ns to continue to assert tx_analoglreset

after the reset input and all other gating conditions are removed. The value is rounded up to the nearest clock cycle.

Note: Model 1 requires this to be set to 70 µs.

Select the Arria 10 Default Settings preset.

Specifies the time in ns to continue to assert the tx_digitalreset

after the reset input and all other gating conditions are removed. The value is rounded up to the nearest clock cycle.

Note: Model 1 requires this to be set to 70 µs.

Select the Arria 10 Default Settings preset. The default value for Model 2 is 20 ns.

Specifies the amount of hysteresis in ns to add to the pll_locked

status input to filter spurious unreliable assertions of the pll_locked

signal. A continued...

Intel ®

436

Arria ® 10 Transceiver PHY User Guide

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Name Range Description value of 0 adds no hysteresis. A higher value filters glitches on the pll_locked

signal. Intel recommends that the amount of hysteresis be longer than tpll_lock_max_time

.

RX Channel

Enable RX channel reset control On /Off

Use separate RX reset per channel On /Off

RX digital reset mode rx_analogreset duration rx_digitalreset duration

Auto, Manual, Expose

Port

1-999999999

1-999999999

When enabled, the IP enables control logic and status signals for the RX reset signals.

When On, each RX channel has a separate reset input. When Off, uses a shared RX reset controller for all channels.

Specifies the Transceiver PHY Reset Controller behavior when the PLL lock signal is deasserted.

The following modes are available:

Auto—The associated rx_digitalreset controller automatically resets whenever the rx_is_lockedtodata

signal is deasserted.

Manual—The associated rx_digitalreset controller is not reset when the rx_is_lockedtodata

signal is deasserted, allowing you to choose corrective action.

Expose Port—The rx_manual

signal is a toplevel signal of the IP core. If the core includes separate reset control for each RX channel, each RX channel uses its respective rx_is_lockedtodata

signal for automatic reset control; otherwise, the inputs are ANDed to provide internal status for the shared reset controller.

Specifies the time in ns to continue to assert the rx_analogreset

after the reset input and all other gating conditions are removed. The value is rounded up to the nearest clock cycle. The default value is 40 ns.

Note: Model 1 requires this to be set to 70 µs.

Select the Arria 10 Default Settings preset.

Specifies the time in ns to continue to assert the rx_digitalreset

after the reset input and all other gating conditions are removed. The value is rounded up to the nearest clock cycle. The default value is 4000 ns.

4.4.3. Transceiver PHY Reset Controller Interfaces

This section describes the top-level signals for the Transceiver PHY Reset Controller IP core.

The following figure illustrates the top-level signals of the Transceiver PHY Reset

Controller IP core. Many of the signals in the figure become buses if you choose separate reset controls. The variables in the figure represent the following parameters:

<n>—The number of lanes

<p>—The number of PLLs

Intel ® Arria ® 10 Transceiver PHY User Guide

437

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Figure 216. Transceiver PHY Reset Controller IP Core Top-Level Signals

PLL and

Calibration

Status pll_locked[<p>–1:0] pll_select[<p*n>–1:0] tx_cal_busy[<n>–1:0] rx_cal_busy[<n>–1:0]

(1) rx_is_lockedtodata[<n>–1:0] tx_digitalreset[<n>–1:0] tx_analogreset[<n>–1:0] tx_ready[<n>–1:0] rx_digitalreset[<n>–1:0] rx_analogreset[<n>–1:0] rx_ready[<n>–1:0]

PLL

Control

Clock and Reset tx_manual[<n>–1:0] rx_manual[<n>–1:0] clock reset pll_powerdown[<p>–1:0]

Note:

(1) n=1 for pll_select signal width when a single TX reset sequence is used for all channels.

TX and RX

Resets and Status

PLL Powerdown

Note: PLL control is available when you enable the Expose Port parameter.

Table 248.

Top-Level Signals

This table describes the signals in the above figure in the order that they are shown in the figure.

Signal Name pll_locked[<p>-1:0] rx_is_lockedtodata[<n

>-1:0] tx_manual[<n>-1:0]

Direction

Input pll_select[<p*n>-1:0]

Input tx_cal_busy[<n> -1:0]

Input rx_cal_busy[<n> -1:0]

Input

Input

Input

Clock Domain

Asynchronous

Synchronous to the

Transceiver PHY Reset

Controller input clock.

Set to zero when not using multiple PLLs.

Asynchronous

Asynchronous

Synchronous to CDR

Asynchronous

Description

Provides the PLL locked status input from each PLL.

When asserted, indicates that the TX PLL is locked.

When deasserted, the PLL is not locked. There is one signal per PLL.

When you select Use separate TX reset per

channel, this bus provides enough inputs to specify an index for each channel. When Use separate TX reset per channel is disabled, the channels.

pll_locked

signal to listen to for each

pll_select

signal is used for all n=1 when a single TX reset sequence is used for all channels.

This is the calibration status signal that results from the logical OR of pll_cal_busy

and tx_cal_busy signals. The signal goes high when either the TX PLL or

Transceiver PHY initial calibration is active. It is not asserted if you manually re-trigger the calibration IP.

The signal goes low when calibration is completed. This signal gates the TX reset sequence. The width of this signals depends on the number of TX channels.

This is calibration status signal from the Transceiver

PHY IP core. When asserted, the initial calibration is active. When deasserted, calibration has completed.

This signal gates the RX reset sequence. The width of this signals depends on the number of RX channels.

Provides the rx_is_lockedtodata

status from each

RX CDR. When asserted, indicates that a particular RX

CDR is ready to receive input data. If you do not choose separate controls for the RX channels, these inputs are ANDed together internally to provide a single status signal.

This optional signal places controller under automatic or manual control. When asserted, the associated tx_digitalreset tx_digitalreset

controller continued...

Intel ®

438

Arria ® 10 Transceiver PHY User Guide

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Signal Name rx_manual[<n> -1:0] clock reset tx_digitalreset[<n>-1

:0] tx_analogreset[<n>-1:

0] tx_ready[<n>-1:0] rx_digitalreset[<n>

-1:0]

Direction

Input

Input

Input

Output

Output

Output

Output

Asynchronous

N/A

Clock Domain

Asynchronous

Synchronous to the

Transceiver PHY Reset

Controller input clock.

Synchronous to the

Transceiver PHY Reset

Controller input clock.

Synchronous to the

Transceiver PHY Reset

Controller input clock.

Synchronous to the

Transceiver PHY Reset

Controller input clock.

Description logic does not automatically respond to deassertion of the pll_locked

signal. However, the initial tx_digitalreset

sequence still requires a one-time rising edge on pll_locked

before proceeding. When deasserted, the associated controller automatically begins its reset sequence whenever the selected deasserted.

tx_digitalreset pll_locked

signal is

This optional signal places manual mode, the rx_digitalreset controller under automatic or manual control. In rx_digitalreset

logic

controller does not respond to the assertion or deassertion of the rx_is_lockedtodata

signal. The rx_digitalreset

controller asserts rx_ready

when the rx_is_lockedtodata

signal is asserted.

A free running system clock input to the Transceiver

PHY Reset Controller from which all internal logic is driven. If a free running clock is not available, hold reset until the system clock is stable.

Asynchronous reset input to the Transceiver PHY Reset

Controller. When asserted, all configured reset outputs are asserted. Holding the reset input signal asserted holds all other reset outputs asserted. An option is available to synchronize with the system clock. In synchronous mode, the reset signal needs to stay asserted for at least (2) clock cycles by default.

Digital reset for TX channels. The width of this signal depends on the number of TX channels. This signal is asserted when any of the following conditions is true:

• reset

is asserted

• pll_powerdown

is asserted pll_cal_busy

is asserted tx_cal_busy

is asserted

• PLL has not reached the initial lock ( deasserted) pll_locked

• pll_locked

is deasserted and tx_manual

is deasserted

When all of these conditions are false, the reset counter begins its countdown for deassertion of tx_digitalreset

.

Analog reset for TX channels. The width of this signal depends on the number of TX channels. This signal is asserted when reset

is asserted.

This signal follows pll_powerdown

, which is deasserted after pll_locked

goes high.

Status signal to indicate when the TX reset sequence is complete. This signal is deasserted while the TX reset is active. It is asserted a few clock cycles after the deassertion of tx_digitalreset

. Some protocol implementations may require you to monitor this signal prior to sending data. The width of this signal depends on the number of TX channels.

Digital reset for RX. The width of this signal depends on the number of channels. This signal is asserted when any of the following conditions is true: continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

439

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Signal Name rx_analogreset

[<n>-1:0] rx_ready[<n>-1:0] pll_powerdown[<p>-1:0

]

Direction

Output

Output

Output

Clock Domain

Synchronous to the

Transceiver PHY Reset

Controller input clock.

Synchronous to the

Transceiver PHY Reset

Controller input clock.

Synchronous to the

Transceiver PHY Reset

Controller input clock.

Description

• reset

is asserted

• rx_analogreset

is asserted rx_cal_busy

is asserted rx_is_lockedtodata

is deasserted and rx_manual

is deasserted

When all of these conditions are false, the reset counter begins its countdown for deassertion of rx_digitalreset

.

Analog reset for RX. When asserted, resets the RX CDR and the RX PMA blocks of the transceiver PHY. This signal is asserted when any of the following conditions is true:

• reset

is asserted

• rx_cal_busy

is asserted

The width of this signal depends on the number of channels.

Status signal to indicate when the RX reset sequence is complete. This signal is deasserted while the RX reset is active. It is asserted a few clock cycles after the deassertion of rx_digitalreset

. Some protocol implementations may require you to monitor this signal prior to sending data. The width of this signal depends on the number of RX channels.

Asserted to power down a transceiver PLL circuit. When asserted, the selected TX PLL is reset.

Usage Examples for

pll_select

• If a single channel can switch between three TX PLLs, the pll_select

signal indicates which one of the selected three TX PLL's pll_locked

signal is used to communicate the PLL lock status to the TX reset sequence. In this case, to select the 3-bits wide pll_locked

port, the pll_select

port is 2-bits wide.

• If three channels are instantiated with three TX PLLs and with a separate TX reset sequence per channel, the pll_select

field is 6-bits wide (2-bits per channel).

In this case, pll_select [1:0]

represents channel 0, pll_select[3:2] represents channel 1, and pll_select[5:4]

represents channel 2. For each channel, a separate pll_locked

signal indicates the PLL lock status.

• If three channels are instantiated with three TX PLLs and with a single TX reset sequence for all three channels, then pll_select

field is 2-bits wide. In this case, the same pll_locked

signal indicates the PLL lock status for all three channels.

• If one channel is instantiated with one TX PLL, pll_select

field is 1-bit wide.

Connect pll_select

to logic 0.

• If three channels are instantiated with only one TX PLL and with a separate TX reset sequence per channel, the pll_select

field is 3-bits wide. In this case, pll_select

should be set to 0 since there is only one TX PLL available.

Intel ®

440

Arria ® 10 Transceiver PHY User Guide

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

4.4.4. Transceiver PHY Reset Controller Resource Utilization

This section describes the estimated device resource utilization for two configurations of the transceiver PHY reset controller. The exact resource count varies by Quartus

Prime version number, as well as by optimization options.

Table 249.

Reset Controller Resource Utilization

Configuration

Single transceiver channel

Four transceiver channels, shared TX reset, separate RX resets

Combination ALUTs approximately 50 approximately 100

Logic Registers approximately 50 approximately 150

4.5. Using a User-Coded Reset Controller

You can design your own user-coded reset controller instead of using Transceiver PHY

Reset Controller. Your user-coded reset controller must provide the following functionality for the recommended reset sequence:

• A clock signal input for your reset logic

• Holds the transceiver channels in reset by asserting the appropriate reset control signals

• Checks the PLL status (for example, checks the status of pll_locked

and pll_cal_busy

)

Note: You must ensure a stable reference clock is present at the PLL transmitter before releasing pll_powerdown

.

4.5.1. User-Coded Reset Controller Signals

Refer to the signals in the following figure and table for implementation of a usercoded reset controller.

Intel ® Arria ® 10 Transceiver PHY User Guide

441

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Figure 217. User-Coded Reset Controller, Transceiver PHY, and TX PLL Interaction clock

User-Coded

Reset

Controller tx_analogreset tx_digitalreset rx_analogreset rx_digitalreset

Transceiver PHY Instance

Transmitter

PCS

Transmitter

PMA tx_cal_busy rx_cal_busy rx_is_lockedtoref rx_is_lockedtodata

Receiver

PCS

Receiver

PMA

You can logical OR the pll_cal_busy and tx_cal_busy signals.

Transmit

PLL

Table 250.

User-coded Reset Controller, Transceiver PHY, and TX PLL Signals pll_powerdown tx_analogreset tx_digitalreset rx_analogreset rx_digitalreset clock

Signal Name pll_cal_busy pll_locked tx_cal_busy rx_is_lockedtodata rx_cal_busy rx_is_lockedtoref

Direction

Output

Output

Output

Output

Output

Input

Input

Input

Input

Input

Input

Input

Description

Resets the TX PLL when asserted high.

Resets the TX PMA when asserted high.

Resets the TX PCS when asserted high.

Resets the RX PMA when asserted high.

Resets the RX PCS when asserted high.

Clock signal for the user-coded reset controller. You can use the system clock without synchronizing it to the PHY parallel clock. The upper limit on the input clock frequency is the frequency achieved in timing closure.

A high on this signal indicates the PLL is being calibrated.

A high on this signal indicates that the TX PLL is locked to the ref clock.

A high on this signal indicates that TX calibration is active. If you have multiple PLLs, you can OR their pll_cal_busy

signals together.

A high on this signal indicates that the RX CDR is in the lock-to-data (LTD) mode.

A high on this signal indicates that RX calibration is active.

A high on this signal indicates that the RX CDR is in the lock-to-reference

(LTR) mode. This signal may toggle or be deasserted when the CDR is in

LTD mode.

4.6. Combining Status or PLL Lock Signals

You can combine multiple PHY status signals before feeding into the reset controller as shown below.

Intel ®

442

Arria ® 10 Transceiver PHY User Guide

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Figure 218. Combining Multiple PHY Status Signals tx_cal_busy signals from channels

To reset controller tx_cal_busy input port

Note: This configuration also applies to the rx_cal_busy

signals.

When using multiple PLLs, you can logical AND the pll_locked

signals feeding the reset controller. Similarly, you can logical OR the pll_cal_busy

signals to the reset controller tx_cal_busy

port as shown below.

Figure 219. Multiple PLL Configuration pll_lock signals from PLLs

AND

To reset controller pll_locked input port pll_cal_busy and tx_cal_busy signals

To reset controller tx_cal_busy input port

Resetting different channels separately requires multiple reset controllers. For example, a group of channels configured for Interlaken requires a separate reset controller from another group of channels that are configured for optical communication.

4.7. Timing Constraints for Bonded PCS and PMA Channels

For designs that use TX PMA and PCS Bonding, the digital reset signal

( tx_digitalreset

) to all TX channels within a bonded group must meet a maximum skew tolerance imposed by physical routing. This skew tolerance is one-half the TX parallel clock cycle ( tx_clkout

). This requirement is not necessary for TX

PMA Bonding or for RX PCS channels.

Note: If the design is not able to meet the maximum skew tolerance requirement with a positive margin, Intel recommends reassigning the channels locations that are not adjacent to the PCIe Hard IP block.

Intel ® Arria ® 10 Transceiver PHY User Guide

443

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Figure 220. Physical Routing Delay Skew in Bonded Channels

FPGA Fabric

PHY Reset

Controller tx_digitalreset

TX

Channel[ n - 1]

Bonded TX

Channels

TX

Channel[1]

TX

Channel[0]

You must provide a Synopsys Design Constraint (SDC) for the reset signals to guarantee that your design meets timing requirements. The Quartus Prime software generates an

.sdc

file when you generate the Transceiver Native PHY IP core.

This

.sdc

contains basic false paths for most asynchronous signals, including resets.

In the case of bonded designs, this file contains examples for maximum skew on bonded designs. This

.sdc

file contains an example false_path

and an example max_skew

constraint for the tx_digitalreset

signals.

All modified IP constraints from a generated

.sdc

file must be moved to the project’s main

.sdc

file, because changes are lost if the IP is regenerated.

This skew is present whether you tie all tx_digitalresets

together, or you control them separately. If your design includes the Transceiver PHY Reset Controller IP core, you can substitute your instance and interface names for the generic names shown in the example.

Example 1. SDC Constraint for TX Digital Reset When Bonded Clocks Are Used set_max_skew -from *<IP_INSTANCE_NAME> *tx_digitalreset*r_reset

-to *pld_pcs_interface* <1/2 coreclk period in ps>

In the above example, you must make the following substitutions:

<IP_INSTANCE_NAME>—substitute the name of your reset controller IP instance or PHY IP instance

<½ coreclk period in ps>—substitute half of the clock period of your design in picoseconds

Intel ®

444

Arria ® 10 Transceiver PHY User Guide

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

If your design has custom reset logic, replace the

*<IP_INSTANCE_NAME>*tx_digitalreset*r_reset

with the source register for the TX PCS reset signal, tx_digitalreset

.

For more information about the set_max_skew

Timing Analyzer API Reference Manual.

constraint, refer to the SDC and

Related Information

SDC and Timing Analyzer API Reference Manual

4.8. Resetting Transceiver Channels Revision History

Changes Document

Version

2018.06.15

2017.11.06

2016.05.02

2015.12.18

2015.11.02

2014.12.15

2014.08.15

Made the following changes:

• Clarified the Dynamic Reconfiguration of Receiver Channel Using the Acknowledgment Model instructions for when the CDR is in manual lock mode.

• Updated the description for the "Enable RX channel reset control" parameter.

Made the following change:

• Added a note "If the design is not able to meet the maximum skew tolerance requirement with a positive margin, Intel recommends reassigning the channels locations that are not adjacent to the

PCIe Hard IP block."

Made the following changes

• Added port "user reset" in "Typical Transceiver PHY Implementation" diagram.

• Added note number 50.

• Updated "Transceiver and Receiver Reset Sequence" diagram.

• Added a note "Area in gray is don't care zone" in every diagram that has gray area in it.

• Changes "tLTD" to "trx_digitalreset" in all the diagrams.

Made the following changes:

• Added description to the "Recommended Reset Sequence" section.

• Added the "Arria 10 Default Settings Preset" figure.

• Changed the signals and added a note in the "Typical Transceiver PHY Implementation" figure.

• Added a parameter to the "General Options" table.

• Updated the "Reset Sequence Timing Diagram for Receiver when CDR is in Manual Lock Mode" figure.

• Updated the steps in the "Resetting the Transceiver in CDR Manual Lock Mode" section.

Made the following changes:

• Updated the "Reset Conditions" table.

• Created the "Transceiver PHY Implementation" section.

• Updated the "Typical Transceiver PHY Implementation" figure and moved it to the "Transceiver PHY

Implementation" section.

• Added the "Model 1: Default Model" and "Model 2: Acknowledgment Model" sections to the "How Do

I Reset?" section.

• Updated the "Altera Transceiver PHY Reset Controller System Diagram" in the "Using the Altera

Transceiver PHY Reset Controller" section.

• Added "Usage Examples for pll_select" to the "Transceiver PHY Reset Controller Interfaces" section.

Made the following changes:

• Updated the "Transmitter Reset Sequence After Power-Up" and "Transmitter Reset Sequence During

Device Operation" figures.

• Improved formatting in the "Transceiver PHY Reset Controller IP Core Top-Level Signals" figure.

• Updated the description of the reset, tx_analogreset, and rx_analogreset parameters in the

"Top-Level Signals" table.

Made the following changes: continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

445

4. Resetting Transceiver Channels

UG-01143 | 2018.06.15

Document

Version

2013.12.02

Changes

• Updated the "Transmitter Reset Sequence After Power-Up" and "Receiver Reset Sequence Following

Power-Up" figures.

• Updated the "Resetting the Receiver During Device Operation" procedure and associated figure.

• Updated the "Reset Sequence Timing Diagram for Transceiver when CDR is in Manual Lock Mode" figure.

Initial release.

Intel ®

446

Arria ® 10 Transceiver PHY User Guide

UG-01143 | 2018.06.15

5. Arria 10 Transceiver PHY Architecture

5.1. Arria 10 PMA Architecture

The Physical Medium Attachment (PMA) acts as the analog front end for the Arria 10 transceivers.

The PMA receives and transmits high-speed serial data depending on the transceiver channel configuration. All serial data transmitted and received passes through the

PMA.

5.1.1. Transmitter

The transmitter takes the parallel data and serializes it to create a high-speed serial data stream. The transmitter portion of the PMA is composed of the transmitter serializer and the transmitter buffer. The serializer clock is provided from the transmitter PLL.

Figure 221. Transmitter PMA Block Diagram

Transmitter Serial

Differential Output

Data

Transmitter PMA

Transmitter

Buffer

Serial

Data

Serializer

Parallel

Data Transmitter

PCS

Parallel

Data FPGA

Fabric

Serial

Clock

Parallel

Clock Clock

Generation

Block

Transmitter

PLL

Input

Reference

Clock

5.1.1.1. Serializer

The serializer converts the incoming low-speed parallel data from the transceiver PCS or FPGA fabric to high-speed serial data and sends the data to the transmitter buffer.

The channel serializer supports the following serialization factors: 8, 10, 16, 20, 32,

40, and 64.

Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.

*Other names and brands may be claimed as the property of others.

ISO

9001:2008

Registered

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

Figure 222. Serializer Block

The serializer block sends out the least significant bit (LSB) of the input data first.

Dn

LSB

D0 D1 D2 Dn

Serial

Data

Serializer D2

Parallel

Data

Serial

Clock

Parallel

Clock

D1

D0

5.1.1.2. Transmitter Buffer

The transmitter buffer includes the following circuitry:

• High Speed Differential I/O

• Programmable differential output voltage (V

OD

)

— Main tap

• Programmable four-tap pre-emphasis circuitry

— Two pre-cursor taps

— Two post-cursor taps

• Power distribution network (PDN) induced inter-symbol interference (ISI) compensation

• Internal termination circuitry

• Receiver detect capability to support PCI Express and Quick Path Interconnect

(QPI) configurations

Intel ®

448

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

Figure 223. Transmitter Buffer

Programmable

Pre-Emphasis and V

OD

Receiver

Detect

R1* On-Chip

Termination

85Ω, 100Ω, OFF

V

TX

CM

R1*

To Serial Data

Output Pins

(tx_serial_data)

R1* - Half of the actual on-chip termination selected.

5.1.1.2.1. High Speed Differential I/O

To improve performance, the Arria 10 transmitter uses a new architecture in the output buffer—High Speed Differential I/O. You should select "High Speed Differential

I/O" for I/O standard of Arria 10 transmitter pin in Quartus Prime Assignment Editor or QSF file.

5.1.1.2.2. Programmable Output Differential Voltage

You can program the differential output voltage (output swing) to handle different channel losses and receiver requirements. There are 31 differential V

OD

settings up to

VCCT power supply level. The step size is 1/30 of the VCCT power supply level.

Figure 224. V

OD

(Differential) Signal Level

Differential Waveform

+V

P

0 V Differential

V

OD

(Differential)

–V

N

V

OD

(Differential) = V

P

- V

N

Related Information

XCVR_A10_RX_TERM_SEL on page 589

• For more information, refer to Arria 10 Pre-Emphasis and Output Swing Settings

Intel ® Arria ® 10 Transceiver PHY User Guide

449

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.1.1.2.3. Programmable Pre-Emphasis

Pre-emphasis can maximize the eye at the far-end receiver. The programmable preemphasis module in each transmit buffer amplifies high frequencies in the transmit data signal, to compensate for attenuation in the transmission media.

The pre-tap pre-emphasizes the bit before the transition and de-emphasizes the remaining bits. A different polarity on pre-tap does the opposite.

Table 251.

Pre-Emphasis Taps

All four pre-emphasis taps provide inversion control, shown by negative values.

Pre-Emphasis Tap

Second pre-tap

First pre-tap

First post-tap

Second post-tap

Number of Settings

15

33

51

25

You can set pre-emphasis taps through the Quartus Assignment Editor, the Avalon-MM registers, and the QSF settings.

Related Information

For more information, refer to Arria 10 Pre-Emphasis and Output Swing Settings

5.1.1.2.4. Power Distribution Network (PDN) induced Inter-Symbol Interference (ISI) compensation

Arria 10 Transmitter driver includes a compensation circuitry to reduce PDN induced

ISI jitter. You can enable this compensation circuitry to reduce jitter through QSF setting, Quartus Assignment Editor or Avalon-MM interface. The power consumption increases when you enable the compensation.

5.1.1.2.5. Programmable Transmitter On-Chip Termination (OCT)

Transmitter buffers include programmable on-chip differential termination of 85Ω,

100Ω, or OFF. You can set the OCT value through the Quartus Assignment Editor and the Avalon-MM registers.

Related Information

Arria 10 Register Map

5.1.2. Receiver

The receiver deserializes the high-speed serial data, creates a parallel data stream for either the receiver PCS or the FPGA fabric, and recovers the clock information from the received data.

The receiver portion of the PMA is comprised of the receiver buffer, the clock data recovery (CDR) unit, and the deserializer.

Intel ®

450

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

Figure 225. Receiver PMA Block Diagram

Receiver Serial

Differential Input

Data

Receiver PMA

Receiver

Buffer

Serial

Data

CDR

Serial

Data

Serial Clock

Parallel Clock

Deserializer

Parallel

Data Receiver

PCS

Parallel Data to FPGA Core

5.1.2.1. Receiver Buffer

The receiver input buffer receives serial data from rx_serial_data

and feeds the serial data to the clock data recovery (CDR) unit and deserializer.

Figure 226. Receiver Buffer

CTLE

From Serial Data

Input Pins

(rx_serial_data)

VGA DFE

Serial Data

RX

Termination

85Ω, 100Ω, OFF

Adaptive Parametric

Tuning Engine

V

RX

CM

The receiver buffer supports the following features:

• Programmable common mode voltage (V

CM

)

• Programmable differential On-Chip Termination (OCT)

• Signal Detector

• Continuous Time Linear Equalization (CTLE)

• Variable Gain Amplifiers (VGA)

• Adaptive Parametric Tuning Engine

• Decision Feedback Equalization (DFE)

5.1.2.1.1. Programmable Common Mode Voltage (V

CM

)

The receiver buffer has on-chip biasing circuitry to establish the required V

CM receiver input.

at the

The Quartus Prime software automatically chooses the optimal setting for RX V

CM

.

Note: On-chip biasing circuitry is available only if you select OCT. If you select external termination, you must implement off-chip biasing circuitry to establish the V

CM

at the receiver input buffer.

Manual V

CM

adjustment is not supported and is only adjusted by calibrations.

Intel ® Arria ® 10 Transceiver PHY User Guide

451

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.1.2.1.2. Programmable Differential On-Chip Termination (OCT)

Receiver buffers include programmable on-chip differential termination of 85Ω, 100Ω, or OFF.

You can disable OCT and use external termination. If you select external termination, the receiver common mode is tri-stated. Common mode is based on the external termination connection. You also need to implement off-chip biasing circuitry to establish the V

CM

at the receiver buffer.

5.1.2.1.3. Signal Detector

You can enable the optional signal threshold detection circuitry. If enabled, this option senses whether the signal level present at the receiver input buffer is above the signal detect threshold voltage that you specified in the assignment editor.

5.1.2.1.4. Continuous Time Linear Equalization (CTLE)

The CTLE boosts the signal that is attenuated due to channel characteristics. Each receiver buffer has independently programmable equalization circuits. These equalization circuits amplify the high-frequency component of the incoming signal by compensating for the low-pass characteristics of the physical medium. The CTLE can support both DC and AC gain.

DC gain circuitry provides an equal amplification to the incoming signal across the low frequency spectrum. AC gain circuitry provides amplification to the high-frequency spectrum gain of the incoming signal.

Arria 10 transceivers support dual mode CTLE.

High Gain Mode

High gain mode supports data rate up to 17.4 Gbps. This mode provides both AC and

DC gain. There are two bandwidth settings available for this mode.

• Full Bandwidth—This mode has a peaking frequency of 6.25 GHz offering AC gain at 17 dB.

• Medium Bandwidth—This mode has a peaking frequency of 3.125 GHz offering AC gain at 21 dB.

Intel ®

452

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

Figure 227. CTLE DC and AC Gain Conceptualization

Gain

(dB)

DC Gain

Control

Frequency

AC Gain

Control

Gain

(dB)

Frequency

Note: Final equalization curves will be available in the Arria 10 device datasheet.

High Data Rate Mode

High Data Rate Mode is a low power mode that supports data rates up to 25.8 Gbps. It is the default mode if none of the modes are selected in the Quartus Assignment

Editor or Quartus Settings File (.qsf). This mode provides an alternative path for high gain mode. High Data Rate Mode can be used to compensate for the loss similar to

CEI 28G VSR. High data rate mode supports four bandwidth modes: Full, threefourths, one-half, and one-fourth bandwidth modes. Full bandwidth mode can provide

AC peaking at approximately 8 dB at a peaking frequency of 14 GHz. High data rate mode can be operated in three-fourths, one-half, and one-fourth bandwidth with 9

GHz, 5 GHz, and 2.5 GHz peaking frequencies. In high data rate mode, AC gain values

Intel ® Arria ® 10 Transceiver PHY User Guide

453

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

and DC gain values cannot be controlled individually as done in high gain mode. The recommended AC gain values in high data rate mode include the appropriate setting of DC gain to get the required peaking at respective peaking frequencies.

CTLE can only be supported in manual mode with the exception of PCIe Gen3, which supports triggered mode. CTLE mode and CTLE gain can be set through Quartus

Assignment Editor or Quartus Settings File and Avalon MM registers.

Related Information

CTLE Settings in Triggered Adaptation Mode on page 531

PHY IP Core for PCIe (PIPE) Link Equalization for Gen3 Data Rate on page 274

How to Enable CTLE and DFE

on page 456

• Arria 10 Device Datasheet

• Arria 10 Register Map

5.1.2.1.5. Variable Gain Amplifier (VGA)

Arria 10 channels have a variable gain amplifier to optimize the signal amplitude prior to the CDR sampling. VGA can only be operated in manual mode. VGA gain can be selected through Quartus Assignment Editor or Quartus Setting File (qsf) or the

Avalon MM register. You must set VGA manually for all combinations of CTLE and DFE modes.

Figure 228. VGA Frequency Response for Different Gain Settings

6

Magnitude

(dB)

-4

Frequency (Hz)

Related Information

How to Enable CTLE and DFE

on page 456

5.1.2.1.6. Decision Feedback Equalization (DFE)

DFE amplifies the high frequency components of a signal without amplifying the noise content. It compensates for inter-symbol interference (ISI). DFE minimizes postcursor ISI by adding or subtracting weighted versions of the previously received bits from the current bit. DFE works in synchronization with the TX pre-emphasis and downstream RX CTLE. This enables the RX CDR to receive the correct data that was transmitted through a lossy and noisy backplane.

Intel ®

454

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

The DFE advantage over CTLE is improved Signal to Noise Ratio (SNR). DFE amplifies the power of the high frequency components without amplifying the noise power.

Figure 229. Signal ISI

ISI+

ISI-

Precursor Cursor Postcursor

Notes:

• An ideal pulse response is a single data point at the cursor.

• Real world pulse response is non-zero before the cursor (precursor) and after the

cursor (postcursor).

• ISI occurs when the data sampled at precursor or postcursor is not zero.

The DFE circuit stores delayed versions of the data. The stored bit is multiplied by a coefficient and then summed with the incoming signal. The polarity of each coefficient is programmable.

The DFE architecture supports eleven fixed taps.

The eleven fixed taps translate to the DFE capable of removing the ISI from the next

11 bits, beginning from the current bit.

Intel ® Arria ® 10 Transceiver PHY User Guide

455

Figure 230. Channel Pulse Response

V Signal at the

Channel Input

Transmission Medium

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

Region of Influence for Fixed Taps

Signal at the

Channel Output t

1UI

Note: The pulse at the output of the channel shows a long decaying tail. Frequencydependent losses and quality degradation affects other signals.

Supported modes for DFE:

• Disabled Mode:

— DFE disabled mode is similar to DFE manual mode, except all DFE tap values in this mode are set to zero. DFE tap values can be set in Assignment

Editor/.qsf or using Avalon MM interface.

• Manual Mode:

— In this mode, manual DFE tap values can be set in Assignment Editor/.qsf or using Avalon MM interface.

• Adaptation Enabled Mode:

— In this adaptation mode, DFE tap values are controlled by the Adaptive

Parametric Tuning Engine. This mode uses the converged DFE tap values given by the Adaptive Parametric Tuning Engine.

Related Information

How to Enable CTLE and DFE

on page 456

5.1.2.1.7. How to Enable CTLE and DFE

Table 252.

Summary of Receiver Equalization Modes

Receiver Equalization

CTLE adaptation mode

DFE adaptation mode

Number of fixed DFE taps

Modes

Manual, Triggered (use the triggered mode for PCIe Gen3 only)

Adaptation enabled, Manual, Disabled

3, 7, 11

Follow these steps to trigger DFE adaptation:

Intel ®

456

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

1. Request user access to the internal configuration bus by writing 0x0 to offset address 0x0[7:0].

2. Monitor and wait for avmm_waitrequest

to be deasserted (logic low) if "Separate reconfig_waitrequest

from PreCISE" option is disabled. Otherwise, monitor and wait for register bit 0x281 bit[2] to go low if "Separate reconfig_waitrequest

from PreCISE" and "Enable control and status registers" option is enabled.

3. Select adaptation control by Read-Modify-Write 0x1 to bit[4] of address 0x149.

4. Enable adaptation trigger by Read-Modify-Write 0x1 to bit[6] of address 0x100.

5. Release the internal configuration bus to PreSICE by writing 0x1 to offset address

0x0[7:0].

6. Repeat step 2.

7. Monitor DFE adaptation completion by checking register bit 0x100 bit[6] to go low.

This confirms DFE trigger adaptation routine is complete.

Related Information

Analog Parameter Settings on page 585

Configuration Methods

Configure the modes using one of the following methods:

Method 1 - Using Arria 10 Transceiver Native PHY IP Core

1. Select the CTLE/DFE mode in the RX PMA tab of the PHY IP Core

2. Compile the design

3. Choose one the following:

• If CTLE or DFE is in Manual mode, set the CTLE gain value or DFE taps using one of the following ways: a. Assignment Editor/.qsf- Recompile the design to make these values effective.

Refer to Analog Parameter Settings for more details about Receiver

Equalization Settings.

b. Avalon-MM (AVMM) Interface - Value written through AVMM interface take precedence over values defined in Assignment Editor. Use this method to dynamically set values and hence avoid re-compilation.

Refer to Arria 10 Transceiver Register Map for more details on AVMM interface and to perform dynamic read/write.

Method 2 - Using AVMM Interface

1. Any changes you make using AVMM interface take precedence over what was configured in Native PHY IP GUI and/or Assignment Editor.

a. For CTLE and DFE in Manual mode, set the CTLE gain value or DFE Taps using the reconfiguration interface. The values are written dynamically and do not require design re-compilation.

Intel ® Arria ® 10 Transceiver PHY User Guide

457

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

Refer to Arria 10 Register Map for details on the specific registers that set the

CTLE gain values/DFE taps.

b. For dynamically changing DFE and CTLE Adaptation modes, refer to CTLE

Settings in Triggered Adaptation Mode, Arria 10 Register Map and Arria 10

DFE Adaptation Tool for the list of adaptation registers. Use the reconfiguration interface to change the register settings.

Note: You must set VGA manually for all combinations of CTLE mode and DFE modes.

Related Information

• CTLE Settings in Triggered Adaptation Mode

• Arria 10 Register Map

Arria 10 DFE Adaptation Tool is a separate tab in the Arria 10 Register Map.

5.1.2.2. Clock Data Recovery (CDR) Unit

The PMA of each channel includes a channel PLL that you can configure as a receiver clock data recovery (CDR) for the receiver. You can also configure the channel PLL of channels 1 and 4 as a clock multiplier unit (CMU) PLL for the transmitter in the same bank.

Figure 231. Channel PLL Configured as CDR

Channel PLL

LTR/LTD

Controller rx_is_lockedtodata

Recovered Clock

/2 rx_serial_data

Phase

Detector

(PD)

Down

Up refclk

N

Divider

(1)

Phase

Frequency

Detector

(PFD)

Up

Down

Charge Pump

&

Loop Filter

Voltage

Controlled

Oscillator

(VCO)

Lock

Detect

L

Divider

(1)

Serial Clock rx_is_lockedtoref

M

Divider

(1)

Note:

1. The Quartus® Prime Pro Edition software automatically chooses the optimal values.

5.1.2.2.1. Lock-to-Reference Mode

In LTR mode, the phase frequency detector (PFD) in the CDR tracks the receiver input reference clock. The PFD controls the charge pump that tunes the VCO in the CDR.

The rx_is_lockedtoref

status signal is asserted active high to indicate that the

CDR has locked to the phase and frequency of the receiver input reference clock.

Note: The phase detector (PD) is inactive in LTR mode.

Intel ®

458

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.1.2.2.2. Lock-to-Data Mode

During normal operation, the CDR must be in LTD mode to recover the clock from the incoming serial data. In LTD mode, the PD in the CDR tracks the incoming serial data at the receiver input. Depending on the phase difference between the incoming data and the CDR output clock, the PD controls the CDR charge pump that tunes the VCO.

Note: The PFD is inactive in LTD mode. The rx_is_lockedtoref randomly and is not significant in LTD mode.

status signal toggles

After switching to LTD mode, the rx_is_lockedtodata

status signal is asserted.

The actual lock time depends on the transition density of the incoming data and the parts per million (ppm) difference between the receiver input reference clock and the upstream transmitter reference clock. The rx_is_lockedtodata

signal toggles until the CDR sees valid data; therefore, you should hold receiver PCS logic in reset

( rx_digitalreset

) for a minimum of 4 µs after rx_is_lockedtodata

remains continuously asserted.

5.1.2.2.3. CDR Lock Modes

You can configure the CDR in either automatic lock mode or manual lock mode. By default, the Quartus Prime software configures the CDR in automatic lock mode.

Automatic Lock Mode

In automatic lock mode, the CDR initially locks to the input reference clock (LTR mode). After the CDR locks to the input reference clock, the CDR locks to the incoming serial data (LTD mode) when the following conditions are met:

• The signal threshold detection circuitry indicates the presence of valid signal levels at the receiver input buffer when rx_std_signaldetect

is enabled.

• The CDR output clock is within the configured ppm frequency threshold setting with respect to the input reference clock (frequency locked).

• The CDR output clock and the input reference clock are phase matched within approximately 0.08 unit interval (UI) (phase locked).

If the CDR does not stay locked to data because of frequency drift or severe amplitude attenuation, the CDR switches back to LTR mode.

Manual Lock Mode

The PPM detector and phase relationship detector reaction times can be too long for some applications that require faster CDR lock time. You can manually control the CDR to reduce its lock time using two optional input ports ( rx_set_locktoref

and rx_set_locktodata

).

Table 253.

Relationship Between Optional Input Ports and the CDR Lock Mode rx_set_locktoref

0

1

X rx_set_locktodata

0

0

1

CDR Lock Mode

Automatic

Manual-RX CDR LTR

Manual-RX CDR LTD

Intel ® Arria ® 10 Transceiver PHY User Guide

459

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.1.2.3. Deserializer

The deserializer block clocks in serial input data from the receiver buffer using the high-speed serial recovered clock and deserializes the data using the low-speed parallel recovered clock. The deserializer forwards the deserialized data to the receiver

PCS or FPGA fabric, and sends out the LSB of the input data first.

The deserializer supports the following deserialization factors: 8, 10, 16, 20, 32, 40, and 64.

Figure 232. Deserializer Block Diagram

Dn

Serial

Data

Dn D2 D1

LSB

D0 Deserializer

Serial

Clock

Parallel

Clock

D2

D1

D0

Parallel

Data

5.1.3. Loopback

The PMA supports serial, diagnostic, and reverse loopback paths.

Figure 233. Serial Loopback Path

The serial loopback path sets the CDR to recover the data from the serializer while data from receiver serial input pin is ignored by the CDR. The transmitter buffer sends data normally. Adjusting the TX VOD, TX preemphasis, and RX CTLE settings does not have an effect on the serial data that goes through the serial loopback path. Adjusting the RX VGA and RX DFE settings has an effect on the serial data that goes through the serial loopback path.

Transmitter PMA

Transmitter Serial

Differential Output

Data

Transmitter

Buffer

Serial

Data

Serializer

Parallel

Data Transmitter

PCS

Parallel Data

from FPGA Core

Receiver Serial

Differential Input

Data

Serial

Loopback

Receiver Buffer

CTLE

Serial

Clock

Parallel

Clock Clock

Generation

Block

VGA DFE

Serial

Data

Transmitter

PLL

Input

Reference

Clock

CDR

Serial

Data

Serial Clock

Parallel Clock

Deserializer

Parallel

Data Receiver

PCS

Parallel Data

to FPGA Core

Intel ®

460

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

Figure 234. Reverse Serial Loopback Path/Pre CDR

The reverse serial loopback path sets the transmitter buffer to transmit data fed directly from the VGA output.

Adjusting the RX CTLE, and RX VGA settings has an effect on the serial data that goes through the diagnostic loopback path.

Transmitter PMA

Transmitter Serial

Differential Output

Data

Transmitter

Buffer

Serial

Data

Serializer

Parallel

Data Transmitter

PCS

Parallel Data from FPGA Core

Diagnostic

Loopback

Serial

Clock

Parallel

Clock Clock

Generation

Block

Transmitter

PLL

Input

Reference

Clock

Receiver Serial

Differential Input

Data

Receiver Buffer

CTLE

VGA DFE

Serial

Data

CDR

Serial

Data

Serial Clock

Parallel Clock

Deserializer

Parallel

Data

Receiver

PCS

Parallel Data to FPGA Core

Figure 235. Reverse Serial Loopback Path/Post CDR

The reverse serial loopback path sets the transmitter buffer to transmit data fed directly from the CDR recovered data. Adjusting the RX CTLE, RX VGA, and RX DFE settings has an effect on the serial data that goes through the reverse loopback path. Adjusting TX VOD and TX pre-emphasis has an effect on the transmitter serial differential output data.

Transmitter PMA

Transmitter Serial

Differential Output

Data

Transmitter

Buffer

Serial

Data

Serializer

Parallel

Data Transmitter

PCS

Parallel Data from FPGA core

Reverse

Loopback

Serial

Clock

Parallel

Clock Clock

Generation

Block

Transmitter

PLL

Input

Reference

Clock

Receiver Serial

Differential Input

Data

Receiver PMA

Receiver

Buffer Serial

Data

CDR

Serial

Data

Serial Clock

Parallel Clock

Deserializer

Parallel

Data Receiver

PCS

Parallel Data to FPGA core

5.2. Arria 10 Enhanced PCS Architecture

You can use the Enhanced PCS to implement multiple protocols that operate at around

10 Gbps or higher line rates.

The Enhanced PCS provides the following functions:

• Performs functions common to most serial data industry standards, such as word alignment, block synchronization, encoding/decoding, and framing, before data is sent or received off-chip through the PMA

• Handles data transfer to and from the FPGA fabric

• Internally handles data transfer to and from the PMA

• Provides frequency compensation

• Performs channel bonding for multi-channel low skew applications

Intel ® Arria ® 10 Transceiver PHY User Guide

461

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

Figure 236. Enhanced PCS Datapath Diagram

Transmitter PMA Transmitter Enhanced PCS

TX

Data &

Control

FPGA

Fabric

Parallel Clock

PRBS

Generator

PRP

Generator tx_clkout

KR FEC TX G KR FEC Scr

KR FEC Enc

Receiver PMA Receiver Enhanced PCS tx_pma_div_clkout rx_pma_div_clkout

RX

Data &

Control

PRBS

Verifier

Parallel Clock

PRP

Verifier

10GBASE-R

BER Checker rx_clkout

KR FEC Block S KR FEC Dec

Clock Generation Block (CGB)

Parallel Clock

Serial Clock

Parallel and Serial Clocks

Clock Divider

Parallel and Serial Clocks

ATX PLL fPLL

CMU PLL

Serial Clock

Input Reference Clock

Related Information

Implementing Protocols in Arria 10 Transceivers

on page 32

5.2.1. Transmitter Datapath

5.2.1.1. Enhanced PCS TX FIFO

The Enhanced PCS TX FIFO provides an interface between the transmitter channel PCS and the FPGA fabric. The TX FIFO can operate for phase compensation between the channel PCS and FPGA fabric. You can also use the TX FIFO as an elastic buffer to control the input data flow, using tx_enh_data_valid

. The TX FIFO also allows channel bonding. The TX FIFO has a width of 73 bits and a depth of 16 words.

You can set the TX FIFO partially full and empty thresholds through the Transceiver and PLL Address Map. Refer to the Reconfiguration Interface and Dynamic

Reconfiguration chapter for more details.

The TX FIFO supports the following operating modes:

• Phase Compensation mode

• Register mode

• Interlaken mode

• Basic mode

Related Information

Reconfiguration Interface and Dynamic Reconfiguration

on page 502

Intel ®

462

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.2.1.1.1. Phase Compensation Mode

In Phase Compensation mode, the TX Core FIFO decouples phase variations between tx_coreclkin

and

PCS_clkout_x2(tx)

. In this mode, read and write of the TX

Core FIFO can be driven by clocks from asynchronous clock sources but must be same frequency. You can use tx_coreclkin

(FPGA fabric clock) or tx_clkout1

(TX parallel clock) to clock the write side of the TX Core FIFO.

Note: Phase Compensation mode, TX parallel data is valid for every low speed clock cycle, and tx_enh_data_valid

signal should be tied with 1'b1.

Note: Phase Compensation can also be used in double rate transfer mode, where the FPGA fabric data width is doubled to allow the FPGA fabric clock to run at half rate. The double rate transfer mode is set in the Native PHY IP Parameter Editor. Refer to the

"Transmitter Data Path Interface Clocking" and "Receiver Data Path Interface Clocking" sections in the PLLs and Clock Networks chapter for details about the clock frequencies, when using FIFO single and double rate transfer mode.

Related Information

Transmitter Data Path Interface Clocking on page 386

Receiver Data Path Interface Clocking

on page 387

5.2.1.1.2. Register Mode

The Register Mode bypasses the FIFO functionality to eliminate the FIFO latency uncertainty for applications with stringent latency requirements. This is accomplished by tying the read clock of the FIFO with its write clock.

In Register mode, tx_parallel_data

(data), tx_control

(indicates whether tx_parallel_data

is a data or control word), and tx_enh_data_valid

(data valid) are registered at the FIFO output.

Note: Intel recommends that you implement a soft FIFO in the FPGA fabric with a minimum of 32 words under the following conditions:

• When the Enhanced PCS TX FIFO is set to register mode.

• When using the recovered clock to drive the core logic.

• When there is no soft FIFO being generated along with the IP Catalog.

5.2.1.1.3. Interlaken Mode

In Interlaken mode, the TX Core FIFO operates as an elastic buffer. In this mode, you have additional signals to control the data flow into the FIFO. Therefore, the FIFO write clock frequency does not have to be the same as the read clock frequency. You control the writing to the TX Core FIFO with tx_fifo_wr_en

by monitoring the FIFO flags. The goal is to prevent the FIFO from becoming full or empty. On the read side, read enable is controlled by the Interlaken frame generator.

5.2.1.1.4. Basic Mode

In Basic mode, the TX Core FIFO operates as an elastic buffer, where buffer depths can vary. This mode allows driving write and read side of TX Core FIFO with different clock frequencies. Monitor the FIFO flag to control write and read operations. For TX

Core FIFO, assert tx_fifo_wr_en

with tx_fifo_pempty

signal going low.

Intel ® Arria ® 10 Transceiver PHY User Guide

463

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.2.1.2. Interlaken Frame Generator

The Interlaken frame generator block takes the data from the TX FIFO and encapsulates the payload and burst/idle control words from the FPGA fabric with the framing layer’s control words (synchronization word, scrambler state word, skip word, and diagnostic word) to form a metaframe. The Native PHY IP Parameter Editor allows you to set the metaframe length from five 8-byte words to a maximum value of 8192

(64Kbyte words).

Use the same value on frame generator metaframe length for the transmitter and receiver.

Figure 237. Interlaken Frame Generator

The Interlaken frame generator implements the Interlaken protocol.

From TX FIFO

64-Bit Data

1-Bit Control

Interlaken

Frame

Generator

66-Bit Blocks

To Interlaken

CRC-32 Generator

Synchronization

Payload

Scrambler

State Word

Skip Word 66 65 64 63 0 66 0 66

Data

Sync Header

Inversion Bit (Place Holder for Bit Inversion Information)

Used for Clock Compensation in a Repeater

Used to Synchronize the Scrambler

Used to Align the Lanes of the Bundle

0 Di

Provides Per

Lane Error Check and Optional Status

Message

5.2.1.3. Interlaken CRC-32 Generator

The Interlaken CRC-32 generator block receives data from the Interlaken frame generator and calculates the cyclic redundancy check (CRC) code for each block of data. This CRC code value is stored in the CRC32 field of the diagnostic word. CRC-32 provides a diagnostic tool for each lane. This helps to trace the errors on the interface back to an individual lane.

The CRC-32 calculation covers most of the metaframe, including the diagnostic word, except the following:

• Bits [66:64] of each word

• 58-bit scrambler state within the scrambler state word

• 32-bit CRC-32 field within the diagnostic word

Intel ®

464

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

Figure 238. Interlaken CRC-32 Generator

The Interlaken CRC-32 generator implements the Interlaken protocol.

From the Interlaken Frame Generator

Interlaken

CRC-32

Generator

Metaframes with Embedded

CRC-32 Code to Scrambler

Di

Metaframe

Sy SB SK Payload

67 0 67 0 67

Total Data for CRC-32 Calculation

Di

66 0

Sy SB SK Sy SB SK Payload

Total Data for CRC-32 Calculation

66 31 0

Sy SB SK

Calculated CRC-32 Value

Inserted in the 32 Bits of Diagnostic Word

5.2.1.4. 64B/66B Encoder and Transmitter State Machine (TX SM)

The 64B/66B encoder is used to achieve DC-balance and sufficient data transitions for clock recovery. It encodes 64-bit XGMII data and 8-bit XGMII control into 10GBASE-R

66-bit control or data blocks in accordance with Clause 49 of the IEEE802.3-2008 specification.

The 66-bit encoded data contains two overhead sync header bits that the receiver PCS uses for block synchronization and bit-error rate (BER) monitoring. The sync header is

01 for data blocks and 10 for control blocks. Sync headers are not scrambled and are used for block synchronization. (The sync headers 00 and 11 are not used, and generate an error if seen.) The remainder of the block contains the payload. The payload is scrambled and the sync header bypasses the scrambler.

The encoder block also has a state machine (TX SM) designed in accordance with the

IEEE802.3-2008 specification. The TX SM ensures valid packet construction on data sent from the MAC layer. It also performs functions such as transmitting local faults under reset, as well as transmitting error codes when the 10GBASE-R PCS rules are violated.

Note: The 64B/66B encoder is available to implement the 10GBASE-R protocol.

Figure 239. Example Data Pattern for 64B/66B Encoding

XGMII data

TXC<0:3> TXD<0:31> XGMII f07070707 f07070707 8 fb D

1

D

2

D

3

0 D

4

D

5

D

6

D

7

0 D

0

D

1

D

2

D

3

0 D

4

D

5

D

6

D

7

1 D

0

D

1

D

2 fd f07070707

PCS

Data

0

C

0

C

1

C

2

C

3

C

4

C

5

C

6

C

7

63

S

0

D

1

D

2

D

3

D

4

D

5

D

6

D

7

D

0

D

1

D

2

D

3

D

4

D

5

D

6

D

7

D

0

D

1

D

2

T

3

C

0

C

1

C

2

C

3

66-bit encoded data

0

10 1e 000000 00000000

65

10 78 D

1

D

2

D

3

D

4

D

5

D

6

D

7

01 D

0

D

1

D

2

D

3

D

4

D

5

D

6

D

7

10 b4 D

0

D

1

D

2

00000000

Intel ® Arria ® 10 Transceiver PHY User Guide

465

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

64B/66B Encoder Reset Condition

The tx_digitalreset

signal resets the 64B/66B encoder. During the reset condition, the 64B/66B encoder does not output any signal in contrast with the

8B/10B encoder.

5.2.1.5. Pattern Generators

The Arria 10 transceivers contain hardened generators and checkers to provide a simple and easy way to verify and characterize high speed links. Hardening the pattern generators and checkers save FPGA core logic resources. The following pattern generator blocks are supported in Arria 10:

• Pseudo Random Binary Sequence (PRBS)

• Pseudo Random Pattern (PRP)

Note: The pattern generators and checkers are supported for non-bonded channels only.

The pattern generators or checkers are enabled by writing to the respective register bits of the Transceiver. Refer to the Reconfiguration Interface and Dynamic

Reconfiguration chapter for configuration details.

Related Information

Reconfiguration Interface and Dynamic Reconfiguration on page 502

5.2.1.5.1. PRBS Pattern Generator (Shared between Enhanced PCS and Standard PCS)

You can use Arria 10 pseudo-random bit sequence PRBS generator to simulate traffic without developing or fully implementing any upper layer of a protocol stack. The

PRBS generator in Arria 10 devices is a shared hardened block between the Standard and Enhanced datapaths through the PCS instead of being two unique instances: one for Standard PCS and one for the Enhanced PCS. There is only one set of control signals and registers for using this feature. The data lines from the various PCSes and shared PRBS, are muxed before they are sent to the PMA. When the PRBS generator is enabled, the data on the PRBS data lines is selected to be sent to the PMA. At any instant, either the data from the PCS or the data generated from the PRBS generator, is sent to the PMA.

The PRBS generator can be configured for two widths of the PCS-PMA interface: 10 bits and 64 bits. PRBS9 is available in 10-bit and 64-bit PCS-PMA widths. All other

PRBS patterns are available in 64-bit PCS-PMA width only. The PRBS generator patterns can only be used when PCS-PMA interface width is configured to 10 bits or 64 bits.

Table 254.

Supported PRBS Patterns

PRBS Pattern

PRBS7: x 7 + x 6 + 1

PRBS9: x 9 + x 5 + 1

PRBS15: x 15 + x 14 + 1

PRBS23: x 23 + x 18 + 1

PRBS31: x 31 + x 28 + 1

Yes

10 bit PCS-PMA width

Yes

Yes

Yes

Yes

Yes

64 bit PCS-PMA width

Intel ®

466

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

PRBS test patterns may be considered equivalent to "noise". Use these patterns to test the transceiver link with a noisy signal by placing the transceiver in loopback mode.

Use PRBS7 and PRBS9 to test transceiver links with linear impairments, and with 8B/

10B.

Use PRBS15 for jitter evaluation.

Use PRBS23 or PRBS31 for jitter evaluation (data-dependent jitter) of non-8B/10B links, such as SDH/SONET/OTN jitter testers. Most 40G, 100G, and 10G applications use PRBS31 for link evaluation.

Figure 240. PRBS Generator for Serial Implementation of PRBS9 Pattern

S0 S1 S4 S5 S8

PRBS Output

Note: All supported PRBS generators are similar to the PRBS9 generator.

Refer to the Reconfiguration Interface and Dynamic Reconfiguration chapter for configuration details.

Related Information

Reconfiguration Interface and Dynamic Reconfiguration on page 502

5.2.1.5.2. Pseudo-Random Pattern Generator

The pseudo-random pattern (PRP) generator is specifically designed for the 10GBASE-

R and 1588 protocols. The PRP generator block operates in conjunction with the scrambler to generate pseudo-random patterns for the TX and RX tests in the 10G

Ethernet mode. You can use the Arria 10 Pseudo Random Pattern (PRP) generator in the scrambler to generate random data pattern and seed that the scrambler can use.

The PRP mode is a test mode of the scrambler. Two seeds are available to seed the scrambler: all 0s or two local fault-ordered sets. The seed is used in the scrambler to produce the pattern. PRP is only available when the scrambler is enabled.

Refer to the Reconfiguration Interface and Dynamic Reconfiguration chapter for configuration details.

Related Information

Reconfiguration Interface and Dynamic Reconfiguration on page 502

Intel ® Arria ® 10 Transceiver PHY User Guide

467

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.2.1.6. Scrambler

The scrambler randomizes data to create transitions to DC-balance the signal and help

CDR circuits. The scrambler uses a x 58 + x 39 +1 polynomial and supports both synchronous scrambling used for Interlaken and asynchronous (also called selfsynchronized) scrambling used for the 10GBASE-R protocol.

The asynchronous (self-synchronizing) mode does not require an initialization seed.

Except for the two sync header bits in each 66-bit data block, the entire 64-bit payload is scrambled by feeding it into a linear feedback shift register (LFSR) continuously to generate scrambled data while the sync-header bits bypass the scrambler. The initial seed is set to all 1s. You can change the seed for the 10GBASE-R protocol using the Native PHY IP Parameter Editor.

Figure 241. Asynchronous Scrambler in Serial Implementation

IN

S0 S1 S2 S38 S39 S56 S57

OUT

In synchronous mode, the scrambler is initially reset to different programmable seeds on each lane. The scrambler then runs by itself. Its current state is XOR’d with the data to generate scrambled data. A data checker in the scrambler monitors the data to determine if it should be scrambled or not. If a synchronization word is found, it is transmitted without scrambling. If a Scrambler State Word is detected, the current scramble state is written into the 58-bit scramble state field in the Scrambler State

Word and sent over the link. The receiver uses this scramble state to synchronize the descrambler. The seed is automatically set for Interlaken protocol.

Figure 242. Synchronous Scrambler Showing Different Programmable Seeds

S0 S37

LFSR Seed

S38 S57 OUT

0 37 38 57

IN

Intel ®

468

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.2.1.7. Interlaken Disparity Generator

The Interlaken disparity generator block is in accordance with the Interlaken protocol specification and provides a DC-balanced data output.

The Interlaken protocol solves the unbounded baseline wander, or DC imbalance, of the 64B/66B coding scheme used in 10Gb Ethernet by inverting the transmitted data.

The disparity generator monitors the transmitted data and makes sure that the running disparity always stays within a ±96-bit bound. It adds the 67th bit (bit 66) to signal the receiver whether the data is inverted or not.

Table 255.

Inversion Bit Definition

Bit 66

0

1

Interpretation

Bits [63:0] are not inverted; the receiver processes this word without modification

Bits [63:0] are inverted; the receiver inverts the bits before processing this word

Note: The Interlaken disparity generator is available to implement the Interlaken protocol.

5.2.1.8. TX Gearbox, TX Bitslip and Polarity Inversion

The TX gearbox adapts the PCS data width to the smaller bus width of the PCS-PMA interface (Gearbox Reduction). It supports different ratios (FPGA fabric-PCS Interface

Width: PCS-PMA Interface Width) such as 66:32, 66:40, 64:32, 40:40, 32:32, 64:64,

67:64, and 66:64. The gearbox mux selects a group of consecutive bits from the input data bus depending on the gearbox ratio and the data valid control signals.

The TX gearbox also has a bit slipping feature to adjust the data skew between channels. The TX parallel data is slipped on the rising edge of tx_enh_bitslip before it is passed to the PMA. The maximum number of the supported bitslips is PCS data width-1 and the slip direction is from MSB to LSB and from current to previous word.

Figure 243. TX Bitslip tx_enh_bitslip

= 2 and PCS width of gearbox is 67

You can use transmitter data polarity inversion to invert the polarity of every bit of the input data word to the serializer in the transmitter path. The inversion has the same effect as swapping the positive and negative signals of the differential TX buffer. This is useful if these signals are reversed on the board or backplane layout. Enable polarity inversion through the Native PHY IP Parameter Editor.

5.2.1.9. KR FEC Blocks

The KR FEC blocks in the Enhanced PCS are designed in accordance with the 10G-

KRFEC and 40G-KRFEC of the IEEE 802.3 specification. The KR FEC implements the

Forward Error Correction (FEC) sublayer, a sublayer between the PCS and PMA sublayers.

Intel ® Arria ® 10 Transceiver PHY User Guide

469

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

Most data transmission systems, such as Ethernet, have minimum requirements for the bit error rate (BER). However, due to channel distortion or noise in the channel, the required BER may not be achievable. In these cases, adding a forward error control correction can improve the BER performance of the system.

The FEC sublayer is optional and can be bypassed. When used, it can provide additional margin to allow for variations in manufacturing and environmental conditions. FEC can achieve the following objectives:

• Support a forward error correction mechanism for the 10GBASE-R/KR and

40GBASE-R/KR protocols.

• Support the full duplex mode of operation of the Ethernet MAC.

• Support the PCS, PMA, and Physical Medium Dependent (PMD) sublayers defined for the 10GBASE-R/KR and 40GBASE-R/KR protocols.

• Support up to the maximum transceiver data rate on any protocol that is 64/66bit encoded.

With KR FEC, the BER performance of the system can be improved.

Transcode Encoder

The KR forward error correction (KR FEC) transcode encoder block performs the

64B/66B to 65-bit transcoder function by generating the transcode bit. The transcode bit is generated from a combination of 66 bits after the 64B/66B encoder which consists of a 2-bit synchronization header (S0 and S1) and a 64-bit payload (D0, D1,

…, D63). To ensure a DC-balanced pattern, the transcode word is generated by performing an XOR function on the second synchronization bit S1 and payload bit D8.

The transcode bit becomes the LSB of the 65-bit pattern output of the transcode encoder.

Figure 244. Transcode Encoder

66-Bit Input

D63 ...

D9 D8 ...

D0 S1 S0

65-Bit Output

D63 ...

D9 D8 ...

D0 S1^D8

KR FEC Encoder

FEC (2112,2080) is an FEC code specified in Clause 74 of the IEEE 802.3 specification.

The code is a shortened cyclic code (2112, 2080). For each block of 2080 message bits, another 32 parity checks are generated by the encoder to form a total of 2112 bits. The generator polynomial is: g(x) = x 32 + x 23 + x 21 + x 11 + x 2 +1

KR FEC Scrambler

The KR FEC scrambler block performs scrambling based on the generation polynomial x 58 + x 39 +1, which is necessary for establishing FEC block synchronization in the receiver and to ensure DC balance.

Intel ®

470

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

KR FEC TX Gearbox

The KR FEC TX gearbox converts 65-bit input words to 64-bit output words to interface the KR FEC encoder with the PMA. This gearbox is different from the TX gearbox used in the Enhanced PCS. The KR FEC TX gearbox aligns with the FEC block.

Because the encoder output (also the scrambler output) has its unique word size pattern, the gearbox is specially designed to handle that pattern.

5.2.2. Receiver Datapath

5.2.2.1. RX Gearbox, RX Bitslip, and Polarity Inversion

The RX gearbox adapts the PMA data width to the larger bus width of the PCS channel

(Gearbox Expansion). It supports different ratios (PCS-PMA interface width : FPGA fabric–PCS interface width) such as 32:66, 40:66, 32:67, 32:64, 40:40, 32:32, 64:64,

67:64, and 66:64 and a bit slipping feature.

RX bitslip is engaged when the RX block synchronizer or rx_bitslip

is enabled to shift the word boundary. On the rising edge of the bitslip signal of the RX block synchronizer or rx_bitslip

from the FPGA fabric, the word boundary is shifted by one serial bit or 1UI. Each bit slip removes the earliest received bit from the received data.

Figure 245. RX Bitslip rx_bitslip

is toggled two times, which shifts the rx_parallel_data

boundary two bits.

rx_clkout tx_ready rx_ready tx_parallel_data (hex) 00000001 rx_bitslip rx_parallel_data (hex) 00000000 00100000 00200000 00400000

Note:

The first rising edge of rx_bitslip makes 1 serial bit

The second rising edge of rx_bitslip makes another serial bit slip.

The receiver gearbox can invert the polarity of the incoming data. This is useful if the receiver signals are reversed on the board or backplane layout. Enable polarity inversion through the Native PHY IP Parameter Editor.

Data valid generation logic is essential for gearbox operation. Each block of data is accompanied by rx_enh_data_valid

data valid signal which “qualifies” the block as valid or not. The data valid toggling pattern is dependent on the data width conversion ratio. For example, if the ratio is 66:40, the data valid signal is high in 20 out of 33 cycles or approximately 2 out of 3 cycles and the pattern repeats every 33 rx_clkout

RX low-speed parallel clock cycles.

If a design is slipping more bits than the PCS/PMA width, the Enhanced RX PCS FIFO could overflow. To clear the overflow, assert rx_digitalreset

.

Intel ® Arria ® 10 Transceiver PHY User Guide

471

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.2.2.2. Block Synchronizer

The block synchronizer determines the block boundary of a 66-bit word in the case of the 10GBASE-R protocol or a 67-bit word in the case of the Interlaken protocol. The incoming data stream is slipped one bit at a time until a valid synchronization header

(bits 65 and 66) is detected in the received data stream. After the predefined number of synchronization headers (as required by the protocol specification) is detected, the block synchronizer asserts rx_enh_blk_lock

(block lock status signal) to other receiver PCS blocks down the receiver datapath and to the FPGA fabric.

Note: The block synchronizer is designed in accordance with Interlaken Protocol specification

(as described in Figure 13 of Interlaken Protocol Definition v1.2) and 10GBASE-R protocol specification (as described in IEEE 802.3-2008 clause-49).

5.2.2.3. Interlaken Disparity Checker

The Interlaken disparity checker examines the received inversion bit inserted by the far end disparity generator, to determine whether to reverse the inversion process of the Interlaken disparity generation.

Note: The Interlaken disparity checker is available to implement the Interlaken protocol.

5.2.2.4. Descrambler

The descrambler block descrambles received data to regenerate unscrambled data using the x 58 + x 39 +1 polynomial. Like the scrambler, it operates in asynchronous mode or synchronous mode.

Related Information

Scrambler

on page 468

5.2.2.5. Interlaken Frame Synchronizer

The Interlaken frame synchronizer delineates the metaframe boundaries and searches for each of the framing layer control words: Synchronization, Scrambler State, Skip, and Diagnostic. When four consecutive synchronization words have been identified, the frame synchronizer achieves the frame locked state. Subsequent metaframes are then checked for valid synchronization and scrambler state words. If four consecutive invalid synchronization words or three consecutive mismatched scrambler state words are received, the frame synchronizer loses frame lock. In addition, the frame synchronizer provides

FPGA fabric.

rx_enh_frame_lock

(receiver metaframe lock status) to the

Note: The Interlaken frame synchronizer is available to implement the Interlaken protocol.

5.2.2.6. 64B/66B Decoder and Receiver State Machine (RX SM)

The 64B/66B decoder reverses the 64B/66B encoding process. The decoder block also contains a state machine (RX SM) designed in accordance with the IEEE802.3-2008 specification. The RX SM checks for a valid packet structure in the data sent from the remote side. It also performs functions such as sending local faults to the Media

Access Control (MAC)/Reconciliation Sublayer (RS) under reset and substituting error codes when the 10GBASE-R and 10GBASE-KR PCS rules are violated.

Note: The 64B/66B decoder is available to implement the 10GBASE-R protocol.

Intel ®

472

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.2.2.6.1. PRBS Checker

You can use Arria 10 pseudo-random bit stream (PRBS) checker to easily characterize high-speed links without developing or fully implementing any upper layer of a protocol stack. The PRBS checker in Arria 10 devices is a shared hardened block between the Standard and Enhanced datapaths. Hence, there is only one set of control signals and registers for this feature.

You can use the PRBS checker block to verify the pattern generated by the PRBS generator. The PRBS checker can be configured for two widths of the PCS-PMA interface: 10 bits and 64 bits. PRBS9 is available in both 10-bit and 64-bit PCS-PMA widths. All other PRBS patterns are available in 64-bit PCS-PMA width only. The PRBS checker patterns can only be used when the PCS-PMA interface width is configured to

10 bits or 64 bits.

The pseudo-random bit stream (PRBS) block verifies the pattern generated by the

PRBS generator. The verifier supports the 64-bit PCS-PMA interface. PRBS7 supports

64-bit width only. PRBS9 supports 10-bit PMA data width to allow testing at a lower data rate.

Table 256.

Supported PRBS Patterns

PRBS Pattern

PRBS7: x 7 + x 6 + 1

PRBS9: x 9 + x 5 + 1

PRBS15: x 15 + x 14 + 1

PRBS23: x 23 + x 18 + 1

PRBS31: x 31 + x 28 + 1

Yes

10 bit PCS-PMA width

Yes

Yes

Yes

Yes

Yes

64 bit PCS-PMA width

Figure 246. PRBS9 Verify Serial Implementation

PRBS datain

S0 S1 S4 S5 S8

PRBS Error

Intel ® Arria ® 10 Transceiver PHY User Guide

473

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

The PRBS checker has the following control and status signals available to the FPGA fabric:

• rx_prbs_done

—Indicates the PRBS sequence has completed one full cycle. It stays high until you reset it with rx_prbs_err_clr

.

• rx_prbs_err

—Goes high if an error occurs. This signal is pulse-extended to allow you to capture it in the RX FPGA CLK domain.

• rx_prbs_err_clr

—Used to reset the rx_prbs_err

signal.

Enable the PRBS checker control and status ports through the Native PHY IP

Parameter Editor in the Quartus Prime software.

5.2.2.7. Pseudo Random Pattern Verifier

The Pseudo Random Pattern (PRP) verifier is available for 10GBASE-R and 10GBASE-R

1588 protocol modes. The PRP verifier block operates in conjunction with the descrambler. The PRP verifier monitors the output of the descrambler when block synchronization is achieved.

The rx_prbs_err

error signal is shared between the PRBS checker and the PRP verifier.

The PRP verifier:

• Searches for a test pattern (two local faults, or all 0s) or its inverse

• Tracks the number of mismatches with a 16-bit error counter

Figure 247. PRP Verifier

Error

Counter error_count

Descrambler

Test Pattern

Detect

Pseudo Random

Verifier

Refer to the Reconfiguration Interface and Dynamic Reconfiguration chapter for configuration details.

Related Information

Reconfiguration Interface and Dynamic Reconfiguration on page 502

Intel ®

474

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.2.2.8. 10GBASE-R Bit-Error Rate (BER) Checker

The 10GBASE-R BER checker block is designed in accordance with the 10GBASE-R protocol specification as described in IEEE 802.3-2008 clause-49. After block lock synchronization is achieved, the BER checker starts to count the number of invalid synchronization headers within a 125-μs period. If more than 16 invalid synchronization headers are observed in a 125-μs period, the BER checker provides the status signal rx_enh_highber

to the FPGA fabric, indicating a high bit error rate condition.

When the optional control input rx_enh_highber_clr_cnt

is asserted, the internal counter for the number of times the BER state machine has entered the

"BER_BAD_SH" state is cleared.

When the optional control input rx_enh_clr_errblk_count

is asserted, the internal counter for the number of times the RX state machine has entered the "RX_E" state for the 10GBASE-R protocol is cleared. In modes where the FEC block in enabled, the assertion of this signal resets the status counters within the RX FEC block.

Note: The 10GBASE-R BER checker is available to implement the 10GBASE-R protocol.

5.2.2.9. Interlaken CRC-32 Checker

The Interlaken CRC-32 checker verifies that the data transmitted has not been corrupted between the transmit PCS and the receive PCS. The CRC-32 checker calculates the 32-bit CRC for the received data and compares it against the CRC value that is transmitted within the diagnostic word. is sent to the FPGA fabric.

rx_enh_crc32_err

(CRC error signal)

5.2.2.10. Enhanced PCS RX FIFO

The Enhanced PCS RX FIFO is designed to compensate for the phase, clock, or phase and clock difference between the receiver channel PCS and the FPGA fabric. It can operate as a phase-compensation, clock-compensation, elastic buffer, or a deskew

FIFO in Interlaken mode. The RX FIFO has a width of 74 bits and a depth of 32 words for all protocols.

The RX FIFO supports the following modes:

• Phase Compensation mode

• Register mode

• Interlaken mode (deskew FIFO)

• 10GBASE-R mode (clock compensation FIFO)

• Basic mode (elastic buffer FIFO)

5.2.2.10.1. Phase Compensation Mode

The RX FIFO compensates for the phase difference between the read clock and write clocks. rx_clkout

(RX parallel low-speed clock) clocks the write side of the RX FIFO.

rx_coreclkin

(FPGA fabric clock) or rx_clkout

clocks the read side of the RX

FIFO.

Intel ® Arria ® 10 Transceiver PHY User Guide

475

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

When phase compensation is used in double-width mode, the FPGA data width is doubled to allow the FPGA fabric clock to run at half rate, similar to the TX FIFO phase compensation in double-width mode.

Depth of RX FIFO is constant in this mode, therefore RX FIFO flag status can be ignored. You can tie tx_enh_data_valid

with one.

5.2.2.10.2. Register Mode

The Register Mode bypasses the FIFO functionality to eliminate the FIFO latency uncertainty for applications with stringent latency requirements. This is accomplished by tying the read clock of the FIFO with its write clock.

In Register mode, rx_parallel_data

(data), rx_control

indicates whether rx_parallel_data

is a data or control word, and rx_enh_data_valid

(data valid) are registered at the FIFO output. The RX FIFO in register mode has one register stage or one parallel clock latency.

Note: Intel recommends that you implement a soft FIFO in the FPGA fabric with minimum of

32 words under the following conditions:

• When the Enhanced PCS RX FIFO is set to register mode.

• When using the recovered clock to drive the core logics.

• When there is no soft FIFO being generated along with the IP Catalog.

5.2.2.10.3. Interlaken Mode

In Interlaken mode, the RX FIFO operates as an Interlaken deskew FIFO. To implement the deskew process, implement an FSM that controls the FIFO operation based on available FPGA input and output flags.

For example, after frame lock is achieved, data is written after the first alignment word (SYNC word) is found on that channel. As a result, rx_enh_fifo_pempty

(FIFO partially empty flag ) of that channel goes low. You must monitor the rx_enh_fifo_pempty

and rx_enh_fifo_pfull

flags of all channels. If rx_enh_fifo_pempty

flags from all channels deassert before any rx_enh_fifo_pfull

flag asserts, which implies alignment word has been found on all lanes of the link, you start reading from all the FIFOs by asserting rx_enh_fifo_rd_en

. Otherwise, if a rx_enh_fifo_pfull

flag from any channel goes high before a rx_enh_fifo_pempty

flag deassertion on all channels, you must reset the FIFO by toggling the process.

rx_enh_fifo_align_clr

signal and repeating the

Intel ®

476

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

Figure 248. RX FIFO as Interlaken Deskew FIFO

FPGA Fabric Interface rx_enh_fifo_align_clr rx_enh_fifo_rd_en

User

Deskew

FSM rx_enh_fifo_pempty rx_enh_fifo_pfull

RX FIFO

5.2.2.10.4. 10GBASE-R Mode

In 10GBASE-R mode, the RX FIFO operates as a clock compensation FIFO. When the block synchronizer achieves block lock, data is sent through the FIFO. Idle ordered sets (OS) are deleted and Idles are inserted to compensate for the clock difference between the RX low speed parallel clock and the FPGA fabric clock (±100 ppm for a maximum packet length of 64,000 bytes).

Idle OS Deletion

Deletion of Idles occurs in groups of four OS (when there are two consecutive OS) until the rx_enh_fifo_pfull

flag deasserts. Every word—consisting of a lower word

(LW) and an upper word (UW)—is checked for whether it can be deleted by looking at both the current and previous words.

For example, the current LW can be deleted if it is Idle and the previous UW is not a

Terminate.

Table 257.

Conditions Under Which a Word Can be Deleted

In this table X=don’t care, T=Terminate, I=Idle, and OS=order set.

Deletable

Lower Word

Upper Word

Case

1

2

1

2

Word

UW

LW

UW

LW

UW

LW

UW

LW

Previous

!T

X

OS

X

X

X

X

X

Current

X

I

X

OS

I

!T

OS

OS

X

X

X

X

X

!T

X

OS

Output

!T

X

X

X

OS

X

X

X

If only one word is deleted, data shifting is necessary because the datapath is two words wide. After two words have been deleted, the FIFO stops writing for one cycle and a synchronous flag ( rx_control[8]

) appears on the next block of 8-byte data.

There is also an asynchronous status signal rx_enh_fifo_del

, which does not go through the FIFO.

Intel ® Arria ® 10 Transceiver PHY User Guide

477

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

Figure 249. IDLE Word Deletion

This figure shows the deletion of IDLE words from the receiver data stream.

Before Deletion rx_parallel_data[79:0] 00000000000004ADh 00000000000004AEh 0707070707FD0000h rx_parallel_data[79:0]

After Deletion

00000000000004ADh 00000000000004AEh 0707070707FD0000h

Idle Deleted

Figure 250. OS Word Deletion

This figure shows the deletion of Ordered set words in the receiver data stream.

Before Deletion rx_parallel_data[79:0] FD000000000004AEh DDDDDD9CDDDDDD9Ch 00000000000000FBh rx_parallel_data[79:0]

After Deletion

FD000000000004AEh 000000FBDDDDDD9Ch AAAAAAAA00000000h

OS Deleted

000000FB07070707h

AAAAAAAA000000FBh

AAAAAAAAAAAAAAAAh

00000000AAAAAAAAh

Idle Insertion

Idle insertion occurs in groups of 8 Idles when the rx_enh_fifo_pempty

flag is deasserted. Idles can be inserted following Idles or OS. Idles are inserted in groups of

8 bytes. Data shifting is not necessary. There is a synchronous status rx_enh_fifo_insert

signal that is attached to the 8-byte Idles being inserted.

Table 258.

Cases Where Two Idle Words are Inserted

In this table X=don’t care, S=start, OS=order set, I-DS=idle in data stream, and I-In=idle inserted. In cases 3 and 4, the Idles are inserted between the LW and UW.

Case

1

2

3

4

Word

UW

LW

UW

LW

UW

LW

UW

LW

Input

I-DS

X

OS

X

S

I-DS

S

OS

I-DS

X

OS

X

I-In

I-DS

I-In

OS

Output

I-In

I-In

I-In

I-In

S

I-In

S

I-In

Figure 251. IDLE Word Insertion

This figure shows the insertion of IDLE words in the receiver data stream.

rx_parallel_data[79:0]

Before Insertion

FD000000000004AEh BBBBBB9CDDDDDD9Ch 00000000000000FBh rx_parallel_data[79:0]

After Insertion

FD000000000004AEh BBBBBB9CDDDDDD9Ch 0707070707070707h

AAAAAAAAAAAAAAAAh

00000000000000FBh

Idle Inserted

Intel ®

478

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.2.2.10.5. Basic Mode

In Basic mode, the RX FIFO operates as an elastic buffer, where buffer depths can vary. This mode allows driving write and read side of RX FIFO with different clock frequencies. Monitor the FIFO flag to control write and read operations. For RX FIFO, assert rx_enh_read_en

signal with rx_fifo_pfull

signal going low.

5.2.2.11. RX KR FEC Blocks

KR FEC Block Synchronization

You can obtain FEC block delineation for the RX KR FEC by locking onto correctly received FEC blocks with the KR FEC block synchronization. You can also use the KR

FEC up to the maximum transceiver data rate on any protocol that is 64/66-bit encoded.

Note: The KR FEC block synchronization is available to implement the 10GBASE-KR protocol.

KR FEC Descrambler

The KR FEC descrambler block descrambles received data to regenerate unscrambled data using the x 58 + x 39 +1 polynomial. Before the block boundary in the KR FEC sync block is detected, the data at the input of the descrambler is sent directly to the KR

FEC decoder. When the boundary is detected, the aligned word from the KR FEC sync block is descrambled with the Pseudo Noise (PN) sequence and then sent to the KR

FEC decoder.

KR FEC Decoder

The KR FEC decoder block performs the FEC (2112, 2080) decoding function by analyzing the received 32 65-bit blocks for errors. It can correct burst errors of 11 bits or less per FEC block.

KR FEC RX Gearbox

The KR FEC RX gearbox block adapts the PMA data width to the larger bus width of the PCS channel. It supports a 64:65 ratio.

Transcode Decoder

The transcode decoder block performs the 65-bit to 64B/66B reconstruction function by regenerating the 64B/66B synchronization header.

5.3. Arria 10 Standard PCS Architecture

The standard PCS can operate at a data rate of up to 10.8 Gbps. Protocols such as PCI

Express, CPRI 4.2+, GigE, IEEE 1588 are supported in Hard PCS while the other protocols can be implemented using Basic/Custom (Standard PCS) transceiver configuration rules.

Intel ® Arria ® 10 Transceiver PHY User Guide

479

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

Figure 252. Standard PCS Datapath Diagram

Transmitter PMA Transmitter Standard PCS FPGA

Fabric

Receiver PMA tx_clkout tx_pma_div_clkout

PRBS

Generator

/2, /4

Receiver Standard PCS tx_coreclkin tx_clkout

Parallel Clock

(Recovered)

Parallel Clock

(From Clock

Divider) rx_clkout tx_clkout

PRBS

Verifier

/2, /4 rx_pma_div_clkout

Clock Generation Block (CGB)

Clock Divider

Parallel and Serial Clock rx_coreclkin rx_clkout or tx_clkout

ATX PLL

CMU PLL fPLL

Parallel Clock

Serial Clock

Parallel and Serial Clock

5.3.1. Transmitter Datapath

Serial Clock

5.3.1.1. TX FIFO (Shared with Enhanced PCS and PCIe Gen3 PCS)

The TX FIFO interfaces between the transmitter PCS and the FPGA fabric and ensures reliable transfer of data and status signals. It compensates for the phase difference between the FPGA fabric clock and tx_clkout

(the low-speed parallel clock). The TX

FIFO has a depth of 8 and operates in low latency mode, register mode, and fast register mode.

Figure 253. TX FIFO Block Diagram

Datapath to Byte Serializer,

8B/10B Encoder, or Serializer rd_clk

TX

FIFO wr_clk

Datapath from FPGA Fabric or PIPE Interface tx_coreclkin tx_clkout

You can control the write port using tx_clkout

or tx_coreclkin

. Use the tx_clkout

signal for a single channel and tx_coreclkin

when using multiple channels. The TX FIFO is shared with PCIe Gen3 and Enhanced PCS data paths.

Intel ®

480

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.3.1.1.1. TX FIFO Low Latency Mode

The low latency mode incurs two to three cycles of latency (latency uncertainty) when connecting it with the FPGA fabric. The FIFO empty and the FIFO full threshold values are made closer so that the depth of the FIFO decreases, which in turn decreases the latency.

5.3.1.1.2. TX FIFO Register Mode

The register mode bypasses the FIFO functionality to eliminate the FIFO latency uncertainty for applications with stringent latency requirements. This is accomplished by tying the read clock of the FIFO with its write clock. The register mode incurs only one clock cycle of latency when interfacing to the FPGA fabric.

5.3.1.1.3. TX FIFO Fast Register Mode

This mode allows a higher maximum frequency (f

MAX

) between the FPGA fabric and the TX PCS by enabling the optional fast register interface with additional latency.

5.3.1.2. Byte Serializer

In certain applications, the FPGA fabric cannot operate at the same clock rate as the transmitter channel (PCS) because the transmitter channel is capable of operating at higher clock rates compared to the FPGA fabric. The byte serializer allows the transmitter channel to operate at higher data rates while keeping the FPGA fabric interface clock rate below its maximum limit. This is accomplished by increasing the channel width two or four times (FPGA fabric-to-PCS interface width) and dividing the clock (tx_clkout) rate by 2 or 4. The byte serializer can be disabled, or operate in

Serialize x2 or Serialize x4 modes.

Figure 254. Byte Serializer Block Diagram dataout

(to the 8B/10 Encoder or the TX Bit Slip)

Byte

Serializer datain (from the TX FIFO) tx_clkout

/2,

/4

Related Information

Resetting Transceiver Channels

on page 416

Implementing Protocols in Arria 10 Transceivers

on page 32

5.3.1.2.1. Bonded Byte Serializer

The bonded byte serializer is available in Arria 10 devices, and is used in applications such as PIPE, CPRI, and custom applications where multiple channels are grouped together. The bonded byte serializer is implemented by bonding all the control signals to prevent skew induction between channels during byte serialization. In this configuration, one of the channels acts as master and the remaining channels act as slaves.

Intel ® Arria ® 10 Transceiver PHY User Guide

481

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.3.1.2.2. Byte Serializer Disabled Mode

In disabled mode, the byte serializer is bypassed. The data from the TX FIFO is directly transmitted to the 8B/10B encoder, TX Bitslip, or Serializer, depending on whether or not the 8B/10B encoder and TX Bitslip are enabled. Disabled mode is used in low speed applications such as GigE, where the FPGA fabric and the TX standard

PCS can operate at the same clock rate.

5.3.1.2.3. Byte Serializer Serialize x2 Mode

The serialize x2 mode is used in high-speed applications such as the PCIe Gen1 or

Gen2 protocol implementation, where the FPGA fabric cannot operate as fast as the TX

PCS.

In serialize x2 mode, the byte serializer serializes 16-bit, 20-bit (when 8B/10B encoder is not enabled), 32-bit, and 40-bit (when 8B/10B encoder is not enabled) input data into 8-bit, 10-bit, 16-bit, and 20-bit data, respectively. As the parallel data width from the TX FIFO is halved, the clock rate is doubled.

After byte serialization, the byte serializer forwards the least significant word first followed by the most significant word. For example, if the FPGA fabric-to-PCS

Interface width is 32, the byte serializer forwards tx_parallel_data[15:0]

first, followed by tx_parallel_data[31:16]

.

Related Information

PCI Express (PIPE) on page 229

For more information about using the Serialize x2 mode in the PCIe protocol.

5.3.1.2.4. Byte Serializer Serialize x4 Mode

The serialize x4 mode is used in high-speed applications such as the PCIe Gen3 protocol mode, where the FPGA fabric cannot operate as fast as the TX PCS.

In serialize x4 mode, the byte serializer serializes 32-bit data into 8-bit data. As the parallel data width from the TX FIFO is divided four times, the clock rate is quadrupled.

After byte serialization, the byte serializer forwards the least significant word first followed by the most significant word. For example, if the FPGA fabric-to-PCS

Interface width is 32, the byte serializer forwards tx_parallel_data[7:0]

first, followed by tx_parallel_data[15:8]

, tx_parallel_data[23:16]

and tx_parallel_data[31:24]

.

Related Information

PCI Express (PIPE) on page 229

For more information about using the Serialize x4 mode in the PCIe protocol.

5.3.1.3. 8B/10B Encoder

The 8B/10B encoder takes in 8-bit data and 1-bit control as input and converts them into a 10-bit output. The 8B/10B encoder automatically performs running disparity check for the 10-bit output. Additionally, the 8B/10B encoder can control the running disparity manually using the tx_forcedisp

and tx_dispval

ports.

Intel ®

482

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

Figure 255. 8B/10B Encoder Block Diagrams

When the PCS-PMA Interface Width is 10 bits

To the Serializer dataout[9:0] 8B/10B Encoder

From the Byte Serializer datain[7:0] tx_datak tx_forcedisp tx_dispval

When the PCS-PMA Interface Width is 20 bits

To the Serializer 8B/10B Encoder dataout[19:10]

MSB

Encoding

From the Byte Serializer datain[15:8] tx_datak[1] tx_forcedisp[1] tx_dispval[1] dataout[9:0]

LSB

Encoding datain[7:0] tx_datak[0] tx_forcedisp[0] tx_dispval[0]

Note:

When the PCS-PMA interface width is 10 bits, one 8B/10B encoder is used to convert the 8-bit data into a 10-bit output. When the PCS-PMA interface width is 20 bits, two cascaded 8B/10B encoders are used to convert the 16-bit data into a 20-bit output.

The first eight bits (LSByte) is encoded by the first 8B/10B encoder and the next eight bits (MSByte) is encoded by the second 8B/10B encoder. The running disparity of the

LSByte is calculated first and passed on to the second encoder to calculate the running disparity of the MSByte.

You cannot enable the 8B/10B encoder when the PCS-PMA interface width is 8 bits or

16 bits.

5.3.1.3.1. 8B/10B Encoder Control Code Encoding

Figure 256. Control Code Encoding Diagram tx_clkout tx_parallel_data[15:0] tx_datak[1:0]

Code Group

8378

0

BCBC

1

0F00

0

BF3C

D3.4

D24.3

D28.5

K28.5

D15.0

D0.0

D31.5

D28.1

The tx_datak

signal indicates whether the 8-bit data being sent at the tx_parallel_data

port should be a control word or a data word. When tx_datak is high, the 8-bit data is encoded as a control word (Kx.y). When tx_datak

is low, the 8-bit data is encoded as a data word (Dx.y). Depending upon the PCS-PMA interface width, the width of tx_datak

is either 1 bit or 2 bits. When the PCS-PMA interface width is 10 bits, tx_datak

is a 1-bit word. When the PCS-PMA interface width is 20 bits, tx_datak

is a 2-bit word. The LSB of tx_datak

corresponds to the

LSByte of the input data sent to the 8B/10B encoder and the MSB corresponds to the

MSByte of the input data sent to the 8B/10B encoder.

Intel ® Arria ® 10 Transceiver PHY User Guide

483

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

Related Information

Refer to Specifications & Additional Information for more information about 8B/10B encoder codes.

5.3.1.3.2. 8B/10B Encoder Reset Condition

The tx_digitalreset

signal resets the 8B/10B encoder. During the reset condition, the 8B/10B encoder outputs K28.5 continuously until tx_digitalreset

goes low.

5.3.1.3.3. 8B/10B Encoder Idle Character Replacement Feature

The idle character replacement feature is used in protocols such as Gigabit Ethernet, which requires the running disparity to be maintained during idle sequences. During these idle sequences, the running disparity has to be maintained such that the first byte of the next packet always starts when the running disparity of the current packet is negative.

When an ordered set, which consists of two code-groups, is received by the 8B/10B encoder, the second code group is converted into /I1/ or /I2 so that the final running disparity of the data code-group is negative. The first code group is /K28.5/ and the second code group is a data code-group other than /D21.5/ or /D2.2/. The ordered set /I1/ (/K28.5/D5.6/) is used to flip the running disparity and /I2/ (/K28.5/D16.2/) is used to preserve the running disparity.

5.3.1.3.4. 8B/10B Encoder Current Running Disparity Control Feature

The 8B/10B encoder performs a running disparity check on the 10-bit output data.

The running disparity can also be controlled using tx_forcedisp

and tx_dispval

.

When the PCS-PMA interface width is 10 bits, tx_forcedisp

and tx_dispval

are one bit each. When the PCS-PMA interface width is 20 bits, tx_forcedisp

and tx_dispval

are two bits each. The LSB of tx_forcedisp

and tx_dispval corresponds to the LSByte of the input data and the MSB corresponds to the MSByte of the input data.

5.3.1.3.5. 8B/10B Encoder Bit Reversal Feature

Figure 257. 8B/10B Encoder Bit Reversal Feature

Output

Data

Bit Reversal Mode

(8B/10B Encoder)

Input

Data

7 0 0 7

The bit reversal feature reverses the order of the bits of the input data. Bit reversal is performed at the output of the 8B/10B Encoder and is available even when the

8B/10B Encoder is disabled. For example, if the input data is 20-bits wide, bit reversal switches bit [0] with bit [19], bit [1] with bit [18] and so on.

Intel ®

484

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.3.1.3.6. 8B/10B Encoder Byte Reversal Feature

Figure 258. 8B/10B Encoder Byte Reversal Feature

8

B

15 0

A

7

Output

Data

Byte Reversal Mode

(8B/10B Encoder)

Input

Data

0

A

7 8

B

15

The byte reversal feature is available only when the PCS-PMA interface width is 16 bits or 20 bits. Byte reversal is performed at the output of the 8B/10B Encoder and is available even when the 8B/10B Encoder is disabled. This feature swaps the LSByte with the MSByte. For example, when the PCS-PMA interface width is 16-bits, [7:0] bits

(LSByte) gets swapped with [15:8] bits (MSByte).

5.3.1.4. Polarity Inversion Feature

The polarity inversion feature is used in situations where the positive and the negative signals of a serial differential link are erroneously swapped during board layout. You can control this feature through tx_polinv port

, by enabling the Enable TX

Polarity Inversion option under the Standard PCS tab of the Native PHY IP Core. The polarity inversion feature inverts the value of each bit of the input data. For example, if the input data is 00101001, then the data gets changed to 11010110 after polarity inversion.

5.3.1.5. Pseudo-Random Binary Sequence (PRBS) Generator

Note: Refer to the PRBS Generator section in the Enhanced PCS Architecture chapter.

Related Information

Arria 10 Enhanced PCS Architecture

on page 461

5.3.1.6. TX Bit Slip

The TX bit slip allows the word boundary to be controlled by tx_std_bitslipboundarysel

. The TX bit slip feature is used in applications, such as CPRI, which has a data rate greater than 6 Gbps. The maximum number of the supported bit slips is PCS data width-1 and the slip direction is from MSB to LSB and from current to previous word.

5.3.2. Receiver Datapath

5.3.2.1. Word Aligner

The word aligner receives the serial data from the PMA and realigns the serial data to have the correct word boundary according to the word alignment pattern configured.

This word alignment pattern can be 7, 8, 10, 16, 20, 32 and 40 bits in length.

Intel ® Arria ® 10 Transceiver PHY User Guide

485

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

Depending on your PCS-PMA interface width, the word aligner can be configured in one of the following modes:

• Bit slip

• Manual alignment

• Synchronous state machine

• Deterministic latency

Figure 259. Word Aligner Conditions and Modes

Word

Aligner

Single

Width

Double

Width

8 Bit 10 Bit 16 Bit 20 Bit

Bit Slip Manual Bit Slip Deterministic

Latency (1)

Note:

1. This option is available in CPRI mode.

Synchronous

State Machine

Manual Bit Slip Manual Bit Slip Deterministic

Latency (1)

Synchronous

State Machine

Manual

5.3.2.1.1. Word Aligner Bit Slip Mode

In bit slip mode, the word aligner operation is controlled by rx_bitslip

, which has to be held for two parallel clock cycles. At every rising edge of rx_bitslip

, the bit slip circuitry slips one bit into the received data stream, effectively shifting the word boundary by one bit. Pattern detection is not used in bit slipping mode; therefore, rx_syncstatus

is not valid in this mode.

5.3.2.1.2. Word Aligner Manual Mode

In manual alignment mode, the word aligner operation is controlled by rx_std_wa_patternalign

. The word aligner operation is edge-sensitive or levelsensitive to rx_std_wa_patternalign

, depending upon the PCS-PMA interface width selected.

Table 259.

Word Aligner

rx_std_wa_patternalign

Behavior

PCS-PMA Interface Width

8

10

16

20 rx_std_wa_patternalign

Behavior

Rising edge sensitive

Level sensitive

Rising edge sensitive

Rising edge sensitive

If rx_std_wa_patternalign

is asserted, the word aligner looks for the programmed word alignment pattern in the received data stream. It updates the word boundary if it finds the word alignment pattern in a new word boundary. If rx_std_wa_patternalign

is deasserted, the word aligner maintains the current word boundary even when it sees the word alignment pattern in a new word boundary.

Intel ®

486

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

The rx_syncstatus

and rx_patterndetect

signals, with the same latency as the datapath, are forwarded to the FPGA fabric to indicate the word aligner status.

After receiving the first word alignment pattern after rx_std_wa_patternalign

is asserted, both rx_syncstatus

and rx_patterndetect

are driven high for one parallel clock cycle. Any word alignment pattern received thereafter in the same word boundary causes only rx_patterndetect

to go high for one clock cycle. Any word alignment pattern received thereafter in a different word boundary causes the word aligner to re-align to the new word boundary only if rx_std_wa_patternalign

is asserted. The word aligner asserts rx_syncstatus

for one parallel clock cycle whenever it re-aligns to the new word boundary.

5.3.2.1.3. Word Aligner Synchronous State Machine Mode

In synchronous state machine mode, when the programmed number of valid synchronization code groups or ordered sets is received, rx_syncstatus

is driven high to indicate that synchronization is acquired. The rx_syncstatus

signal is constantly driven high until the programmed number of erroneous code groups is received without receiving intermediate good groups, after which rx_syncstatus

is driven low.

The word aligner indicates loss of synchronization ( rx_syncstatus

remains low) until the programmed number of valid synchronization code groups are received again.

5.3.2.1.4. Word Aligner Deterministic Latency Mode

In deterministic latency mode, the state machine removes the bit level latency uncertainty. The deserializer of the PMA creates the bit level latency uncertainty as it comes out of reset.

The PCS performs pattern detection on the incoming data from the PMA. The PCS aligns the data, after it indicates to the PMA the number of serial bits to clock slip the boundary.

If the incoming data has to be realigned, rx_std_wa_patternalign

must be reasserted to initiate another pattern alignment. Asserting rx_std_wa_patternalign

can cause the word align to lose synchronization if already achieved. This may cause rx_syncstatus

to go low.

Table 260.

PCS-PMA Interface Widths and Protocol Implementations

8

10

16

20

PCS-PMA Interface Width Protocol Implementations

Basic

• Basic

• Basic rate match

• CPRI

• PCIe Gen1 and Gen2

• GigE

Basic

• CPRI

• Basic

• Basic rate match

Intel ® Arria ® 10 Transceiver PHY User Guide

487

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.3.2.1.5. Word Aligner Pattern Length for Various Word Aligner Modes

Table 261.

Word Aligner Pattern Length for Various Word Aligner Modes

8

PCS-PMA

Interface

Width

Supported Word

Aligner Modes

Bit slip

Manual

Supported

Word Aligner

Pattern

Lengths

8 rx_std_wa_patte rnalign

behavior

8, 16 rx_std_wa_patt ernalign

has no effect on word alignment. The single width word aligner updates the word boundary, only when the

FPGA fabricasserted BITSLIP signal toggles.

Word alignment is controlled by rx_std_wa_patt ernalign

and is edge-sensitive to this signal.

rx_syncstatus behavior

N/A

Asserted high for one parallel clock cycle when the word aligner aligns to a new boundary.

10 Bit slip 7 N/A rx_patterndetect behavior

N/A

Asserted high for one parallel clock cycle when the word alignment pattern appears in the current word boundary.

N/A

Manual

Deterministic latency

(CPRI mode only)

7, 10

10 rx_std_wa_patt ernalign

has no effect on word alignment. The single width word aligner updates the word boundary, only when the

FPGA fabricasserted BITSLIP signal toggles.

Word alignment is controlled by rx_std_wa_patt ernalign

and is level-sensitive to this signal.

Asserted high for one parallel clock cycle when the word aligner aligns to a new boundary.

Asserted high for one parallel clock cycle when the word alignment pattern appears in the current word boundary.

— Word alignment is controlled by rx_std_wa_patt ernalign

(edgesensitive to this signal) and the state machine works in conjunction with

PMA to achieve deterministic latency on the RX path for CPRI and

OBSAI applications.

Synchronous State

Machine

7, 10 rx_std_wa_patt ernalig n has no effect on word alignment.

Stays high as long as the synchronization conditions are satisfied.

Asserted high for one parallel clock cycle when the word alignment pattern continued...

Intel ®

488

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

PCS-PMA

Interface

Width

16

20

Supported Word

Aligner Modes

Bit slip

Manual

Bit slip

Manual

Deterministic latency

(CPRI mode only)

Supported

Word Aligner

Pattern

Lengths rx_std_wa_patte rnalign

behavior

16

8, 16, 32

7

7, 10, 20, 40

10 rx_syncstatus behavior rx_patterndetect behavior rx_std_wa_patt ernalign

has no effect on word alignment. The double width word aligner updates the word boundary, only when the

FPGA fabricasserted BITSLIP signal toggles.

Word alignment is controlled by rising-edge of rx_std_wa_patt ernalign

.

N/A

Stays high after the word aligner aligns to the word alignment pattern.

Goes low on receiving a rising edge on rx_std_wa_patt ernalign

until a new word alignment pattern is received.

N/A rx_std_wa_patt ernalign

has no effect on word alignment. The double width word aligner updates the word boundary, only when the

FPGA fabricasserted BITSLIP signal toggles.

Word alignment is controlled by rising edge of rx_std_wa_patt ernalign

.

Word alignment is controlled by rx_std_wa_patt ernalign

(edgesensitive to this signal) and the deterministic latency state machine which controls the PMA to

Stays high after the word aligner aligns to the word alignment pattern.

Goes low on receiving a rising edge on rx_std_wa_patt ernalign

until a new word alignment pattern is received.

— appears in the current word boundary.

N/A

Asserted high for one parallel clock cycle when the word alignment pattern appears in the current word boundary.

N/A

Asserted high for one parallel clock cycle when the word alignment pattern appears in the current word boundary.

— continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

489

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

PCS-PMA

Interface

Width

Supported Word

Aligner Modes

Synchronous State

Machine

Supported

Word Aligner

Pattern

Lengths rx_std_wa_patte rnalign

behavior

7, 10, 20 achieve deterministic latency on the RX path for CPRI and

OBSAI applications.

FPGA fabric-driven rx_std_wa_patt ernalign

signal has no effect on word alignment.

rx_syncstatus behavior

Stays high as long as the synchronization conditions are satisfied.

rx_patterndetect behavior

Asserted high for one parallel clock cycle when the word alignment pattern appears in the current word boundary.

5.3.2.1.6. Word Aligner RX Bit Reversal Feature

The RX bit reversal feature reverses the order of the data received from the PMA. It is performed at the output of the Word Aligner and is available even when the Word

Aligner is disabled. If the data received from the PMA is a 10-bit data width, the bit reversal feature switches bit [0] with bit [9], bit [1] with bit [8], and so on. For example, if the 10-bit data is 1000010011, the bit reversal feature, when enabled, changes the data to 1100100001.

5.3.2.1.7. Word Aligner RX Byte Reversal Feature

The RX byte reversal feature is available only when the PCS-PMA interface width is 16 bits or 20 bits. This feature reverses the order of the data received from the PMA. RX byte reversal reverses the LSByte of the received data with its MSByte and vice versa.

If the data received is 20-bits, bits[0..9] are swapped with bits[10..20] so that the resulting 20-bit data is [[10..20],[0..9]]. For example, if the 20-bit data is

11001100001000011111, the byte reversal feature changes the data to

10000111111100110000.

5.3.2.2. RX Polarity Inversion Feature

The RX polarity inversion feature inverts each bit of the data received from the PMA. If the data received is a 10-bit data. Bit[0] content is inverted to its complement,

~bit[0], bit[1] is inverted to its complement, ~bit[1], bit[2] is inverted to its complement, ~bit[2], and so on. For example, if the 10-bit data is 1111100000, the polarity inversion feature inverts it to 0000011111.

Intel ®

490

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.3.2.3. Rate Match FIFO

The rate match FIFO compensates for the frequency differences between the local clock and the recovered clock up to ± 300 ppm by inserting and deleting skip/idle characters in the data stream. The rate match FIFO has several different protocol specific modes of operation. All of the protocol specific modes depend upon the following parameters:

• Rate match deletion—occurs when the distance between the write and read pointers exceeds a certain value due to write clock having a higher frequency than the read clock.

• Rate match insertion—occurs when the distance between the write and the read pointers becomes less than a certain value due to the read clock having a higher frequency than the write clock.

• Rate match full—occurs when the write pointer wraps around and catches up to the slower-advancing read pointer.

• Rate match empty—occurs when the read pointer catches up to the sloweradvancing write pointer.

Rate match FIFO operates in six modes:

• Basic single width

• Basic double width

• GigE

• PIPE

• PIPE 0 ppm

• PCIe

Related Information

Rate Match FIFO in Basic (Single Width) Mode

on page 306

For more information about implementing rate match FIFO in basic single width mode.

Rate Match FIFO Basic (Double Width) Mode on page 308

For more information about implementing rate match FIFO in basic double width mode.

How to Implement GbE, GbE with IEEE 1588v2 in Arria 10 Transceivers on page

118

For more information about implementing rate match FIFO in GigE mode.

PCI Express (PIPE) on page 229

For more information about implementing rate match FIFO in PCIe mode.

How to Implement PCI Express (PIPE) in Arria 10 Transceivers on page 246

For more information about implementing rate match FIFO in PIPE mode.

Using the Basic/Custom, Basic/Custom with Rate Match Configurations of Standard

PCS

on page 300

How to Implement the Basic Rate Match Protocol Using the Arria 10 Transceiver

Native PHY IP Core on page 300

For more information about implementing rate match FIFO for each mode.

Intel ® Arria ® 10 Transceiver PHY User Guide

491

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.3.2.4. 8B/10B Decoder

The general functionality for the 8B/10B decoder is to take a 10-bit encoded value as input and produce an 8-bit data value and a 1-bit control value as output. In configurations with the rate match FIFO enabled, the 8B/10B decoder receives data from the rate match FIFO. In configurations with the rate match FIFO disabled, the

8B/10B decoder receives data from the word aligner. The 8B/10B decoder operates in two conditions:

• When the PCS-PMA interface width is 10 bits and FGPA fabric-PCS interface width is 8 bits

• When the PCS-PMA interface width is 20 bits and FPGA fabric-PCS interface width is 16 bits

Figure 260. 8B/10B Decoder in Single-Width and Double-Width Mode

Single-Width Mode Double-Width Mode datain[19:10]

8B/10B Decoder

(MSByte) rx_dataout[15:8] rx_datak[1] rx_errdetect[1] rx_disperr[1] datain[9:0]

8B/10B Decoder

(LSByte) rx_dataout[7:0] rx_datak rx_errdetect rx_disperr recovered clock or tx_clkout[0] datain[9:0]

Current Running Disparity recovered clock or tx_clkout[0]

8B/10B Decoder

(LSByte) rx_dataout[7:0] rx_datak[0] rx_errdetect[0] rx_disperr[0] recovered clock or tx_clkout[0]

When the PCS-PMA interface width is 10 bits, only one 8B/10B decoder is used to perform the conversion. When the PCS-PMA interface width is 20 bits, two cascaded

8B/10B decoders are used. The 10-bit LSByte of the received 20-bit encoded data is decoded first and the ending running disparity is forwarded to the 8B/10B decoder responsible for decoding the 10-bit MSByte. The cascaded 8B/10B decoder decodes the 20- bit encoded data into 16-bit data + 2-bit control identifier. The MSB and LSB of the 2-bit control identifier correspond to the MSByte and LSByte of the 16-bit decoded data code group. The decoded data is fed to the byte deserializer or the RX

FIFO.

Intel ®

492

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.3.2.4.1. 8B/10B Decoder Control Code Encoding

Figure 261. 8B/10B Decoder in Control Code Group Detection

When the PCS-PMA Interface Width is 10 Bits tx_clkout

TX datain[9:0] D3.4

D24.3

D28.5

K28.5

D15.0

RX rx_datak dataout[7:0] 83 78 BC BC 0F

D0.0

00

D31.5

D3.4

BF 83

When the PCS-PMA Interface Width is 20 Bits tx_clkout

TX datain[19:10] datain[9:0]

D3.4

D24.3

D28.5

K28.5

RX rx_datak[1:0] dataout[15:0]

00

16’h8378

01

16’hBCBC

D15.0

D15.0

00

D3.4

D3.4

D3.4

D24.3

00

16’h8378

D28.5

K28.5

01

16’hBCBC

D15.0

D15.0

00

D3.4

D3.4

16’h0F0F 16’h8383 16’h0F0F 16’h8383

The 8B/10B decoder indicates whether the decoded 8-bit code group is a data or control code group on rx_datak

. If the received 10-bit code group is one of the 12 control code groups (/Kx.y/) specified in the IEEE 802.3 specification, rx_datak driven high. If the received 10-bit code group is a data code group (/Dx.y/),

is rx_datak

is driven low.

5.3.2.4.2. 8B/10B Decoder Running Disparity Checker Feature

Running disparity checker resides in 8B/10B decoder module. This checker checks the current running disparity value and error based on the rate match output.

rx_runningdisp

and rx_disperr

indicate positive or negative disparity and disparity errors, respectively.

5.3.2.5. Pseudo-Random Binary Sequence (PRBS) Checker

Note: Refer to the PRBS Checker section in the Enhanced PCS Architecture chapter.

Related Information

Arria 10 Enhanced PCS Architecture

on page 461

5.3.2.6. Byte Deserializer

The byte deserializer allows the transceiver to operate at data rates higher than those supported by the FPGA fabric. It deserializes the recovered data by multiplying the data width two or four times, depending upon the deserialization mode selected. The byte deserializer is optional in designs that do not exceed the FPGA fabric interface frequency upper limit. You can bypass the byte deserializer by disabling it in the

Quartus Prime Transceiver Native PHY. The byte deserializer operates in disabled, deserialize x2, or deserialize x4 modes.

Intel ® Arria ® 10 Transceiver PHY User Guide

493

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

Figure 262. Byte Deserializer Block Diagram

Datapath from the

8B/10B Decoder,

Rate Match FIFO, or Word Aligner

Byte

Deserializer

Datapath to the RX PCS FIFO

Low speed parallel clock

/2,

/4

5.3.2.6.1. Byte Deserializer Disabled Mode

In disabled mode, the byte deserializer is bypassed. The data from the 8B/10B decoder, rate match FIFO, or word aligner is directly transmitted to the RX FIFO, depending on whether or not the 8B/10B decoder and rate match FIFO are enabled.

Disabled mode is used in low speed applications such as GigE, where the FPGA fabric and the PCS can operate at the same clock rate.

5.3.2.6.2. Byte Deserializer Deserialize x2 Mode

The deserialize x2 mode is used in high-speed applications such as the PCIe Gen1 or

Gen2 protocol implementation, where the FPGA fabric cannot operate as fast as the TX

PCS.

In deserialize x2 mode, the byte deserializer deserializes 8-bit, 10-bit (when the

8B/10B encoder is not enabled), 16-bit, and 20-bit (when the 8B/10B encoder is not enabled) input data into 16-bit, 20-bit, 32-bit, and 40-bit data, respectively. As the parallel data width from the word aligner is doubled, the clock rate is halved.

5.3.2.6.3. Byte Deserializer Deserialize x4 Mode

The deserialize x4 mode is used in high-speed applications where the FPGA fabric cannot operate as fast as the TX PCS.

In deserialize x4 mode, the byte deserializer deserializes 8-bit data into 32-bit data.

As the parallel data width from the word aligner is quadrupled, the clock rate is divided four times.

5.3.2.6.4. Bonded Byte Deserializer

The bonded byte deserializer is also available for channel-bundled applications such as

PIPE. In this configuration, the control signals of the byte deserializers of all the channels are bonded together. A master channel controls all the other channels to prevent skew between the channels.

Intel ®

494

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.3.2.7. RX FIFO (Shared with Enhanced PCS and PCIe Gen3 PCS)

The RX FIFO interfaces between the PCS on the receiver side and the FPGA fabric and ensures reliable transfer of data and status signals. It compensates for the phase difference between the FPGA fabric and the PCS on the receiver side. The RX FIFO has a depth of 8. It operates in register FIFO and low latency modes.

Figure 263. RX FIFO Block Diagram

Datapath from

Byte Deserializer, 8B/10B Decoder,

Rate Match FIFO, or Deserializer wr_clk

RX

FIFO rd_clk

Datapath to FPGA Fabric or PIPE Interface

Parallel clock

(recovered) from clock divider rx_clkout rx_coreclkin

5.3.2.7.1. RX FIFO Low Latency Mode

The low latency mode incurs two to three cycles of latency when connecting it with the

FPGA fabric. The FIFO empty and the FIFO full threshold values are made closer so that the depth of the FIFO decreases, which in turn decreases the latency.

5.3.2.7.2. RX FIFO Register Mode

The register mode bypasses the FIFO functionality to eliminate the FIFO latency uncertainty for applications with stringent latency requirements. This is accomplished by tying the read clock of the FIFO with its write clock. The register mode incurs only one clock cycle of latency when interfacing to the FPGA fabric.

5.4. Arria 10 PCI Express Gen3 PCS Architecture

Arria 10 architecture supports the PCIe Gen3 specification. Intel provides two options to implement the PCI Express solution:

• You can use the Intel Hard IP solution. This complete package provides both the

MAC layer and the physical (PHY) layer functionality.

• You can implement the MAC in the FPGA core and connect this MAC to the transceiver PHY through the PIPE interface.

This section focuses on the basic blocks of PIPE 3.0-based Gen3 PCS architecture. The

PIPE 3.0-based Gen3 PCS uses a 128b/130b block encoding/decoding scheme, which is different from the 8B/10B scheme used in Gen1 and Gen2. The 130-bit block contains a 2-bit sync header and a 128-bit data payload. For this reason, Arria 10 devices include a separate Gen3 PCS that supports functionality at Gen3 speeds. This

PIPE interface supports the seamless switching of Data and Clock between the Gen1,

Gen2, and Gen3 data rates, and provides support for PIPE 3.0 features. The PCIe

Gen3 PCS supports the PIPE interface with the Hard IP enabled, as well as with the

Hard IP bypassed.

Intel ® Arria ® 10 Transceiver PHY User Guide

495

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

Figure 264. Gen3 PCS Block Diagram

TX PCIe Gen3 PCS Standard

32

PCS

FPGA

Fabric

32

TX

PMA tx_clkout

PIPE Interface

CDR

Control

/4 tx_clkout

Auto-Speed Negotiation

Gen3 x1, x2, x4, x8

RX PCIe Gen3 PCS

32

32

RX

PMA rx_clkout rx_clkout or tx_clkout

Clock Generation Block (CGB)

Clock Divider

ATX PLL fPLL tx_clkout or rx_clkout

Serial Clock

Parallel and Serial Clocks hclk for ASN Block

Parallel and Serial Clocks

Serial Clock

Input Reference Clock

Related Information

PCI Express (PIPE) on page 229

For more information about PCIe Gen1, Gen2, and Gen3 implementation and configuration, refer to "Supported PIPE Features."

• Intel Arria 10 Hard IP for PCIe IP Cores

5.4.1. Transmitter Datapath

This section describes the TX FIFO and the Gearbox of the Gen3 PCS transmitter.

5.4.1.1. TX FIFO (Shared with Standard and Enhanced PCS)

The TX FIFO in each channel ensures a reliable transfer of data and status signals between the PCS channel and the FPGA fabric. The TX FIFO compensates for the phase difference between the low speed parallel PCS clock and the FPGA fabric clock.

The RX and TX FIFOs are shared with standard and enhanced PCS. In Hard IP mode, the TX FIFO works in register mode. In PIPE mode, the TX FIFO works in low latency mode.

The TX FIFO operates in low latency mode in PIPE Gen1, Gen2, and Gen3 configurations. The Low Latency mode incurs 3-4 cycles of latency when connecting with the FPGA fabric. The FIFO empty and the FIFO full threshold values are made closer so that the depth of the FIFO decreases, which decreases the latency.

Related Information

Arria 10 Standard PCS Architecture

on page 479

For more information about TX FIFO.

Intel ®

496

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.4.1.2. Gearbox

The PCIe 3.0 base specification specifies a block size of 130 bits, with the exception of the SKP Ordered Sets, which can be of variable length. An implementation of a 130-bit data path takes significant resources, so the PCIe Gen3 PCS data path is implemented as 32-bits wide. Because the TX PMA data width is fixed to 32 bits, and the block size is 130 bits with variations, a gearbox is needed to convert 130 bits to 32 bits.

The gearbox block in the TX PCS converts the 130-bit data

( tx_parallel_data[127:0

] + pipe_tx_sync_hdr[1:0

]) to 32-bit data required by the TX PMA as the datapath implementation is 32 bits to reduce usage of resources. The 130-bit data is received as follows in the 32-bit datapath: 34 (32 + 2bit sync header), 32, 32, 32. During the first cycle the gearbox converts the 34-bit input data to 32-bit data. During the next 3 clock cycles the gearbox merges bits from adjacent cycles to form the 32-bit data. In order for the gearbox to work correctly, a gap must be provided in the data for every 16 shifts as each shift is 2 bits for converting the initial 34-bit to 32-bit in the gearbox. After 16 shifts the gearbox has an extra 32-bit data that was transmitted out, and thus a gap is required in the input data stream. This gap is achieved by driving pipe_tx_data_valid

low for one cycle after every 16 blocks of input data

(tx_parallel_data)

.

Related Information

Gearbox

on page 239

5.4.2. Receiver Datapath

This section describes the Block Synchronizer, Rate Match FIFO, and RX FIFO of the

Gen3 PCS receiver.

5.4.2.1. Block Synchronizer

PMA parallelization occurs at arbitrary word boundaries. Consequently, the parallel data from the RX PMA CDR must be realigned to meaningful character boundaries. The

PCI Express 3.0 base specification outlines that the data is formed using 130-bit blocks, with the exception of SKP blocks.

The SKP Ordered Set can be 66, 98, 130, 162, or 194 bits long. The block synchronizer searches for the Electrical Idle Exit Sequence Ordered Set (or the last number of fast training sequences (NFTS) Ordered Set) or skip (SKP) Ordered Set to identify the correct boundary for the incoming stream and to achieve the block alignment. The block is realigned to the new block boundary following the receipt of a

SKP Ordered Set, as it can be of variable length.

5.4.2.2. Rate Match FIFO

In asynchronous systems, the upstream transmitter and local receiver can be clocked with independent reference clocks. Frequency differences in the order of a few hundred PPM can corrupt the data when latching from the recovered clock domain to the local receiver reference clock domain. The rate match FIFO compensates for small clock frequency differences between these two clock domains by inserting or removing

SKP symbols in the data stream to keep the FIFO from going empty or full respectively.

Intel ® Arria ® 10 Transceiver PHY User Guide

497

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

The PCI Express 3.0 base specification defines that the SKP Ordered Set (OS) can be

66, 98, 130, 162, or 194 bits long. The SKP OS has the following fixed bits: 2-bit

Sync, 8-bit SKP END, and a 24-bit LFSR = 34 Bits. The Rate Match/Clock compensation block adds or deletes the 4 SKP characters (32-bit) to keep the FIFO from going empty or full, respectively. If the FIFO is nearly full, it deletes the 4 SKP characters (32-bit) by disabling write whenever a SKP is found. If the FIFO is nearly empty, the design waits for a SKP Ordered Set to start and then stops reading the data from the FIFO, and inserts a SKP in the outgoing data. The actual FIFO core

(memory element) is in the Shared Memory block in the PCS channel.

Figure 265. Rate Match FIFO data_out

SKP

Inserter fifo_pempty rd_en data

Asynchronous

FIFO fifo_pfull wr_en data

SKP

Deleter data_in rd_clk wr_clk

5.4.2.3. RX FIFO (Shared with Standard and Enhanced PCS)

The RX FIFO in each channel ensures a reliable transfer of data and status signals between the PCS channel and the FPGA fabric. The RX FIFO compensates for the phase difference between the parallel PCS clock and the FPGA fabric clock. In PIPE mode, the RX FIFO works in low latency mode.

Related Information

Arria 10 Standard PCS Architecture

on page 479

For more information about RX FIFO.

5.4.3. PIPE Interface

This section describes the Auto Speed Negotiation and the Clock Data Recovery

Control of the PIPE interface.

5.4.3.1. Auto Speed Negotiation

Auto speed negotiation controls the operating speed of the transceiver when operating under PIPE 3.0 modes. By monitoring the pipe_rate

signal from the PHY-MAC, this feature changes the transceiver from PIPE Gen1 operation mode to Gen2 operation mode, or from PIPE Gen1 operation mode to Gen2 operation mode to Gen3 operation mode, or vice versa. The PIPE interface clock rate is adjusted to match the data throughput.

Related Information

Rate Switch on page 237

Intel ®

498

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

5.4.3.2. Clock Data Recovery Control

The CDR control feature is used for the L0s fast exit when operating in PIPE Gen3 mode. Upon detecting an Electrical Idle Ordered Set (EIOS), this feature takes manual control of the CDR by forcing it into a lock-to-reference mode. When an exit from electrical idle is detected, this feature moves the CDR into lock-to-data mode to achieve fast data lock.

5.5. Intel Arria 10 Transceiver PHY Architecture Revision History

Changes Document

Version

2018.06.15

2016.10.31

2015.05.02

2015.12.18

2015.11.02

Made the following changes:

• Changed the AC gain settings for high bandwidth and medium bandwidth mode in the "High Gain

Mode" section.

• Added a note about bit slipping to the "RX Gearbox, RX Bitslip, and Polarity Inversion" section.

• Clarified the description of DC gain circuitry in the "Continuous Time Linear Equalization (CTLE)" section.

• Clarified the description of CTLE manual mode in the "High Data Rate Mode" section.

• Removed the Channel Loss Compensation column from the "Pre-Emphasis Taps" table.

• Updated Serial Loopback Path and Reverse Serial Loopback Path/Pre CDR figures and their notes.

• Changed the instruction in step 1 of the "How to Enable CTLE and DFE" section.

Made the following changes:

• Added a note below the diagram "Diagnostic Loopback Path/Pre CDR" saying "TX pre-emp is not supported in pre-CDR loopback. TX pre-emp is recommended to set to zero for all taps."

• "Idle OS Deletion" description updated to "Deletion of Idles occurs in groups of four OS (when there are two consecutive OS) until the rx_enh_fifo_pfull flag deasserts".

• Removed square wave pattern generator.

Made the following changes:

• Updated the configuration methods for the CTLE,and DFE schemes in the Arria 10 PMA Architecture section.

• Removed a signal in the "Gen3 PCS Block Diagram" in the Arria 10 PCI Express Architecture section.

Made the following changes:

• Updated the configuration methods for the CTLE, DFE, and adaptation schemes in the Arria 10 PMA

Architecture section.

Made the following changes to the PMA Architecture section:

• Updated "Channel Pulse Response" figure in the Decision Feedback Equalization (DFE) section.

• Updated the value for the "Number of fixed DFE taps" in the Equalization table in the PMA

Parameters section.

Made the following changes to the Enhanced PCS Architecture section:

• Updated Phase Compensation Mode and Basic Mode sections.

• Added 64B/66B Encoder Reset Condition section.

• Updated TX Gearbox, TX Bitslip and Polarity Inversion sections.

• Updated RX Bitslip in RX Gearbox, RX Bitslip, and Polarity Inversion figure.

• Added “block synchronization” in Enhanced PCS introduction note.

• Updated Enhanced PCS TX FIFO section.

• Updated reference link for TX Phase Compensation Mode section.

• Updated TX Register Mode description.

• Updated Interlaken Frame Generator section description.

• Updated 64B/66B Encoder and Transmitter State Machine section title.

• Updated PRBS Pattern Generator (Shared between Enhanced and Standard) title

• Updated Square Wave Pattern Generator (Shared between Enhanced and Standard)

• Updated RX Register Mode description.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

499

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

Document

Version

2015.05.11

2014.12.15

2014.08.15

Changes

Made the following changes to the Standard PCS Architecture section:

• Updated the Byte Serializer section for Serialize x2 and x4 modes.

• Added new figures for 8B/10B Encoder Bit and Byte Reversal features.

Made the following changes to the PMA Architecture section:

• Updated link to XCVR_A10_RX_TERM_SEL in the "Transmitter Buffer".

• Updated ODI vertical steps to 63 (0 and +/-32) in the "Receiver Buffer".

• Updated CTLE section for adaptation modes. Moved CTLE in the "How to Enable CTLE and DFE" section.

• Updated VGA section for adaptation modes.

• Updated DFE section for adaptation modes. Moved DFE to the new "How to Enable CTLE and DFE" section.

• Removed Triggered DFE mode.

• Removed all references related to floating taps.

Made the following changes to the Enhanced PCS Architecture section:

• Updated pattern generators (PRBS, Square Wave and PRP), PRBS Checker and PRP Verifier sections.

• Revised the descriptions of TX FIFO Fast Register Mode.

• Changed the title and descriptions in "Enhanced PCS Pattern Generators".

• Added new sections for "PRBS Pattern Generator (Shared between Enhanced and Standard PCSes)",

"Square Wave Pattern Generator (Shared between Enhanced and Standard PCSes)", and "Pseudo-

Random Pattern Generator."

• Changed sub title "PRBS Verifier" to "PRBS Checker" and changed their descriptions.

• Changed descriptions in "PRP Verifier".

Made the following changes to the Enhanced PCS Architecture section:

• Added PRBS7 Generator to support 64-bit width only.

• Updated the rule for tx_enh_data_valid control signal when TX FIFO is used in phase compensation mode.

Made the following changes to the PCI Express Gen3 PCS Architecture section:

• Updated TX FIFO in Transmitter Datapath.

• Changed the Standard PCS data rate from 12.5 Gbps to 12 Gbps.

Made the following changes to the Standard PCS Architecture section:

• Changed the Standard PCS data rate from 12.5 Gbps to 12 Gbps.

Made the following changes to the PMA Architecture section:

• Added High Speed Differential I/O and Power Distribution Network to the Transmitter Buffer circuitry.

• Added Power Distribution Network induced Inter-Symbol Interference compensation.

• Replaced the figures related to Programmable Pre Emphasis with a link to Pre Emphasis and Output

Swing Settings Estimator.

Made the following changes to the PCI Express Gen3 PCS Architecture section:

• Corrected the low latency mode cycles of latency in the TX FIFO (Shared with Standard and

Enhanced PCS).

Made the following changes to the Standard PCS Architecture section:

• Removed the features not supported by 8B/10B Decoder.

• Changed the description of TX FIFO to include the depth of the TX FIFO.

• Updated the description of Polarity Inversion feature to include how to enable Polarity Inversion.

• Updated the description of Pseudo-Random Binary Sequence (PRBS) Generator on the supported

PCS-PMA interface widths.

• Changed the value for Supported Word Aligner Pattern Lengths for Bitslip Mode when the PCS-PMA

Interface Width is 8 in Table 5-8 Word Aligner Pattern Length for Various Word Aligner Modes.

• Changed the description of RX FIFO to include the depth of the RX FIFO.

• Changed the RX Word Aligner pattern length for PCS-PMA interface width 8 in Bitslip Mode.

Made the following changes to the Enhanced PCS Architecture section:

• Changed references from MegaWizard to Parameters Editor.

continued...

Intel ®

500

Arria ® 10 Transceiver PHY User Guide

5. Arria 10 Transceiver PHY Architecture

UG-01143 | 2018.06.15

Document

Version

2013.12.02

Changes

Made the following changes to the PMA Architecture section:

• Added 2nd post-tap and pre-tap Pre-Emphasis signals .

• Updated DFE and CTLE modes of operation and Use Models.

• Added new sections on How to Enable CTLE and How to Enable DFE.

• Changed max data rate for GT channels to 25.8 Gbps in the Receiver Buffer CTLE section.

• Updated Receiver Buffer figure by adding and modifying Adaptive Parametric Tuning Engine to include CDR and DFE.

• Updated VGA section that includes VGA Frequency response for different gain settings.

Initial release.

Intel ® Arria ® 10 Transceiver PHY User Guide

501

UG-01143 | 2018.06.15

6. Reconfiguration Interface and Dynamic

Reconfiguration

This chapter explains the purpose and the use of the Arria 10 reconfiguration interface that is part of the Transceiver Native PHY IP core and the Transceiver PLL IP cores.

Dynamic reconfiguration is the process of dynamically modifying transceiver channels and PLLs to meet changing requirements during device operation. Arria 10 transceiver channels and PLLs are fully customizable, allowing a system to adapt to its operating environment. You can customize channels and PLLs by dynamically triggering reconfiguration during device operation or following power-up. Dynamic reconfiguration is available for Arria 10 Transceiver Native PHY, fPLL, ATX PLL, and

CMU PLL IP cores.

Use the reconfiguration interface to dynamically change the transceiver channel or PLL settings for the following applications:

• Fine tuning signal integrity by adjusting TX and RX analog settings

• Enabling or disabling transceiver channel blocks, such as the PRBS generator and the checker

• Changing data rates to perform auto negotiation in CPRI, SATA, or SAS applications

• Changing data rates in Ethernet (1G/10G) applications by switching between standard and enhanced PCS datapaths

• Changing TX PLL settings for multi-data rate support protocols such as CPRI

• Changing RX CDR settings from one data rate to another

• Switching between multiple TX PLLs for multi-data rate support

The Native PHY and Transmit PLL IP cores provide the following features that allow dynamic reconfiguration:

• Reconfiguration interface

• Configuration files

• Feature to add PMA analog settings (optional) to the Configuration files (Native

PHY only)

• Multiple reconfiguration profiles (Native PHY and ATX PLL)

• Embedded reconfiguration streamer (Native PHY and ATX PLL)

• Altera Debug Master Endpoint (ADME)

• Optional reconfiguration logic

Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.

*Other names and brands may be claimed as the property of others.

ISO

9001:2008

Registered

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

6.1. Reconfiguring Channel and PLL Blocks

The following table lists some of the available dynamic reconfiguration features in

Arria 10 devices.

Table 262.

Arria 10 Dynamic Reconfiguration Feature Support

Reconfiguration

Channel Reconfiguration

PLL Reconfiguration

Features

PMA analog features

• V

OD

• Pre-emphasis

• Continuous Time Linear Equalizer (CTLE)

• Decision Feedback Equalization (DFE)

TX PLL

• TX local clock dividers

• TX PLL switching

RX CDR

• RX CDR settings

• RX CDR reference clock switching

Reconfiguration of PCS blocks within the datapath

Datapath switching

• Standard, Enhanced, PCS Direct

PLL settings

• Counters

PLL reference clock switching

Related Information

Unsupported Features

on page 563

6.2. Interacting with the Reconfiguration Interface

Each transceiver channel and PLL contains an Avalon Memory-Mapped (Avalon-MM) reconfiguration interface. The reconfiguration interface provides direct access to the programmable space of each channel and PLL. Communication with the channel and

PLL reconfiguration interface requires an Avalon-MM master. Because each channel and PLL has its own dedicated Avalon-MM interface, you can dynamically modify channels either concurrently or sequentially, depending on how the Avalon-MM master is connected to the Avalon-MM reconfiguration interface.

Intel ® Arria ® 10 Transceiver PHY User Guide

503

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Figure 266. Reconfiguration Interface in Arria 10 Transceiver IP Cores

Avalon-MM Master

Native PHY IP Core

Ch0: Avalon

Reconfiguration

Interface

Embedded Controller in FPGA or Embedded Processor on PCB

Ch1: Avalon

Reconfiguration

Interface

Transceiver PLL IP Core

Avalon

Reconfiguration

Interface

A transmit PLL instance has a maximum of one reconfiguration interface. Unlike PLL instances, a Native PHY IP core instance can specify multiple channels. You can use a dedicated reconfiguration interface for each channel or share a single reconfiguration interface across all channels to perform dynamic reconfiguration.

Avalon-MM masters interact with the reconfiguration interface by performing Avalon read and write operations to initiate dynamic reconfiguration of specific transceiver parameters. All read and write operations must comply with Avalon-MM specifications.

Figure 267. Top-Level Signals of the Reconfiguration Interface reconfig_clk reconfig_reset reconfig_read reconfig_write reconfig_address reconfig_writedata reconfig_readdata reconfig_waitrequest

Native PHY IP core or

Transceiver PLL IP core

The user-accessible Avalon-MM reconfiguration interface and PreSICE Avalon-MM interface share a single internal configuration bus. This bus is arbitrated to get access to the Avalon-MM interface of the channel or PLL. Refer to the Arbitration section for more details about requesting access to and returning control of the internal configuration bus from PreSICE.

Related Information

Arbitration

on page 512

Intel ®

504

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Reconfiguration Interface and Arbitration with PreSICE Calibration Engine on page

567

• Avalon Interface Specifications

6.2.1. Reading from the Reconfiguration Interface

Reading from the reconfiguration interface of the Transceiver Native PHY IP core or

Transceiver PLL IP core retrieves the current value at a specific address.

Figure 268. Reading from the Reconfiguration Interface

1 3 reconfig_clk

5 reconfig_address 119h reconfig_read reconfig_waitrequest reconfig_readdata reconfig_write reconfig_writedata

2

4

Valid readdata

Note:

1. The master asserts reconfig_address and reconfig_read after the rising edge of reconfig_clk.

2. The slave asserts reconfig_waitrequest, stalling the transfer.

3. The master samples reconfig_waitrequest. Because reconfig_waitrequest is asserted, the cycle becomes a wait state and reconfig_address,

reconfig_read, and reconfig_write remain constant.

4. The slave presents valid reconfig_readdata and deasserts reconfig_waitrequest.

5. The master samples reconfig_waitrequest and reconfig_readdata, completing the transfer.

After the reconfig_read

signal is asserted, the reconfig_waitrequest

signal asserts for a few reconfig_clock

cycles, then deasserts. This deassertion indicates the reconfig_readdata

bus contains valid data.

You must check for the internal configuration bus arbitration before performing reconfiguration. Refer to the Arbitration section for more details about requesting access to and returning control of the internal configuration bus from PreSICE.

Related Information

Arbitration

on page 512

6.2.2. Writing to the Reconfiguration Interface

Writing to the reconfiguration interface of the Transceiver Native PHY IP core or TX PLL

IP core changes the data value at a specific address. All writes to the reconfiguration interface must be read-modify-writes, because two or more features may share the same reconfiguration address. When two or more features share the same reconfiguration address, one feature's data bits are interleaved with another feature's data bits.

Intel ® Arria ® 10 Transceiver PHY User Guide

505

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Figure 269. Writing to the Reconfiguration Interface

1 2 reconfig_clk

119h reconfig_address reconfig_write reconfig_writedata reconfig_waitrequest

0000000c

Note: reconfig_read reconfig_readdata

1. The master asserts the reconfig_address, reconfig_write, and reconfig_writedata signals.

2. The slave (channel or PLL) captures reconfig_writedata, ending the transfer.

You must check for the internal configuration bus arbitration before performing reconfiguration. Refer to the Arbitration section for more details about requesting access to and returning control of the internal configuration bus from PreSICE.

Related Information

Arbitration

on page 512

Ports and Parameters

on page 535

6.3. Configuration Files

The Arria 10 Transceiver Native PHY and Transmit PLL IP cores optionally allow you to save the parameters you specify for the IP instances as configuration files. The configuration file stores addresses and data values for that specific IP instance.

The configuration files are generated during IP generation. They are located in the

<IP instance name>\altera_xcvr_<IP type>_a10_<quartus version>\synth

\reconfig

subfolder of the IP instance. The configuration data is available in the following formats:

SystemVerilog packages: <name>.sv

C Header files: <name>.h

Memory Initialization File (MIF): <name>.mif

Select one or more of the configuration file formats on the Dynamic

Reconfiguration tab of the Transceiver Native PHY or Transmit PLL parameter editor to store the configuration data. All configuration files generated for a particular IP instance contain the same address and data values. The contents of the configuration files can be used to reconfigure from one transceiver /PLL configuration to another.

Intel ®

506

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

You can optionally allow the Native PHY IP core to include PMA Analog settings in the configuration files by enabling the feature Include PMA Analog settings in

configuration files in the Dynamic Reconfirmation tab of the Transceiver Native

PHY IP Parameter Editor. This feature is disabled by default. Enabling this feature adds the PMA analog settings specified in the Analog PMA settings (Optional) tab of the

Native PHY IP Parameter Editor to the configuration files. Even with this option enabled in the Native PHY IP Parameter Editor, you must still specify Quartus Settings

File (QSF) assignments for your analog settings when compiling your static design.

The analog settings selected in the Native PHY IP Parameter Editor are used only to include these settings and their dependent settings in the selected configuration files.

Refer to the Analog Parameter Settings chapter for details about QSF assignments for the analog settings.

Example 2. SystemVerilog Configuration File

26'h008FF04,

// [25:16]-DPRIO address=0x008;

// [15:8]-bit mask=0xFF;

// [7:7]- hssi_tx_pcs_pma_interface_pldif_datawidth_mode=pldif_data_10bit(1'h0);

// [6:5]-hssi_tx_pcs_pma_interface_tx_pma_data_sel=ten_g_pcs(2'h0);

// [4:4]-hssi_tx_pcs_pma_interface_prbs_gen_pat=prbs_gen_dis(1'h0);

// [3:0]-hssi_tx_pcs_pma_interface_sq_wave_num=sq_wave_default(4'h4);

… localparam HSSI_TX_PCS_PMA_INTERFACE_PLDIF_DATAWIDTH_MODE_VALUE = "pldif_data_10bit"; localparam HSSI_TX_PCS_PMA_INTERFACE_PLDIF_DATAWIDTH_MODE_ADDR_OFST = 8; localparam HSSI_TX_PCS_PMA_INTERFACE_PLDIF_DATAWIDTH_MODE_ADDR_FIELD_OFST = 7; localparam HSSI_TX_PCS_PMA_INTERFACE_PLDIF_DATAWIDTH_MODE_ADDR_FIELD_HIGH = 7; localparam HSSI_TX_PCS_PMA_INTERFACE_PLDIF_DATAWIDTH_MODE_ADDR_FIELD_SIZE = 1; localparam HSSI_TX_PCS_PMA_INTERFACE_PLDIF_DATAWIDTH_MODE_ADDR_FIELD_BITMASK =

32'h00000080; localparam HSSI_TX_PCS_PMA_INTERFACE_PLDIF_DATAWIDTH_MODE_ADDR_FIELD_VALMASK =

32'h00000000; localparam HSSI_TX_PCS_PMA_INTERFACE_PLDIF_DATAWIDTH_MODE_ADDR_FIELD_VALUE = 1'h0;

The SystemVerilog configuration files contain two parts. The first part consists of a data array of 26-bit hexadecimal values. The second part consists of parameter values. For the data array, each 26-bit hexadecimal value is associated with a comment that describes the various bit positions.

Table 263.

Mapping of SystemVerilog Configuration File Line

Bit Position

[25:16]

[15:8]

[7:0]

Description

DPRIO address. Refer to Intel Arria 10 Transceiver Register Map for details of the address.

The channel or PLL bit mask. The bit mask exposes the bits that are configured in either the Transceiver

Native PHY or the transmit PLL IP cores.

Feature bit values.

For example, a value of 26'h008FF04 represents an address of 0x008 and a bit mask of 0xFF. The four features that reside at address 0x008 are:

• hssi_tx_pcs_pma_interface_pldif_datawidth_mode

with a value of 1'h0

• hssi_tx_pcs_pma_interface_tx_pma_data_sel

with a value of 2'h0

• hssi_tx_pcs_pma_interface_prbs_gen_pat

with a value of 1'h0

• hssi_tx_pcs_pma_interface_sq_wave_num

with a value of 4'h4

Writing to bit 7 of address 0x008 changes the hssi_tx_pcs_pma_interface_pldif_datawidth_mode

feature.

Intel ® Arria ® 10 Transceiver PHY User Guide

507

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

The MIF file and C header file are set up similarly to the SystemVerilog package file.

Multiple transceiver features may reside at the same address. Also, a single transceiver feature may span across multiple addresses.

Dynamic reconfiguration requires at least two configurations of the Transceiver Native

PHY IP core or PLL IP core. One configuration defines the base transceiver or PLL configuration and the other configurations define the modified or target configurations.

Use the IP Parameter Editor to create base and modified configurations of the

Transceiver Native PHY or PLL IP core, according to the following table.

Table 264.

Transceiver Native PHY or PLL IP Parameters (Base and Modified

Configurations)

Saved In Native PHY or PLL

Instance

Base Configuration

Modified

Configuration

Required Parameter Settings

• Click Interfaces

Transceiver PHYArria 10

Transceiver Native PHY for the Native PHY IP core. Or, select one of the supported transmit PLL IP cores under PLL. Enable all options required for the base configuration, such as data rate, PCS options, and PMA options.

• Enable all ports to be used by the modified configuration. For example, if the bitslip feature is not required in the base configuration, but required in modified configuration, then you must enable the tx_std_bitslipboundarysel

port. Reconfiguring between Standard PCS, Enhanced PCS, and PCS

Direct requires that you turn on Enable datapath

and interface reconfiguration. The Transceiver

configuration rules define the initial mode of the

PHY instance.

• On the Dynamic Reconfiguration tab, turn on

Enable dynamic reconfiguration and specify the

Configuration Options.

This flow requires that you turn on Configuration file option.

• Click InterfacesTransceiver PHYArria 10

Transceiver Native PHY. Or, select one of the supported transmit PLL IP cores under PLL. Enable all options required for the modified configuration, such as data rate, PCS options, and PMA options.

• Enable all ports that are used by the modified configuration. Reconfiguring between Standard PCS,

Enhanced PCS, and PCS Direct requires Enable

datapath and interface reconfiguration be enabled. The Transceiver configuration rules define the mode of the PHY instance.

• On the Dynamic Reconfiguration tab, turn on

Enable dynamic reconfiguration and specify the same Configuration Options as the base instance.

<Native PHY Base Instance Name>

/ reconfig/ altera_xcvr_native_a10_reconf ig_parameters.sv

contains all transceiver register addresses and their bit value for that transceiver configuration.

Or

<PLL Base Instance Name>

/ reconfig/ altera_xcvr_<type>_pll_a10_re config_parameters.sv contains all PLL register addresses and their bit value for that PLL configuration.

<Native PHY Modified Instance

Name>

/reconfig/ altera_xcvr_native_a10_reconf ig_parameters.sv

contains all transceiver register addresses and their bit value for that transceiver configuration.

Or

<PLL Modified Instance Name>

/ reconfig/ altera_xcvr_<type>_pll_a10_re config_parameters.sv contains all PLL register addresses and their bit value for that PLL configuration.

Note: You can generate the base and modified configuration files in the same or different folders. If you use the same folder, each configuration name must be unique.

Intel recommends following the flow described in the Steps to Perform Dynamic

Reconfiguration section when performing dynamic reconfiguration of either the Native

PHY IP core or transmit PLL IP core.

Related Information

Steps to Perform Dynamic Reconfiguration

on page 516

Intel ®

508

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Analog Parameter Settings on page 585

• Arria 10 Transceiver Register Map

6.4. Multiple Reconfiguration Profiles

You can optionally enable multiple configurations or profiles in the same Native PHY IP or ATX PLL IP core Parameter Editor (or both) for performing dynamic reconfiguration.

This allows the IP Parameter Editor to create, store, and analyze the parameter settings for multiple configurations or profiles.

When you enable the multiple reconfiguration profiles feature, the Native PHY IP Core,

ATX PLL IP core, or both can generate configuration files for all the profiles in the format desired (SystemVerilog package, MIF, or C header file). The configuration files are located in the

<IP instance name>\altera_xcvr_<IP type>_a10_<quartus version>\synth\reconfig

subfolder of the IP instance with the configuration profile index added to the filename. For example, the configuration file for Profile 0 is stored as

<filename_CFG0.sv>

. The Intel Quartus

Prime Timing Analyzer Timing Analyzer includes the necessary timing paths for all the configurations based on initial and target profiles. You can also generate reduced configuration files that contain only the attributes that differ between the multiple configured profiles. You can create up to eight reconfiguration profiles (Profile 0 to

Profile 7) at a time for each instance of the Native PHY/ATX PLL IP core.

You can optionally allow the Native PHY IP core to include PMA Analog settings in the configuration files by enabling the feature Include PMA Analog settings in

configuration files in the Dynamic Reconfiguration tab of the Transceiver Native

PHY IP Parameter Editor. This feature is disabled by default. Enabling this feature adds the PMA analog settings specified in the Analog PMA settings (Optional) tab of the

Native PHY IP Parameter Editor to the configuration files. Even with this option enabled in the Native PHY IP Parameter Editor, you must still specify QSF assignments for your analog settings when compiling your static design. The analog settings selected in the Native PHY IP Parameter Editor are used only to include these settings and their dependent settings in the selected configuration files. Refer to the Analog

Parameter Settings chapter for details about QSF assignments for the analog settings.

Refer to Steps to Perform Dynamic Reconfiguration for a complete list of steps to perform dynamic reconfiguration using the IP guided reconfiguration flow with multiple reconfiguration profiles enabled.

The Quartus Prime Timing Analyzer only includes the necessary PCS timing paths for all the profiles. To perform a PMA reconfiguration such as TX PLL switching, CGB divider switching, or reference clock switching, you must use the flow described in

Steps to Perform Dynamic Reconfiguration. Refer to Timing Closure Recommendations for more details about enabling multiple profiles and running timing analyses.

You can use the multiple reconfiguration profiles feature without using the embedded reconfiguration streamer feature. When using the multiple reconfiguration profiles feature by itself, you must write the user logic to reconfigure all the entries that are different between the profiles while moving from one profile to another.

Intel ® Arria ® 10 Transceiver PHY User Guide

509

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Note: You must ensure that none of the profiles in the Native PHY IP and ATX PLL IP

Parameter Editor gives error messages, or else IP generation fails. The Native PHY IP core and ATX PLL IP only validates the current active profile dynamically. For example, if you store a profile with error messages in the Native PHY IP or ATX PLL IP Parameter

Editor and load another profile without any error messages, the error messages disappear in the IP. You are then allowed to generate the IP, but the generation fails.

Related Information

Steps to Perform Dynamic Reconfiguration

on page 516

Timing Closure Recommendations on page 560

Analog Parameter Settings on page 585

6.5. Embedded Reconfiguration Streamer

You can optionally enable the embedded reconfiguration streamer in the Native PHY IP core, ATX PLL IP core, or both to automate the reconfiguration operation.

The embedded reconfiguration streamer is a feature block that can perform Avalon-

MM transactions to access channel/ATX PLL configuration registers in the transceiver.

When you enable the embedded streamer, the Native PHY/ATX PLL IP cores embed the reconfiguration profiles and reconfiguration control logic in the IP files.

For the ATX PLL IP, you can control the embedded streamer block through the reconfiguration interface. Control and status signals of the streamer block are memory mapped in the PLL’s soft control and status registers.

Table 265.

Control and Status Register Memory Map for Embedded Reconfiguration

Streamer in ATX PLL IP

Reconfigura tion

Address

(hex)

Reconfigura tion Bit

340 7

Attribute

Name cfg_load

Attribute

Description

Start streaming

Bit

Encoding

1'b1

Transceiver Block Description

Set to 1'b1 to initiate streaming, self-clearing bit

341

[2:0]

0 cfg_sel rcfg_busy

Configuratio n profile select

Busy Status bit

Direct mapped

1'b1

Embedded

Reconfiguration

Streamer

Embedded

Reconfiguration

Streamer

Embedded

Reconfiguration

Streamer

Binary encoding of the configuration Profile to stream

Bit is set to:

1'b1—streaming is in progress

1'b0—streaming is complete

Note: The soft control and status registers at x340 and x341 are enabled when you enable the embedded reconfiguration streamer in the ATX PLL IP core.

Refer to Steps to Perform Dynamic Reconfiguration for a complete list of steps to perform dynamic reconfiguration using the IP guided reconfiguration flow with embedded streamer enabled. To perform a reference clock switching, use the reconfiguration flow for special cases described in Steps to Perform Dynamic

Reconfiguration.

Intel ®

510

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Note:

For the Native PHY IP, you can control the embedded streamer block through the reconfiguration interface. Control and status signals of the streamer block are memory mapped in the PHY’s soft control and status registers. These embedded reconfiguration control and status registers are replicated for each channel. You cannot merge reconfiguration interfaces across multiple IP cores when the embedded reconfiguration streamer is enabled because the embedded reconfiguration streamer makes use of soft logic for control and status registers.

You can optionally allow the Native PHY IP core to include PMA Analog settings in the configuration files by enabling the feature Include PMA Analog settings in

configuration files in the Dynamic Reconfirmation tab of the Transceiver Native

PHY IP Parameter Editor. This feature is disabled by default. Enabling this feature adds the PMA analog settings specified in the Analog PMA settings (Optional) tab of the

Native PHY IP Parameter Editor to the configuration files. Even with this option enabled in the Native PHY IP Parameter Editor, you must still specify QSF assignments for your analog settings when compiling your static design. The analog settings selected in the Native PHY IP Parameter Editor are used only to include these settings and their dependent settings in the selected configuration files. For details about QSF assignments for the analog settings, refer to the Analog Parameter Settings chapter.

For example, if the Native PHY IP core has four channels—logical channel 0 to logical channel 3—and you want to reconfigure logical channel 3 using the embedded reconfiguration streamer, you must write to the control register of logical channel 3 using the reconfiguration interface with the appropriate bit settings.

The soft control and status registers at x340 and x341 are enabled when you enable the embedded reconfiguration streamer in the Native PHY IP core.

Refer to Steps to Perform Dynamic Reconfiguration for a complete list of steps to perform dynamic reconfiguration using the IP guided reconfiguration flow with embedded streamer enabled. To perform a PMA reconfiguration such as TX PLL switching, CGB divider switching, or reference clock switching, use the reconfiguration flow for special cases described in Steps to Perform Dynamic Reconfiguration.

Table 266.

Control and Status Register Memory Map for Embedded Reconfiguration

Streamer in Native PHY IP

Reconfigura tion

Address

(hex)

Reconfigura tion Bit

340 7

Attribute

Name cfg_load

Attribute

Description

Start streaming

Bit

Encoding

1'b1

Transceiver Block Description

Set to 1'b1 to initiate streaming, self-clearing bit

341

6

[2:0]

0 bcast_en cfg_sel rcfg_busy

Broadcast enable

Configuratio n profile select

Busy Status bit

1'b1

Direct mapped

1'b1

Embedded

Reconfiguration

Streamer

Embedded

Reconfiguration

Streamer

Embedded

Reconfiguration

Streamer

Embedded

Reconfiguration

Streamer

Set to 1'b1 to broadcast the same profile to all the channels

Binary encoding of the configuration Profile to stream

Bit is set to:

1'b1—streaming is in progress

1'b0—streaming is complete

Intel ® Arria ® 10 Transceiver PHY User Guide

511

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

You can write to the address 0x340 at the same time to start the streaming, enable broadcasting, and select the profile to be streamed. Different requests to multiple channels can be made simultaneously by writing to the addresses of the desired channels through the user reconfiguration interface (shared or independent). The reconfig_waitrequest

signal remains asserted after the reconfiguration streaming is complete.

Related Information

Steps to Perform Dynamic Reconfiguration

on page 516

Analog Parameter Settings on page 585

6.6. Arbitration

Figure 270. Arria 10 ATX PLL with Embedded Streamer

Arria 10 ATX PLL IP

User

Reconfiguration

Logic

Reconfiguration

Interface

Streamer

Arria 10 ATX PLL

To/From

PreSICE

Internal

Configuration

Bus

Avalon-MM

Interface

Configuration

Registers

ADME

Optional Reconfiguration Logic

(Capability, Control and Status)

Debug Fabric

Host Link

Intel IP User Logic

Connectivity to channel reconfiguration registers and optional soft registers

Intel ®

512

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Figure 271. Arria 10 Native PHY with Embedded Streamer

Arria 10 Native PHY

User

Reconfiguration

Logic

Reconfiguration

Interface

Streamer

Arria 10 Transceiver

To/From

PreSICE

Internal

Configuration

Bus

Avalon-MM

Interface

Channel

Configuration

Registers

Optional Reconfiguration Logic

(Capability, Control and Status,

PRBS Soft Accumulators

ADME

Debug Fabric

Host Link

Intel IP User Logic

Connectivity to channel reconfiguration registers and optional soft registers

Intel ® Arria ® 10 Transceiver PHY User Guide

513

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

In Arria 10 devices, there are two levels of arbitration:

• Reconfiguration interface arbitration with the PreSICE calibration engine

When you have control over the internal configuration bus, refer to the second level of arbitration: Arbitration between multiple masters within the Native

PHY/PLL IPs.

For more details about arbitration between the reconfiguration interface and

PreSICE, refer to the Calibration chapter.

• Arbitration between multiple masters within the Native PHY/PLL IPs

Below are the feature blocks that can access the programmable registers:

— Embedded reconfiguration streamer (Available in the Native PHY and ATX PLL

IPs only)

— ADME

— User reconfiguration logic connected to the reconfiguration interface

When the internal configuration bus is not owned by the PreSICE, which feature block has access depends on which of them are enabled.

These feature blocks arbitrate for control over the programmable space of each transceiver channel/PLL. Each of these feature blocks can request access to the programmable registers of a channel/PLL by performing a read or write operation to that channel/PLL. For any of these feature blocks to be used, you must first have control over the internal configuration bus. You must ensure that these feature blocks have completed all the read/write operations before you return the bus access to PreSICE.

The embedded reconfiguration streamer has the highest priority, followed by the reconfiguration interface, followed by the ADME. When two feature blocks are trying to access the same transceiver channel on the same clock cycle, the feature block with the highest priority is given access. The only exception is when a lowerpriority feature block is in the middle of a read/write operation and a higherpriority feature block tries to access the same channel. In this case, the higher priority feature block is made to wait until the lower priority feature block has finished the read/write operation.

Note: When you enable ADME in your design, you must

— connect an Avalon-MM master to the reconfiguration interface

— OR connect the reconfig_clock

, reconfig_reset signals and ground the reconfig_write

, reconfig_read

, reconfig_address and reconfig_writedata

signals of the reconfiguration interface. If the reconfiguration interface signals are not connected appropriately, there is no clock or reset for the ADME, and the ADME does not function as expected.

Related Information

Steps to Perform Dynamic Reconfiguration

on page 516

Calibration

on page 567

• Arria 10 Transceiver Register Map

Intel ®

514

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

6.7. Recommendations for Dynamic Reconfiguration

Recommendations for TX PLLs

Intel recommends you control in the following cases: pll_powerdown

for the fPLL through the soft registers

• Reconfiguring fPLL from integer mode to fractional mode

• Reconfiguring fPLL within fractional mode from one rate to another

For all other reconfiguration scenarios, do not hold the PLL in reset before and during reconfiguration.

When reconfiguring across data rates or protocol modes, Intel recommends that you hold the channel transmitter (analog and digital) associated with the PLL in reset during reconfiguration and recalibration of the PLL.You can use the tx_digitalreset

, rx_digitalreset

, tx_analogreset

, and rx_analogreset ports or use the channel soft register for digital and analog resets. For details about placing the channel in analog reset, refer to the "Model 1: Default Model" and "Model

2: Acknowledgment Model" sections of the Resetting Transceiver Channels chapter.

Note: If you need to reconfigure the ATX PLL, use TX PLL switching mode or use local clock divider to achieve new data rate to avoid recalibrating the ATX PLL. Refer to "ATX PLL

Usage Guideline" in the "PLLs and Clock Networks" chapter for more details.

Recommendations for Channels

• When reconfiguring across data rates or protocol modes, Intel recommends that you hold the channel transmitter (analog and digital) in reset during reconfiguration and recalibration of the channel transmitter. You can use the tx_digitalreset

, rx_digitalreset

, tx_analogreset

, and rx_analogreset

ports or use the channel soft register for digital and analog resets. For details about placing the channel in analog reset, refer to the "Model 1:

Default Model" and "Model 2: Acknowledgment Model" sections of the Resetting

Transceiver Channels chapter.

• When reconfiguring across data rates or protocol modes, Intel recommends that you hold the channel receiver (analog and digital) in reset during reconfiguration and recalibration of the channel receiver. You can use the tx_digitalreset

, rx_digitalreset

, tx_analogreset

, and rx_analogreset

ports or use the channel soft register for digital and analog resets. For details about placing the channel in analog reset, refer to the "Model 1: Default Model" and "Model 2:

Acknowledgment Model" sections of the Resetting Transceiver Channels chapter.

• When performing reconfiguration on channels not involving data rate or protocol mode change, Intel recommends that you hold the channel transmitter (digital only) in reset during reconfiguration.

• When performing reconfiguration on channels not involving data rate or protocol mode change, Intel recommends that you hold the channel receiver (digital only) in reset during reconfiguration.

Refer to the Arria 10 Transceiver Register Map for detailed information about the soft registers for PLL powerdown.

Related Information

Model 1: Default Model on page 418

Intel ® Arria ® 10 Transceiver PHY User Guide

515

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Model 2: Acknowledgment Model on page 427

PLLs and Clock Networks on page 347

• Arria 10 Transceiver Register Map

6.8. Steps to Perform Dynamic Reconfiguration

You can dynamically reconfigure blocks in the transceiver channel or PLL through the reconfiguration interface.

The following procedure shows the steps required to reconfigure the channel and PLL blocks.

1. Enable dynamic reconfiguration in the IP.

2. Enable the desired configuration file formats in the IP.

3. Enable the desired dynamic reconfiguration features (such as multiple reconfiguration profiles, including PMA analog settings in configuration files) or feature blocks (such as embedded reconfiguration streamer and ADME).

4. If you are using:

• Direct reconfiguration flow—Refer to the register map for feature address and valid value of write data for the feature.

• IP guided reconfiguration flow—Note the settings of the base configuration and generate the corresponding configuration files. Note the settings of the modified configuration and generate the corresponding configuration files. Find out the differences in settings between the base and modified configurations.

• IP guided reconfiguration flow using multiple profiles—Create and store the parameter settings between the various configurations or profiles using configuration files. Find out the differences in settings between the various configurations or profiles using configuration files.

• IP guided reconfiguration flow using the embedded streamer—Refer to the control and status register map of the embedded reconfiguration streamer to stream the desired profile settings.

• Reconfiguration flow for special cases—Refer to the lookup registers to be accessed for each special case, such as TX PLL switching, TX PLL reference clock switching, and RX CDR reference clock switching.

5. Place the channels in digital reset either simultaneously or one after another. For details about placing the channel in reset, refer to "Model 1: Default Model" and

"Model 2: Acknowledgment Model" in the Resetting Transceiver Channels chapter.

If you are reconfiguring:

• PLLs—Place the channel transmitter associated with the PLL in reset (digital).

• TX simplex channels—Place the TX channels being reconfigured in reset

(digital).

• RX simplex channels—Place the RX channels being reconfigured in reset

(digital).

• Duplex channels—Place the channel TX and RX being reconfigured in reset

(digital).

Intel ®

516

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

6. If you are reconfiguring across data rates or protocol modes or enabling/disabling

PRBS, place the channels in analog reset. For details about placing the channel in analog reset, refer to "Model 1: Default Model" and "Model 2: Acknowledgment

Model" in the Resetting Transceiver Channels chapter.

If you are reconfiguring:

• PLLs—Place the channel transmitter associated with the PLL in reset (analog).

• TX simplex channels—Place the TX channels being reconfigured in reset

(analog).

• RX simplex channels—Place the RX channels being reconfigured in reset

(analog).

• Duplex channels—Place the channel TX and RX being reconfigured in reset

(analog).

7. Check for internal configuration bus arbitration. If PreSICE has control, request bus arbitration, otherwise go to the next step. For more details, refer to the

"Arbitration" section.

8. Perform the necessary reconfiguration using the flow described in the following sections:

• Direct Reconfiguration Flow

• Native PHY or PLL IP Guided Reconfiguration Flow

• Reconfiguration Flow for Special Cases

9. Perform all necessary reconfiguration. If reconfiguration involved data rate or protocol mode changes, then you may have to reconfigure the PMA analog parameters of the channels. Refer to the Changing PMA Analog Parameters section for more details.

10. If reconfiguration involved data rate or protocol mode change, then request recalibration and wait for the calibration to complete. Calibration is complete when

*_cal_busy

is deasserted. For more details about calibration registers and the steps to perform recalibration, refer to the Calibration chapter.

If you reconfigured:

• PLL for data rate change—you must recalibrate the PLL and the channel TX.

• TX simplex channel for data rate change—you must recalibrate the channel

TX.

• RX simplex channel for data rate change—you must recalibrate the channel

RX.

• Duplex channel for data rate change—you must recalibrate the channel TX and

RX.

11. Release the channel analog resets. For details about placing the channel in reset, refer to "Model 1: Default Model" and "Model 2: Acknowledgment Model" in the

Resetting Transceiver Channels chapter.

Intel ® Arria ® 10 Transceiver PHY User Guide

517

Note:

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

If you reconfigured:

• PLLs—Release the reset (analog) of the channel transmitters associated with the PLL reconfigured.

• TX simplex channels—Release the reset (analog) of the TX channels reconfigured.

• RX simplex channels—Release the reset (analog) of the RX channels reconfigured.

• Duplex channels—Release the reset (analog) of the TX and RX channels reconfigured.

12. Release the channel digital resets either simultaneously or one after another. For details about releasing the channel resets, refer to "Model 1: Default Model" and

"Model 2: Acknowledgment Model" in the Resetting Transceiver Channels chapter.

(The figures in these sections are for analog resets, but they also contain timing information about digital resets.)

If you reconfigured:

• PLLs—Release the reset (digital) of the channel transmitters associated with the PLL reconfigured.

• TX simplex channels—Release the reset (digital) of the TX channels reconfigured.

• RX simplex channels—Release the reset (digital) of the RX channels reconfigured.

• Duplex channels—Release the reset (digital) of the TX and RX channels reconfigured.

You cannot merge multiple reconfiguration interfaces across multiple IP blocks

(merging independent instances of simplex TX/RX into the same physical location or merging separate CMU PLL and TX channel into the same physical location) when you use the optional reconfiguration logic soft control registers.

Related Information

Resetting Transceiver Channels

on page 416

Model 1: Default Model on page 418

Model 2: Acknowledgment Model on page 427

Direct Reconfiguration Flow on page 519

Native PHY IP or PLL IP Core Guided Reconfiguration Flow

on page 519

Reconfiguration Flow for Special Cases

on page 521

Changing PMA Analog Parameters

on page 527

Calibration

on page 567

Arbitration

on page 512

• Arria 10 Transceiver Register Map

Intel ®

518

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

6.9. Direct Reconfiguration Flow

Use this flow to perform dynamic reconfiguration when you know exactly which parameter and value to change for the transceiver channel or PLL. You can use this flow to change the PMA analog settings, enable/disable PRBS generator, and checker hard blocks of the transceiver channel.

To perform dynamic reconfiguration using direct reconfiguration flow:

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Read from the desired feature address.

3. Perform a read-modify-write to feature address with a valid value.

4. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

Related Information

Steps to Perform Dynamic Reconfiguration

on page 516

Changing PMA Analog Parameters

on page 527

Using Data Pattern Generators and Checkers

on page 550

Resetting Transceiver Channels

on page 416

Calibration

on page 567

• Arria 10 Transceiver Register Map

6.10. Native PHY IP or PLL IP Core Guided Reconfiguration Flow

Use the Native PHY IP core or PLL IP core guided reconfiguration flow to perform dynamic reconfiguration when you need to change multiple parameters or parameters in multiple addresses for the transceiver channel or PLL. You can use this flow to change data rates, change clock divider values, or switch from one PCS datapath to another. You must generate the required configuration files for the base and modified

Transceiver Native PHY IP core or PLL IP core configurations.

The configuration files contain addresses and bit values of the corresponding configuration. Compare the differences between the base and modified configuration files. The differences between these files indicate the addresses and bit values that must change to switch from one configuration to another. Perform read-modify-writes for the bit values that are different from the base configuration to obtain the modified configuration.

To perform dynamic reconfiguration using the IP Guided Reconfiguration Flow:

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Perform a read-modify-write to all addresses and bit values that are different from the base configuration.

3. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

Intel ® Arria ® 10 Transceiver PHY User Guide

519

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Note: If reconfiguration involved data rate or protocol mode changes, you may need to reconfigure the PMA analog parameters of the channels. Refer to the Changing PMA

Analog Parameters section for more details.

The bit values that must be changed to obtain the new configuration may span across multiple addresses, such as when switching between Standard, Enhanced, and PCS

Direct data paths. It is difficult to manually compare these values for the base and modified configurations and then build logic to stream the different values in the modified configuration. You can use the multiple profiles feature of the Native PHY/ATX

PLL IP cores to store the parameter settings (MIF configuration file) to memory. With the configuration content saved, you can read from the memory and write the content to the target channel for reconfiguration. Optionally, you can also use the embedded reconfiguration streamer feature of the Native PHY/ATX PLL IP cores, which includes the logic to store the individual profile information and logic to perform streaming.

Using the embedded reconfiguration streamer, you can reduce the number of readmodify-write operations to obtain the modified configuration.

To perform dynamic reconfiguration using the Embedded Reconfiguration Streamer:

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Perform a read-modify-write to address x340 with the desired profile select, broadcast bit (applicable for Native PHY only), and configuration load bit set accordingly. For example, to stream profile 1 to a channel, perform a read-modifywrite to bits x340[2:0] with 3’b001, bit x340[6] with 1’b0 to disable broadcasting, and bit x340[7] with 1’b1 to initiate streaming.

3. Poll the streamer busy bit at address x341 (x341[0]) at regular intervals. When the busy bit is 1’b0, the reconfiguration is complete.

4. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

Note: If reconfiguration involved data rate or protocol mode changes, you may need to reconfigure the PMA analog parameters of the channels. Refer to the Changing PMA

Analog Parameters section for more details.

Figure 272. Timing Diagram for Embedded Streamer Reconfiguration reconfig_clk reconfig_address reconfig_read reconfig_readdata reconfig_waitrequest reconfig_write reconfig_writedata xxx xxx

0x00h

0x340h

0x00h

0x81h

0x341h

0x01h

0x00h

0x01h 0x01h

0x000h

0x00h

0x00h

Streaming Completes;

Streaming Busy Bit Is Low

User Requests

Streaming

User Polls

Streaming

Busy Bit

Streaming in

Progress; Streaming

Busy Bit Is High

Related Information

Arbitration

on page 512

Changing PMA Analog Parameters

on page 527

Steps to Perform Dynamic Reconfiguration

on page 516

Intel ®

520

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Resetting Transceiver Channels

on page 416

Calibration

on page 567

6.11. Reconfiguration Flow for Special Cases

Dynamic reconfiguration can be performed on logical operations such as switching between multiple transmit PLLs or multiple reference clocks. In these cases, configuration files alone cannot be used. Configuration files are generated during IP generation and do not contain information on the placement of PLLs or reference clocks.

To perform dynamic reconfiguration on logical operations, you must use lookup registers that contain information about logical index to physical index mapping.

Lookup registers are read-only registers. Use these lookup registers to perform a read-modify-write to the selection MUXes to switch between PLLs or reference clocks.

To perform dynamic reconfiguration using reconfiguration flow for special cases:

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Read from the desired lookup register. Refer to the Switching Transmitter PLL and

Switching Reference Clocks sections for information about lookup registers.

3. Perform Logical Encoding (only required for Transmitter PLL switching).

4. Perform read-modify-write to the required feature address with the desired/ encoded value.

5. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

Related Information

Steps to Perform Dynamic Reconfiguration

on page 516

Switching Transmitter PLL

on page 521

Switching Reference Clocks

on page 523

Resetting Transceiver Channels

on page 416

Calibration

on page 567

6.11.1. Switching Transmitter PLL

Dynamically switching data rates increases system flexibility to support multiple protocols. You can change the transceiver channel data rate by switching from one transmit PLL to another. To switch between transmit PLLs, you must reconfigure the local CGB MUX select lines of the channel by performing a channel reconfiguration.

You can clock transceiver channels with up to four different transmitter PLLs. You can use the reconfiguration interface on the Native PHY IP core to specify which PLL drives the transceiver channel. The PLL switching method is the same, regardless of the number of transmitter PLLs involved.

Before initiating the PLL switch procedure, ensure that your Transceiver Native PHY instance defines more than one transmitter PLL input. Specify the Number of TX PLL

clock inputs per channel parameter on the TX PMA tab during Transceiver Native

PHY parameterization.

Intel ® Arria ® 10 Transceiver PHY User Guide

521

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

The following table shows the addresses and bits for transmitter PLL switching. The number of exposed tx_serial_clk

bits varies according to the number of transmitter PLLs you specify. Use the Native PHY reconfiguration interface for this operation.

Table 267.

Register Map for Switching Transmitter PLLs

Transceiver Native PHY

Port

Description tx_serial_clk0 tx_serial_clk1 tx_serial_clk2 tx_serial_clk3

N/A

Address Bits

Represents logical

PLL0

. Lookup register x117[3:0] stores the mapping from logical

PLL.

PLL0

to the physical

Represents logical

PLL1

. Lookup register x117[7:4] stores the mapping from logical

PLL.

PLL1

to the physical

Represents logical stores the mapping from logical

PLL.

PLL2

. Lookup register x118[3:0]

PLL2

to the physical

Represents logical

PLL3

. Lookup register x118[7:4] stores the mapping from logical

PLL.

PLL3

to the physical

PLL selection MUX

0x117 (Lookup Register) [3:0]

0x117 (Lookup Register) [7:4]

0x118 (Lookup Register) [3:0]

0x118 (Lookup Register) [7:4]

0x111 [7:0]

When performing a PLL switch, you must specify the lookup register address and bit values you want to switch to. The following procedure describes selection of a specific transmitter PLL when more than one PLL is connected to a channel. To change the data rate of the CDR, follow the detailed steps for reconfiguring channel and PLL blocks. After determining the logical PLL to switch to, follow this procedure to switch to the desired transmitter PLL:

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Read from the appropriate lookup register address (refer to

Table 267 on page

522) and save the required 4-bit pattern. For example, switching to logical

PLL1 requires saving bits [7:4] of address 0x117.

3. Encode the 4-bit value read in the previous step into an 8-bit value according to the following table:

Table 268.

Logical PLL Encoding

4-bit Logical PLL Bits

[3..0]

[7..4]

8-bit Mapping to Address 0x111

{~logical_PLL_offset_readdata[3],

logical_PLL_offset_readdata[1:0],logical_PLL_offset_readdata[3],

logical_PLL_offset_readdata[3:0] }

{~logical_PLL_offset_readdata[7],

logical_PLL_offset_readdata[5:4],logical_PLL_offset_readdata[7],

logical_PLL_offset_readdata[7:4] }

Intel ®

522

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Note: For example, if reconfiguring to logical

PLL1

then bits [7:4] are encoded to an 8-bit value {~bit[7], bit[5:4], bit[7], bit[7:4]}.

4. Perform a read-modify-write to bits[7:0] of address 0x111 using the encoded 8-bit value.

5. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

Related Information

Steps to Perform Dynamic Reconfiguration

on page 516

6.11.2. Switching Reference Clocks

You can dynamically switch the input clock source for the ATX PLL, the fPLL, the CDR, and the CMU.

6.11.2.1. ATX Reference Clock Switching

You can use the reconfiguration interface on the ATX PLL instance to specify which reference clock source drives the ATX PLL. The ATX PLL supports clocking up to five different reference clock sources. The flow to select between the different reference clock sources is independent of the number of transmitter PLLs specified in the

Parameter Editor.

Before initiating a reference clock switch, ensure that your ATX PLL instance defines more than one reference clock source. Specify the Number of PLL reference clocks parameter on the PLL tab during ATX PLL parameterization.

The following table shows the addresses and bits for switching between ATX PLL reference clock inputs. The number of exposed pll_refclk

ports varies according to the number of reference clocks you specify. Use the ATX PLL reconfiguration interface for this operation.

Table 269.

Register Map for Switching ATX PLL Reference Clock Inputs

Transceiver ATX PLL

Port

Description Address pll_refclk0 pll_refclk1 pll_refclk2 pll_refclk3 pll_refclk4

N/A

Represents logical refclk0

. Lookup register x113[7:0]

stores the mapping from logical refclk0

to the physical refclk.

Represents logical refclk1

. Lookup register x114[7:0]

stores the mapping from logical refclk1

to the physical refclk.

Represents logical refclk2

. Lookup register x115[7:0]

stores the mapping from logical refclk2

to the physical refclk.

Represents logical refclk3

. Lookup register x116[7:0]

stores the mapping from logical refclk3

to the physical refclk.

Represents logical refclk4

. Lookup register x117[7:0]

stores the mapping from logical refclk4

to the physical refclk.

ATX refclk selection MUX.

0x113 (Lookup Register) [7:0]

0x114 (Lookup Register) [7:0]

0x115 (Lookup Register) [7:0]

0x116 (Lookup Register) [7:0]

0x117 (Lookup Register) [7:0]

0x112

Bits

[7:0]

Intel ® Arria ® 10 Transceiver PHY User Guide

523

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

When performing a reference clock switch, you must specify the lookup register address and respective bits of the replacement clock. After determining the ATX PLL, follow this procedure to switch to the selected reference clock:

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Read from the lookup register address and save the required 8-bit pattern. For example, switching to logical refclk2

requires use of bits

[7:0]

at address

0x115

.

3. Perform a read-modify-write to bits obtained from the lookup register.

[7:0]

at address

0x112

using the 8-bit value

4. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

Related Information

Steps to Perform Dynamic Reconfiguration

on page 516

6.11.2.2. fPLL Reference Clock Switching

You can use the reconfiguration interface on the fPLL instance to specify which reference clock source drives the fPLL. The fPLL supports clocking by up to five different reference clock sources. The flow to select between the different reference clock sources is independent of the number of transmitter PLLs specified in the reconfiguration interface.

Before initiating a reference clock switch, ensure that your fPLL instance defines more than one reference clock source. Specify the Number of PLL reference clocks parameter on the PLL tab during fPLL parameterization.

The following table shows the addresses and bits for switching between fPLL reference clock inputs. The number of exposed pll_refclk

ports varies according to the number of reference clocks you specify. Use the fPLL reconfiguration interface for this operation.

Table 270.

Register Map for Switching fPLL Reference Clock Inputs

Transceiver fPLL Port pll_refclk0 pll_refclk1 pll_refclk2 pll_refclk3 pll_refclk4

Description

Represents logical register refclk0

for

MUX_0

. Lookup x117[7:0]

stores the mapping from logical refclk0

to the physical refclk for MUX_0.

Represents logical refclk1

for

MUX_0

. Lookup register x118[7:0]

stores the mapping from logical refclk1

to the physical refclk for MUX_0.

Represents logical refclk2

for

MUX_0

. Lookup register x119[7:0]

stores the mapping from logical refclk2

to the physical refclk for MUX_0.

Represents logical refclk3

for

MUX_0

. Lookup register x11A[7:0]

stores the mapping from logical refclk3

to the physical refclk for MUX_0.

Represents logical refclk4

for

MUX_0

. Lookup register x11B[7:0]

stores the mapping from logical refclk4

to the physical refclk for MUX_0.

Address Bits

0x117 (Lookup Register) [7:0]

0x118 (Lookup Register) [7:0]

0x119 (Lookup Register) [7:0]

0x11A (Lookup Register) [7:0]

0x11B (Lookup Register) [7:0] continued...

Intel ®

524

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Transceiver fPLL Port

N/A pll_refclk0 pll_refclk1 pll_refclk2 pll_refclk3 pll_refclk4

N/A

Description fPLL refclk selection

MUX_0

.

Represents logical refclk0

for

MUX_1

. Lookup register x11D[7:0]

stores the mapping from logical refclk0

to the physical refclk for MUX_1.

Represents logical refclk1

for

MUX_1

. Lookup register x11E[7:0]

stores the mapping from logical refclk1

to the physical refclk for MUX_1.

Represents logical refclk2

for

MUX_1

. Lookup register x11F[7:0]

stores the mapping from logical refclk2

to the physical refclk for MUX_1.

Represents logical refclk3

for

MUX_1

. Lookup register x120[7:0]

stores the mapping from logical refclk3

to the physical refclk for MUX_1.

Represents logical refclk4

for

MUX_1

. Lookup register x121[7:0]

stores the mapping from logical refclk4

to the physical refclk for MUX_1.

fPLL refclk selection

MUX_1

.

0x114

Address Bits

[7:0]

0x11D (Lookup Register) [7:0]

0x11E (Lookup Register) [7:0]

0x11F (Lookup Register) [7:0]

0x120 (Lookup Register) [7:0]

0x121 (Lookup Register) [7:0]

0x11C [7:0]

Specify the logical reference clock and respective address and bits of the replacement clock when performing a reference clock switch. Follow this procedure to switch to the selected reference clock:

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Read from the lookup register for MUX 0 and save the required 8-bit pattern. For example, switching to logical refclk3

requires use of bits[7:0] at lookup register

0x11A.

3. Perform a read-modify-write to bits [7:0] at address 0x114 using the 8-bit value obtained from the lookup register.

4. Read from the lookup register for MUX 1 and save the required 8-bit pattern. For example, switching to logical

0x120.

refclk3

requires use of bits[7:0] at lookup register

5. Perform a read-modify-write to bits [7:0] at address 0x11C using the 8-bit value obtained from the lookup register.

6. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

Example 1:

Switching from pll_refclk0

to pll_refclk1 both fPLL refclk selection MUX_0 and MUX_1:

, you need to read-modify-write to

1. Modify MUX_0 value:

• Read from 0x118[7:0]

• Write the value from 0x118 [7:0] to 0x114 [7:0]

2. Modify MUX_1 value:

• Read from 0x11E [7:0]

• Write the value read from 0x11E [7:0] to 0x11C [7:0]

Intel ® Arria ® 10 Transceiver PHY User Guide

525

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Example 2:

Switching from pll_refclk2

to pll_refclk3

, you need to read-modify-write to both fPLL refclk selection MUX_0 and MUX_1:

1. Modify MUX_0 value:

• Read from 0x11A [7:0]

• Write the value read from 0x11A [7:0] to 0x114 [7:0]

2. Modify MUX_1 value:

• Read from 0x120 [7:0]

• Write the value read from 0x120 [7:0] to 0x11C [7:0]

Related Information

Steps to Perform Dynamic Reconfiguration

on page 516

6.11.2.3. CDR and CMU Reference Clock Switching

You can use the reconfiguration interface to specify which reference clock source drives the CDR and CMU PLL. The CDR and CMU support clocking by up to five different reference clock sources.

Before initiating a reference clock switch, ensure that your CDR and CMU defines more than one reference clock source. For the CDR, specify the parameter on the RX PMA tab during the Native PHY IP parameterization. For the CMU, specify the Number of

PLL reference clocks under the PLL tab when parameterizing the CMU PLL.

The following table describes the addresses and bits for switching CDR and CMU reference clock inputs. The number of exposed rx_cdr_refclk

(CDR) or pll_refclk

(CMU) varies according to the number of reference clocks you specify.

Use the CMU reconfiguration interface for switching the CMU reference clock.

Table 271.

Register Map for Switching CDR Reference Clock Inputs

Native PHY Port cdr_refclk0 cdr_refclk1 cdr_refclk2

Description

Represents logical refclk0

.

Lookup register x16A[7:0] stores the mapping from logical refclk0

to the physical refclk.

Represents logical refclk1

.

Lookup register x16B[7:0] stores the mapping from logical refclk1

to the physical refclk.

Represents logical refclk2

.

Lookup register x16C[7:0] stores the mapping from logical refclk2

to the physical refclk.

Address

0x16A (Lookup Register)

0x16B (Lookup Register)

0x16C (Lookup Register)

[7:0]

Bits

[7:0]

[7:0] continued...

Intel ®

526

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Native PHY Port cdr_refclk3 cdr_refclk4

N/A

Description

Represents logical refclk3

.

Lookup register x16D[7:0] stores the mapping from logical refclk3

to the physical refclk.

Represents logical refclk4

.

Lookup register x16E[7:0] stores the mapping from logical refclk4

to the physical refclk.

CDR refclk selection MUX.

Address

0x16D (Lookup Register)

0x16E (Lookup Register)

0x141

[7:0]

Bits

[7:0]

[7:0]

When performing a reference clock switch, note the logical reference clock to switch to and the respective address and bits. After determining the logical reference clock, follow this procedure to switch to the selected CDR reference clock:

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Read from the lookup register and save the required 8-bit pattern. For example, switching to logical refclk3

requires saving bits

[7:0]

at address

0x16D

.

3. Perform a read-modify-write to bits

[7:0]

at address

0x141

using the 8-bit value obtained from the lookup register.

4. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

Related Information

Steps to Perform Dynamic Reconfiguration

on page 516

6.12. Changing PMA Analog Parameters

You can use the reconfiguration interface on the Transceiver Native PHY IP core to change the value of PMA analog features.

Intel ® Arria ® 10 Transceiver PHY User Guide

527

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

The PMA analog settings can be broadly divided into the following groups:

• PMA analog settings that are channel or system dependent:

— These settings may vary from channel to channel based on channel loss or other factors

— You can set these PMA analog settings based on IBIS-AMI or Advanced Link

Analyzer simulations

— You can set these PMA analog settings using QSF assignments or by performing RMWs to the respective registers

— These PMA analog settings are not included in the configuration files by default. To include these PMA analog settings in the configuration files, you must enable the Include PMA Analog settings in configuration files option in the Dynamic Reconfirmation tab of the Transceiver Native PHY IP

Parameter Editor. Enabling this feature adds the PMA analog settings specified in the Analog PMA settings (Optional) tab of the Native PHY IP Parameter

Editor to the configuration files. Even with this option enabled in the Native

PHY IP Parameter Editor, you must still specify QSF assignments for your analog settings when compiling your static design. The analog settings selected in the Native PHY IP Parameter Editor are used only to include these settings and their dependent settings in the selected configuration files. For details about optional analog settings, refer to the "Analog PMA Settings

(Optional) for Dynamic Reconfiguration" table in the Ports and Parameters section. For details about QSF assignments for the analog settings, refer to the

Analog Parameter Settings chapter.

— If you do not enable the Include PMA Analog settings in configuration

files option, then you can change these analog settings by performing RMWs using direct reconfiguration flow

Table 272.

PMA Analog Settings that are Channel or System Dependent

PMA Analog Feature

VOD

Pre-emphasis

CTLE

VGA

Fitter Report Name vod_output_swing_ctrl pre_emp_sign_1st_post_tap pre_emp_sign_2nd_post_tap pre_emp_sign_pre_tap_1t pre_emp_sign_pre_tap_2t pre_emp_switching_ctrl_1st_post_tap pre_emp_switching_ctrl_2nd_post_tap pre_emp_switching_ctrl_pre_tap_1t pre_emp_switching_ctrl_pre_tap_2t eq_dc_gain_trim one_stage_enable eq_bw_sel adp_ctle_eqz_1s_sel adp_ctle_acgain_4s adp_vga_sel

Arria 10 Transceiver Register Map Attribute

Name vod_output_swing_ctrl pre_emp_sign_1st_post_tap pre_emp_sign_2nd_post_tap pre_emp_sign_pre_tap_1t pre_emp_sign_pre_tap_2t pre_emp_switching_ctrl_1st_post_tap pre_emp_switching_ctrl_2nd_post_tap pre_emp_switching_ctrl_pre_tap_1t pre_emp_switching_ctrl_pre_tap_2t eq_dc_gain_trim one_stage_enable eq_bw_sel adp_ctle_eqz_1s_sel adp_ctle_acgain_4s adp_vga_sel

Intel ®

528

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

• PMA analog settings that are device dependent

— These settings may vary for each transceiver protocol-type and data rate in your design

— These settings are not included in the configuration files by default. To include these analog settings in the configuration files, you must enable the feature

Include PMA Analog settings in configuration files under the Dynamic

Reconfiguration tab of the Transceiver Native PHY IP Parameter Editor.

Enabling this feature adds the PMA analog settings specified in the Analog

PMA settings (Optional) tab of Native PHY IP Parameter Editor to the configuration files. Even with this option enabled in the Native PHY IP

Parameter Editor, you must still specify QSF assignments for your analog settings when compiling your static design. The analog settings selected in the

Native PHY IP Parameter Editor are used only to include these settings and their dependent settings in the selected configuration files. For details about optional analog settings, refer to the "Analog PMA Settings (Optional) for

Dynamic Reconfiguration" table in the Ports and Parameters section. For details about QSF assignments for the analog settings, refer to the Analog

Parameter Settings chapter.

— If the Include PMA analog settings in configuration files option is disabled, then you must set these PMA analog settings. In addition to streaming the configuration files generated by the Native PHY IP Parameter

Editor, you must perform RMWs using Direct Reconfiguration Flow to change these PMA analog settings through the Avalon-MM reconfiguration interface

— The values of all these PMA analog settings that change when changing protocol-type or data rates must be obtained from the respective Fitter reports by performing full compilation for each of the base and target configurations

— For example, when changing the data rate from A to B, you must first perform a full compile with the data rate configured to A and note the PMA analog settings from the fitter report. Next, you must perform a full compile with data rate configured to B and note the PMA analog settings from the fitter report. If any of these PMA analog settings changed values between the two compiles, you must perform RMWs with the target values to the respective registers after streaming the configuration files.

— Examples: Slew rate, Equalizer Bandwidth, Compensation Enable

Table 273.

PMA Analog Settings that are Device Dependent

PMA Analog Feature

Slew Rate (TX Buffer)

Equalizer Bandwidth

(RX Buffer)

Compensation Enable

(TX Buffer)

One Stage Enable (RX

CTLE)

Fitter Report Name

Slew_rate_ctrl

Eq_bw_sel

Compensation_en

One_stage_enable

Arria 10 Transceiver Register Map Attribute

Name

Slew_rate_ctrl

Eq_bw_sel

Compensation_en

One_stage_enable

Related Information

Ports and Parameters

on page 535

Analog Parameter Settings on page 585

Intel ® Arria ® 10 Transceiver PHY User Guide

529

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

6.12.1. Changing VOD, Pre-emphasis Using Direct Reconfiguration Flow

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Read from the PMA analog feature address of the channel you want to change. For example, to change pre-emphasis 1st post-tap, read and store the value of address 0x105.

3. Select a valid value for the feature according to the Arria 10 register map. For example, a valid setting for pre-emphasis 1st post-tap has a bit encoding of

5'b00001.

4. Perform a read-modify-write to the address of the PMA analog feature using the valid value. For example, to change the pre-emphasis 1st post-tap, write 5'b00001 to address 0x105.

5. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

Table 274.

Register Map for PMA Analog Feature

PMA Analog Feature

Pre-emphasis 1st post-tap

Pre-emphasis 1st post-tap polarity

Address

0x105

0x105

Pre-emphasis 2nd post-tap

Pre-emphasis 2nd post-tap polarity

Pre-emphasis 1st pre-tap

Pre-emphasis 1st pre-tap polarity

Pre-emphasis 2nd pre-tap

Pre-emphasis 2nd pre-tap polarity

Differential output voltage (V

OD

)

0x106

0x106

0x107

0x107

0x108

0x108

0x109

[4:0]

[6]

Bit

[3:0]

[5]

[4:0]

[5]

[2:0]

[4]

[4:0]

Values

5'b00000 - 5'b11001

1'b0 = positive

1'b1 = negative

4'b0000 - 4'b1100

1'b0 = positive

1'b1 = negative

5'b00000 - 5'b10000

1'b0 = positive

1'b1 = negative

3'b000 - 3'b111

1'b0 = positive

1'b1 = negative

5'b00000 - 5'b11111

The PMA analog settings are governed by a set of rules. Not all combinations of V

OD and pre-emphasis are valid. Please refer to Arria 10 Pre-Emphasis and Output Swing

Settings for current valid settings. Also, refer to "Analog Parameter Settings" and setup guidelines on post_tap polarity settings.

Related Information

Steps to Perform Dynamic Reconfiguration

on page 516

Arria 10 PMA Architecture on page 447

• Arria 10 Pre-Emphasis and Output Swing Settings

Intel ®

530

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

6.12.2. Changing CTLE Settings in Manual Mode Using Direct

Reconfiguration Flow

You can use the reconfiguration interface on the Transceiver Native PHY IP core to change the CTLE settings in manual mode.

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Read from the CTLE feature address of the channel you want to change. For example, to change CTLE AC gain in high gain mode, read and store the value of address 0x167[5:1].

3. Select a valid value for the feature according to the Arria 10 register map. For example, a valid setting for CTLE AC Gain has a bit encoding of 5’b00000.

4. Perform a read-modify-write to the address of the CTLE feature using the valid value. For example, to change the CTLE AC gain in high gain mode, write

5’b00000 to address 0x167[5:1].

5. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

Table 275.

Register Map for CTLE Settings

CTLE Feature

One Stage Enable

DC Gain

CTLE AC Gain One

Stage

Address

0x11B

0x11C,

0x11A

0x166

[3]

Bits Values

1’b0- Selects Four Stage

1’b1- Selects One Stage

[3:0], [7:0] 12’b000000000000

12’b111000000000

12’b111111000000

12’b111111111000

12’b111111111111

[4:1] 4’b0000- 4’b1111

CTLE AC Gain Four

Stage

VGA SEL

0x167

0x160

[5:1]

[3:1]

5’b00000 – 5’b11100

3’b000 – 3’b111

Description

Selects the equalizer path as either

One Stage or Four Stage mode.

Sets the DC gain values. This register can only be controlled when in Four stage mode.

Sets the AC gain value when one stage mode (High data rate mode) is selected. A higher value means higher peaking by suppressing DC gain.

Sets the AC gain value when four stage mode (High gain mode) is selected.

Sets the VGA Gain value

Related Information

Steps to Perform Dynamic Reconfiguration

on page 516

Arria 10 PMA Architecture on page 447

6.12.3. CTLE Settings in Triggered Adaptation Mode

CTLE triggered adaptation mode should only be used for PCIe Gen3. Refer to the section "How to enable CTLE and DFE" in Chapter Arria 10 Transceiver PHY

Architecture of Arria 10 Transceiver PHY User Guide for details on using the triggered adaptation mode of CTLE.

User need to change the register bit settings accordingly when moving from PCIe

Gen1/2 (CTLE manual, DFE disabled) to PCIe Gen3 (CTLE triggered, DFE disabled) or

vice versa. Refer to Table 276

on page 532 for the difference in register bit settings

Intel ® Arria ® 10 Transceiver PHY User Guide

531

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

when moving from CTLE manual, DFE disabled to CTLE triggered, DFE disabled. User need to perform read modify writes to all the register bits that differ through dynamic reconfiguration (AVMM) interface.

Table 276.

Register Map for CTLE triggered and CTLE manual settings

Register Address Register Bit

0x123

0x148

0x14B

0x15B

0x15B

0x15E

0x160

0x166

0x167

0x163

0x14D

0x124

0x11F

1:1

2:2

3:3

0:0

1:1

2:2

3:3

4:4

7:7

4:4

0:0

2:2

0:0

0:0

0:0

0:0

7:5

2:0

5:5

5:4

Description

Enable Adaptation Slicers

Enable DFE Fix Tap 8 to 11

Enable DFE Fix Tap 4 to 7

Enable DFE Fix TAP 1 to 7 Adaptation

Enable DFE Fix TAP 8 to 11 Adaptation

Enable VREF Adaptation

Enable VGA Adaptation

Enable CTLE Adaptation

Enable CTLE Adaptation

Enable CTLE Adaptation

Bypass DFE Fix TAP 1 to 7 Adaptation

Bypass DFE Fix TAP 8 to 11 Adaptation

Bypass VREF Adaptations

Bypass VGA Adaptations

Bypass Single Stage CTLE

Bypass 4 Stage CTLE

CTLE Adaptation Timer Window

DFE Adaptation Mode

Enable DFT

Eq_bw_sel

Value

CTLE Triggered, DFE

Disabled

1'b1

CTLE Manual, DFE

Disabled

1'b0

1'b0

1'b0

1'b0

1'b0

1'b1

1'b1

1'b1

1'b1

1'b1

1'b0

1'b0

1'b0

1'b0

1'b0

1'b1

1'b1

1'b0 1'b1

1'b1

1'b0

1'b0

1'b1

1'b1

3'b111

3'b100 3'b111

1'b1

2'b01 (Gen3) 2'b00 (Gen1/2)

Refer to the "Arria 10 Register Map" and "Arria 10 Adaptation Tool" for details on adaptation registers.

Related Information

How to Enable CTLE and DFE

on page 456

Arria 10 Transceiver Register Map

on page 564

Intel ®

532

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

6.12.4. Enabling and Disabling Loopback Modes Using Direct

Reconfiguration Flow

Arria 10 devices have three loopback modes:

• Serial Loopback

• Reverse Serial Loopback (Pre-CDR)

• Reverse Serial Loopback (Post-CDR)

The loopback mode can be dynamically reconfigured by accessing the register space.

Serial Loopback Mode

In serial loopback mode, a path exists between the serializer of the transmitter and the CDR of the receiver, so that the data from the CDR is recovered from the serializer while the data from the receiver serial input pin is ignored. You can enable or disable this mode.

Figure 273. Serial Loopback Mode

Transmitter

PCS PMA

Serializer

Serial Loopback

Receiver

PCS PMA

Deserializer CDR

To enable serial loopback mode:

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Perform a read-modify-write to address 0x2E1 to set bit 0 to 1’b1

3. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

To disable serial loopback mode:

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Perform a read-modify-write to address 0x2E1 to set bit 0 to 1’b0

3. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

You can also enable the serial loopback mode by turning on Enable rx_seriallpbken

port in the Native PHY IP Parameter Editor and driving the port to 1’b1.

Intel ® Arria ® 10 Transceiver PHY User Guide

533

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Reverse Serial Loopback Mode (Pre-CDR)

In the pre-CDR mode, data received through the RX input buffer is looped back to the

TX output buffer. You can enable the reverse serial loopback mode by performing read-modify-write to the following registers.

Figure 274. Reverse Serial Loopback Mode (Pre-CDR)

Transmitter

PCS PMA

Serializer

Receiver

PCS

Pre-CDR Reverse

Serial Loopback

PMA

Deserializer CDR

Table 277.

Bit Values to Be Set

Address

0x137[7]

0x13C[7]

0x132[5:4]

0x142[4]

0x11D[0]

Bit Values

1’b1

1’b0

2’b00

1’b1

1’b1

Reverse Serial Loopback Mode (Post-CDR)

In the post-CDR mode, received data passes through the RX CDR and then loops back to the TX output buffer. Perform read-modify-write to the following registers to enable this mode.

Figure 275. Reverse Serial Loopback Mode (Post-CDR)

Transmitter

PCS PMA

Serializer

Receiver

PCS PMA

Post-CDR Reverse

Serial Loopback

Deserializer CDR

Intel ®

534

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Table 278.

Bit Values to Be Set

Address

0x137[7]

0x13C[7]

0x132[5:4]

0x142[4]

0x11D[0]

Disabling Reverse Serial Loopback Mode (Pre-CDR and Post-CDR)

To disable reverse-serial loopback mode, set the address bits to the following values, by performing read-modify-write.

Table 279.

Bit Values to Be Set

Address

0x137[7]

0x13C[7]

0x132[5:4]

0x142[4]

0x11D[0]

Bit Values

1’b0

1’b0

2’b00

1’b0

1’b0

Related Information

Steps to Perform Dynamic Reconfiguration

on page 516

Bit Values

1’b0

1’b1

2’b01

1’b0

1’b0

6.13. Ports and Parameters

The reconfiguration interface is integrated in the Native PHY instance and the TX PLL instances. Instantiate the Native PHY and the TX PLL IP cores in Qsys by clicking

Tools

IP Catalog. You can define parameters for IP cores by using the IP corespecific parameter editor. To expose the reconfiguration interface ports, select the

Enable dynamic reconfiguration option when parameterizing the IP core.

You can share the reconfiguration interface among all the channels by turning on

Share reconfiguration interface when parameterizing the IP core. When this option is enabled, the IP core presents a single reconfiguration interface for dynamic reconfiguration of all channels. Address bits [9:0] provide the register address in the reconfiguration space of the selected channel. The remaining address bits of the reconfiguration address specify the selected logical channel. For example, if there are four channels in the Native PHY IP instance, reconfig_address[9:0]

specifies the address and reconfig_address[11:10]

are binary encoded to specify the four channels. For example, 2'b01 in reconfig_address[11:10]

specifies logical channel 1.

The following figure shows the signals available when the Native PHY IP core is configured for four channels and the Share reconfiguration interface option is enabled.

Intel ® Arria ® 10 Transceiver PHY User Guide

535

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Figure 276. Signals Available with Shared Native PHY Reconfiguration Interface reconfig_clk reconfig_reset reconfig_write reconfig_read reconfig_address[11:0] reconfig_writedata[31:0] reconfig_readdata[31:0] reconfig_waitrequest

Native PHY IP Core clk reset write read address writedata readdata waitrequest

Table 280.

Reconfiguration Interface Ports with Shared Native PHY Reconfiguration

Interface

The reconfiguration interface ports when Share reconfiguration interface is enabled. <N> represents the number of channels.

Port Name reconfig_clk reconfig_reset reconfig_write reconfig_read reconfig_address[log2<N>+9:0] reconfig_writedata[31:0] reconfig_readdata[31:0] reconfig_waitrequest

Direction

Input

Input

Input

Input

Input

Input

Output

Output

Clock Domain

N/A

Description

Avalon clock. The clock frequency is 100-125

MHz.

reconfig_clk

Resets the Avalon interface. Asynchronous to assertion and synchronous to deassertion.

reconfig_clk

Write enable signal. Signal is active high.

reconfig_clk

Read enable signal. Signal is active high.

reconfig_clk

Address bus. The lower 10 bits specify address and the upper bits specify the channel.

reconfig_clk

A 32-bit data write bus. Data to be written into the address indicated by reconfig_address

.

reconfig_clk

A 32-bit data read bus. Valid data is placed on this bus after a read operation. Signal is valid after reconfig_waitrequest then low.

goes high and reconfig_clk

A one-bit signal that indicates the Avalon interface is busy. Keep the Avalon command asserted until the interface is ready to proceed with the read/write transfer. The behavior of this signal depends on whether the feature

Separate reconfig_waitrequest from the status of AVMM arbitration with PreSICE is enabled or not. For more details, refer to the Arbitration section.

When Share reconfiguration interface is off, the Native PHY IP core provides an independent reconfiguration interface for each channel. For example, when a reconfiguration interface is not shared for a four-channel Native PHY IP instance, reconfig_address[9:0]

corresponds to the reconfiguration address bus of logical channel 0, reconfig_address[19:10]

correspond to the reconfiguration address bus of logical channel 1, reconfig_address[29:20]

corresponds to the reconfiguration address bus of logical channel 2, and reconfig_address[39:30] correspond to the reconfiguration address bus of logical channel 3.

Intel ®

536

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

The following figure shows the signals available when the Native PHY is configured for four channels and the Share reconfiguration interface option is not enabled.

Figure 277. Signals Available with Independent Native PHY Reconfiguration Interfaces reconfig_clk[3:0] reconfig_reset[3:0] reconfig_write[3:0] reconfig_read[3:0] reconfig_address[39:0] reconfig_writedata[127:0] reconfig_readdata[127:0] reconfig_waitrequest[3:0]

Native PHY IP Core clk reset write read address writedata readdata waitrequest

Table 281.

Reconfiguration Interface Ports with Independent Native PHY

Reconfiguration Interfaces

The reconfiguration interface ports when Share reconfiguration interface is disabled. <N> represents the number of channels.

Port Name reconfig_clk[N-1:0] reconfig_reset[N-1:0] reconfig_write[N-1:0] reconfig_read[N-1:0] reconfig_address[N*10-1:0] reconfig_writedata[N*32-1:0] reconfig_readdata[N*32-1:0] reconfig_waitrequest[N-1:0]

Direction

Input

Input

Input

Input

Input

Input

Output

Output

Clock Domain

N/A

Description

Avalon clock for each channel. The clock frequency is 100-125 MHz.

reconfig_clk

Resets the Avalon interface for each channel.

Asynchronous to assertion and synchronous to deassertion.

reconfig_clk

Write enable signal for each channel. Signal is active high.

reconfig_clk

Read enable signal for each channel. Signal is active high.

reconfig_clk

A 10-bit address bus for each channel.

reconfig_clk

A 32-bit data write bus for each channel. Data to be written into the address indicated by the corresponding address field in reconfig_address

.

reconfig_clk

A 32-bit data read bus for each channel. Valid data is placed on this bus after a read operation. Signal is valid after goes high and then low.

waitrequest reconfig_clk

A one-bit signal for each channel that indicates the Avalon interface is busy. Keep the Avalon command asserted until the interface is ready to proceed with the read/ write transfer. The behavior of this signal depends on whether the feature Separate reconfig_waitrequest from the status of

AVMM arbitration with PreSICE is enabled or not. For more details, refer to the

Arbitration section.

Intel ® Arria ® 10 Transceiver PHY User Guide

537

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Table 282.

Avalon Interface Parameters

The following parameters are available in the Dynamic Reconfiguration tab of the Transceiver Native PHY and TX PLL parameter editors.

Note: The Native PHY and the PLL IP Parameter Editors give an error or warning message if any of the parameter selections violate the legality checks.

Parameter

Enable dynamic reconfiguration

Share reconfiguration interface

Enable Altera Debug Master

Endpoint

Separate reconfig_waitrequest from the status of AVMM arbitration with PreSICE

Enable capability registers

Set user-defined IP identifier

Enable control and status registers

Enable PRBS soft accumulators

Configuration file prefix

Generate SystemVerilog package file

Generate C header file

Value

On / Off

On / Off

On / Off

Description

Available in Native PHY and TX PLL IP parameter editors. Enables the reconfiguration interface. Off by default. The reconfiguration interface is exposed when this option is enabled.

Available in Native PHY IP parameter editor only. Enables you to use a single reconfiguration interface to control all channels. Off by default. If enabled, the uppermost bits of reconfig_address identifies the active channel. The lower 10 bits specify the reconfiguration address. Binary encoding is used to identify the active channel (available only for Transceiver Native PHY). Enable this option if the Native PHY is configured with more than one channel.

Available in Native PHY and TX PLL IP parameter editors. When enabled, the Altera Debug Master Endpoint (ADME) is instantiated and has access to the Avalon-MM interface of the Native PHY. You can access certain test and debug functions using System Console with the ADME. Refer to the Embedded Debug Features section for more details about ADME.

On / Off

On / Off

When enabled, reconfig_waitrequest

do not indicate the status of AVMM arbitration with PreSICE. The AVMM arbitration status is reflected in a soft status register bit. This feature requires that the Enable control and status registers feature under Optional Reconfiguration Logic be enabled. Refer to

Arbitration for more details on this feature. Refer to the

Calibration chapter for more details about calibration.

Available in Native PHY and TX PLL IP parameter editors. Enables capability registers. These registers provide high-level information about the transceiver channel's /PLL's configuration.

User-specified Available in Native PHY and TX PLL IP parameter editors. Sets a user-defined numeric identifier that can be read from the user_identifier

offset when the capability registers are enabled.

On / Off

On / Off

Available in Native PHY and TX PLL IP parameter editors. Enables soft registers for reading status signals and writing control signals on the PHY /PLL interface through the ADME or reconfiguration interface.

Available in Native PHY IP parameter editor only. Enables soft logic to perform PRBS bit and error accumulation when using the hard PRBS generator and checker.

User-specified Available in Native PHY and TX PLL IP parameter editors. Specifies the file prefix used for generating configuration files. Use a unique prefix for configuration files for each variant of the Native PHY and PLL.

On / Off Available in Native PHY and TX PLL IP parameter editors. Creates a SystemVerilog package file that contains the current configuration data values for all reconfiguration addresses.

Disabled by default.

On / Off Available in Native PHY and TX PLL IP parameter editors. Creates a C header file that contains the current configuration data values for all reconfiguration addresses. Disabled by default.

continued...

Intel ®

538

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Parameter

Generate MIF (Memory Initialize

File)

Value

On / Off

Include PMA analog settings in the configuration files

On / Off

Enable multiple reconfiguration profiles

Enable embedded reconfiguration streamer

Generate reduced reconfiguration files

Number of reconfiguration profiles

Selected reconfiguration profile

Store configuration to selected profile

Load configuration from selected profile

Clear selected profile

Clear all profiles

Refresh selected_profile

On / Off

On / Off

On / Off

1 to 8

0 to 7

N/A

N/A

N/A

N/A

N/A

Description

Available in Native PHY and TX PLL IP parameter editors. Creates a MIF file that contains the current configuration data values for all reconfiguration addresses. Disabled by default.

Available in Native PHY IP parameter editor only. When enabled, the IP allows you to configure the analog settings for the PMA.

These settings are included in your generated configuration files.

Note: Even with this option enabled in the Native PHY IP

Parameter Editor, you must still specify QSF assignments for your analog settings when compiling your static design. The analog settings selected in the Native PHY IP

Parameter Editor are used only to include these settings and their dependent settings in the selected configuration files. For details about QSF assignments for the analog settings, refer to the Analog Parameter Settings chapter.

Available in Native PHY and ATX PLL IP parameter editors only.

Use the Parameter Editor to store multiple configurations. The parameter settings for each profile are tabulated in the Parameter

Editor.

Available in Native PHY and ATX PLL IP parameter editors only.

Embeds the reconfiguration streamer into the Native PHY/ATX PLL

IP cores and automates the dynamic reconfiguration process between multiple predefined configuration profiles.

Available in Native PHY and ATX PLLIP parameter editors only.

Enables the Native PHY and ATX PLL IP cores to generate reconfiguration files that contain only the attributes that differ between multiple profiles.

Available in Native PHY and ATX PLL IP parameter editors only.

Specifies the number of reconfiguration profiles to support when multiple reconfiguration profiles are enabled.

Available in Native PHY and ATX PLL IP parameter editors only.

Selects which reconfiguration profile to store when you click

Store profile.

Available in Native PHY and ATX PLL IP parameter editors only.

Stores the current Native PHY and ATX PLL parameter settings to the profile specified by the Selected reconfiguration profile parameter.

Available in Native PHY and ATX PLL IP parameter editors only.

Loads the current Native PHY/ATX PLL IP with parameter settings from the stored profile specified by the Selected

reconfiguration profile parameter.

Available in Native PHY and ATX PLL IP parameter editors only.

Clears the stored Native PHY/ATX PLL IP parameter settings for the profile specified by the Selected reconfiguration profile parameter. An empty profile defaults to the current parameter settings of the Native PHY/ATX PLL. In other words, an empty profile reflects the Native PHY/ATX PLL current parameter settings.

Available in Native PHY and ATX PLL IP parameter editors only.

Clears the Native PHY/ATX PLL IP parameter settings for all the profiles.

Available in Native PHY and ATX PLL IP parameter editors only.

Equivalent to clicking the Load configuration from selected

profile and Store configuration to selected profile buttons in sequence. This operation loads the parameter settings from stored profile specified by the Selected reconfiguration profile parameter and then stores the parameters back to the profile.

Intel ® Arria ® 10 Transceiver PHY User Guide

539

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Table 283.

Analog PMA Settings (Optional) for Dynamic Reconfiguration

The following parameters are available in the Analog PMA Settings (Optional) tab of the Transceiver Native

PHY parameter editor. Refer to Changing PMA Analog Parameters for more details. Refer to the Analog

Parameter Settings chapter for details about using the QSF assignments.

Value Description Parameter

TX Analog PMA Settings

Analog Mode (Load Intelrecommended Default settings)

cei_11100_lr to xfp_9950

Override Intel-recommended

Analog Mode Default settings

Output Swing Level (VOD)

On / Off

0-31

Selects the analog protocol mode to pre-select the TX pin swing settings (VOD, Pre-emphasis, and Slew Rate). After loading the pre-selected values in the Parameter Editor, if one or more of the individual TX pin swing settings need to be changed, then enable the option to override the Intelrecommended defaults to individually modify the settings.

For details about QSF assignments for the analog settings, refer to the Analog Parameter Settings chapter.

Enables the option to override the Intel-recommended settings for the selected TX Analog Mode for one or more TX analog parameters.

Selects the transmitter programmable output differential voltage swing.

Selects the polarity of the first pre-tap for pre-emphasis.

Pre-Emphasis First Pre-Tap

Polarity

Pre-Emphasis First Pre-Tap

Magnitude

Pre-Emphasis Second Pre-Tap

Polarity

Pre-Emphasis Second Pre-Tap

Magnitude

Pre-Emphasis First Post-Tap

Polarity

Pre-Emphasis First Post-Tap

Magnitude

Pre-Emphasis Second Post-

Tap Polarity

Pre-Emphasis Second Post-

Tap Magnitude

Slew Rate Control

High-Speed Compensation

Fir_pre_1t_neg,

Fir_pre_1t_pos

0-16

Fir_pre_2t_neg,

Fir_pre_2t_pos

0-7

Fir_post_1t_neg,

Fir_post_1t_pos

0-25

Fir_post_2t_neg,

Fir_post_2t_pos

0-12 slew_r0 to slew_r5

Enable / Disable r_r1, r_r2

Selects the magnitude of the first pre-tap for pre-emphasis.

Selects the polarity of the second pre-tap for pre-emphasis.

Selects the magnitude of the second pre-tap for preemphasis.

Selects the polarity of the first post-tap for pre-emphasis.

Selects the magnitude of the first post-tap for preemphasis.

Selects the polarity of the second post-tap for preemphasis.

Selects the magnitude of the second post-tap for preemphasis.

Selects the slew rate of the TX output signal. Valid values span from slowest to the fastest rate.

Enables the power-distribution network (PDN) induced intersymbol interference (ISI) compensation in the TX driver.

When enabled, it reduces the PDN induced ISI jitter, but increases the power consumption.

Selects the on-chip TX differential termination.

On-Chip termination

RX Analog PMA settings

Override Intel-recommended

Default settings

On / Off

CTLE (Continuous Time Linear

Equalizer) mode non_s1_mode, s1_mode

Enables the option to override the Intel-recommended settings for one or more RX analog parameters. For details about QSF assignments for the analog settings, refer to the

Analog Parameter Settings chapter.

Selects between the RX high gain mode (non_s1_mode) or

RX high data rate mode (s1_mode) for the Continuous Time

Linear Equalizer (CTLE).

continued...

Intel ®

540

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Parameter

DC gain control of high gain mode CTLE

AC Gain Control of High Gain

Mode CTLE

AC Gain Control of High Data

Rate Mode CTLE

Variable Gain Amplifier (VGA)

Voltage Swing Select

Decision Feedback Equalizer

(DFE) Fixed Tap 1 Coefficient

Decision Feedback Equalizer

(DFE) Fixed Tap 2 Coefficient

Decision Feedback Equalizer

(DFE) Fixed Tap 3 Coefficient

Decision Feedback Equalizer

(DFE) Fixed Tap 4 Coefficient

Decision Feedback Equalizer

(DFE) Fixed Tap 5 Coefficient

Decision Feedback Equalizer

(DFE) Fixed Tap 6 Coefficient

Decision Feedback Equalizer

(DFE) Fixed Tap 7 Coefficient

Decision Feedback Equalizer

(DFE) Fixed Tap 8 Coefficient

Decision Feedback Equalizer

(DFE) Fixed Tap 9 Coefficient

Decision Feedback Equalizer

(DFE) Fixed Tap 10 Coefficient

Decision Feedback Equalizer

(DFE) Fixed Tap 11 Coefficient

On-Chip termination radp_dfe_fxtap1_0 to radp_dfe_fxtap1_127 radp_dfe_fxtap2_0 to radp_dfe_fxtap2_127 radp_dfe_fxtap3_0 to radp_dfe_fxtap3_127 radp_dfe_fxtap4_0 to radp_dfe_fxtap4_63 radp_dfe_fxtap5_0 to radp_dfe_fxtap5_63 radp_dfe_fxtap6_0 to radp_dfe_fxtap6_31 radp_dfe_fxtap7_0 to radp_dfe_fxtap7_31 radp_dfe_fxtap8_0 to radp_dfe_fxtap8_31 radp_dfe_fxtap9_0 to radp_dfe_fxtap9_31 radp_dfe_fxtap10_0 to radp_dfe_fxtap10_31 radp_dfe_fxtap11_0 to radp_dfe_fxtap11_31 r_ext0, r_r1, r_r2

Value no_dc_gain to stg4_gain7 radp_ctle_acgain_4s_0 to radp_ctle_acgain_4s_2

8 radp_ctle_eqz_1s_sel_

0 to radp_ctle_eqz_1s_sel_

15 radp_vga_sel_0 to radp_vga_sel_7

Description

Selects the DC gain of the Continuous Time Linear Equalizer

(CTLE) in high gain mode

Selects the AC gain of the Continuous Time Linear Equalizer

(CTLE) in high gain mode when CTLE is in manual mode

Selects the AC gain of the Continuous Time Linear Equalizer

(CTLE) in high data rate mode when CTLE is in manual mode

Selects the Variable Gain Amplifier (VGA) output voltage swing when both the CTLE and DFE blocks are in manual mode.

Selects the coefficient of the fixed tap 1 of the Decision

Feedback Equalizer (DFE) when operating in manual mode.

Selects the coefficient of the fixed tap 2 of the Decision

Feedback Equalizer (DFE) when operating in manual mode.

Selects the coefficient of the fixed tap 3 of the Decision

Feedback Equalizer (DFE) when operating in manual mode.

Selects the coefficient of the fixed tap 4 of the Decision

Feedback Equalizer (DFE) when operating in manual mode.

Selects the coefficient of the fixed tap 5 of the Decision

Feedback Equalizer (DFE) when operating in manual mode.

Selects the coefficient of the fixed tap 6 of the Decision

Feedback Equalizer (DFE) when operating in manual mode.

Selects the coefficient of the fixed tap 7 of the Decision

Feedback Equalizer (DFE) when operating in manual mode.

Selects the coefficient of the fixed tap 8 of the Decision

Feedback Equalizer (DFE) when operating in manual mode.

Selects the coefficient of the fixed tap 9 of the Decision

Feedback Equalizer (DFE) when operating in manual mode.

Selects the coefficient of the fixed tap 10 of the Decision

Feedback Equalizer (DFE) when operating in manual mode.

Selects the coefficient of the fixed tap 11 of the Decision

Feedback Equalizer (DFE) when operating in manual mode.

Selects the on-chip RX differential termination.

Related Information

Analog Parameter Settings on page 585

Embedded Debug Features

on page 544

Arbitration

on page 512

Changing PMA Analog Parameters

on page 527

Calibration

on page 567

Intel ® Arria ® 10 Transceiver PHY User Guide

541

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

6.14. Dynamic Reconfiguration Interface Merging Across Multiple

IP Blocks

Dynamic reconfiguration interfaces may need to be shared between multiple IP blocks to maximize transceiver channel utilization. The Native PHY provides the ability to create channels that are either simplex or duplex instances. However, each physical transceiver channel in Arria 10 devices is fully duplex.

You can share the reconfiguration interfaces across different IP blocks by manually making a QSF assignment. There are two cases where a dynamic reconfiguration interface might need to be shared between multiple IP blocks:

• Independent instances of simplex receivers and transmitters in the same physical location

• Separate CMU PLL and TX channel in the same physical location

The following example shows one Native PHY IP instance of a TX-only channel and another instance of an RX-only channel.

Figure 278. Independent Instances of Simplex TX/RX in the Same Physical Location

Logical Physical

User Logic

Reconfiguration

Interface 0

Native PHY IP Core

TX Channel

Reconfiguration

Interface 1

Native PHY IP Core

RX Channel

Merging QSF: from Reconfiguration Interface 0 to Reconfiguration Interface 1

User Logic

Reconfiguration

Interface 1

Native PHY IP Core

TX Channel

RX Channel

Reconfiguration Interface 0 merged into

Reconfiguration Interface1

The following example shows one Native PHY IP instance of a TX-only channel and an instance of a CMU PLL.

Figure 279. Separate CMU PLL and TX Channel in the Same Physical Location

Logical Physical

User Logic

Reconfiguration

Interface 0

Transceiver PLL IP Core

CMU

Reconfiguration

Interface 1

Native PHY IP Core

TX Channel

Merging QSF: from Reconfiguration Interface 1 to Reconfiguration Interface 0

User Logic

Reconfiguration

Interface 0

Native PHY IP Core

CMU

TX Channel

Reconfiguration Interface 1 merged into

Reconfiguration Interface 0

Intel ®

542

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Rules for Merging Reconfiguration Interfaces Across Multiple IP Cores

To merge reconfiguration interfaces across multiple IP blocks, you must follow these rules:

1. The control signals for the reconfiguration interfaces of the IP blocks must be driven by the same source. The reconfig_clk

, reconfig_reset

, reconfig_write

, reconfig_read

, reconfig_address

, and reconfig_writedata

ports of the two interfaces to be merged must be driven from the same source.

2. You must make a QSF assignment to manually specify which two reconfiguration interfaces are to be merged.

a. Use the XCVR_RECONFIG_GROUP assignment.

b. Set the To field of the assignment to either the reconfiguration interfaces of the instances to be merged or to the pin names. The reconfiguration interface has the string twentynm_hssi_avmm_if_inst.

c. Assign the two instances to be merged to the same reconfiguration group.

You cannot merge multiple reconfiguration interfaces when ADME, optional reconfiguration logic, or embedded reconfiguration streamer are enabled in the Native

PHY IP core. (62)

You cannot merge the TX and RX channels when the Shared reconfiguration

interface parameter is enabled in the Native PHY IP core Parameter Editor. You can merge channels only if the reconfiguration interfaces are independent.

Refer to the following two examples to merge reconfiguration interfaces.

Example 3. Using reconfiguration interface names

This example shows how to merge a transmit-only Native PHY instance with a receiveonly instance using the reconfiguration interface names. These instances are assigned to reconfiguration group 0.

For Native PHY 0—transmit-only instance: set_instance_assignment -name XCVR_RECONFIG_GROUP 0 -to topdesign:topdesign_inst|<TX only instance name>*twentynm_hssi_avmm_if_inst*

For Native PHY 1—receive-only instance to be merged with Native PHY 0: set_instance_assignment -name XCVR_RECONFIG_GROUP 0 -to topdesign:topdesign_inst|<RX only instance name>*twentynm_hssi_avmm_if_inst*

Example 4. Using pin names

This example shows how to merge a transmit-only Native PHY instance with a receiveonly instance using pin names. These instances are assigned to reconfiguration group

1.

For Native PHY 0—transmit-only instance: set_instance_assignment -name XCVR_RECONFIG_GROUP 1 -to tx[0]

(62) Please refer to Calibration section on how to calibrate when those features are not available.

Intel ® Arria ® 10 Transceiver PHY User Guide

543

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

For Native PHY 1—receive-only instance to be merged with Native PHY 0: set_instance_assignment -name XCVR_RECONFIG_GROUP 1 -to rx[0]

Related Information

Calibration

on page 567

6.15. Embedded Debug Features

Note: For details on TTK usage refer to "Debugging Transceiver Links" in Quartus Prime

Standard Edition Handbook Volume 3: Verification.

The Arria 10 Transceiver Native PHY, ATX PLL, fPLL, and CMU PLL IP cores provide the following optional debug features to facilitate embedded test and debug capability:

• Altera Debug Master Endpoint (ADME)

• Optional Reconfiguration Logic

Related Information

Quartus Prime Standard Edition Handbook Volume 3: Verification

6.15.1. Altera Debug Master Endpoint

The ADME is a JTAG-based Avalon Memory-Mapped (Avalon-MM) master that provides access to the transceiver and PLL registers through the system console. You can enable ADME using the Enable Altera Debug Master Endpoint option available under the Dynamic Reconfiguration tab in the Native PHY and PLL IP cores. When using ADME, the Quartus Prime software inserts the debug interconnect fabric to connect with USB, JTAG, or other net hosts. Select the Share Reconfiguration

Interface parameter when the Native PHY IP instance has more than one channel.

When you enable ADME in your design, you must

• connect an Avalon-MM master to the reconfiguration interface.

• OR connect the, reconfig_reset

signals and ground the reconfig_write

, reconfig_read

, reconfig_address

and reconfig_write

data signals of the reconfiguration interface. If the reconfiguration interface signals are not connected appropriately, there is no clock or reset for the ADME, and the ADME does not function as expected.

6.15.2. Optional Reconfiguration Logic

The Arria 10 Transceiver Native PHY, ATX PLL, fPLL, and CMU PLL IP cores contain soft logic for debug purposes known as the Optional Reconfiguration Logic. This soft logic provides a set of registers that enable you to determine the state of the Native PHY and PLL IP cores.

You can enable the following optional reconfiguration logic options in the transceiver

Native PHY and PLL IP cores:

• Capability registers

• Control and status registers

• PRBS soft accumulators (Native PHY IP core only)

Intel ®

544

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

6.15.2.1. Capability Registers

The capability registers provide high level information about the transceiver channel and PLL configuration.

The capability registers capture a set of chosen capabilities of the PHY that cannot be reconfigured. The following capability registers are available for the Native PHY IP core.

Table 284.

Capability Registers for the Native PHY IP Core

Address

0x200[7:0]

0x204[0]

0x205[0]

0x210[7:0]

0x211[7:0]

0x212[7:0]

0x213[0]

RO

Type

RO

RO

RO

RO

RO

RO

Name

IP Identifier

Status Register Enabled

Control Register Enabled

Number of Channels

Channel Number

Duplex

PRBS Soft Enabled

Description

Unique identifier for the Native PHY IP instance.

Indicates whether the status registers have been enabled. 1'b1 indicates that the status registers are enabled.

Indicates whether the control registers have been enabled. 1'b1 indicates that the control registers are enabled.

Shows the number of channels specified for the

Native PHY IP instance.

Shows the unique channel number.

Shows the transceiver mode:

• 2'b00 = Unused

• 2'b01 = TX

• 2'b10 = RX

• 2'b11 = Duplex

Indicates whether the PRBS soft accumulators are enabled. 1’b1 indicates the accumulators are enabled.

The following capability registers are available for the PLL IP cores.

Table 285.

Capability Registers for the PLL IP Cores

Address

0x200[7:0]

0x204[0]

RO

Type

RO

Name

IP Identifier

Status Register Enabled

0x205[0]

0x210[7:0]

RO

RO

Control Register Enabled

Master CGB Enabled

Description

Unique identifier for the PLL IP instance.

Indicates if the status registers have been enabled or not. 1'b1 indicates that the status registers have been enabled.

Indicates if the control registers have been enabled or not. 1'b1 indicates that the control registers have been enabled.

Indicates if the Master Clock Generation Block has been enabled. 1'b1 indicates the master CGB is enabled.

6.15.2.2. Control and Status Registers

Control and status registers are optional registers that memory-map some of the status outputs from and control inputs to the Native PHY and PLL.

The following control and status registers are available for the Native PHY IP core.

Intel ® Arria ® 10 Transceiver PHY User Guide

545

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Table 286.

Control Registers for the Native PHY IP Core

Address

0x2E0[0]

0x2E0[1]

0x2E0[2]

0x2E0[3]

0x2E1[0]

0x2E2[0]

0x2E2[1]

0x2E2[2]

0x2E2[3]

0x2E2[4]

0x2E2[5]

0x2E2[6]

0x2E2[7]

RW

Type

RW

RW

RW

RW

RW

RW

RW

RW

RW

RW

RW

RW

Register set_rx_locktodata set_rx_locktoref override_set_rx_loc ktodata override_set_rx_loc ktoref rx_seriallpbken rx_analogreset rx_digitalreset tx_analogreset tx_digitalreset override_rx_analogr eset override_rx_digital reset override_tx_analogr eset override_tx_digital reset

Description

Asserts the set_rx_locktodata

signal to the receiver. 1'b1 sets the ADME set_rx_locktodata register. See override_set_rx_locktodata

.

Asserts the set_rx_locktoref receiver. 1'b1 sets the ADME

signal to the set_rx_locktoref register. See below.

override_set_rx_locktoref

row

Selects whether the receiver listens to the ADME set_rx_locktodata

register or the rx_set_locktodata

port. 1'b1 indicates that the receiver listens to the ADME register.

set_rx_locktodata

Selects whether the receiver is listens to the AMDE set_rx_locktoref

register or the rx_set_locktoref

port. 1'b1 indicates that the receiver listens to the ADME register.

set_rx_locktoref

Enables the rx_seriallopbken

feature in the transceiver. 1’b1 enables reverse serial loopback.

Drives rx_analogreset

when the override is set.

Drives rx_digitalreset

when the override is set.

Drives tx_analogreset

when the override is set.

Drives tx_digitalreset

when the override is set.

Selects whether the receiver listens to the ADME rx_analogreset

register or the rx_analogreset port. 1'b1 indicates the receiver listens to the ADME rx_analogreset

register.

Selects whether the receiver listens to the ADME rx_digitalreset

register or the rx_digitalreset

port. 1'b1 indicates the receiver listens to the ADME rx_digitalreset

register.

Selects whether the receiver listens to the ADME tx_analogreset

register or the tx_analogreset port. 1'b1 indicates the receiver listens to the ADME tx_analogreset

register.

Selects whether the receiver listens to the ADME tx_digitalreset

register or the tx_digitalreset

port. 1'b1 indicates the receiver listens to the ADME tx_digitalreset

register.

Table 287.

Status Registers for the Native PHY IP Core

Address

0x280[0]

0x280[1]

RO

Type

RO

Register rx_is_lockedtodata rx_is_lockedtoref

Description

Shows the status of the current channel’s rx_is_lockedtodata

signal. 1’b1 indicates the receiver is locked to the incoming data.

Shows the status of the current channel’s rx_is_lockedtoref

signal. 1’b1 indicates the receiver is locked to the reference clock.

continued...

Intel ®

546

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Address

0x281[0]

0x281[1]

0x281[2]

0x280[1]

0x280[2]

RO

Type

RO

RO

Register tx_cal_busy rx_cal_busy avmm_busy

Table 289.

Status Registers for the PLL IP Cores

Address

0x280[0] RO

Type Register pll_locked

RO

RO pll_cal_busy avmm_busy

Description

Shows the status of the transmitter calibration status. 1’b1 indicates the transmitter calibration is in progress.

Shows the status of the receiver calibration status.

1’b1 indicates the receiver calibration is in progress.

Shows the status of the internal configuration bus arbitration. 1’b1 indicates PreSICE has control of the internal configuration bus. 1'b0 indicates the user has control of the internal configuration bus. Refer to the Arbitration section for more details. For more details about calibration registers and performing user recalibration, refer to the Calibration chapter.

The following control and status registers are available for the PLL IP cores.

Table 288.

Control Registers for the PLL IP Cores

Address

0x2E0[0]

0x2E0[1]

RW

Type

RW

Register pll_powerdown override_pll_powerd own

Description

Drives the PLL powerdown when the Override is set.

Selects whether the receiver listens to the ADME pll_powerdown

register or the pll_powerdown port. 1’b1 indicates the receiver listens to the ADME pll_powerdown

.

Description

Indicates if the PLL is locked. 1'b1 indicates the PLL is locked.

Indicates the calibration status. 1'b1 indicates the

PLL is currently being calibrated.

Shows the status of the internal configuration bus arbitration. 1’b1 indicates PreSICE has control of the internal configuration bus. 1'b0 indicates the user has control of the internal configuration bus. Refer to the Arbitration section for more details.

Related Information

Arbitration

on page 512

6.15.2.3. PRBS Soft Accumulators

The Pseudo Random Binary Sequence (PRBS) soft accumulators are used in conjunction with the hard PRBS blocks in the transceiver channel. This section describes the soft logic that can be added to the Native PHY IP core. To enable this option, turn on the Enable PRBS Soft Accumulators option in the Native PHY IP

Parameter Editor.

The PRBS soft accumulator has three control bits (Enable, Reset, and Snapshot) and one status bit (PRBS Done).

Intel ® Arria ® 10 Transceiver PHY User Guide

547

Note:

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Enable bit—used to turn on the accumulation logic. This bit is also used for selective error accumulation and to pause the sequence.

Reset bit—resets the PRBS polynomial and the bit and error accumulators. It also resets the snapshot registers if independent channel snapshots are used.

Snapshot bit—captures the current value of the accumulated bits and the errors simultaneously. This neutralizes the impact of the added read time when the

Avalon-MM interface is used. Capturing a snapshot provides an accurate error count with respect to the bit count at a specific time.

PRBS Done bit—indicates the PRBS checker has had sufficient time to lock to the incoming pattern.

For example, to capture the accumulated errors at any instance of time and read them back, you can perform the following operations.

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Perform read-modify-write to address 0x300 and set bit 0 to 1'b1. This action enables the error and bit counters.

3. To capture the errors accumulated at a particular instant, perform read-modifywrite to address 0x300 and set bit 2 to 1'b1. This takes a snapshot of the error counters and stores the value to the error count registers.

4. To read the number of errors accumulated when the snapshot was captured, perform a read from the corresponding error registers 0x301 to 0x307.

5. To reset the bit and error accumulators, perform a read-modify-write to address

0x300 bit 1.

6. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

You can enable the error and bit counters (0x300[0]) and capture the accumulated bits and errors at different times. The error count registers and bit count registers are updated with the latest counter values as long as the counter enable bit is set.

Use the PRBS soft accumulators to count the number of accumulated bits and errors when the hard PRBS blocks are used. PRBS soft accumulators are word-based counter.

The value read out from the PRBS soft accumulators represent the number of words counted. Hence, in order to obtain the total accumulated bit, user needs to multiply the value read out from the Accumulated bit pass through count [49:0] registers with the width of PCS-PMA interface. For Accumulated error count [49:0] registers, it counts one as long as there are bit errors in a word (be it one bit error in a word or all the bits in a word are erroneous). Hence, the Accumulated error count [49:0] registers do not give absolute bit errors counted. For each count, the absolute bit errors could range from one to the width of PCS-PMA interface.

For more information about using the hard PRBS blocks, refer to the "Using Data

Pattern Generators and Checkers" section.

Intel ®

548

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Table 290.

PRBS Accumulator Registers

Address

0x300[0]

0x300[1]

0x300[2]

Type

RW

RW

RW

Name

Counter enable (enables both error and bit counters)

Reset

Error Count Snapshot

0x300[3]

0x301[7:0]

0x302[7:0]

0x303[7:0]

0x304[7:0]

0x305[7:0]

0x306[7:0]

0x307[1:0]

0x30D[7:0]

0x30E[7:0]

0x30F[7:0]

0x310[7:0]

0x311[7:0]

0x312[7:0]

0x313[1:0]

RO

RO

RO

RO

RO

RO

RO

RO

RO

RO

RO

RO

RO

RO

RO

PRBS Done

Accumulated error count [7:0]

Accumulated error count [15:8]

Accumulated error count [23:16]

Accumulated error count [31:24]

Accumulated error count [39:32]

Accumulated error count [47:40]

Accumulated error count [49:48]

Accumulated bit pass through count[7:0]

Accumulated bit pass through count[15:8]

Accumulated bit pass through count[23:16]

Accumulated bit pass through count[31:24]

Accumulated bit pass through count[39:32]

Accumulated bit pass through count[47:40]

Accumulated bit pass through count[49:48]

Description

Counter enable (enables both error and bit counters)

Reset the error accumulators

Snapshot captures the current value of accumulated bits and the errors at that time instance

PRBS Done when asserted indicates the verifier has captured consecutive PRBS patterns and first pass of polynomial is complete

Accumulated error count [7:0]

Accumulated error count [15:8]

Accumulated error count [23:16]

Accumulated error count [31:24]

Accumulated error count [39:32]

Accumulated error count [47:40]

Accumulated error count [49:48]

Accumulated bit pass through count[7:0]

Accumulated bit pass through count[15:8]

Accumulated bit pass through count[23:16]

Accumulated bit pass through count[31:24]

Accumulated bit pass through count[39:32]

Accumulated bit pass through count[47:40]

Accumulated bit pass through count[49:48]

Note: Intel recommends that you disable the byte serializer and deserializer blocks when using the soft PRBS accumulators. When the byte serializer and deserializer blocks are enabled, the number of bits counted are halved because the clock is running at half the rate.

Related Information

Steps to Perform Dynamic Reconfiguration

on page 516

Arbitration

on page 512

Using Data Pattern Generators and Checkers

on page 550

Intel ® Arria ® 10 Transceiver PHY User Guide

549

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

6.16. Using Data Pattern Generators and Checkers

The Arria 10 transceivers contain hardened data generators and checkers to provide a simple and easy way to verify and characterize high speed links. Hardening the data generators and verifiers saves FPGA fabric logic resources. The pattern generator block supports the following patterns:

• Pseudo Random Binary Sequence (PRBS)

• Pseudo Random Pattern (PRP)

The pattern generators and checkers are supported only for non-bonded channels.

6.16.1. Using PRBS Data Pattern Generator and Checker

Use the Arria 10 PRBS generator and checker to simulate traffic and easily characterize high-speed links without fully implementing any upper protocol stack layer. The PRBS generator generates a self-aligning pattern and covers a known number of unique sequences. Because the PRBS pattern is generated by a Linear

Feedback Shift Register (LFSR), the next pattern can be determined from the previous pattern. When the PRBS checker receives a portion of the received pattern, it can generate the next sequence of bits to verify whether the next data sequence received is correct.

The PRBS generator and checker are shared between the Standard and Enhanced datapaths through the PCS. Therefore, they have only one set of control signals and registers. The data lines from the various PCSs and shared PRBS generator are MUXed before they are sent to the PMA. When the PRBS generator is enabled, the data on the

PRBS data lines is selected to be sent to the PMA. Either the data from the PCS or the data generated from the PRBS generator can be sent to the PMA at any time.

The PRBS generator and checker can be configured for two widths of the PCS-PMA interface: 10 bits and 64 bits. PRBS9 is available in both 10-bit and 64-bit PCS-PMA widths. All other PRBS patterns are available in 64-bit PCS-PMA width only. The PRBS generator and checker patterns can only be used when the PCS-PMA interface width is configured to 10 bits or 64 bits. For any other PCS-PMA width, to ensure the correct clocks are provided to the PRBS blocks you must first reconfigure the width to either

10 or 64 bits before using the PRBS generator and checker. For example, when the transceiver is configured to a 20-bit PCS/PMA interface, you must first reconfigure the

PCS-PMA width to 10 bits before setting up the PRBS generator and checker. The PRBS setup does not automatically change the PCS/PMA width.

The 10-bit PCS-PMA width for PRBS9 is available for lower frequency testing. You can configure PRBS9 in either 10-bit or 64-bit width, based on the data rate. The FPGA fabric-PCS interface must run in the recommended speed range of the FPGA core.

Therefore, you must configure PRBS9 in one of the two bit width modes, so that the

FPGA fabric-PCS interface parallel clock runs in this operating range.

Intel ®

550

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Examples:

• If you want to use PRBS9 and the data rate is 2.5 Gbps, you can use the PRBS9 in

10-bit mode (PCS-PMA width = 10). In this case, the parallel clock frequency =

Data rate / PCS-PMA width = 2500 Mbps/10 = 250 MHz.

• If you want to use PRBS9 and the data rate is 6.4 Gbps, you can use the PRBS9 in

64-bit mode (PCS-PMA width = 64). In this case, the parallel clock frequency =

Data rate / PCS-PMA width = 6400 Mbps/64 = 100 MHz.

• If you want to use PRBS9 and the data rate is 12.5 Gbps, you can use the PRBS9 in 64 bit mode (PCS-PMA width = 64). In this case, the parallel clock frequency =

Data rate / PCS-PMA width = 12500 Mbps/64 = 195.3125 MHz.

Table 291.

PRBS Supported Polynomials and Data Widths

Use the 10-bit mode of PRBS9 when the data rate is lower than 3 Gbps.

Pattern Polynomial

PRBS7

PRBS9

PRBS15

PRBS23

PRBS31

G(x) = 1+ x 6 + x 7

G(x) = 1+ x 5 + x 9

G(x) = 1+ x 14 + x 15

G(x) = 1+ x 18 + x 23

G(x) = 1+ x 28 + x 31

64-Bit

X

X

X

X

X

10-Bit

X

The PRBS checker has the following control and status signals available to the FPGA fabric:

• rx_prbs_done

—Indicates the PRBS sequence has completed one full cycle. It stays high until you reset it with rx_prbs_err_clr

.

• rx_prbs_err

—Goes high if an error occurs. This signal is pulse-extended to allow you to capture it in the RX FPGA CLK domain.

• rx_prbs_err_clr

—Used to reset the rx_prbs_err signal

.

Enable the PRBS checker control and status ports through the Native PHY IP

Parameter Editor in the Quartus Prime software.

Use the PRBS soft accumulators to count the number of accumulated bits and errors when the hard PRBS blocks are used. For more information about using the accumulators and reading the error values, refer to the PRBS Soft Accumulators section.

Table 292.

Register Map for PRBS Generators for bonded and non bonded designs

Reconfigur ation

Address

(HEX)

Reconfigur ation Bit

0x006 [2:0]

Attribute Name tx_pma_data_sel

Related

Addresses

0x8

Attribute

Encoding prbs_pat

Bit

Encoding

3'b100

Description

[3] prbs9_dwidth prbs9_10b prbs9_64b

1'b1

1'b0

Select PRBS Generator

Block

Enable PRBS9 in 10-bit mode

Enable PRBS9 in 64-bit mode continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

551

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Reconfigur ation

Address

(HEX)

Reconfigur ation Bit

[6]

Attribute Name prbs_clken

Related

Addresses

Attribute

Encoding prbs_clk_dis

Bit

Encoding

Description

0x007

0x008

0x110

[7:4]

[4]

[6:5]

[2:0] prbs_gen_pat prbs_gen_pat tx_pma_data_sel ser_mode

0x8

0x7

0x6 prbs_clk_en

1'b0

1'b1 prbs_7 prbs_9 prbs_15 prbs_23 prbs_31 prbs_7 prbs_9 prbs_15 prbs_23 prbs_31 prbs_pat sixty_four_bit ten_bit xn_non_bonding (6

3)

4'b0001

4'b0010

4'b0100

4'b1000

4'b0000

1'b0

1'b0

1'b0

1'b0

1'b1

2'b00

3'b011

3'b100

5'b11000

Disable PRBS generator clock

Enable PRBS generator clock

Enable PRBS7 pattern

Enable PRBS9 pattern

Enable PRBS15 pattern

Enable PRBS23 pattern

Enable PRBS31 pattern

Enable PRBS7 pattern

Enable PRBS9 pattern

Enable PRBS15 pattern

Enable PRBS23 pattern

Enable PRBS31 pattern

Enable PRBS generator

64-bit mode

10-bit mode

Enables xn non bonding 0x111 [4:0] x1_clock_source_ sel

0x119

Table 293.

Register Map for PRBS Checker for bonded and non bonded designs

Reconfiguratio n Address

(HEX)

0x00A

Reconfiguratio n Bit

Attribute Name

[7] prbs_clken

Related

Addresses

Attribute

Encoding prbs_clk_dis

Bit

Encoding

1'b0

Description

0x00B [3:2]

[7:4] rx_prbs_mask prbs_ver 0xC prbs_clk_en prbsmask1024 prbsmask128 prbsmask256 prbsmask512 prbs_7

1'b1

2'b11

2'b00

2'b01

2'b10

4'b0001

Disable PRBS checker clock

Enable PRBS checker clock

Counter threshold to

1023

Counter threshold to

127

Counter threshold to

255

Counter threshold to

511

Enable PRBS7 pattern continued...

(63) You must read and save the value in the register 0x111[5:0] before changing the x1_clcok_source_sel

setting to xN non bonding. To disable the PRBS generator, write the original values back into the read-modify-write address.

Intel ®

552

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Reconfiguratio n Address

(HEX)

Reconfiguratio n Bit

Attribute Name Related

Addresses

Attribute

Encoding

Bit

Encoding

Description

0x00C

0x13F

[0]

[3]

[3:0] prbs_ver prbs9_dwidth deser_factor

0xB prbs_9 prbs_15 prbs_23 prbs_31 prbs_7 prbs_9 prbs_15 prbs_23 prbs_31 prbs9_10b prbs9_64b

10

64

4'b0010

4'b0100

4'b1000

4'b0000

1'b0

1'b0

1'b0

1'b0

1'b1

1'b1

1'b0

4'b0001

4'b1110

Enable PRBS9 pattern

Enable PRBS15 pattern

Enable PRBS23 pattern

Enable PRBS31 pattern

Enable PRBS7 pattern

Enable PRBS9 pattern

Enable PRBS15 pattern

Enable PRBS23 pattern

Enable PRBS31 pattern

PRBS9 10-bit

PRBS9 64-bit

10-bit mode

64-bit mode

Related Information

PRBS Soft Accumulators

on page 547

6.16.1.1. Enabling the PRBS Data Generator in non bonded designs

You must perform a sequence of read-modify-writes to addresses 0x006, 0x007,

0x008, and 0x110 to enable either the PRBS data generator. To enable either the

PRBS data generator, follow these steps:

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Perform a read-modify-write to address 0x006 according to

Register Map for PRBS

Generators for bonded and non bonded designs

.

3. Perform a read-modify-write to address 0x007 according to

Register Map for PRBS

Generators for bonded and non bonded designs

.

4. Perform a read-modify-write to address 0x008 according to

Register Map for PRBS

Generators for bonded and non bonded designs

.

5. Perform a read-modify-write to address 0x110 with the specified width. This data width is either 64-bit or 10-bit.

6. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

To disable the PRBS generator, write the original values back into the read-modifywrite addresses in

Register Map for PRBS Generators for bonded and non bonded designs .

Intel ® Arria ® 10 Transceiver PHY User Guide

553

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Related Information

Steps to Perform Dynamic Reconfiguration

on page 516

Arbitration

on page 512

6.16.1.1.1. Examples of Enabling the PRBS9 and PRBS31 Pattern Generators in non bonded designs

Example 5. Enabling the PRBS9 pattern generator in 10-bit mode

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Perform a read-modify-write to address x006[7:0] with the following bits: 8’b01- -

1100

3. Perform a read-modify-write to address x007[7:0] with the following bits: 8’b0010

- - - -

4. Perform a read-modify-write to address x008[7:0] with the following bits: 8’b -

000 - - - -

5. Perform a read-modify-write to address x110[7:0] with the following bits: 8’b - - -

- - 100

6. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

Note:

Example 6. Enabling the PRBS31 pattern generator in 64-bit mode

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Perform a read-modify-write to address x006[7:0] with the following bits: 8’b01- -

0100

3. Perform a read-modify-write to address x007[7:0] with the following bits: 8’b0000

- - - -

4. Perform a read-modify-write to address x008[7:0] with the following bits: 8’b -

001 - - - -

5. Perform a read-modify-write to address x110[7:0] with the following bits: 8’b - - -

- - 011

6. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

Note:

A dash (-) indicates that the corresponding bit value should not be modified during read-modify-write.

A dash (-) indicates that the corresponding bit value should not be modified during read-modify-write.

Related Information

Steps to Perform Dynamic Reconfiguration

on page 516

6.16.1.2. Enabling the PRBS Data Generator in bonded designs

You must perform a sequence of read-modify-writes to addresses 0x006, 0x007,

0x008, and 0x110, 0x111and to enable either the PRBS data generator in bonded designs. To enable either the PRBS data generator, follow these steps:

Intel ®

554

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Perform a read-modify-write to address 0x006 according to

Register Map for PRBS

Generators for bonded and non bonded designs

.

3. Perform a read-modify-write to address 0x007 according to

Register Map for PRBS

Generators for bonded and non bonded designs

.

4. Perform a read-modify-write to address 0x008 according to

Register Map for PRBS

Generators for bonded and non bonded designs

.

5. Perform a read-modify-write to address 0x110 with the specified width. This data width is either 64-bit or 10-bit.

6. Perform a read-modify-write to address 0x111 according to

Register Map for PRBS

Generators for bonded and non bonded designs

. You must read and save the value in the register 0x111[5:0] before changing the x1_clock_source_sel

setting to xN non bonding.

7. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

To disable the PRBS generator, write the original values back into the read-modifywrite addresses in

Register Map for PRBS Generators for bonded and non bonded designs .

6.16.1.2.1. Examples of Enabling the PRBS9 and PRBS31 Pattern Generators in bonded designs

Example 7. Enabling the PRBS9 pattern generator in 10-bit mode

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Perform a read-modify-write to address x006[7:0] with the following bits: 8’b01- -

1100

3. Perform a read-modify-write to address x007[7:0] with the following bits: 8’b0010

- - - -

4. Perform a read-modify-write to address x008[7:0] with the following bits: 8’b -

000 - - - -

5. Perform a read-modify-write to address x110[7:0] with the following bits: 8’b - - -

- - 100

6. Perform a read-modify-write to address x111[5:0] with the following bits:

8'b---11000. You must read and save the value in the register 0x111[5:0] before changing the x1_clock_source_sel

setting to xN non bonding.

7. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

Note: A dash (-) indicates that the corresponding bit value should not be modified during read-modify-write.

Intel ® Arria ® 10 Transceiver PHY User Guide

555

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Example 8. Enabling the PRBS31 pattern generator in 64-bit mode

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Perform a read-modify-write to address x006[7:0] with the following bits: 8’b01- -

0100

3. Perform a read-modify-write to address x007[7:0] with the following bits: 8’b0000

- - - -

4. Perform a read-modify-write to address x008[7:0] with the following bits: 8’b -

001 - - - -

5. Perform a read-modify-write to address x110[7:0] with the following bits: 8’b - - -

- - 011

6. Perform a read-modify-write to address x111[5:0] with the following bits:

8'b---11000. You must read and save the value in the register 0x111[5:0] before changing the x1_clock_source_sel

setting to xN non bonding.

7. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

Note: A dash (-) indicates that the corresponding bit value should not be modified during read-modify-write.

6.16.1.3. Enabling the PRBS Data Checker in non bonded design

You must perform a sequence of read-modify-writes to the Transceiver Native PHY reconfiguration interface to enable the PRBS checker. You must perform read-modifywrites to addresses 0x00A, 0x00B, 0x00C, and 0x13F. To enable the PRBS checker, follow these steps:

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Perform a read-modify-write to address 0x00A with a value of 1'b1 to bit[7].

3. Perform a read-modify-write to address 0x00B according to Register Map for PRBS

Checker for bonded and non bonded designs .

4. Perform a read-modify-write to address 0x00C according to Register Map for PRBS

Checker for bonded and non bonded designs .

5. Perform a read-modify-write to address 0x13F according to

Register Map for PRBS

Checker for bonded and non bonded designs .

6. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

To disable the PRBS verifier write the original values back into the read-modifywrite addresses listed above.

Related Information

Steps to Perform Dynamic Reconfiguration

on page 516

Intel ®

556

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

6.16.1.3.1. Examples of Enabling the PRBS Data Checker

Example 9. Enabling the PRBS9 pattern checker in 10-bit mode

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Perform a read-modify-write to address x00A[7:0] with the following bits: 8’b1- -

- - - - -

3. Perform a read-modify-write to address x00B[7:0] with the following bits: 8’b0010

00 - -

4. Perform a read-modify-write to address x00C[7:0] with the following bits: 8’b - - -

- 1 - - 0

5. Perform a read-modify-write to address x13F[7:0] with the following bits: 8’b - - -

- 0001

6. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

Note: A dash (-) indicates that the corresponding bit value should not be modified

Example 10. Enabling the PRBS31 pattern checker in 64-bit mode

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Perform a read-modify-write to address x00A[7:0] with the following bits: 8’b1- -

- - - - -

3. Perform a read-modify-write to address x00B[7:0] with the following bits: 8’b0000

11 - -

4. Perform a read-modify-write to address x00C[7:0] with the following bits: 8’b - - -

- - - - 1

5. Perform a read-modify-write to address x13F[7:0] with the following bits: 8’b - - -

- 1110

6. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

Note: A dash (-) indicates that the corresponding bit value should not be modified

Use the PRBS soft accumulators to count the number of accumulated bits and errors when the hard PRBS blocks are used. For more details about using the accumulators and reading the error values, refer to the "PRBS Soft Accumulators" section.

Related Information

PRBS Soft Accumulators

on page 547

Steps to Perform Dynamic Reconfiguration

on page 516

6.16.1.4. Enabling the PRBS Checker in bonded designs

You must perform a sequence of read-modify-writes to addresses 0x00A, 0x00B,

0x00C, 0x13F, 0x111 and to enable the PRBS data checker in bonded designs. To enable the PRBS checker, follow these steps:

Intel ® Arria ® 10 Transceiver PHY User Guide

557

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Perform a read-modify-write to address 0x00A with a value of 1'b1 to bit[7].

3. Perform a read-modify-write to address 0x00B according to Register Map for PRBS

Checker for bonded and non bonded designs .

4. Perform a read-modify-write to address 0x00C according to Register Map for PRBS

Checker for bonded and non bonded designs .

5. Perform a read-modify-write to address 0x13F according to

Register Map for PRBS

Checker for bonded and non bonded designs .

6. Perform a read-modify-write to address 0x111 according to

Register Map for PRBS

Checker for bonded and non bonded designs .

7. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

To disable the PRBS verifier write the original values back into the read-modifywrite addresses listed above.

6.16.1.5. Disabling/Enabling PRBS Pattern Inversion

The default PRBS pattern is inverted for both the PRBS generator and checker. You can disable pattern inversion for PRBS data leaving or entering the PRBS data pattern

generator and checker, respectively. Table 294 on page 558 shows the addresses and

bits to control the inversion of the PRBS generator or checker. To disable the PRBS pattern inversion for the PRBS generator or checker, follow these steps:

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. To disable the inverted PRBS pattern leaving the PRBS generator, perform a readmodify-write to bit[2] with a value of 1'b1 to address 0x7.

3. To disable the inverted PRBS pattern entering the PRBS checker, perform a readmodify-write to bit[4] with a value of 1'b1 to address 0xA.

4. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

Table 294.

Register Map for PRBS Pattern Inversion

Reconfiguration

Address (HEX)

0x7

Reconfiguration Bit

[2]

Attribute Name tx_static_polarity_inversion

Bit Encoding

1'b1

1'b0

0xA [4] rx_static_polarity_inversion 1'b1

1'b0

Description

Disables PRBS inversion

Enables PRBS inversion

(default)

Disables PRBS inversion

Enables PRBS inversion

(default)

Related Information

Steps to Perform Dynamic Reconfiguration

on page 516

Intel ®

558

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

6.16.2. Using Pseudo Random Pattern Mode

You can use the Arria 10 Pseudo Random Pattern (PRP) generator and verifier in the scrambler and descrambler to generate random data pattern and seed that the scrambler can use. PRP mode is a test mode of the scrambler. Two seeds are available to seed the scrambler: all 0s or two local fault-ordered sets. The seed is used in the scrambler to produce the pattern. The r_tx_data_pat_sel

is the data pattern that the scrambler will scramble. PRP is only available when the scrambler is enabled. The

PRP verifier shares the rx_prbs_err

error signal with PRBS. The error count can be read out from the corresponding registers.

6.16.2.1. Enabling Pseudo Random Pattern Mode

You must perform a sequence of read-modify-writes to the reconfiguration interface to enable the Pseudo Random Pattern. The read-modify-writes are required to addresses

0x082, 0x097, and 0x0AC. To enable the Pseudo Random Pattern, complete the following steps:

1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic

Reconfiguration.

2. Perform a read-modify-write to address 0x082 according to

Table 295 on page

559.

3. Perform a read-modify-write to address 0x097 according to

Table 295 on page

559.

4. Perform a read-modify-write to address 0x0AC according to Table 295

on page

559.

5. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic

Reconfiguration.

To disable the PRP verifier, write the original values back to the read-modify-write addresses listed above.

Table 295.

Register Map for Pseudo Random Pattern Mode

Reconfiguration

Address (HEX)

0x72

Reconfiguration

Bit

[7:0]

Attribute Name r_tx_seed_a[7:0]

Bit Encoding Description

0x73

0x74

0x75

0x76

0x77

0x78

0x79

[7:0]

[7:0]

[7:0]

[7:0]

[7:0]

[7:0]

[1:0] r_tx_seed_a[15:8] r_tx_seed_a[23:16] r_tx_seed_a[31:24] r_tx_seed_a[39:32] r_tx_seed_a[47:40] r_tx_seed_a[55:48] r_tx_seed_a[57:56]

Seed A value bit[7:0]

Seed A value bit[15:8]

Seed A value bit[23:16]

Seed A value bit[31:24]

Seed A value bit[39:32]

Seed A value bit[47:40]

Seed A value bit[55:48]

Seed A value bit[57:56] continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

559

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Reconfiguration

Address (HEX)

0x7A

Reconfiguration

Bit

[7:0]

Attribute Name r_tx_seed_b[7:0]

Bit Encoding Description

0x7B

0x7C

0x7D

0x7E

0x7F

0x80

0x81

[7:0]

[7:0]

[7:0]

[7:0]

[7:0]

[7:0]

[1:0] r_tx_seed_b[15:8] r_tx_seed_b[23:16] r_tx_seed_b[31:24] r_tx_seed_b[39:32] r_tx_seed_b[47:40] r_tx_seed_b[55:48] r_tx_seed_b[57:56]

0x82 [0] r_tx_data_pat_sel

0x97

0xAC

0xD7

0xD8

[1]

[3]

[2]

[0]

[7:0]

[7:0] r_tx_test_pat_sel r_tx_test_en r_rx_test_en r_rx_test_pat_sel random_err_cnt[7:0] random_err_cnt[7:0]

Related Information

Steps to Perform Dynamic Reconfiguration

on page 516

1'b0

1'b1

1'b0

1'b1

1'b1

1'b0 Pseudo random

Error count

6.17. Timing Closure Recommendations

Intel recommends that you enable the multiple reconfiguration profiles feature in the

Native PHY IP core if any of the modified or target configurations involve changes to

PCS settings. Using multiple reconfiguration profiles is optional if the reconfiguration involves changes to only PMA settings such as PLL switching, CGB divider switching, and refclk switching. When you enable multiple reconfiguration profiles, the Quartus

Prime TimeQuest Timing Analyzer includes the necessary PCS timing arcs for all profiles (initial profile and target profiles) during timing driven compilation. These timing arcs make the timing more accurate.

Seed B value bit[7:0]

Seed B value bit[15:8]

Seed B value bit[23:16]

Seed B value bit[31:24]

Seed B value bit[39:32]

Seed B value bit[47:40]

Seed B value bit[55:48]

Seed B value bit[57:56]

2 local faults

0's

Pseudo Random

Intel ®

560

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

When performing a dynamic reconfiguration, you must:

• Include constraints to create the extra clocks for all modified or target configurations at the PCS-FPGA fabric interface. Clocks for the base configuration are created by the Quartus Prime software. These clocks enable the Quartus Prime software to perform static timing analysis for all the transceiver configurations and their corresponding FPGA fabric core logic blocks.

• Include the necessary false paths between the PCS – FPGA fabric interface and the core logic.

For example, you can perform dynamic reconfiguration to switch the datapath from

Standard PCS to Enhanced PCS using the multiple reconfiguration profiles feature. In the following example, the base configuration uses the Standard PCS (data rate =

1.25 Gbps, PCS-PMA width = 10) and drives core logic A in the FPGA fabric. The target or modified configuration is configured to use the Enhanced PCS (data rate = 12.5

Gbps, PCS-PMA width = 64) and drives core logic B in the FPGA fabric.

Figure 280. Using Multiple Reconfiguration Profiles

Transceiver Channel

Transmitter (TX)

FPGA Fabric tx_clkout Core Logic (A) for Standard

PCS

Receiver (RX)

Core Logic (B) for Enhanced

PCS rx_clkout

Intel ® Arria ® 10 Transceiver PHY User Guide

561

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

To enable the Quartus Prime software to close timing more accurately in this example, the following constraints must be created:

• create_clock -name tx_clkout_enh -period 5.12 [get_pins

{native_inst|xcvr_native_a10_0| g_xcvr_native_insts[0].twentynm_xcvr_native_inst| twentynm_xcvr_native_inst|inst_twentynm_pcs| gen_twentynm_hssi_tx_pld_pcs_interface.inst_twentynm_hssi_tx_p

ld_pcs_interface|pld_pcs_tx_clk_out}] -add

This constraint creates the tx_clkout

clock that is used to clock the core logic B in the FPGA fabric.

• create_clock -name rx_clkout_enh –period 5.12 [get_pins

{native_inst|xcvr_native_a10_0| g_xcvr_native_insts[0].twentynm_xcvr_native_inst| twentynm_xcvr_native_inst|inst_twentynm_pcs| gen_twentynm_hssi_rx_pld_pcs_interface.inst_twentynm_hssi_rx_p

ld_pcs_interface|pld_pcs_rx_clk_out}] -add

This constraint creates the rx_clkout

clock that is used to clock the core logic B in the FPGA fabric.

• set_false_path -from [get_clocks {tx_clkout_enh}] -to

[get_registers <Core Logic A>]

Based on how the clocks are connected in the design, you might have to include additional constraints to set false paths from the registers in the core logic to the clocks.

• set_false_path -from [get_clocks {rx_clkout_enh}] -to

[get_registers <Core Logic A>]

Based on how the clocks are connected in the design, you may have to include additional constraints to set false paths from the registers in the core logic to the clocks.

• set_false_path -from [get_clocks {tx_clkout}] -to

[get_registers <Core Logic B>]

Based on how the clocks are connected in the design, you may have to include additional constraints to set false paths from the registers in the core logic to the clocks.

• set_false_path -from [get_clocks {rx_clkout}] -to

[get_registers <Core Logic B>]

Based on how the clocks are connected in the design, you may have to include additional constraints to set false paths from the registers in the core logic to the clocks.

Note: If any of the profile or configuration switch involves switching from FIFO to the register mode, then the false paths should be set between the PCS-PMA interface register and the core logic because the common clock point is within the PCS-PMA interface.

Intel ®

562

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Note:

For example, if the base configuration of the above case is configured for the TX and

RX FIFOs in the Register Mode, the following constraint needs to be created:

• set_false_path -from [get_registers {native:native_inst| native_altera_xcvr_native_a10_150_lzjn6xi:xcvr_native_a10_0| twentynm_xcvr_native:g_xcvr_native_insts[0].twentynm_xcvr_nati

ve_inst| twentynm_xcvr_native_rev_20nm5es:twentynm_xcvr_native_inst| twentynm_pcs_rev_20nm5es:inst_twentynm_pcs| gen_twentynm_hssi_tx_pld_pcs_interface.inst_twentynm_hssi_tx_p

ld_pcs_interface~pma_tx_pma_clk_reg.reg}] -to [get_registers

<Core Logic B>]

• set_false_path -from [get_registers {native:native_inst| native_altera_xcvr_native_a10_150_lzjn6xi:xcvr_native_a10_0| twentynm_xcvr_native:g_xcvr_native_insts[0].twentynm_xcvr_nati

ve_inst| twentynm_xcvr_native_rev_20nm5es:twentynm_xcvr_native_inst| twentynm_pcs_rev_20nm5es:inst_twentynm_pcs| gen_twentynm_hssi_rx_pld_pcs_interface.inst_twentynm_hssi_rx_p

ld_pcs_interface~pma_rx_pma_clk_reg.reg}] -to [get_registers

<Core Logic B>]

When the dynamic reconfiguration (multi profiles) is enabled, do not move or rename the IP directory. Moving the IP location causes Quartus to fail to pick up the configuration profiles. If the IP directory is changed, the default configuration can be successfully time constrained and analyzed, but the non-default configuration has timing issues as the timing arc may be missing.

6.18. Unsupported Features

The following features are not supported by either the Transceiver Native PHY IP core or the PLL IP reconfiguration interface:

• Reconfiguration from a bonded configuration to a non-bonded configuration, or vice versa

• Reconfiguration from a bonded protocol to another bonded protocol

• Reconfiguration from PCIe (with Hard IP) to PCIe (without Hard IP) or non-PCIe bonded protocol switching

• Switching between bonding schemes, such as xN to feedback compensation

• Master CGB reconfiguration

• Switching between two master CGBs

• Serialization factor changes on bonded channels

• TX PLL switching on bonded channels

Note: Transceiver Native PHY IP non-bonded configuration to another Transceiver Native PHY

IP non-bonded configuration is supported.

Intel ® Arria ® 10 Transceiver PHY User Guide

563

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

6.19. Arria 10 Transceiver Register Map

The transceiver register map provides a list of available PCS, PMA, and PLL addresses that are used in the reconfiguration process.

Use the register map in conjunction with a transceiver configuration file generated by the Arria 10 Native PHY IP core. This configuration file includes details about the registers that are set for a specific transceiver configuration. Do not use the register map to locate and modify specific registers in the transceiver. Doing so may result in an illegal configuration. Refer to a valid transceiver configuration file for legal register values and combinations.

The register map is provided as an Excel spreadsheet for easy search and filtering.

Related Information

Arria 10 Transceiver Register Map

6.20. Reconfiguration Interface and Dynamic Revision History

Changes Document

Version

2018.06.15

2017.11.06

2016.10.31

2016.05.02

2015.12.18

Made the following change:

• Added instructions on how to enable the Transceiver Toolkit capability in the Native PHY IP to

Dynamic Reconfiguration Parameters.

Made the following changes:

• Updated the note in "Changing VOD, Pre-emphasis Using Direct Reconfiguration Flow" topic to "The

PMA analog settings are governed by a set of rules. Not all combinations of V

OD

and pre-emphasis are valid. Please refer to Arria 10 Pre-Emphasis and Output Swing Settings for current valid settings. Also, refer to "Analog Parameter Settings" and setup guidelines on post_tap polarity settings."

• Updated the description of bit [25:16] in table "Mapping of SystemVerilog Configuration File Line" to

"DPRIO address. Refer to Intel Arria 10 Transceiver Register Map for details of the address."

• Changes the configurations file path to "

<IP instance name>\altera_xcvr_<IP type>_a10_<quartus version>\synth\reconfig

".

• Added Examples 1 and 2 in "fPLL Reference Clock Switching" topic.

Made the following changes:

• "VGA" PMA Analog Feature added in "PMA Analog Settings that are Channel or System Dependent" table.

• Updated the value of AC Gain Control of High Gain Mode CTLE parameter to

radp_ctle_acgain_4s_0 to radp_ctle_acgain_4s_28 in the "Analog PMA Settings (Optional) for

Dynamic Reconfiguration" table.

• Updated the value of Slew Rate Control parameter to slew_r0 to slew_r5 in the "Analog PMA

Settings (Optional) for Dynamic Reconfiguration" table.

Made the following changes

• Removed the topic "On-Die Instrumentation" and related information from the user guide.

• Edited "Native PHY IP" with "Native PHY IP and ATX PLL IP" wherever necessary.

• Edited "Embedded Reconfiguration Steamer" topic.

• Edited the "Arbitration" topic.

• Edited the "Using PRBS and Square Wave Data Pattern Generator and Checker" for bonded as well as non bonded designs. Also added all the examples for each case.

• Updated "Changing CTLE Settings in Manual Mode Using Direct Reconfiguration Flow" topic.

Made the following changes: continued...

Intel ®

564

Arria ® 10 Transceiver PHY User Guide

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Document

Version

2015.11.02

2015.05.11

2014.12.15

Changes

• Updated the switching bit register definitions in the “Register Map for Switching fPLL Reference

Clock Inputs” table

• Updated the “Bit Values to Be Set” table in the “Enabling and Disabling Loopback Modes Using

Direct Reconfiguration Flow” section.

Made the following changes:

• Changed the procedure in the "Steps to Perform Dynamic Reconfiguration" section to be more general, allowing procedures in other sections to refer to it.

• Added the "Changing VOD, Pre-emphasis Using Direct Reconfiguration Flow" section.

• Added the "Analog PMA Settings (Optional) for Dynamic Reconfiguration" table.

• Removed four tables from the "On-Die Instrumentation" section.

• Changed the procedure in the "Using ODI to Build On-chip Eye Process" section.

• Added entry to “Arria 10 Dynamic Reconfiguration Feature Support” table

• Improved description of access requests in the “Interacting with the Reconfiguration Interface” section

• Updated the “Configuration Files” section

• Added information to the “Embedded Reconfiguration Streamer” section

• Modified the “Arria 10 Native PHY with Embedded Streamer” figure

• Described the two levels of arbitration in the “Arbitration” section

• Converted the “Steps to Perform Dynamic Reconfiguration” figure in the “Steps to Perform Dynamic

Reconfiguration” section to a set of procedures

• Added the “Reset Recommendations for Dynamic Reconfiguration” section

• Added information about the PMA analog settings to the “Changing PMA Analog Parameters” section

• Added steps to the procedure in the “Changing CTLE Settings in Manual Mode” section

• Updated the steps in the procedures in the “Serial Loopback Mode” section

• Changed title of “IP Guided Reconfiguration Flow” to “Native PHY or PLL IP Guided Reconfiguration

Flow”

• Updated the steps in the procedures in the “Native PHY or PLL IP Guided Reconfiguration Flow” and added a note following the first procedure

• Updated the steps in the procedure in the “Switching Transmitter PLL” section

• Updated the steps in the procedures in the “ATX Reference Clock,” “fPLL Reference Clock,” and “CDR and CMU Reference Clock,” sections

• Updated the “Avalon Interface Parameters” table to show which parameter editors are valid for each parameter

• Corrected values in step 1a in the “Start Pattern Checker” section

• Added information about hard PRBS blocks to the “PRBS Soft Accumulators” section

• Added list of PRBS checker control and status signals to the “Using PRBS and Square Wave Data

Pattern Generator and Checker” section

• Updated the steps in the procedures in the “Enabling the PRBS and Square Wave Data Generator” and the “Enabling the PRBS and Data Checker” sections

• Updated the steps in the procedures in the “Examples of Enabling the PRBS9 and PRBS31 Pattern

Generators” and the “Examples of Enabling the PRBS Data Checker” sections

• Updated the steps in the procedure in the “Enabling Pseudo Random Pattern Mode” section

Made the following changes:

• Completely revised, updated, and reorganized the chapter.

• Added the following new sections:

— Multiple Reconfiguration Profiles

— Embedded Reconfiguration Streamer

— Arbitration

— Enabling and Disabling Loopback Modes

— IP Guided Reconfiguration Flow

— On-Die Instrumentation

— Altera Debug Master Endpoint

— ODI Acceleration Logic

Made the following changes: continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

565

6. Reconfiguration Interface and Dynamic Reconfiguration

UG-01143 | 2018.06.15

Document

Version

2014.10.08

2014.08.15

2013.12.02

Changes

• Re-organized the chapter outline to better match the reconfiguration flow.

• Updated the introduction section of the chapter to better explain dynamic reconfiguration use cases.

• Added figures Reconfiguration Interface in Arria 10 Transceiver IP Cores and Top Level Signals of

the Reconfiguration Interface.

• Added Timing Closure Recommendations section.

• Changed Max Vod Value in Table: PMA Analog Feature Offsets.

• Updated Table: Valid Maximum Pre-Emphasis Settings.

• Updated the Ports and Parameters section:

— Updated the description to better indicate the difference between "Shared" and "Not Shared" reconfiguration interface.

— Updated Avalon clock frequency to 100 MHz.

— Updated the signal names in Table: Reconfiguration Interface Ports with Shared Reconfiguration

Interface Enabled and Reconfiguration Interface Ports with Shared Reconfiguration Interface

Disabled.

• Added a description in Interfacing with Reconfiguration Interface section to indicate the steps to request access of the Avalon-MM interface.

• Updated steps in Performing a Read to the Reconfiguration Interface and Performing a Write to the

Reconfiguration Interface sections.

• Updated Using Configuration Files section to with a detailed description of when to use configuration files.

• Updated the steps in Switching Transmitter PLL, Switching Reference Clocks, and Changing PMA

Analog Parameters sections.

Made the following changes:

• Minor editorial changes. Corrected typographical errors in Ports and Parameters and Native PHY IP

Core Embedded Debug sections.

• Corrected an error in "Example 6-1: Steps to Merge Transceiver Channels" in Document Channel

Merging Requirements section.

Made the following changes:

• Updated MegaWizard references to IP Catalog or Parameter Editor.

• Updated table "Avalon Interface Parameters"

— Added description for Altera Debug Master Endpoint.

— Added Embedded Debug Parameters.

• Corrected typos and updated values in table "PMA Analog Feature Offsets".

• Added a new table "Valid Maximum Pre-Emphasis Settings" in Changing Analog Parameters Section.

• Updated the description for 0xB reconfiguration address bit[7:5] in table "PRBS Checker Offsets".

• Updated the Unsupported Features section and removed some unsupported features.

• Changed the name of Transceiver and PLL Address Map to Arria 10 Transceiver Register Map.

Updated the description to better explain the scope of the register map.

• Added a new section for Embedded Debug feature.

Initial release.

Intel ®

566

Arria ® 10 Transceiver PHY User Guide

UG-01143 | 2018.06.15

7. Calibration

Note:

Transceivers include both analog and digital blocks that require calibration to compensate for process, voltage, and temperature (PVT) variations. Arria 10 transceiver uses hardened Precision Signal Integrity Calibration Engine (PreSICE) to perform calibration routines.

Power-up Calibration and User Recalibration are the main types of calibration.

• Power-up calibration occurs automatically at device power-up. It runs during device configuration.

• If you perform dynamic reconfiguration, then you must perform User

Recalibration. In this case, you are responsible for enabling the required calibration sequence.

If you are recalibrating your ATX PLL or fPLL, follow the ATX PLL-to-ATX PLL or fPLL-to-

ATX PLL spacing guideline as stated in the "Transmit PLLs Spacing Guideline when using ATX PLLs and fPLLs" chapter.

Arria 10 devices use CLKUSR for transceiver calibration. To successfully complete the calibration process, the CLKUSR clock must be stable and free running at the start of

FPGA configuration. Also, all reference clocks driving transceiver PLLs (ATX PLL, fPLL,

CDR/CMU PLL) must be stable and free running at start of FPGA configuration. For more information about

CLKUSR

pin requirements, refer to the Arria 10 GX, GT, and

SX Device Family Pin Connection Guidelines.

Related Information

Transmit PLLs Spacing Guideline when using ATX PLLs and fPLLs

on page 349

• Arria 10 GX, GT, and SX Device Family Pin Connection Guidelines

7.1. Reconfiguration Interface and Arbitration with PreSICE

Calibration Engine

In Arria 10 devices, calibration is performed using the Precision Signal Integrity

Calibration Engine (PreSICE). The PreSICE includes an Avalon-MM interface to access the transceiver channel and PLL programmable registers. This Avalon-MM interface includes a communication mechanism that enables you to request specific calibration sequences from the calibration controller.

The PreSICE Avalon-MM interface and user Avalon-MM reconfiguration interface both share an internal configuration bus. This bus is arbitrated to gain access to the transceiver channel and PLL programmable registers, and the calibration registers.

Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.

*Other names and brands may be claimed as the property of others.

ISO

9001:2008

Registered

7. Calibration

UG-01143 | 2018.06.15

There are two ways to check who has the access to the internal configuration bus:

• Use reconfig_waitrequest

• Use capability registers

The Native PHY IP core and PLL default setting is to use reconfig_waitrequest

.

When PreSICE controls the internal configuration bus, the reconfig_waitrequest from the internal configuration bus is high. When user access is granted, the reconfig_waitrequest

from the internal configuration bus goes low. At the Avalon-

MM reconfiguration interface, the reconfig_waitrequest

can come from a few places inside Native PHY IP core. For example, it can come from the internal configuration bus, streamer, and so on. They are bundled together and become single reconfig_waitrequest

at the Avalon-MM reconfiguration interface. The reconfig_address

determines which reconfig_waitrequest

to show at the

Avalon-MM reconfiguration interface. After you return the internal configuration bus to

PreSICE, the reconfig_waitrequest

from the internal configuration bus is high. If you set the reconfig_address

to the streamer offset address at the Avalon-MM reconfiguration interface during calibration, the reconfig_waitrequest

can be low before calibration is finished. If you keep the reconfig_address internal configuration bus offset address during calibration, the

the same as the reconfig_waitrequest

at the Avalon-MM reconfiguration interface is high until

PreSICE returns the internal configuration bus to you. It is important to keep reconfig_address static during calibration.

To use capability registers to check bus arbitration, you do the following to generate the IP:

1. Select Enable dynamic reconfiguration from the Dynamic Reconfiguration tab.

2. Select both the Separate reconfig_waitrequest from the status of AVMM

arbitration with PreSICE and Enable control and status registers options.

You can read the capability register 0x281[2] to check who is controlling the channel access, and read the capability register 0x280[2] to check who is controlling the PLL access. When Separate reconfig_waitrequest from the status of AVMM

arbitration with PreSICE and Enable control and status registers are enabled, the reconfig_waitrequest

is not asserted high when PreSICE controls the internal configuration bus.

To return the internal configuration bus to PreSICE:

• In order to trigger user re-calibration:

— Write 0x01 to offset address 0x000 [7:0], user re-calibration has to request through offset address 0x100.

• In order to trigger DFE adaptation:

— Write 0x03 to offset address 0x000 [7:0], DFE adaptation triggering has to enable through 0x100[6].

• If you no longer need to use the internal reconfiguration bus:

— Write 0x03 to offset address 0x000 [7:0].

Intel ®

568

Arria ® 10 Transceiver PHY User Guide

7. Calibration

UG-01143 | 2018.06.15

To check if the calibration process is running, do one of the following:

• Monitor the pll_cal_busy

, tx_cal_busy

, and rx_cal_busy

signals.

• Read the

*_cal_busy

signal status from the capability registers.

The

*_cal_busy

signals remain asserted as long as the calibration process is running. To check whether or not calibration is done, you can read the capability registers or check the

*_cal_busy

signals. The reconfig_waitrequest

from the

Avalon-MM reconfiguration interface is not a reliable indicator to check whether or not calibration is done. If you write 0x2 to 0x0 during calibration, PreSICE can stop the calibration process and return the internal configuration bus back to you; therefore, calibration is not done while the reconfig_waitrequest

is low. The PMA tx_cal_busy

and rx_cal_busy

are from the same internal node which cannot be separated from the hardware. Configure the capability register 0x281[5:4] to enable or disable tx_cal_busy

or rx_cal_busy

individually through the Avalon-MM reconfiguration interface.

Related Information

Arbitration

on page 512

• Avalon Interface Specifications

Reconfiguration Interface and Dynamic Reconfiguration Chapter

on page 502

7.2. Calibration Registers

The Arria 10 transceiver PMA and PLLs include the following types of registers for calibration:

• Avalon-MM interface arbitration registers

• Calibration enable registers

• Capability registers

• Rate switch flag registers

The Avalon-MM interface arbitration registers enable you to request internal configuration bus access.

The PMA and PLL calibration enable registers for user recalibration are mapped to offset address 0x100. All calibration enable registers are self-cleared after the calibration process is completed.

The tx_cal_busy

, rx_cal_busy

, ATX PLL pll_cal_busy

, and fPLL pll_cal_busy

signals are available from the capability registers.

The rate switch flag registers are only used for CDR rate change.

7.2.1. Avalon-MM Interface Arbitration Registers

Table 296.

Avalon-MM Interface Arbitration Registers

Bit

[0]

Offset Address

0x0 (64)

Description

This bit arbitrates the control of Avalon-MM interface.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

569

7. Calibration

UG-01143 | 2018.06.15

Note:

Bit

[1]

Offset Address

0x0

Description

• Set this bit to 0 to request control of the internal configuration bus by user.

• Set this bit to 1 to pass the internal configuration bus control to

PreSICE.

This bit indicates whether or not calibration is done. This is the inverted cal_busy

signal. You can write to this bit; however, if you accidentally write 0x0 without enabling any calibration bit in

0x100, PreSICE may not set this bit to 0x1, and cal_busy

remain high. Channel reset is triggered if reset controller.

cal_busy

is connected to the

• 0x1 = calibration completed.

• 0x0 = calibration not completed.

The cal_busy

signal is activated two clock cycles after you write 0x0 to this bit.

During calibration when Nios is controlling the internal configuration bus, you can not read offset address 0x0. However, you can write 0x0 to offset address 0x0[0] to request bus access.

7.2.2. Transceiver Channel Calibration Registers

Table 297.

Transceiver Channel PMA Calibration Registers

5

6

3

4

Bit

0

1

2

7

PMA Calibration Enable Register Offset Address 0x100

Reserved

PMA RX calibration enable

Reserved

Reserved

Reserved

PMA TX calibration enable

Write 1'b0 to 0x100 [6] when you enable any PMA channel calibration to ensure adaptation triggering request is disable.

Reserved

7.2.3. Fractional PLL Calibration Registers

Table 298.

Fractional PLL Calibration Registers

Bit

0

1 fPLL Calibration Enable Register Offset Address 0x100

Reserved fPLL calibration enable. Set 1 to enable calibration.

(64) The transceiver channel, ATX PLL, and fPLL use the same offset address.

Intel ®

570

Arria ® 10 Transceiver PHY User Guide

7. Calibration

UG-01143 | 2018.06.15

7.2.4. ATX PLL Calibration Registers

Table 299.

ATX PLL Calibration Registers

Bit

0

1

ATX PLL Calibration Enable Register Offset Address 0x100

ATX PLL calibration enable. Set 1 to enable calibration.

Reserved

During calibration when reconfig_waitrequest calibration enable registers.

is high, you cannot read or write

To enable calibration, you must perform a read-modify-write on offset address 0x100.

The following steps are an example of how to enable the ATX PLL calibration enable bit:

1. Read the offset address 0x100.

2. Keep the value from MSB[7:1] and set LSB[0] to 1.

3. Write new value to offset address 0x100.

7.2.5. Capability Registers

Capability registers allow you to read calibration status through the Avalon-MM reconfiguration interface. They are soft logic and reside in the FPGA fabric.

Reading capability registers does not require bus arbitration. You can read them during the calibration process.

To use capability registers to check calibration status, you must enable the capability registers when generating the Native PHY or PLL IP cores. To enable the capability registers, select the Enable capability registers option in the Dynamic

Reconfiguration tab.

The tx_cal_busy

and rx_cal_busy

signals from the hard PHY are from the same hardware and change state (high/low) concurrently during calibration. The register bits 0x281[5:4] are defined to solve this issue. This prevents a TX channel being affected by RX calibration, or an RX channel being affected by TX calibration. This feature cannot be enabled, when a Simplex TX and Simplex RX channel merging is involved. To merge a Simplex TX and a Simplex RX channel into one physical channel, refer to

Dynamic Reconfiguration Interface Merging Across Multiple IP Blocks

on page

542.

Intel ® Arria ® 10 Transceiver PHY User Guide

571

7. Calibration

UG-01143 | 2018.06.15

Rules to Build Customized Gating Logic to Separate tx_cal_busy and rx_cal_busy signals

Figure 281. An Example of an AND Gate used as Customized Logic

The customized gates shown in the following figure are an example and not a unique solution

Customized Gates reset

Simplex

TX tx_cal_busy_out_en

JTAG to

Avalon

Master

Bridge tx/rx_cal_busy_out tx_cal_busy Reset

Controller reset reset

Simplex

RX rx_cal_busy_out_en rx_cal_busy Reset

Contoller reset

The capability register is not available for merging a Simplex TX and a Simplex RX signal into the same physical channel. The tx_cal_busy_out

and rx_cal_busy_out

signals share the same port. So, you should build customized gating logic to separate them.

• The tx_cal_busy_out_en

signal enables the tx_cal_busy

output.

• The rx_cal_busy_out_en

signal enables the rx_cal_busy

output.

• At power up,

“1”.

tx_cal_busy_out_en

and rx_cal_busy_out_en

should be set to

• At normal operation:

— When the RX is calibrating, setting tx_cal_busy_out_en

to “0” and rx_cal_busy_out_en

to “1” disables tx_cal_busy, so the TX does not reset while RX is calibrating.

— When the TX is calibrating, setting rx_cal_busy_out_en

to “0” and tx_cal_busy_out_en

to “1” disables rx_cal_busy

, so the RX does not reset while TX is calibrating.

Table 300.

PMA Capability Registers for Calibration Status

0x281[5]

0x281[4]

0x281[2]

Bit Description

PMA channel rx_cal_busy

output enable. The power up default value is 0x1.

0x1: The rx_cal_busy

output and 0x281[1] are asserted high whenever PMA TX or RX calibration is running.

0x0: The rx_cal_busy

output or 0x281[1] is never asserted high.

PMA channel tx_cal_busy

output enable. The power up default value is 0x1.

0x1: The tx_cal_busy

output and 0x281[0] are asserted high whenever PMA TX or RX calibration is running.

0x0: The tx_cal_busy

output or 0x281[0] is never asserted high.

PreSICE Avalon-MM interface control. This register is available to check who controls the bus, no matter if, separate reconfig_waitrequest of AVMM arbitration with PreSICE is enabled or not.

from the status

0x1: PreSICE is controlling the internal configuration bus.

continued...

Intel ®

572

Arria ® 10 Transceiver PHY User Guide

7. Calibration

UG-01143 | 2018.06.15

0x281[1]

0x281[0]

Bit Description

0x0: The user has control of the internal configuration bus.

PMA channel rx_cal_busy

active high

0x1: PMA RX calibration is running

0x0: PMA RX calibration is done

PMA channel tx_cal_busy

active high

0x1: PMA TX calibration is running

0x0: PMA TX calibration is done

The PMA 0x281[5:4] is used to isolate the TX and RX calibration busy status. If you want rx_cal_busy

unchanged during the TX calibration, you must set 0x281[5] to

0x0 before returning the bus to PreSICE. The channel RX is not reset due to the TX calibration. If you want tx_cal_busy

unchanged during the RX calibration, you must set 0x281[4] to 0x0 before returning the bus to PreSICE. The channel TX is not reset due to the RX calibration. If you accidentally write 0x00 to 0x281[5:4], tx_cal_busy and rx_cal_busy

are never activated to high in the user interface. Neither of the

0x281[1:0] registers go high either.

Table 301.

ATX PLL Capability Registers for Calibration Status

0x280[2]

0x280[1]

Bit Description

PreSICE Avalon-MM interface control. This register is available to check who controls the bus, no matter if, separate reconfig_waitrequest of AVMM arbitration with PreSICE is enabled or not.

from the status

0x1: PreSICE is controlling the internal configuration bus.

0x0: The user has control of the internal configuration bus.

ATX PLL pll_cal_busy

0x1: ATX PLL calibration is running

0x0: ATX PLL calibration is done

Table 302.

fPLL Capability Registers for Calibration Status

0x280[2]

0x280[1]

Bit Description

PreSICE Avalon-MM interface control

0x1: PreSICE is controlling the internal configuration bus. This register is available to check who controls the bus, no matter if, separate reconfig_waitrequest from the status of AVMM arbitration with PreSICE is enabled or not.

0x0: The user has control of the internal configuration bus.

fPLL pll_cal_busy

0x1: fPLL calibration is running

0x0: fPLL calibration is done

7.2.6. Rate Switch Flag Register

The rate switch flag is for CDR charge pump calibration. Each SOF has CDR default charge pump settings. After power up, these settings are loaded into the PreSICE memory space. If you change the line rate, it may require new charge pump settings, which are stored into the Avalon-MM reconfiguration register space. During RX PMA calibration (including CDR), PreSICE needs to know which set of CDR charge pump setting to use.

Intel ® Arria ® 10 Transceiver PHY User Guide

573

7. Calibration

UG-01143 | 2018.06.15

If you set 0x166[7] = 0x1, PreSICE assumes the setting in its memory space is still valid. If after a rate change you set 0x166[7]=0x0, PreSICE uses the setting from the

Avalon-MM reconfiguration register uploaded from the dynamic reconfiguration interface or MIF streamed in. After calibration, 0x166[7] = 0x1 is set automatically and PreSICE uses the settings in its memory space. The rate switch flag only tells

PreSICE where to obtain the CDR charge pump settings for CDR calibration. The rate switch flag should be used only when there is a rate change.

Multiple MIF files are required for rate change and reconfiguration. When the MIF, which you want to stream in, has CDR charge pump setting 0x139[7] and 0x133[7:5] that is different from the previous MIF, you need to recalibrate with 0x166[7]=0x0. If you stream in the whole MIF, the 0x166[7] is set to the correct value inside the MIF. If you stream in reduced MIF, you need to check if CDR charge pump setting 0x139[7] and 0x133[7:5] are inside the reduced MIF or not. If the reduced MIF has CDR charge pump setting 0x139[7] and 0x133[7:5] updated, you need to set 0x166[7]=0x0, if the reduced MIF does not include 0x139[7] and 0x133[7:5], you need to set

0x166[7]=0x1.

Table 303.

Rate Switch Flag Register for CDR Calibration

0x166[7]

Bit Description

Rate switch flag register. Power up default value is 0x1.

0x1, PreSICE uses the default CDR charge pump bandwidth from the default memory space.

0x0, PreSICE uses the CDR charge pump bandwidth setting from the DPRIO register space.

If you use the Avalon-MM reconfiguration interface to perform a rate change, you must write 0x0 to 0x166[7] before returning the bus to PreSICE.

7.3. Power-up Calibration

After the device is powered up and programmed, PreSICE automatically initiates the calibration process. The calibration process may continue during device programming.

The time required after device power-up to complete the calibration process can vary by device. The total time taken can extend into the user-mode. The cal_busy

signals deassert to indicate the completion of the calibration process. You must ensure that the transceiver reset sequence in your design waits for the calibration to complete before resetting the transceiver PLL and the transceiver channel.

The PreSICE may still control the internal configuration bus even after power-up calibration is complete. You can request access when needed. If a system has an fPLL, an ATX PLL, and channels, the fPLL cal_busy

signal goes low first. The ATX PLL cal_busy

signal goes low after the channels’ tx_cal_busy

and rx_cal_busy signals. Intel recommends that you wait until all requesting any access.

*_cal_busy

signals are low before

All power-up calibration starts from Vreg calibration for all banks and channels.

Intel ®

574

Arria ® 10 Transceiver PHY User Guide

7. Calibration

UG-01143 | 2018.06.15

Figure 282. Power-up Calibration Sequence for Non-PCIe Hard IP (HIP) Channels

For applications not using PCIe Hard IP, the power-up calibration starts from Vreg calibration for all banks and channels. Then, PreSICE calibration is done in the sequence as shown in the following figure.

Bank ...

Bank 2

Bank 1

ATX PLL Calibration

After All ATX PLLs Calibrated

Bank ...

Bank 2

Bank 1 fPLL Calibration

After All fPLLs Calibrated

Bank ...

Bank 2

Bank 1

RX PMA and TX PMA Calibration (1)

(1) CDR and CMU PLL calibration are part of RX

PMA calibration.

For applications using both PCIe Hard IP and non-PCIe channels, the power-up calibration sequence is:

1. Vreg calibration for all banks and channels.

2. Wait for PCIe reference clock toggle.

3. PCIe Hard IP 0 calibration (if used).

4. PCIe Hard IP 1 calibration (if used).

5. Calibration of all non-PCIe Hard IP channels in calibration sequence.

Intel ® Arria ® 10 Transceiver PHY User Guide

575

7. Calibration

UG-01143 | 2018.06.15

Figure 283. Power-up Calibration Sequence for PCIe Hard IP and non-PCIe Channels

Vreg Calibration for All

Transceiver Banks and Channels

PCIe Channels Calibration

ATX PLL Calibration

Hard IP 1

Hard IP 0

After All ATX PLL Calibrated

Hard IP 1

Hard IP 0 fPLL Calibration

After All fPLL Calibrated

Hard IP 1

Hard IP 0

RX PMA and TX PMA Calibration (1)

Non-PCIe Channels Calibration

Bank ...

Bank 2

Bank 1

ATX PLL Calibration

After All ATX PLLs Calibrated

Bank ...

Bank 2

Bank 1 fPLL Calibration

After All fPLLs Calibrated

Bank ...

Bank 2

Bank 1

RX PMA and TX PMA Calibration (1)

(1) CDR and CMU PLL calibration are part of RX PMA calibration.

7.4. User Recalibration

User Recalibration is needed if below conditions are met:

Intel ®

576

Arria ® 10 Transceiver PHY User Guide

7. Calibration

UG-01143 | 2018.06.15

Note:

• During Device Power Up:

— During device power up,

CLKUSR

is asserted and running, but the transceiver reference clock remains deasserted until after the power up process is complete.

— During device power up,

CLKUSR

and the transceiver reference clock are asserted and running. When the device power up process is complete, the transceiver reference clock changes frequency. Either the transceiver reference clock could become unstable, or your application requires a different transceiver reference clock during normal operation, which could cause a data rate change.

• After a dynamic reconfiguration process that triggers a data rate change:

After device power up in normal operation, you reconfigure the transceiver data rate by changing the channel configurations or the PLLs, recalibrate the:

— ATX PLL if ATX PLL has new VCO frequency to support new data rate.

— fPLL if the fPLL has new VCO frequency to support new data rate.

Note: fPLL recalibration is not needed if the dynamic reconfiguration method used to achieve new data rate (new VCO frequency) is done using the fPLL L counter /1,2,4,8 division factor.

— CDU/CMU as TX PLL. You must recalibrate the RX PMA of the channel which uses the CMU as TX PLL.

— RX PMA and TX PMA channel if the transceiver configuration changes to support new data rates.

• Other conditions that require a user recalibration:

— Recalibrate the fPLL if the fPLL is connected as a second PLL (downstream cascaded PLL). The downstream fPLL received the reference clock from the upstream PLL (could be from fPLL/ CDR). Recalibrating the second fPLL is important especially if the upstream PLL output clock (which is the downstream fPLL's reference clock) is not present or stable during power-up calibration.

— For ATX PLL or fPLL used to drive PLL feedback compensation bonding, recalibrate the PLL after power up calibration.

If you are recalibrating your ATX PLL or fPLL, follow the ATX PLL-to-ATX PLL or fPLL-to-

ATX PLL spacing guideline as stated in the "Transmit PLLs Spacing Guideline when using ATX PLLs and fPLLs" chapter.

You can initiate the recalibration process by writing to the specific recalibration registers. You must also reset the transceivers after performing user recalibration. For example, if you perform data rate auto-negotiation that involves PLL reconfiguration, and PLL and channel interface switching, then you must reset the transceivers.

The proper reset sequence is required after calibration. Intel recommends you use the

Transceiver PHY Reset Controller which has tx_cal_busy

and rx_cal_busy

inputs and follow Intel's recommended reset sequence. You need to connect tx_cal_busy and rx_cal_busy

from the Native PHY IP core outputs to the reset controller inputs in your design. Reset upon calibration is automatically processed when you perform user recalibration.

Intel ® Arria ® 10 Transceiver PHY User Guide

577

7. Calibration

UG-01143 | 2018.06.15

Follow these steps to perform user recalibration:

1. Request internal configuration bus user access to the calibration registers by writing 0x2 to offset address 0x0[7:0].

2. Wait for reconfig_waitrequest

to be deasserted (logic low). Or wait until capability register of PreSICE Avalon-MM interface control =0x0. The avmm_busy status register is 0x281[2] for PMA channel calibration and 0x280[2] for ATX PLL and fPLL calibration.

3. Set the required calibration enable bits by doing Read-Modify-Write the proper value to offset address 0x100. You must also set the 0x100 [6] to 0x0 when you enable any PMA channel calibration to ensure adaptation triggering is disabled.

4. Set rate switch flag register for PMA calibration, skip this step for ATX PLL and fPLL calibration.

• Read-Modify-Write 0x1 to offset address 0x166[7] if no CDR rate switch.

• Read-Modify-Write 0x0 to offset address 0x166[7] if switched rate with different CDR bandwidth setting.

5. Set the proper value to capability register 0x281[5:4] for PMA calibration to enable/disable tx_cal_busy

or rx_cal_busy

output.

• To enable rx_cal_busy

, Read-Modify-Write 0x1 to 0x281[5].

• To disable rx_cal_busy

, Read-Modify-Write 0x0 to 0x281[5].

• To enable tx_cal_busy

, Read-Modify-Write 0x1 to 0x281[4].

• To disable tx_cal_busy

, Read-Modify-Write 0x0 to 0x281[4].

6. Release the internal configuration bus to PreSICE to perform recalibration by writing 0x1 to offset address 0x0[7:0]. Recalibration is in progress until the cal_busy

signals are deasserted (logic low).

7. Periodically check the

*cal_busy

output signals or read the capability registers to check

*cal_busy

status until calibration is complete.

Related Information

Recommended Reset Sequence

on page 418

Implementing PLL Feedback Compensation Bonding Mode

on page 405

Implementing PLL Cascading on page 408

Transmit PLLs Spacing Guideline when using ATX PLLs and fPLLs

on page 349

Intel ®

578

Arria ® 10 Transceiver PHY User Guide

7. Calibration

UG-01143 | 2018.06.15

7.4.1. Recalibration After Transceiver Reference Clock Frequency or Data

Rate Change

Figure 284. Recalibration Sequence when the Transceiver Reference Clock or Data Rate

Changes

ATX PLL Calibration

fPLL Calibration

PMA RX

Calibration (1)

PMA TX

Calibration (2)

Calibration

Done

Note:

(1) If you are using the CDR/CMU PLL, you need to trigger RX PMA recalibration.

(2) If you are using the CMU PLL, you need to trigger RX PMA recalibration

followed by a TX PMA recalibration.

7.4.1.1. User Recalibration

User recalibration requires access to the internal configuration bus and calibration registers through the Avalon-MM reconfiguration interface. Follow the steps below to perform a user recalibration.

1. Proceed to the next step if ATX PLL is not used in your application, otherwise perform the ATX PLL calibration process: a. Request access to the internal configuration bus by writing 0x2 to offset address 0x0[7:0].

b. Wait for reconfig_waitrequest

to deassert (logic low), or wait until capability register of PreSICE Avalon-MM interface control 0x280[2]=0x0.

c. Read-Modify-Write 0x1 to the offset address 0x100[0] of the ATX PLL.

d. Release the internal configuration bus to PreSICE to perform recalibration by writing 0x1 to offset address 0x0[7:0].

e. Periodically check the

*cal_busy

output signals or read the capability registers 0x280[1] to check

*cal_busy

status until calibration is complete.

If you are recalibrating your ATX PLL and have adjacent ATX PLL used on the same side of the device, follow the ATX PLL-to-ATX PLL spacing guideline as stated in the

"Transmit PLLs Spacing Guideline when using ATX PLLs and fPLLs" chapter.

2. Proceed to the next step if fPLL is not used in your application, otherwise perform the fPLL user recalibration process:

Intel ® Arria ® 10 Transceiver PHY User Guide

579

7. Calibration

UG-01143 | 2018.06.15

a. Access the internal configuration bus by writing 0x2 to offset address

0x0[7:0].

b. Wait for reconfig_waitrequest

to deassert (logic low), or wait until capability register of PreSICE Avalon-MM interface control 0x280[2]=0x0.

c. Read-Modify-Write 0x1 to the offset address 0x100[1] of the fPLL.

d. Release the internal configuration bus to PreSICE to perform recalibration by writing 0x1 to offset address 0x0[7:0].

e. Periodically check the

*cal_busy

output signals or read the capability registers 0x280[1] to check

*cal_busy

status until calibration is complete.

If you are recalibrating your fPLL and have ATX PLL used on the same side of the device, follow the fPLL-to-ATX PLL spacing guideline as stated in the "Transmit

PLLs Spacing Guideline when using ATX PLLs and fPLLs" chapter.

3. Perform the PMA user recalibration process: a. Request access to the internal configuration bus by writing 0x2 to offset address 0x0[7:0].

b. Wait for reconfig_waitrequest

to deassert (logic low), or wait until capability register of PreSICE Avalon-MM interface control 0x281[2]=0x0.

c. Configure the PMA calibration enable register 0x100. You must set 0x0 to

0x100[6] to enable any calibration.

• Read-Modify-Write 0x1 to 0x100[1] to start PMA RX calibration.

• Read-Modify-Write 0x1 to 0x100[5] to start PMA TX calibration.

d. Do Read-Modify-Write on the rate switch flag register if you switched rates with a different CDR bandwidth setting.

e. Do Read-Modify-Write on 0x281[5:4] to disable/enable rx_cal_busy

and tx_cal_busy

.

• To enable rx_cal_busy, write

0x1 to 0x281[5].

• To disable rx_cal_busy, write

0x0 to 0x281[5].

• To enable tx_cal_busy, write

0x1 to 0x281[4].

• To disable tx_cal_busy, write

0x0 to 0x281[4].

f.

Release the internal configuration bus to PreSICE to perform recalibration by writing 0x1 to offset address 0x0[7:0].

g. Perform a loop to check the tx_cal_busy

and rx_cal_busy

output signals or read the capability registers 0x281[1:0] to check

*cal_busy

status until calibration is complete.

Related Information

Transmit PLLs Spacing Guideline when using ATX PLLs and fPLLs

on page 349

Intel ®

580

Arria ® 10 Transceiver PHY User Guide

7. Calibration

UG-01143 | 2018.06.15

7.5. Calibration Example

7.5.1. ATX PLL Recalibration

When you use the ATX PLL in your application, and it requires a line rate or clock frequency change, you must recalibrate the ATX PLL after you have made the changes.

Follow these steps to recalibrate the ATX PLL:

1. Request user access to the internal configuration bus by writing 0x2 to offset address 0x0[7:0].

2. Wait for reconfig_waitrequest

to be deasserted (logic low) or wait until capability register of PreSICE Avalon-MM interface control 0x280[2]=0x0.

3. To calibrate the ATX PLL, doing Read-Modify-Write 0x1 to bit[0] of address 0x100 of the ATX PLL.

4. Release the internal configuration bus to PreSICE to perform recalibration by writing 0x1 to offset address 0x0[7:0].

5. Periodically check the

*cal_busy

output signals or read the capability registers

0x280[1] to check

*cal_busy

status until calibration is complete.

Note: If you are recalibrating your ATX PLL and have adjacent ATX PLL used on the same side of the device, follow the ATX PLL-to-ATX PLL spacing guideline as stated in the

"Transmit PLLs Spacing Guideline when using ATX PLLs and fPLLs" chapter.

Related Information

Transmit PLLs Spacing Guideline when using ATX PLLs and fPLLs

on page 349

7.5.2. Fractional PLL Recalibration

Follow these steps to recalibrate the fPLL:

1. Request user access to the internal configuration bus by writing 0x2 to offset address 0x0[7:0].

2. Wait for reconfig_waitrequest

to be deasserted (logic low) or wait until capability register of PreSICE Avalon-MM interface control 0x280[2]=0x0.

3. To calibrate the fPLL, Read-Modify-Write 0x1 to bit[1] of address 0x100 of the fPLL.

4. Release the internal configuration bus to PreSICE to perform recalibration by writing 0x1 to offset address 0x0[7:0].

5. Periodically check the

*cal_busy

output signals or read the capability registers

0x280[1] to check

*cal_busy

status until calibration is complete.

Note: If you are recalibrating your fPLL and have ATX PLL used on the same side of the device, follow the fPLL-to-ATX PLL spacing guideline as stated in the "Transmit PLLs

Spacing Guideline when using ATX PLLs and fPLLs" chapter.

Related Information

Transmit PLLs Spacing Guideline when using ATX PLLs and fPLLs

on page 349

Intel ® Arria ® 10 Transceiver PHY User Guide

581

7. Calibration

UG-01143 | 2018.06.15

7.5.3. CDR/CMU PLL Recalibration

CDR/CMU PLL user recalibration is integrated into the PMA RX user recalibration.

Enabling 0x100[1] PMA RX calibration recalibrates the CDR/CMU PLL.

7.5.4. PMA Recalibration

PMA calibration includes:

• PMA TX calibration

• PMA RX calibration

The PMA RX calibration includes CDR/CMU PLL calibration, offset cancellation calibration, and V

CM

calibration. The TX PMA calibration includes TX termination, Vod, and DCD calibration.

Follow these steps to recalibrate the PMA:

1. Request access to the internal configuration bus by writing 0x2 to offset address

0x0[7:0].

2. Wait for reconfig_waitrequest

to be deasserted (logic low), or wait until capability register of PreSICE Avalon-MM interface control 0x281[2]=0x0.

3. Set the proper value to offset address 0x100 to enable PMA calibration. You must also set the 0x100 [6] to 0x0 when you enable any PMA channel calibration to ensure adaptation triggering is disabled.

4. Set the rate switch flag register for PMA RX calibration after the rate change.

• Read-Modify-Write 0x1 to offset address 0x166[7] if no rate switch.

• Read-Modify-Write 0x0 to offset address 0x166[7] if switched rate with different CDR bandwidth setting.

5. Do Read-Modify-Write the proper value to capability register 0x281[5:4] for PMA calibration to enable/disable tx_cal_busy

or rx_cal_busy

output.

• To enable rx_cal_busy

, Read-Modify-Write 0x1 to 0x281[5].

• To disable rx_cal_busy

, Read-Modify-Write 0x0 to 0x281[5].

• To enable tx_cal_busy

, Read-Modify-Write 0x1 to 0x281[4].

• To disable tx_cal_busy

, Read-Modify-Write 0x0 to 0x281[4].

6. Release the internal configuration bus to PreSICE to perform recalibration by writing 0x1 to offset address 0x0[7:0].

7. Periodically check the

*cal_busy

output signals or read the capability registers

0x281[1:0] to check

*cal_busy

status until calibration is complete.

Related Information

Transceiver Channel Calibration Registers

on page 570

For more details about PMA recalibration

Intel ®

582

Arria ® 10 Transceiver PHY User Guide

7. Calibration

UG-01143 | 2018.06.15

7.6. Calibration Revision History

Document

Version

2018.06.15

2017.11.06

2016.10.31

2016.05.02

2015.12.18

2015.11.02

Changes

Made the following change:

• Added a footnote: CDR and CMU PLL calibration are part of RX PMA calibration.

Made the following changes:

• Updated the flow of "User Recalibration" topic.

• Updated "

— In order to trigger user re-calibration:

• Write 0x01 to offset address 0x000 [7:0], user re-calibration has to request through offset address 0x100.

— In order to trigger DFE adaptation:

• Write 0x03 to offset address 0x000 [7:0], DFE adaptation triggering has to enable through

0x100[6].

— If you no longer need to use the internal reconfiguration bus:

• Write 0x03 to offset address 0x000 [7:0].

" in the "Reconfiguration Interface and Arbitration with PreSICE Calibration Engine" topic.

• Updated "You must also set the 0x100 [6] to 0x0 when you enable any PMA channel calibration to ensure adaptation triggering is disabled." in "User Recalibration" topic.

• Updated "PMA Calibration Enable Register Offset Address 0x100" fto "Write 1'b0 to 0x100 [6] when you enable any PMA channel calibration to ensure adaptation triggering request is disable." for bit 6 in "Transceiver Channel PMA Calibration Registers" table.

Made the following change:

• In table "Avalon-MM Interface Arbitration Registers" the description for bit [1] is changed to

"0x1=calibration completed and 0x0=calibration not started".

• Changed the "user calibration" flow.

• Changed the "power up calibration" sequence.

• Added descriptions for “Simplex calibration".

• Added a new section “Rules to Build Customized Gating Logic to Separate tx_cal_busy and rx_cal_busy signals”.

• Updated the “Power-up Calibration Sequence for Non-PCIe Hard IP (HIP) Channels”, “Power-up

Calibration Sequence for PCIe Hard IP and non-PCIe Channels”, and “Recalibration Sequence when the Transceiver Reference Clock or Data Rate Changes” figures.

• Changed the order of the “User Recalibration” steps in the “Recalibration After Transceiver

Reference Clock Frequency or Data Rate Change” section.

Made the following changes:

• Changed the description in the "Rate Switch Flag Register" section.

• Added more description to the "User Recalibration" section.

• Added information in the "PMA Recalibration" section.

Made the following changes:

• Changed the description in the "Reconfiguration Interface and Arbitration with PreSICE Calibration

Engine" section.

• Changed the description in the "Calibration Registers" section.

• Changed the "Transceiver Channel PMA Calibration Registers for Production Devices" table.

• Removed description from the "Transceiver Channel Calibration Registers" section.

• Changed values in the "Fractional PLL Calibration Registers" table.

• Changed the "PMA Capability Registers for Calibration Status" table.

• Added the "ATX PLL Capability Registers for Calibration Status" table.

• Added the "fPLL Capability Registers for Calibration Status" table.

• Added description to the "Capability Registers" section.

• Added the "Rate Switch Flag Register" section.

• Added steps to the "User Recalibration" section.

• Changed the description in the "CDR/CMU PLL Recalibration" section.

• Added steps to the "PMA Recalibration" section.

continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

583

7. Calibration

UG-01143 | 2018.06.15

Document

Version

2015.05.11

2014.12.15

Changes

• Changed the "Recalibration Sequence when the Transceiver Reference Clock or Data Rate Changes" figure.

• Added steps to the "User Recalibration" section.

• Updated the "Transceiver Channel PMA Calibration Registers for Production Devices" table.

• Updated the "Fractional PLL Calibration Registers" table.

• Updated the "ATX PLL Calibration Registers" table.

• Changed the description in the "ATX PLL Calibration Registers" section.

• Added description to the "Capability Registers" section.

• Changed the "Power-up Calibration Sequence for Non-PCIe Hard IP (HIP) Channels" figure.

• Changed the "Power-up Calibration Sequence for PCIe HIP and non-PCIe Channels" figure.

• Removed some steps from the "User Recalibration" section.

• Removed some steps from the "ATX PLL Recalibration" section.

• Removed some steps from the "Fractional PLL Recalibration" section.

• Removed some steps from the "PMA Recalibration" section.

• Removed the "Check Calibration Status" section.

Made the following changes:

• Changed register offsets globally.

• Changed the description in the "Reconfiguration Interface and Arbitration with PreSICE Calibration

Engine" section.

• Changed the description in the "Calibration Registers" section.

• Changed the descriptions and added a bit in the "Avalon-MM Interface Arbitration Registers" table.

• Changed the descriptions in the "Transceiver Channel Calibration Registers" table.

• Changed the descriptions in the "Fractional PLL Calibration Registers" table.

• Changed the descriptions in the "ATX PLL Calibration Registers" table.

• Added the "Power-up Calibration Sequence for Non-PCIe Hard IP (HIP) Channels" and "Power-up

Calibration Sequence for PCIe HIP and non-PCIe Channels" figures.

• Changed "Avalon-MM interface" to "internal configuration bus" in the "User Recalibration" section.

• Changed "Avalon-MM interface" to "internal configuration bus" in the "ATX PLL Recalibration" section.

• Changed the bit to calibrate the fPLL and changed "Avalon-MM interface" to "internal configuration bus" in the "Fractional PLL Recalibration" section.

• Changed "Avalon-MM interface" to "internal configuration bus" in the "CMU or CDR PLL

Recalibration" section.

• Changed the addresses in the "User Recalibration" section.

• Changed the addresses in the "ATX PLL Recalibration" section.

• Changed the addresses in the "Fractional PLL Recalibration" section.

• Changed the addresses in the "CDR/CMU PLL Recalibration" section.

• Changed the addresses and added descriptions in the "PMA Recalibration" section.

• Changed the addresses in the "Check Calibration Status" section.

• Changed "Avalon-MM interface" to "internal configuration bus" in the "PMA Recalibration" section.

• Added the "Capability Registers" section.

Initial release.

Intel ®

584

Arria ® 10 Transceiver PHY User Guide

UG-01143 | 2018.06.15

8. Analog Parameter Settings

Transceiver analog parameter settings are used to tune the analog functions in the physical medium attachment (PMA) and the PLL blocks while designing high-speed serial protocol solutions. You can use this feature to compensate for signal losses for high data rate communication.

Most transceiver parameters can be set using the Parameter Editor before generating the transceiver PHY IP. The parameters that depend on place and route decisions, device constraints, and tunable analog settings that cannot be set before IP generation are controlled in the following ways:

• Making analog parameter settings to I/O pins using the Assignment Editor.

• Updating the Quartus Prime Settings File (.qsf) with the known assignment.

• Using the Reconfiguration Interface to dynamically change the analog settings.

8.1. Making Analog Parameter Settings using the Assignment Editor

To make assignments using the Assignment Editor, complete the following steps:

1. On the Assignments menu, select Assignment Editor. The Assignment Editor appears.

2. Click inside the Assignment Name column and select the appropriate assignment. Refer to the PMA Analog Settings section for the list of available assignments for PMA analog settings.

3. Click inside the Value column and select the appropriate value for your assignment.

The Quartus Prime software adds these instance assignments to the .qsf file for your project.

Related Information

Analog Parameter Settings List on page 586

8.2. Updating Quartus Settings File with the Known Assignment

The Quartus Prime Settings File (.qsf) contains all the entity-level assignments and settings for the current revision of the project. The Quartus Settings File is based on

Tcl script syntax.

When you create assignments and settings using the Parameter Editor wizards and dialog boxes or Tcl commands, the Quartus Prime software automatically places the assignments at the end of the Quartus Prime Settings File. To control the analog parameters, you can directly add or modify the appropriate assignment in the Quartus

Prime Settings File. The assignments you create are recognized, regardless of where you place them in the file.

Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.

*Other names and brands may be claimed as the property of others.

ISO

9001:2008

Registered

8. Analog Parameter Settings

UG-01143 | 2018.06.15

Related Information

Quartus Prime Settings File (.qsf)

Describes the commands and options available to modify the assignments in the qsf file.

8.3. Analog Parameter Settings List

The following table lists the analog parameter settings for the transmitter and receiver.

The details of each of these settings are in the sections following this table.

Table 304.

Receiver Analog Parameter Settings

Analog Parameter Setting

XCVR_A10_RX_LINK

XCVR_A10_RX_TERM_SEL

XCVR_VCCR_VCCT_VOLTAGE

XCVR_A10_RX_ONE_STAGE_ENABL

E

XCVR_A10_RX_ADP_DFE_FXTAP1

XCVR_A10_RX_ADP_DFE_FXTAP2

Pin Planner or Assignment Editor

Name

Receiver Link Type

Receiver On-Chip-Termination

VCCR_GXB/VCCT_GXB Voltage

Receiver High Data Rate Mode

Equalizer

XCVR_A10_RX_EQ_DC_GAIN_TRIM Receiver High Gain Mode Equalizer

DC Gain Control

XCVR_A10_RX_ADP_CTLE_ACGAIN

_4S

Receiver High Gain Mode Equalizer

AC Gain Control

XCVR_A10_RX_ADP_CTLE_EQZ_1S

_SEL

XCVR_A10_RX_ADP_VGA_SEL

Receiver High Data Rate Mode

Equalizer AC Gain Control

Receiver Variable Gain Amplifier

Voltage Swing Select

Receiver Decision Feedback

Equalizer Fixed Tap One Coefficient

Receiver Decision Feedback

Equalizer Fixed Tap Two Coefficient

XCVR_A10_RX_ADP_DFE_FXTAP2_

SGN

XCVR_A10_RX_ADP_DFE_FXTAP3

Receiver Decision Feedback

Equalizer Fixed Tap Two Sign

Receiver Decision Feedback

Equalizer Fixed Tap Three

Coefficient

XCVR_A10_RX_ADP_DFE_FXTAP3_

SGN

XCVR_A10_RX_ADP_DFE_FXTAP4

XCVR_A10_RX_ADP_DFE_FXTAP4_

SGN

XCVR_A10_RX_ADP_DFE_FXTAP5

XCVR_A10_RX_ADP_DFE_FXTAP5_

SGN

XCVR_A10_RX_ADP_DFE_FXTAP6

Receiver Decision Feedback

Equalizer Fixed Tap Three Sign

Receiver Decision Feedback

Equalizer Fixed Tap Four Coefficient

Receiver Decision Feedback

Equalizer Fixed Tap Four Sign

Receiver Decision Feedback

Equalizer Fixed Tap Five Coefficient

Receiver Decision Feedback

Equalizer Fixed Tap Five Sign

Receiver Decision Feedback

Equalizer Fixed Tap Six Coefficient

Assignment

Destination

RX serial data

RX serial data

RX serial data

RX serial data

RX serial data

RX serial data

RX serial data

RX serial data

RX serial data

RX serial data

RX serial data

RX serial data

RX serial data

RX serial data

RX serial data

RX serial data

RX serial data

RX serial data

Chip-to-chip or backplane

On chip termination

VCCR/VCCT voltage

Continuous time-linear equalization (CTLE)

CTLE

VGA

Decision feedback equalization (DFE)

DFE

DFE

DFE

DFE

DFE

DFE

DFE

DFE

DFE

Usage Guideline

CTLE

CTLE continued...

Intel ®

586

Arria ® 10 Transceiver PHY User Guide

8. Analog Parameter Settings

UG-01143 | 2018.06.15

Analog Parameter Setting

XCVR_A10_RX_ADP_DFE_FXTAP6_

SGN

XCVR_A10_RX_ADP_DFE_FXTAP7

XCVR_A10_RX_ADP_DFE_FXTAP7_

SGN

XCVR_A10_RX_ADP_DFE_FXTAP8

XCVR_A10_RX_ADP_DFE_FXTAP8_

SGN

XCVR_A10_RX_ADP_DFE_FXTAP9

XCVR_A10_RX_ADP_DFE_FXTAP9_

SGN

XCVR_A10_RX_ADP_DFE_FXTAP10

XCVR_A10_RX_ADP_DFE_FXTAP10_

SGN

XCVR_A10_RX_ADP_DFE_FXTAP11

XCVR_A10_RX_ADP_DFE_FXTAP11_

SGN

Pin Planner or Assignment Editor

Name

Receiver Decision Feedback

Equalizer Fixed Tap Six Sign

Receiver Decision Feedback

Equalizer Fixed Tap Seven

Coefficient

Receiver Decision Feedback

Equalizer Fixed Tap Seven Sign

Receiver Decision Feedback

Equalizer Fixed Tap Eight Coefficient

Receiver Decision Feedback

Equalizer Fixed Tap Eight Sign

Receiver Decision Feedback

Equalizer Fixed Tap Nine Coefficient

Receiver Decision Feedback

Equalizer Fixed Tap Nine Sign

Receiver Decision Feedback

Equalizer Fixed Tap Ten Coefficient

Receiver Decision Feedback

Equalizer Fixed Tap Ten Sign

Receiver Decision Feedback

Equalizer Fixed Tap Eleven

Coefficient

Receiver Decision Feedback

Equalizer Fixed Tap Eleven Sign

Assignment

Destination

RX serial data

RX serial data

RX serial data

RX serial data

RX serial data

RX serial data

RX serial data

RX serial data

RX serial data

RX serial data

RX serial data

Table 305.

Transmitter Analog Parameter Settings

Analog Parameter Setting Pin Planner or Assignment Editor

Name

Transmitter Link Type XCVR_A10_TX_LINK

XCVR_A10_TX_TERM_SEL Transmitter On-Chip Termination

XCVR_A10_TX_COMPENSATION_EN Transmitter High-Speed

Compensation

XCVR_VCCR_VCCT_VOLTAGE

XCVR_A10_TX_SLEW_RATE_CTRL

VCCR_GXB/VCCT_GXB Voltage

Transmitter Slew Rate Control

XCVR_A10_TX_PRE_EMP_SIGN_PR

E_TAP_1T

XCVR_A10_TX_PRE_EMP_SIGN_PR

E_TAP_2T

XCVR_A10_TX_PRE_EMP_SIGN_1S

T_POST_TAP

XCVR_A10_TX_PRE_EMP_SIGN_2N

D_POST_TAP

XCVR_A10_TX_PRE_EMP_SWITCHI

NG_CTRL_PRE_TAP_1T

XCVR_A10_TX_PRE_EMP_SWITCHI

NG_CTRL_PRE_TAP_2T

Transmitter Pre-Emphasis First Pre-

Tap Polarity

Transmitter Pre-Emphasis Second

Pre-Tap Polarity

Transmitter Pre-Emphasis First

Post-Tap Polarity

Transmitter Pre-Emphasis Second

Post-Tap Polarity

Transmitter Pre-Emphasis First Pre-

Tap Magnitude

Transmitter Pre-Emphasis Second

Pre-Tap Magnitude

Assignment

Destination

TX serial data

TX serial data

TX serial data

TX serial data

TX serial data

TX serial data

TX serial data

TX serial data

TX serial data

TX serial data

TX serial data

DFE

DFE

DFE

DFE

DFE

DFE

DFE

DFE

DFE

DFE

DFE

Usage Guideline

Usage Guideline

Chip-to-chip or backplane

On chip termination

PDN ISI compensation

VCCR/VCCT voltage

Slew Rate

Pre-emphasis

Pre-emphasis

Pre-emphasis

Pre-emphasis

Pre-emphasis

Pre-emphasis continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

587

8. Analog Parameter Settings

UG-01143 | 2018.06.15

Analog Parameter Setting

XCVR_A10_TX_PRE_EMP_SWITCHI

NG_CTRL_1ST_POST_TAP

XCVR_A10_TX_PRE_EMP_SWITCHI

NG_CTRL_2ND_POST_TAP

XCVR_A10_TX_VOD_OUTPUT_SWI

NG_CTRL

Pin Planner or Assignment Editor

Name

Transmitter Pre-Emphasis First

Post-Tap Magnitude

Transmitter Pre-Emphasis Second

Post-Tap Magnitude

Transmitter Output Swing Level

Assignment

Destination

TX serial data

TX serial data

TX serial data

Table 306.

Reference Clock Analog Parameter Settings

Analog Parameter Setting

XCVR_A10_REFCLK_TERM_TRISTAT

E

Pin Planner or Assignment Editor

Name

Dedicated Reference Clock Pin

Termination

Assignment

Destination

Reference clock pin

Note:

Usage Guideline

Pre-emphasis

Pre-emphasis

Differential output voltage

Usage Guideline

On-chip termination

You must set all the required analog settings according to your protocol configuration.

If you do not set the appropriate settings, then the Quartus Prime software selects the default values which may not be appropriate for your protocol implementation.

8.4. Receiver General Analog Settings

8.4.1. XCVR_A10_RX_LINK

Pin planner or Assignment Editor Name

Receiver Link Type

Description

This parameter is configured depending on the link characteristic. Value SR is used for link insertion loss less than equal to 10dB and value LR is used for link insertion loss greater than 10dB. If this QSF assignment is not done, Quartus Prime assigns SR as the default value. Settings dependent on this parameter value are DC gain, VGA and sd_threshold for SATA. This is also used for data rate legality check during compilation.

For SR: sd_threshold for SATA = SDLV_4

For LR: sd_threshold for SATA = SDLV_6

For the default values of DC gain and VGA corresponding to RX_LINK setting, look for

QSF assignments XCVR_A10_RX_EQ_DC_GAIN_TRIM and

XCVR_A10_RX_ADP_VGA_SEL.

Table 307.

Available Options

Value

SR (Short Reach)

LR (Long Reach)

Description

Less than or equal to10dB IL, used for Chip-to-chip communication

>10dB IL, used for Backplane communication

Intel ®

588

Arria ® 10 Transceiver PHY User Guide

8. Analog Parameter Settings

UG-01143 | 2018.06.15

Assign To

RX serial data pin.

Syntax set_instance_assignment -name XCVR_A10_RX_LINK <value> -to

<rx_serial_data pin name>

Related Information

Arria 10 Device Datasheet

8.4.2. XCVR_A10_RX_TERM_SEL

Pin planner or Assignment Editor Name

Receiver On-Chip Termination

Description

Controls the on-chip RX differential termination. For data rates higher than 25 Gbps, set the termination resistance to 85 Ohm.

Note: For protocols such as QPI, you need to set the termination setting to R_R2. For all the other protocols, you can either set this setting to R_R1 or R_R2. The default value set for all the protocols other than QPI depends upon the data rate. When the data rate is less than or equal to 17.4 Gbps, the default value is R_R1. When the data rate is greater than 17.4 Gbps, the default value is R_R2.

Table 308.

Available Options

Value

R_EXT0

R_R1

R_R2

Description

Tristate

100 Ohm

85 Ohm

Assign To

RX serial data pin.

Syntax set_instance_assignment -name XCVR_A10_RX_TERM_SEL <value> -to

<rx_serial_data pin name>

8.4.3. XCVR_VCCR_VCCT_VOLTAGE - RX

Pin planner or Assignment Editor Name

VCCR_GXB and VCCT_GXB voltages

Intel ® Arria ® 10 Transceiver PHY User Guide

589

8. Analog Parameter Settings

UG-01143 | 2018.06.15

1_1V

1_0V

0_9V

Description

Configures the VCCR_GXB and VCCT_GXB voltage for a GXB I/O pin by specifying the intended supply voltages for a GXB I/O pin. Intel recommends always including this

QSF assignment.

Value (65) Description

VCCR_GXB or VCCT_GXB voltage

VCCR_GXB or VCCT_GXB voltage

VCCR_GXB or VCCT_GXB voltage

Assign To

RX serial data pin.

Syntax set_instance_assignment -name XCVR_VCCR_VCCT_VOLTAGE <value> -to

<rx_serial_data pin name>

.

Related Information

Arria 10 Device Datasheet

8.5. Receiver Analog Equalization Settings

8.5.1. CTLE Settings

8.5.1.1. XCVR_A10_RX_ONE_STAGE_ENABLE

Pin planner or Assignment Editor Name

Receiver High Data Rate Mode Equalizer

Description

Selects between the CTLE high gain mode or CTLE high data rate mode for the equalizer. For data rate greater than 17.4 Gbps, only high data rate mode is allowed.

For data rate less than or equal to 17.4 Gbps, you can select between high gain mode and high data rate mode. If no assignment is made, S1_MODE is chosen by default for datarate less than or equal to 25.8 Gbps.

(65) These values are for the assignment editor. For the actual values, refer to the Arria 10 Device

Datasheet.

Intel ®

590

Arria ® 10 Transceiver PHY User Guide

8. Analog Parameter Settings

UG-01143 | 2018.06.15

Table 309.

Available Options

Value in QSF

NON_S1_MODE

S1_MODE

Value in Assignment

Editor

Off

On

Description

Selects high gain mode for data rates up to 17.4 Gbps.

Selects high data rate mode up to 25.8 Gbps. Power consumption reduces in high data rate mode, as compared to high gain mode, when operating below 17.4 Gbps. This mode is the only option above 17.4

Gbps.

Assign To

RX serial data pin.

Syntax set_instance_assignment -name XCVR_A10_RX_ONE_STAGE_ENABLE

<value> -to <rx_serial_data pin name>

8.5.1.2. XCVR_A10_RX_EQ_DC_GAIN_TRIM

Pin planner or Assignment Editor Name

Receiver High Gain Mode Equalizer DC Gain Control

Description

Controls the DC gain of the continuous time linear equalizer (CTLE) in high gain mode.

A higher gain setting results in a larger DC gain.

For RX_LINK=SR, the default value is STG2_GAIN7.

For RX_LINK=LR, and if equalization mode = S1_MODE, default value of DC gain is

STG1_GAIN7.

For RX_LINK=LR, and if equalization mode = NON_S1_MODE, default value of DC gain is NO_DC_GAIN.

For PCIe, default value is NO_DC_GAIN.

For datarate > 17.4 Gbps, default value is NO_DC_GAIN.

Table 310.

Available Options

Value in TTK

DC Gain 0

DC Gain 1

DC Gain 2

DC Gain 3

DC Gain 4

Value in Assignment Editor / qsf (66)

NO_DC_GAIN

STG1_GAIN7

STG2_GAIN7

STG3_GAIN7

STG4_GAIN7

Description

No DC gain

Equalizer DC gain setting 6

Equalizer DC gain setting 13

Equalizer DC gain setting 20

Equalizer DC gain setting 27

(66) Refer to Arria 10 Data Sheet

Intel ® Arria ® 10 Transceiver PHY User Guide

591

8. Analog Parameter Settings

UG-01143 | 2018.06.15

Assign To

RX serial data pin.

Syntax set_instance_assignment -name XCVR_A10_RX_EQ_DC_GAIN_TRIM <value>

-to <rx_serial_data pin name>

Related Information

Arria 10 Device Datasheet

8.5.1.3. XCVR_A10_RX_ADP_CTLE_ACGAIN_4S

Pin planner or Assignment Editor Name

Receiver High Gain Mode Equalizer AC Gain Control

Description

Controls the AC gain of the continuous time linear equalizer (CTLE) in high gain mode.

Arria 10 transceivers support two CTLE modes, high gain mode and high data rate mode. As a default, high data rate mode is enabled for data rates up to 25.8 Gbps.

High gain mode can be enabled for datarate less than or equal to 17.4Gbps Higher gain setting results in larger AC gain.

he default value for PCIe Gen3 is RADP_CTLE_ACGAIN_4S_7.

For all the other cases, the default value is RADP_CTLE_ACGAIN_4S_1.

Table 311.

Available Options

Value

RADP_CTLE_ACGAIN_4S_<0 to 28>

Description

CTLE AC gain setting <0 to 28>

Assign To

RX serial data pin.

Syntax set_instance_assignment -name XCVR_A10_RX_ADP_CTLE_ACGAIN_4S

<value> -to <rx_serial_data pin name>

8.5.1.4. XCVR_A10_RX_ADP_CTLE_EQZ_1S_SEL

Pin planner or Assignment Editor Name

Receiver High Data Rate Mode Equalizer AC Gain Control

Description

Controls the AC gain of the continuous time linear equalizer (CTLE) in high data rate mode and when adaptation is in manual mode (adaptation is disabled).

Intel ®

592

Arria ® 10 Transceiver PHY User Guide

8. Analog Parameter Settings

UG-01143 | 2018.06.15

High data rate mode is enabled by default for data rates up to 25.8 Gbps. In high data rate mode, there is only one CTLE stage and 16 possible AC gain settings. Higher gain setting results in larger AC gain. The default value is set to

RADP_CTLE_EQZ_1S_SEL_3 i.e. CTLE AC Gain Setting 3. This QSF assignment only takes effect when one stage CTLE is enabled. If configured in four stage mode, it has no effect on CTLE gain value.

For datarate > 17.4 Gbps, default value is RADP_CTLE_EQZ_1S_SEL_13.

For datarate ≤ 17.4 Gbps, default value is RADP_CTLE_EQZ_1S_SEL_3.

Table 312.

Available Options

Value

RADP_CTLE_EQZ_1S_SEL_<0 to 15>

Description

CTLE AC Gain Setting < 0 to 15>

Assign To

RX serial data pin.

Syntax set_instance_assignment -name XCVR_A10_RX_ADP_CTLE_EQZ_1S_SEL

<value> -to <rx_serial_data pin name>

8.5.2. VGA Settings

8.5.2.1. XCVR_A10_RX_ADP_VGA_SEL

Pin planner or Assignment Editor Name

Receiver Variable Gain Amplifier Voltage Swing Select

Description

The variable gain amplifier (VGA) amplifies the signal amplitude and ensures a constant voltage swing before the data is fed to the CDR for sampling. This assignment controls the VGA output voltage swing when adaptation mode of VGA is set to manual. The default value is set to RADP_VGA_SEL_4 for VGA Output Voltage

Swing Setting 4.

Default values for VGA if VGA are not set exclusively.

For PCIe Gen1 & Gen2: default value is RADP_VGA_SEL_4.

For PCIe Gen3: default value is RADP_VGA_SEL_4.

For datarate > 17.4 Gbps, default value is RADP_VGA_SEL_4.

For RX_LINK = LR and CTLE mode = NON_S1_MODE: default value is

RADP_VGA_SEL_4.

For RX_LINK = LR and CTLE mode = S1_MODE and datarate <= 4.5Gbps: default value is RADP_VGA_SEL_4.

Intel ® Arria ® 10 Transceiver PHY User Guide

593

8. Analog Parameter Settings

UG-01143 | 2018.06.15

For RX_LINK = LR and CTLE mode = S1_MODE and datarate > 4.5Gbps: default value is RADP_VGA_SEL_4.

For RX_LINK = LR and CTLE mode = S1_MODE and datarate > 4.5Gbps and data rate

≤ 17.4Gbps,: default value is RADP_VGA_SEL_4.

For RX_LINK = SR and CTLE mode = NON_S1_MODE and datarate <= 4.5Gbps: default value is RADP_VGA_SEL_4.

For RX_LINK = SR and CTLE mode = NON_S1_MODE and datarate > 4.5Gbps: default value is RADP_VGA_SEL_4.

For RX_LINK = SR and CTLE mode = S1_MODE: default value is RADP_VGA_SEL_4.

Table 313.

Available Options

Value

RADP_VGA_SEL_<0 to 7>

Description

VGA Output Voltage Swing Setting <0 to 7>

Assign To

RX serial data pin.

Syntax set_instance_assignment -name XCVR_A10_RX_ADP_VGA_SEL <value> -to

<rx_serial_data pin name>

8.5.3. Decision Feedback Equalizer (DFE) Settings

The decision feedback equalizer (DFE) amplifies the high frequency component of a signal without amplifying the noise content. The DFE removes the post-cursor Inter

Symbol Interference (ISI) of the bits received previously from the current bit and improves the Bit Error Rate (BER). The DFE architecture supports eleven fixed taps.

The fixed taps in DFE remove the ISI of the previous 11 bits from the current bit.

The DFE circuit stores delayed versions of the data. The stored bit is multiplied by a coefficient and then summed with the incoming signal. The polarity of each coefficient is programmable.

Note: The DFE fixed tap assignments are described in the following section.

8.5.3.1. XCVR_A10_RX_ADP_DFE_FXTAP

Description

The following assignments specify the coefficient of DFE fixed taps 1 through 11.

These assignments are applicable only when the DFE is enabled and adaptation is disabled for the DFE (DFE operates in manual mode). The default value for all assignments is set to RADP_DFE_FXTAP<1 to 11>_0 for DFE fixed tap<1 to 11> coefficient setting 0. DFE tap1 in the only tap which is always positive and hence there is no QSF assignment for DFE tap1 sign bit. Other taps can be positive or negative.

Intel ®

594

Arria ® 10 Transceiver PHY User Guide

8. Analog Parameter Settings

UG-01143 | 2018.06.15

Table 314.

DFE Fixed Tap Assignments

Assignment

XCVR_A10_RX_ADP_DFE_FX

TAP1

Pin Planner or Assignment

Editor Name

Receiver Decision Feedback

Equalizer Fixed Tap One

Coefficient

XCVR_A10_RX_ADP_DFE_FX

TAP2

XCVR_A10_RX_ADP_DFE_FX

TAP2_SGN

Receiver Decision Feedback

Equalizer Fixed Tap Two

Coefficient

Receiver Decision Feedback

Equalizer Fixed Tap Two Sign

Value

RADP_DFE_FXTAP1_<0 to

127>

RADP_DFE_FXTAP2_<0 to

127>

RADP_DFE_FXTAP2_SGN_

<0 or 1>

Description

DFE fixed tap 1 Coefficient

Setting <0 to 127>

DFE fixed tap 2 Coefficient

Setting < 0 to 127>

XCVR_A10_RX_ADP_DFE_FX

TAP3

XCVR_A10_RX_ADP_DFE_FX

TAP3_SGN

Receiver Decision Feedback

Equalizer Fixed Tap Three

Coefficient

Receiver Decision Feedback

Equalizer Fixed Tap Three

Sign

XCVR_A10_RX_ADP_DFE_FX

TAP4

XCVR_A10_RX_ADP_DFE_FX

TAP4_SGN

Receiver Decision Feedback

Equalizer Fixed Tap Four

Coefficient

Receiver Decision Feedback

Equalizer Fixed Tap Four

Sign

RADP_DFE_FXTAP3_<0 to

127>

RADP_DFE_FXTAP3_SGN_

<0 or 1>

RADP_DFE_FXTAP4_<0 to

63>

RADP_DFE_FXTAP4_SGN_

<0 or 1>

XCVR_A10_RX_ADP_DFE_FX

TAP5

XCVR_A10_RX_ADP_DFE_FX

TAP5_SGN

Receiver Decision Feedback

Equalizer Fixed Tap Five

Coefficient

Receiver Decision Feedback

Equalizer Fixed Tap Five Sign

RADP_DFE_FXTAP5_<0 to

63>

RADP_DFE_FXTAP5_SGN_

<0 or 1>

DFE fixed tap 2 coefficient sign 0 or 1

0 = Positive and 1=Negative

DFE fixed tap 3 Coefficient

Setting <0 to 127>

DFE fixed tap 3 coefficient sign 0 or 1

0 = Positive and 1=Negative

DFE fixed tap 4 Coefficient

Setting <0 to 63>

DFE fixed tap 4 coefficient sign 0 or 1

0 = Positive and 1=Negative

DFE fixed tap 5 Coefficient

Setting <0 to 63>

XCVR_A10_RX_ADP_DFE_FX

TAP6

XCVR_A10_RX_ADP_DFE_FX

TAP6_SGN

Receiver Decision Feedback

Equalizer Fixed Tap Six

Coefficient

Receiver Decision Feedback

Equalizer Fixed Tap Six Sign

XCVR_A10_RX_ADP_DFE_FX

TAP7

XCVR_A10_RX_ADP_DFE_FX

TAP7_SGN

Receiver Decision Feedback

Equalizer Fixed Tap Seven

Coefficient

Receiver Decision Feedback

Equalizer Fixed Tap Seven

Sign

XCVR_A10_RX_ADP_DFE_FX

TAP8

XCVR_A10_RX_ADP_DFE_FX

TAP8_SGN

Receiver Decision Feedback

Equalizer Fixed Tap Eight

Coefficient

Receiver Decision Feedback

Equalizer Fixed Tap Eight

Sign

XCVR_A10_RX_ADP_DFE_FX

TAP9

Receiver Decision Feedback

Equalizer Fixed Tap Nine

Coefficient

RADP_DFE_FXTAP6_<0 to

31>

RADP_DFE_FXTAP6_SGN_

<0 or 1>

RADP_DFE_FXTAP7_<0 to

31>

RADP_DFE_FXTAP7_SGN_

<0 or 1>

RADP_DFE_FXTAP8_<0 to

63>

RADP_DFE_FXTAP8_SGN_

<0 or 1>

RADP_DFE_FXTAP9_<0 to

63>

DFE fixed tap 5 coefficient sign 0 or 1

0 = Positive and 1=Negative

DFE fixed tap 6 Coefficient

Setting <0 to 31>

DFE fixed tap 6 coefficient sign 0 or 1

0 = Positive and 1=Negative

DFE fixed tap 7 Coefficient

Setting <0 to 31>

DFE fixed tap 7 coefficient sign 0 or 1

0 = Positive and 1=Negative

DFE fixed tap 8 Coefficient

Setting <0 to 63>

DFE fixed tap 8 coefficient sign 0 or 1

0 = Positive and 1=Negative

DFE fixed tap 9 Coefficient

Setting <0 to 63> continued...

Intel ® Arria ® 10 Transceiver PHY User Guide

595

8. Analog Parameter Settings

UG-01143 | 2018.06.15

Assignment

XCVR_A10_RX_ADP_DFE_FX

TAP9_SGN

Pin Planner or Assignment

Editor Name

Receiver Decision Feedback

Equalizer Fixed Tap Nine

Sign

Value

RADP_DFE_FXTAP9_SGN_

<0 or 1>

XCVR_A10_RX_ADP_DFE_FX

TAP10

XCVR_A10_RX_ADP_DFE_FX

TAP10_SGN

Receiver Decision Feedback

Equalizer Fixed Tap Ten

Coefficient.

Receiver Decision Feedback

Equalizer Fixed Tap Ten Sign

RADP_DFE_FXTAP10_<0 to

63>

RADP_DFE_FXTAP10_SGN_

<0 or 1>

RADP_DFE_FXTAP11_<0 to

63>

Description

DFE fixed tap 9 coefficient sign 0 or 1

0 = Positive and 1=Negative

DFE fixed tap 10 Coefficient

Setting <0 to 63>

DFE fixed tap 10 coefficient sign 0 or 1

0 = Positive and 1=Negative

DFE fixed tap 11 Coefficient

Setting <0 to 63>

XCVR_A10_RX_ADP_DFE_FX

TAP11

XCVR_A10_RX_ADP_DFE_FX

TAP11_SGN

Receiver Decision Feedback

Equalizer Fixed Tap Eleven

Coefficient

Receiver Decision Feedback

Equalizer Fixed Tap Eleven

Sign

RADP_DFE_FXTAP11_SGN_

<0 or 1>

DFE fixed tap 11 coefficient sign 0 or 1

0 = Positive and 1=Negative

Example DFE Fixed Tap Assignment

Assignment: XCVR_A10_RX_ADP_DFE_FXTAP1

Value: RADP_DFE_FXTAP1_2

Description: DFE fixed tap 1 Coefficient Setting 2

Assign To

RX serial data pin.

Syntax set_instance_assignment -name XCVR_A10_RX_ADP_DFE_FXTAP1 <value>

-to <rx_serial_data pin name>

8.6. Transmitter General Analog Settings

8.6.1. XCVR_A10_TX_LINK

Pin planner or Assignment Editor Name

Transmitter Link Type

Description

This parameter is configured depending on the link characteristics. Value SR is used for link insertion loss less than or equal to 10dB and value LR is used for link insertion loss greater than 10dB. If this QSF assignment is not done, Quartus Prime assigns SR as the default value. This is used for data rate legality check during compilation.

Intel ®

596

Arria ® 10 Transceiver PHY User Guide

8. Analog Parameter Settings

UG-01143 | 2018.06.15

Table 315.

Available Options

Value

SR

LR

Description

Less than or equal to 10dB IL, used for Chip-to-chip communication

> 10dB IL, used for Backplane communication

Note: The maximum data rate supported by transceiver channels depends on the device speed grade, power mode, and the type of transceiver channel. Refer to Arria 10

Device Datasheet for more details.

Assign To

TX serial data pin.

Syntax set_instance_assignment -name XCVR_A10_TX_LINK <value> -to

<tx_serial_data pin name>

Related Information

Arria 10 Device Datasheet

8.6.2. XCVR_A10_TX_TERM_SEL

Pin planner or Assignment Editor Name

Transmitter On-Chip Termination

Description

Controls the on-chip TX differential termination for different protocols.

Table 316.

Available Options

Value

R_R1

R_R2

100 Ohm

85 Ohm

Description

Note: For protocols such as QPI, you need to set this setting to R_R2. For all the other protocols, you can either set this setting to R_R1 or R_R2. The default value set for all the protocols other than QPI depends upon the data rate.When the data rate is less than or equal to 17.4 Gbps, the default value is R_R1. When the data rate is greater than 17.4 Gbps, the default value is R_R2.

8.6.3. XCVR_A10_TX_COMPENSATION_EN

Pin planner or Assignment Editor Name

Transmitter High-Speed Compensation

Intel ® Arria ® 10 Transceiver PHY User Guide

597

8. Analog Parameter Settings

UG-01143 | 2018.06.15

Description

Specifies if the power distribution network (PDN) induced inter-symbol interference

(ISI) compensation is enabled or disabled in the TX driver. When enabled, it reduces the PDN induced ISI jitter, but increases the power consumption. Use this feature for high speed applications. It defaults to ENABLE for non-PCIe modes.

Table 317.

Available Options

Value

ENABLE

DISABLE

Description

Compensation ON

Compensation OFF

Table 318.

Rules

Data Rate

PCIe Gen1, Gen2

PCIe Gen3

Others

Value of XCVR_A10_TX_COMPENSATION_EN

DISABLE

ENABLE

ENABLE/DISABLE

Assign To

TX serial data pin.

Syntax set_instance_assignment -name XCVR_A10_TX_COMPENSATION_EN <value>

-to <tx_serial_data pin name>

Related Information

EPE (Early Power Estimator)

8.6.4. XCVR_VCCR_VCCT_VOLTAGE - TX

Pin planner or Assignment Editor Name

VCCR_GXB and VCCT_GXB voltages

1_1V

1_0V

0_9V

Description

Configures the VCCR_GXB and VCCT_GXB voltage for a GXB I/O pin by specifying the intended supply voltages for a GXB I/O pin.

Value (67) Description

VCCR_GXB or VCCT_GXB voltage

VCCR_GXB or VCCT_GXB voltage

VCCR_GXB or VCCT_GXB voltage

(67) These are assignment editor values. For the actual values, refer to the Arria 10 Device

Datasheet.

Intel ®

598

Arria ® 10 Transceiver PHY User Guide

8. Analog Parameter Settings

UG-01143 | 2018.06.15

Assign To

TX serial data pin.

Syntax set_instance_assignment -name XCVR_VCCR_VCCT_VOLTAGE <value> -to

<tx_serial_data pin name>

Related Information

Arria 10 Device Datasheet

8.6.5. XCVR_A10_TX_SLEW_RATE_CTRL

Pin planner or Assignment Editor Name

Transmitter Slew Rate Control

Description

Specifies the slew rate of the output signal. The valid values span from the slowest rate to the fastest rate.

Note: Slew_R6 and Slew_R7 are not used.

Table 319.

Available Options

Value

SLEW_R0 to SLEW_R5

Description

R0 is the slowest rate. R5 is the fastest rate.

If QSF is not specified, the following table lists the default values.

Table 320.

Default Values

PCIe

Value

PCIe Gen1

PCIe Gen2

PCIe Gen3

Default Slew Rate

SLEW_R4

SLEW_R5

SLEW_R5

Value

(VCCT/VCCR)

0.95 V

1.03 V

1.12 V

Data rate < 1G

SLEW_R0

SLEW_R1

SLEW_R2

Assign To

TX serial data pin.

Non-PCIe

Default Slew Rate

Data rate ≥ 1G to <

3G

SLEW_R2

SLEW_R3

SLEW_R4

Data rate ≥ 3G to <

6G

SLEW_R3

SLEW_R4

SLEW_R5

Data rate ≥ 6G

SLEW_R5

SLEW_R5

SLEW_R5

Intel ® Arria ® 10 Transceiver PHY User Guide

599

8. Analog Parameter Settings

UG-01143 | 2018.06.15

Note:

Syntax set_instance_assignment -name XCVR_A10_TX_SLEW_RATE_CTRL <value>

-to <tx_serial_data pin name>

Currently, the Quartus Prime software doesn't choose the default values for Non-PCIe mode. You must specify the setting in the .qsf file.

8.7. Transmitter Pre-Emphasis Analog Settings

The programmable pre-emphasis block in the transmit buffer amplifies the high frequencies in the transmit data to compensate for attenuation in the transmission media.

Note: Ignore all the pre-emphasis QSF assignments for PCIe Gen1 and Gen2 if your transceiver link is within the PCI Express spec requirements. Quartus Prime assigns default values for these parameters.

8.7.1. XCVR_A10_TX_PRE_EMP_SIGN_PRE_TAP_1T

Pin planner or Assignment Editor Name

Transmitter Pre-Emphasis First Pre-Tap Polarity

Description

Controls the polarity of the first pre-tap for pre-emphasis. The default value is

FIR_PRE_1T_NEG.

Table 321.

Available Options

Value

FIR_PRE_1T_POS

FIR_PRE_1T_NEG

Description

Positive pre-tap 1

Negative pre-tap 1

Assign To

TX serial data pin.

Syntax set_instance_assignment -name XCVR_A10_TX_PRE_EMP_SIGN_PRE_TAP_1T

<value> -to <tx_serial_data pin name>

8.7.2. XCVR_A10_TX_PRE_EMP_SIGN_PRE_TAP_2T

Pin Planner or Assignment Editor Name

Transmitter Pre-Emphasis Second Pre-Tap Polarity

Description

Controls the polarity of the second pre-tap for pre-emphasis. The default value is

FIR_PRE_2T_NEG.

Intel ®

600

Arria ® 10 Transceiver PHY User Guide

8. Analog Parameter Settings

UG-01143 | 2018.06.15

Table 322.

Available Options

Value

FIR_PRE_2T_POS

FIR_PRE_2T_NEG

Assign To

TX serial data pin.

Syntax

Description

Positive pre-tap 2

Negative pre-tap 2 set_instance_assignment -name XCVR_A10_TX_PRE_EMP_SIGN_PRE_TAP_2T

<value> -to <tx_serial_data pin name>

8.7.3. XCVR_A10_TX_PRE_EMP_SIGN_1ST_POST_TAP

Pin planner or Assignment Editor Name

Transmitter Pre-Emphasis First Post-Tap Polarity

Description

Controls the polarity of the first post-tap for pre-emphasis. The default value is

FIR_POST_1T_NEG.

Table 323.

Available Options

Value

FIR_POST_1T_POS

FIR_POST_1T_NEG

Description

Positive post-tap 1

Negative post-tap1

Assign To

TX serial data pin.

Syntax set_instance_assignment -name

XCVR_A10_TX_PRE_EMP_SIGN_1ST_POST_TAP <value> -to <tx_serial_data pin name>

8.7.4. XCVR_A10_TX_PRE_EMP_SIGN_2ND_POST_TAP

Pin planner or Assignment Editor Name

Transmitter Pre-Emphasis Second Post-Tap Polarity

Description

Controls the polarity of the second post-tap for pre-emphasis. The default value is

FIR_POST_2T_NEG.

Intel ® Arria ® 10 Transceiver PHY User Guide

601

8. Analog Parameter Settings

UG-01143 | 2018.06.15

Table 324.

Available Options

Value

FIR_POST_2T_POS

FIR_POST_2T_NEG

Assign To

TX serial data pin.

Syntax

Description

Positive post-tap 2

Negative post-tap 2 set_instance_assignment -name

XCVR_A10_TX_PRE_EMP_SIGN_2ND_POST_TAP <value> -to <tx_serial_data pin name>

8.7.5. XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_PRE_TAP_1T

Pin planner or Assignment Editor Name

Transmitter Pre-Emphasis First Pre-Tap Magnitude

Description

Controls the magnitude of the first pre-tap for pre-emphasis. The default value is 0.

Table 325.

Available Options

Value

0 – 16

Description

Magnitude 0 – 16

Note: Refer to Arria 10 Pre-Emphasis and Output Swing Settings spreadsheet for selecting legal pre-emphasis and differential output voltage settings.

Assign To

TX serial data pin.

Syntax set_instance_assignment -name

XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_PRE_TAP_1T <value> -to

<tx_serial_data pin name>

Related Information

Arria 10 Pre-Emphasis and Output Swing Settings

8.7.6. XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_PRE_TAP_2T

Pin planner or Assignment Editor Name

Transmitter Pre-Emphasis Second Pre-Tap Magnitude

Intel ®

602

Arria ® 10 Transceiver PHY User Guide

8. Analog Parameter Settings

UG-01143 | 2018.06.15

Description

Controls the magnitude of the second pre-tap for pre-emphasis. The default value is

0.

Table 326.

Available Options

Value

0 – 7

Description

Magnitude 0 – 7

Note: Refer to Arria 10 Pre-Emphasis and Output Swing Settings spreadsheet for selecting legal pre-emphasis and differential output voltage settings.

Assign To

TX serial data pin.

Syntax set_instance_assignment -name

XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_PRE_TAP_2T <value> -to

<tx_serial_data pin name>

Related Information

Arria 10 Pre-Emphasis and Output Swing Settings

8.7.7. XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_1ST_POST_TAP

Pin planner or Assignment Editor Name

Transmitter Pre-Emphasis First Post-Tap Magnitude

Description

Controls the magnitude of the first post-tap for pre-emphasis. The default value is 0.

Table 327.

Available Options

Value

0 –25

Description

Magnitude 0 –25

Note: Refer to Arria 10 Pre-Emphasis and Output Swing Settings spreadsheet for selecting legal pre-emphasis and differential output voltage settings.

Assign To

TX serial data pin.

Syntax set_instance_assignment -name

XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_1ST_POST_TAP <value> -to

<tx_serial_data pin name>

Intel ® Arria ® 10 Transceiver PHY User Guide

603

8. Analog Parameter Settings

UG-01143 | 2018.06.15

Related Information

Arria 10 Pre-Emphasis and Output Swing Settings

8.7.8. XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_2ND_POST_TAP

Pin planner or Assignment Editor Name

Transmitter Pre-Emphasis Second Post-Tap Magnitude

Description

Controls the magnitude of the second post-tap for pre-emphasis. The default value is

0.

Table 328.

Available Options

Value

0 – 12

Description

Magnitude 0 – 12

Note: Refer to Arria 10 Pre-Emphasis and Output Swing Settings spreadsheet for selecting legal pre-emphasis and differential output voltage settings.

Assign To

TX serial data.

Syntax set_instance_assignment -name

XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_2ND_POST_TAP <value> -to

<tx_serial_data pin name>

Related Information

Arria 10 Pre-Emphasis and Output Swing Settings

8.8. Transmitter VOD Settings

8.8.1. XCVR_A10_TX_VOD_OUTPUT_SWING_CTRL

Pin planner or Assignment Editor Name

Transmitter Output Swing Level

Description

Controls the transmitter programmable output differential voltage swing. The default value is 31.

Note: Ignore this assignment for PCIe Gen1 and Gen2 if your transceiver link is within the

PCI Express* spec requirements. The Quartus Prime software assigns default value for this parameter.

Intel ®

604

Arria ® 10 Transceiver PHY User Guide

8. Analog Parameter Settings

UG-01143 | 2018.06.15

Table 329.

Available Options

Value

0 – 31

Note:

Description

Magnitude 0 – 31

Refer to Arria 10 Pre-Emphasis and Output Swing Settings spreadsheet for selecting legal pre-emphasis and differential output voltage settings.

Assign To

TX serial data pin.

Syntax set_instance_assignment -name XCVR_A10_TX_VOD_OUTPUT_SWING_CTRL

<value> -to <tx_serial_data pin name>

Related Information

Arria 10 Pre-Emphasis and Output Swing Settings

8.9. Dedicated Reference Clock Settings

8.9.1. XCVR_A10_REFCLK_TERM_TRISTATE

Pin planner or Assignment Editor Name

Dedicated Reference Clock Pin Termination

Description

Specifies if the termination for dedicated reference clock pin is tri-stated. It defaults to

TRISTATE_OFF for non-HCSL cases.

Table 330.

Available Options

Value

TRISTATE_OFF

TRISTATE_ON

Description

Internal termination enabled and on-chip biasing circuitry enabled

Internal termination tri-stated. Off-chip termination and biasing circuitry must be implemented

Table 331.

Rules

I/O Standard

HCSL

CML

LVPECL

LVDS

Assign To

Reference clock pin.

Value

TRISTATE_ON

TRISTATE_OFF

TRISTATE_OFF

TRISTATE_OFF

Intel ® Arria ® 10 Transceiver PHY User Guide

605

8. Analog Parameter Settings

UG-01143 | 2018.06.15

Syntax set_instance_assignment -name XCVR_A10_REFCLK_TERM_TRISTATE

<value> -to <dedicated refclk pin name>

8.9.2. XCVR_A10_TX_XTX_PATH_ANALOG_MODE

Pin planner or Assignment Editor Name

Transmitter Analog Presets

Description

Specifies the TX pin swing settings such as vod output swing control, pre-emphasis and slew rate settings for various protocols. The presets are set by selecting an analog_mode setting. The selection is done as a .QSF setting on the TX pin. If individual .QSF is specified for the vod_output_swing_ctrl, pre-emphasis settings, the individual .QSF overrides the preset settings. The parameter defaults to

USER_CUSTOM, which requires the individual .QSF to be set. Available TX preset values are shown in the Assignment Editor, Transmitter Analog Preset assignment section.

8.10. Unused Transceiver RX Channels Settings

Add the following Intel Arria 10 QSF assignments to prevent performance degradation of unused RX serial clock over time. You can either use a global assignment or per-pin assignments.

Syntax set_global_assignment -name PRESERVE_UNUSED_XCVR_CHANNEL ON set_instance_assignment -name PRESERVE_UNUSED_XCVR_CHANNEL ON -to

<pin name>

8.11. Analog Parameter Settings Revision History

Changes Document

Version

2017.11.06

2016.10.31

2016.05.02

Made the following changes:

• Changed all default values of RADP_VGA_SEL to 4 in the "XCVR_A10_RX_ADP_VGA_SEL" section.

Made the following changes:

• Added the Value in Assignment Editor column to the table in the

"XCVR_A10_RX_ONE_STAGE_ENABLE" section.

• Added a note to the "XCVR_A10_TX_SLEW_RATE_CTRL" section.

Made the following changes:

• Updated that "DFE continuous mode" is not supported any more. DFE is supported in three modes-

Disabled, Manual, Adaptation Enabled.

• Changed the "Arria 10 Register Map” for available DFE modes, CTLE and VGA modes.

• Changed the maximum supported data rate for GT devices to 25.8 G.

continued...

Intel ®

606

Arria ® 10 Transceiver PHY User Guide

8. Analog Parameter Settings

UG-01143 | 2018.06.15

Document

Version

2016.02.11

2015.12.18

2015.11.02

2015.05.11

2014.12.15

2014.08.15

Changes

• Removed the ODI section from 'Register Map' tab.

• Changed the DFE adaptation mode from "Continuous" to "Adaptation enabled".

• Changed the DFE adaptation mode from "Continuous" to "Adaptation enabled".

Made the following changes:

• Updated the maximum data rate to 25.8 Gbps.

Made the following changes:

• Updated the “Available Options” table for non-HCSL standards, in the“Dedicated Reference Clock

Settings” section.

Made the following changes:

• Changed the setting for "XCVR_A10_RX_EQ_DC_GAIN_TRIM" parameter in the CTLE Settings section.

• Updated the "Analog Parameter Settings List" table to reflect the number of DFE fixed taps.

• Updated "DFE Fixed Tap Assignments" table in the Decision Feedback Equalizer (DFE) Settings section.

• Updated descriptions for XCVR_A10_RX_LINK QSF assignment in “Receiver General Analog

Settings” section.

• Updated description for XCVR_A10_RX_EQ_DC_GAIN_TRIM QSF,

XCVR_A10_RX_ADP_CTLE_EQZ_1S_SEL QSF,XCVR_A10_RX_ADP_CTLE_ACGAIN_4S QSF, and

XCVR_A10_RX_ADP_VGA_SEL QSF assignments in “Receiver Analog Equalization Settings” section.

• Updated description for XCVR_A10_TX_LINK QSF, XCVR_A10_TX_SLEW_RATE_CTRL QSF, and

XCVR_A10_TX_LINK QSF assignments in “Transmitter General Analog Settings” section.

Made the following changes:

• Corrected typos in the Syntax description of each parameter setting.

• Added the XCVR_A10_TX_SLEW_RATE_CTRL parameter.

• Changed the available values for the following parameters:

— XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_PRE_TAP_1T

— XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_1ST_POST_TAP

— XCVR_A10_TX_PRE_EMP_SWITCHING_CTRL_2ND_POST_TAP

Made the following changes:

• Modified the Rules section for XCVR_A10_TX_COMPENSATION_EN.

• Changed Available Options for XCVR_A10_RX_ONE_STAGE_ENABLE parameter settings table.

• Changed the "XCVR_A10_RX_ADP_CTLE_ACGAIN_4S" parameter setting.

• Added "XCVR_VCCR_VCCT_VOLTAGE" parameter setting.

Initial release.

Intel ® Arria ® 10 Transceiver PHY User Guide

607

advertisement

Was this manual useful for you? Yes No
Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Related manuals