pyIPCMI.Simulator

Submodules

Exceptions

Classes

exception pyIPCMI.Simulator.SimulatorException(message='')[source]

Base class for all SimulatorException classes. It is raised while running simulation tasks in pyIPCMI.

Inheritance

Inheritance diagram of SimulatorException

Members

__init__(message='')

Exception initializer

Parameters:message (str) – The exception message.
__str__()

Returns the exception’s message text.

args
exception pyIPCMI.Simulator.SkipableSimulatorException(message='')[source]

SkipableSimulatorException is a SimulatorException, which can be skipped.

Inheritance

Inheritance diagram of SkipableSimulatorException

Members

__init__(message='')

Exception initializer

Parameters:message (str) – The exception message.
__str__()

Returns the exception’s message text.

args
exception pyIPCMI.Simulator.pyIPCMISimulationResultNotFoundException(message='')[source]

This exception is raised if the expected pyIPCMI simulation result string was not found in the simulator’s output.

Inheritance

Inheritance diagram of pyIPCMISimulationResultNotFoundException

Members

__init__(message='')

Exception initializer

Parameters:message (str) – The exception message.
__str__()

Returns the exception’s message text.

args
class pyIPCMI.Simulator.SimulationSteps[source]

Simulation step enumeration.

Inheritance

Inheritance diagram of SimulationSteps

Members

_FlagsArithmeticMixin__bits
_FlagsArithmeticMixin__create_flags_instance(bits)
_Flags__internal_str()
classmethod bits_from_simple_str(s)
classmethod bits_from_str(s)

Converts the output of __str__ into an integer.

data
classmethod from_simple_str(s)

Accepts only the output of to_simple_str(). The output of __str__() is invalid as input.

classmethod from_str(s)

Accepts both the output of to_simple_str() and __str__().

is_disjoint(*flags_instances)
is_member

flags.is_member is a shorthand for flags.properties is not None. If this property is False then this Flags instance has either zero bits or holds a combination of flag member bits. If this property is True then the bits of this Flags instance match exactly the bits associated with one of the members. This however doesn’t necessarily mean that this flag instance isn’t a combination of several flags because the bits of a member can be the subset of another member. For example if member0_bits=0x1 and member1_bits=0x3 then the bits of member0 are a subset of the bits of member1. If a flag instance holds the bits of member1 then Flags.is_member returns True and Flags.properties returns the properties of member1 but __len__() returns 2 and __iter__() yields both member0 and member1.

name
properties
Returns:Returns None if this flag isn’t an exact member of a flags class but a combination of flags,

returns an object holding the properties (e.g.: name, data, index, …) of the flag otherwise. We don’t store flag properties directly in Flags instances because this way Flags instances that are the (temporary) result of flags arithmetic don’t have to maintain these fields and it also has some benefits regarding memory usage.

to_simple_str()
class pyIPCMI.Simulator.SimulationState[source]

Simulation state enumeration.

Inheritance

Inheritance diagram of SimulationState

Members

Prepare = 0
Analyze = 1
Elaborate = 2
Optimize = 3
Simulate = 4
View = 5
Coverage = 6
class pyIPCMI.Simulator.SimulationResult[source]

Simulation result enumeration.

Inheritance

Inheritance diagram of SimulationResult

Members

NotRun = 0
DryRun = 1
Error = 2
Failed = 3
NoAsserts = 4
Passed = 5
GUIRun = 6
class pyIPCMI.Simulator.Simulator(host: pyIPCMI.Base.IHost, dryRun, simulationSteps: pyIPCMI.Simulator.SimulationSteps)[source]

Base class for all Simulator classes.

Inheritance

Inheritance diagram of Simulator

Members

ENVIRONMENT = 1
VHDL_VERSION = 2008
__init__(host: pyIPCMI.Base.IHost, dryRun, simulationSteps: pyIPCMI.Simulator.SimulationSteps)[source]

Class initializer

Parameters:
  • host (object) – The hosting instance for this instance.
  • dryRun (bool) – Enable dry-run mode
  • simulationSteps (SimulationSteps) – A set of simulation step to precess.
TestSuite
_PrepareSimulationEnvironment()[source]
_PrepareEnvironment_PurgeDirectory()[source]
_PrepareSimulator()
RunAll(fqnList, *args, **kwargs)[source]

Run a list of testbenches. Expand wildcards to all selected testbenches.

TryRun(testbench, *args, **kwargs)[source]

Try to run a testbench. Skip skipable exceptions by printing the error and its cause.

Run(testbench, board, vhdlVersion, vhdlGenerics=None)[source]

Write the Testbench message line, create a pyIPCMIProject and add the first *.files file to it.

_RunAnalysis(testbench)[source]
_RunElaboration(testbench)[source]
_RunSimulation(testbench)[source]
_RunView(testbench)[source]
_RunCoverage(testbench)[source]
PrintOverallSimulationReport()[source]
PrintSimulationReportLine(testObject, indent, nameColumnWidth)[source]
Directories
DryRun
Host
Log(entry, condition=True)

Write an entry to the local logger.

LogDebug(*args, condition=True, **kwargs)
LogDryRun(*args, condition=True, **kwargs)
LogError(*args, condition=True, **kwargs)
LogFatal(*args, condition=True, **kwargs)
LogInfo(*args, condition=True, **kwargs)
LogNormal(*args, condition=True, **kwargs)
LogQuiet(*args, condition=True, **kwargs)
LogVerbose(*args, condition=True, **kwargs)
LogWarning(*args, condition=True, **kwargs)
Logger

Return the local logger instance.

TOOL = 0
TOOL_CHAIN = 0
VHDLVersion
_AddFileListFile(fileListFilePath)
_CreatepyIPCMIProject(projectName, board)
_GetHDLParameters(configSectionName)

Parse option ‘HDLParameters’ for Verilog Parameters / VHDL Generics.

_GetTimeDeltaSinceLastEvent()
_Prepare()
_PrepareEnvironment()
_PrepareEnvironment_ChangeDirectory()

Change working directory to temporary path ‘temp/<tool>’.

_PrepareEnvironment_CreatingDirectory()
_TryLog(*args, condition=True, **kwargs)
pyIPCMIProject