BERT Model - Main simulation control logic.

Default controller definition for PyBERT class.

Original author: David Banas <capn.freako@gmail.com>

Original date: August 24, 2014 (Copied from pybert.py, as part of a major code cleanup.)

Copyright (c) 2014 David Banas; all rights reserved World wide.

pybert.models.bert.my_run_simulation(self, initial_run: bool = False, update_plots: bool = True, aborted_sim: Callable[[], bool] | None = None)[source]

Runs the simulation.

Parameters:

self – Reference to an instance of the PyBERT class.

Keyword Arguments:
  • initial_run – If True, don’t update the eye diagrams, since they haven’t been created, yet. Default: False

  • update_plots – If True, update the plots, after simulation completes. This option can be used by larger scripts, which import pybert, in order to avoid graphical back-end conflicts and speed up this function’s execution time. Default: True

  • aborted_sim – a function that is used to tell the simulation that the user has requested to stop/abort the simulation.

Raises:

RuntimeError – If the simulation is aborted by the user or cannot continue.

Notes

1. When using IBIS-AMI models, we often need to scale the impulse response by the sample interval, or its inverse, because while IBIS-AMI models take the impulse response to have units: (V/s), PyBERT uses: (V/sample).

pybert.models.bert.update_eyes(self)[source]

Update the heat plots representing the eye diagrams.

Parameters:

self (PyBERT) – Reference to an instance of the PyBERT class.

pybert.models.bert.update_results(self)[source]

Updates all plot data used by GUI.

Parameters:

self (PyBERT) – Reference to an instance of the PyBERT class.