-
Notifications
You must be signed in to change notification settings - Fork 46
Acceptance Test Project Implementation
This page provides implementation specific details of the acceptance test. For general information about the test and running instructions, visit Acceptance Test Project page.
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:
- DDR3 A/B Tests
- QDR A/B/C Tests
- 10G Ethernet Loopback Test (SFP+ transceivers and fibers are required)
(Additional tests)
- PCI-E Loopback Test (PCI-E Loopback Board required)
- FMC Loopback Test (FMC Loopback Board required)
- QTH Loopback Test (QTH Loopback Board required)
- GPIO/IIC/UART General Test (FMC Looopback Board, Pmod Loopback Test Fixture required)
- SATA Loopback Test (SATA III Cross-over Cable required)
Note: The following tests are not used in the GUI framework
- [Host Compatible PCIe Test] (#host-compatible-pcie-test)
- FMC Aurora Loopback Test (FMC Loopback Board required)
- FMC iBert Test (FMC Loopback Board required)
- QTH Aurora Loopback Test (QTH Loopback Board required)
- QTH iBert Test (QTH Loopback Board required)
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 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.
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 |
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.
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 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.
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 |
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.
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 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.
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 |
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.
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 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.
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 |
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.
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.
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 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.
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 |
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.
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 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.
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 |
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.
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 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.
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 |
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.
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.
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 |
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.
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.
Under Acceptance Test folder, run
$ make 10g_loopback
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.
Under Acceptance Test folder, run
$ make gpio