#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>#include "misc/vec/vec.h"#include "cloud.h"
Go to the source code of this file.
Classes | |
| struct | Kit_Sop_t_ |
| struct | Kit_Edge_t_ |
| struct | Kit_Node_t_ |
| struct | Kit_Graph_t_ |
| struct | Kit_DsdObj_t_ |
| struct | Kit_DsdNtk_t_ |
| struct | Kit_DsdMan_t_ |
Macros | |
| #define | Kit_DsdNtkForEachObj(pNtk, pObj, i) |
| #define | Kit_DsdObjForEachFanin(pNtk, pObj, iLit, i) |
| #define | Kit_DsdObjForEachFaninReverse(pNtk, pObj, iLit, i) |
| #define | Kit_PlaForEachCube(pSop, nFanins, pCube) |
| #define | Kit_PlaCubeForEachVar(pCube, Value, i) |
| #define | KIT_MIN(a, b) |
| MACRO DEFINITIONS ///. | |
| #define | KIT_MAX(a, b) |
| #define | KIT_INFINITY (100000000) |
| #define | Kit_SopForEachCube(cSop, uCube, i) |
| ITERATORS ///. | |
| #define | Kit_CubeForEachLiteral(uCube, Lit, nLits, i) |
| #define | Kit_GraphForEachLeaf(pGraph, pLeaf, i) |
| #define | Kit_GraphForEachNode(pGraph, pAnd, i) |
Typedefs | |
| typedef typedefABC_NAMESPACE_HEADER_START struct Kit_Sop_t_ | Kit_Sop_t |
| INCLUDES ///. | |
| typedef struct Kit_Edge_t_ | Kit_Edge_t |
| typedef struct Kit_Node_t_ | Kit_Node_t |
| typedef struct Kit_Graph_t_ | Kit_Graph_t |
| typedef struct Kit_DsdObj_t_ | Kit_DsdObj_t |
| typedef struct Kit_DsdNtk_t_ | Kit_DsdNtk_t |
| typedef struct Kit_DsdMan_t_ | Kit_DsdMan_t |
Enumerations | |
| enum | Kit_Dsd_t { KIT_DSD_NONE = 0 , KIT_DSD_CONST1 , KIT_DSD_VAR , KIT_DSD_AND , KIT_DSD_XOR , KIT_DSD_PRIME } |
Functions | |
| CloudNode * | Kit_TruthToCloud (CloudManager *dd, unsigned *pTruth, int nVars) |
| FUNCTION DECLARATIONS ///. | |
| unsigned * | Kit_CloudToTruth (Vec_Int_t *vNodes, int nVars, Vec_Ptr_t *vStore, int fInv) |
| int | Kit_CreateCloud (CloudManager *dd, CloudNode *pFunc, Vec_Int_t *vNodes) |
| int | Kit_CreateCloudFromTruth (CloudManager *dd, unsigned *pTruth, int nVars, Vec_Int_t *vNodes) |
| unsigned * | Kit_TruthCompose (CloudManager *dd, unsigned *pTruth, int nVars, unsigned **pInputs, int nVarsAll, Vec_Ptr_t *vStore, Vec_Int_t *vNodes) |
| void | Kit_TruthCofSupports (Vec_Int_t *vBddDir, Vec_Int_t *vBddInv, int nVars, Vec_Int_t *vMemory, unsigned *puSupps) |
| Kit_DsdMan_t * | Kit_DsdManAlloc (int nVars, int nNodes) |
| DECLARATIONS ///. | |
| void | Kit_DsdManFree (Kit_DsdMan_t *p) |
| Kit_DsdNtk_t * | Kit_DsdDeriveNtk (unsigned *pTruth, int nVars, int nLutSize) |
| unsigned * | Kit_DsdTruthCompute (Kit_DsdMan_t *p, Kit_DsdNtk_t *pNtk) |
| void | Kit_DsdTruth (Kit_DsdNtk_t *pNtk, unsigned *pTruthRes) |
| void | Kit_DsdTruthPartial (Kit_DsdMan_t *p, Kit_DsdNtk_t *pNtk, unsigned *pTruthRes, unsigned uSupp) |
| void | Kit_DsdTruthPartialTwo (Kit_DsdMan_t *p, Kit_DsdNtk_t *pNtk, unsigned uSupp, int iVar, unsigned *pTruthCo, unsigned *pTruthDec) |
| void | Kit_DsdPrint (FILE *pFile, Kit_DsdNtk_t *pNtk) |
| void | Kit_DsdPrintExpanded (Kit_DsdNtk_t *pNtk) |
| void | Kit_DsdPrintFromTruth (unsigned *pTruth, int nVars) |
| void | Kit_DsdPrintFromTruth2 (FILE *pFile, unsigned *pTruth, int nVars) |
| void | Kit_DsdWriteFromTruth (char *pBuffer, unsigned *pTruth, int nVars) |
| Kit_DsdNtk_t * | Kit_DsdDecompose (unsigned *pTruth, int nVars) |
| Kit_DsdNtk_t * | Kit_DsdDecomposeExpand (unsigned *pTruth, int nVars) |
| Kit_DsdNtk_t * | Kit_DsdDecomposeMux (unsigned *pTruth, int nVars, int nDecMux) |
| void | Kit_DsdVerify (Kit_DsdNtk_t *pNtk, unsigned *pTruth, int nVars) |
| void | Kit_DsdNtkFree (Kit_DsdNtk_t *pNtk) |
| int | Kit_DsdNonDsdSizeMax (Kit_DsdNtk_t *pNtk) |
| Kit_DsdObj_t * | Kit_DsdNonDsdPrimeMax (Kit_DsdNtk_t *pNtk) |
| unsigned | Kit_DsdNonDsdSupports (Kit_DsdNtk_t *pNtk) |
| int | Kit_DsdCountAigNodes (Kit_DsdNtk_t *pNtk) |
| unsigned | Kit_DsdGetSupports (Kit_DsdNtk_t *p) |
| Kit_DsdNtk_t * | Kit_DsdExpand (Kit_DsdNtk_t *p) |
| Kit_DsdNtk_t * | Kit_DsdShrink (Kit_DsdNtk_t *p, int pPrios[]) |
| void | Kit_DsdRotate (Kit_DsdNtk_t *p, int pFreqs[]) |
| int | Kit_DsdCofactoring (unsigned *pTruth, int nVars, int *pCofVars, int nLimit, int fVerbose) |
| Kit_Graph_t * | Kit_SopFactor (Vec_Int_t *vCover, int fCompl, int nVars, Vec_Int_t *vMemory) |
| FUNCTION DEFINITIONS ///. | |
| Kit_Graph_t * | Kit_GraphCreate (int nLeaves) |
| DECLARATIONS ///. | |
| Kit_Graph_t * | Kit_GraphCreateConst0 () |
| Kit_Graph_t * | Kit_GraphCreateConst1 () |
| Kit_Graph_t * | Kit_GraphCreateLeaf (int iLeaf, int nLeaves, int fCompl) |
| void | Kit_GraphFree (Kit_Graph_t *pGraph) |
| Kit_Node_t * | Kit_GraphAppendNode (Kit_Graph_t *pGraph) |
| Kit_Edge_t | Kit_GraphAddNodeAnd (Kit_Graph_t *pGraph, Kit_Edge_t eEdge0, Kit_Edge_t eEdge1) |
| Kit_Edge_t | Kit_GraphAddNodeOr (Kit_Graph_t *pGraph, Kit_Edge_t eEdge0, Kit_Edge_t eEdge1) |
| Kit_Edge_t | Kit_GraphAddNodeXor (Kit_Graph_t *pGraph, Kit_Edge_t eEdge0, Kit_Edge_t eEdge1, int Type) |
| Kit_Edge_t | Kit_GraphAddNodeMux (Kit_Graph_t *pGraph, Kit_Edge_t eEdgeC, Kit_Edge_t eEdgeT, Kit_Edge_t eEdgeE, int Type) |
| unsigned | Kit_GraphToTruth (Kit_Graph_t *pGraph) |
| Kit_Graph_t * | Kit_TruthToGraph (unsigned *pTruth, int nVars, Vec_Int_t *vMemory) |
| Kit_Graph_t * | Kit_TruthToGraph2 (unsigned *pTruth0, unsigned *pTruth1, int nVars, Vec_Int_t *vMemory) |
| int | Kit_GraphLeafDepth_rec (Kit_Graph_t *pGraph, Kit_Node_t *pNode, Kit_Node_t *pLeaf) |
| int | Kit_TruthLitNum (unsigned *pTruth, int nVars, Vec_Int_t *vMemory) |
| int | Kit_IsopNodeNum (unsigned *pTruth0, unsigned *pTruth1, int nVars, Vec_Int_t *vMemory) |
| Vec_Int_t * | Kit_IsopResub (unsigned *pTruth0, unsigned *pTruth1, int nVars, Vec_Int_t *vMemory) |
| int | Kit_TruthIsop (unsigned *puTruth, int nVars, Vec_Int_t *vMemory, int fTryBoth) |
| int | Kit_TruthIsop2 (unsigned *puTruth0, unsigned *puTruth1, int nVars, Vec_Int_t *vMemory, int fTryBoth, int fReturnTt) |
| FUNCTION DEFINITIONS ///. | |
| void | Kit_TruthIsopPrint (unsigned *puTruth, int nVars, Vec_Int_t *vMemory, int fTryBoth) |
| void | Kit_TruthIsopPrintCover (Vec_Int_t *vCover, int nVars, int fCompl) |
| int | Kit_PlaIsConst0 (char *pSop) |
| DECLARATIONS ///. | |
| int | Kit_PlaIsConst1 (char *pSop) |
| int | Kit_PlaIsBuf (char *pSop) |
| int | Kit_PlaIsInv (char *pSop) |
| int | Kit_PlaGetVarNum (char *pSop) |
| int | Kit_PlaGetCubeNum (char *pSop) |
| int | Kit_PlaIsComplement (char *pSop) |
| void | Kit_PlaComplement (char *pSop) |
| char * | Kit_PlaStart (void *p, int nCubes, int nVars) |
| char * | Kit_PlaCreateFromIsop (void *p, int nVars, Vec_Int_t *vCover) |
| void | Kit_PlaToIsop (char *pSop, Vec_Int_t *vCover) |
| char * | Kit_PlaStoreSop (void *p, char *pSop) |
| char * | Kit_PlaFromTruth (void *p, unsigned *pTruth, int nVars, Vec_Int_t *vCover) |
| char * | Kit_PlaFromTruthNew (unsigned *pTruth, int nVars, Vec_Int_t *vCover, Vec_Str_t *vStr) |
| ABC_UINT64_T | Kit_PlaToTruth6 (char *pSop, int nVars) |
| void | Kit_PlaToTruth (char *pSop, int nVars, Vec_Ptr_t *vVars, unsigned *pTemp, unsigned *pTruth) |
| void | Kit_SopCreate (Kit_Sop_t *cResult, Vec_Int_t *vInput, int nVars, Vec_Int_t *vMemory) |
| DECLARATIONS ///. | |
| void | Kit_SopCreateInverse (Kit_Sop_t *cResult, Vec_Int_t *vInput, int nVars, Vec_Int_t *vMemory) |
| void | Kit_SopDup (Kit_Sop_t *cResult, Kit_Sop_t *cSop, Vec_Int_t *vMemory) |
| void | Kit_SopDivideByLiteralQuo (Kit_Sop_t *cSop, int iLit) |
| void | Kit_SopDivideByCube (Kit_Sop_t *cSop, Kit_Sop_t *cDiv, Kit_Sop_t *vQuo, Kit_Sop_t *vRem, Vec_Int_t *vMemory) |
| void | Kit_SopDivideInternal (Kit_Sop_t *cSop, Kit_Sop_t *cDiv, Kit_Sop_t *vQuo, Kit_Sop_t *vRem, Vec_Int_t *vMemory) |
| void | Kit_SopMakeCubeFree (Kit_Sop_t *cSop) |
| int | Kit_SopIsCubeFree (Kit_Sop_t *cSop) |
| void | Kit_SopCommonCubeCover (Kit_Sop_t *cResult, Kit_Sop_t *cSop, Vec_Int_t *vMemory) |
| int | Kit_SopAnyLiteral (Kit_Sop_t *cSop, int nLits) |
| int | Kit_SopDivisor (Kit_Sop_t *cResult, Kit_Sop_t *cSop, int nLits, Vec_Int_t *vMemory) |
| void | Kit_SopBestLiteralCover (Kit_Sop_t *cResult, Kit_Sop_t *cSop, unsigned uCube, int nLits, Vec_Int_t *vMemory) |
| void | Kit_TruthSwapAdjacentVars (unsigned *pOut, unsigned *pIn, int nVars, int Start) |
| DECLARATIONS ///. | |
| void | Kit_TruthStretch (unsigned *pOut, unsigned *pIn, int nVars, int nVarsAll, unsigned Phase, int fReturnIn) |
| void | Kit_TruthPermute (unsigned *pOut, unsigned *pIn, int nVars, char *pPerm, int fReturnIn) |
| void | Kit_TruthShrink (unsigned *pOut, unsigned *pIn, int nVars, int nVarsAll, unsigned Phase, int fReturnIn) |
| int | Kit_TruthVarInSupport (unsigned *pTruth, int nVars, int iVar) |
| int | Kit_TruthSupportSize (unsigned *pTruth, int nVars) |
| unsigned | Kit_TruthSupport (unsigned *pTruth, int nVars) |
| void | Kit_TruthCofactor0 (unsigned *pTruth, int nVars, int iVar) |
| void | Kit_TruthCofactor1 (unsigned *pTruth, int nVars, int iVar) |
| void | Kit_TruthCofactor0New (unsigned *pOut, unsigned *pIn, int nVars, int iVar) |
| void | Kit_TruthCofactor1New (unsigned *pOut, unsigned *pIn, int nVars, int iVar) |
| int | Kit_TruthVarIsVacuous (unsigned *pOnset, unsigned *pOffset, int nVars, int iVar) |
| void | Kit_TruthExist (unsigned *pTruth, int nVars, int iVar) |
| void | Kit_TruthExistNew (unsigned *pRes, unsigned *pTruth, int nVars, int iVar) |
| void | Kit_TruthExistSet (unsigned *pRes, unsigned *pTruth, int nVars, unsigned uMask) |
| void | Kit_TruthForall (unsigned *pTruth, int nVars, int iVar) |
| void | Kit_TruthForallNew (unsigned *pRes, unsigned *pTruth, int nVars, int iVar) |
| void | Kit_TruthForallSet (unsigned *pRes, unsigned *pTruth, int nVars, unsigned uMask) |
| void | Kit_TruthUniqueNew (unsigned *pRes, unsigned *pTruth, int nVars, int iVar) |
| void | Kit_TruthMuxVar (unsigned *pOut, unsigned *pCof0, unsigned *pCof1, int nVars, int iVar) |
| void | Kit_TruthMuxVarPhase (unsigned *pOut, unsigned *pCof0, unsigned *pCof1, int nVars, int iVar, int fCompl0) |
| void | Kit_TruthChangePhase (unsigned *pTruth, int nVars, int iVar) |
| int | Kit_TruthVarsSymm (unsigned *pTruth, int nVars, int iVar0, int iVar1, unsigned *pCof0, unsigned *pCof1) |
| int | Kit_TruthVarsAntiSymm (unsigned *pTruth, int nVars, int iVar0, int iVar1, unsigned *pCof0, unsigned *pCof1) |
| int | Kit_TruthMinCofSuppOverlap (unsigned *pTruth, int nVars, int *pVarMin) |
| int | Kit_TruthBestCofVar (unsigned *pTruth, int nVars, unsigned *pCof0, unsigned *pCof1) |
| void | Kit_TruthCountOnesInCofs (unsigned *pTruth, int nVars, int *pStore) |
| void | Kit_TruthCountOnesInCofs0 (unsigned *pTruth, int nVars, int *pStore) |
| void | Kit_TruthCountOnesInCofsSlow (unsigned *pTruth, int nVars, int *pStore, unsigned *pAux) |
| unsigned | Kit_TruthHash (unsigned *pIn, int nWords) |
| unsigned | Kit_TruthSemiCanonicize (unsigned *pInOut, unsigned *pAux, int nVars, char *pCanonPerm) |
| char * | Kit_TruthDumpToFile (unsigned *pTruth, int nVars, int nFile) |
| void | Kit_TruthPrintProfile (unsigned *pTruth, int nVars) |
| #define Kit_CubeForEachLiteral | ( | uCube, | |
| Lit, | |||
| nLits, | |||
| i ) |
| #define Kit_DsdNtkForEachObj | ( | pNtk, | |
| pObj, | |||
| i ) |
| #define Kit_DsdObjForEachFanin | ( | pNtk, | |
| pObj, | |||
| iLit, | |||
| i ) |
| #define Kit_DsdObjForEachFaninReverse | ( | pNtk, | |
| pObj, | |||
| iLit, | |||
| i ) |
| #define Kit_GraphForEachLeaf | ( | pGraph, | |
| pLeaf, | |||
| i ) |
| #define Kit_GraphForEachNode | ( | pGraph, | |
| pAnd, | |||
| i ) |
Definition at line 507 of file kit.h.
| #define KIT_MIN | ( | a, | |
| b ) |
| #define Kit_PlaCubeForEachVar | ( | pCube, | |
| Value, | |||
| i ) |
| #define Kit_PlaForEachCube | ( | pSop, | |
| nFanins, | |||
| pCube ) |
| #define Kit_SopForEachCube | ( | cSop, | |
| uCube, | |||
| i ) |
| typedef struct Kit_DsdMan_t_ Kit_DsdMan_t |
| typedef struct Kit_DsdNtk_t_ Kit_DsdNtk_t |
| typedef struct Kit_DsdObj_t_ Kit_DsdObj_t |
| typedef struct Kit_Edge_t_ Kit_Edge_t |
| typedef struct Kit_Graph_t_ Kit_Graph_t |
| typedef struct Kit_Node_t_ Kit_Node_t |
| typedef typedefABC_NAMESPACE_HEADER_START struct Kit_Sop_t_ Kit_Sop_t |
INCLUDES ///.
CFile****************************************************************
FileName [kit.h]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Computation kit.]
Synopsis [External declarations.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - Dec 6, 2006.]
Revision [
] PARAMETERS /// BASIC TYPES ///
| enum Kit_Dsd_t |
Function*************************************************************
Synopsis [Computes composition of truth tables.]
Description []
SideEffects []
SeeAlso []
Definition at line 229 of file kitCloud.c.

|
extern |
Function********************************************************************
Synopsis [Transforms the array of BDDs into the integer array.]
Description []
SideEffects []
SeeAlso []
Definition at line 167 of file kitCloud.c.


|
extern |
Function********************************************************************
Synopsis [Transforms the array of BDDs into the integer array.]
Description []
SideEffects []
SeeAlso []
Definition at line 209 of file kitCloud.c.


|
extern |
Function*************************************************************
Synopsis [Canonical decomposition into completely DSD-structure.]
Description [Returns the number of cofactoring steps. Also returns the cofactoring variables in pVars.]
SideEffects []
SeeAlso []
Definition at line 2679 of file kitDsd.c.


|
extern |
Function*************************************************************
Synopsis [Returns 1 if there is a component with more than 3 inputs.]
Description []
SideEffects []
SeeAlso []
Definition at line 1896 of file kitDsd.c.

|
extern |
Function*************************************************************
Synopsis [Performs decomposition of the truth table.]
Description []
SideEffects []
SeeAlso []
Definition at line 2315 of file kitDsd.c.


|
extern |
Function*************************************************************
Synopsis [Performs decomposition of the truth table.]
Description []
SideEffects []
SeeAlso []
Definition at line 2331 of file kitDsd.c.


|
extern |
Function*************************************************************
Synopsis [Performs decomposition of the truth table.]
Description [Uses MUXes to break-down large prime nodes.]
SideEffects []
SeeAlso []
Definition at line 2351 of file kitDsd.c.


|
extern |
|
extern |
Function*************************************************************
Synopsis [Expands the network.]
Description []
SideEffects []
SeeAlso []
Definition at line 1452 of file kitDsd.c.


|
extern |
Function*************************************************************
Synopsis [Compute the support.]
Description []
SideEffects []
SeeAlso []
Definition at line 1763 of file kitDsd.c.


|
extern |
DECLARATIONS ///.
CFile****************************************************************
FileName [kitDsd.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Computation kit.]
Synopsis [Performs disjoint-support decomposition based on truth tables.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - Dec 6, 2006.]
Revision [
] FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Allocates the DSD manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 46 of file kitDsd.c.


|
extern |
Function*************************************************************
Synopsis [Deallocates the DSD manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 72 of file kitDsd.c.


|
extern |
Function*************************************************************
Synopsis [Returns the largest non-DSD block.]
Description []
SideEffects []
SeeAlso []
Definition at line 1237 of file kitDsd.c.

|
extern |
Function*************************************************************
Synopsis [Returns the size of the largest non-DSD block.]
Description []
SideEffects []
SeeAlso []
Definition at line 1212 of file kitDsd.c.

|
extern |
Function*************************************************************
Synopsis [Finds the union of supports of the non-DSD blocks.]
Description []
SideEffects []
SeeAlso []
Definition at line 1265 of file kitDsd.c.


|
extern |
Function*************************************************************
Synopsis [Deallocate the DSD network.]
Description []
SideEffects []
SeeAlso []
Definition at line 164 of file kitDsd.c.

|
extern |
Function*************************************************************
Synopsis [Print the DSD formula.]
Description []
SideEffects []
SeeAlso []
Definition at line 375 of file kitDsd.c.


|
extern |
Function*************************************************************
Synopsis [Print the DSD formula.]
Description []
SideEffects []
SeeAlso []
Definition at line 472 of file kitDsd.c.


|
extern |
Function*************************************************************
Synopsis [Print the DSD formula.]
Description []
SideEffects []
SeeAlso []
Definition at line 491 of file kitDsd.c.


|
extern |
Function*************************************************************
Synopsis [Print the DSD formula.]
Description []
SideEffects []
SeeAlso []
Definition at line 515 of file kitDsd.c.

|
extern |
Function*************************************************************
Synopsis [Rotates the network.]
Description [Transforms prime nodes to have the fanin with the highest frequency of supports go first.]
SideEffects []
SeeAlso []
Definition at line 1672 of file kitDsd.c.


|
extern |
Function*************************************************************
Synopsis [Shrinks the network.]
Description [Transforms the network to have two-input nodes so that the higher-ordered nodes were decomposed out first.]
SideEffects []
SeeAlso []
Definition at line 1634 of file kitDsd.c.


|
extern |
Function*************************************************************
Synopsis [Derives the truth table of the DSD network.]
Description []
SideEffects []
SeeAlso []
Definition at line 1069 of file kitDsd.c.


|
extern |
Function*************************************************************
Synopsis [Derives the truth table of the DSD network.]
Description []
SideEffects []
SeeAlso []
Definition at line 664 of file kitDsd.c.


|
extern |
Function*************************************************************
Synopsis [Derives the truth table of the DSD network.]
Description []
SideEffects []
SeeAlso []
Definition at line 1108 of file kitDsd.c.


|
extern |
Function*************************************************************
Synopsis [Derives the truth table of the DSD network.]
Description []
SideEffects []
SeeAlso []
Definition at line 1090 of file kitDsd.c.


|
extern |
Function*************************************************************
Synopsis [Performs decomposition of the truth table.]
Description []
SideEffects []
SeeAlso []
Definition at line 2493 of file kitDsd.c.


|
extern |
Function*************************************************************
Synopsis [Print the DSD formula.]
Description []
SideEffects []
SeeAlso []
Definition at line 537 of file kitDsd.c.

|
extern |
Function*************************************************************
Synopsis [Creates an AND node.]
Description []
SideEffects []
SeeAlso []
Definition at line 173 of file kitGraph.c.


|
extern |
Function*************************************************************
Synopsis [Creates an XOR node.]
Description []
SideEffects []
SeeAlso []
Definition at line 266 of file kitGraph.c.

|
extern |
Function*************************************************************
Synopsis [Creates an OR node.]
Description []
SideEffects []
SeeAlso []
Definition at line 197 of file kitGraph.c.


|
extern |
Function*************************************************************
Synopsis [Creates an XOR node.]
Description []
SideEffects []
SeeAlso []
Definition at line 225 of file kitGraph.c.

|
extern |
Function*************************************************************
Synopsis [Appends a new node to the graph.]
Description [This procedure is meant for internal use.]
SideEffects []
SeeAlso []
Definition at line 149 of file kitGraph.c.


|
extern |
DECLARATIONS ///.
CFile****************************************************************
FileName [kitGraph.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Computation kit.]
Synopsis [Decomposition graph representation.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - Dec 6, 2006.]
Revision [
] FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Creates a graph with the given number of leaves.]
Description []
SideEffects []
SeeAlso []
Definition at line 46 of file kitGraph.c.


|
extern |
Function*************************************************************
Synopsis [Creates constant 0 graph.]
Description []
SideEffects []
SeeAlso []
Definition at line 70 of file kitGraph.c.


|
extern |
Function*************************************************************
Synopsis [Creates constant 1 graph.]
Description []
SideEffects []
SeeAlso []
Definition at line 91 of file kitGraph.c.


|
extern |
Function*************************************************************
Synopsis [Creates the literal graph.]
Description []
SideEffects []
SeeAlso []
Definition at line 111 of file kitGraph.c.

|
extern |
Function*************************************************************
Synopsis [Creates a graph with the given number of leaves.]
Description []
SideEffects []
SeeAlso []
Definition at line 132 of file kitGraph.c.

|
extern |
Function*************************************************************
Synopsis [Derives the maximum depth from the leaf to the root.]
Description []
SideEffects []
SeeAlso []
Definition at line 412 of file kitGraph.c.


|
extern |
Function*************************************************************
Synopsis [Derives the truth table.]
Description []
SideEffects []
SeeAlso []
Definition at line 307 of file kitGraph.c.
|
extern |
Function*************************************************************
Synopsis [Transforms the decomposition graph into the AIG.]
Description []
SideEffects []
SeeAlso []
Definition at line 139 of file kitHop.c.


|
extern |
Definition at line 200 of file kitHop.c.


|
extern |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 181 of file kitPla.c.

|
extern |
Function*************************************************************
Synopsis [Creates the cover from the ISOP computed from TT.]
Description []
SideEffects []
SeeAlso []
Definition at line 243 of file kitPla.c.


|
extern |
Function*************************************************************
Synopsis [Transforms truth table into the SOP.]
Description []
SideEffects []
SeeAlso []
Definition at line 337 of file kitPla.c.


|
extern |
Function*************************************************************
Synopsis [Creates the SOP from TT.]
Description []
SideEffects []
SeeAlso []
Definition at line 406 of file kitPla.c.


|
extern |
Function*************************************************************
Synopsis [Reads the number of cubes in the cover.]
Description []
SideEffects []
SeeAlso []
Definition at line 138 of file kitPla.c.

|
extern |
Function*************************************************************
Synopsis [Reads the number of variables in the cover.]
Description []
SideEffects []
SeeAlso []
Definition at line 118 of file kitPla.c.

|
extern |
Function*************************************************************
Synopsis [Checks if the cover is a buffer.]
Description []
SideEffects []
SeeAlso []
Definition at line 78 of file kitPla.c.
|
extern |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 160 of file kitPla.c.

|
extern |
DECLARATIONS ///.
CFile****************************************************************
FileName [kitPla.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Computation kit.]
Synopsis [Manipulating SOP in the form of a C-string.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - Dec 6, 2006.]
Revision [
] FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Checks if the cover is constant 0.]
Description []
SideEffects []
SeeAlso []
Definition at line 46 of file kitPla.c.

|
extern |
|
extern |
Function*************************************************************
Synopsis [Checks if the cover is an inverter.]
Description []
SideEffects []
SeeAlso []
Definition at line 98 of file kitPla.c.
|
extern |
Function*************************************************************
Synopsis [Creates the constant 1 cover with the given number of variables and cubes.]
Description []
SideEffects []
SeeAlso []
Definition at line 211 of file kitPla.c.


|
extern |
Function*************************************************************
Synopsis [Allocates memory and copies the SOP into it.]
Description []
SideEffects []
SeeAlso []
Definition at line 317 of file kitPla.c.


|
extern |
Function*************************************************************
Synopsis [Creates the cover from the ISOP computed from TT.]
Description []
SideEffects []
SeeAlso []
Definition at line 282 of file kitPla.c.

|
extern |
Fnction*************************************************************
Synopsis [Converting SOP into a truth table.]
Description [The SOP is represented as a C-string, as documented in file "bblif.h". The truth table is returned as a bit-string composed of 2^nVars bits. For functions of less than 6 variables, the full machine word is returned. (The truth table looks as if the function had 5 variables.) The use of this procedure should be limited to Boolean functions with no more than 16 inputs.]
SideEffects []
SeeAlso []
Definition at line 496 of file kitPla.c.

|
extern |
Function*************************************************************
Synopsis [Converts SOP into a truth table.]
Description []
SideEffects []
SeeAlso []
Definition at line 442 of file kitPla.c.


|
extern |
Function*************************************************************
Synopsis [Find any literal that occurs more than once.]
Description []
SideEffects []
SeeAlso []
Definition at line 370 of file kitSop.c.

|
extern |
Function*************************************************************
Synopsis [Create the one-literal cover with the best literal from cSop.]
Description []
SideEffects []
SeeAlso []
Definition at line 560 of file kitSop.c.

Function*************************************************************
Synopsis [Creates SOP composes of the common cube of the given SOP.]
Description []
SideEffects []
SeeAlso []
Definition at line 350 of file kitSop.c.
|
extern |
DECLARATIONS ///.
CFile****************************************************************
FileName [kitSop.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Computation kit.]
Synopsis [Procedures involving SOPs.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - Dec 6, 2006.]
Revision [
] FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Creates SOP from the cube array.]
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file kitSop.c.
|
extern |
Function*************************************************************
Synopsis [Creates SOP from the cube array.]
Description []
SideEffects []
SeeAlso []
Definition at line 68 of file kitSop.c.

|
extern |
Function*************************************************************
Synopsis [Divides cover by one cube.]
Description []
SideEffects []
SeeAlso []
Definition at line 145 of file kitSop.c.

|
extern |
Function*************************************************************
Synopsis [Derives the quotient of division by literal.]
Description [Reduces the cover to be equal to the result of division of the given cover by the literal.]
SideEffects []
SeeAlso []
Definition at line 121 of file kitSop.c.

|
extern |
Function*************************************************************
Synopsis [Divides cover by one cube.]
Description []
SideEffects []
SeeAlso []
Definition at line 178 of file kitSop.c.

Function*************************************************************
Synopsis [Computes the quick divisor of the cover.]
Description [Returns 0, if there is no divisor other than trivial.]
SideEffects []
SeeAlso []
Definition at line 534 of file kitSop.c.

Function*************************************************************
Synopsis [Duplicates SOP.]
Description []
SideEffects []
SeeAlso []
Definition at line 97 of file kitSop.c.

|
extern |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Factors the cover.]
Description []
SideEffects []
SeeAlso []
Definition at line 55 of file kitFactor.c.


|
extern |
|
extern |
Function*************************************************************
Synopsis [Makes the cover cube-free.]
Description []
SideEffects []
SeeAlso []
Definition at line 311 of file kitSop.c.

|
extern |
Function*************************************************************
Synopsis [Find the best cofactoring variable.]
Description []
SideEffects []
SeeAlso []
Definition at line 1365 of file kitTruth.c.


|
extern |
Function*************************************************************
Synopsis [Changes phase of the function w.r.t. one variable.]
Description []
SideEffects []
SeeAlso []
Definition at line 1259 of file kitTruth.c.

|
extern |
Function*************************************************************
Synopsis [Computes negative cofactor of the function.]
Description []
SideEffects []
SeeAlso []
Definition at line 368 of file kitTruth.c.

|
extern |
Function*************************************************************
Synopsis [Computes positive cofactor of the function.]
Description []
SideEffects []
SeeAlso []
Definition at line 521 of file kitTruth.c.

|
extern |
Function*************************************************************
Synopsis [Computes positive cofactor of the function.]
Description []
SideEffects []
SeeAlso []
Definition at line 470 of file kitTruth.c.

|
extern |
Function*************************************************************
Synopsis [Computes positive cofactor of the function.]
Description []
SideEffects []
SeeAlso []
Definition at line 573 of file kitTruth.c.

|
extern |
Function********************************************************************
Synopsis [Compute BDD for the truth table.]
Description []
SideEffects []
SeeAlso []
Definition at line 310 of file kitCloud.c.


|
extern |
Function*************************************************************
Synopsis [Computes composition of truth tables.]
Description []
SideEffects []
SeeAlso []
Definition at line 263 of file kitCloud.c.


|
extern |
Function*************************************************************
Synopsis [Counts the number of 1's in each cofactor.]
Description [The resulting numbers are stored in the array of ints, whose length is 2*nVars. The number of 1's is counted in a different space than the original function. For example, if the function depends on k variables, the cofactors are assumed to depend on k-1 variables.]
SideEffects []
SeeAlso []
Definition at line 1410 of file kitTruth.c.


|
extern |
Function*************************************************************
Synopsis [Counts the number of 1's in each negative cofactor.]
Description [The resulting numbers are stored in the array of ints, whose length is nVars. The number of 1's is counted in a different space than the original function. For example, if the function depends on k variables, the cofactors are assumed to depend on k-1 variables.]
SideEffects []
SeeAlso []
Definition at line 1486 of file kitTruth.c.


|
extern |
Function*************************************************************
Synopsis [Counts the number of 1's in each cofactor.]
Description [Verifies the above procedure.]
SideEffects []
SeeAlso []
Definition at line 1537 of file kitTruth.c.


|
extern |
Function*************************************************************
Synopsis [Dumps truth table into a file.]
Description [Generates script file for reading into ABC.]
SideEffects []
SeeAlso []
Definition at line 2004 of file kitTruth.c.

|
extern |
Function*************************************************************
Synopsis [Existentially quantifies the variable.]
Description []
SideEffects []
SeeAlso []
Definition at line 684 of file kitTruth.c.

|
extern |
Function*************************************************************
Synopsis [Existentially quantifies the variable.]
Description []
SideEffects []
SeeAlso []
Definition at line 738 of file kitTruth.c.

|
extern |
Function*************************************************************
Synopsis [Existantially quantifies the set of variables.]
Description []
SideEffects []
SeeAlso []
Definition at line 793 of file kitTruth.c.


|
extern |
Function*************************************************************
Synopsis [Unversally quantifies the variable.]
Description []
SideEffects []
SeeAlso []
Definition at line 813 of file kitTruth.c.

|
extern |
Function*************************************************************
Synopsis [Universally quantifies the variable.]
Description []
SideEffects []
SeeAlso []
Definition at line 867 of file kitTruth.c.

|
extern |
Function*************************************************************
Synopsis [Universally quantifies the set of variables.]
Description []
SideEffects []
SeeAlso []
Definition at line 1048 of file kitTruth.c.

|
extern |
Function*************************************************************
Synopsis [Canonicize the truth table.]
Description []
SideEffects []
SeeAlso []
Definition at line 1560 of file kitTruth.c.
|
extern |
Function*************************************************************
Synopsis [Computes ISOP from TT.]
Description [Returns the cover in vMemory. Uses the rest of array in vMemory as an intermediate memory storage. Returns the cover with -1 cubes, if the the computation exceeded the memory limit (KIT_ISOP_MEM_LIMIT words of intermediate data).]
SideEffects []
SeeAlso []
Definition at line 134 of file kitIsop.c.


|
extern |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Computes ISOP from TT.]
Description [Returns the cover in vMemory. Uses the rest of array in vMemory as an intermediate memory storage. Returns the cover with -1 cubes, if the the computation exceeded the memory limit (KIT_ISOP_MEM_LIMIT words of intermediate data).]
SideEffects []
SeeAlso []
Definition at line 55 of file kitIsop.c.


|
extern |
Definition at line 207 of file kitIsop.c.

|
extern |
Definition at line 183 of file kitIsop.c.

|
extern |
Function*************************************************************
Synopsis [Derives the factored form from the truth table.]
Description []
SideEffects []
SeeAlso []
Definition at line 511 of file kitGraph.c.


|
extern |
Function*************************************************************
Synopsis [Computes minimum overlap in supports of cofactors.]
Description []
SideEffects []
SeeAlso []
Definition at line 1315 of file kitTruth.c.

|
extern |
Function*************************************************************
Synopsis [Multiplexes two functions with the given variable.]
Description []
SideEffects []
SeeAlso []
Definition at line 1069 of file kitTruth.c.

|
extern |
Function*************************************************************
Synopsis [Multiplexes two functions with the given variable.]
Description []
SideEffects []
SeeAlso []
Definition at line 1125 of file kitTruth.c.


|
extern |
Function*************************************************************
Synopsis [Implement give permutation.]
Description [The input and output truth tables are in pIn/pOut. The number of variables is nVars. Permutation is in pPerm.]
SideEffects [The input truth table is modified.]
SeeAlso []
Definition at line 233 of file kitTruth.c.


|
extern |
Function*************************************************************
Synopsis [Dumps truth table into a file.]
Description [Generates script file for reading into ABC.]
SideEffects []
SeeAlso []
Definition at line 2203 of file kitTruth.c.


|
extern |
Function*************************************************************
Synopsis [Canonicize the truth table.]
Description [Returns the phase. ]
SideEffects []
SeeAlso []
Definition at line 1657 of file kitTruth.c.


|
extern |
Function*************************************************************
Synopsis [Shrinks the truth table according to the phase.]
Description [The input and output truth tables are in pIn/pOut. The current number of variables is nVars. The total number of variables in nVarsAll. The last argument (Phase) shows what variables should remain.]
SideEffects [The input truth table is modified.]
SeeAlso []
Definition at line 200 of file kitTruth.c.


|
extern |
Function*************************************************************
Synopsis [Expands the truth table according to the phase.]
Description [The input and output truth tables are in pIn/pOut. The current number of variables is nVars. The total number of variables in nVarsAll. The last argument (Phase) contains shows where the variables should go.]
SideEffects [The input truth table is modified.]
SeeAlso []
Definition at line 166 of file kitTruth.c.


|
extern |
Function*************************************************************
Synopsis [Returns support of the function.]
Description []
SideEffects []
SeeAlso []
Definition at line 346 of file kitTruth.c.


|
extern |
Function*************************************************************
Synopsis [Returns the number of support vars.]
Description []
SideEffects []
SeeAlso []
Definition at line 327 of file kitTruth.c.


|
extern |
DECLARATIONS ///.
CFile****************************************************************
FileName [kitTruth.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Computation kit.]
Synopsis [Procedures involving truth tables.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - Dec 6, 2006.]
Revision [
] FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Swaps two adjacent variables in the truth table.]
Description [Swaps var number Start and var number Start+1 (0-based numbers). The input truth table is pIn. The output truth table is pOut.]
SideEffects []
SeeAlso []
Definition at line 46 of file kitTruth.c.

|
extern |
FUNCTION DECLARATIONS ///.
Function********************************************************************
Synopsis [Compute BDD for the truth table.]
Description []
SideEffects []
SeeAlso []
Definition at line 148 of file kitCloud.c.


|
extern |
Function*************************************************************
Synopsis [Derives the factored form from the truth table.]
Description []
SideEffects []
SeeAlso []
Definition at line 356 of file kitGraph.c.


|
extern |
Function*************************************************************
Synopsis [Derives the factored form from the truth table.]
Description []
SideEffects []
SeeAlso []
Definition at line 384 of file kitGraph.c.


|
extern |
Function*************************************************************
Synopsis [Universally quantifies the variable.]
Description []
SideEffects []
SeeAlso []
Definition at line 922 of file kitTruth.c.

|
extern |
Function*************************************************************
Synopsis [Returns 1 if TT depends on the given variable.]
Description []
SideEffects []
SeeAlso []
Definition at line 270 of file kitTruth.c.

|
extern |
Function*************************************************************
Synopsis [Computes negative cofactor of the function.]
Description []
SideEffects []
SeeAlso []
Definition at line 625 of file kitTruth.c.

|
extern |
Function*************************************************************
Synopsis [Checks antisymmetry of two variables.]
Description []
SideEffects []
SeeAlso []
Definition at line 1223 of file kitTruth.c.

|
extern |
Function*************************************************************
Synopsis [Checks symmetry of two variables.]
Description []
SideEffects []
SeeAlso []
Definition at line 1187 of file kitTruth.c.
