diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-05-06 08:19:53 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-05-06 08:19:53 +0200 |
commit | cb5690c37d52124316603f868fb165d15a5e0c8c (patch) | |
tree | 362aabed3a4510f255a496d5acc930ce18d23225 /src/synth/netlists-builders.adb | |
parent | 40531a6c96296ee03a062956673049082527c6bf (diff) | |
download | ghdl-cb5690c37d52124316603f868fb165d15a5e0c8c.tar.gz ghdl-cb5690c37d52124316603f868fb165d15a5e0c8c.tar.bz2 ghdl-cb5690c37d52124316603f868fb165d15a5e0c8c.zip |
synth: add Id_Enable gate (for sequential assertions).
Diffstat (limited to 'src/synth/netlists-builders.adb')
-rw-r--r-- | src/synth/netlists-builders.adb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/synth/netlists-builders.adb b/src/synth/netlists-builders.adb index bd8423dac..34ba4a3f1 100644 --- a/src/synth/netlists-builders.adb +++ b/src/synth/netlists-builders.adb @@ -470,6 +470,12 @@ package body Netlists.Builders is Id_Nop, 1, 1, 0); Set_Ports_Desc (Ctxt.M_Nop, Inputs2 (0 .. 0), Outputs); + Ctxt.M_Enable := New_User_Module + (Ctxt.Design, + New_Sname_Artificial (Get_Identifier ("enable"), No_Sname), + Id_Enable, 1, 1, 0); + Set_Ports_Desc (Ctxt.M_Enable, Inputs2 (0 .. 0), Outputs); + Ctxt.M_Inout := New_User_Module (Ctxt.Design, New_Sname_Artificial (Name_Inout, No_Sname), Id_Inout, 1, 2, 0); @@ -1398,6 +1404,17 @@ package body Netlists.Builders is return O; end Build_Nop; + function Build_Enable (Ctxt : Context_Acc) return Net + is + Inst : Instance; + O : Net; + begin + Inst := New_Internal_Instance (Ctxt, Ctxt.M_Enable); + O := Get_Output (Inst, 0); + Set_Width (O, 1); + return O; + end Build_Enable; + function Build_Dff (Ctxt : Context_Acc; Clk : Net; D : Net) return Net |