48 char Suffix[2000] = {0};
50 Abc_Obj_t * pObj, * pTerm, * pNet, * pFanin;
221 printf(
"Hierarchy reader flattened %d instances of logic boxes and left %d black boxes.\n",
241 printf(
"EXDC is not transformed.\n" );
244 fprintf( stdout,
"Abc_NtkFlattenLogicHierarchy2(): Network check has failed.\n" );
268 Abc_Obj_t * pObj, * pTerm, * pNet, * pFanin;
274 printf(
"Flatting black box \"%s\".\n", pNtk->
pName );
299 sprintf( Buffer,
"(%d)", *pCounter );
466 if ( pBoxModel == NULL )
554 printf(
"Hierarchy reader flattened %d instances of logic boxes and left %d black boxes.\n",
575 printf(
"EXDC is not transformed.\n" );
578 fprintf( stdout,
"Abc_NtkFlattenLogicHierarchy(): Network check has failed.\n" );
601 Abc_Obj_t * pObj, * pNet, * pFanin, * pTerm;
667 fprintf( stdout,
"Abc_NtkConvertBlackboxes(): Network check has failed.\n" );
695 Abc_Obj_t * pObjH, * pObjL, * pNetH, * pNetL, * pTermH;
722 printf(
"Error in Abc_NtkInsertNewLogic(): There is no PI corresponding to the PI %s.\n",
Abc_ObjName(pNetH) );
728 printf(
"Error in Abc_NtkInsertNewLogic(): Primary input %s is repeated twice.\n",
Abc_ObjName(pNetH) );
750 printf(
"Error in Abc_NtkInsertNewLogic(): There is no PI corresponding to the inpout %s of blackbox %s.\n",
Abc_ObjName(pNetH),
Abc_ObjName(pObjH) );
756 printf(
"Error in Abc_NtkInsertNewLogic(): Box output %s is repeated twice.\n",
Abc_ObjName(pNetH) );
772 printf(
"Error in Abc_NtkInsertNewLogic(): There is no PO corresponding to the PO %s.\n",
Abc_ObjName(pNetH) );
792 printf(
"There is no PO corresponding to the input %s of blackbox %s.\n",
Abc_ObjName(pNetH),
Abc_ObjName(pObjH) );
830 fprintf( stdout,
"Abc_NtkInsertNewLogic(): Network check has failed.\n" );
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
void Nm_ManDeleteIdName(Nm_Man_t *p, int ObjId)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
ABC_DLL void Abc_NtkStartMvVars(Abc_Ntk_t *pNtk)
DECLARATIONS ///.
static int Abc_NtkIsNetlist(Abc_Ntk_t *pNtk)
static char * Vec_StrArray(Vec_Str_t *p)
static int Abc_ObjIsLatch(Abc_Obj_t *pObj)
Abc_Ntk_t * Abc_NtkInsertNewLogic(Abc_Ntk_t *pNtkH, Abc_Ntk_t *pNtkL)
static int Abc_ObjFanoutNum(Abc_Obj_t *pObj)
static int Abc_NtkBoxNum(Abc_Ntk_t *pNtk)
#define Abc_NtkForEachLatchOutput(pNtk, pObj, i)
static void * Abc_NtkMvVar(Abc_Ntk_t *pNtk)
static void Abc_NodeSetTravIdPrevious(Abc_Obj_t *p)
static int Abc_ObjFaninNum(Abc_Obj_t *pObj)
ABC_DLL Abc_Obj_t * Abc_NtkDupObj(Abc_Ntk_t *pNtkNew, Abc_Obj_t *pObj, int fCopyName)
static void Vec_PtrSort(Vec_Ptr_t *p, int(*Vec_PtrSortCompare)()) ___unused
static int Abc_ObjIsPi(Abc_Obj_t *pObj)
#define Abc_NtkForEachCo(pNtk, pCo, i)
ABC_DLL int Abc_NtkCheck(Abc_Ntk_t *pNtk)
FUNCTION DEFINITIONS ///.
ABC_DLL char * Abc_ObjAssignName(Abc_Obj_t *pObj, char *pName, char *pSuffix)
static Vec_Str_t * Vec_StrAlloc(int nCap)
ABC_NAMESPACE_IMPL_START void Abc_NtkFlattenLogicHierarchy2_rec(Abc_Ntk_t *pNtkNew, Abc_Ntk_t *pNtk, int *pCounter)
DECLARATIONS ///.
static int Abc_NtkHasBlifMv(Abc_Ntk_t *pNtk)
static int Abc_NtkWhiteboxNum(Abc_Ntk_t *pNtk)
static void Vec_StrPush(Vec_Str_t *p, char Entry)
static int Vec_PtrSize(Vec_Ptr_t *p)
static Abc_Obj_t * Abc_ObjFanin0(Abc_Obj_t *pObj)
Abc_Ntk_t * Abc_NtkFlattenLogicHierarchy2(Abc_Ntk_t *pNtk)
static int Vec_PtrFind(Vec_Ptr_t *p, void *Entry)
void Abc_NtkFlattenLogicHierarchy_rec(Abc_Ntk_t *pNtkNew, Abc_Ntk_t *pNtk, int *pCounter, Vec_Str_t *vPref)
ABC_DLL void Abc_NtkDelete(Abc_Ntk_t *pNtk)
static char Vec_StrPop(Vec_Str_t *p)
ABC_DLL void Abc_ObjAddFanin(Abc_Obj_t *pObj, Abc_Obj_t *pFanin)
ABC_DLL Abc_Ntk_t * Abc_NtkAlloc(Abc_NtkType_t Type, Abc_NtkFunc_t Func, int fUseMemMan)
DECLARATIONS ///.
Abc_Ntk_t * Abc_NtkFlattenLogicHierarchy(Abc_Ntk_t *pNtk)
static int Abc_NtkNodeNum(Abc_Ntk_t *pNtk)
static Vec_Int_t * Vec_IntStart(int nSize)
ABC_DLL Abc_Obj_t * Abc_NtkDupBox(Abc_Ntk_t *pNtkNew, Abc_Obj_t *pBox, int fCopyName)
static int Abc_NtkHasBlackbox(Abc_Ntk_t *pNtk)
static void Vec_IntAddToEntry(Vec_Int_t *p, int i, int Addition)
static void Vec_StrFree(Vec_Str_t *p)
int Abc_NtkCompareNames(Abc_Ntk_t **p1, Abc_Ntk_t **p2)
ABC_DLL char * Abc_ObjNamePrefix(Abc_Obj_t *pObj, char *pPrefix)
#define Abc_NtkForEachBlackbox(pNtk, pObj, i)
#define ABC_NAMESPACE_IMPL_END
ABC_DLL Abc_Obj_t * Abc_NtkFindNet(Abc_Ntk_t *pNtk, char *pName)
static void Vec_IntFill(Vec_Int_t *p, int nSize, int Fill)
Abc_Des_t * Abc_DesDupBlackboxes(Abc_Des_t *p, Abc_Ntk_t *pNtkSave)
char * Nm_ManFindNameById(Nm_Man_t *p, int ObjId)
void Abc_NtkPrintBoxInfo(Abc_Ntk_t *pNtk)
#define Abc_NtkForEachNet(pNtk, pNet, i)
static void Vec_StrShrink(Vec_Str_t *p, int nSizeNew)
Abc_Ntk_t * Abc_NtkConvertBlackboxes(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_NtkCreatePi(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Obj_t * Abc_NtkFindOrCreateNet(Abc_Ntk_t *pNtk, char *pName)
#define Abc_NtkForEachBox(pNtk, pObj, i)
static void Vec_PtrWriteEntry(Vec_Ptr_t *p, int i, void *Entry)
static Abc_Obj_t * Abc_NtkBox(Abc_Ntk_t *pNtk, int i)
#define ABC_NAMESPACE_IMPL_START
static void * Vec_PtrEntry(Vec_Ptr_t *p, int i)
static int Vec_StrSize(Vec_Str_t *p)
ABC_DLL void Abc_NtkSetMvVarValues(Abc_Obj_t *pObj, int nValues)
static int Abc_NodeIsTravIdCurrent(Abc_Obj_t *p)
static int Vec_IntSize(Vec_Int_t *p)
#define Abc_ObjForEachFanout(pObj, pFanout, i)
static char * Abc_NtkName(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_NtkPo(Abc_Ntk_t *pNtk, int i)
#define Abc_NtkForEachCi(pNtk, pCi, i)
static int Abc_NtkPoNum(Abc_Ntk_t *pNtk)
#define Abc_ObjForEachFanin(pObj, pFanin, i)
static int Abc_NtkPiNum(Abc_Ntk_t *pNtk)
ABC_DLL char * Abc_ObjName(Abc_Obj_t *pNode)
DECLARATIONS ///.
static void Abc_NtkIncrementTravId(Abc_Ntk_t *p)
#define Abc_NtkForEachLatchInput(pNtk, pObj, i)
static int Abc_ObjIsNet(Abc_Obj_t *pObj)
static int Abc_ObjMvVarNum(Abc_Obj_t *pObj)
static int Abc_ObjIsPo(Abc_Obj_t *pObj)
ABC_DLL void Abc_NtkCleanCopy(Abc_Ntk_t *pNtk)
static void Vec_StrPrintStr(Vec_Str_t *p, const char *pStr)
static Abc_Obj_t * Abc_NtkPi(Abc_Ntk_t *pNtk, int i)
#define Abc_NtkForEachPo(pNtk, pPo, i)
static int Abc_NtkBlackboxNum(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_ObjFanout(Abc_Obj_t *pObj, int i)
static Abc_Obj_t * Abc_ObjFanin(Abc_Obj_t *pObj, int i)
static void Vec_IntFree(Vec_Int_t *p)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
#define Abc_NtkForEachObj(pNtk, pObj, i)
ITERATORS ///.
ABC_DLL int Abc_NtkLevel(Abc_Ntk_t *pNtk)
char * Abc_UtilStrsav(char *s)
#define Vec_IntForEachEntry(vVec, Entry, i)
MACRO DEFINITIONS ///.
ABC_DLL void Abc_NtkOrderCisCos(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_NtkCreatePo(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_ObjFanout0(Abc_Obj_t *pObj)
ABC_DLL char * Abc_ObjNameSuffix(Abc_Obj_t *pObj, char *pSuffix)
#define Abc_NtkForEachPi(pNtk, pPi, i)
static void Abc_NodeSetTravIdCurrent(Abc_Obj_t *p)