From 35b6bdf578aea1a9d9661a18c1974d4e83219767 Mon Sep 17 00:00:00 2001 From: Stephen Williams Date: Fri, 2 Oct 2015 11:23:05 -0700 Subject: [PATCH] Don't warning about floating local/internal symbols. --- nodangle.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nodangle.cc b/nodangle.cc index d02882a43..ea5c4d25e 100644 --- a/nodangle.cc +++ b/nodangle.cc @@ -132,6 +132,7 @@ static bool floating_net_tested(NetNet*sig) static void check_is_floating(NetNet*sig) { + // Some signal types are implicitly driven if nothing else. if (sig->type() == NetNet::SUPPLY0) return; if (sig->type() == NetNet::SUPPLY1) return; if (sig->type() == NetNet::TRI0) return; @@ -139,6 +140,7 @@ static void check_is_floating(NetNet*sig) if (sig->type() == NetNet::IMPLICIT_REG) return; if (sig->type() == NetNet::REG) return ; + // Asignments drive a signal. if (sig->peek_lref() > 0) return; for (unsigned idx = 0 ; idx < sig->pin_count() ; idx += 1) { @@ -173,7 +175,7 @@ void nodangle_f::signal(Design*, NetNet*sig) { if (scomplete) return; - if (warn_floating_nets && !floating_net_tested(sig)) { + if (warn_floating_nets && !sig->local_flag() && !floating_net_tested(sig)) { check_is_floating(sig); }