Skip to content

Commit 93bf4b7

Browse files
authored
Add missing std_logic_misc pkg to IEEE library.
2 parents 37e5416 + e277c9c commit 93bf4b7

File tree

3 files changed

+35
-1
lines changed

3 files changed

+35
-1
lines changed

pyVHDLModel/IEEE.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@ class Ieee(PredefinedLibrary):
4040
def __init__(self):
4141
super().__init__(PACKAGES)
4242

43+
def LoadSynopsysPackages(self):
44+
self.AddPackages(PACKAGES_SYNOPSYS)
45+
46+
4347

4448
@export
4549
class Math_Real(PredefinedPackage):
@@ -84,6 +88,18 @@ def __init__(self):
8488
self._AddPackageClause(("IEEE.std_logic_1164.all", ))
8589

8690

91+
class Std_logic_misc(PredefinedPackage):
92+
def __init__(self):
93+
super().__init__()
94+
95+
self._AddLibraryClause(("IEEE", ))
96+
self._AddPackageClause(("IEEE.std_logic_1164.all", ))
97+
98+
99+
class Std_logic_misc_Body(PredefinedPackageBody):
100+
pass
101+
102+
87103
class Numeric_Bit(PredefinedPackage):
88104
def __init__(self):
89105
super().__init__()
@@ -119,7 +135,6 @@ def __init__(self):
119135
class Numeric_Std_Body(PredefinedPackageBody):
120136
pass
121137

122-
123138
class Numeric_Std_Unsigned(PredefinedPackage):
124139
def __init__(self):
125140
super().__init__()
@@ -203,3 +218,7 @@ def __init__(self):
203218
(Float_Generic_Pkg, Float_Generic_Pkg_Body),
204219
(Float_Pkg, None),
205220
)
221+
222+
PACKAGES_SYNOPSYS = (
223+
(Std_logic_misc, Std_logic_misc_Body),
224+
)

pyVHDLModel/STD.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ class PredefinedLibrary(Library):
4444
def __init__(self, packages):
4545
super().__init__(self.__class__.__name__)
4646

47+
self.AddPackages(packages)
48+
49+
def AddPackages(self, packages):
4750
for packageType, packageBodyType in packages:
4851
package: Package = packageType()
4952
package.Library = self

tests/unit/Instantiate.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -432,3 +432,15 @@ def test_IeeeLibrary(self):
432432
self.assertEqual(9, len(ieeeLibrary.PackageBodies))
433433

434434
self.assertSetEqual(set(design.IterateDesignUnits()), set(ieeeLibrary.IterateDesignUnits()))
435+
436+
def test_IeeeSynopsysLibrary(self):
437+
design = Design()
438+
ieeeLibrary = design.LoadIEEELibrary()
439+
ieeeLibrary.LoadSynopsysPackages()
440+
441+
self.assertEqual(1, len(design.Libraries))
442+
self.assertEqual("ieee", ieeeLibrary.NormalizedIdentifier)
443+
self.assertEqual(14, len(ieeeLibrary.Packages))
444+
self.assertEqual(10, len(ieeeLibrary.PackageBodies))
445+
446+
self.assertSetEqual(set(design.IterateDesignUnits()), set(ieeeLibrary.IterateDesignUnits()))

0 commit comments

Comments
 (0)