diff options
author | Patrick Lehmann <Patrick.Lehmann@plc2.de> | 2021-07-27 19:02:10 +0200 |
---|---|---|
committer | umarcor <unai.martinezcorral@ehu.eus> | 2021-08-23 16:35:32 +0200 |
commit | ee933a5fc78353e7a87fe64616b25387fdc12b2b (patch) | |
tree | 61cd6805c9edb2d6d751bea8673fd4c320369b14 /pyGHDL/dom | |
parent | de44ee29acb01edfb429eb88d96f0bb904adefd0 (diff) | |
download | ghdl-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.py | 49 |
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( |