Skip to content

Commit

Permalink
v0.24.1
Browse files Browse the repository at this point in the history
  • Loading branch information
Paebbels committed Apr 2, 2023
2 parents c897177 + 93d3b59 commit 7590a6c
Show file tree
Hide file tree
Showing 8 changed files with 41 additions and 7 deletions.
4 changes: 2 additions & 2 deletions doc/Dependency.rst
Expand Up @@ -23,7 +23,7 @@ pyVHDLModel Package
+--------------------------------------------------------+-------------+------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
| **Package** | **Version** | **License** | **Dependencies** |
+========================================================+=============+==========================================================================================+=================================================================================================================================+
| `pyTooling <https://GitHub.com/pyTooling/pyTooling>`__ | ≥4.0.0 | `Apache License, 2.0 <https://GitHub.com/pyTooling/pyTooling/blob/master/LICENSE.txt>`__ | *None* |
| `pyTooling <https://GitHub.com/pyTooling/pyTooling>`__ | ≥4.0.1 | `Apache License, 2.0 <https://GitHub.com/pyTooling/pyTooling/blob/master/LICENSE.txt>`__ | *None* |
+--------------------------------------------------------+-------------+------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+


Expand Down Expand Up @@ -125,7 +125,7 @@ install the mandatory dependencies too.
+----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Package** | **Version** | **License** | **Dependencies** |
+============================================================================+==============+==========================================================================================================+======================================================================================================================================================+
| `pyTooling <https://GitHub.com/pyTooling/pyTooling>`__ | ≥4.0.0 | `Apache License, 2.0 <https://GitHub.com/pyTooling/pyTooling/blob/main/LICENSE.md>`__ | *None* |
| `pyTooling <https://GitHub.com/pyTooling/pyTooling>`__ | ≥4.0.1 | `Apache License, 2.0 <https://GitHub.com/pyTooling/pyTooling/blob/main/LICENSE.md>`__ | *None* |
+----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
| `wheel <https://GitHub.com/pypa/wheel>`__ | ≥0.38.1 | `MIT <https://github.com/pypa/wheel/blob/main/LICENSE.txt>`__ | *Not yet evaluated.* |
+----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
Expand Down
2 changes: 1 addition & 1 deletion doc/requirements.txt
@@ -1,6 +1,6 @@
-r ../requirements.txt

pyTooling>=4.0.0, <5.0
pyTooling>=4.0.1, <5.0

# Enforce latest version on ReadTheDocs
sphinx>=5.3.0, <6.0
Expand Down
21 changes: 20 additions & 1 deletion pyVHDLModel/IEEE.py
Expand Up @@ -40,6 +40,10 @@ class Ieee(PredefinedLibrary):
def __init__(self):
super().__init__(PACKAGES)

def LoadSynopsysPackages(self):
self.AddPackages(PACKAGES_SYNOPSYS)



@export
class Math_Real(PredefinedPackage):
Expand Down Expand Up @@ -84,6 +88,18 @@ def __init__(self):
self._AddPackageClause(("IEEE.std_logic_1164.all", ))


class Std_logic_misc(PredefinedPackage):
def __init__(self):
super().__init__()

self._AddLibraryClause(("IEEE", ))
self._AddPackageClause(("IEEE.std_logic_1164.all", ))


class Std_logic_misc_Body(PredefinedPackageBody):
pass


class Numeric_Bit(PredefinedPackage):
def __init__(self):
super().__init__()
Expand Down Expand Up @@ -119,7 +135,6 @@ def __init__(self):
class Numeric_Std_Body(PredefinedPackageBody):
pass


class Numeric_Std_Unsigned(PredefinedPackage):
def __init__(self):
super().__init__()
Expand Down Expand Up @@ -203,3 +218,7 @@ def __init__(self):
(Float_Generic_Pkg, Float_Generic_Pkg_Body),
(Float_Pkg, None),
)

PACKAGES_SYNOPSYS = (
(Std_logic_misc, Std_logic_misc_Body),
)
3 changes: 3 additions & 0 deletions pyVHDLModel/STD.py
Expand Up @@ -44,6 +44,9 @@ class PredefinedLibrary(Library):
def __init__(self, packages):
super().__init__(self.__class__.__name__)

self.AddPackages(packages)

def AddPackages(self, packages):
for packageType, packageBodyType in packages:
package: Package = packageType()
package.Library = self
Expand Down
2 changes: 1 addition & 1 deletion pyVHDLModel/__init__.py
Expand Up @@ -48,7 +48,7 @@
__email__ = "Paebbels@gmail.com"
__copyright__ = "2016-2023, Patrick Lehmann"
__license__ = "Apache License, Version 2.0"
__version__ = "0.24.0"
__version__ = "0.24.1"


from enum import unique, Enum, Flag, auto
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
@@ -1,6 +1,6 @@
[build-system]
requires = [
"pyTooling >= 4.0.0",
"pyTooling >= 4.0.1",
"setuptools >= 62.3.3",
"wheel >= 0.38.1"
]
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
@@ -1 +1 @@
pyTooling>=4.0.0, <5.0
pyTooling>=4.0.1, <5.0
12 changes: 12 additions & 0 deletions tests/unit/Instantiate.py
Expand Up @@ -432,3 +432,15 @@ def test_IeeeLibrary(self):
self.assertEqual(9, len(ieeeLibrary.PackageBodies))

self.assertSetEqual(set(design.IterateDesignUnits()), set(ieeeLibrary.IterateDesignUnits()))

def test_IeeeSynopsysLibrary(self):
design = Design()
ieeeLibrary = design.LoadIEEELibrary()
ieeeLibrary.LoadSynopsysPackages()

self.assertEqual(1, len(design.Libraries))
self.assertEqual("ieee", ieeeLibrary.NormalizedIdentifier)
self.assertEqual(14, len(ieeeLibrary.Packages))
self.assertEqual(10, len(ieeeLibrary.PackageBodies))

self.assertSetEqual(set(design.IterateDesignUnits()), set(ieeeLibrary.IterateDesignUnits()))

0 comments on commit 7590a6c

Please sign in to comment.