pyIPCMI.ToolChain.Aldec.RivieraPRO

Exceptions

  • RivieraPROException: An RivieraPROException is raised if Riviera-PRO catches a system exception.

Classes

  • Configuration: Base class for all tool Configuration classes.
  • RivieraPRO: Factory for executable abstractions in Riviera-PRO.
  • VHDLLibraryTool: Abstraction layer of Riviera-PRO’s VHDL library management tool ‘vlib’.
  • VHDLCompiler: Abstraction layer of Riviera-PRO’s VHDL compiler ‘vcom’.
  • VHDLSimulator: Represent an executable.

Functions

  • VLibFilter(): A line based output stream filter for Riviera-PRO’s VHDL library management tool.
  • VComFilter(): A line based output stream filter for Riviera-PRO’s VHDL compiler.
  • VSimFilter(): A line based output stream filter for Riviera-PRO’s VHDL simulator.
exception pyIPCMI.ToolChain.Aldec.RivieraPRO.RivieraPROException(message='')[source]

An RivieraPROException is raised if Riviera-PRO catches a system exception.

Inheritance

Inheritance diagram of RivieraPROException

Members

__init__(message='')

Exception initializer

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

Returns the exception’s message text.

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

Inheritance

Inheritance diagram of Configuration

Members

_vendor = 'Aldec'

The name of the tools vendor.

_toolName = 'Aldec Riviera-PRO'

The name of the tool.

_section = 'INSTALL.Aldec.RivieraPRO'

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

_multiVersionSupport = True

Aldec Riviera-PRO supports multiple versions installed on the same system.

_template = {'Linux': {'INSTALL.Aldec.RivieraPRO': {'Edition': ('${${SectionName}:Edition}', 'Riviera-PRO'), 'BinaryDirectory': ('${${SectionName}:BinaryDirectory}', '${InstallationDirectory}/BIN'), 'SectionName': ('%{PathWithRoot}#${Version}', None), 'InstallationDirectory': ('${${SectionName}:InstallationDirectory}', '${INSTALL.Aldec:InstallationDirectory}/Riviera-PRO'), 'Version': '2017.02'}}, 'Windows': {'INSTALL.Aldec.RivieraPRO': {'Edition': ('${${SectionName}:Edition}', 'Riviera-PRO'), 'BinaryDirectory': ('${${SectionName}:BinaryDirectory}', '${InstallationDirectory}/bin'), 'SectionName': ('%{PathWithRoot}#${Version}', None), 'InstallationDirectory': ('${${SectionName}:InstallationDirectory}', '${INSTALL.Aldec:InstallationDirectory}/Riviera-PRO-${Version}-x64'), 'Version': '2017.02'}}}

The template for the configuration sections represented as nested dictionaries.

CheckDependency()[source]

Check if general Aldec support is configured in pyIPCMI.

ConfigureForAll()[source]

Configuration routine for Aldec Riviera-PRO on all supported platforms.

  1. Ask if Riviera-PRO is installed.
  • Pass → skip this configuration. Don’t change existing settings.
  • Yes → collect installation information for Riviera-PRO.
  • No → clear the Riviera-PRO configuration section.
  1. Ask for Riviera-PRO’s version.
  2. Ask for Riviera-PRO’s edition (normal, student).
  3. Ask for Riviera-PRO’s installation directory.
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__CheckRivieraPROVersion(binPath, version)

Compare the given Riviera-PRO version with the tool’s version string.

_ConfigureBinaryDirectory()

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

_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.

_GetDefaultInstallationDirectory()[source]

Return unresolved default installation directory (str) from template.

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

_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.Aldec.RivieraPRO.RivieraPRO(platform, dryrun, binaryDirectoryPath, version, logger=None)[source]

Factory for executable abstractions in Riviera-PRO.

Inheritance

Inheritance diagram of RivieraPRO

Members

GetVHDLLibraryTool()[source]

Return an instance of Riviera-PRO’s VHDL library management tool ‘vlib’.

GetVHDLCompiler()[source]

Return an instance of Riviera-PRO’s VHDL compiler ‘vcom’.

GetSimulator()[source]

Return an instance of Riviera-PRO’s VHDL simulator ‘vsim’.

class pyIPCMI.ToolChain.Aldec.RivieraPRO.VHDLLibraryTool(toolchain: pyIPCMI.ToolChain.ToolMixIn)[source]

Abstraction layer of Riviera-PRO’s VHDL library management tool ‘vlib’.

Inheritance

Inheritance diagram of VHDLLibraryTool

Members

class Executable[source]
_value = None
class SwitchLibraryName[source]
_value = None
Parameters = [<class 'pyIPCMI.ToolChain.Aldec.RivieraPRO.VHDLLibraryTool.Executable'>, <class 'pyIPCMI.ToolChain.Aldec.RivieraPRO.VHDLLibraryTool.SwitchLibraryName'>]
CreateLibrary()[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.Aldec.RivieraPRO.VHDLCompiler(toolchain: pyIPCMI.ToolChain.ToolMixIn)[source]

Abstraction layer of Riviera-PRO’s VHDL compiler ‘vcom’.

Inheritance

Inheritance diagram of VHDLCompiler

Members

class Executable[source]
_value = None
class SwitchVHDLVersion[source]
_pattern = '-{1}'
_name = ''
_value = None
class SwitchVHDLLibrary[source]
_name = 'work'
_value = None
class ArgSourceFile[source]
_value = None
Parameters = [<class 'pyIPCMI.ToolChain.Aldec.RivieraPRO.VHDLCompiler.Executable'>, <class 'pyIPCMI.ToolChain.Aldec.RivieraPRO.VHDLCompiler.SwitchVHDLVersion'>, <class 'pyIPCMI.ToolChain.Aldec.RivieraPRO.VHDLCompiler.SwitchVHDLLibrary'>, <class 'pyIPCMI.ToolChain.Aldec.RivieraPRO.VHDLCompiler.ArgSourceFile'>]
Compile()[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.Aldec.RivieraPRO.VHDLSimulator(toolchain: pyIPCMI.ToolChain.ToolMixIn)[source]

Inheritance

Inheritance diagram of VHDLSimulator

Members

class Executable[source]

The executable to launch.

_value = None
class SwitchBatchCommand[source]

Specify a Tcl batch script for the batch mode.

_name = 'do'
_value = None
class FlagCommandLineMode[source]

Run simulation in command line mode.

_name = 'c'
_value = None
class SwitchTimeResolution[source]

Set simulation time resolution.

_name = 't'
_value = None
class SwitchTopLevel[source]

The top-level for simulation.

_value = None
Parameters = [<class 'pyIPCMI.ToolChain.Aldec.RivieraPRO.VHDLSimulator.Executable'>, <class 'pyIPCMI.ToolChain.Aldec.RivieraPRO.VHDLSimulator.SwitchBatchCommand'>, <class 'pyIPCMI.ToolChain.Aldec.RivieraPRO.VHDLSimulator.FlagCommandLineMode'>, <class 'pyIPCMI.ToolChain.Aldec.RivieraPRO.VHDLSimulator.SwitchTimeResolution'>, <class 'pyIPCMI.ToolChain.Aldec.RivieraPRO.VHDLSimulator.SwitchTopLevel'>]

Specify all accepted command line arguments

Simulate()[source]

Start a simulation.

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 ======'

Functions

pyIPCMI.ToolChain.Aldec.RivieraPRO.VLibFilter(gen)[source]

A line based output stream filter for Riviera-PRO’s VHDL library management tool.

pyIPCMI.ToolChain.Aldec.RivieraPRO.VComFilter(gen)[source]

A line based output stream filter for Riviera-PRO’s VHDL compiler.

pyIPCMI.ToolChain.Aldec.RivieraPRO.VSimFilter(gen)[source]

A line based output stream filter for Riviera-PRO’s VHDL simulator.