The UNH-IOL has a number of commercially available traffic generators that are used in 10Gb Ethernet conformance testing. These traffic generators allow us to send custom frames to DUTs (Devices Under Test) during conformance and interoperability testing. We can customize the type, size, and data payload of the frames, and we can even use these traffic generators to send specific patterns of different frames. Yet many tests of the underlying physical layer we identify in our test suites require a level of control beyond what these traffic generators are capable of. The BitPhyer 10G is a test tool developed at the IOL to meet the needs that other test tools could not.
The system consists of a Xilinx development board with custom Hardware Descriptive Language (HDL) which is controlled via software and a graphical user interface created at the IOL using LabVIEW. The BitPhyer 10G system is used for testing conformance of:
- IEEE 802.3 Clause 4 – Media Access Control
- IEEE 802.3 Clause 46 – Reconciliation Sublayer
- IEEE 802.3 Clause 49 – Physical Coding Sublayer
Like the other traffic generators in the lab, the BitPhyer 10G allows us to send many different types and sizes of frames to DUTs and create specific patterns of frames. The BitPhyer 10G also gives us the ability to transmit and receive individual arbitrary 66-bit codes, trigger the logic analyzer on specific 64b/66b block types, toggle the scrambler and descrambler, as well as send and receive jitter test patterns.
The BitPhyer 10G is very handy for testing the receiver's ability to handle incorrectly encoded bit streams. An example of this can be found in the Clause 4 MAC test suite, where there are certain tests which require sending fragments, runt frames, frames with preamble or length errors, and other patterns that cannot be created with other traffic generator. One specific example is Test #4.1.2a, which requires the testing station to transmit a runt frame to the DUT that ranges from 5 to 63 bytes in length. The COTS tools that are used for a large portion of the Clause 4 testing can only create frames as small as 46 bytes in length, but the BitPhyer 10G can easily generate frames down to 5 bytes. The BitPhyer 10G also allows us to test a DUT’s ability to receive variable preamble by reducing the amount of preamble that follows the Start Frame Delimiter.
Clause 46 and 49 conformance testing is performed entirely with the BitPhyer 10G system. The tests in these test suites require finer control over the individual 64b/66b blocks than is possible with other traffic generators including generating specific pattern of ordered sets (Local and Remote Faults) or sending blocks with specific control codes or block types. For these tests it is also necessary to gather detailed information about the responses the DUT sends back to the test station during testing.
The BitPhyer 10G logic analyzer can be set to trigger upon reception of specific block types or a pattern of blocks. For example, a frame can be captured by setting the logic analyzer to trigger upon receiving a block with a block type of 78, 33, or 66, and faults can be identified by triggering on block types 55, 4B, or 2D. The logic analyzer can also be set to trigger on anything that is not an idle block or upon receiving 48 consecutive idles. Once the logic analyzer is triggered a 512 block long capture (starting at 53 blocks before the triggering block) is stored in memory and can be downloaded to view in the GUI.
Figure 1: Examples of the BitPhyer 10G software interface
The BitPhyer 10G GUI offers two ways to view the captured data. The ‘Receive’ tab shows the 66-bit block decodes for each of the blocks and also includes a list of any frames, ordered sets, or error blocks found in the capture along with their position for easy reference. The ‘Analyze Blocks’ tab shows the blocks, block format, and block type for each block in the capture. This tab also includes a color bar which gives color coded information about what types of blocks were found in the captured data.
The BitPhyer 10G also offers a suite of tools to perform pattern testing on a DUT. The BitPhyer 10G is able to generate a PRBS31 test pattern as well as the Pseudo-Random test patterns defined in Clause 45 of IEEE 802.3. The BitPhyer 10G also includes an error counter which can be used to ensure that a DUT is able to properly transmit these test patterns.
The ability to edit test vectors at the block level is extremely important for much of the testing done in the 10 Gigabit Ethernet Consortium. Without this level of control, much of the testing we do wouldn’t be possible or would require complex test setups including oscilloscopes, arbitrary waveform generators (AWGs), and logic analyzers. Data captured on the BitPhyer 10G provides a more detailed level of information than what is available through most other commercially available traffic generators allowing for quick reporting of highly detailed test results.