pyIPCMI.ToolChain.Xilinx.Vivado.py¶
Exceptions
VivadoException: Base class for all tool specific exceptions
Classes
Configuration: Base class for all tool Configuration classes.ToolMixIn: Undocumented.Vivado: Undocumented.XElab: Represent an executable.XSim: Represent an executable.Synth: Represent an executable.VivadoProject: Undocumented.VivadoProjectFile: Undocumented.XilinxDesignConstraintFile: Undocumented.
Functions
ElaborationFilter(): Undocumented.SimulatorFilter(): Undocumented.CompilerFilter(): Undocumented.
-
exception
pyIPCMI.ToolChain.Xilinx.Vivado.VivadoException(message='')[source] Inheritance
Members
-
__init__(message='') Exception initializer
Parameters: message (str) – The exception message.
-
__str__() Returns the exception’s message text.
-
args
-
-
class
pyIPCMI.ToolChain.Xilinx.Vivado.Configuration(host: pyIPCMI.Base.IHost)[source] Inheritance
Members
-
_vendor= 'Xilinx' The name of the tools vendor.
-
_toolName= 'Xilinx Vivado' The name of the tool.
-
_section= 'INSTALL.Xilinx.Vivado' The name of the configuration section. Pattern:
INSTALL.Vendor.ToolName.
-
_multiVersionSupport= True Xilinx Vivado supports multiple versions installed on the same system.
-
_template= {'Linux': {'INSTALL.Xilinx.Vivado': {'SectionName': ('%{PathWithRoot}#${Version}', None), 'Version': '2016.3', 'InstallationDirectory': ('${${SectionName}:InstallationDirectory}', '${INSTALL.Xilinx:InstallationDirectory}/Vivado/${Version}'), 'BinaryDirectory': ('${${SectionName}:BinaryDirectory}', '${InstallationDirectory}/bin')}}, 'Windows': {'INSTALL.Xilinx.Vivado': {'SectionName': ('%{PathWithRoot}#${Version}', None), 'Version': '2016.3', 'InstallationDirectory': ('${${SectionName}:InstallationDirectory}', '${INSTALL.Xilinx:InstallationDirectory}/Vivado/${Version}'), 'BinaryDirectory': ('${${SectionName}:BinaryDirectory}', '${InstallationDirectory}/bin')}}} The template for the configuration sections represented as nested dictionaries.
-
CheckDependency()[source] Check if general Xilinx 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.
-
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__CheckVivadoVersion(binPath, version)
-
_ConfigureBinaryDirectory() Updates section with value from
_templateand returns directory asPathobject.
-
_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.Xilinx.Vivado.ToolMixIn(platform, dryrun, binaryDirectoryPath, version, logger=None)[source] Inheritance
Members
-
class
pyIPCMI.ToolChain.Xilinx.Vivado.Vivado(platform, dryrun, binaryDirectoryPath, version, logger=None)[source] Inheritance
Members
-
PreparseEnvironment(installationDirectory)[source]
-
GetElaborator()[source]
-
GetSimulator()[source]
-
GetSynthesizer()[source]
-
-
class
pyIPCMI.ToolChain.Xilinx.Vivado.XElab(toolchain: pyIPCMI.ToolChain.ToolMixIn)[source] Inheritance
Members
-
class
Executable[source] -
_value= None
-
-
class
FlagRangeCheck[source] -
_name= 'rangecheck'
-
_value= None
-
-
class
SwitchMultiThreading[source] -
_name= 'mt'
-
_value= None
-
-
class
SwitchVerbose[source] -
_name= 'verbose'
-
_value= None
-
-
class
SwitchDebug[source] -
_name= 'debug'
-
_value= None
-
-
class
SwitchOptimization[source] -
_pattern= '--{0}{1}'
-
_name= 'O'
-
_value= None
-
-
class
SwitchTimeResolution[source] -
_name= 'timeprecision_vhdl'
-
_value= None
-
-
class
SwitchProjectFile[source] -
_name= 'prj'
-
_value= None
-
-
class
SwitchLogFile[source] -
_name= 'log'
-
_value= None
-
-
class
SwitchSnapshot[source] -
_name= 's'
-
_value= None
-
-
class
ArgTopLevel[source] -
_value= None
-
-
Parameters= [<class 'pyIPCMI.ToolChain.Xilinx.Vivado.XElab.Executable'>, <class 'pyIPCMI.ToolChain.Xilinx.Vivado.XElab.FlagRangeCheck'>, <class 'pyIPCMI.ToolChain.Xilinx.Vivado.XElab.SwitchMultiThreading'>, <class 'pyIPCMI.ToolChain.Xilinx.Vivado.XElab.SwitchTimeResolution'>, <class 'pyIPCMI.ToolChain.Xilinx.Vivado.XElab.SwitchVerbose'>, <class 'pyIPCMI.ToolChain.Xilinx.Vivado.XElab.SwitchDebug'>, <class 'pyIPCMI.ToolChain.Xilinx.Vivado.XElab.SwitchOptimization'>, <class 'pyIPCMI.ToolChain.Xilinx.Vivado.XElab.SwitchProjectFile'>, <class 'pyIPCMI.ToolChain.Xilinx.Vivado.XElab.SwitchLogFile'>, <class 'pyIPCMI.ToolChain.Xilinx.Vivado.XElab.SwitchSnapshot'>, <class 'pyIPCMI.ToolChain.Xilinx.Vivado.XElab.ArgTopLevel'>]
-
Link()[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
-
class
pyIPCMI.ToolChain.Xilinx.Vivado.XSim(toolchain: pyIPCMI.ToolChain.ToolMixIn)[source] Inheritance
Members
-
class
Executable[source] -
_value= None
-
-
class
SwitchLogFile[source] -
_name= '-log'
-
_value= None
-
-
class
FlagGuiMode[source] -
_name= '-gui'
-
_value= None
-
-
class
SwitchTclBatchFile[source] -
_name= '-tclbatch'
-
_value= None
-
-
class
SwitchWaveformFile[source] -
_name= '-view'
-
_value= None
-
-
class
SwitchSnapshot[source] -
_value= None
-
-
Parameters= [<class 'pyIPCMI.ToolChain.Xilinx.Vivado.XSim.Executable'>, <class 'pyIPCMI.ToolChain.Xilinx.Vivado.XSim.SwitchLogFile'>, <class 'pyIPCMI.ToolChain.Xilinx.Vivado.XSim.FlagGuiMode'>, <class 'pyIPCMI.ToolChain.Xilinx.Vivado.XSim.SwitchTclBatchFile'>, <class 'pyIPCMI.ToolChain.Xilinx.Vivado.XSim.SwitchWaveformFile'>, <class 'pyIPCMI.ToolChain.Xilinx.Vivado.XSim.SwitchSnapshot'>]
-
Simulate()[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
-
class
pyIPCMI.ToolChain.Xilinx.Vivado.Synth(toolchain: pyIPCMI.ToolChain.ToolMixIn)[source] Inheritance
Members
-
class
Executable[source] -
_value= None
-
-
class
SwitchLogFile[source] -
_name= 'log'
-
_value= None
-
-
class
SwitchSourceFile[source] -
_name= 'source'
-
_value= None
-
-
class
SwitchMode[source] -
_name= 'mode'
-
_value= 'batch'
-
-
Parameters= [<class 'pyIPCMI.ToolChain.Xilinx.Vivado.Synth.Executable'>, <class 'pyIPCMI.ToolChain.Xilinx.Vivado.Synth.SwitchLogFile'>, <class 'pyIPCMI.ToolChain.Xilinx.Vivado.Synth.SwitchSourceFile'>, <class 'pyIPCMI.ToolChain.Xilinx.Vivado.Synth.SwitchMode'>]
-
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
-
class
pyIPCMI.ToolChain.Xilinx.Vivado.VivadoProject(name)[source] Inheritance
Members
-
AddExternalVHDLLibraries(library)
-
AddFile(file, fileSet=None)
-
AddFileSet(fileSet)
-
AddSourceFile(file, fileSet=None)
-
Board
-
CreateFileSet(name, setDefault=True)
-
DefaultFileSet
-
Device
-
Environment
-
ExternalVHDLLibraries
-
ExtractVHDLLibrariesFromVHDLSourceFiles()
-
FileSets
-
Files(fileType=<FileTypes(Text|ProjectFile|FileListFile|RulesFile|SourceFile|VHDLSourceFile|VerilogSourceFile|PythonSourceFile|CocotbSourceFile|ConstraintFile|UcfConstraintFile|XdcConstraintFile|SdcConstraintFile|LdcConstraintFile|SettingsFile|QuartusSettingsFile) bits=0xFFFF>, fileSet=None)
-
GetVariables()
-
Name
-
RootDirectory
-
Tool
-
ToolChain
-
VHDLLibraries
-
VHDLVersion
-
pprint(indent=0)
-
-
class
pyIPCMI.ToolChain.Xilinx.Vivado.VivadoProjectFile(file)[source] Inheritance
Members
-
FileName
-
FileSet
-
FileType
-
Open()
-
Path
-
Project
-
ReadFile()
-
_FileType= <FileTypes.ProjectFile bits=0x0002 data=UNDEFINED>
-
_ReadContent()
-
-
class
pyIPCMI.ToolChain.Xilinx.Vivado.XilinxDesignConstraintFile(file, project=None, fileSet=None)[source] Inheritance
Members
-
_FileType= <FileTypes.XdcConstraintFile bits=0x0800 data=UNDEFINED>
-
FileName
-
FileSet
-
FileType
-
Open()
-
Path
-
Project
-
ReadFile()
-
_ReadContent()
-
Functions
-
pyIPCMI.ToolChain.Xilinx.Vivado.ElaborationFilter(gen)[source]
-
pyIPCMI.ToolChain.Xilinx.Vivado.SimulatorFilter(gen)[source]
-
pyIPCMI.ToolChain.Xilinx.Vivado.CompilerFilter(gen)[source]