diff options
| author | Alan Mishchenko <alanmi@berkeley.edu> | 2013-05-12 23:23:18 -0700 | 
|---|---|---|
| committer | Alan Mishchenko <alanmi@berkeley.edu> | 2013-05-12 23:23:18 -0700 | 
| commit | 3880623c9b23b65659db581ade13b5996a08dba0 (patch) | |
| tree | 2b380258d83d90cb49d93618eaff98ffa41a1010 | |
| parent | 9d219eee4b8901d18b0c471205b1cec9fb1f0d1b (diff) | |
| download | abc-3880623c9b23b65659db581ade13b5996a08dba0.tar.gz abc-3880623c9b23b65659db581ade13b5996a08dba0.tar.bz2 abc-3880623c9b23b65659db581ade13b5996a08dba0.zip | |
Extending cube representation to handle SOPs with many cubes.
| -rw-r--r-- | src/base/abc/abcFunc.c | 4 | ||||
| -rw-r--r-- | src/misc/mvc/mvc.h | 10 | 
2 files changed, 9 insertions, 5 deletions
| diff --git a/src/base/abc/abcFunc.c b/src/base/abc/abcFunc.c index da096741..f43186ee 100644 --- a/src/base/abc/abcFunc.c +++ b/src/base/abc/abcFunc.c @@ -605,12 +605,16 @@ int Abc_CountZddCubes( DdManager * dd, DdNode * zCover )  ***********************************************************************/  int Abc_NtkSopToAig( Abc_Ntk_t * pNtk )  { +    extern int Abc_NtkMakeLegit( Abc_Ntk_t * pNtk );      Abc_Obj_t * pNode;      Hop_Man_t * pMan;      int i;      assert( Abc_NtkHasSop(pNtk) );  +    // make dist1-free and SCC-free +//    Abc_NtkMakeLegit( pNtk ); +      // start the functionality manager      pMan = Hop_ManStart(); diff --git a/src/misc/mvc/mvc.h b/src/misc/mvc/mvc.h index 0106ce8f..5b9a574f 100644 --- a/src/misc/mvc/mvc.h +++ b/src/misc/mvc/mvc.h @@ -63,11 +63,11 @@ typedef struct MvcManagerStruct    Mvc_Manager_t;  struct MvcCubeStruct  {      Mvc_Cube_t *    pNext;        // the next cube in the linked list -    unsigned        iLast   :  8; // the index of the last word +    unsigned        iLast   : 24; // the index of the last word      unsigned        nUnused :  6; // the number of unused bits in the last word      unsigned        fPrime  :  1; // marks the prime cube      unsigned        fEssen  :  1; // marks the essential cube -    unsigned        nOnes   : 16; // the number of 1's in the bit data +    unsigned        nOnes;        // the number of 1's in the bit data      Mvc_CubeWord_t  pData[1];     // the first Mvc_CubeWord_t filled with bit data  }; @@ -82,9 +82,9 @@ struct MvcListStruct  // the cover data structure  struct MvcCoverStruct  { -    char            nWords;       // the number of machine words -    char            nUnused;      // the number of unused bits in the last word -    short           nBits;        // the number of used data bits in the cube +    int             nWords;       // the number of machine words +    int             nUnused;      // the number of unused bits in the last word +    int             nBits;        // the number of used data bits in the cube      Mvc_List_t      lCubes;       // the single-linked list of cubes      Mvc_Cube_t **   pCubes;       // the array of cubes (for sorting)      int             nCubesAlloc;  // the size of allocated storage | 
