v0.21.0
Release created on: 05.01.2023 - 17:25:55
New Features
- Added method
GetAncestor
toModelEntity
. - Added property
DependencyGraph
toDesign
. - Added
_compileOrderGraph
and_hierarchyGraph
fields as well as matching propertiesCompileOrderGraph
andHierarchyGraph
toDesign
. - Added method
AddLibrary
to register a VHDL library in the design. - Added method
CreateCompilerOrderGraph
onDesign
. - Added key-value-pair
"kind" : DependencyGraphEdgeKind
on edges in the dependency graph. - Implemented referencing library, package and context references in topological order to design units referencing a context.
- Added method
LinkInstanziations
onDesign
:- Handle
EntityInstantiation
statements.
- Handle
- Added dummy methods for:
ComputeHierarchy
GetCompileOrder
GetTopLevel
GetUnusedDesignUnits
- Added field
_compileOrderVertex
and propertyCompileOrderVertex
toDocument
. - Added property
DependencyVertex
toLibrary
. - Added generator
IterateDesignUnits
toDocument
. - Added
__repr__
for design units. - Added field
_blocks
toConcurrentStatements
. - Added generator
IterateInstantiations
toConcurrentStatements
,IfGenerateStatement
andCaseGenerateStatement
. - Added field
_hierarchyVertex
and propertyHierarchyVertex
toDesignUnit
. - Added new "analyze" test cases to unit tests.
Changes
- Moved implementation of
DesignUnitWithContextMixin
toDesignUnit
.
The fields_contextItems
,_libraryReferences
,_packageReferences
and_contextReferences
as well as matching properties and initializer codes are now inDesignUnit
. LoadStdLibrary
andLoadIeeeLibrary
now return the created VHDL library object.- When calling
AddDocument
onDesign
, check if used library is part of the design. - Bumped dependencies.
- Updated shield URL for GitHub Actions.
- Removed fields
_declaredItems
and_statements
fromEntity
.
(This is covered byConcurrentDeclarations
andConcurrentStatements
.) - Change list of architectures for an entity to a dictionary for named lookups.
- Reworked
ComponentInstantiation
,ConfigurationInstantiation
andEntityInstantiation
. - Extended flag members of
DependencyGraphEdgeKind
by references, instances and implementations. - Improved instantiation test cases.
Bug Fixes
- Added missing "backward pointers" by setting
_parent
to appropriate values.
This was missing in the entire model.
(As this was a complete code walk-through, TODO and FIXME comments for potential problematic regions were added.) - Fixed parameter names
_leftOperand
and_rightOperand
, by removing the_
. - Added missing
Nullable
to type hints. - Implemented missing field initialization code for
Package
. - Fixed super call in
PackageBody.__init__
,Configuration.__init__
,Entity.__init__
andArchitecture.__init__
. - Fixed
Package.Index
, now usingNormalizedLabel
. - Removed property
DeclaredItems
fromArchitecture
.
(This is covered byConcurrentDeclarations
.) - Renamed parameters using
range
torng
to avoid overlap with Python builtins.