One Enterprise, Aliso Viejo,
CA 92656 USA
Within the USA: +1 (800) 713-4113
Outside the USA: +1 (949) 380-6100
Sales: +1 (949) 380-6136
Fax: +1 (949) 215-4996
Email: sales.support@microsemi.com
Microsemi makes no warranty, representation, or guarantee regarding the information contained herein or the suitability of
its products and services for any particular purpose, nor does Microsemi assume any liability whatsoever arising out of the
application or use of any product or circuit. The products sold hereunder and any other products sold by Microsemi have
been subject to limited testing and should not be used in conjunction with mission-critical equipment or applications. Any
performance specifications are believed to be reliable but are not verified, and Buyer must conduct and complete all
performance and other testing of the products, alone and together with, or installed in, any end-products. Buyer shall not
rely on any data and performance specifications or parameters provided by Microsemi. It is the Buyer’s responsibility to
independently determine suitability of any products and to test and verify the same. The information provided by Microsemi
hereunder is provided “as is, where is” and with all faults, and the entire risk associated with such information is entirely
with the Buyer. Microsemi does not grant, explicitly or implicitly, to any party any patent rights, licenses, or any other IP
rights, whether with regard to such information itself or anything described by such information. Information provided in this
document is proprietary to Microsemi, and Microsemi reserves the right to make any changes to the information in this
document or to any products and services at any time without notice.
About Microsemi
Microsemi, a wholly owned subsidiary of Microchip Technology Inc. (Nasdaq: MCHP), offers a comprehensive portfolio of
semiconductor and system solutions for aerospace & defense, communications, data center and industrial markets.
Products include high-performance and radiation-hardened analog mixed-signal integrated circuits, FPGAs, SoCs and
ASICs; power management products; timing and synchronization devices and precise time solutions, setting the world's
standard for time; voice processing devices; RF solutions; discrete components; enterprise storage and communication
solutions, security technologies and scalable anti-tamper products; Ethernet solutions; Power-over-Ethernet ICs and
midspans; as well as custom design capabilities and services. Learn more at www.microsemi.com.
The revision history describes the changes that were implemented in the document. The changes are
listed by revision, starting with the most current publication.
1.1Revision 3.0
The following is a summary of changes made in this revision.
•Updated the document for Libero SoC v12.1.
•The design uses a new IP PF_IOD_CDR_CCC. For more information, see PF_IOD_CDR_CCC_C0,
page 10.
1.2Revision 2.0
The following is a summary of changes made in this revision.
Microsemi PolarFire® FPGAs support 1G (1000BASE-T) Ethernet solutions for various networking
applications. In PolarFire devices, 10/100/1000 Mbps (1G) Ethernet is implemented using the CoreTSE
media access control (MAC) soft IP core. The CoreTSE IP implements a serial gigabit mediaindependent interface (SGMII) with an Ethernet PHY. This Ethernet interface can be implemented in the
FPGA by using either a transceiver or a GPIO with clock and data recovery (CDR) capability. Both these
features are provided by the PF_XCVR and PF_IOD_CDR IP cores, respectively.
GPIOs in PolarFire devices operate at speeds of upto 1.066 Gbps for single-ended standards and 1.25
Gbps for differential standards. Each I/O has an I/O digital (IOD) logic block that supports gearing up of
the output data rate and gearing down of the input data rate. The IOD block with CDR circuitry
(PF_IOD_CDR IP) deserializes high-speed Ethernet input data and transfers it to the FPGA fabric at
lower speeds. It also serializes the lower-speed Ethernet data from the FPGA fabric and transfers to the
high-speed Ethernet PHY.
This document describes how to run the 1G Ethernet loopback demo design, which is a reference design
created to demonstrate 1G Ethernet loopback using GPIO on a PolarFire Evaluation Board. The demo
design is built using the PF_IOD_CDR_CCC, PF_IOD_CDR, CoreTSE, and Mi-V soft processor IP
cores. The reference design is for a single SGMII lane (single RJ45 cable). For information about how to
build a multi-lane (multiple links) design, see Appendix: Multi-Lane 1G IOD CDR Design, page 31.
The demo design can be programmed using either of the following options:
•Using the pre-generated .job file: To program the device using the .job file provided along with the
demo design files, see Programming the Device Using FlashPro Express, page 23.
•Using Libero SoC: To program the device using Libero SoC, see Libero Design Flow, page 17.
A license is required to use the CoreTSE IP core. To request a license, contact
soc_marketing@microsemi.com.
2.1Design Requirements
The following table lists the hardware and software requirements for running the demo design.
Table 1 • Design Requirements
RequirementVersion
Hardware
PolarFire Evaluation Kit (POLARFIRE-EVAL-KIT)
– PolarFire Evaluation Board
– 12 V/5 A AC power adapter and cord
– USB 2.0 A to mini-B cable for UART and programming
RJ45 cable to connect the board with the host PC
Host PCWindows 7 or 10
Software
Cat Karat (Ethernet packet generator)Install the v1.51.200
Wireshark (network protocol analyzer)Install the v1.12.4
3.The latest versions of ModelSim and Synplify Pro are included in the Libero SoC PolarFire
installation package. Make sure you have a Libero Gold license for design evaluation on MPF300
device. A one year Gold software License is included with the Evaluation kit.
4.If you already purchased a Gold license and received a Software ID from Microsemi, generate your
Gold License using the following link:
https://soc.microsemi.com/portal/default.aspx?r=1
5.Download Cat Karat and Wireshark.
2.3Demo Design
The following is the data flow for the 1G Ethernet loopback demo design:
1.PF_CCC_0 provides the clock to the Mi-V processor and other APB peripherals.
2.PF_IOD_CDR_CCC_C0 generates:
•The fabric transmit clock ((TX_CLK_G)) for the CoreTSE block.
•The high-speed bank clocks, and drives the high-speed clocks (HS_IO_CLKs) of the
PF_IOD_CDR_C0 block for clock recovery.
3.PF_IOD_CDR_CCC_C0 also generates Delay codes for the PVT compensation.
4.Mi-V performs the following functions:
•Executes the application from LSRAM (PF_SRAM IP).
•Configures the ZL30364 clock generation hardware through the CoreSPI IP to generate
reference clocks for the VSC PHY and the IOD CDR fabric module.
•Configures the Management registers of CoreTSE and VSC PHY.
•Sends a request to the CoreTSE IP to negotiate with the on-board VSC8575 PHY.
5.CoreTSE IP implements 1G Ethernet MAC and is configured in ten bit interface mode (TBI) to
interface with the PF_IOD_CDR_C0. The CoreTSE IP has an inbuilt MDIO interface to exchange
control and status information with the VSC PHY.
6.PF_IOD_CDR IP does the following:
•Interfaces with the on-board VSC8575 PHY and forms the SGMII link.
•Recovers the data and clock from the incoming RX_P and RX_N ports.
•Sends the recovered clock (RX_CLK_R) to the CoreTSE block.
•Deserializes the recovered data and sends 10-bit parallel data to CoreTSE.
•Receives Ethernet data via the RX_P and RX_N input pads, gears down the receive data rate,
and deserializes the data.
•The deserialized data is sent from PF_IOD_CDR_C0:RX_DATA[9:0] to CoreTSE IP: RCG[9:0].
•The received data is looped back at the CoreTSE IP, and CoreTSE IP:TCG[9:0] is sent to
PF_IOD_CDR_C0:TX_DATA[9:0].
•PF_IOD_CDR_C0 serializes the data, gears up the transmit data rate, and transmits the data to
the on-board VSC PHY via the TX_P and TX_N output pads.
Figure 1, page 4 shows the hardware implementation of the demo design.
The PF_IOD_CDR IP core provides an asynchronous receive and transmit interface that supports upto
1.6 Gbps speed for serial data transfers. It supports the SGMII interface. PF_IOD_CDR uses the DDRX5
IO gearing mode for the SGMII interface with a 10:1 digital ratio to provide the 10-bit data width for both
transmit and receive. The clock recovery circuit, which is part of this PF_IOD_CDR, keeps the receive
clock centered in the data eye.
The PF_IOD_CDR interface is compatible with the CoreTSE, CoreTSE_AHB, and CoreSGMII IP cores
configured in TBI mode. In this demo, the CoreTSE (Non-AMBA) MAC is used in the TBI mode to
transmit and receive the Ethernet packets.
2.3.1.1Receive interface
The PF_IOD_CDR IP includes the clock recovery block, which is used to generate the recovered clock
for sampling the incoming data stream. This IP uses the four clocks of phases 0, 90,180 and 270
degrees for the clock recovery. The recovered clock (RX_CLK_R) is used by the fabric for sampling the
Rx data from the PF_IOD_CDR IP. The CoreTSE logic also uses this clock.
2.3.1.2Transmit Interface
For more information PF_IOD_CDR and its blocks, see UG0686: PolarFire FPGA User I/O User Guide.
The PF_IOD_CDR transmit interface receives the parallel data (TX_DATA[9:0]), converts it into a serial
data stream using the IOD interface, and then transmits it via the I/O ports TX_P and TX_N. The 625
MHz clock generated by the PF_IOD_CDR_CCC is used by PF_IOD_CDR transmit interface to transmit
the data serially on the TX_P/TX_N ports.
For more information about PF_IOD_CDR, see UG0686: PolarFire FPGA User I/O User Guide.
REF_CLK_SEL OutputReference clock speed pin of the VSC PHY. Held high for
selecting the 125 MHz reference clock speed.
RD_BC_ERROROutputCoreTSE receive error signal. This LED signal indicates the
receive code group error. This signal is synchronous to
RX_CLK_R and mapped to LED4 on the board.
When the LED is ON, there is an error in the received code
group.
When the LED is OFF, there is no error.
SPISCLKO, SPISS,
SPISDO, SPISDI
TDOOutputJTAG test data output. Serial data output to tap.
OutputSPI controller signals to interface with the ZL30364 clock
generation hardware.
2.3.3IP Configuration
This section describes the IP blocks and user-defined blocks instantiated in the demo design.
2.3.3.1PF_IOD_CDR_C0_0
The PF_IOD_CDR_C0_0 (PF_IOD_CDR) block is configured for 1250 Mbps. The data rate is set to
1250 Mbps because the SGMII interface operates at this speed. The Enable BITSLIP port check box is
not selected because the CoreTSE IP has a built-in word alignment logic.
Figure 3 • PF_IOD_CDR Configurator
The Advanced tab includes the Jump step size option that specifies the precision of the clock adjustment
during clock recovery. The supported step sizes are 2 or 3, this demo uses a step size of 3. Figure 3,
page 6 shows the configuration of the PF_IOD_CDR_C0 block.
2.3.3.2CORETSE_0
The CORETSE_0 (CoreTSE) block is used to implement the Ethernet MAC. This block is configured in
the ten-bit interface (TBI) mode to interface with the VSC PHY using the SGMII interface, as shown in
Figure 4, page 7. The MDIO PHY Address value is used by the Mi-V soft processor to read and write to
the Management registers of the CoreTSE IP. The Include receive slip logic option is not selected
because the CoreTSE IP has a built-in word alignment logic in TBI mode.
The pf_init_monitor_0 (PF_INIT_MONITOR) block is used to issue a reset signal to the user logic
(FABRIC_RESET_N). To ensure a glitch-free reset, the DEVICE_INIT_DONE signal is connected to the
CORERESET_PF IP with a lock signal from the PF_CCC macro. The AUTOCALIB_DONE signals the
completion of I/O calibration after which the I/Os can be used. Hence, the AUTOCALIB_DONE and
PLL_LOCK are ANDed and used to reset PF_IOD_CDR_C0_0 and CORETSE_0.
This IP retains the default configuration.
2.3.3.4Core_reset_pf_0
The Core_reset_pf_0 (CORERESET_PF) block handles the sequencing of reset signals in the PolarFire
device. The CORERESET_PF block synchronizes the reset of all the blocks to which it is connected
when the PolarFire device is powered up.
2.3.3.5core_jtag_debug_0
The CoreJTAGDebug IP is used to debug the Mi-V soft processor. This IP retains the default
configuration.
The Mi-V soft processor supports RISC-V processor-based designs. The Mi-V soft processor executes
the application from the LSRAM mapped at 0x80000000. It configures the ZL30364 clock generation
hardware through the CoreSPI IP and the VSC PHY through the CoreTSE MDIO interface. It also
configures the CoreTSE registers using the AHB interface.
The following figure shows the Mi-V soft processor configuration, where the Reset Vector Address is
set to 0x8000_0000. This is because in the Mi-V processor memory map, the memory range used for the
AHB memory interface is 0x8000_0000 to 0x8FFF_FFFC, and the memory range used for the AHB I/O
interface is 0x6000_0000 to 0x7FFF_FFFF.
Figure 5 • Mi-V Configurator
2.3.3.7pf_sram_0
The pf_sram_0 block (PF_SRAM_AHBL_AXI) is used to access the fabric RAMs (LSRAMs). The
pf_sram_0 is connected to Mi-V as an AHB slave. At device power-up, the LSRAM blocks are initialized
with the user application code from sNVM.
The processor uses the SRAM memory to execute the application. Figure 6, page 8 shows the LSRAM
depth and the interface settings. The Fabric Interface type is selected AHBLite because the fabric
interfaces with the AHB-based Mi-V processor. The memory depth can be selected based on the
application size. This design uses 64 KB of memory.
Figure 6 • pf_sram_0 Configurator
2.3.3.8PF_CCC_0
The PF_CCC_0 (PolarFire Clock Conditioning Circuitry) generates the fabric reference clock that drives
the soft processor and the APB peripherals (CoreTSE and CoreSPI). The PF_CCC_0 IP is configured to
generate one output fabric clock from an on-board 50 MHz crystal oscillator.
Figure 7, page 9 shows the PF_CCC_0 input clock configuration.