pyIPCMI.ToolChain.Lattice.Diamond.py

Exceptions

  • DiamondException: Base class for all tool specific exceptions

Classes

  • Configuration: Base class for all tool Configuration classes.
  • Diamond: Undocumented.
  • Synth: Represent an executable.
  • SynthesisArgumentFile: Undocumented.

Functions

  • MapFilter(): Undocumented.
  • CompilerFilter(): Undocumented.
exception pyIPCMI.ToolChain.Lattice.Diamond.DiamondException(message='')[source]

Inheritance

Inheritance diagram of DiamondException

Members

__init__(message='')

Exception initializer

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

Returns the exception’s message text.

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

Inheritance

Inheritance diagram of Configuration

Members

_vendor = 'Lattice'

The name of the tools vendor.

_toolName = 'Lattice Diamond'

The name of the tool.

_section = 'INSTALL.Lattice.Diamond'

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

_multiVersionSupport = True

Lattice Diamond supports multiple versions installed on the same system.

_template = {'Linux': {'INSTALL.Lattice.Diamond': {'SectionName': ('%{PathWithRoot}#${Version}', None), 'Version': '3.8', 'InstallationDirectory': ('${${SectionName}:InstallationDirectory}', '${INSTALL.Lattice:InstallationDirectory}/diamond/${Version}_x64'), 'BinaryDirectory': ('${${SectionName}:BinaryDirectory}', '${InstallationDirectory}/bin/lin64'), 'BinaryDirectory2': ('${${SectionName}:BinaryDirectory2}', '${InstallationDirectory}/ispfpga/bin/lin64')}}, 'Windows': {'INSTALL.Lattice.Diamond': {'SectionName': ('%{PathWithRoot}#${Version}', None), 'Version': '3.8', 'InstallationDirectory': ('${${SectionName}:InstallationDirectory}', '${INSTALL.Lattice:InstallationDirectory}/Diamond/${Version}_x64'), 'BinaryDirectory': ('${${SectionName}:BinaryDirectory}', '${InstallationDirectory}/bin/nt64'), 'BinaryDirectory2': ('${${SectionName}:BinaryDirectory2}', '${InstallationDirectory}/ispfpga/bin/nt64')}}}

The template for the configuration sections represented as nested dictionaries.

CheckDependency()[source]

Check if general Lattice support is configured in pyIPCMI.

ConfigureForAll()[source]

Start a generic (platform independent) configuration procedure.

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

_ConfigureBinaryDirectory()[source]

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

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__CheckDiamondVersion(binPath, version)
_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.Lattice.Diamond.Diamond(platform, dryrun, binaryDirectoryPath, version, logger=None)[source]

Inheritance

Inheritance diagram of Diamond

Members

PreparseEnvironment(installationDirectory)[source]
GetSynthesizer()[source]
class pyIPCMI.ToolChain.Lattice.Diamond.Synth(toolchain: pyIPCMI.ToolChain.ToolMixIn)[source]

Inheritance

Inheritance diagram of Synth

Members

class Executable[source]
class SwitchProjectFile[source]
_name = 'f'
_value = None
Parameters = [<class 'pyIPCMI.ToolChain.Lattice.Diamond.Synth.Executable'>, <class 'pyIPCMI.ToolChain.Lattice.Diamond.Synth.SwitchProjectFile'>]
static GetLogFileReader(logFile)[source]
Compile(logFile)[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.Lattice.Diamond.SynthesisArgumentFile(file)[source]

Inheritance

Inheritance diagram of SynthesisArgumentFile

Members

Architecture
Device
SpeedGrade
Package
TopLevel
FileName
FileSet
FileType
LogFile
Open()
Path
Project
ReadFile()
_FileType = <FileTypes() bits=0x0000>
_ReadContent()
VHDLVersion
HDLParams
Write(project)[source]

Functions

pyIPCMI.ToolChain.Lattice.Diamond.MapFilter(gen)[source]
pyIPCMI.ToolChain.Lattice.Diamond.CompilerFilter(gen)[source]