summaryrefslogtreecommitdiffstats
path: root/src/aig/rwt/rwt.h
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2012-01-21 04:30:10 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2012-01-21 04:30:10 -0800
commit8014f25f6db719fa62336f997963532a14c568f6 (patch)
treec691ee91a3a2d452a2bd24ac89a8c717beaa7af7 /src/aig/rwt/rwt.h
parentc44cc5de9429e6b4f1c05045fcf43c9cb96437b5 (diff)
downloadabc-8014f25f6db719fa62336f997963532a14c568f6.tar.gz
abc-8014f25f6db719fa62336f997963532a14c568f6.tar.bz2
abc-8014f25f6db719fa62336f997963532a14c568f6.zip
Major restructuring of the code.
Diffstat (limited to 'src/aig/rwt/rwt.h')
-rw-r--r--src/aig/rwt/rwt.h165
1 files changed, 0 insertions, 165 deletions
diff --git a/src/aig/rwt/rwt.h b/src/aig/rwt/rwt.h
deleted file mode 100644
index 5410c9de..00000000
--- a/src/aig/rwt/rwt.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/**CFile****************************************************************
-
- FileName [rwt.h]
-
- SystemName [ABC: Logic synthesis and verification system.]
-
- PackageName [DAG-aware AIG rewriting package.]
-
- Synopsis [External declarations.]
-
- Author [Alan Mishchenko]
-
- Affiliation [UC Berkeley]
-
- Date [Ver. 1.0. Started - June 20, 2005.]
-
- Revision [$Id: rwt.h,v 1.00 2005/06/20 00:00:00 alanmi Exp $]
-
-***********************************************************************/
-
-#ifndef __RWT_H__
-#define __RWT_H__
-
-
-////////////////////////////////////////////////////////////////////////
-/// INCLUDES ///
-////////////////////////////////////////////////////////////////////////
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#include "vec.h"
-#include "extra.h"
-#include "mem.h"
-
-////////////////////////////////////////////////////////////////////////
-/// PARAMETERS ///
-////////////////////////////////////////////////////////////////////////
-
-
-
-ABC_NAMESPACE_HEADER_START
-
-
-////////////////////////////////////////////////////////////////////////
-/// BASIC TYPES ///
-////////////////////////////////////////////////////////////////////////
-
-#define RWT_LIMIT 1048576/4 // ((1 << 20)
-#define RWT_MIN(a,b) (((a) < (b))? (a) : (b))
-#define RWT_MAX(a,b) (((a) > (b))? (a) : (b))
-
-typedef struct Rwt_Man_t_ Rwt_Man_t;
-typedef struct Rwt_Node_t_ Rwt_Node_t;
-
-struct Rwt_Man_t_
-{
- // internal lookups
- int nFuncs; // number of four var functions
- unsigned short * puCanons; // canonical forms
- char * pPhases; // canonical phases
- char * pPerms; // canonical permutations
- unsigned char * pMap; // mapping of functions into class numbers
- unsigned short * pMapInv; // mapping of classes into functions
- char * pPractical; // practical NPN classes
- char ** pPerms4; // four-var permutations
- // node space
- Vec_Ptr_t * vForest; // all the nodes
- Rwt_Node_t ** pTable; // the hash table of nodes by their canonical form
- Vec_Vec_t * vClasses; // the nodes of the equivalence classes
- Mem_Fixed_t * pMmNode; // memory for nodes and cuts
- // statistical variables
- int nTravIds; // the counter of traversal IDs
- int nConsidered; // the number of nodes considered
- int nAdded; // the number of nodes added to lists
- int nClasses; // the number of NN classes
- // the result of resynthesis
- int fCompl; // indicates if the output of FF should be complemented
- void * pCut; // the decomposition tree (temporary)
- void * pGraph; // the decomposition tree (temporary)
- char * pPerm; // permutation used for the best cut
- Vec_Ptr_t * vFanins; // the fanins array (temporary)
- Vec_Ptr_t * vFaninsCur; // the fanins array (temporary)
- Vec_Int_t * vLevNums; // the array of levels (temporary)
- Vec_Ptr_t * vNodesTemp; // the nodes in MFFC (temporary)
- // node statistics
- int nNodesConsidered;
- int nNodesRewritten;
- int nNodesGained;
- int nScores[222];
- int nCutsGood;
- int nCutsBad;
- int nSubgraphs;
- // runtime statistics
- int timeStart;
- int timeTruth;
- int timeCut;
- int timeRes;
- int timeEval;
- int timeMffc;
- int timeUpdate;
- int timeTotal;
-};
-
-struct Rwt_Node_t_ // 24 bytes
-{
- int Id; // ID
- int TravId; // traversal ID
- unsigned uTruth : 16; // truth table
- unsigned Volume : 8; // volume
- unsigned Level : 6; // level
- unsigned fUsed : 1; // mark
- unsigned fExor : 1; // mark
- Rwt_Node_t * p0; // first child
- Rwt_Node_t * p1; // second child
- Rwt_Node_t * pNext; // next in the table
-};
-
-// manipulation of complemented attributes
-static inline int Rwt_IsComplement( Rwt_Node_t * p ) { return (int)(((ABC_PTRUINT_T)p) & 01); }
-static inline Rwt_Node_t * Rwt_Regular( Rwt_Node_t * p ) { return (Rwt_Node_t *)((ABC_PTRUINT_T)(p) & ~01); }
-static inline Rwt_Node_t * Rwt_Not( Rwt_Node_t * p ) { return (Rwt_Node_t *)((ABC_PTRUINT_T)(p) ^ 01); }
-static inline Rwt_Node_t * Rwt_NotCond( Rwt_Node_t * p, int c ) { return (Rwt_Node_t *)((ABC_PTRUINT_T)(p) ^ (c)); }
-
-////////////////////////////////////////////////////////////////////////
-/// MACRO DEFINITIONS ///
-////////////////////////////////////////////////////////////////////////
-
-////////////////////////////////////////////////////////////////////////
-/// FUNCTION DECLARATIONS ///
-////////////////////////////////////////////////////////////////////////
-
-/*=== rwrDec.c ========================================================*/
-extern void Rwt_ManPreprocess( Rwt_Man_t * p );
-/*=== rwrMan.c ========================================================*/
-extern Rwt_Man_t * Rwt_ManStart( int fPrecompute );
-extern void Rwt_ManStop( Rwt_Man_t * p );
-extern void Rwt_ManPrintStats( Rwt_Man_t * p );
-extern void Rwt_ManPrintStatsFile( Rwt_Man_t * p );
-extern void * Rwt_ManReadDecs( Rwt_Man_t * p );
-extern Vec_Ptr_t * Rwt_ManReadLeaves( Rwt_Man_t * p );
-extern int Rwt_ManReadCompl( Rwt_Man_t * p );
-extern void Rwt_ManAddTimeCuts( Rwt_Man_t * p, int Time );
-extern void Rwt_ManAddTimeUpdate( Rwt_Man_t * p, int Time );
-extern void Rwt_ManAddTimeTotal( Rwt_Man_t * p, int Time );
-/*=== rwrUtil.c ========================================================*/
-extern void Rwt_ManLoadFromArray( Rwt_Man_t * p, int fVerbose );
-extern char * Rwt_ManGetPractical( Rwt_Man_t * p );
-extern Rwt_Node_t * Rwt_ManAddVar( Rwt_Man_t * p, unsigned uTruth, int fPrecompute );
-extern void Rwt_ManIncTravId( Rwt_Man_t * p );
-
-
-
-ABC_NAMESPACE_HEADER_END
-
-
-
-#endif
-
-////////////////////////////////////////////////////////////////////////
-/// END OF FILE ///
-////////////////////////////////////////////////////////////////////////
-