pyIPCMI.ToolChain.GHDL.py

Exceptions

  • GHDLException: Base class for all tool specific exceptions
  • GHDLReanalyzeException: Base class for all tool specific exceptions

Classes

  • Configuration: Base class for all tool Configuration classes.
  • GHDL: Represent an executable.
  • GHDLAnalyze: Represent an executable.
  • GHDLElaborate: Represent an executable.
  • GHDLRun: Represent an executable.

Functions

  • GHDLAnalyzeFilter(): Undocumented.
  • GHDLElaborateFilter(): Undocumented.
  • GHDLRunFilter(): Undocumented.
exception pyIPCMI.ToolChain.GHDL.GHDLException(message='')[source]

Inheritance

Inheritance diagram of GHDLException

Members

__init__(message='')

Exception initializer

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

Returns the exception’s message text.

args
exception pyIPCMI.ToolChain.GHDL.GHDLReanalyzeException(message='')[source]

Inheritance

Inheritance diagram of GHDLReanalyzeException

Members

__init__(message='')

Exception initializer

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

Returns the exception’s message text.

args
class pyIPCMI.ToolChain.GHDL.Configuration(host: pyIPCMI.Base.IHost)[source]

Inheritance

Inheritance diagram of Configuration

Members

_vendor = 'tgingold'

The name of the tools vendor.

_toolName = 'GHDL'

The name of the tool.

_section = 'INSTALL.GHDL'

The name of the configuration section. Pattern: INSTALL.Vendor.ToolName.

_multiVersionSupport = True

Git supports multiple versions installed on the same system.

_template = {'Darwin': {'INSTALL.GHDL': {'SectionName': ('%{PathWithRoot}#${Version}-${Backend}', None), 'ScriptDirectory': ('${${SectionName}:ScriptDirectory}', '${InstallationDirectory}/lib/ghdl/vendors'), 'Backend': 'llvm', 'Version': '0.36-dev', 'InstallationDirectory': ('${${SectionName}:InstallationDirectory}', '/usr/local'), 'BinaryDirectory': ('${${SectionName}:BinaryDirectory}', '${InstallationDirectory}/bin')}}, 'Linux': {'INSTALL.GHDL': {'SectionName': ('%{PathWithRoot}#${Version}-${Backend}', None), 'ScriptDirectory': ('${${SectionName}:ScriptDirectory}', '${InstallationDirectory}/lib/ghdl/vendors'), 'Backend': 'llvm', 'Version': '0.36-dev', 'InstallationDirectory': ('${${SectionName}:InstallationDirectory}', '/usr/local'), 'BinaryDirectory': ('${${SectionName}:BinaryDirectory}', '${InstallationDirectory}/bin')}}, 'MinGW': {'INSTALL.GHDL': {'SectionName': ('%{PathWithRoot}#${Version}-${Backend}', None), 'ScriptDirectory': ('${${SectionName}:ScriptDirectory}', '${InstallationDirectory}/lib/ghdl/vendors'), 'Backend': 'llvm', 'Version': '0.36-dev', 'InstallationDirectory': ('${${SectionName}:InstallationDirectory}', '/c/Tools/GHDL/${Version}-${Runtime}-${Backend}'), 'BinaryDirectory': ('${${SectionName}:BinaryDirectory}', '${InstallationDirectory}/bin')}}, 'Windows': {'INSTALL.GHDL': {'SectionName': ('%{PathWithRoot}#${Version}-${Runtime}-${Backend}', None), 'Backend': 'mcode', 'Runtime': 'gnatgpl32', 'Version': '0.36-dev', 'InstallationDirectory': ('${${SectionName}:InstallationDirectory}', 'C:/Tools/GHDL/${Version}-${Runtime}-${Backend}'), 'BinaryDirectory': ('${${SectionName}:BinaryDirectory}', '${InstallationDirectory}/bin'), 'ScriptDirectory': ('${${SectionName}:ScriptDirectory}', '${InstallationDirectory}/lib/vendors')}}}

The template for the configuration sections represented as nested dictionaries.

ConfigureForAll()[source]

Start a generic (platform independent) configuration procedure.

Overwrite this method to implement a generic configuration routine for a (tool) Configuration class.

_GetDefaultInstallationDirectory()[source]

Return unresolved default installation directory (str) from template.

Overwrite function in sub-class for automatic search of installation directory.

_ConfigureBinaryDirectory()[source]

Updates section with value from _template and returns directory as Path object.

_ConfigureScriptDirectory()[source]

Updates section with value from _template and returns directory as Path object.

CheckDependency()[source]

Check if all vendor or tool dependencies are fulfilled to configure this tool.

ClearSection(writeWarnings=False)[source]

Clear the configuration section associated to this Configuration class.

ConfigureForDarwin()[source]

Start the configuration procedure for Darwin.

This method is a wrapper for ConfigureForAll(). Overwrite this method to implement a Darwin specific configuration routine.

ConfigureForLinux()[source]

Start the configuration procedure for Linux.

This method is a wrapper for ConfigureForAll(). Overwrite this method to implement a Linux specific configuration routine.

ConfigureForWindows()[source]

Start the configuration procedure for Windows.

This method is a wrapper for ConfigureForAll(). Overwrite this method to implement a Windows specific configuration routine.

classmethod GetSections(platform)[source]

Return all section names for this configuration.

Host

Return the hosting object.

IsConfigured()[source]

Return true if the configurations section is configured

IsSupportedPlatform()[source]

Return true if the given platform is supported by this configuration routine.

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.

PrepareOptions(writeWarnings=True)[source]
PrepareSections(warningWasWritten, writeWarnings=True)[source]
PrepareVersionedSections(writeWarnings=False)
RunPostConfigurationTasks()[source]

Virtual method. Overwrite to execute post-configuration tasks.

SectionName

Return the configuration’s section name.

State

Return the configuration state.

_Ask(question, default, beforeDefault='', afterDefault='', indent=1)
_AskInstalled(question)[source]

Ask a Yes/No/Pass question.

_AskYes_NoPass(question, indent=1)

Ask a yes/NO/pass question.

_Ask_YesNoPass(question, indent=1)

Ask a YES/no/pass question.

_Configuration__WriteGHDLSection(binPath)
_ConfigureEdition(editions, defaultEdition)
_ConfigureInstallationDirectory()[source]

Asks for installation directory and updates section. Checks if entered directory exists and returns Path object. If no installation directory was configured before, then _GetDefaultInstallationDir is called.

_ConfigureVersion()

If no version was configured before, then _GetDefaultVersion is called. Asks for version and updates section. Returns version as string.

_GetDefaultEdition()

Returns unresolved default edition (str) from template.

Overwrite this method in a sub-class for automatic search of editions.

_GetDefaultOptionValue(optionName)[source]
_GetDefaultVersion()

Returns unresolved default version (str) from template.

Overwrite this method in a sub-class for automatic search of version.

_PrintAvailableEditions(editions, selectedEdition)

Print all available editions and return the selected index.

_TestDefaultInstallPath(defaults)[source]

Helper function for automatic search of installation directory.

_TryLog(*args, condition=True, **kwargs)
class pyIPCMI.ToolChain.GHDL.GHDL(platform, dryrun, binaryDirectoryPath, version, backend, logger=None)[source]

Inheritance

Inheritance diagram of GHDL

Members

BinaryDirectoryPath
Backend
Version
deco()[source]
Executable
class CmdAnalyze[source]
_name = 'a'
class CmdElaborate[source]
_name = 'e'
class CmdRun[source]
_name = 'r'
class FlagVerbose[source]
_name = 'v'
class FlagDebug[source]
_name = 'g'
class FlagExplicit[source]
_name = 'fexplicit'
class FlagRelaxedRules[source]
_name = 'frelaxed-rules'
class FlagWarnBinding[source]
_name = 'warn-binding'
class FlagNoVitalChecks[source]
_name = 'no-vital-checks'
class FlagMultiByteComments[source]
_name = 'mb-comments'
class FlagSynBinding[source]
_name = 'syn-binding'
class FlagPSL[source]
_name = 'fpsl'
class FlagProfileArcs[source]
_name = 'fprofile-arcs'
class FlagTestCoverage[source]
_name = 'ftest-coverage'
class SwitchCompilerOption[source]
_pattern = '-{0},{1}'
_name = 'Wc'
class SwitchAssemblerOption[source]
_pattern = '-{0},{1}'
_name = 'Wa'
class SwitchLinkerOption[source]
_pattern = '-{0},{1}'
_name = 'Wl'
class SwitchIEEEFlavor[source]
_name = 'ieee'
class SwitchVHDLVersion[source]
_name = 'std'
class SwitchVHDLLibrary[source]
_name = 'work'
class ArgListLibraryReferences[source]
_pattern = '-{0}{1}'
_name = 'P'
class ArgSourceFile[source]
class ArgTopLevel[source]
Parameters = [<class 'pyIPCMI.ToolChain.GHDL.GHDL.CmdAnalyze'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.CmdElaborate'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.CmdRun'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagVerbose'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagDebug'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagExplicit'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagRelaxedRules'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagWarnBinding'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagNoVitalChecks'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagMultiByteComments'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagSynBinding'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagPSL'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagProfileArcs'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagTestCoverage'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchCompilerOption'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchAssemblerOption'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchLinkerOption'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchIEEEFlavor'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchVHDLVersion'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchVHDLLibrary'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.ArgListLibraryReferences'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.ArgSourceFile'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.ArgTopLevel'>]
class SwitchIEEEAsserts[source]
_name = 'ieee-asserts'
class SwitchStopDelta[source]
_name = 'stop-delta'
class SwitchVCDWaveform[source]
_name = 'vcd'
class SwitchVCDGZWaveform[source]
_name = 'vcdgz'
class SwitchFastWaveform[source]
_name = 'fst'
class SwitchGHDLWaveform[source]
_name = 'wave'
class SwitchWaveformOptionFile[source]
_name = 'read-wave-opt'
RunOptions = [<class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchIEEEAsserts'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchStopDelta'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchVCDWaveform'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchVCDGZWaveform'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchFastWaveform'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchGHDLWaveform'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchWaveformOptionFile'>]
GetGHDLAnalyze()[source]
GetGHDLElaborate()[source]
GetGHDLRun()[source]
GetReader()
HasErrors

True if errors or fatals errors were found while processing the output stream.

HasWarnings

True if errors or fatals errors were found while processing the output stream.

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.

Path
ReadUntilBoundary(indent=0)
Send(line, end='\n')
SendBoundary()
StartProcess(parameterList)
Terminate()
_TryLog(*args, condition=True, **kwargs)
_pyIPCMI_BOUNDARY = '====== pyIPCMI BOUNDARY ======'
class pyIPCMI.ToolChain.GHDL.GHDLAnalyze(platform, dryrun, binaryDirectoryPath, version, backend, logger=None)[source]

Inheritance

Inheritance diagram of GHDLAnalyze

Members

Analyze()[source]
class ArgListLibraryReferences
_name = 'P'
_pattern = '-{0}{1}'
class ArgSourceFile
class ArgTopLevel
Backend
BinaryDirectoryPath
class CmdAnalyze
_name = 'a'
class CmdElaborate
_name = 'e'
class CmdRun
_name = 'r'
Executable
class FlagDebug
_name = 'g'
class FlagExplicit
_name = 'fexplicit'
class FlagMultiByteComments
_name = 'mb-comments'
class FlagNoVitalChecks
_name = 'no-vital-checks'
class FlagPSL
_name = 'fpsl'
class FlagProfileArcs
_name = 'fprofile-arcs'
class FlagRelaxedRules
_name = 'frelaxed-rules'
class FlagSynBinding
_name = 'syn-binding'
class FlagTestCoverage
_name = 'ftest-coverage'
class FlagVerbose
_name = 'v'
class FlagWarnBinding
_name = 'warn-binding'
GetGHDLAnalyze()
GetGHDLElaborate()
GetGHDLRun()
GetReader()
HasErrors

True if errors or fatals errors were found while processing the output stream.

HasWarnings

True if errors or fatals errors were found while processing the output stream.

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.

Parameters = [<class 'pyIPCMI.ToolChain.GHDL.GHDL.CmdAnalyze'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.CmdElaborate'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.CmdRun'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagVerbose'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagDebug'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagExplicit'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagRelaxedRules'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagWarnBinding'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagNoVitalChecks'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagMultiByteComments'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagSynBinding'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagPSL'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagProfileArcs'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagTestCoverage'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchCompilerOption'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchAssemblerOption'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchLinkerOption'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchIEEEFlavor'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchVHDLVersion'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchVHDLLibrary'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.ArgListLibraryReferences'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.ArgSourceFile'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.ArgTopLevel'>]
Path
ReadUntilBoundary(indent=0)
RunOptions = [<class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchIEEEAsserts'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchStopDelta'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchVCDWaveform'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchVCDGZWaveform'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchFastWaveform'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchGHDLWaveform'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchWaveformOptionFile'>]
Send(line, end='\n')
SendBoundary()
StartProcess(parameterList)
class SwitchAssemblerOption
_name = 'Wa'
_pattern = '-{0},{1}'
class SwitchCompilerOption
_name = 'Wc'
_pattern = '-{0},{1}'
class SwitchFastWaveform
_name = 'fst'
class SwitchGHDLWaveform
_name = 'wave'
class SwitchIEEEAsserts
_name = 'ieee-asserts'
class SwitchIEEEFlavor
_name = 'ieee'
class SwitchLinkerOption
_name = 'Wl'
_pattern = '-{0},{1}'
class SwitchStopDelta
_name = 'stop-delta'
class SwitchVCDGZWaveform
_name = 'vcdgz'
class SwitchVCDWaveform
_name = 'vcd'
class SwitchVHDLLibrary
_name = 'work'
class SwitchVHDLVersion
_name = 'std'
class SwitchWaveformOptionFile
_name = 'read-wave-opt'
Terminate()
Version
_TryLog(*args, condition=True, **kwargs)
_pyIPCMI_BOUNDARY = '====== pyIPCMI BOUNDARY ======'
deco()
class pyIPCMI.ToolChain.GHDL.GHDLElaborate(platform, dryrun, binaryDirectoryPath, version, backend, logger=None)[source]

Inheritance

Inheritance diagram of GHDLElaborate

Members

Elaborate()[source]
class ArgListLibraryReferences
_name = 'P'
_pattern = '-{0}{1}'
class ArgSourceFile
class ArgTopLevel
Backend
BinaryDirectoryPath
class CmdAnalyze
_name = 'a'
class CmdElaborate
_name = 'e'
class CmdRun
_name = 'r'
Executable
class FlagDebug
_name = 'g'
class FlagExplicit
_name = 'fexplicit'
class FlagMultiByteComments
_name = 'mb-comments'
class FlagNoVitalChecks
_name = 'no-vital-checks'
class FlagPSL
_name = 'fpsl'
class FlagProfileArcs
_name = 'fprofile-arcs'
class FlagRelaxedRules
_name = 'frelaxed-rules'
class FlagSynBinding
_name = 'syn-binding'
class FlagTestCoverage
_name = 'ftest-coverage'
class FlagVerbose
_name = 'v'
class FlagWarnBinding
_name = 'warn-binding'
GetGHDLAnalyze()
GetGHDLElaborate()
GetGHDLRun()
GetReader()
HasErrors

True if errors or fatals errors were found while processing the output stream.

HasWarnings

True if errors or fatals errors were found while processing the output stream.

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.

Parameters = [<class 'pyIPCMI.ToolChain.GHDL.GHDL.CmdAnalyze'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.CmdElaborate'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.CmdRun'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagVerbose'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagDebug'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagExplicit'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagRelaxedRules'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagWarnBinding'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagNoVitalChecks'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagMultiByteComments'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagSynBinding'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagPSL'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagProfileArcs'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagTestCoverage'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchCompilerOption'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchAssemblerOption'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchLinkerOption'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchIEEEFlavor'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchVHDLVersion'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchVHDLLibrary'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.ArgListLibraryReferences'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.ArgSourceFile'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.ArgTopLevel'>]
Path
ReadUntilBoundary(indent=0)
RunOptions = [<class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchIEEEAsserts'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchStopDelta'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchVCDWaveform'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchVCDGZWaveform'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchFastWaveform'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchGHDLWaveform'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchWaveformOptionFile'>]
Send(line, end='\n')
SendBoundary()
StartProcess(parameterList)
class SwitchAssemblerOption
_name = 'Wa'
_pattern = '-{0},{1}'
class SwitchCompilerOption
_name = 'Wc'
_pattern = '-{0},{1}'
class SwitchFastWaveform
_name = 'fst'
class SwitchGHDLWaveform
_name = 'wave'
class SwitchIEEEAsserts
_name = 'ieee-asserts'
class SwitchIEEEFlavor
_name = 'ieee'
class SwitchLinkerOption
_name = 'Wl'
_pattern = '-{0},{1}'
class SwitchStopDelta
_name = 'stop-delta'
class SwitchVCDGZWaveform
_name = 'vcdgz'
class SwitchVCDWaveform
_name = 'vcd'
class SwitchVHDLLibrary
_name = 'work'
class SwitchVHDLVersion
_name = 'std'
class SwitchWaveformOptionFile
_name = 'read-wave-opt'
Terminate()
Version
_TryLog(*args, condition=True, **kwargs)
_pyIPCMI_BOUNDARY = '====== pyIPCMI BOUNDARY ======'
deco()
class pyIPCMI.ToolChain.GHDL.GHDLRun(platform, dryrun, binaryDirectoryPath, version, backend, logger=None)[source]

Inheritance

Inheritance diagram of GHDLRun

Members

Run()[source]
class ArgListLibraryReferences
_name = 'P'
_pattern = '-{0}{1}'
class ArgSourceFile
class ArgTopLevel
Backend
BinaryDirectoryPath
class CmdAnalyze
_name = 'a'
class CmdElaborate
_name = 'e'
class CmdRun
_name = 'r'
Executable
class FlagDebug
_name = 'g'
class FlagExplicit
_name = 'fexplicit'
class FlagMultiByteComments
_name = 'mb-comments'
class FlagNoVitalChecks
_name = 'no-vital-checks'
class FlagPSL
_name = 'fpsl'
class FlagProfileArcs
_name = 'fprofile-arcs'
class FlagRelaxedRules
_name = 'frelaxed-rules'
class FlagSynBinding
_name = 'syn-binding'
class FlagTestCoverage
_name = 'ftest-coverage'
class FlagVerbose
_name = 'v'
class FlagWarnBinding
_name = 'warn-binding'
GetGHDLAnalyze()
GetGHDLElaborate()
GetGHDLRun()
GetReader()
HasErrors

True if errors or fatals errors were found while processing the output stream.

HasWarnings

True if errors or fatals errors were found while processing the output stream.

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.

Parameters = [<class 'pyIPCMI.ToolChain.GHDL.GHDL.CmdAnalyze'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.CmdElaborate'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.CmdRun'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagVerbose'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagDebug'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagExplicit'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagRelaxedRules'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagWarnBinding'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagNoVitalChecks'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagMultiByteComments'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagSynBinding'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagPSL'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagProfileArcs'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.FlagTestCoverage'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchCompilerOption'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchAssemblerOption'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchLinkerOption'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchIEEEFlavor'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchVHDLVersion'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchVHDLLibrary'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.ArgListLibraryReferences'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.ArgSourceFile'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.ArgTopLevel'>]
Path
ReadUntilBoundary(indent=0)
RunOptions = [<class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchIEEEAsserts'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchStopDelta'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchVCDWaveform'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchVCDGZWaveform'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchFastWaveform'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchGHDLWaveform'>, <class 'pyIPCMI.ToolChain.GHDL.GHDL.SwitchWaveformOptionFile'>]
Send(line, end='\n')
SendBoundary()
StartProcess(parameterList)
class SwitchAssemblerOption
_name = 'Wa'
_pattern = '-{0},{1}'
class SwitchCompilerOption
_name = 'Wc'
_pattern = '-{0},{1}'
class SwitchFastWaveform
_name = 'fst'
class SwitchGHDLWaveform
_name = 'wave'
class SwitchIEEEAsserts
_name = 'ieee-asserts'
class SwitchIEEEFlavor
_name = 'ieee'
class SwitchLinkerOption
_name = 'Wl'
_pattern = '-{0},{1}'
class SwitchStopDelta
_name = 'stop-delta'
class SwitchVCDGZWaveform
_name = 'vcdgz'
class SwitchVCDWaveform
_name = 'vcd'
class SwitchVHDLLibrary
_name = 'work'
class SwitchVHDLVersion
_name = 'std'
class SwitchWaveformOptionFile
_name = 'read-wave-opt'
Terminate()
Version
_TryLog(*args, condition=True, **kwargs)
_pyIPCMI_BOUNDARY = '====== pyIPCMI BOUNDARY ======'
deco()

Functions

pyIPCMI.ToolChain.GHDL.GHDLAnalyzeFilter(gen)[source]
pyIPCMI.ToolChain.GHDL.GHDLElaborateFilter(gen)
pyIPCMI.ToolChain.GHDL.GHDLRunFilter(gen)[source]