From 2c73723b740f45da91eadab1677cfadb286e148d Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sun, 26 Aug 2018 19:01:20 +0700 Subject: Skip non-driven nodes during DFS. --- src/base/wlc/wlcNdr.c | 1 + src/base/wlc/wlcNtk.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/base/wlc/wlcNdr.c b/src/base/wlc/wlcNdr.c index 5f3bc12a..1adae429 100644 --- a/src/base/wlc/wlcNdr.c +++ b/src/base/wlc/wlcNdr.c @@ -469,6 +469,7 @@ Wlc_Ntk_t * Wlc_NtkFromNdr( void * pData ) assert( !fFound && i == NameId ); } //Ndr_NtkPrintNodes( pNtk ); + //Wlc_WriteVer( pNtk, "temp_ndr.v", 0, 0 ); // derive topological order pNtk = Wlc_NtkDupDfs( pTemp = pNtk, 0, 1 ); Wlc_NtkFree( pTemp ); diff --git a/src/base/wlc/wlcNtk.c b/src/base/wlc/wlcNtk.c index 7f562072..f89bf3d1 100644 --- a/src/base/wlc/wlcNtk.c +++ b/src/base/wlc/wlcNtk.c @@ -866,6 +866,8 @@ void Wlc_NtkDupDfs_rec( Wlc_Ntk_t * pNew, Wlc_Ntk_t * p, int iObj, Vec_Int_t * v { Wlc_Obj_t * pObj; int i, iFanin; + if ( iObj == 0 ) + return; if ( Wlc_ObjCopy(p, iObj) ) return; //printf( "Visiting node %d\n", iObj ); -- cgit v1.2.3