pyIPCMI.Compiler.py

Submodules

Exceptions

  • CompilerException: Base class for all CompilerException classes. It is raised while running
  • SkipableCompilerException: SkipableCompilerException is a CompilerException, which

Classes

  • CopyTask: This class represents a ‘copy task’ and inherits the partial class
  • DeleteTask: This class represents a ‘delete task’ and inherits the partial class
  • ReplaceTask: This class represents a ‘replace task’ and inherits the partial class
  • AppendLineTask: This class represents a ‘append line task’ and inherits the partial class
  • CompileState: Compile state enumeration.
  • CompileResult: Compilation result enumeration.
  • Compiler: Base class for all Compiler classes.
exception pyIPCMI.Compiler.CompilerException(message='')[source]

Base class for all CompilerException classes. It is raised while running compiler (synthesis) tasks in pyIPCMI.

Inheritance

Inheritance diagram of CompilerException

Members

__init__(message='')

Exception initializer

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

Returns the exception’s message text.

args
exception pyIPCMI.Compiler.SkipableCompilerException(message='')[source]

SkipableCompilerException is a CompilerException, which can be skipped.

Inheritance

Inheritance diagram of SkipableCompilerException

Members

__init__(message='')

Exception initializer

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

Returns the exception’s message text.

args
class pyIPCMI.Compiler.CopyTask(sourcePath, destinationPath)[source]

This class represents a ‘copy task’ and inherits the partial class CopyRuleMixIn.

Inheritance

Inheritance diagram of CopyTask

Members

DestinationPath
SourcePath
class pyIPCMI.Compiler.DeleteTask(filePath)[source]

This class represents a ‘delete task’ and inherits the partial class DeleteRuleMixIn.

Inheritance

Inheritance diagram of DeleteTask

Members

FilePath
class pyIPCMI.Compiler.ReplaceTask(filePath, searchPattern, replacePattern, multiLine, dotAll, caseInSensitive)[source]

This class represents a ‘replace task’ and inherits the partial class ReplaceRuleMixIn.

Inheritance

Inheritance diagram of ReplaceTask

Members

FilePath
RegExpOption_CaseInsensitive
RegExpOption_DotAll
RegExpOption_MultiLine
ReplacePattern
SearchPattern
class pyIPCMI.Compiler.AppendLineTask(filePath, appendPattern)[source]

This class represents a ‘append line task’ and inherits the partial class AppendLineRuleMixIn.

Inheritance

Inheritance diagram of AppendLineTask

Members

AppendPattern
FilePath
class pyIPCMI.Compiler.CompileState[source]

Compile state enumeration.

Inheritance

Inheritance diagram of CompileState

Members

Prepare = 0
PreCopy = 10
PrePatch = 11
Compile = 50
PostCopy = 90
PostPatch = 91
PostDelete = 92
CleanUp = 99
class pyIPCMI.Compiler.CompileResult[source]

Compilation result enumeration.

Inheritance

Inheritance diagram of CompileResult

Members

NotRun = 0
Error = 1
Failed = 2
Success = 3
class pyIPCMI.Compiler.Compiler(host: pyIPCMI.Base.IHost, dryRun, noCleanUp)[source]

Base class for all Compiler classes.

Inheritance

Inheritance diagram of Compiler

Members

ENVIRONMENT = 2
VHDL_VERSION = 93
__init__(host: pyIPCMI.Base.IHost, dryRun, noCleanUp)[source]

Class initializer

Parameters:
  • host (object) – The hosting instance for this instance.
  • dryRun (bool) – Enable dry-run mode
  • noCleanUp (bool) – Don’t clean up after a run.
NoCleanUp
_PrepareCompiler()[source]

Prepare for compilation. This method forwards to Base.Compiler.Compiler._Prepare(), which is inherited from Base.Shared.Shared.

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

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

Run(netlist, board)[source]

Run a testbench.

_PrepareCompilerEnvironment(device)[source]
_WriteSpecialSectionIntoConfig(device)[source]
_AddRulesFiles(rulesFilePath)[source]
_RunPreCopy(netlist)[source]
_RunPostCopy(netlist)[source]
_ParseCopyRules(rawList, copyTasks, text)[source]
_ExecuteCopyTasks(tasks, text)[source]
_RunPostDelete(netlist)[source]
_ParseDeleteRules(rawList, deleteTasks, text)[source]
_ExecuteDeleteTasks(tasks, text)[source]
_RunPreReplace(netlist)[source]
_RunPostReplace(netlist)[source]
_ParseReplaceRules(rawList, replaceTasks, text)[source]
_ExecuteReplaceTasks(tasks, text)[source]
PrintOverallCompileReport()[source]
PrintCompileReportLine(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()
_PrepareEnvironment_PurgeDirectory()
_TryLog(*args, condition=True, **kwargs)
pyIPCMIProject