pyVHDLModel 0.29.2__tar.gz → 0.30.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/PKG-INFO +37 -24
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/Association.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/Base.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/Common.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/Concurrent.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/Declaration.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/DesignUnit.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/Exception.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/Expression.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/IEEE.py +163 -32
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/Instantiation.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/Interface.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/Name.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/Namespace.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/Object.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/PSLModel.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/Predefined.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/Regions.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/STD.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/Sequential.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/Subprogram.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/Symbol.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/Type.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/__init__.py +24 -7
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel.egg-info/PKG-INFO +37 -24
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel.egg-info/requires.txt +22 -22
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyproject.toml +5 -2
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/setup.py +1 -1
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/LICENSE.md +0 -0
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/README.md +0 -0
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel/py.typed +0 -0
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel.egg-info/SOURCES.txt +0 -0
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel.egg-info/dependency_links.txt +0 -0
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/pyVHDLModel.egg-info/top_level.txt +0 -0
- {pyvhdlmodel-0.29.2 → pyvhdlmodel-0.30.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: pyVHDLModel
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.30.0
|
|
4
4
|
Summary: An abstract VHDL language model.
|
|
5
5
|
Home-page: https://GitHub.com/VHDL/pyVHDLModel
|
|
6
6
|
Author: Patrick Lehmann
|
|
@@ -27,45 +27,58 @@ Classifier: Development Status :: 4 - Beta
|
|
|
27
27
|
Requires-Python: >=3.9
|
|
28
28
|
Description-Content-Type: text/markdown
|
|
29
29
|
License-File: LICENSE.md
|
|
30
|
-
Requires-Dist: pyTooling~=8.
|
|
30
|
+
Requires-Dist: pyTooling~=8.1
|
|
31
31
|
Provides-Extra: doc
|
|
32
|
+
Requires-Dist: autoapi>=2.0.1; extra == "doc"
|
|
33
|
+
Requires-Dist: sphinx_rtd_theme~=3.0; extra == "doc"
|
|
34
|
+
Requires-Dist: docutils~=0.21; extra == "doc"
|
|
35
|
+
Requires-Dist: sphinx_design~=0.6.1; extra == "doc"
|
|
32
36
|
Requires-Dist: docutils_stubs~=0.0.22; extra == "doc"
|
|
33
37
|
Requires-Dist: sphinxcontrib-mermaid~=1.0; extra == "doc"
|
|
34
|
-
Requires-Dist: sphinx_autodoc_typehints~=2.5; extra == "doc"
|
|
35
38
|
Requires-Dist: sphinx_reports~=0.7; extra == "doc"
|
|
36
|
-
Requires-Dist: pyTooling~=8.0; extra == "doc"
|
|
37
|
-
Requires-Dist: autoapi>=2.0.1; extra == "doc"
|
|
38
|
-
Requires-Dist: sphinx_design~=0.6.1; extra == "doc"
|
|
39
|
-
Requires-Dist: sphinx_rtd_theme~=3.0.0; extra == "doc"
|
|
40
39
|
Requires-Dist: sphinx-copybutton>=0.5.2; extra == "doc"
|
|
40
|
+
Requires-Dist: sphinx_autodoc_typehints~=3.0; extra == "doc"
|
|
41
41
|
Requires-Dist: sphinx~=8.1; extra == "doc"
|
|
42
|
-
Requires-Dist:
|
|
42
|
+
Requires-Dist: pyTooling~=8.1; extra == "doc"
|
|
43
43
|
Provides-Extra: test
|
|
44
|
-
Requires-Dist: mypy~=1.
|
|
44
|
+
Requires-Dist: mypy~=1.15; extra == "test"
|
|
45
45
|
Requires-Dist: pytest~=8.3; extra == "test"
|
|
46
|
-
Requires-Dist: lxml~=5.3; extra == "test"
|
|
47
|
-
Requires-Dist: pyTooling~=8.0; extra == "test"
|
|
48
46
|
Requires-Dist: pytest-cov~=6.0; extra == "test"
|
|
49
|
-
Requires-Dist: Coverage~=7.6; extra == "test"
|
|
50
47
|
Requires-Dist: typing_extensions~=4.12; extra == "test"
|
|
48
|
+
Requires-Dist: lxml~=5.3; extra == "test"
|
|
49
|
+
Requires-Dist: pyTooling~=8.1; extra == "test"
|
|
50
|
+
Requires-Dist: Coverage~=7.6; extra == "test"
|
|
51
51
|
Provides-Extra: all
|
|
52
|
+
Requires-Dist: autoapi>=2.0.1; extra == "all"
|
|
53
|
+
Requires-Dist: sphinx_rtd_theme~=3.0; extra == "all"
|
|
54
|
+
Requires-Dist: docutils~=0.21; extra == "all"
|
|
55
|
+
Requires-Dist: sphinx_design~=0.6.1; extra == "all"
|
|
56
|
+
Requires-Dist: mypy~=1.15; extra == "all"
|
|
57
|
+
Requires-Dist: pytest~=8.3; extra == "all"
|
|
52
58
|
Requires-Dist: docutils_stubs~=0.0.22; extra == "all"
|
|
53
|
-
Requires-Dist: mypy~=1.13; extra == "all"
|
|
54
59
|
Requires-Dist: sphinxcontrib-mermaid~=1.0; extra == "all"
|
|
55
|
-
Requires-Dist:
|
|
60
|
+
Requires-Dist: sphinx_reports~=0.7; extra == "all"
|
|
56
61
|
Requires-Dist: sphinx-copybutton>=0.5.2; extra == "all"
|
|
62
|
+
Requires-Dist: sphinx_autodoc_typehints~=3.0; extra == "all"
|
|
63
|
+
Requires-Dist: pytest-cov~=6.0; extra == "all"
|
|
57
64
|
Requires-Dist: typing_extensions~=4.12; extra == "all"
|
|
65
|
+
Requires-Dist: sphinx~=8.1; extra == "all"
|
|
58
66
|
Requires-Dist: lxml~=5.3; extra == "all"
|
|
59
|
-
Requires-Dist:
|
|
60
|
-
Requires-Dist: pyTooling~=8.0; extra == "all"
|
|
61
|
-
Requires-Dist: autoapi>=2.0.1; extra == "all"
|
|
62
|
-
Requires-Dist: sphinx_design~=0.6.1; extra == "all"
|
|
63
|
-
Requires-Dist: sphinx_rtd_theme~=3.0.0; extra == "all"
|
|
64
|
-
Requires-Dist: pytest-cov~=6.0; extra == "all"
|
|
67
|
+
Requires-Dist: pyTooling~=8.1; extra == "all"
|
|
65
68
|
Requires-Dist: Coverage~=7.6; extra == "all"
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
+
Dynamic: author
|
|
70
|
+
Dynamic: author-email
|
|
71
|
+
Dynamic: classifier
|
|
72
|
+
Dynamic: description
|
|
73
|
+
Dynamic: description-content-type
|
|
74
|
+
Dynamic: home-page
|
|
75
|
+
Dynamic: keywords
|
|
76
|
+
Dynamic: license
|
|
77
|
+
Dynamic: project-url
|
|
78
|
+
Dynamic: provides-extra
|
|
79
|
+
Dynamic: requires-dist
|
|
80
|
+
Dynamic: requires-python
|
|
81
|
+
Dynamic: summary
|
|
69
82
|
|
|
70
83
|
<p align="center">
|
|
71
84
|
<a title="vhdl.github.io/pyVHDLModel" href="https://vhdl.github.io/pyVHDLModel"><img height="80px" src="doc/_static/logo.svg"/></a>
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -30,8 +30,13 @@
|
|
|
30
30
|
# ==================================================================================================================== #
|
|
31
31
|
#
|
|
32
32
|
"""This module contains library and package declarations for VHDL library ``IEEE``."""
|
|
33
|
-
from pyTooling.Decorators import export
|
|
34
33
|
|
|
34
|
+
from typing import Optional as Nullable
|
|
35
|
+
|
|
36
|
+
from pyTooling.Decorators import export, readonly
|
|
37
|
+
|
|
38
|
+
from pyVHDLModel import IEEEFlavor
|
|
39
|
+
from pyVHDLModel.Exception import VHDLModelException
|
|
35
40
|
from pyVHDLModel.Expression import EnumerationLiteral
|
|
36
41
|
from pyVHDLModel.Name import SimpleName
|
|
37
42
|
from pyVHDLModel.Predefined import PredefinedLibrary, PredefinedPackage, PredefinedPackageBody
|
|
@@ -55,7 +60,6 @@ class Ieee(PredefinedLibrary):
|
|
|
55
60
|
|
|
56
61
|
* :class:`~pyVHDLModel.IEEE.Std_Logic_1164`
|
|
57
62
|
* :class:`~pyVHDLModel.IEEE.Std_Logic_TextIO`
|
|
58
|
-
* :class:`~pyVHDLModel.IEEE.Std_Logic_Misc`
|
|
59
63
|
|
|
60
64
|
* Numeric
|
|
61
65
|
|
|
@@ -72,18 +76,57 @@ class Ieee(PredefinedLibrary):
|
|
|
72
76
|
* :class:`~pyVHDLModel.IEEE.Float_Generic_Pkg`
|
|
73
77
|
* :class:`~pyVHDLModel.IEEE.Float_Pkg`
|
|
74
78
|
|
|
79
|
+
* Mentor Graphics packages
|
|
80
|
+
|
|
81
|
+
* :class:`~pyVHDLModel.IEEE.Std_logic_arith`
|
|
82
|
+
|
|
83
|
+
* Synopsys packages
|
|
84
|
+
|
|
85
|
+
* :class:`~pyVHDLModel.IEEE.Std_logic_arith`
|
|
86
|
+
* :class:`~pyVHDLModel.IEEE.Std_logic_misc`
|
|
87
|
+
* :class:`~pyVHDLModel.IEEE.Std_logic_signed`
|
|
88
|
+
* :class:`~pyVHDLModel.IEEE.Std_logic_textio`
|
|
89
|
+
* :class:`~pyVHDLModel.IEEE.Std_logic_unsigned`
|
|
90
|
+
|
|
75
91
|
.. seealso::
|
|
76
92
|
|
|
77
93
|
Other predefined libraries:
|
|
78
94
|
* Library :class:`~pyVHDLModel.STD.Std`
|
|
79
95
|
"""
|
|
80
96
|
|
|
81
|
-
|
|
97
|
+
_flavor: IEEEFlavor
|
|
98
|
+
|
|
99
|
+
def __init__(self, flavor: Nullable[IEEEFlavor] = None) -> None:
|
|
82
100
|
super().__init__(PACKAGES)
|
|
83
101
|
|
|
102
|
+
self._flavor = IEEEFlavor.IEEE
|
|
103
|
+
if flavor is None or flavor is IEEEFlavor.IEEE:
|
|
104
|
+
pass
|
|
105
|
+
elif flavor is IEEEFlavor.MentorGraphics:
|
|
106
|
+
self.LoadMentorGraphicsPackages()
|
|
107
|
+
elif flavor is IEEEFlavor.Synopsys:
|
|
108
|
+
self.LoadSynopsysPackages()
|
|
109
|
+
else:
|
|
110
|
+
raise VHDLModelException(f"Unknown IEEE library flavor '{flavor}'.")
|
|
111
|
+
self._flavor = flavor
|
|
112
|
+
|
|
113
|
+
@readonly
|
|
114
|
+
def Flavor(self) -> IEEEFlavor:
|
|
115
|
+
return self._flavor
|
|
116
|
+
|
|
117
|
+
def LoadMentorGraphicsPackages(self) -> None:
|
|
118
|
+
if self._flavor is not IEEEFlavor.IEEE:
|
|
119
|
+
raise VHDLModelException(f"IEEE library flavor is '{self._flavor}' and can't be changed to '{IEEEFlavor.MentorGraphics}'.")
|
|
120
|
+
|
|
121
|
+
self._flavor = IEEEFlavor.MentorGraphics
|
|
122
|
+
self.AddPackages(MENTOR_GRAPHICS_PACKAGES)
|
|
123
|
+
|
|
84
124
|
def LoadSynopsysPackages(self) -> None:
|
|
85
|
-
self.
|
|
125
|
+
if self._flavor is not IEEEFlavor.IEEE:
|
|
126
|
+
raise VHDLModelException(f"IEEE library flavor is '{self._flavor}' and can't be changed to '{IEEEFlavor.MentorGraphics}'.")
|
|
86
127
|
|
|
128
|
+
self._flavor = IEEEFlavor.Synopsys
|
|
129
|
+
self.AddPackages(SYNOPSYS_PACKAGES)
|
|
87
130
|
|
|
88
131
|
|
|
89
132
|
@export
|
|
@@ -125,7 +168,7 @@ class Math_Complex_Body(PredefinedPackageBody):
|
|
|
125
168
|
|
|
126
169
|
|
|
127
170
|
@export
|
|
128
|
-
class
|
|
171
|
+
class Std_Logic_1164(PredefinedPackage):
|
|
129
172
|
"""
|
|
130
173
|
Predefined package ``ieee.std_logic_1164``.
|
|
131
174
|
|
|
@@ -170,14 +213,14 @@ class Std_logic_1164(PredefinedPackage):
|
|
|
170
213
|
|
|
171
214
|
|
|
172
215
|
@export
|
|
173
|
-
class
|
|
216
|
+
class Std_Logic_1164_Body(PredefinedPackageBody):
|
|
174
217
|
"""
|
|
175
218
|
Predefined package body of package ``ieee.std_logic_1164``.
|
|
176
219
|
"""
|
|
177
220
|
|
|
178
221
|
|
|
179
222
|
@export
|
|
180
|
-
class
|
|
223
|
+
class Std_Logic_TextIO(PredefinedPackage):
|
|
181
224
|
"""
|
|
182
225
|
Predefined package ``ieee.std_logic_textio``.
|
|
183
226
|
"""
|
|
@@ -190,26 +233,6 @@ class std_logic_textio(PredefinedPackage):
|
|
|
190
233
|
self._AddPackageClause(("IEEE.std_logic_1164.all", ))
|
|
191
234
|
|
|
192
235
|
|
|
193
|
-
@export
|
|
194
|
-
class Std_logic_misc(PredefinedPackage):
|
|
195
|
-
"""
|
|
196
|
-
Predefined package ``ieee.std_logic_misc``.
|
|
197
|
-
"""
|
|
198
|
-
|
|
199
|
-
def __init__(self) -> None:
|
|
200
|
-
super().__init__()
|
|
201
|
-
|
|
202
|
-
self._AddLibraryClause(("IEEE", ))
|
|
203
|
-
self._AddPackageClause(("IEEE.std_logic_1164.all", ))
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
@export
|
|
207
|
-
class Std_logic_misc_Body(PredefinedPackageBody):
|
|
208
|
-
"""
|
|
209
|
-
Predefined package body of package ``ieee.std_logic_misc``.
|
|
210
|
-
"""
|
|
211
|
-
|
|
212
|
-
|
|
213
236
|
@export
|
|
214
237
|
class Numeric_Bit(PredefinedPackage):
|
|
215
238
|
"""
|
|
@@ -404,8 +427,8 @@ class Float_Pkg(PredefinedPackage):
|
|
|
404
427
|
PACKAGES = (
|
|
405
428
|
(Math_Real, Math_Real_Body),
|
|
406
429
|
(Math_Complex, Math_Complex_Body),
|
|
407
|
-
(
|
|
408
|
-
(
|
|
430
|
+
(Std_Logic_1164, Std_Logic_1164_Body),
|
|
431
|
+
(Std_Logic_TextIO, None),
|
|
409
432
|
(Numeric_Bit, Numeric_Bit_Body),
|
|
410
433
|
(Numeric_Bit_Unsigned, Numeric_Bit_Unsigned_Body),
|
|
411
434
|
(Numeric_Std, Numeric_Std_Body),
|
|
@@ -417,6 +440,114 @@ PACKAGES = (
|
|
|
417
440
|
(Float_Pkg, None),
|
|
418
441
|
)
|
|
419
442
|
|
|
420
|
-
|
|
421
|
-
|
|
443
|
+
|
|
444
|
+
@export
|
|
445
|
+
class Std_Logic_Arith(PredefinedPackage):
|
|
446
|
+
"""
|
|
447
|
+
Predefined Mentor Graphics package ``ieee.std_logic_arith``.
|
|
448
|
+
"""
|
|
449
|
+
|
|
450
|
+
def __init__(self) -> None:
|
|
451
|
+
super().__init__()
|
|
452
|
+
|
|
453
|
+
self._AddLibraryClause(("IEEE", ))
|
|
454
|
+
|
|
455
|
+
# used inside of package
|
|
456
|
+
# self._AddPackageClause(("IEEE.std_logic_1164.all", ))
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+
@export
|
|
460
|
+
class Std_Logic_Arith_Body(PredefinedPackageBody):
|
|
461
|
+
"""
|
|
462
|
+
Predefined package body of Mentor Graphics package ``ieee.std_logic_arith``.
|
|
463
|
+
"""
|
|
464
|
+
|
|
465
|
+
|
|
466
|
+
MENTOR_GRAPHICS_PACKAGES = (
|
|
467
|
+
(Std_Logic_Arith, Std_Logic_Arith_Body),
|
|
468
|
+
)
|
|
469
|
+
|
|
470
|
+
|
|
471
|
+
@export
|
|
472
|
+
class Std_Logic_Arith(PredefinedPackage):
|
|
473
|
+
"""
|
|
474
|
+
Predefined Synopsys package ``ieee.std_logic_arith``.
|
|
475
|
+
"""
|
|
476
|
+
|
|
477
|
+
def __init__(self) -> None:
|
|
478
|
+
super().__init__()
|
|
479
|
+
|
|
480
|
+
self._AddLibraryClause(("IEEE", ))
|
|
481
|
+
self._AddPackageClause(("IEEE.std_logic_1164.all", ))
|
|
482
|
+
|
|
483
|
+
|
|
484
|
+
@export
|
|
485
|
+
class Std_Logic_Misc(PredefinedPackage):
|
|
486
|
+
"""
|
|
487
|
+
Predefined Synopsys package ``ieee.std_logic_misc``.
|
|
488
|
+
"""
|
|
489
|
+
|
|
490
|
+
def __init__(self) -> None:
|
|
491
|
+
super().__init__()
|
|
492
|
+
|
|
493
|
+
self._AddLibraryClause(("IEEE", ))
|
|
494
|
+
self._AddPackageClause(("IEEE.std_logic_1164.all", ))
|
|
495
|
+
|
|
496
|
+
|
|
497
|
+
@export
|
|
498
|
+
class Std_Logic_Misc_Body(PredefinedPackageBody):
|
|
499
|
+
"""
|
|
500
|
+
Predefined package body of Synopsys package ``ieee.std_logic_misc``.
|
|
501
|
+
"""
|
|
502
|
+
|
|
503
|
+
|
|
504
|
+
@export
|
|
505
|
+
class Std_Logic_Signed(PredefinedPackage):
|
|
506
|
+
"""
|
|
507
|
+
Predefined Synopsys package ``ieee.std_logic_signed``.
|
|
508
|
+
"""
|
|
509
|
+
|
|
510
|
+
def __init__(self) -> None:
|
|
511
|
+
super().__init__()
|
|
512
|
+
|
|
513
|
+
self._AddLibraryClause(("IEEE", ))
|
|
514
|
+
self._AddPackageClause(("IEEE.std_logic_1164.all", ))
|
|
515
|
+
self._AddPackageClause(("IEEE.std_logic_arith.all", ))
|
|
516
|
+
|
|
517
|
+
|
|
518
|
+
@export
|
|
519
|
+
class Std_Logic_TextIO(PredefinedPackage):
|
|
520
|
+
"""
|
|
521
|
+
Predefined Synopsys package ``ieee.std_logic_textio``.
|
|
522
|
+
"""
|
|
523
|
+
|
|
524
|
+
def __init__(self) -> None:
|
|
525
|
+
super().__init__()
|
|
526
|
+
|
|
527
|
+
self._AddPackageClause(("STD.textio.all", ))
|
|
528
|
+
|
|
529
|
+
self._AddLibraryClause(("IEEE", ))
|
|
530
|
+
self._AddPackageClause(("IEEE.std_logic_1164.all", ))
|
|
531
|
+
|
|
532
|
+
|
|
533
|
+
@export
|
|
534
|
+
class Std_Logic_Unsigned(PredefinedPackage):
|
|
535
|
+
"""
|
|
536
|
+
Predefined Synopsys package ``ieee.std_logic_unsigned``.
|
|
537
|
+
"""
|
|
538
|
+
|
|
539
|
+
def __init__(self) -> None:
|
|
540
|
+
super().__init__()
|
|
541
|
+
|
|
542
|
+
self._AddLibraryClause(("IEEE", ))
|
|
543
|
+
self._AddPackageClause(("IEEE.std_logic_1164.all", ))
|
|
544
|
+
self._AddPackageClause(("IEEE.std_logic_arith.all", ))
|
|
545
|
+
|
|
546
|
+
|
|
547
|
+
SYNOPSYS_PACKAGES = (
|
|
548
|
+
(Std_Logic_Arith, None),
|
|
549
|
+
(Std_Logic_Misc, Std_Logic_Misc_Body),
|
|
550
|
+
(Std_Logic_Signed, None),
|
|
551
|
+
(Std_Logic_TextIO, None),
|
|
552
|
+
(Std_Logic_Unsigned, None),
|
|
422
553
|
)
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
@@ -40,15 +40,15 @@ on such a model, while supporting multiple frontends.
|
|
|
40
40
|
|
|
41
41
|
.. admonition:: Copyright Information
|
|
42
42
|
|
|
43
|
-
:copyright: Copyright 2017-
|
|
43
|
+
:copyright: Copyright 2017-2025 Patrick Lehmann - Bötzingen, Germany
|
|
44
44
|
:copyright: Copyright 2016-2017 Patrick Lehmann - Dresden, Germany
|
|
45
45
|
:license: Apache License, Version 2.0
|
|
46
46
|
"""
|
|
47
47
|
__author__ = "Patrick Lehmann"
|
|
48
48
|
__email__ = "Paebbels@gmail.com"
|
|
49
|
-
__copyright__ = "2016-
|
|
49
|
+
__copyright__ = "2016-2025, Patrick Lehmann"
|
|
50
50
|
__license__ = "Apache License, Version 2.0"
|
|
51
|
-
__version__ = "0.
|
|
51
|
+
__version__ = "0.30.0"
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
from enum import unique, Enum, Flag, auto
|
|
@@ -294,6 +294,13 @@ class VHDLVersion(Enum):
|
|
|
294
294
|
return str(self.value)
|
|
295
295
|
|
|
296
296
|
|
|
297
|
+
@export
|
|
298
|
+
class IEEEFlavor(Enum):
|
|
299
|
+
IEEE = 0
|
|
300
|
+
Synopsys = 1
|
|
301
|
+
MentorGraphics = 2
|
|
302
|
+
|
|
303
|
+
|
|
297
304
|
@export
|
|
298
305
|
@unique
|
|
299
306
|
class ObjectClass(Enum):
|
|
@@ -574,19 +581,20 @@ class Design(ModelEntity):
|
|
|
574
581
|
|
|
575
582
|
return library
|
|
576
583
|
|
|
577
|
-
def LoadIEEELibrary(self) -> 'Library':
|
|
584
|
+
def LoadIEEELibrary(self, flavor: IEEEFlavor = IEEEFlavor.IEEE) -> 'Library':
|
|
578
585
|
"""
|
|
579
586
|
Load the predefined VHDL library ``ieee`` into the design.
|
|
580
587
|
|
|
581
588
|
This will create a virtual source code file ``ieee.vhdl`` and register VHDL design units of library ``ieee`` to that file.
|
|
582
589
|
|
|
583
|
-
:
|
|
590
|
+
:param flavor: Select the IEEE library flavor: IEEE, Synopsys, MentorGraphics.
|
|
591
|
+
:returns: The library object of library ``ieee``.
|
|
584
592
|
"""
|
|
585
593
|
from pyVHDLModel.IEEE import Ieee
|
|
586
594
|
|
|
587
595
|
doc = Document(Path("ieee.vhdl"), parent=self)
|
|
588
596
|
|
|
589
|
-
library = Ieee()
|
|
597
|
+
library = Ieee(flavor)
|
|
590
598
|
for designUnit in library.IterateDesignUnits():
|
|
591
599
|
doc._AddDesignUnit(designUnit)
|
|
592
600
|
|
|
@@ -1365,6 +1373,9 @@ class Design(ModelEntity):
|
|
|
1365
1373
|
# A library clause can have multiple comma-separated references
|
|
1366
1374
|
for librarySymbol in libraryReference.Symbols:
|
|
1367
1375
|
libraryIdentifier = librarySymbol.Name.NormalizedIdentifier
|
|
1376
|
+
if libraryIdentifier == "work":
|
|
1377
|
+
continue
|
|
1378
|
+
|
|
1368
1379
|
try:
|
|
1369
1380
|
library = self._libraries[libraryIdentifier]
|
|
1370
1381
|
except KeyError:
|
|
@@ -1525,6 +1536,12 @@ class Design(ModelEntity):
|
|
|
1525
1536
|
# QUESTION: Add link in dependency graph as dashed line from component to entity?
|
|
1526
1537
|
# Currently, component has no _dependencyVertex field
|
|
1527
1538
|
|
|
1539
|
+
# FIXME: also link components in architectures (and nested structures like generate statements and block statements
|
|
1540
|
+
# for architecture in self.IterateDesignUnits(DesignUnitKind.Architecture):
|
|
1541
|
+
# library = architecture._parent
|
|
1542
|
+
# for component in architecture._components.values():
|
|
1543
|
+
# pass
|
|
1544
|
+
|
|
1528
1545
|
def LinkInstantiations(self) -> None:
|
|
1529
1546
|
for architecture in self.IterateDesignUnits(DesignUnitKind.Architecture): # type: Architecture
|
|
1530
1547
|
for instance in architecture.IterateInstantiations():
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: pyVHDLModel
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.30.0
|
|
4
4
|
Summary: An abstract VHDL language model.
|
|
5
5
|
Home-page: https://GitHub.com/VHDL/pyVHDLModel
|
|
6
6
|
Author: Patrick Lehmann
|
|
@@ -27,45 +27,58 @@ Classifier: Development Status :: 4 - Beta
|
|
|
27
27
|
Requires-Python: >=3.9
|
|
28
28
|
Description-Content-Type: text/markdown
|
|
29
29
|
License-File: LICENSE.md
|
|
30
|
-
Requires-Dist: pyTooling~=8.
|
|
30
|
+
Requires-Dist: pyTooling~=8.1
|
|
31
31
|
Provides-Extra: doc
|
|
32
|
+
Requires-Dist: autoapi>=2.0.1; extra == "doc"
|
|
33
|
+
Requires-Dist: sphinx_rtd_theme~=3.0; extra == "doc"
|
|
34
|
+
Requires-Dist: docutils~=0.21; extra == "doc"
|
|
35
|
+
Requires-Dist: sphinx_design~=0.6.1; extra == "doc"
|
|
32
36
|
Requires-Dist: docutils_stubs~=0.0.22; extra == "doc"
|
|
33
37
|
Requires-Dist: sphinxcontrib-mermaid~=1.0; extra == "doc"
|
|
34
|
-
Requires-Dist: sphinx_autodoc_typehints~=2.5; extra == "doc"
|
|
35
38
|
Requires-Dist: sphinx_reports~=0.7; extra == "doc"
|
|
36
|
-
Requires-Dist: pyTooling~=8.0; extra == "doc"
|
|
37
|
-
Requires-Dist: autoapi>=2.0.1; extra == "doc"
|
|
38
|
-
Requires-Dist: sphinx_design~=0.6.1; extra == "doc"
|
|
39
|
-
Requires-Dist: sphinx_rtd_theme~=3.0.0; extra == "doc"
|
|
40
39
|
Requires-Dist: sphinx-copybutton>=0.5.2; extra == "doc"
|
|
40
|
+
Requires-Dist: sphinx_autodoc_typehints~=3.0; extra == "doc"
|
|
41
41
|
Requires-Dist: sphinx~=8.1; extra == "doc"
|
|
42
|
-
Requires-Dist:
|
|
42
|
+
Requires-Dist: pyTooling~=8.1; extra == "doc"
|
|
43
43
|
Provides-Extra: test
|
|
44
|
-
Requires-Dist: mypy~=1.
|
|
44
|
+
Requires-Dist: mypy~=1.15; extra == "test"
|
|
45
45
|
Requires-Dist: pytest~=8.3; extra == "test"
|
|
46
|
-
Requires-Dist: lxml~=5.3; extra == "test"
|
|
47
|
-
Requires-Dist: pyTooling~=8.0; extra == "test"
|
|
48
46
|
Requires-Dist: pytest-cov~=6.0; extra == "test"
|
|
49
|
-
Requires-Dist: Coverage~=7.6; extra == "test"
|
|
50
47
|
Requires-Dist: typing_extensions~=4.12; extra == "test"
|
|
48
|
+
Requires-Dist: lxml~=5.3; extra == "test"
|
|
49
|
+
Requires-Dist: pyTooling~=8.1; extra == "test"
|
|
50
|
+
Requires-Dist: Coverage~=7.6; extra == "test"
|
|
51
51
|
Provides-Extra: all
|
|
52
|
+
Requires-Dist: autoapi>=2.0.1; extra == "all"
|
|
53
|
+
Requires-Dist: sphinx_rtd_theme~=3.0; extra == "all"
|
|
54
|
+
Requires-Dist: docutils~=0.21; extra == "all"
|
|
55
|
+
Requires-Dist: sphinx_design~=0.6.1; extra == "all"
|
|
56
|
+
Requires-Dist: mypy~=1.15; extra == "all"
|
|
57
|
+
Requires-Dist: pytest~=8.3; extra == "all"
|
|
52
58
|
Requires-Dist: docutils_stubs~=0.0.22; extra == "all"
|
|
53
|
-
Requires-Dist: mypy~=1.13; extra == "all"
|
|
54
59
|
Requires-Dist: sphinxcontrib-mermaid~=1.0; extra == "all"
|
|
55
|
-
Requires-Dist:
|
|
60
|
+
Requires-Dist: sphinx_reports~=0.7; extra == "all"
|
|
56
61
|
Requires-Dist: sphinx-copybutton>=0.5.2; extra == "all"
|
|
62
|
+
Requires-Dist: sphinx_autodoc_typehints~=3.0; extra == "all"
|
|
63
|
+
Requires-Dist: pytest-cov~=6.0; extra == "all"
|
|
57
64
|
Requires-Dist: typing_extensions~=4.12; extra == "all"
|
|
65
|
+
Requires-Dist: sphinx~=8.1; extra == "all"
|
|
58
66
|
Requires-Dist: lxml~=5.3; extra == "all"
|
|
59
|
-
Requires-Dist:
|
|
60
|
-
Requires-Dist: pyTooling~=8.0; extra == "all"
|
|
61
|
-
Requires-Dist: autoapi>=2.0.1; extra == "all"
|
|
62
|
-
Requires-Dist: sphinx_design~=0.6.1; extra == "all"
|
|
63
|
-
Requires-Dist: sphinx_rtd_theme~=3.0.0; extra == "all"
|
|
64
|
-
Requires-Dist: pytest-cov~=6.0; extra == "all"
|
|
67
|
+
Requires-Dist: pyTooling~=8.1; extra == "all"
|
|
65
68
|
Requires-Dist: Coverage~=7.6; extra == "all"
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
+
Dynamic: author
|
|
70
|
+
Dynamic: author-email
|
|
71
|
+
Dynamic: classifier
|
|
72
|
+
Dynamic: description
|
|
73
|
+
Dynamic: description-content-type
|
|
74
|
+
Dynamic: home-page
|
|
75
|
+
Dynamic: keywords
|
|
76
|
+
Dynamic: license
|
|
77
|
+
Dynamic: project-url
|
|
78
|
+
Dynamic: provides-extra
|
|
79
|
+
Dynamic: requires-dist
|
|
80
|
+
Dynamic: requires-python
|
|
81
|
+
Dynamic: summary
|
|
69
82
|
|
|
70
83
|
<p align="center">
|
|
71
84
|
<a title="vhdl.github.io/pyVHDLModel" href="https://vhdl.github.io/pyVHDLModel"><img height="80px" src="doc/_static/logo.svg"/></a>
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
pyTooling~=8.
|
|
1
|
+
pyTooling~=8.1
|
|
2
2
|
|
|
3
3
|
[all]
|
|
4
|
+
autoapi>=2.0.1
|
|
5
|
+
sphinx_rtd_theme~=3.0
|
|
6
|
+
docutils~=0.21
|
|
7
|
+
sphinx_design~=0.6.1
|
|
8
|
+
mypy~=1.15
|
|
9
|
+
pytest~=8.3
|
|
4
10
|
docutils_stubs~=0.0.22
|
|
5
|
-
mypy~=1.13
|
|
6
11
|
sphinxcontrib-mermaid~=1.0
|
|
7
|
-
|
|
12
|
+
sphinx_reports~=0.7
|
|
8
13
|
sphinx-copybutton>=0.5.2
|
|
14
|
+
sphinx_autodoc_typehints~=3.0
|
|
15
|
+
pytest-cov~=6.0
|
|
9
16
|
typing_extensions~=4.12
|
|
17
|
+
sphinx~=8.1
|
|
10
18
|
lxml~=5.3
|
|
11
|
-
|
|
12
|
-
pyTooling~=8.0
|
|
13
|
-
autoapi>=2.0.1
|
|
14
|
-
sphinx_design~=0.6.1
|
|
15
|
-
sphinx_rtd_theme~=3.0.0
|
|
16
|
-
pytest-cov~=6.0
|
|
19
|
+
pyTooling~=8.1
|
|
17
20
|
Coverage~=7.6
|
|
18
|
-
sphinx_autodoc_typehints~=2.5
|
|
19
|
-
sphinx~=8.1
|
|
20
|
-
docutils~=0.21
|
|
21
21
|
|
|
22
22
|
[doc]
|
|
23
|
+
autoapi>=2.0.1
|
|
24
|
+
sphinx_rtd_theme~=3.0
|
|
25
|
+
docutils~=0.21
|
|
26
|
+
sphinx_design~=0.6.1
|
|
23
27
|
docutils_stubs~=0.0.22
|
|
24
28
|
sphinxcontrib-mermaid~=1.0
|
|
25
|
-
sphinx_autodoc_typehints~=2.5
|
|
26
29
|
sphinx_reports~=0.7
|
|
27
|
-
pyTooling~=8.0
|
|
28
|
-
autoapi>=2.0.1
|
|
29
|
-
sphinx_design~=0.6.1
|
|
30
|
-
sphinx_rtd_theme~=3.0.0
|
|
31
30
|
sphinx-copybutton>=0.5.2
|
|
31
|
+
sphinx_autodoc_typehints~=3.0
|
|
32
32
|
sphinx~=8.1
|
|
33
|
-
|
|
33
|
+
pyTooling~=8.1
|
|
34
34
|
|
|
35
35
|
[test]
|
|
36
|
-
mypy~=1.
|
|
36
|
+
mypy~=1.15
|
|
37
37
|
pytest~=8.3
|
|
38
|
-
lxml~=5.3
|
|
39
|
-
pyTooling~=8.0
|
|
40
38
|
pytest-cov~=6.0
|
|
41
|
-
Coverage~=7.6
|
|
42
39
|
typing_extensions~=4.12
|
|
40
|
+
lxml~=5.3
|
|
41
|
+
pyTooling~=8.1
|
|
42
|
+
Coverage~=7.6
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
[build-system]
|
|
2
2
|
requires = [
|
|
3
|
-
"setuptools ~= 75.
|
|
3
|
+
"setuptools ~= 75.8",
|
|
4
4
|
"wheel ~= 0.45",
|
|
5
|
-
"pyTooling ~= 8.
|
|
5
|
+
"pyTooling ~= 8.1"
|
|
6
6
|
]
|
|
7
7
|
build-backend = "setuptools.build_meta"
|
|
8
8
|
|
|
@@ -20,6 +20,9 @@ show_error_codes = true
|
|
|
20
20
|
namespace_packages = true
|
|
21
21
|
html_report = "report/typing"
|
|
22
22
|
|
|
23
|
+
[tool.pytest]
|
|
24
|
+
junit_xml = "report/unit/TestReportSummary.xml"
|
|
25
|
+
|
|
23
26
|
[tool.pytest.ini_options]
|
|
24
27
|
addopts = "--tb=native"
|
|
25
28
|
# Don't set 'python_classes = *' otherwise, pytest doesn't search for classes
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
# License: #
|
|
13
13
|
# ==================================================================================================================== #
|
|
14
|
-
# Copyright 2017-
|
|
14
|
+
# Copyright 2017-2025 Patrick Lehmann - Boetzingen, Germany #
|
|
15
15
|
# Copyright 2016-2017 Patrick Lehmann - Dresden, Germany #
|
|
16
16
|
# #
|
|
17
17
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|