diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2005-08-06 08:01:00 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2005-08-06 08:01:00 -0700 |
commit | d0e834d1a615f8e0e9d04c2ac97811f63562bd0b (patch) | |
tree | 0973181bfb5ee7d556cc95bd640de16fee771e89 /src/opt/fxu/fxu.h | |
parent | 888e5bed5d7f56a5d86d91a6e8e88f3e5a3454dc (diff) | |
download | abc-d0e834d1a615f8e0e9d04c2ac97811f63562bd0b.tar.gz abc-d0e834d1a615f8e0e9d04c2ac97811f63562bd0b.tar.bz2 abc-d0e834d1a615f8e0e9d04c2ac97811f63562bd0b.zip |
Version abc50806
Diffstat (limited to 'src/opt/fxu/fxu.h')
-rw-r--r-- | src/opt/fxu/fxu.h | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/src/opt/fxu/fxu.h b/src/opt/fxu/fxu.h new file mode 100644 index 00000000..5bc1e75f --- /dev/null +++ b/src/opt/fxu/fxu.h @@ -0,0 +1,108 @@ +/**CFile**************************************************************** + + FileName [fxu.h] + + PackageName [MVSIS 2.0: Multi-valued logic synthesis system.] + + Synopsis [External declarations of fast extract for unate covers.] + + Author [MVSIS Group] + + Affiliation [UC Berkeley] + + Date [Ver. 1.0. Started - February 1, 2003.] + + Revision [$Id: fxu.h,v 1.0 2003/02/01 00:00:00 alanmi Exp $] + +***********************************************************************/ + +#ifndef __FXU_H__ +#define __FXU_H__ + +//////////////////////////////////////////////////////////////////////// +/// INCLUDES /// +//////////////////////////////////////////////////////////////////////// + +#include "vec.h" + +//////////////////////////////////////////////////////////////////////// +/// PARAMETERS /// +//////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////// +/// STRUCTURE DEFINITIONS /// +//////////////////////////////////////////////////////////////////////// + +#ifndef bool +#define bool int +#endif + +typedef struct FxuDataStruct Fxu_Data_t; + +// structure for the FX input/output data +struct FxuDataStruct +{ + // user specified parameters + bool fOnlyS; // set to 1 to have only single-cube divs + bool fOnlyD; // set to 1 to have only double-cube divs + bool fUse0; // set to 1 to have 0-weight also extracted + bool fUseCompl; // set to 1 to have complement taken into account + bool fVerbose; // set to 1 to have verbose output + int nPairsMax; // the maximum number of cube pairs to consider +/* + // parameters of the network + int fMvNetwork; // the network has some MV nodes + // the information about nodes + int nNodesCi; // the number of CI nodes of the network + int nNodesInt; // the number of internal nodes of the network + int nNodesOld; // the number of CI and int nodes + int nNodesNew; // the number of added nodes + int nNodesExt; // the max number of (binary) nodes to be added by FX + int nNodesAlloc; // the total number of all nodes + int * pNode2Value; // for each node, the number of its first value + // the information about values + int nValuesCi; // the total number of values of CI nodes + int nValuesInt; // the total number of values of int nodes + int nValuesOld; // the number of CI and int values + int nValuesNew; // the number of values added nodes + int nValuesExt; // the total number of values of the added nodes + int nValuesAlloc; // the total number of all values of all nodes + int * pValue2Node; // for each value, the number of its node + // the information about covers + Mvc_Cover_t ** ppCovers; // for each value, the corresponding cover + Mvc_Cover_t ** ppCoversNew; // for each value, the corresponding cover after FX + // the MVC manager + Mvc_Manager_t * pManMvc; +*/ + // statistics + int nNodesOld; // the old number of nodes + int nNodesExt; // the number of divisors to extract + int nNodesNew; // the number of divisors extracted + + // the input information + Vec_Ptr_t * vSops; // the SOPs for each node in the network + Vec_Ptr_t * vFanins; // the fanins of each node in the network + // output information + Vec_Ptr_t * vSopsNew; // the SOPs for each node in the network after extraction + Vec_Ptr_t * vFaninsNew; // the fanins of each node in the network after extraction + // the SOP manager + Extra_MmFlex_t * pManSop; +}; + +//////////////////////////////////////////////////////////////////////// +/// MACRO DEFITIONS /// +//////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////// +/// FUNCTION DEFITIONS /// +//////////////////////////////////////////////////////////////////////// + +/*===== fxu.c ==========================================================*/ +extern int Fxu_FastExtract( Fxu_Data_t * pData ); + +//////////////////////////////////////////////////////////////////////// +/// END OF FILE /// +//////////////////////////////////////////////////////////////////////// + +#endif + |