aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/netlists-cleanup.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-03-07 10:44:17 +0100
committerTristan Gingold <tgingold@free.fr>2020-03-07 10:44:17 +0100
commit87907d6da96eb4bab35e8eb7aabc481e9b32e04c (patch)
tree0c147dad9e4c57e25c2bfff06a6be31eb2b9db65 /src/synth/netlists-cleanup.adb
parent8795c9031088fa5c9e5514bbce804bffd9ed6d6b (diff)
downloadghdl-87907d6da96eb4bab35e8eb7aabc481e9b32e04c.tar.gz
ghdl-87907d6da96eb4bab35e8eb7aabc481e9b32e04c.tar.bz2
ghdl-87907d6da96eb4bab35e8eb7aabc481e9b32e04c.zip
synthesis: handle initialized output ports.
Diffstat (limited to 'src/synth/netlists-cleanup.adb')
-rw-r--r--src/synth/netlists-cleanup.adb7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/synth/netlists-cleanup.adb b/src/synth/netlists-cleanup.adb
index d95267c88..991ca3ad7 100644
--- a/src/synth/netlists-cleanup.adb
+++ b/src/synth/netlists-cleanup.adb
@@ -126,6 +126,7 @@ package body Netlists.Cleanup is
case Get_Id (Inst) is
when Id_Output
+ | Id_Ioutput
| Id_Port =>
declare
Inp : Input;
@@ -142,6 +143,12 @@ package body Netlists.Cleanup is
else
Disconnect (Get_First_Sink (O));
end if;
+
+ if Get_Id (Inst) = Id_Ioutput then
+ -- Disconnect the initial value.
+ Disconnect (Get_Input (Inst, 1));
+ end if;
+
Remove_Instance (Inst);
end;
when others =>