background image

Appendix: Multi-Lane 1G IOD CDR Design

Microsemi Proprietary DG0799 Demo Guide Revision 3.0

31

6

Appendix: Multi-Lane 1G IOD CDR Design

In a multi-lane design, Ethernet traffic from multiple RJ45 cables, comes into the FPGA via PHY. In such 
cases, multiple RX and TX ports must be assigned from the PolarFire GPIO Banks to form multiple 
SGMII links with the PHY. The following figure shows the placement of I/O Banks and PLLs in a PolarFire 
device (MPF300).

Figure 35 • 

I/O Banks and PLL placement in MPF300

Each Bank has multiple I/O Lanes and each I/O Lane includes 6 I/O pairs. The lane controller available in 
each I/O lane has a clock recovery unit, which is used for the Clock recovery of that lane. Hence, only 
one SGMII link can be realized from an I/O lane.

For an 8-lane design, 8 I/O Lanes are used to form 8 SGMII links. To enable sharing of the 
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 selected horizontally upto half of the side

Lanes from vertical and horizontal Banks can be selected

Note:

In Libero SoC, when I/O lanes are selected from Bank 5 or 2, or from both and placed, the 
PF_IOD_CDR_CCC selects the SW PLL and is placed SW. If all I/O lanes are selected from Bank 4, 
PF_IOD_CDR_CCC selects the NW PLL and is placed NW.

When the reference clock for all the links is same:

PF_IOD_CDR_CCC can be shared across all IOD blocks (PF_IOD_CDR) for the HSIO BANK 
clocks and transmit clock (TX_CLK).

PF_IOD_CDR_CCC uses an internal lane controller to generate the DLL delay code and shares it 
with all IOD blocks. The DLL delay code is required for phase tuning/adjustment.

GPIO

Bank 5

T

ransceiv

er Lane

16-24 Lanes

NW

Corner

GPIO

Bank 4

HSIO

Bank 1

HSIO

Bank 7

HSIO

Bank 0

NE

Corner

SW

Corner

SE

Corner

HSIO

Bank 6

GPIO

Bank 2

JTAG/SPI

Bank 3

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: