Commit f7caf84f by Alan Mishchenko

Modified structural constraint extraction (unfold -s) to work for multi-output testcases.

parent c8ed8167
...@@ -21280,9 +21280,9 @@ int Abc_CommandUnfold( Abc_Frame_t * pAbc, int argc, char ** argv ) ...@@ -21280,9 +21280,9 @@ int Abc_CommandUnfold( Abc_Frame_t * pAbc, int argc, char ** argv )
Abc_Print( -1, "Constraints are already extracted.\n" ); Abc_Print( -1, "Constraints are already extracted.\n" );
return 0; return 0;
} }
if ( Abc_NtkPoNum(pNtk) > 1 ) if ( Abc_NtkPoNum(pNtk) > 1 && !fStruct )
{ {
Abc_Print( -1, "Constraint extraction works for single-output miters (use \"orpos\").\n" ); Abc_Print( -1, "Functional constraint extraction works for single-output miters (use \"orpos\").\n" );
return 0; return 0;
} }
// modify the current network // modify the current network
......
...@@ -781,6 +781,28 @@ static inline void Vec_PtrReverseOrder( Vec_Ptr_t * p ) ...@@ -781,6 +781,28 @@ static inline void Vec_PtrReverseOrder( Vec_Ptr_t * p )
/**Function************************************************************* /**Function*************************************************************
Synopsis [Checks if two vectors are equal.]
Description []
SideEffects []
SeeAlso []
***********************************************************************/
static inline int Vec_PtrEqual( Vec_Ptr_t * p1, Vec_Ptr_t * p2 )
{
int i;
if ( p1->nSize != p2->nSize )
return 0;
for ( i = 0; i < p1->nSize; i++ )
if ( p1->pArray[i] != p2->pArray[i] )
return 0;
return 1;
}
/**Function*************************************************************
Synopsis [Comparison procedure for two integers.] Synopsis [Comparison procedure for two integers.]
Description [] Description []
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment