aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/synth-environment.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/synth/synth-environment.adb')
-rw-r--r--src/synth/synth-environment.adb13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/synth/synth-environment.adb b/src/synth/synth-environment.adb
index d6b48ec88..bd68aa39f 100644
--- a/src/synth/synth-environment.adb
+++ b/src/synth/synth-environment.adb
@@ -770,12 +770,19 @@ package body Synth.Environment is
function Is_Tribuf_Net (N : Net) return Boolean
is
use Netlists.Gates;
+ Inst : constant Instance := Get_Net_Parent (N);
begin
- case Get_Id (Get_Net_Parent (N)) is
+ case Get_Id (Inst) is
when Id_Tri
- | Id_Resolver
- | Id_Port =>
+ | Id_Resolver
+ | Id_Const_Z =>
+ return True;
+ when Id_Port =>
+ -- We don't know, so assume yes.
return True;
+ when Id_Signal
+ | Id_Isignal =>
+ return Is_Tribuf_Net (Get_Input_Net (Inst, 0));
when others =>
return False;
end case;