May 06, 2013
This reference design demonstrates the operation of Altera® 100-Gbps Ethernet MAC and CAUI-4 (4 x 25.7Gbps) PHY IP solution on a Stratix V GT device (5SGTMC7K3F40C2N). It is configured to demonstrate on a Stratix V GT 100G CFP2 Evaluation Board using Altera development tool Quartus II release 13.0.
This design provides a flexible test and demonstration platform which effectively control, test, and monitor 100Gbps Ethernet packets using internal serial PMA loopback and external optical loopback through CFP2 module with 4 x 25.7Gbps full-duplex channels.
Note: The StratixV GT 100G CFP2 Evaluation board is only available for demonstration. If you want to see the demonstration please contact your local Altera sales.
• Stand-alone and easy-to-use reference design example with random packet types and random packet size traffic profile.
• Uses a standard 512-bit Avalon-ST interface to connect to the Ethernet Traffic Generator. Compare packet statistics at Transmit and receive MACs.
Check for Hardware errors in the MAC & PHY
Check for CRC error in the Rx MAC
• System console and TCL based flexible, reusable, and extendable user interface allows users to dynamically configure various registers provided by this demo design.
The hardware platform consists of three sub-systems:
• The 100G Ethernet MAC and CAUI-4 PHY IP
• Traffic Generator
• TCL based System Controller for configuration and control of the system
This system can be represented by the following diagram:
The Altera 100G Ethernet MAC and CAUI-4 PHY IP core is implemented in compliance with the IEEE 803.3ba 2010 Higher Speed Ethernet Standard. This module handles the frame encapsulation and flow of data between a client logic and Ethernet network via a 100GbE Ethernet PCS and PMA (CAUI-4 PHY). In the TX direction, the MAC accepts client frames, inserts inter-packet gap (IPG), preamble, start of frame delimiter (SFD), header, padding, and checksum before passing them to the PHY. The PHY encodes the MAC frame as required for reliable transmission over the media to the remote end. Similarly, in the RX direction, the MAC accepts frames from the PHY, performs checks, updates statistics counters, strips out the CRC, preamble, and SFD, and passes the rest of the frame to the client.
The traffic controller includes a Packet Generator. These modules have 512-bit Avalon-ST interface for the data-path and connect to the 100G Ethernet MAC. There is also a 32-bit Avalon-MM configuration and status interface associated with the Generator. The generator can generate packets with random size from 64 Bytes to 1500 Bytes.
Pass condition in the loopback test: number of Ethernet frames or total data transmitted should equal to number of frames or total data received and all error Ethernet frame counters should equal to 0. See “Example of internal PMA loop back test” below.
Fail condition in the loopback test: Any of error Ethernet frame counter is NOT equal to 0, total data transmitted not equal to received, or number of frames transmitted not equal to received are consider fail case.
The system controller uses TCL based Altera SYSTEM-CONSOLE which can run on a PC with either a Linux or windows based operating system. The details on system-console can be found in: System Console User Guide. User must provide byte addresses in order to access registers on chip using this interface.
As mentioned in previous sections, the 40G Ethernet sub-system consists of 40G MAC and PHY sub-modules. The MAC client side data path interface has two options: Avalon ST interface and Custom ST interface. This reference design uses an Avalon-ST interface which includes interface adapter. This adapter then provides a standard Avalon-ST interface for the MAC client. The MAC connects to the PHY core over XLGMII interface. The 40G Ethernet IP core can be demonstrated as the following simplified diagram:
The additional details of the IP core can be found in the User guide. The IP core evaluation package and the user guide can be downloaded from Altera website.
The reference design setup essentially consists two parts:
The relevant setups for each of these components are provided in detail as shown below:
The Stratix V GT Transceiver SI Evaluation Board requires minimum hardware setup. A one time setting is required to ensure the following:
1. The CFP2 is connected to an optical loopback cable, or use PMA internal loopback.
2. The DIP switches should not change. Use the default setting.
Before turning on power switch at the upper left corner of the development board, three cables need to be connected into development kit:
1. Power supply cable with adaptor to provide 15V - 20V DC voltage.
2. USB blaster cable connected between PC and evaluation board.
3. An optical loopback cable is installed tightly into the CFP2 module.
To run Windows or Linux based system console; Quartus II rev13.0 software must be installed to execute system-console utility.
Turn on power supply after connecting the development kit using a USB blaster cable to PC and follow below steps to run test:
1. Download the “alt_e100_avalon_top_sv_caui4.qar”.
2. Open alt_e100_avalon_top_sv_caui4.qar file with Quartus II rev13.0 software. Select your work directory.
3. Use Quartus II rev13.0 software Programmer to download alt_e100_avalon_top_sv_caui4.sof file into FPGA.
4. Go to the “Tools” –> “Transceiver Toolkit” menus in Quartus II rev13.0 software. It will open up the System Console tool.
5. Maximize the bottom right (sub) window and minimize all other windows. The TCL console window looks like a command shell window with a “%” command prompt.
6. Type “source demo.tcl” or Type the full path of the tickle script file is located, “source C:/alt_e100_avalon_top_sv_caui4/demo.tcl” at the command prompt "%". Note: use “/” instead of “\”.
7. Now the system is ready to run test. Type “help” to list available command in the script file.
8. Press the S6 (CPURSTn) bottom. Now the platform is ready to run.
run: Start generate random size packets
stop: Stop generate packets and display Tx and Rx counters
loop_off : PMA TX to RX internal loop back off
loop_on : PMA TX to RX internal loop back on
stats: Display Tx and Rx packet counters
clear_stats : Clear Tx and Rx packet counters
checkrx: Check Rx setting
checktx: Check Tx setting
setvod <lane 0-3> <strength 0-5> // Tx strength setting
setvodall <strength 0-5> // All lanes Tx strength setting
setpretap <lane 0-3> <value 0-15> // Tx pre-tap setting
setpretapall <value 0-5> // All lanes Tx pre-tap setting
setpretapinvert <lane 0-3> <sign 0-1> // Tx pre-tap sign 0 = + & 1 = -
setposttap <lane 0-3> <value 0-31> // Tx pos-tap setting
setposttapall <value 0-31> // All lanes Tx pos-tap setting
setdc <lane 0-3> <value 0-19> // Rx DC gain setting
setdcall <value 0-19> // All lanes Rx DC gain setting
setac <lane 0-3> <value 0-8> // Rx AC gain (equalization) setting
setacall <value 0-8> // All lanes Rx AC gain (equalization) setting
Note: Please see Transceiver handbook for detail information of all the PMA setting.
Step1: loop_on //Set tx to rx loopback mode
Step2: run // Start generate random size packets
Step3: stop // Stop the traffic and display TX and RX status
Pass Case: TX and RX packet counters should be exactly the same and all error counters should be equal to 0. A quick pass or fail check is the “Tx Frame Starts” number should equal to RX “Frame Starts (all)” number
See TX and RX Statistics result below.
Tx Frame Starts: Number of total frame transmitted.
8 byte data blocks: Number of total data transmitted.
Unicast data OK Frame: Number of total data frame transmitted.
Unicast Control Frames: Number of total control frame transmitted.
Frame with FCS error: Number of total frame with FCS error received.
Frame starts (all): Number of total frame received.
8 byte data blocks (all): Number of total data received.
Unicast data Err Frame: Number of total data frame with error received.
Unicast data OK Frame: Number of total data frame received.
Unicast Control Frames: Number of total control frame received.
Reproducing the hardware demo design can be done at various levels of the development flow. A quick regeneration of SOF file needs compilation and regeneration of the files provided with the download. The downloaded archive file consists of the following sub-directories under top level directory: alt_e100_avalon_top_sv_caui4.
1. gen_100 – it contains RTL files for Ethernet and other logic blocks
2. common – includes the top level and related include files
3. demo.tcl –TCL scripts file
Please note that the system console and TCL based scripting provides a flexible testing platform. We have done a limited number of testing with an intention to demonstrate the inter-op of the two sub-systems. Additional test cases can be created by creating various kind of difference setting to the sub-system.