aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/synth-vhdl_expr.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/synth/synth-vhdl_expr.adb')
-rw-r--r--src/synth/synth-vhdl_expr.adb8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/synth/synth-vhdl_expr.adb b/src/synth/synth-vhdl_expr.adb
index d5a0e98fa..c4bd18868 100644
--- a/src/synth/synth-vhdl_expr.adb
+++ b/src/synth/synth-vhdl_expr.adb
@@ -812,6 +812,8 @@ package body Synth.Vhdl_Expr is
Obj := Elab.Vhdl_Heap.Synth_Dereference (Acc);
return Create_Value_Memtyp (Obj);
end;
+ when Iir_Kind_Psl_Endpoint_Declaration =>
+ return Synth_Expression (Syn_Inst, Name);
when others =>
Error_Kind ("synth_name", Name);
end case;
@@ -2621,6 +2623,12 @@ package body Synth.Vhdl_Expr is
end if;
Error_Msg_Synth (Syn_Inst, Expr, "dot attribute not allowed");
return No_Valtyp;
+ when Iir_Kind_Psl_Endpoint_Declaration =>
+ if Hook_Endpoint /= null then
+ return Hook_Endpoint (Syn_Inst, Expr);
+ end if;
+ Error_Msg_Synth (Syn_Inst, Expr, "endpoint read not allowed");
+ return No_Valtyp;
when others =>
Error_Kind ("synth_expression_with_type", Expr);
end case;