mirror of https://github.com/YosysHQ/abc.git
Enabling dumping of the library of minimum circuits (file support).
This commit is contained in:
parent
3709744c60
commit
dbaa6a58f8
|
|
@ -29,7 +29,6 @@ ABC_NAMESPACE_IMPL_START
|
|||
/// DECLARATIONS ///
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//#define USE4VARS 1
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
/// FUNCTION DEFINITIONS ///
|
||||
|
|
@ -46,19 +45,14 @@ ABC_NAMESPACE_IMPL_START
|
|||
SeeAlso []
|
||||
|
||||
***********************************************************************/
|
||||
void Dau_TruthEnum()
|
||||
void Dau_TruthEnum(int nVars)
|
||||
{
|
||||
int fUseTable = 1;
|
||||
abctime clk = Abc_Clock();
|
||||
#ifdef USE4VARS
|
||||
int nVars = 4;
|
||||
int nSizeW = 1 << 14;
|
||||
char * pFileName = "tableW14.data";
|
||||
#else
|
||||
int nVars = 5;
|
||||
int nSizeW = 1 << 30;
|
||||
char * pFileName = "tableW30.data";
|
||||
#endif
|
||||
int nSizeLog = (1<<nVars) -2;
|
||||
int nSizeW = 1 << nSizeLog;
|
||||
char pFileName[20];
|
||||
sprintf( pFileName, "tableW%d.data", nSizeLog );
|
||||
int nPerms = Extra_Factorial( nVars );
|
||||
int nMints = 1 << nVars;
|
||||
int * pPerm = Extra_PermSchedule( nVars );
|
||||
|
|
@ -177,20 +171,15 @@ int Dau_AddFunction( word tCur, int nVars, unsigned * pTable, Vec_Int_t * vNpns,
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
void Dau_NetworkEnum()
|
||||
void Dau_NetworkEnum(int nVars)
|
||||
{
|
||||
abctime clk = Abc_Clock();
|
||||
int Limit = 2;
|
||||
int UseTwo = 0;
|
||||
#ifdef USE4VARS
|
||||
int nVars = 4;
|
||||
int nSizeW = 1 << 14;
|
||||
char * pFileName = "tableW14.data";
|
||||
#else
|
||||
int nVars = 5;
|
||||
int nSizeW = 1 << 30;
|
||||
char * pFileName = "tableW30.data";
|
||||
#endif
|
||||
int nSizeLog = (1<<nVars) -2;
|
||||
int nSizeW = 1 << nSizeLog;
|
||||
char pFileName[20];
|
||||
sprintf( pFileName, "tableW%d.data", nSizeLog );
|
||||
unsigned * pTable = Dau_ReadFile( pFileName, nSizeW );
|
||||
Vec_Wec_t * vNpns = Vec_WecStart( 32 );
|
||||
Vec_Wec_t * vNpns_ = Vec_WecStart( 32 );
|
||||
|
|
@ -380,8 +369,8 @@ void Dau_NetworkEnum()
|
|||
}
|
||||
void Dau_NetworkEnumTest()
|
||||
{
|
||||
//Dau_TruthEnum();
|
||||
Dau_NetworkEnum();
|
||||
//Dau_TruthEnum(3);
|
||||
Dau_NetworkEnum(4);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -312,6 +312,7 @@ unsigned * Dau_ReadFile2( char * pFileName, int nSizeW )
|
|||
{
|
||||
abctime clk = Abc_Clock();
|
||||
FILE * pFile = fopen( pFileName, "rb" );
|
||||
if (pFile == NULL) return NULL;
|
||||
unsigned * p = (unsigned *)ABC_CALLOC(word, nSizeW);
|
||||
int RetValue = pFile ? fread( p, sizeof(word), nSizeW, pFile ) : 0;
|
||||
RetValue = 0;
|
||||
|
|
@ -341,12 +342,19 @@ void Dtt_ManRenum( int nVars, unsigned * pTable, int * pnClasses )
|
|||
}
|
||||
unsigned * Dtt_ManLoadClasses( int nVars, int * pnClasses )
|
||||
{
|
||||
extern Dau_TruthEnum(int);
|
||||
|
||||
unsigned * pTable = NULL;
|
||||
if ( nVars == 4 )
|
||||
pTable = Dau_ReadFile2( "tableW14.data", 1 << 14 );
|
||||
else if ( nVars == 5 )
|
||||
pTable = Dau_ReadFile2( "tableW30.data", 1 << 30 );
|
||||
else assert( 0 );
|
||||
int nSizeLog = (1<<nVars) -2;
|
||||
int nSizeW = 1 << nSizeLog;
|
||||
char pFileName[20];
|
||||
sprintf( pFileName, "tableW%d.data", nSizeLog );
|
||||
pTable = Dau_ReadFile2( pFileName, nSizeW );
|
||||
if (pTable == NULL)
|
||||
{
|
||||
Dau_TruthEnum(nVars);
|
||||
pTable = Dau_ReadFile2( pFileName, nSizeW );
|
||||
}
|
||||
Dtt_ManRenum( nVars, pTable, pnClasses );
|
||||
return pTable;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue