Skip to content

Acceptance Test Project Implementation

noaz edited this page Nov 12, 2015 · 6 revisions

Introduction

This page provides implementation specific details of the acceptance test. For general information about the test and running instructions, visit Acceptance Test Project page.

Implementation Details

This section provides implementation details (like interface configuration details, board requirements etc) about the acceptance tests. The following section also illustrates how to run the tests in the non-gui mode (by directly calling the make files).

The tests included in the acceptance_test project are shown as follows:

(Additional tests)

Note: The following tests are not used in the GUI framework

In this documentation, instructions on how to compile, run and debug each test are provided. The configuration of each interface are listed in each test section. This project can serve as a guidance on how to configure and test the interface.

DDR3 A/B Test

DDR3 A/B Test is built based on Xilinx 7 Series MIG Example Design with a Uart interface to read the status of the test. Logic analyzer core is inserted to provide more detailed debugging information to the users if the test fails.

MIG Configuration

Parameter Name Value Coment
Clock Period 1225 ps 849.62MHz, 1700MTps, Please Refer to Xilinx AR61853
DDR Type DDR3 SODIMM
Part No MT8KTF51264Hz-1G9
Voltage 1.5V
Axi Data Width 128
Arbitrition RD_PRI_REG
Narror Burst Support Disabled
Input Clock 4288 ps 233.209MHz
Read Burst Sequential
Output Drive Impedance RZQ/7
ODT RZQ/6
CS Enabled
Reset Polarity Active High
IO Power Reduction ON

Compile the project

Under Acceptance Test folder, run

$ make ddr3A

$ make ddr3B

The script will generate the hardware of the project under folder hw/project/nf_sume_ddr3A_example and hw/project/nf_sume_ddr3B_example respectively. The synthesis and implementation procedure of both projects will start automatically. After generating the bitfiles, the hardware profile will be exported to sw/nf_sume_ddr3A, and a SDK project will be created there for microblaze software compilation. The generated elf file will be linked back to the hardware project and a compressed bitfile will be generated and copied to bitfiles folder.

Test and Debug

You can open the project in Vivado, connect NetFPGA-SUME board to your PC and download the bitfile to the board. Please refer to Xilinx document UG586: Zynq-7000 AP SoC and 7 Series Devices Memory Interface Solutions v2.3 for detailed explanation of debugging signals. LD0 is used to indicate the presence of DDR3 233MHz reference clock, and LD1 is used to indicate whether DDR3 calibration is successfully or not.

QDR A/B/C Test

QDR A/B/C Test is built based on Xilinx 7 Series MIG Example Design with a Uart interface to read the status of the test. Logic analyzer core is inserted to provide more detailed debugging information to the users if the test fails.

MIG Configuration

Parameter Name Value Coment
Clock Period 2000 ps 500MHz
DDR Type Components-BL4
Part No CY7C25652KV18-500BZC
Fixed Latency Disabled
Input Clock 5000 ps 200MHz
Reset Polarity Active High
DCI for Data and Read Clocks Enabled

Compile the project

Under Acceptance Test folder, run

$ make qdrA qdrB qdrC

The script will generate the hardware of the project under folder hw/project/nf_sume_qdrA_example, hw/project/nf_sume_qdrB_example and hw/project/nf_sume_qdrC_example respectively. The synthesize and implementation procedure of both projects will start automatically. After generating the bitfiles, the hardware profile will be exported to sw/nf_sume_qdrA, sw/nf_sume_qdrB and sw/nf_sume_qdrC, and a SDK project will be created there for microblaze software compilation. The generated elf file will be linked back to the hardware project and a compressed bitfile will be generated and copied to bitfiles folder.

Test and Debug

You can open the project in Vivado, connect NetFPGA-SUME board to your PC and download the bitfile to the board. Please refer to Xilinx document UG586: Zynq-7000 AP SoC and 7 Series Devices Memory Interface Solutions v2.3 for detailed explanation of debugging signals. LD0 is used to indicate read/write data mismatch, and LD1 is used to indicate whether QDR calibration is successfully or not.

QTH iBERT Test

QTH iBERT test utilizes Xilinx iBERT 7-series GTH cores that exercise all 8 GTH lanes on QTH connectors at 12.5Gbps with 156.25Mhz Reference Clock. QTH Loopback board is required to run this project.

iBERT Core Configuration

Parameter Name Value Coment
Silicon Version General ES/Production
Protocol Custom
Line Rate 12.5Gbps
Data Width 32
Refclk 156.25MHz
Quad Count 2 8 lanes
Quad PLL Checked
Protocol Selection QUAD 117/118: Custom/12.5Gbps, Others: None
Refclk Selection QUAD 117/118: MGTREFCLK0118, Others: None
TXUSRCLK Source Channel 0
System Clock Source External
System Clock IO Standard DIFF SSTL15
System Clock P Package Pin H19
System Clock N Package Pin G18
System Clock Frequency 200MHz

Compile the project

Under Acceptance Test folder, run

$ make qth_ibert

The script will generate the hardware of the project under folder hw/project/nf_sume_qth_ibert_example. The synthesize and implementation procedure of both projects will start automatically. A compressed bitfile will be generated and copied to bitfiles folder after the compilation.

Test

Plug-in QTH Loopback board, start vivado Design Suite and open project nf_sume_qth_ibert_example under folder hw/project/nf_sume_qth_ibert_example. Open Hardware Manager and start QTH iBERT Test.

QTH GT-Wizard Test

QTH GT-Wizard test utilizes Xilinx 7 series FPGAs Transceiver Wizard that exercise all 8 GTH lanes on QTH connectors at 12.5Gbps with 156.25Mhz Reference Clock. QTH Loopback board (shown below) is required to run this project.

GT Wizard Core Configuration

Parameter Name Value Coment
GT Type GTH
Shared Logic include in Example Design
TX Line Rate 12.5Gbps
TX Reference Clock 156.25MHz
RX Line Rate 12.5Gbps
RX Reference Clock 156.25MHz
PLL Selection TX/RX: QPLL
GTH X1Y28 - X1Y35 TX/RX Clock Source: REFCLK0 Q8
Vivado Lab Tools Enabled
TX External Data Width 32
TX Encoding 64/66 With Ext Seq Ctr
TX Internal Data Width 32
RX External Data Width 32
RX Encoding 64/66
RX Internal Data Width 32
Use DRP Disabled
TX Buffer Enabled
RX BUffer Enabled

Compile the project

Under Acceptance Test folder, run

$ make qth_gtwizard

The script will generate the hardware of the project under folder hw/project/nf_sume_qth_ibert_example. The synthesize and implementation procedure of both projects will start automatically. A compressed bitfile will be generated and copied to bitfiles folder after the compilation.

Test

Plug-in QTH Loopback board, start vivado Design Suite and open project nf_sume_qth_ibert_example under folder hw/project/nf_sume_qth_ibert_example. Open Hardware Manager and start QTH iBERT Test.

Host Compatible PCIe Test

The host compatible PCIe test is a simple PCIe test to check if packets can be sent form the host to NetFPGA SUME card and vice-versa.

For mean time, use the hardware tests of Reference NIC project to conduct the host compatible PCIe Test. Packets are generated at the host using the test infrastructure (that uses scapy). The generated packets at the host are then sent to the SUME card using the PCIe interface, reference_pipeline and back to the host.

The packets pass through the Reference NIC pipeline (host -> dma -> input arbiter -> opl -> OQs -> nf_interface -> external loopback-> nf_interface -> arbiter -> opl -> OQs-> dma -> host)

Follow the instructions for the hardware tests of Reference NIC to test the PCIe interface within the host.

FMC iBERT Test

FMC iBERT test utilizes Xilinx iBERT 7-series GTH cores that exercise all 10 GTH lanes on FMC connectors at 12.5Gbps with 156.25Mhz Reference Clock. FMC Loopback board is required to run this project.

iBERT Core Configuration

Parameter Name Value Coment
Silicon Version General ES/Production
Protocol Custom
Line Rate 12.5Gbps
Data Width 32
Refclk 156.25MHz
Quad Count 3 12 lanes, 2 unused
Quad PLL Checked
Protocol Selection QUAD 111/112/113: Custom/12.5Gbps, Others: None
Refclk Selection QUAD 111/112/113: MGTREFCLK0112, Others: None
TXUSRCLK Source Channel 0
System Clock Source External
System Clock IO Standard DIFF SSTL15
System Clock P Package Pin H19
System Clock N Package Pin G18
System Clock Frequency 200MHz

Compile the project

Under Acceptance Test folder, run

$ make fmc_ibert

The script will generate the hardware of the project under folder hw/project/nf_sume_fmc_ibert_example. The synthesize and implementation procedure of both projects will start automatically. A compressed bitfile will be generated and copied to bitfiles folder after the compilation.

Test

Plug-in FMC Loopback board, start vivado Design Suite and open project nf_sume_fmc_ibert_example under folder hw/project/nf_sume_fmc_ibert_example. Open Hardware Manager and start FMC iBERT Test.

FMC GT-Wizard Test

FMC GT-Wizard test utilizes Xilinx 7 series FPGAs Transceiver Wizard that exercise all 10 GTH lanes on FMC connectors at 12.5Gbps with 156.25Mhz Reference Clock. FMC Loopback board (shown below) is required to run this project.

GT Wizard Core Configuration

Parameter Name Value Coment
GT Type GTH
Shared Logic include in Example Design
TX Line Rate 12.5Gbps
TX Reference Clock 156.25MHz
RX Line Rate 12.5Gbps
RX Reference Clock 156.25MHz
PLL Selection TX/RX: QPLL
GTH X1Y4 - X1Y13 TX/RX Clock Source: REFCLK0 Q2
Vivado Lab Tools Enabled
TX External Data Width 32
TX Encoding 64/66 With Ext Seq Ctr
TX Internal Data Width 32
RX External Data Width 32
RX Encoding 64/66
RX Internal Data Width 32
Use DRP Disabled
DRP Clock Frequency 100MHz
TX Buffer Enabled
RX BUffer Enabled

Compile the project

Under Acceptance Test folder, run

$ make fmc_gtwizard

The script will generate the hardware of the project under folder hw/project/nf_sume_fmc_gtwizard_example. The synthesize and implementation procedure of both projects will start automatically. A compressed bitfile will be generated and copied to bitfiles folder after the compilation.

Test

Plug-in FMC Loopback board, start vivado Design Suite and open project nf_sume_fmc_gtwizard_example under folder hw/project/nf_sume_fmc_gtwizard_example. Open Hardware Manager and start FMC GtWizard Acceptance Test.

SATA Test

SATA test utilizes Xilinx 7 series FPGAs Transceiver Wizard that exercise all 2 GTH lanes on two SATA connectors at 6Gbps (SATA-III) with 150Mhz Reference Clock. SATA Crossover cable (shown below) is required to run this project.

GT Wizard Core Configuration

Parameter Name Value Coment
GT Type GTH
Shared Logic include in Example Design
TX Line Rate 6Gbps
TX Reference Clock 150MHz
RX Line Rate 6Gbps
RX Reference Clock 150MHz
PLL Selection TX/RX: CPLL
GTH X1Y24 - X1Y25 TX/RX Clock Source: REFCLK1 Q6
Vivado Lab Tools Enabled
TX External Data Width 16
TX Encoding 8B/10B
TX Internal Data Width 20
RX External Data Width 16
RX Encoding 8B/10B
RX Internal Data Width 20
Use DRP Disabled
SATA COM Sequence 6 Bursts/ 6 Idles
TX Buffer Enabled
RX BUffer Enabled

Compile the project

Under Acceptance Test folder, run

$ make sata

The script will generate the hardware of the project under folder hw/project/nf_sume_sata_example. The synthesize and implementation procedure of both projects will start automatically. A compressed bitfile will be generated and copied to bitfiles folder after the compilation.

Test

PCIE Test

PCIE test utilizes Xilinx 7 series FPGAs Transceiver Wizard that exercise all 8 GTH lanes on PCIE connectors at 8Gbps (Gen-III) with 100Mhz Reference Clock. PCI-E Loopback board (shown below) is required to run this project.

GT Wizard Core Configuration

Parameter Name Value Coment
GT Type GTH
Shared Logic include in Example Design
TX Line Rate 8Gbps
TX Reference Clock 100MHz
RX Line Rate 8Gbps
RX Reference Clock 100MHz
PLL Selection TX/RX: QPLL
GTH X1Y16 - X1Y23 TX/RX Clock Source: REFCLK1 Q5
Vivado Lab Tools Enabled
TX External Data Width 64
TX Encoding 64B/66B with Ext Seq Ctr
TX Internal Data Width 32
RX External Data Width 64
RX Encoding 64B/66B
RX Internal Data Width 32
Use DRP Disabled
TX Buffer Enabled
RX BUffer Enabled

Compile the project

Under Acceptance Test folder, run

$ make pcie

The script will generate the hardware of the project under folder hw/project/nf_sume_pcie_example. The synthesize and implementation procedure of both projects will start automatically. A compressed bitfile will be generated and copied to bitfiles folder after the compilation.

Test

10g loopback test

The 10g loopback test uses Xilinx 10g ethernet subsystem core. More technical details regarding the configuration of the core will be added in due course. The loopback configuration for the test is shown below.

Compile the project

Under Acceptance Test folder, run

$ make 10g_loopback

Test

GPIO/IIC/UART General Test

The GPIO/IIC/UART test the GPIO, IIC and UART peripherals. For the test we require GPIO loopback pins (shown below), micro SD card (not shown). More technical details regarding the configuration of the design will be added in due course.

Compile the project

Under Acceptance Test folder, run

$ make gpio

Clone this wiki locally