aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/synth-oper.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/synth/synth-oper.adb')
-rw-r--r--src/synth/synth-oper.adb19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/synth/synth-oper.adb b/src/synth/synth-oper.adb
index 0ff03d6a7..80504713e 100644
--- a/src/synth/synth-oper.adb
+++ b/src/synth/synth-oper.adb
@@ -1092,6 +1092,25 @@ package body Synth.Oper is
end if;
case Def is
+ when Iir_Predefined_Ieee_1164_Rising_Edge =>
+ declare
+ Clk : Net;
+ Edge : Net;
+ begin
+ Clk := Get_Net (Get_Value (Subprg_Inst, Param1));
+ Edge := Build_Edge (Build_Context, Clk);
+ return Create_Value_Net (Edge, Boolean_Type);
+ end;
+ when Iir_Predefined_Ieee_1164_Falling_Edge =>
+ declare
+ Clk : Net;
+ Edge : Net;
+ begin
+ Clk := Get_Net (Get_Value (Subprg_Inst, Param1));
+ Clk := Build_Monadic (Build_Context, Id_Not, Clk);
+ Edge := Build_Edge (Build_Context, Clk);
+ return Create_Value_Net (Edge, Boolean_Type);
+ end;
when Iir_Predefined_Ieee_1164_To_Bitvector =>
declare
L : constant Value_Acc := Get_Value (Subprg_Inst, Param1);