background image

PolarFire FPGA 1G Ethernet Loopback Using IOD CDR

Microsemi Proprietary DG0799 Demo Guide Revision 3.0

4

Figure 1 • 

Block Diagram

2.3.1

About PF_IOD_CDR

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.1

Receive 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.

For more information PF_IOD_CDR and its blocks, see 

UG0686: PolarFire FPGA User I/O User Guide

.

2.3.1.2

Transmit Interface

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.

PF_IOD_CDR

 at 

1250 Mbps

PolarFire Evaluation Board

RX_P

TX_P

RJ45

Host PC

Ethernet Test 

Solution

(cat KARAT,

Wireshark)

CoreTSE

VSC8575

Ethernet

Copper 

PHY

RCG

TCG

RX_DATA

TX_DATA

RX_N

TX_N

APB_S

PolarFire FPGA

Mi-V

SoftProcessor

AHB_MST_MMIO

AHB lite

AHB_APB 

Bridge

CoreSPI

ZL 30364

REF_CLK

APB slave

APB slave

AHB slave

pf_sram

PF_IOD_CDR_CCC

RX DATA

TX DATA

AHB_MST_MEM

Packets 

transmitted from 

host PC catKARAT 

to fabric

Packets received 

at host PC from 

fabric  

SGMII

SGMII

TBI

MDIO Interface

HS_IO_CLK

TBI_TX_CLK

TX_CLK_G

Summary of Contents for Microsemi PolarFire

Page 1: ...DG0799 Demo Guide PolarFire FPGA 1G Ethernet loopback Using IO CDR...

Page 2: ...i 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...

Page 3: ...17 3 1 Synthesize 18 3 2 Place and Route 18 3 2 1 PLL DLL and Lane Controller Placement 18 3 2 2 Resource Utilization 18 3 3 Verify Timing 18 3 4 Generate FPGA Array Data 19 3 5 Configure Design Init...

Page 4: ...and Memories Option 20 Figure 18 Fabric RAMs Tab 20 Figure 19 Fabric RAM Tab Apply Option 21 Figure 20 Board Setup 22 Figure 21 FlashPro Express Job Project 23 Figure 22 New Job Project from FlashPro...

Page 5: ...emo Guide Revision 3 0 v Tables Table 1 Design Requirements 2 Table 2 I O Signals 5 Table 3 Resource Utilization 18 Table 4 Jumper Settings 21 Table 5 AN Registers 34 Table 6 XCVR Configuration 34 Tab...

Page 6: ...g 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 2 Revision 2 0 Th...

Page 7: ...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...

Page 8: ...sation 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 t...

Page 9: ...grees 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 For more information PF_IOD_CDR a...

Page 10: ...ZL30364 and fed to NWC_PLL_0 RESET_N Input Active low Mi V reset Asserted by pressing the on board K22 push button REF_CLK_0 Input 50 MHz input clock received from the on board 50 MHz oscillator and f...

Page 11: ...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...

Page 12: ...UTOCALIB_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...

Page 13: ...7FFF_FFFF Figure 5 Mi V Configurator 2 3 3 7 pf_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...

Page 14: ...PolarFire FPGA 1G Ethernet Loopback Using IOD CDR Microsemi Proprietary DG0799 Demo Guide Revision 3 0 9 Figure 7 PF_CCC_0 Input Clock Configuration...

Page 15: ...locks of four phases 0 90 180 270 from a 125 MHz input The CDR requires four phases of the HS_IO_CLK running at half the frequency of the serial data rate Therefore the HSIO clock frequency is selecte...

Page 16: ...ace with ZL30364 Frame size is set to 16 to match the read write cycles supported by ZL30364 FIFO depth is set to 32 to store maximum frames TX and RX in FIFO Clock rate for the SPI master clock is se...

Page 17: ...hows the Mi V processor bus interface memory map Figure 11 Mi V Processor Bus Interface Memory Map 2 3 3 13 CoreAHBLite_0 CoreAHBLite_0 is configured as shown in Figure 12 page 13 to interface the PF_...

Page 18: ...DR Microsemi Proprietary DG0799 Demo Guide Revision 3 0 13 Figure 12 CoreAHBLite_0 Configuration 2 3 3 14 CoreAHBLite_2 CoreAHBLite_2 is configured as shown in Figure 13 page 14 to interface the APB p...

Page 19: ...gure 14 page 15 to connect the peripherals CoreTSE CoreSPI and CoreUARTapb as slaves APB Master Data bus width 32 bit Number of address bits driven by master 16 The Mi V processor addresses slaves usi...

Page 20: ...ck Using IOD CDR Microsemi Proprietary DG0799 Demo Guide Revision 3 0 15 Figure 14 CoreAPB3 Configuration 2 3 3 16 COREAHBTOAPB3_0 The COREAHBTOAPB3 IP is used to bridge between AHB and APB3 This IP r...

Page 21: ...z On board ZL 30364 clock generation hardware This hardware generates the reference clocks for the VSC PHY the IOD CDR fabric module and CoreTSE Figure 15 page 16 shows the clocking structure of the d...

Page 22: ...nning this demo design which includes Synthesize page 18 Place and Route page 18 Verify Timing page 18 Generate FPGA Array Data page 19 Configure Design Initialization Data and Memories page 20 Genera...

Page 23: ...nstraint_coverage xml file for place and route constraint coverage 3 2 1 PLL DLL and Lane Controller Placement PolarFire FPGA I O pairs are grouped into lanes Each I O bank has multiple lanes Each lan...

Page 24: ...pears next to Ver ify Timing as shown in Figure 16 page 17 2 Right click Verify Timing and select View Report to view the verify timing report and log files in the Reports tab 3 4 Generate FPGA Array...

Page 25: ...LSRAM memory is initialized with the sNVM contents To create the LSRAM initialization client 1 On the Design Flow tab double click Configure Design Initialization Data and Memories as shown in Figure...

Page 26: ...d select View Report to view the corresponding log file in the Reports tab 3 7 Run PROGRAM Action After generating the bitstream the PolarFire device must be programmed The programming procedure invol...

Page 27: ...Figure 20 Board Setup 5 Power up the board using the SW3 slide switch 6 On the Libero Design Flow tab double click Run PROGRAM Action When the device is successfully programmed the LEDs 6 7 8 9 10 and...

Page 28: ...m Installation Directory Microsemi Libero_SoC_v12 1 Designer binfp 3 Select New or New Job Project from FlashPro Express Job from Project menu to create a new job project as shown in Figure 21 page 23...

Page 29: ...umber appears in the Programmer field If it does not confirm the board connections and click Refresh Rescan Programmers Figure 23 Programming the Device 7 Click RUN to program the device When the devi...

Page 30: ...ed with the demo design programming file job For more information see Programming the Device Using FlashPro Express page 23 The Cat Karat and the Wireshark softwares are installed on the host PC To ru...

Page 31: ...nection as shown in Figure 26 page 26 On a Windows 10 machine this connection is Ethernet Figure 26 Host PC Ethernet Network Connection 6 In the Cat Karat Packet Builder window Interfaces pane double...

Page 32: ...lect the use RAW check box and set Packets per Burst to 5 and the Data Pattern to 55 as shown in Figure 28 page 27 Figure 28 Packet Flow and View Settings 8 Open the Wireshark software from the Start...

Page 33: ...Local Area Connection and select the interface settings as shown in Figure 30 page 28 On a Window 10 machine select Ethernet Figure 30 Wireshark Interface Settings 10 Click the Start a new live captu...

Page 34: ...e Ethernet packets transferred from the board to the host PC network card as shown in Figure 32 page 29 Figure 32 Wireshark Live Capture 11 In the Cat Karat window click Start Transmit to transmit fiv...

Page 35: ...preceding figure highlights five packets that were transmitted from the host PC to the board looped back at the CoreTSE IP and sent back to the host PC All packets transmitted from host PC network ar...

Page 36: ...he PF_IOD_CDR_CCC the selection of these I O Lanes must be made in any of the following ways Lanes of the same Bank can be selected vertically upto half of the side Lanes of the same Bank can be selec...

Page 37: ...cascaded mode for the clock recovery and DLL delay update Apart from 8 lane controllers for clock recovery an additional lane controller from the PF_IOD_CDR_CCC is inferred during synthesis for shari...

Page 38: ...see UG0677 PolarFire FPGA Transceiver User Guide This section describes how 1G Ethernet BASE T and BASE X designs are implemented in PolarFire FPGAs using the transceivers 7 1 1G Ethernet BASE T and...

Page 39: ...0549 CoreTSE v3 1 Handbook or HB0627 CoreSGMII v3 2 Handbook The following table lists the AN registers The following registers are common in BASE T and BASE X modes Control register at address 0x00 S...

Page 40: ...interface width 10 bits FPGA interface frequency 125 MHz PMA Mode Enabled Clocks and Resets TX clock Regional RX clock Regional PCS Reset RX Only Table 7 XCVR Port Connections Port Name Input or Outpu...

Page 41: ...ta recovery LANE0_PCS_ARST_N Asynchronous active low reset signal used to reset the PCS module of XCVR lane LANE0_PMA_ARST_N Asynchronous active low reset signal used to reset the PMA module of XCVR l...

Page 42: ...PolarFire FPGA Fabric User Guide For more information about CoreAHBLite see CoreAHBLite Handbook For information about COREAHBTOAPB3 see COREAHBTOAPB3 Handbook For more information about CoreAPB3 see...

Reviews: