aboutsummaryrefslogtreecommitdiffstats
path: root/pyGHDL/dom/InterfaceItem.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyGHDL/dom/InterfaceItem.py')
-rw-r--r--pyGHDL/dom/InterfaceItem.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/pyGHDL/dom/InterfaceItem.py b/pyGHDL/dom/InterfaceItem.py
new file mode 100644
index 000000000..0833c2547
--- /dev/null
+++ b/pyGHDL/dom/InterfaceItem.py
@@ -0,0 +1,33 @@
+from pydecor import export
+
+from pyVHDLModel.VHDLModel import PortSignalInterfaceItem as VHDLModel_PortSignalInterfaceItem
+from pyVHDLModel.VHDLModel import GenericConstantInterfaceItem as VHDLModel_GenericConstantInterfaceItem
+
+from pyGHDL.dom.Common import GHDLMixin
+
+__all__ = []
+__api__ = __all__
+
+
+@export
+class GenericConstantInterfaceItem(VHDLModel_GenericConstantInterfaceItem, GHDLMixin):
+ @classmethod
+ def parse(cls, generic):
+ name = cls._ghdlNodeToName(generic)
+ mode = cls._ghdlPortToMode(generic)
+
+ generic = cls(name, mode)
+
+ return generic
+
+
+@export
+class PortSignalInterfaceItem(VHDLModel_PortSignalInterfaceItem, GHDLMixin):
+ @classmethod
+ def parse(cls, port):
+ name = cls._ghdlNodeToName(port)
+ mode = cls._ghdlPortToMode(port)
+
+ port = cls(name, mode)
+
+ return port