summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2013-05-12 23:23:18 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2013-05-12 23:23:18 -0700
commit3880623c9b23b65659db581ade13b5996a08dba0 (patch)
tree2b380258d83d90cb49d93618eaff98ffa41a1010
parent9d219eee4b8901d18b0c471205b1cec9fb1f0d1b (diff)
downloadabc-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.c4
-rw-r--r--src/misc/mvc/mvc.h10
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