chipscopy.api.ibert.eye_scan¶
-
chipscopy.api.ibert.
create_eye_scans
(*, target_objs)¶ Create an instance of
EyeScan
and attach it to theeye_scan
attribute of thetarget_obj
(s)
-
chipscopy.api.ibert.
delete_eye_scans
(scans_to_delete=None)¶ Delete
EyeScan
object(s) that were created previously- Parameters
scans_to_delete (
Union
[EyeScan
,List
[EyeScan
],QueryList
[EyeScan
],None
]) – (Optional) Eye scan object(s) to delete.
Warning
If no eye scan objects are provided, all available eye scans are deleted.
-
chipscopy.api.ibert.
get_all_eye_scans
()¶ Get all
EyeScan
object(s)
-
class
chipscopy.api.ibert.eye_scan.
EyeScan
(rx, name, params=<factory>, done_callback=None, progress_callback=None, error='', filter_by=<factory>, status='Not Started', progress=-1.0, stop_time=None, start_time=None, elf_version=None, data_points_read=0, data_points_expected=0, open_data_points=0, scan_data=None, metric_data=None, plot=None, _handle_from_cs_server=None, _scan_done_event=<factory>)[source]¶ Class for interacting with eye scans. Please do not create an instance of this class directly. Please use the factory method
create_eye_scans()
instead.-
data_points_expected
: int = 0¶ Total number of data points expected to be scanned by the MicroBlaze
-
data_points_read
: int = 0¶ Number of data points scanned by the MicroBlaze
-
elf_version
: str = None¶ ELF version read from the MicroBlaze
-
error
: str = ''¶ String detailing reason for scan abort
-
filter_by
: Dict[str, Any]¶
-
generate_report
()[source]¶ Generate a report for this eye scan object and send it to the “printer” for printing
-
metric_data
: chipscopy.api.ibert.eye_scan.MetricData = None¶ metric data stored in an instance of
MetricData
class
-
name
: str¶ Name of the eye scan
-
open_data_points
: int = 0¶ Number of data points scanned by the MicroBlaze
-
params
: Dict[str, chipscopy.api.ibert.eye_scan.params.EyeScanParam]¶ Dictionary containing the py:class:EyeScanParam instance for every available param
-
plot
: chipscopy.api.ibert.eye_scan.plotter.EyeScanPlot = None¶ EyeScanPlot instance for interacting with the plot
-
progress
: float = -1.0¶ Progress of the eye scan in %
-
progress_callback
: Callable[[float], None] = None¶ Callback function called when eye scan update is received
-
rx
: chipscopy.api.ibert.rx.RX¶ RX
object attached to this eye scan
-
scan_data
: chipscopy.api.ibert.eye_scan.ScanData = None¶ Scan data stored in an instance of the
ScanData
class
-
start
(*, show_progress_bar=True)[source]¶ Send command to cs_server to start the eye scan in the HW.
- Parameters
show_progress_bar (
bool
) – Set to true to show progress bar on stdout
-
start_time
: datetime.datetime = None¶ Time stamp of when eye scan was started in cs_server
-
status
: str = 'Not Started'¶ Status of the eye scan
-
stop_time
: datetime.datetime = None¶ Time stamp of when eye scan was stopped in cs_server
-
-
class
chipscopy.api.ibert.eye_scan.
MetricData
(open_area, open_percentage, horizontal_opening, horizontal_percentage, vertical_opening, vertical_percentage)[source]¶ Class for storing scan metric data
-
horizontal_opening
: int¶ zero offset horizontal opening of the eye scan
-
horizontal_percentage
: float¶ zero offset horizontal opening percent of the eye scan
-
open_area
: int¶ open area in the eye scan
-
open_percentage
: float¶ open area percentage of the eye scan
-
vertical_opening
: int¶ zero offset vertical opening of the eye scan
-
vertical_percentage
: float¶ zero offset horizontal opening percent of the eye scan
-
-
class
chipscopy.api.ibert.eye_scan.
Plot2DData
(scan_points, ber_floor_value)[source]¶ -
ber_floor_value
: float¶ This value is used as the
ber
value for any X, Y coordinate whose computed BER was 0
-
scan_points
: Dict[Tuple[int, int], chipscopy.api.ibert.eye_scan.ScanPoint]¶ Collection of
ScanPoint
instances to represent the 2D eye scan plot
-
-
class
chipscopy.api.ibert.eye_scan.
RawData
(ut, prescale, error_count, sample_count, vertical_range, horizontal_range)[source]¶ Class for storing raw data from the MicroBlaze. The size of all the lists in this class will be the same
-
error_count
: List[int]¶
-
horizontal_range
: List[int]¶
-
prescale
: List[int]¶
-
sample_count
: List[int]¶
-
ut
: List[int]¶
-
vertical_range
: List[int]¶
-
-
class
chipscopy.api.ibert.eye_scan.
ScanData
(raw, all_params, processed=None)[source]¶ Class for storing raw scan data and 2D plot data
-
all_params
: dict¶ All parameters the server used to run the scan in the MicroBlaze
-
processed
: chipscopy.api.ibert.eye_scan.Plot2DData = None¶ 2D plot data. This will only be available if the scan completed successfully
-
raw
: chipscopy.api.ibert.eye_scan.RawData¶ Raw scan data from the MicroBlaze
-