summaryrefslogtreecommitdiffstats
path: root/src/base/ver/verCore.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/ver/verCore.c')
-rw-r--r--src/base/ver/verCore.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/base/ver/verCore.c b/src/base/ver/verCore.c
index aa213010..c318545b 100644
--- a/src/base/ver/verCore.c
+++ b/src/base/ver/verCore.c
@@ -2042,6 +2042,11 @@ int Ver_ParseConnectBox( Ver_Man_t * pMan, Abc_Obj_t * pBox )
assert( !Ver_ObjIsConnected(pBox) );
assert( Ver_NtkIsDefined(pNtkBox) );
assert( !Abc_NtkHasBlackbox(pNtkBox) || Abc_NtkBoxNum(pNtkBox) == 1 );
+
+ if ( !strcmp(pNtkBox->pName,"add_4u_4u") )
+ {
+ int s = 0;
+ }
/*
// clean the PI/PO nets
Abc_NtkForEachPi( pNtkBox, pTerm, i )
@@ -2134,7 +2139,7 @@ int Ver_ParseConnectBox( Ver_Man_t * pMan, Abc_Obj_t * pBox )
if ( Length > 0 )
{
Vec_PtrForEachEntry( vBundles, pBundle, j )
- if ( !strncmp(pBundle->pNameFormal, pNameFormal, Length) )
+ if ( !strncmp(pBundle->pNameFormal, pNameFormal, Length) && (int)strlen(pBundle->pNameFormal) == Length )
break;
if ( j == Vec_PtrSize(vBundles) )
pBundle = NULL;
@@ -2185,7 +2190,7 @@ int Ver_ParseConnectBox( Ver_Man_t * pMan, Abc_Obj_t * pBox )
if ( Length > 0 )
{
Vec_PtrForEachEntry( vBundles, pBundle, j )
- if ( !strncmp(pBundle->pNameFormal, pNameFormal, Length) )
+ if ( !strncmp(pBundle->pNameFormal, pNameFormal, Length) && (int)strlen(pBundle->pNameFormal) == Length )
break;
if ( j == Vec_PtrSize(vBundles) )
pBundle = NULL;
@@ -2193,8 +2198,14 @@ int Ver_ParseConnectBox( Ver_Man_t * pMan, Abc_Obj_t * pBox )
}
if ( pBundle == NULL )
{
+ char Buffer[1000];
// printf( "Warning: The formal output %s is not driven when instantiating network %s in box %s.",
// pNameFormal, pNtkBox->pName, Abc_ObjName(pBox) );
+ pTermNew = Abc_NtkCreateBo( pNtk );
+ sprintf( Buffer, "_temp_net%d", Abc_ObjId(pTermNew) );
+ pNetAct = Abc_NtkFindOrCreateNet( pNtk, Buffer );
+ Abc_ObjAddFanin( pTermNew, pBox );
+ Abc_ObjAddFanin( pNetAct, pTermNew );
continue;
}
}