abc-master
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include "misc/vec/vec.h"
#include "misc/util/utilTruth.h"
Go to the source code of this file.
Macros | |
#define | ABC_ISOP_MAX_VAR 16 |
DECLARATIONS ///. More... | |
#define | ABC_ISOP_MAX_WORD (ABC_ISOP_MAX_VAR > 6 ? (1 << (ABC_ISOP_MAX_VAR-6)) : 1) |
#define | ABC_ISOP_MAX_CUBE 0xFFFF |
Typedefs | |
typedef word | FUNC_ISOP (word *, word *, word *, word, int *) |
Functions | |
word | Abc_IsopCheck (word *pOn, word *pOnDc, word *pRes, int nVars, word CostLim, int *pCover) |
word | Abc_EsopCheck (word *pOn, int nVars, word CostLim, int *pCover) |
static word | Abc_Cube2Cost (int nCubes) |
static int | Abc_CostCubes (word Cost) |
static int | Abc_CostLits (word Cost) |
static void | Abc_IsopAddLits (int *pCover, word Cost0, word Cost1, int Var) |
FUNCTION DEFINITIONS ///. More... | |
word | Abc_Isop6Cover (word uOn, word uOnDc, word *pRes, int nVars, word CostLim, int *pCover) |
word | Abc_Isop7Cover (word *pOn, word *pOnDc, word *pRes, word CostLim, int *pCover) |
word | Abc_Isop8Cover (word *pOn, word *pOnDc, word *pRes, word CostLim, int *pCover) |
word | Abc_Isop9Cover (word *pOn, word *pOnDc, word *pRes, word CostLim, int *pCover) |
word | Abc_Isop10Cover (word *pOn, word *pOnDc, word *pRes, word CostLim, int *pCover) |
word | Abc_Isop11Cover (word *pOn, word *pOnDc, word *pRes, word CostLim, int *pCover) |
word | Abc_Isop12Cover (word *pOn, word *pOnDc, word *pRes, word CostLim, int *pCover) |
word | Abc_Isop13Cover (word *pOn, word *pOnDc, word *pRes, word CostLim, int *pCover) |
word | Abc_Isop14Cover (word *pOn, word *pOnDc, word *pRes, word CostLim, int *pCover) |
word | Abc_Isop15Cover (word *pOn, word *pOnDc, word *pRes, word CostLim, int *pCover) |
word | Abc_Isop16Cover (word *pOn, word *pOnDc, word *pRes, word CostLim, int *pCover) |
static word ** | Abc_IsopTtElems () |
void | Abc_IsopBuildTruth (Vec_Int_t *vCover, int nVars, word *pRes, int fXor, int fCompl) |
static void | Abc_IsopVerify (word *pFunc, int nVars, word *pRes, Vec_Int_t *vCover, int fXor, int fCompl) |
int | Abc_Isop (word *pFunc, int nVars, int nCubeLim, Vec_Int_t *vCover, int fTryBoth) |
int | Abc_IsopCnf (word *pFunc, int nVars, int nCubeLim, int *pCover) |
int | Abc_IsopCountLits (Vec_Int_t *vCover, int nVars) |
void | Abc_IsopPrintCover (Vec_Int_t *vCover, int nVars, int fCompl) |
void | Abc_IsopPrint (word *t, int nVars, Vec_Int_t *vCover, int fTryBoth) |
static int | Abc_EsopAddLits (int *pCover, word r0, word r1, word r2, word Max, int Var) |
word | Abc_Esop6Cover (word t, int nVars, word CostLim, int *pCover) |
word | Abc_EsopCover (word *pOn, int nVars, word CostLim, int *pCover) |
static int | Abc_TtIntersect (word *pIn1, word *pIn2, int nWords) |
static int | Abc_TtCheckWithCubePos2Neg (word *t, word *c, int nWords, int iVar) |
static int | Abc_TtCheckWithCubeNeg2Pos (word *t, word *c, int nWords, int iVar) |
static void | Abc_TtExpandCubePos2Neg (word *t, int nWords, int iVar) |
static void | Abc_TtExpandCubeNeg2Pos (word *t, int nWords, int iVar) |
word | Abc_IsopNew (word *pOn, word *pOnDc, word *pRes, int nVars, word CostLim, int *pCover) |
void | Abc_IsopTestNew () |
int | Abc_IsopTest (word *pFunc, int nVars, Vec_Int_t *vCover) |
Variables | |
static FUNC_ISOP | Abc_Isop7Cover |
static FUNC_ISOP | Abc_Isop8Cover |
static FUNC_ISOP | Abc_Isop9Cover |
static FUNC_ISOP | Abc_Isop10Cover |
static FUNC_ISOP | Abc_Isop11Cover |
static FUNC_ISOP | Abc_Isop12Cover |
static FUNC_ISOP | Abc_Isop13Cover |
static FUNC_ISOP | Abc_Isop14Cover |
static FUNC_ISOP | Abc_Isop15Cover |
static FUNC_ISOP | Abc_Isop16Cover |
static FUNC_ISOP * | s_pFuncIsopCover [17] |
#define ABC_ISOP_MAX_CUBE 0xFFFF |
Definition at line 37 of file utilIsop.c.
#define ABC_ISOP_MAX_VAR 16 |
DECLARATIONS ///.
CFile****************************************************************
FileName [utilIsop.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [ISOP computation.]
Synopsis [ISOP computation.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - October 4, 2014.]
Revision [
]
Definition at line 35 of file utilIsop.c.
#define ABC_ISOP_MAX_WORD (ABC_ISOP_MAX_VAR > 6 ? (1 << (ABC_ISOP_MAX_VAR-6)) : 1) |
Definition at line 36 of file utilIsop.c.
Definition at line 39 of file utilIsop.c.
|
inlinestatic |
Definition at line 77 of file utilIsop.c.
|
inlinestatic |
Definition at line 78 of file utilIsop.c.
|
inlinestatic |
Definition at line 76 of file utilIsop.c.
Definition at line 713 of file utilIsop.c.
|
inlinestatic |
Function*************************************************************
Synopsis [These procedures assume that function has exact support.]
Description []
SideEffects []
SeeAlso []
Definition at line 669 of file utilIsop.c.
Definition at line 766 of file utilIsop.c.
Definition at line 746 of file utilIsop.c.
Function*************************************************************
Synopsis [This procedure assumes that function has exact support.]
Description []
SideEffects []
SeeAlso []
Definition at line 511 of file utilIsop.c.
Definition at line 232 of file utilIsop.c.
Definition at line 260 of file utilIsop.c.
Definition at line 288 of file utilIsop.c.
Definition at line 316 of file utilIsop.c.
Definition at line 344 of file utilIsop.c.
Definition at line 372 of file utilIsop.c.
Definition at line 400 of file utilIsop.c.
Definition at line 108 of file utilIsop.c.
Definition at line 149 of file utilIsop.c.
Definition at line 175 of file utilIsop.c.
Definition at line 204 of file utilIsop.c.
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [These procedures assume that function has exact support.]
Description []
SideEffects []
SeeAlso []
Definition at line 95 of file utilIsop.c.
Definition at line 467 of file utilIsop.c.
Definition at line 428 of file utilIsop.c.
int Abc_IsopCnf | ( | word * | pFunc, |
int | nVars, | ||
int | nCubeLim, | ||
int * | pCover | ||
) |
Function*************************************************************
Synopsis [Compute CNF assuming it does not exceed the limit.]
Description [Please note that pCover should have at least 32 extra entries!]
SideEffects []
SeeAlso []
Definition at line 562 of file utilIsop.c.
int Abc_IsopCountLits | ( | Vec_Int_t * | vCover, |
int | nVars | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 607 of file utilIsop.c.
Definition at line 877 of file utilIsop.c.
Definition at line 651 of file utilIsop.c.
void Abc_IsopPrintCover | ( | Vec_Int_t * | vCover, |
int | nVars, | ||
int | fCompl | ||
) |
Definition at line 627 of file utilIsop.c.
Function*************************************************************
Synopsis [Compute CNF assuming it does not exceed the limit.]
Description [Please note that pCover should have at least 32 extra entries!]
SideEffects []
SeeAlso []
Definition at line 1022 of file utilIsop.c.
void Abc_IsopTestNew | ( | ) |
Definition at line 993 of file utilIsop.c.
|
inlinestatic |
Function*************************************************************
Synopsis [Create truth table for the given cover.]
Description []
SideEffects []
SeeAlso []
Definition at line 455 of file utilIsop.c.
|
inlinestatic |
Definition at line 491 of file utilIsop.c.
Definition at line 822 of file utilIsop.c.
Definition at line 801 of file utilIsop.c.
|
inlinestatic |
Definition at line 860 of file utilIsop.c.
|
inlinestatic |
Definition at line 843 of file utilIsop.c.
Function*************************************************************
Synopsis [Perform ISOP computation by subtracting cubes.]
Description []
SideEffects []
SeeAlso []
Definition at line 793 of file utilIsop.c.
|
static |
Definition at line 44 of file utilIsop.c.
|
static |
Definition at line 45 of file utilIsop.c.
|
static |
Definition at line 46 of file utilIsop.c.
|
static |
Definition at line 47 of file utilIsop.c.
|
static |
Definition at line 48 of file utilIsop.c.
|
static |
Definition at line 49 of file utilIsop.c.
|
static |
Definition at line 50 of file utilIsop.c.
|
static |
Definition at line 41 of file utilIsop.c.
|
static |
Definition at line 42 of file utilIsop.c.
|
static |
Definition at line 43 of file utilIsop.c.
|
static |
Definition at line 52 of file utilIsop.c.