diff options
Diffstat (limited to 'src/synth/netlists-builders.adb')
-rw-r--r-- | src/synth/netlists-builders.adb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/synth/netlists-builders.adb b/src/synth/netlists-builders.adb index f52ac4f56..d0106b10b 100644 --- a/src/synth/netlists-builders.adb +++ b/src/synth/netlists-builders.adb @@ -333,6 +333,17 @@ package body Netlists.Builders is Outputs); end Create_Dff_Modules; + procedure Create_Assert (Ctxt : Context_Acc) + is + Outputs : Port_Desc_Array (1 .. 0); + begin + Ctxt.M_Assert := New_User_Module + (Ctxt.Design, New_Sname_Artificial (Name_Assert), Id_Assert, + 1, 0, 0); + Set_Port_Desc (Ctxt.M_Assert, (0 => Create_Input ("cond", 1)), + Outputs); + end Create_Assert; + function Build_Builders (Design : Module) return Context_Acc is Res : Context_Acc; @@ -403,6 +414,8 @@ package body Netlists.Builders is Create_Objects_Module (Res); Create_Dff_Modules (Res); + Create_Assert (Res); + return Res; end Build_Builders; @@ -843,4 +856,12 @@ package body Netlists.Builders is return Build_Extract (Ctxt, I, Off, 1); end Build_Extract_Bit; + procedure Build_Assert (Ctxt : Context_Acc; Cond : Net) + is + Inst : Instance; + begin + Inst := New_Internal_Instance (Ctxt, Ctxt.M_Assert); + Connect (Get_Input (Inst, 0), Cond); + end Build_Assert; + end Netlists.Builders; |