diff options
author | Tristan Gingold <tgingold@free.fr> | 2023-02-08 16:51:36 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2023-02-08 16:51:36 +0100 |
commit | 7a0759479a991ab9ec1e2716f34b738a0286fa9a (patch) | |
tree | b81963b9d81e89caff59b88d5f1dd5e27d044b3b | |
parent | 5c18960e811ace9ad7418e452c4d5c802ad30e2f (diff) | |
download | ghdl-7a0759479a991ab9ec1e2716f34b738a0286fa9a.tar.gz ghdl-7a0759479a991ab9ec1e2716f34b738a0286fa9a.tar.bz2 ghdl-7a0759479a991ab9ec1e2716f34b738a0286fa9a.zip |
synth: preliminary work for PSL endpoints
-rw-r--r-- | src/synth/synth-vhdl_stmts.adb | 17 | ||||
-rw-r--r-- | src/vhdl/vhdl-nodes_walk.adb | 3 |
2 files changed, 19 insertions, 1 deletions
diff --git a/src/synth/synth-vhdl_stmts.adb b/src/synth/synth-vhdl_stmts.adb index fcf4fb498..a61137cdd 100644 --- a/src/synth/synth-vhdl_stmts.adb +++ b/src/synth/synth-vhdl_stmts.adb @@ -4695,6 +4695,21 @@ package body Synth.Vhdl_Stmts is end if; end Synth_Psl_Assert_Directive; + procedure Synth_Psl_Endpoint_Declaration + (Syn_Inst : Synth_Instance_Acc; Stmt : Node) + is + pragma Unreferenced (Syn_Inst, Stmt); + begin + if not Flags.Flag_Formal then + return; + end if; + + -- TODO + -- Mutate object to a net + -- Assign the net. + raise Internal_Error; + end Synth_Psl_Endpoint_Declaration; + procedure Synth_Generate_Statement_Body (Syn_Inst : Synth_Instance_Acc; Bod : Node) is @@ -4990,6 +5005,8 @@ package body Synth.Vhdl_Stmts is Synth_Psl_Restrict_Directive (Syn_Inst, Item); when Iir_Kind_Psl_Cover_Directive => Synth_Psl_Cover_Directive (Syn_Inst, Item); + when Iir_Kind_Psl_Endpoint_Declaration => + Synth_Psl_Endpoint_Declaration (Syn_Inst, Item); when Iir_Kind_Signal_Declaration | Iir_Kind_Constant_Declaration | Iir_Kind_Function_Declaration diff --git a/src/vhdl/vhdl-nodes_walk.adb b/src/vhdl/vhdl-nodes_walk.adb index 63deb3b53..b3215236d 100644 --- a/src/vhdl/vhdl-nodes_walk.adb +++ b/src/vhdl/vhdl-nodes_walk.adb @@ -159,7 +159,8 @@ package body Vhdl.Nodes_Walk is | Iir_Kind_Component_Instantiation_Statement | Iir_Kinds_Simultaneous_Statement | Iir_Kind_Psl_Default_Clock - | Iir_Kind_Psl_Declaration => + | Iir_Kind_Psl_Declaration + | Iir_Kind_Psl_Endpoint_Declaration => Status := Cb.all (Stmt); when Iir_Kind_Block_Statement => Status := Cb.all (Stmt); |