v0.22.0
Release created on: 11.01.2023 - 11:52:07
New Features
- Restructured
SyntaxModel.py
into 18 files and removed it:Association.py
Base.py
Common.py
Concurrent.py
Declaration.py
DesignUnit.py
Exception.py
Expression.py
Instantiation.py
Interface.py
Name.py
Object.py
PSLModel.py
Scope.py
Sequential.py
Subprogram.py
Symbol.py
Type.py
- Added base exception class
VHDLModelException
. - Added case specific exceptions with context information:
LibraryExistsInDesignError
LibraryRegisteredToForeignDesignError
LibraryNotRegisteredError
EntityExistsInLibraryError
ArchitectureExistsInLibraryError
PackageExistsInLibraryError
PackageBodyExistsError
ConfigurationExistsInLibraryError
ContextExistsInLibraryError
ReferencedLibraryNotExistingError
- Added namespaces to VHDL entities with concurrent declaration regions.
- Added property
Entity
toComponent
. - Handle component instantiations.
- Component declarations are indexed.
- Reference components via use clauses.
- Instantiation dependencies are now listed in the dependency graph.
- Implemented
ComputeHierarchy
:- Derive the hierarchy graph from dependency graph.
- Implemented property
TopLevel
.
(Former methodGetTopLevel)
.) - Added
CreateCompileOrderGraph
andComputeCompileOrder
:- Derive the compile order graph from dependency graph.
- Implemented
IterateDocumentsInCompileOrder
to return a generator of documents in correct order. - Added vertex attribute
"predefined"
to vertices in the dependency graph if it's a design unit fromstd
orieee
.
Changes
- Removed old
Symbol
class and renamed the new symbol classNewSymbol
toSymbol
.
Thus there is again just one symbol class callSymbol
. - Changed
raise Exception(...)
toraise VHDLModelException(...)
. - Added doc-strings for names.
- Updated copyright to year 2023.
Bug Fixes
- Fixed
Name
whenprefix
parameter is None. - Fixed Property name
Has_Prefix
toHasPrefix
onName
.