1G/2.5G/5G/10G Multi-rate Ethernet PHY Intel Stratix 10 FPGA IP User Guide
About the 1G/2.5G/5G/10G Multi-rate Ethernet PHY Intel FPGA IP Core
Features
Feature | Description |
---|---|
Operating speeds | 10M, 100M, 1G, 2.5G, 5G, and 10G. |
MAC-side interface | 16-bit GMII for 10M/100M/1G/2.5G (MGBASE-T). |
32-bit XGMII for 10M/100M/1G/2.5G/5G/10G (USXGMII/NBASE-T). | |
64-bit XGMII for 10G (MGBASE-T). | |
Network-side interface | 1.25 Gbps for 1G (MGBASE-T) and 10M/100M/1G (SGMII). |
3.125 Gbps for 2.5G (MGBASE-T). | |
10.3125 Gbps for 10M/100M/1G/2.5G/5G/10G (USXGMII/NBASE-T) and 10G (MGBASE-T). | |
Avalon® Memory-Mapped ( Avalon® -MM) interface | Provides access to the configuration registers of the PHY. |
Physical Coding Sublayer (PCS) function | 1000BASE-X for 1G and 2.5G. |
10GBASE-R for 10G. | |
USXGMII PCS for 10M/100M/1G/2.5G/5G/10G (USXGMII). | |
SGMII (10M/100M/1G) for 1G/2.5 and 1G/2.5/10G (MGBASE-T). | |
Auto-negotiation |
Implements IEEE 802.3 clause 37. Supported in 1GbE only. USXGMII Auto-negotiation supported in the 10M/100M/1G/2.5G/5G/10G (USXGMII/NBASE-T) configuration. SGMII Auto-negotiation supported in the 10M/100M/1G (SGMII) configuration. |
IEEE 1588v2 | Provides the required latency to the MAC if the MAC enables the IEEE
1588v2
feature. Supported:
Not Supported:
|
Sync-E | Provides the clock for Sync-E implementation. |
Device Family Support
Device Support Level | Definition |
---|---|
Advance | The IP core is available for simulation and compilation for this device family. Timing models include initial engineering estimates of delays based on early post-layout information. The timing models are subject to change as silicon testing improves the correlation between the actual silicon and the timing models. You can use this IP core for system architecture and resource utilization studies, simulation, pinout, system latency assessments, basic timing assessments (pipeline budgeting), and I/O transfer strategy (data-path width, burst depth, I/O standards tradeoffs). |
Preliminary | The IP core is verified 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. It can be used in production designs with caution. |
Final | The IP core is verified with final timing models for this device family. The IP core meets all functional and timing requirements for the device family and can be used in production designs. |
Device Family | Support Level |
---|---|
Intel® Stratix® 10 | Advance |
Device Speed Grade Support
Speed Mode | Supported Speed Grade | |
---|---|---|
With 1588 Feature | Without 1588 Feature | |
2.5G | E2, I2 | E3, I3 |
1G/2.5G | E2, I2 | E3, I3 |
10M/100M/1G/2.5G | - | E3, I3 |
1G/2.5G/10G (MGBASE-T) | E2, I2 | E3, I3 |
10M/100M/1G/2.5G/10G (MGBASE-T) | - | E3, I3 |
10M/100M/1G/2.5G/5G/10G (USXGMII) | E2, I2 | E3, I3 |
Resource Utilization
Speed | ALMs | ALUTs | Logic Registers | Memory Block (M20K) |
---|---|---|---|---|
1G/2.5G | 790 | 940 | 1570 | 2 |
1G/2.5G with IEEE 1588v2 enabled | 1770 | 2390 | 3030 | 2 |
10M/100M/1G/2.5G | 810 | 980 | 1610 | 2 |
10M/100M/1G/2.5G/10G (MGBASE-T) | 1440 | 1790 | 2640 | 6 |
1G/2.5G/10G (MGBASE-T) | 1390 | 1740 | 2640 | 6 |
1G/2.5G/10G (MGBASE-T) with IEEE 1588v2 enabled | 3830 | 4630 | 5960 | 6 |
10M/100M/1G/2.5G/5G/10G (USXGMII) | 920 | 1120 | 1830 | 3 |
10M/100M/1G/2.5G/5G/10G (USXGMII) with IEEE 1588v2 enabled | 1760 | 2540 | 3510 | 4 |
Release Information
Item | Description |
---|---|
Version | Intel® Quartus® Prime Pro Edition 19.1 |
Release Date | 2019.04.01 |
Ordering Codes | IP-10GMRPHY |
Getting Started
Installing and Licensing Intel FPGA IP Cores
The Intel® Quartus® Prime software installs IP cores in the following locations by default:
Location | Software | Platform |
---|---|---|
<drive>:\intelFPGA_pro\quartus\ip\altera | Intel® Quartus® Prime Pro Edition | Windows* |
<home directory>:/intelFPGA_pro/quartus/ip/altera | Intel® Quartus® Prime Pro Edition | Linux* |
Intel FPGA IP Evaluation Mode
- Simulate the behavior of a licensed Intel® FPGA IP core in your system.
- Verify the functionality, size, and speed of the IP core quickly and easily.
- Generate time-limited device programming files for designs that include IP cores.
- Program a device with your IP core and verify your design in hardware.
Intel® FPGA IP Evaluation Mode supports the following operation modes:
- Tethered—Allows running the design containing the licensed Intel® FPGA IP indefinitely with a connection between your board and the host computer. Tethered mode requires a serial joint test action group (JTAG) cable connected between the JTAG port on your board and the host computer, which is running the Intel® Quartus® Prime Programmer for the duration of the hardware evaluation period. The Programmer only requires a minimum installation of the Intel® Quartus® Prime software, and requires no Intel® Quartus® Prime license. The host computer controls the evaluation time by sending a periodic signal to the device via the JTAG port. If all licensed IP cores in the design support tethered mode, the evaluation time runs until any IP core evaluation expires. If all of the IP cores support unlimited evaluation time, the device does not time-out.
- Untethered—Allows running the design containing the licensed IP for a limited time. The IP core reverts to untethered mode if the device disconnects from the host computer running the Intel® Quartus® Prime software. The IP core also reverts to untethered mode if any other licensed IP core in the design does not support tethered mode.
When the evaluation time expires for any licensed Intel® FPGA IP in the design, the design stops functioning. All IP cores that use the Intel® FPGA IP Evaluation Mode time out simultaneously when any IP core in the design times out. When the evaluation time expires, you must reprogram the FPGA device before continuing hardware verification. To extend use of the IP core for production, purchase a full production license for the IP core.
You must purchase the license and generate a full production license key before you can generate an unrestricted device programming file. During Intel® FPGA IP Evaluation Mode, the Compiler only generates a time-limited device programming file (<project name> _time_limited.sof) that expires at the time limit.
Intel® licenses IP cores on a per-seat, perpetual basis. The license fee includes first-year maintenance and support. You must renew the maintenance contract to receive updates, bug fixes, and technical support beyond the first year. You must purchase a full production license for Intel® FPGA IP cores that require a production license, before generating programming files that you may use for an unlimited time. During Intel® FPGA IP Evaluation Mode, the Compiler only generates a time-limited device programming file (<project name> _time_limited.sof) that expires at the time limit. To obtain your production license keys, visit the Self-Service Licensing Center.
The Intel® FPGA Software License Agreements govern the installation and use of licensed IP cores, the Intel® Quartus® Prime design software, and all unlicensed IP cores.
Specifying the IP Core Parameters and Options
- In the Intel® Quartus® Prime Pro Edition, click File > New Project Wizard to create a new Intel® Quartus® Prime project, or File > Open Project to open an existing Intel® Quartus® Prime project. The wizard prompts you to specify a device.
- In the IP Catalog (Tools > IP Catalog), locate and double-click 1G/2.5G/5G/10G Multi-rate Ethernet PHY Intel® FPGA IP core to customize. The New IP Variant window appears.
- Specify a top-level name for your custom IP variation. The parameter editor saves the IP variation settings in a file named <your_ip> .ip.
- Click Create. The parameter editor appears.
- Specify the parameters for your IP core variation in the parameter editor. Refer to Parameter Settings for information about specific IP core parameters.
- Optionally, to generate a MAC+PHY simulation testbench or compilation and hardware design example, follow the instructions in the Low Latency Ethernet 10G MAC Intel® Stratix® 10 FPGA IP Design Example User Guide.
- Click Generate HDL. The Generation dialog box appears.
- Specify output file generation options, and then click Generate. The IP variation files generate according to your specifications.
- Click Finish. The parameter editor adds the top-level .ip file to the current project automatically. If you are prompted to manually add the .ip file to the project, click Project > Add/Remove Files in Project to add the file.
- After generating and instantiating your IP variation, make appropriate pin assignments to connect ports.
Generated File Structure
File Name |
Description |
---|---|
<your_ip>.ip |
The Platform Designer system or top-level IP variation file. <your_ip> is the name that you give your IP variation. |
<your_ip>.cmp | The VHDL Component Declaration (.cmp) file is a text file that contains
local generic and port definitions that you can use in VHDL design
files. This IP core does not support VHDL. However, the Intel® Quartus® Prime Pro Edition software generates this file. |
<your_ip>.html |
A report that contains connection information, a memory map showing the address of each slave with respect to each master to which it is connected, and parameter assignments. |
<your_ip>_generation.rpt | IP or Platform Designer generation log file. A summary of the messages during IP generation. |
<your_ip>.qgsimc | Lists simulation parameters to support incremental regeneration. |
<your_ip>.qgsynthc | Lists synthesis parameters to support incremental regeneration. |
<your_ip>.qip |
Contains all the required information about the IP component to integrate and compile the IP component in the Intel® Quartus® Prime software. |
<your_ip>.sopcinfo |
Describes the connections and IP component parameterizations in your Platform Designer system. You can parse its contents to get requirements when you develop software drivers for IP components. Downstream tools such as the Nios® II tool chain use this file. The .sopcinfo file and the system.h file generated for the Nios® II tool chain include address map information for each slave relative to each master that accesses the slave. Different masters may have a different address map to access a particular slave component. |
<your_ip>.csv | Contains information about the upgrade status of the IP component. |
<your_ip>.bsf |
A Block Symbol File (.bsf) representation of the IP variation for use in Intel® Quartus® Prime Block Diagram Files (.bdf). |
<your_ip>.spd |
Required input file for ip-make-simscript to generate simulation scripts for supported simulators. The .spd file contains a list of files generated for simulation, along with information about memories that you can initialize. |
<your_ip>.ppf | The Pin Planner File (.ppf) stores the port and node assignments for IP components created for use with the Pin Planner. |
<your_ip>_bb.v | You can use the Verilog black-box (_bb.v) file as an empty module declaration for use as a black box. |
<your_ip>_inst.v or _inst.vhd | HDL example instantiation
template. You can copy and paste the contents of this file into your
HDL file to instantiate the IP variation. This IP core does not support VHDL. However, the Intel® Quartus® Prime Pro Edition software generates the _inst.vhd file. |
<your_ip>.v | HDL files that instantiate each submodule or child IP core for synthesis or simulation. |
mentor/ |
Contains a ModelSim* script msim_setup.tcl to set up and run a simulation. |
aldec/ |
Contains a Riviera-PRO* script rivierapro_setup.tcl to setup and run a simulation. ls |
synopsys/vcs/ synopsys/vcsmx/ |
Contains a shell script vcs_setup.sh to set up and run a VCS* simulation. Contains a shell script vcsmx_setup.sh and synopsys_ sim.setup file to set up and run a VCS MX* simulation. |
cadence/ |
Contains a shell script ncsim_setup.sh and other setup files to set up and run an NCSim* simulation. |
submodules/ | Contains HDL files for the IP core submodules. |
<child IP cores>/ | For each generated child IP core directory, Platform Designer generates synth/ and sim/ sub-directories. |
Integrating Your IP Core in Your Design
Pin Assignments
When you integrate your 1G/2.5G/5G/10G Multi-rate Ethernet PHY Intel® FPGA IP core instance in your design, you must make appropriate pin assignments. While compiling the IP core alone, you can create virtual pins to avoid making specific pin assignments for top-level signals. When you are ready to map the design to hardware, you can change to the correct pin assignments.
Adding the Transceiver PLL
You can create an external transceiver PLL from the IP Catalog. Select the Intel® Stratix® 10 L-Tile/H-Tile Transceiver ATX PLL core or Intel® Stratix® 10 L-Tile/H-Tile fPLL core.
Speed | Reference Clock Frequency (MHz) | PLL Output Clock (MHz) |
---|---|---|
1G | 125 | 625 |
2.5G | 125 | 1562.5 |
10G | 644.53125/322.265625 | 5156.25 |
Adding the Intel Stratix 10 Transceiver PHY Reset Controller
You can use the IP Catalog to create a transceiver PHY reset controller.
Parameter Settings

Parameter | Options | Description |
---|---|---|
External PHY | ||
Connect to MGBASE-T PHY | On, Off | 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. |
Connect to NBASE-T PHY | On, Off |
Select this option when the external PHY is NBASE-T compatible. This parameter is enabled for 10M/100M/1G/2.5G/5G/10G (USXGMII) modes. |
PHY Options | ||
Speed |
2.5G 1G/2.5G 1G/2.5G/10G 10M/100M/1G/2.5G/5G/10G |
The operating speed of the PHY. |
Enable SGMII bridge | On, Off | Select this parameter to enable SGMII
10-Mbps/100-Mbps/1-Gbps. You can enable this parameter for 1G/2.5G, and 1G/2.5G/10G (MGBASE-T) modes. |
Enable IEEE 1588 Precision Time Protocol | 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. You can enable this parameter for 2.5G, 1G/2.5G, 1G/2.5G/10G (MGBASE-T), and 10M/100M/1G/2.5G/5G/10G (USXGMII) modes provided that the SGMII bridge is disabled in 1G/2.5G and 1G/2.5G/10G (MGBASE-T) modes. |
PCS Options | ||
PHY ID (32 bit) | 32-bit value |
An optional 32-bit unique identifier:
The default value is 0x00000000. |
Transceiver Options | ||
VCCR_GXB and VCCT_GXB supply voltage for the transceivers | 1.0 V, 1.1 V | This parameter specifies the VCCR_GXB and
VCCT_GXB transceiver supply voltage. The default setting is 1.0
V. Use 1.1 V setting if the bank contains transceivers running at 15 Gbps or faster. |
Reference clock frequency for 10 GbE (MHz) | 322.265625, 644.53125 | Specify the frequency of the reference clock
for 10GbE. This option is only available for 1G/2.5G/10G and 10M/100M/1G/2.5G/5G/10G (USXGMII) speed modes. |
Selected TX PMA local clock division factor for 1 GbE | 1, 2, 4, 8 | Select the TX local clock division factor for transceiver. The selection is used for 1G Ethernet. |
Selected TX PMA local clock division factor for 2.5 GbE | 1, 2 | Select the TX local clock division factor for transceiver. The selection is used for 2.5G Ethernet. |
Dynamic Reconfiguration | ||
Enable Native PHY Debug Master Endpoint (NPDME) | On, Off | When enabled, the Native PHY includes an embedded Native PHY Debug Master Endpoint (NPDME) that connects internally Avalon® -MM slave interface. The NPDME can access the reconfiguration space of the transceiver. It can perform certain test and debug functions via JTAG using the System Console. |
Enable capability registers | On, Off | Enables capability registers. These registers provide high-level information about the transceiver channel/PLL configuration. |
Set user-defined IP identifier | User-specified | Sets a user-defined numeric identifier that can be read from the user_identifier offset when the capability registers are enabled. |
Enable control and status registers | On, Off | Enables soft registers for reading status signals and writing control signals on the PHY /PLL interface through the NPDME or reconfiguration interface. |
Enable PRBS soft accumulators | On, Off | Enables soft logic to perform PRBS bit and error accumulation when using the hard PRBS generator and checker. |
Functional Description
The 1G/2.5G/5G/10G Multi-rate Ethernet PHY Intel® FPGA IP core for Intel® Stratix® 10 devices implements the 10M to 10Gbps Ethernet PHY in accordance with the IEEE 802.3 Ethernet Standard. This IP core handles the frame encapsulation and flow of data between a client logic and Ethernet network via a 10M to 10GbE PCS and PMA (PHY). You can use the Native PHY IP core to configure the transceiver PHY for your protocol implementation. Refer to the Intel® Stratix® 10 L- and H-Tile Transceiver PHY User Guide for more information on using the Native PHY IP core.
- Datapath client-interface:
- 10GbE—XGMII, 64 bits
- 10M/100M/1G/2.5GbE—GMII, 16 bit
- 10M/100M/1G/2.5G/5G/10G (USXGMII)—XGMII, 32 bits
For 1G/2.5/10G (MGBASE-T), select an interface based on the respective operating speed.
- Management interface— Avalon® -MM host slave interface for PHY management.
- Datapath Ethernet interface with the following available options:
- 10GbE—Single 10.3125 Gbps serial link
- 2.5GbE—Single 3.125 Gbps serial link
- 10M/100M/1GbE—Single 1.25 Gbps SGMII serial link
- 10M/100M/1G/2.5G/5G/10G (USXGMII) —Single 10.3125 Gbps serial link
For 1G/2.5/10G (MGBASE-T), select an ethernet interface based on the respective operating speed.
- Transceiver PHY dynamic reconfiguration interface—an Avalon® -MM interface to read and write the Intel® Stratix® 10 Native PHY IP core registers. This interface supports dynamic reconfiguration of the transceiver. It is used to configure the transceiver operating modes to switch to desired Ethernet operating speeds.
- USXGMII—10M/100M/1G/2.5G/5G/10G speeds
- Full duplex data transmission
- USXGMII Auto-Negotiation
Clocking and Reset Sequence
- For 64-bit XGMII, the 156.25 MHz clock must have zero ppm difference with reference clock of 10G transceiver PLL. Therefore, the 156.25 MHz clock must derived from the transceiver 10G reference clock for 1G/2.5G/10G (MGBASE-T) variant.
- For 32-bit XGMII, the 312.5 MHz clock must have zero ppm difference with reference clock of 10G transceiver PLL. Therefore, the 312.5 MHz clock must derived from the transceiver 10G reference clock for 10M/100M/1G/2.5G/5G/10G (USXGMII) variant.
Reset sequence for all configurations is handled by the transceiver reset controller. For 1G/2.5G and 1G/2.5G/10G (MGBASE-T), transceiver reset sequence is automatically triggered after completion of speed switching/reconfiguration in the MAC+PHY example design.
The 1G/2.5G/5G/10G Multi-rate Ethernet PHY Intel® FPGA IP core for Intel® Stratix® 10 devices supports up to ±100 ppm clock frequency difference for a maximum packet length of 16,000 bytes.
Timing Constraints
PHY Configuration | Constrain PHY for |
---|---|
2.5G | 2.5G datapath |
1G/2.5G | 2.5G datapath |
1G/2.5G/10G (MGBASE-T) | 10G and 1G/2.5G datapath |
10M/100M/1G/2.5G/5G/10G (USXGMII) | 10G datapath |
10M/100M/1G/2.5G | 2.5G datapath |
10M/100M/1G/2.5G/10G (SGMII/MGBASE-T) | 10G and 1G/2.5G datapath |
When you configure the PHY in 1G/2.5G/10G (MGBASE-T) configuration, Intel® recommends that you add the following constraints in the timing constraint file:
- Set false path for the clocks used for the different speed so that the Timing Analyzer ignores paths for clocks that are in different groups. For example:
set_clock_groups -physically_exclusive -group [get_clocks {DUT|CHANNEL_GEN[0].u_channel|phy|alt_mge_phy_0|profile0|*}] \ -group [get_clocks {DUT|CHANNEL_GEN[0].u_channel|phy|alt_mge_phy_0|profile1|*}] \ -group [get_clocks {DUT|CHANNEL_GEN[0].u_channel|phy|alt_mge_phy_0|profile2|*}]
where profile0, profile1, and profile2 are created by the transceiver native PHY Synopsys Design Constraint (SDC) for 1G, 2.5G, and 10G clocks respectively. - Set false path from native PHY 10G clock to 1G/2.5G PHY logic and vice versa. Since the 1G/2.5G PHY logic is not running native PHY 10G clock, you do not need to ensure timing closure for the 1G/2.5G data path at 10G clock. For example:
set_false_path -from [get_clocks {DUT|CHANNEL_GEN[*].u_channel|phy|alt_mge_phy_0|profile2|*}] \ -to [get_registers {*|alt_mge16_pcs_pma:*|*}] set_false_path -from [get_registers {*|alt_mge16_pcs_pma:*|*}] \ -to [get_clocks {DUT|CHANNEL_GEN[*].u_channel|phy|alt_mge_phy_0|profile2|*}]
where the path indicated by profile2 is associated to the native PHY 10G clock, whereas the alt_mge16_pcs_pma path indicates the 1G/2.5G PHY logic. - Set false path from native PHY 1G and 2.5G clock to 10G PHY logic and vice versa. Since the 10G PHY logic is not running the native PHY 1G and 2.5G clocks, you do not need to ensure timing closure for the 10G data path at the native PHY 1G and 2.5G clocks. For example:
set_false_path -from [get_clocks {DUT|CHANNEL_GEN[*].u_channel|phy|alt_mge_phy_0|profile0|* \ DUT|CHANNEL_GEN[*].u_channel|phy|alt_mge_phy_0|profile1|*}] \ -to [get_registers *|alt_mge_phy_xgmii_pcs:*|*] set_false_path -from [get_registers *|alt_mge_phy_xgmii_pcs:*|*] \ -to [get_clocks {DUT|CHANNEL_GEN[*].u_channel|phy|alt_mge_phy_0|profile0|* \ DUT|CHANNEL_GEN[*].u_channel|phy|alt_mge_phy_0|profile1|*}]
where the paths indicated by profile0 and profile1 are associated to the native PHY 1G and 2.5G clocks respectively, whereas the alt_mge_phy_xgmii_pcs path indicates the 10G PHY logic.
When you configure the PHY in 1G/2.5G configuration, Intel® recommends that you add the following constraint in the timing constraint file:
- Set false path for the clocks used for the different speed so that the Timing Analyzer ignores paths for clocks that are in different groups. For example:
set_clock_groups -physically_exclusive -group [get_clocks {DUT|CHANNEL_GEN[0].u_channel|phy|alt_mge_phy_0|profile0|*}] \ -group [get_clocks {DUT|CHANNEL_GEN[0].u_channel|phy|alt_mge_phy_0|profile1|*}]
where profile0 and profile1 are created by the transceiver native PHY SDC for the 1G and 2.5G clocks respectively.
Switching Operation Speed
PHY Configurations | Features | 10M | 100M | 1G | 2.5G | 5G | 10G |
---|---|---|---|---|---|---|---|
2.5G | Protocol | — | — | — | 1000BASE-X at 2.5x | — | — |
Transceiver Data Rate | — | — | — | 3.125 Gbps | — | — | |
MAC Interface | — | — | — | 16-bit GMII @ 156.25 MHz | — | — | |
10M/100M/1G/2.5G | Protocol |
SGMII
100x data replication |
SGMII
10x data replication |
1000BASE-X / SGMII | 1000BASE-X at 2.5x | — | — |
Transceiver Data Rate | 1.25 Gbps | 1.25 Gbps | 1.25 Gbps | 3.125 Gbps | — | — | |
MAC Interface | 16-bit GMII @ 62.5 MHz | 16-bit GMII @ 62.5 MHz | 16-bit GMII @ 62.5 MHz | 16-bit GMII @ 156.25 MHz | — | — | |
10M/100M/1G/2.5G/10G (MGBASE-T) | Protocol | SGMII |
SGMII
10x data replication |
1000BASE-X / SGMII | 1000BASE-X at 2.5x | — | 10GBASE-R |
Transceiver Data Rate | 1.25 Gbps | 1.25 Gbps | 1.25 Gbps | 3.125 Gbps | — | 10.3125 Gbps | |
MAC Interface | 16-bit GMII @ 62.5 MHz | 16-bit GMII @ 62.5 MHz | 16-bit GMII @ 62.5 MHz | 16-bit GMII @ 156.25 MHz | — | 64-bit XGMII @ 156.25 MHz | |
10M/100M/1G/2.5G/5G/10G (USXGMII) | Protocol | 10GBASE-R 1000x data replication |
10GBASE-R 100x data replication |
10GBASE-R 10x data replication |
10GBASE-R 4x data replication |
10GBASE-R 2x data replication |
10GBASE-R No data replication |
Transceiver Data Rate1 | 10.3125 Gbps | 10.3125 Gbps | 10.3125 Gbps | 10.3125 Gbps | 10.3125 Gbps | 10.3125 Gbps | |
MAC Interface | 32-bit XGMII @ 312.5 MHz | 32-bit XGMII @ 312.5 MHz | 32-bit XGMII @ 312.5 MHz | 32-bit XGMII @ 312.5 MHz | 32-bit XGMII @ 312.5 MHz | 32-bit XGMII @ 312.5 MHz |
- Initiates the speed change by writing to the corresponding register of the reconfiguration block.2
- The reconfiguration block performs the following steps:
- Sets the xcvr_mode signal of the 1G/2.5G/5G/10G Multi-rate Ethernet PHY Intel® FPGA IP core to the requested speed.
- Reads the generated .mif file for the configuration settings and configures the transceiver accordingly.
- Selects the corresponding transceiver PLL.
- Triggers the transceiver recalibration.
- The reconfiguration block triggers the PHY reset through the transceiver reset controller.
Configuration Registers
Register Map
Address Range | Usage | Register Width | Configuration |
---|---|---|---|
0x00–0x1F | 1000BASE-X/SGMII | 16 | 2.5G, 1G/2.5G, 10M/100M/1G/2.5G, 10M/100M/1G/2.5G/10G (MGBASE-T), 1G/2.5G/10G (MGBASE-T) |
0x400–0x41F | USXGMII | 32 | 10M/100M/1G/2.5G/5G/10G (USXGMII) |
0x461 | Serial Loopback | 32 | 10M/100M/1G/2.5G/5G/10G (USXGMII) |
Register Definitions
- Do not write to reserved or undefined registers.
- When writing to the registers, perform read-modify-write operation to ensure that reserved or undefined register bits are not overwritten.
Access | Definition |
---|---|
RO | Read only. |
RW | Read and write. |
RWC | Read, 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. |
Address | Name | Description | Access | HW Reset Value |
---|---|---|---|---|
0x00 | control | Bit [15]: RESET. Set this bit to 1 to
trigger a soft reset. The PHY clears the bit when the reset is completed. The register values remain intact during the reset. |
RWC | 0 |
Bit[14]: LOOPBACK. Set this bit to 1 to enable loopback on the serial interface. | RW | 0 | ||
Bit [12]: AUTO_NEGOTIATION_ENABLE. Set this
bit to 1 to enable auto-negotiation. Auto-negotiation is supported only in 1GbE. Therefore, set this bit to 0 when you switch to a speed other than 1GbE. |
RW | 0 | ||
Bit [9]: RESTART_AUTO_NEGOTIATION. Set this
bit to 1 to restart auto-negotiation. The PHY clears the bit as soon as auto-negotiation is restarted. |
RWC | 0 | ||
All other bits are reserved. | — | — | ||
0x01 | status | Bit [5]: AUTO_NEGOTIATION_COMPLETE. A value of "1" indicates that the auto-negotiation is completed. | RO | 0 |
Bit [3]: AUTO_NEGOTIATION_ABILITY. A value of "1" indicates that the PCS function supports auto-negotiation. | RO | 1 | ||
Bit [2]: LINK_STATUS. A value of "0" indicates that the link is lost. A value of "1" indicates that the link is established. | RO | 0 | ||
All other bits are reserved. | — | — | ||
0x02:0x03 | phy_identifier | The value set in the PHY_IDENTIFIER parameter. | RO | Value of PHY_IDENTIFIER parameter |
0x04 | dev_ability | Use this register to advertise the device abilities during auto-negotiation. | — | — |
Bits [13:12]:
RF. Specify the remote
fault.
|
RW | 00 | ||
Bits [8:7]:
PS. Specify the PAUSE
support.
|
RW | 11 | ||
Bit [5]: FD. Ensure that this bit is always set to 1. | RW | 1 | ||
All other bits are reserved. | — | — | ||
0x05 (1000BASE-X mode) | partner_ability | The device abilities of the link partner during auto-negotiation. | — | — |
Bit [14]: ACK. A value of "1" indicates that the link partner has received three consecutive matching ability values from the device. | RO | 0 | ||
Bits [13:12]:
RF. The remote fault.
|
RO | 0 | ||
Bits [8:7]:
PS. The PAUSE support.
|
RO | 0 | ||
Bit [6]: HD. A value of "1" indicates that half-duplex is supported. | RO | 0 | ||
Bit [5]: FD. A value of "1" indicates that full-duplex is supported. | RO | 0 | ||
All other bits are reserved. | — | — | ||
0x05 (SGMII mode) | partner_ability | The device abilities of the link partner during auto-negotiation. | — | — |
Bit [11:10]:
COPPER_SPEED
Link partner speed:
|
RO | 00 | ||
Bit [12]: COPPER_DUPLEX_STATUS
Link partner capability:
|
RO | 0 | ||
Bit [14]: ACK. Link partner acknowledge. A value of 1 indicates that the device received three consecutive matching ability values from its link partner. | RO | 0 | ||
Bit [15]: COPPER_LINK_STATUS
Link partner status:
|
RO | 0 | ||
All other bits are reserved. | — | — | ||
0x06 | an_expansion | 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. | RO | 0 | ||
Bit [0]: LINK_PARTNER_AUTO_NEGOTIATION_ABLE. A value of "1" indicates that the link partner supports auto-negotiation. | RO | 0 | ||
0x07 | device_next_page | The PHY does not support the next page feature. These registers are always set to 0. | RO | 0 |
0x08 | partner_next_page | RO | 0 | |
0x09:0x0F | Reserved | — | — | — |
0x10 |
scratch | Provides a memory location to test read and write operations. |
RW |
0 |
Bit [31:16]: Reserved | — | — | ||
0x11 | rev | The current version of the PHY IP core. | RO | Current version of the PHY |
Bit [31:16]: Reserved | — | — | ||
0x12:0x13 | link_timer | 21-bit auto-negotiation link
timer
spans across two 16-bit registers, which have offset 0x12 and
offset 0x13.
|
RW | 0 |
0x14 | if_mode | Interface Mode Register | — | — |
Bit [0]: SGMII_ENA
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. |
RW | 0 | ||
Bit [1]: USE_SGMII_AN
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 bits. |
RW | 0 | ||
Bit [3:2]: SGMII_SPEED
When the PCS operates in SGMII mode (SGMII_ENA = 1) and is not
programmed for automatic configuration (USE_SGMII_AN = 0), the
following encodings specify the speed:
|
RW | 0 | ||
All other bits are reserved. | — | — | ||
0x15:0x1F | Reserved | — | — | — |
0x400 | usxgmii_control | Control Register | — | — |
Bit [0]: USXGMII_ENA:
|
RW | 0 | ||
Bit [1]: USXGMII_AN_ENA is used when
USXGMII_ENA is set to
1:
|
RW | 1 | ||
Bit [4:2]: USXGMII_SPEED is the operating
speed of the PHY in USXGMII mode and USE_USXGMII_AN is set to 0.
|
RW | 0 | ||
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. |
RWC | 0 | ||
Bit [31:10]: Reserved | — | — | ||
0x401 | usxgmii_status | Status Register | — | — |
Bit [1:0]: Reserved | — | — | ||
Bit [2]: LINK_STATUS indicates link status
for USXGMII all speeds
|
RO | 0 | ||
Bit [4:3]: Reserved | — | — | ||
Bit [5]: AUTO_NEGOTIATION_COMPLETE
A value of 1 indicates the Auto-Negotiation process is completed. |
RO | 0 | ||
Bit [31:6]: Reserved | — | — | ||
0x402:0x404 | Reserved | — | — | — |
0x405 | usxgmii_partner_ability | Device abilities advertised to the link partner during Auto-Negotiation | — | — |
Bit [6:0]: Reserved | — | — | ||
Bit [7]: EEE_CLOCK_STOP_CAPABILITY
Indicates whether or not energy efficient
Ethernet (EEE) clock stop is supported.
|
RO | 0 | ||
Bit [8]: EEE_CAPABILITY
Indicates whether or not EEE is supported.
|
RO | 0 | ||
Bit [11:9]:
SPEED
|
RO | 0 | ||
Bit [12]: DUPLEX
Indicates the duplex mode.
|
RO | 0 | ||
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. |
RO | 0 | ||
Bit [15]: LINK
Indicates
the link status.
|
RO | 0 | ||
Bit [31:16]: Reserved | — | — | ||
0x406:0x411 | Reserved | — | — | — |
0x412 | usxgmii_link_timer |
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. |
[19:14]: RW [13:0]: RO |
[19:14]: 1F [13:0]: 0 |
0x413:0x41F | Reserved | — | — | — |
0x461 | phy_serial_loopback | Configures the transceiver serial loopback in the PMA from TX to RX. | — | — |
Bit [0]
|
RW | 0 | ||
Bit [31:1]: Reserved | — | — |
Interface Signals
Clock and Reset Signals
Signal Name | Direction | Width | Description | PHY Configurations |
---|---|---|---|---|
Clock signals | ||||
tx_clkout | Output | 1 | GMII TX clock, derived from tx_serial_clk[1:0]. Provides 156.25 MHz timing reference for 2.5GbE; 62.5 MHz for 1GbE; 6.25 MHz for 100M; 0.625 MHz for 10M. |
|
rx_clkout | Output | 1 | GMII RX clock, derived from tx_serial_clk[1:0]. Provides 156.25 MHz timing reference for 2.5GbE; 62.5 MHz for 1GbE; 6.25 MHz for 100M; 0.625 MHz for 10M. |
|
csr_clk | Input | 1 | Clock for the Avalon® -MM control and status interface. Intel recommends 125 – 156.25 MHz for this clock. | All |
xgmii_tx_coreclkin | Input | 1 | XGMII TX clock. Provides 156.25 MHz timing reference for 10GbE and 312.5 MHz for 10M/100M/1G/2.5G/5G/10G (USXGMII) mode. Synchronous to tx_serial_clk with zero ppm. |
|
xgmii_rx_coreclkin | Input | 1 | XGMII RX clock. Provides 156.25 MHz timing reference for 10GbE and 312.5 MHz for 10M/100M/1G/2.5G/5G/10G (USXGMII) mode. |
|
latency_measure_clk | Input | 1 | 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. |
|
latency_sclk | Input | 1 | Sampling clock for measuring the latency of the transceiver AIB datapath. The clock period is 6.5 ns. It is available only when the IEEE 1588v2 feature is enabled. |
|
Serial interface clock signals | ||||
tx_serial_clk | Input | 1-3 | Serial clock
from transceiver PLLs.
|
All |
rx_cdr_refclk |
Input |
1 |
125-MHz RX CDR reference clock for 1GbE and 2.5GbE |
|
rx_cdr_refclk_1 | Input | 1 | RX CDR reference clock for 10G of 1G/2.5G/10G (MGBASE-T) and all speeds of USXGMII. 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. |
|
rx_pma_clkout | Output | 1 | Recovered clock from CDR, operates at the following frequency: 10M/100M/1G/2.5G/5G/10G (USXGMII) speed mode:
Other speed modes:
|
All |
Reset signals | ||||
reset | Input | 1 | Active-high global reset. Assert this signal to trigger an asynchronous global reset. | All |
tx_analogreset | Input | 1 | 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. | All |
tx_analogreset_stat | Output | 1 | Connect to the corresponding signal in the Transceiver PHY Reset Controller IP core, which implements the appropriate reset sequence for the device. | All |
tx_digitalreset | Input | 1 | 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. | All |
tx_digitalreset_stat | Output | 1 | Connect to the corresponding signal in the Transceiver PHY Reset Controller IP core, which implements the appropriate reset sequence for the device. | All |
rx_analogreset | Input | 1 | Connect this signal to the Transceiver PHY Reset Controller IP core. When asserted, triggers an asynchronous reset to the receiver CDR. | All |
rx_analogreset_stat | Output | 1 | Connect to the corresponding signal in the Transceiver PHY Reset Controller IP core, which implements the appropriate reset sequence for the device. | All |
rx_digitalreset | Input | 1 |
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. |
All |
rx_digitalreset_stat | Output | 1 | Connect to the corresponding signal in the Transceiver PHY Reset Controller IP core, which implements the appropriate reset sequence for the device. | All |
Transceiver Mode and Operating Speed Signals
Signal Name | Direction | Width | Description | PHY configurations |
---|---|---|---|---|
xcvr_mode | Input | 2 | Connect this
signal to the reconfiguration block. Use the
following values
to
set the speed:
|
|
operating_speed | Output | 3 | Connect this
signal to the MAC. This signal provides the current operating
speed of the PHY:
|
All |
Serial Interface Signals
Signal Name | Direction | Width | Description | PHY Configurations |
---|---|---|---|---|
tx_serial_data | Output | 1 | Transmit data | All |
rx_serial_data | Input | 1 | Receive data | All |
GMII Signals
Signal Name | Direction | Width | Description | PHY Configurations |
---|---|---|---|---|
TX GMII signals — synchronous to tx_clkout | ||||
gmii16b_tx_d | Input | 16 | TX data from the MAC. The MAC sends the lower byte first followed by the upper byte. |
|
gmii16b_tx_en | Input | 2 | 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. |
|
gmii16b_tx_err | Input | 2 | 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. |
|
gmii16b_tx_latency | Output | 22 | The latency of
the PHY excluding the PMA block on the TX datapath:
This signal is available when only the Enable IEEE 1588 Precision Time Protocol parameter is selected. |
|
tx_clkena | Output | 1 | TX clock enable
for SGMII 10M/100M operating speeds. In 1
Gbps mode, this signal is always asserted; in 100
Mbps mode, this signal is asserted once every
10 clock cycles; in 10
Mbps mode, this signal is asserted once every
100 clock cycles. For 100M mode, tx_clkout is divided to 6.25 MHz. For 10M mode, tx_clkout is divided to 0.625 MHz. This signal is available when only the Enable SGMII bridge parameter is selected. |
|
RX GMII signals — synchronous to rx_clkout | ||||
gmii16b_rx_d | Output | 16 | 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. |
|
gmii16b_rx_err | Output | 2 | 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. |
|
gmii16b_rx_dv | Output | 2 | 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. |
|
gmii16b_rx_latency | Output | 22 | The latency of
the PHY excluding the PMA block on the RX datapath:
This signal is available only when the Enable IEEE 1588 Precision Time Protocol parameter is selected. |
|
rx_clkena | Output | 1 | RX clock enable
for SGMII 10M/100M operating speeds. In 1
Gbps mode, this signal is always asserted; in
100Mbps mode, this signal is asserted once every 10 clock
cycles; in 10
Mbps mode, this signal is asserted once every
100 clock cycles. For 100M mode, rx_clkout is divided to 6.25 MHz. For 10M mode, rx_clkout is divided to 0.625 MHz. This signal is available when only the Enable SGMII bridge parameter is selected. |
|
XGMII Signals
The XGMII supports 10GbE at 156.25 MHz.
Signal Name | Direction | Width | Description | PHY Configurations | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TX XGMII signals — synchronous to xgmii_tx_coreclkin | |||||||||||||||||||
xgmii_tx_data | Input | 64, 32 | TX data from the
MAC. The MAC sends the data in the following order: bits [7:0], bits
[15:8],
bit
[23:16], and so
on. The width is:
|
|
|||||||||||||||
xgmii_tx_control | Input | 8, 4 | TX
control from the MAC. The xgmii_tx_control bit corresponds to the xgmii_tx_data bits. For example,
xgmii_tx_control[0]
corresponds to xgmii_tx_data[7:0],
xgmii_tx_control[1]
corresponds to xgmii_tx_data[15:8], and so on. The width is:
|
||||||||||||||||
xgmii_tx_valid | Input | 1 | 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:
|
10M/100M/1G/2.5G/5G/10G (USXGMII) | |||||||||||||||
xgmii_tx_latency | Output | 16, 24 | The latency of the PHY excluding the PMA
block on the TX datapath:
The width is:
This signal is available when only the Enable IEEE 1588 Precision Time Protocol parameter is selected. Note: For
USXGMII configuration, the latency value may be unstable for the
first three transmitted packets times (at least 64 bytes). You
should not use the latency value within this
period.
|
|
|||||||||||||||
RX XGMII signals — synchronous to xgmii_rx_coreclkin | |||||||||||||||||||
xgmii_rx_data | Output | 64, 32 |
RX data to the MAC. The PHY sends the data in the following order: bits [7:0], bits [15:8], bit [23:16], and so on. The width is:
|
|
|||||||||||||||
xgmii_rx_control | Output | 8, 4 | RX
control to the MAC. The xgmii_rx_control bit corresponds to the xgmii_rx_data bits. For example,
xgmii_rx_control[0]
corresponds to xgmii_rx_data[7:0],
xgmii_rx_control[1]
corresponds to xgmii_rx_data[15:8], and so on. The width is:
|
||||||||||||||||
xgmii_rx_valid | Output | 1 | 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.
|
10M/100M/1G/2.5G/5G/10G (USXGMII) | |||||||||||||||
xgmii_rx_latency | Output | 16, 24 | The latency of the PHY excluding the PMA
block on the TX datapath:
The width is:
This signal is available when only the Enable IEEE 1588 Precision Time Protocol parameter is selected. Note: For
USXGMII configuration, the latency value may be unstable for the
first three transmitted packets times (at least 64 bytes). You
should not use the latency value within this
period.
|
|
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. The following signals are synchronous to csr_clk.
Signal Name | Direction | Width | Description | PHY Configurations |
---|---|---|---|---|
csr_address | Input | 5, 11 | Use this bus to
specify the register address to read from or write to. The width is:
|
All |
csr_read | Input | 1 | Assert this signal to request a read operation. | |
csr_readdata | Output | 16, 32 | Data read from the
specified register. The data is valid only when the csr_waitrequest signal is deasserted.
The width is:
|
|
csr_write | Input | 1 | Assert this signal to request a write operation. | |
csr_writedata | Input | 16, 32 | Data to be written
to the specified register. The data is written only when the csr_waitrequest signal is deasserted.
The width is:
|
|
csr_waitrequest | Output | 1 | When asserted,
indicates that the PHY is busy and not ready to accept any read or
write requests.
|
Transceiver Status and Reconfiguration Signals
Signal Name | Direction | Width | Description | PHY Configurations |
---|---|---|---|---|
rx_is_lockedtodata | Output | 1 | Asserted when the CDR is locked to the RX data. | All |
tx_cal_busy | Output | 1 | Asserted when TX calibration is in progress. | |
rx_cal_busy | Output | 1 | Asserted when RX calibration is in progress. | |
Transceiver reconfiguration signals | ||||
reconfig_clk | Input | 1 | Reconfiguration signals connected to the reconfiguration block. The reconfig_clk signal provides the timing reference for this interface. | All |
reconfig_reset | Input | 1 | ||
reconfig_address | Input | 11 | ||
reconfig_write | Input | 1 | ||
reconfig_read | Input | 1 | ||
reconfig_writedata | Input | 32 | ||
reconfig_readdata | Output | 32 | ||
reconfig_waitrequest | Output | 1 |
Status Signals
Signal Name | Direction | Clock Domain | Width | Description | PHY Configurations | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
led_char_err | Output | Synchronous to rx_clkout | 1 | Asserted when a 10-bit character error is detected in the RX data. This signal is not applicable for 10GbE. |
|
|||||||||||
led_link | Output | Synchronous to tx_clkout | 1 | Asserted when the link synchronization for 1GbE or 2.5GbE is successful. This signal is not applicable for 10GbE. | ||||||||||||
led_disp_err | Output | Synchronous to rx_clkout | 1 | Asserted when a 10-bit running disparity error is detected in the RX data. A running disparity error indicates that more than the previous and perhaps the current received group had an error. This signal is not applicable for 10GbE. | ||||||||||||
led_an | Output | Synchronous to rx_clkout | 1 | Asserted when auto-negotiation is completed. This signal is not applicable for 10GbE. | All | |||||||||||
led_panel_link | Output | Synchronous to rx_clkout | 1 | When asserted, this signal indicates the following behavior:
|
|
|||||||||||
rx_block_lock | Output | Synchronous to rx_clkout | 1 | Asserted when the link synchronization for 10GbE of MGBASE-T and all speeds of USXGMII is successful. |
|
1G/2.5G/5G/10G Multi-rate Ethernet PHY Intel Stratix 10 FPGA IP User Guide Archives
IP Core Version | User Guide |
---|---|
18.0 | 1G/2.5G/5G/10G Multi-rate Ethernet PHY Intel® Stratix® 10 FPGA IP User Guide |
17.1 | Intel® Stratix® 10 1G/2.5G/5G/10G Multi-rate Ethernet PHY IP Core User Guide |
Document Revision History for the 1G/2.5G/5G/10G Multi-rate Ethernet PHY Intel Stratix 10 FPGA IP User Guide
Document Version | Intel® Quartus® Prime Version | Changes |
---|---|---|
2019.05.10 | 19.1 |
|
2019.01.30 | 18.0 | Updated Table: Clock and Reset Signals to update the description for rx_pma_clkout. |
2018.09.24 | 18.0 |
|
2018.05.07 | 18.0 |
|
Date | Version | Changes |
---|---|---|
November 2017 | 2017.11.06 |
|
June 2017 | 2017.06.05 |
|
May 2017 | 2017.05.08 | Initial release. |