August 24, 2011
Altera 10G Ethernet Interoperability Hardware Demonstration Design. This reference designs demonstrates the operation of the Altera® 10-Gbps Ethernet (10GbE) MAC and the 10G Base-R PHY IP components together and their interoperability on SFI interface with a optical SFP+ running at 10.3125Gbps. This design is built on a 100G development board using Stratix® IV GT device with Altera development tool ACDS release 11.0SP1. The designs provides a flexible test and demonstration platform on which you can control, test, and monitor 10GbE operations using system loopbacks at various points in the data path. The loopback points include XGMII interface and serial-PMA interfaces within FPGA, and external optical loopback at the SFP+ modules. This hardware demonstration reference design offers the following features:
Figure below shows the block diagram overview of the 10G Ethernet Interoperability hardware demostration design for 10G Base R.
Regenerating and Recompiling the Reference Design
You can reproduce the reference design at various levels of the development flow. A quick regeneration of a SRAM Object File (.sof) requires recompilation and regeneration of the files provided with the download.
The following sections provide guidelines for regeneration and simulation of the Altera 10GBASE-R Ethernet subsystem.
To generate the Altera 10G Ethernet subsystem, follow these steps:
1. Download and restore the archived project:
a. ETH_10GBASER_DEMO_DESIGN.qar for Quartus II 11.0SP1
b. Refer to ETH_10GBASER_DEMO_DESIGN_READ_ME.txt for all the importat notes
2. Start the Windows/Linux Quartus II 11.0SP1 software. In the 10GETH_10GBASER_DEMO_DESIGN directory, open CHIP.qpf.
3. On the Tools menu, click on Qsys.
4. On the File menu, click Open.
5. In the ETH10G_TOP directory, open ETH10G_TOP.qsys.
6. In the System Contents tab, double click ETH10G_TOP. The Altera Ethernet 10G Design Example dialog box appears.
7. In the CONFIGURATION tab, select MDIO, 10G Base-R PHY and Avalon-ST Single Clock Fifo.
8. In the MAC tab, at Resource Optimization Options, tick Supplementary Address, CRC on Transmit Path and Statistic Collection.
9. At the Statistic Counters pulldown menu, select Memory-based. Other options, leave them untick.
10. In the MDC tab, key in 64 in MDC DIVISOR box.
11. In the SC FIFO tab, at both Tx and Rx Single Clock Fifo, tick USE STORE AND FORWARD. Select 512 at both Fifo Depth pulldown menu. Other options, leave them untick.
12. Skip DC FIFO and XAUI PHY tabs
13. In the 10G Base-R tab, below is the recommended analog setting for the 100G Development board. Please take note that this setting could be vary base on board to board basis.
a. Transmitter termination resistance: OCT_100_OHMS
b. Pre-emphasis pre-tap setting: 0
c. Pre-emphasis pre-tap polarity setting : untick
d. Pre-emphasis first post-tap setting: 29
e. Pre-emphasis second post-tap setting: 0
f. Pre-emphasis second post-tap polarity setting: untick
g. Transmitter VOD control setting: 7
h. Receiver Termination resistance: OCT_100_OHMS
i. Receiver DC gain: 0
j. Receiver static equalizer setting: 0
Note: If you have trouble setting the Pre-emphasis first post-tap setting, please refer to Read me.txt for known issue and workaround.
14. Click Finish.
15. Go to Generation tab. At the Create simulation model pull down menu, select Verilog. At Synthesis, ensure that Create HDL design for synthesis is tick.
16. Click Generate to generate ETH10G_TOP.v along with other files necessary for the simulation and hardware compilation of the design.
To run simulation on the Altera 10G BASE-R Ethernet subsystem, follow these steps:
1. Start the Questasim 6.6d simulator software.
2. Browse to ETH_10GBASER_DEMO_DESIGN/SIM
3. In the Tcl Console window, type the command as shown below:
4. At the end of the simulation, the Questasim simulator provides a summary of total number of packets received. CRC errors will appear when the simulation fails.
To recompile the design, follow these steps:
Using the Reference Design:
This section describes the required hardware and software setup.
To run the reference design, you need the following:
The relevant setup for each of these components are provided as the following
The 100G SIV GT Development board is shown in figure above and all the hardware usage is label:
1. User need to connect the power adaptor and power on the board by switch on the SW1
2. Connect the JTAG USB Cable to J60
3. User can insert the SFP+ module in to SFP+ port B
a. Insert the SFP+ loopback module provided by the Development Kits
b. Insert the Finisar SFP+ (FTLX8571D3BCV) Optical Module with LC Loopback Optical Patch Cords
4. Supply 644.53125Mhz LVDS Clock to J16 and J23. This clock must supply as this is use as Altera’s transceiver reference clock for 10G Base-R PHY IP
a. User can use the on-board 644.53125Mhz LVDS clock output on J10 and J11 but user must ensure there is clock output on J10 and J11.
b. User can supply the clock from external clock generator
5. The three push buttons in the figure above are used as below:
a. PB0 - Altera 10G Ethernet System Reset
b. PB1 - SFP+ Tx Disable
c. PB2 - Stop button to abort the test due to any reason the user wants to.
6. The two bits DIP switch setting is used to select different type of status display on the LED Host Display. User can leave if as default.
7. The LED Host Display is to show the test status: Progress, Pass, or Fail status during and after the test has been completed.
Setting up Terminal to program the device and run test
Now connect the 100G SIVGT dev kit using a USB blaster cable in addition to the power supply. We are using windows based example here. The Linux based test is similar to this, as basically the nios2 shell will be replaced by a Linux shell. Please follow the following steps to install and setup the files necessary to program the board.
1. Save the zip file in your work area and unzip the directory
2. Open a nios2-eds shell
3. Change directory to ETH_10GBASER_DEMO_DESIGN
4. Type nios2-configure-sof CHIP.sof and enter. You can also chose to program it using Quartus or independent programmer. If due to some reason this sof file is corrupt and you want to regenerate it in your system you can do it by following the steps provided in the following chapters.
5. Go to the DEMO directory.
6. Type system-console and enter. It will bring up a window that has 4 sub-windows. Unlock the right bottom window and minimize all other windows.
7. The system console window looks like a command shell window with a % command prompt. Make sure you are in the DEMO directory then type:
then press Enter.
8. A Command List as shown in figure below will be shown and user can key in difference command for loopback test, changing the test parameter, and memory map display.
9. Now the setup is ready to run your test. Using various options provided in the system controller and user interface of chapter 1, you can run tests in different loopback mode by entering the loopback point such as XGMII, ALTPMA, or SFPP.
TEST SFPP 20000 5
o Please take note the command are all case sensitive. We use upper letter for all the command and parameter
o Runs a test by sending 5 bursts of sizes 20000, 40000, 60000, and 80000 packets of random size (up to 1518 bytes) and random payload contents through MAC and loops them back on LC optical loopback patch cord. These bursts are received by the monitor after being forwarded by the 10G MAC. All the test parameter can be change using the SET_PARAM command.
10. At the end of the test, the result is display on the system console terminal and a LOG file is created. Please go through the log file to make sure NO BAD packets have been received by the Monitor. In addition this log file also provides the packet classification and statistics done by the Rx MAC.
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. Please refer to ETH_10GBASER_DEMO_DESIGN_READ_ME.txtto find out all the known issue and workaround.