aboutsummaryrefslogtreecommitdiffstats
path: root/pyGHDL/dom
diff options
context:
space:
mode:
authorPatrick Lehmann <Patrick.Lehmann@plc2.de>2021-07-27 19:02:10 +0200
committerumarcor <unai.martinezcorral@ehu.eus>2021-08-23 16:35:32 +0200
commitee933a5fc78353e7a87fe64616b25387fdc12b2b (patch)
tree61cd6805c9edb2d6d751bea8673fd4c320369b14 /pyGHDL/dom
parentde44ee29acb01edfb429eb88d96f0bb904adefd0 (diff)
downloadghdl-ee933a5fc78353e7a87fe64616b25387fdc12b2b.tar.gz
ghdl-ee933a5fc78353e7a87fe64616b25387fdc12b2b.tar.bz2
ghdl-ee933a5fc78353e7a87fe64616b25387fdc12b2b.zip
Handle more concurrent statements and report as not implemented yet.
Diffstat (limited to 'pyGHDL/dom')
-rw-r--r--pyGHDL/dom/_Translate.py49
1 files changed, 48 insertions, 1 deletions
diff --git a/pyGHDL/dom/_Translate.py b/pyGHDL/dom/_Translate.py
index eac5476c9..84b99a4a3 100644
--- a/pyGHDL/dom/_Translate.py
+++ b/pyGHDL/dom/_Translate.py
@@ -762,12 +762,36 @@ def GetStatementsFromChainedNodes(
label=label, line=pos.Line
)
)
+ elif kind == nodes.Iir_Kind.Process_Statement:
+ print(
+ "[NOT IMPLEMENTED] Process (label: '{label}') without sensitivity list at line {line}".format(
+ label=label, line=pos.Line
+ )
+ )
elif kind == nodes.Iir_Kind.Concurrent_Simple_Signal_Assignment:
print(
"[NOT IMPLEMENTED] Concurrent (simple) signal assignment (label: '{label}') at line {line}".format(
label=label, line=pos.Line
)
)
+ elif kind == nodes.Iir_Kind.Concurrent_Conditional_Signal_Assignment:
+ print(
+ "[NOT IMPLEMENTED] Concurrent (conditional) signal assignment (label: '{label}') at line {line}".format(
+ label=label, line=pos.Line
+ )
+ )
+ elif kind == nodes.Iir_Kind.Concurrent_Selected_Signal_Assignment:
+ print(
+ "[NOT IMPLEMENTED] Concurrent (selected) signal assignment (label: '{label}') at line {line}".format(
+ label=label, line=pos.Line
+ )
+ )
+ elif kind == nodes.Iir_Kind.Concurrent_Procedure_Call_Statement:
+ print(
+ "[NOT IMPLEMENTED] Concurrent procedure call (label: '{label}') at line {line}".format(
+ label=label, line=pos.Line
+ )
+ )
elif kind == nodes.Iir_Kind.Component_Instantiation_Statement:
instantiatedUnit = nodes.Get_Instantiated_Unit(statement)
instantiatedUnitKind = GetIirKindOfNode(instantiatedUnit)
@@ -818,9 +842,32 @@ def GetStatementsFromChainedNodes(
column=pos.Column,
)
)
-
elif kind == nodes.Iir_Kind.Block_Statement:
yield ConcurrentBlockStatement.parse(statement, label)
+ elif kind == nodes.Iir_Kind.If_Generate_Statement:
+ print(
+ "[NOT IMPLEMENTED] If-generate statement (label: '{label}') at line {line}".format(
+ label=label, line=pos.Line
+ )
+ )
+ elif kind == nodes.Iir_Kind.For_Generate_Statement:
+ print(
+ "[NOT IMPLEMENTED] For-generate statement (label: '{label}') at line {line}".format(
+ label=label, line=pos.Line
+ )
+ )
+ elif kind == nodes.Iir_Kind.Case_Generate_Statement:
+ print(
+ "[NOT IMPLEMENTED] Case-generate statement (label: '{label}') at line {line}".format(
+ label=label, line=pos.Line
+ )
+ )
+ elif kind == nodes.Iir_Kind.Psl_Assert_Directive:
+ print(
+ "[NOT IMPLEMENTED] PSL assert directive (label: '{label}') at line {line}".format(
+ label=label, line=pos.Line
+ )
+ )
else:
raise DOMException(
"Unknown statement of kind '{kind}' in {entity} '{name}' at {file}:{line}:{column}.".format(