EasyManua.ls Logo

Keysight Technologies M8000 Series

Keysight Technologies M8000 Series
668 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
572 Keysight M8000 Series of BER Test Solutions User Guide
9 Utilities
Minimum Requirements to Integrate a DUT's Error Counters
Implement DUT_getLocations() to return a unique name for each
location within the DUT that does provide an error counter (e.g. Lane1,
Lane2, Lane3, Lane4)
Example:
The following example defines DUT_getLocations to define 4 locations
named Lane to Lane 4:
def DUT_getLocations():
return ["Lane1", "Lane2", "Lane3", "Lane4" ]
Implement DUT_getBER(location) to return the error counter for each
of the defined locations.
Example:
The following example reads BER counter from one of 4 Lanes. Each
Lane is assumed to be controlled by an instance of a driver class that
implements the IBerReader interface (see code snippet below). The
instances of the 4 lanes are held in a dictionary that allows easy lookup
by the given location name.
# create empty dictionary
myDUTs = {}
# instantiate the driver for each location
myDUTs["Lane1"] = MyDutBerReader(1)
myDUTs["Lane2"] = MyDutBerReader(2)
myDUTs["Lane3"] = MyDutBerReader(3)
myDUTs["Lane4"] = MyDutBerReader(4)
def DUT_getBER(location):
global myDUTs
(bits, errors) = myDUTs[location].GetCounter()
return BitErrorCounter(bits, errors)
Implement DUT_synchPattern(location) to synchronize the error
counter to the received data stream.
Optionally reset the DUT, but be aware that this should not have side
effects on other locations.
The M8070A framework expects the DUT's error counters to be
running all the time. If the synchronization occurs on a stopped to
running transition, then the sop as well as the start need to be part of
DUT_syncPattern(location).

Table of Contents

Other manuals for Keysight Technologies M8000 Series

Related product manuals