aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/netlists-utils.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-01-12 17:33:00 +0100
committerTristan Gingold <tgingold@free.fr>2020-01-12 17:33:00 +0100
commitd0c3134c2113527256354644d7cb0df4efc85aac (patch)
tree972672776c4ea5b9658e82409193f88bba5b5a08 /src/synth/netlists-utils.adb
parent090eba96ac739af8557555bba7ec1f31f811c2f0 (diff)
downloadghdl-d0c3134c2113527256354644d7cb0df4efc85aac.tar.gz
ghdl-d0c3134c2113527256354644d7cb0df4efc85aac.tar.bz2
ghdl-d0c3134c2113527256354644d7cb0df4efc85aac.zip
netlists-memories: allow intermediate signals to detect sync read.
Fix #1079
Diffstat (limited to 'src/synth/netlists-utils.adb')
-rw-r--r--src/synth/netlists-utils.adb12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/synth/netlists-utils.adb b/src/synth/netlists-utils.adb
index 59eb086d5..3f9a9fd46 100644
--- a/src/synth/netlists-utils.adb
+++ b/src/synth/netlists-utils.adb
@@ -175,6 +175,18 @@ package body Netlists.Utils is
end case;
end Get_Net_Element;
+ function Skip_Signal (N : Net) return Net
+ is
+ Inst : constant Instance := Get_Net_Parent (N);
+ begin
+ case Get_Id (Inst) is
+ when Id_Signal =>
+ return Get_Input_Net (Inst, 0);
+ when others =>
+ return N;
+ end case;
+ end Skip_Signal;
+
function Is_Connected (O : Net) return Boolean is
begin
return Get_First_Sink (O) /= No_Input;