chipscopy.api.ibert.yk_scan

chipscopy.api.ibert.create_yk_scans(*, target_objs)

Create an instance of YKScan and attach it to the yk_scan attribute of the ``target_obj``(s)

Parameters

target_objs (Union[RX, List[RX]]) – The object to use for attaching the YK scan instance. The object must be an instance of RX class.

Return type

QueryList[YKScan]

Returns

List of YK scan object(s) created

chipscopy.api.ibert.delete_yk_scans(scans_to_delete=None)

Delete YKScan object(s) that were created previously

Parameters

scans_to_delete (Union[YKScan, List[YKScan], QueryList[YKScan], None]) – (Optional) YK scan object(s) to delete.

Warning

If no YK scan objects are provided, all available YK scans are deleted.

chipscopy.api.ibert.get_all_yk_scans()

Get all YKScan object(s)

Return type

QueryList[YKScan]

Returns

List of YK scan object(s)

class chipscopy.api.ibert.yk_scan.YKSample(slicer, snr)[source]
slicer: List[float]
snr: float
class chipscopy.api.ibert.yk_scan.YKScan(rx, name, updates_callback=None, filter_by=<factory>, scan_data=<factory>, stop_time=None, start_time=None, elf_version=None, _handle_from_cs_server=None)[source]

Class for interacting with YK scans. Please do not create an instance of this class directly. Please use the factory method create_yk_scans() instead.

elf_version: str = None

ELF version read from the MicroBlaze

filter_by: Dict[str, Any]
name: str

Name of the eye scan

rx: chipscopy.api.ibert.rx.RX

RX object attached to this eye scan

scan_data: List[chipscopy.api.ibert.yk_scan.YKSample]

YK scan data samples in the order they are received

start()[source]
start_time: datetime.datetime = None

Time stamp of when eye scan was started in cs_server

stop()[source]

Stop eye scan, that is in-progress in the MicroBlaze

stop_time: datetime.datetime = None

Time stamp of when eye scan was stopped in cs_server

updates_callback: Callable[[chipscopy.api.ibert.yk_scan.YKScan], None] = None

Callback function called when eye scan has ended