aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2021-12-06 20:47:04 +0100
committerTristan Gingold <tgingold@free.fr>2021-12-06 20:47:54 +0100
commit88425cb365578cacd46939d93f837b2ac7b0d5e8 (patch)
tree2814506e2fd3ea50a5774b04faf53725f18fb82c /src/synth
parentc7943754f3fbab8e61fed389f4c3f3918ec37332 (diff)
downloadghdl-88425cb365578cacd46939d93f837b2ac7b0d5e8.tar.gz
ghdl-88425cb365578cacd46939d93f837b2ac7b0d5e8.tar.bz2
ghdl-88425cb365578cacd46939d93f837b2ac7b0d5e8.zip
synth: add --latches option to enable latches. Fix #938
Diffstat (limited to 'src/synth')
-rw-r--r--src/synth/netlists-inference.adb6
-rw-r--r--src/synth/netlists-inference.ads3
2 files changed, 8 insertions, 1 deletions
diff --git a/src/synth/netlists-inference.adb b/src/synth/netlists-inference.adb
index 6da07e19a..383211684 100644
--- a/src/synth/netlists-inference.adb
+++ b/src/synth/netlists-inference.adb
@@ -780,7 +780,11 @@ package body Netlists.Inference is
else
Name := Get_Instance_Name (Get_Net_Parent (Prev_Val));
end if;
- Error_Msg_Synth (Loc, "latch infered for net %n", +Name);
+
+ if not Flag_Latches then
+ Error_Msg_Synth
+ (Loc, "latch infered for net %n (use --latches)", +Name);
+ end if;
return Val;
end Infere_Latch;
diff --git a/src/synth/netlists-inference.ads b/src/synth/netlists-inference.ads
index 61eab9fb2..ae671a0ac 100644
--- a/src/synth/netlists-inference.ads
+++ b/src/synth/netlists-inference.ads
@@ -20,6 +20,9 @@ with Netlists; use Netlists;
with Netlists.Builders; use Netlists.Builders;
package Netlists.Inference is
+ -- If True, latches are allowed.
+ Flag_Latches : Boolean := False;
+
-- Walk the And-net N, and extract clock (posedge/negedge) if found.
-- ENABLE is N without the clock.
-- If not found, CLK and ENABLE are set to No_Net.