Releases: VHDL/pyVHDLModel
Releases · VHDL/pyVHDLModel
v0.27.1
Release created on: 07.07.2023 - 21:26:17
New Features
None
Changes
- Added support for
add_note(...)
toVHDLModelException
. - Enhanced error message.
Bug Fixes
- Fixed usage of entity symbol.
v0.27.0
Release created on: 05.07.2023 - 22:51:48
New Features
- New method to import objects into a namespace:
ImportObjects
- First code to resolve types/subtypes.
- First code to link symbols in expressions.
- Added
ContextReferenceSymbol
. - Added some type and subtype definitions to the
IEEE.std_logic_1164
andIEEE.numeric_std
VHDL packages.
Changes
- Bumped dependencies.
- Adjusted code to support pyTooling v5.0.0.
- Added doc-strings.
- Renamings:
ConcurrentStatements
→ConcurrentStatementsMixin
SequentialDeclarations
→SequentialDeclarationsMixin
SequentialStatements
→SequentialStatementsMixin
Method
→MethodMixin
ProcedureCall
→ProcedureCallMixin
InterfaceItem
→InterfaceItemMixin
InterfaceItemWithMode
→InterfaceItemWithModeMixin
GenericInterfaceItem
→GenericInterfaceItemMixin
PortInterfaceItem
→PortInterfaceItemMixin
ParameterInterfaceItem
→ParameterInterfaceItemMixin
SignalAssignment
→SignalAssignmentMixin
VariableAssignment
→VariableAssignmentMixin
GenericEntityInstantiation
→GenericEntityInstantiationMixin
SubprogramInstantiation
→SubprogramInstantiationMixin
- Removed duplicate fields in inheritance tree.
(Reported by new pyTooling features from ExtendedType.) - Moved
PredefinedLibrary
,PredefinedPackageMixin
,PredefinedPackage
,PredefinedPackageBody
to new modulepyVHDLModel.Predefined
Bug Fixes
- Usage of symbols and names.
v0.26.0
Release created on: 16.05.2023 - 21:06:28
New Features
- Preparations for a type and object graph.
- New object graph instance in the Design.
- New
ObjectGraphVertexKind
andObjectGraphEdgeKind
enumeration. - New
AnalyzeTypesAndObjects
method.
- Added type declarations to
std.standard
package.
Changes
- Added new mixin
ConcurrentDeclarationRegionMixin
. - Reworked indexing of statements.
- Added some type hints for loop variables.
Bug Fixes
- Fixed usage of symbols.
v0.25.1
Release created on: 16.04.2023 - 18:06:11
Bug Fixes
- Fixed typo
PackageMembersReferenceSymbol
→PackageMemberReferenceSymbol
.
v0.25.0
Release created on: 15.04.2023 - 21:34:29
This release reverts changes made to symbols and names in earlier releases. Both features were merged some versions ago, but as shown in #70, a symbol (semantic) can have multiple name styles (syntax).
Changes
- Reworked
Symbol
classes to be a separate class structure. (Formerly derived fromName
classes). - Derived
AllName
fromSelectedName
. - Updated testcases according to the changes in symbols and names.
- Reworked some more
.format(...)
calls to f-strings. - Bumped dependencies.
Related Issues:
- Closes #70
v0.24.1
v0.24.0
Release created on: 27.03.2023 - 21:58:46
New Features
- Added more properties to class
Package
. - Distribute
py.typed
file.
Changes
- Adjusted to
pyTooling
v4.0+. - Renamed
SubType
/subType
toSubtype
/subtype
. - Renamed
SubProgram
toSubprogram
. - Bumped dependencies.
Bug Fixes
None
Related PRs:
None
v0.23.0
Release created on: 05.02.2023 - 22:29:12
New Features
- Added property
Name
toDesign
. - Improved calculation of property
Toplevel
.- HierarchyGraph has now a
toplevel
attribute.
- HierarchyGraph has now a
- Added instructions on how to use
pyVHDLModel
withpyGHDL
as a parser.
Changes
- Improved and added more documentation.
- Started to document analysis procedure.
- Added empty sections to document the 3 internal graph data structures.
- Bumped dependencies.
Bug Fixes
- Restricted Sphinx to <6.0, so navigation is not broken due to docutils vs. RTD theme mismatch.
- Fixes to the pyGHDL setup instructions.
- Fixed some broken tables in ReST.
v0.22.1
Release created on: 11.01.2023 - 17:09:20
Bug Fixes
- Fixed
pyTooling
dependency to be v2.11.0.
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
.