diff options
| author | Tristan Gingold <tgingold@free.fr> | 2022-07-14 06:36:36 +0200 | 
|---|---|---|
| committer | Tristan Gingold <tgingold@free.fr> | 2022-07-14 06:36:36 +0200 | 
| commit | 73e50b2ce5db5a52bf16c2fd5fc754c054b76b48 (patch) | |
| tree | 6b4c69a90f42d22b4760cf2987e3b22debfb0d1c /src | |
| parent | 462c911391b4265e1a8ee2dc5b99bae8232e2daf (diff) | |
| download | ghdl-73e50b2ce5db5a52bf16c2fd5fc754c054b76b48.tar.gz ghdl-73e50b2ce5db5a52bf16c2fd5fc754c054b76b48.tar.bz2 ghdl-73e50b2ce5db5a52bf16c2fd5fc754c054b76b48.zip  | |
synth: Display dlatch
Diffstat (limited to 'src')
| -rw-r--r-- | src/synth/include/synth_gates.h | 2 | ||||
| -rw-r--r-- | src/synth/netlists-disp_verilog.adb | 4 | ||||
| -rw-r--r-- | src/synth/netlists-disp_vhdl.adb | 5 | 
3 files changed, 9 insertions, 2 deletions
diff --git a/src/synth/include/synth_gates.h b/src/synth/include/synth_gates.h index 78e4a6ef9..20b16ec9b 100644 --- a/src/synth/include/synth_gates.h +++ b/src/synth/include/synth_gates.h @@ -69,7 +69,7 @@ enum Module_Id {     Id_Iadff = 67,     Id_Mdff = 68,     Id_Midff = 69, -   Id_Latch = 70, +   Id_Dlatch = 70,     Id_Tri = 72,     Id_Resolver = 73,     Id_Utrunc = 82, diff --git a/src/synth/netlists-disp_verilog.adb b/src/synth/netlists-disp_verilog.adb index 6bbd87aa3..133959e5f 100644 --- a/src/synth/netlists-disp_verilog.adb +++ b/src/synth/netlists-disp_verilog.adb @@ -941,6 +941,9 @@ package body Netlists.Disp_Verilog is                 Disp_Template ("  initial" & NL &                                "    \o0 = \i2;" & NL, Inst);              end if; +         when Id_Dlatch => +            Disp_Template ("  always @(\i1)" & NL & +                             "    \o0 <= \i0;" & NL, Inst);           when Id_Mux2 =>              Disp_Template ("  assign \o0 = \i0 ? \i2 : \i1;" & NL, Inst);           when Id_Mux4 => @@ -1199,6 +1202,7 @@ package body Netlists.Disp_Verilog is                               | Id_Idff                               | Id_Adff                               | Id_Iadff +                             | Id_Dlatch                               | Id_Isignal =>                                --  As expected                                Put ("  reg "); diff --git a/src/synth/netlists-disp_vhdl.adb b/src/synth/netlists-disp_vhdl.adb index 0b2eb9110..82f8abfc7 100644 --- a/src/synth/netlists-disp_vhdl.adb +++ b/src/synth/netlists-disp_vhdl.adb @@ -1056,7 +1056,10 @@ package body Netlists.Disp_Vhdl is                             "    if \ei0 then" & NL &                             "      \o0 <= \i1;" & NL &                             "    end if;" & NL & -                           "  end process;" & NL, Inst); +                             "  end process;" & NL, Inst); +         when Id_Dlatch => +            Disp_Template +              ("  \o0 <= \i0 when \fi1 = '1' else \o0;" & NL, Inst);           when Id_Mux2 =>              Disp_Template                ("  \o0 <= \i1 when \fi0 = '0' else \i2;" & NL, Inst);  | 
