This MR adds a mask object that handles all chip masks as well as mask shifting. It replaces scan_base.prepare_injection_masks()
with an iterator that is called from the scan loop. This should make mask handling and updating a lot more readable and understandable.
Potential speedups in mask writing have been implemented and initial benchmarks show a gain in total runtimes of digital and analog scans of about 2s. Caching of mask steps for multi-loop scans has been implemented. Threshold scans are now faster than development.
This MR fixes #154 (closed), #255 (closed), #254 (closed), #266 (closed)
TODO:
threshold_scan
if possible