#include "gia.h"#include "proof/cec/cec.h"#include "sat/bmc/bmc.h"#include "aig/aig/aig.h"#include "aig/saig/saig.h"#include "giaAig.h"
Go to the source code of this file.
Definition at line 2850 of file giaEquiv.c.


| int Cec4_ManMarkIndependentClasses_rec | ( | Gia_Man_t * | p, |
| int | iObj ) |
Function*************************************************************
Synopsis [Converting AIG after SAT sweeping into AIG with choices.]
Description []
SideEffects []
SeeAlso []
Definition at line 2831 of file giaEquiv.c.


Definition at line 2877 of file giaEquiv.c.

Definition at line 2905 of file giaEquiv.c.

Definition at line 2881 of file giaEquiv.c.


| int Gia_CommandSpecI | ( | Gia_Man_t * | pGia, |
| int | nFramesInit, | ||
| int | nBTLimitInit, | ||
| int | fStart, | ||
| int | fCheckMiter, | ||
| int | fVerbose ) |
Function*************************************************************
Synopsis [Implements iteration during speculation.]
Description []
SideEffects []
SeeAlso []
Definition at line 2168 of file giaEquiv.c.

Function*************************************************************
Synopsis [Duplicates the AIG in the DFS order.]
Description []
SideEffects []
SeeAlso []
Definition at line 762 of file giaEquiv.c.

Function*************************************************************
Synopsis [Adds the next entry while making choices.]
Description []
SideEffects []
SeeAlso []
Definition at line 1904 of file giaEquiv.c.


Definition at line 2674 of file giaEquiv.c.


Function*************************************************************
Synopsis [Changing node order.]
Description []
SideEffects []
SeeAlso []
Definition at line 2662 of file giaEquiv.c.


| int Gia_ManCheckTopoOrder | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Returns 0 if AIG is not in the required topo order.]
Description [AIG should be in such an order that the representative is always traversed before the node.]
SideEffects []
SeeAlso []
Definition at line 236 of file giaEquiv.c.

Function*************************************************************
Synopsis [Returns 1 if AIG is not in the required topo order.]
Description []
SideEffects []
SeeAlso []
Definition at line 209 of file giaEquiv.c.


Definition at line 593 of file giaEquiv.c.


Function*************************************************************
Synopsis [Map representatives into class members with minimum level.]
Description []
SideEffects []
SeeAlso []
Definition at line 560 of file giaEquiv.c.


Function*************************************************************
Synopsis [Converting AIG after SAT sweeping into AIG with choices.]
Description []
SideEffects []
SeeAlso []
Definition at line 2941 of file giaEquiv.c.


| void Gia_ManCombSpecReduceTest | ( | Gia_Man_t * | p, |
| char * | pFileName ) |
Definition at line 2980 of file giaEquiv.c.

Function*************************************************************
Synopsis [Compute equivalence classes of nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 183 of file giaEquiv.c.


| int Gia_ManCountChoiceNodes | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Counts the number of choice nodes]
Description []
SideEffects []
SeeAlso []
Definition at line 2091 of file giaEquiv.c.
| int Gia_ManCountChoices | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Counts the number of choices]
Description []
SideEffects []
SeeAlso []
Definition at line 2113 of file giaEquiv.c.
| int * Gia_ManDeriveNexts | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Given representatives, derives pointers to the next objects.]
Description []
SideEffects []
SeeAlso []
Definition at line 260 of file giaEquiv.c.

| void Gia_ManDeriveReprs | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Given points to the next objects, derives representatives.]
Description []
SideEffects []
SeeAlso []
Definition at line 293 of file giaEquiv.c.

| void Gia_ManDeriveReprsFromSibls | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Given pSibls, derives original representitives and nexts.]
Description []
SideEffects []
SeeAlso []
Definition at line 325 of file giaEquiv.c.


| int Gia_ManEquivCheckLits | ( | Gia_Man_t * | p, |
| int | nLits ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 397 of file giaEquiv.c.


| int Gia_ManEquivCountClasses | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 376 of file giaEquiv.c.
| int Gia_ManEquivCountLits | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 450 of file giaEquiv.c.

| int Gia_ManEquivCountLitsAll | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 357 of file giaEquiv.c.

| int Gia_ManEquivCountOne | ( | Gia_Man_t * | p, |
| int | i ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 479 of file giaEquiv.c.

Function*************************************************************
Synopsis [Removes pointers to the unmarked nodes..]
Description []
SideEffects []
SeeAlso []
Definition at line 935 of file giaEquiv.c.


Function*************************************************************
Synopsis [Transforms equiv classes by filtering those that correspond to disproved outputs.]
Description []
SideEffects []
SeeAlso []
Definition at line 1678 of file giaEquiv.c.


| void Gia_ManEquivFilterTest | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Transforms equiv classes by filtering those that correspond to disproved outputs.]
Description []
SideEffects []
SeeAlso []
Definition at line 1754 of file giaEquiv.c.

| void Gia_ManEquivFixOutputPairs | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Reduces AIG using equivalence classes.]
Description []
SideEffects []
SeeAlso []
Definition at line 882 of file giaEquiv.c.

| void Gia_ManEquivImprove | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Transforms equiv classes by setting a good representative.]
Description []
SideEffects []
SeeAlso []
Definition at line 1780 of file giaEquiv.c.

| void Gia_ManEquivMark | ( | Gia_Man_t * | p, |
| char * | pFileName, | ||
| int | fSkipSome, | ||
| int | fVerbose ) |
Function*************************************************************
Synopsis [Marks proved equivalences.]
Description []
SideEffects []
SeeAlso []
Definition at line 1580 of file giaEquiv.c.

| void Gia_ManEquivPrintClasses | ( | Gia_Man_t * | p, |
| int | fVerbose, | ||
| float | Mem ) |
Definition at line 501 of file giaEquiv.c.


| void Gia_ManEquivPrintOne | ( | Gia_Man_t * | p, |
| int | i, | ||
| int | Counter ) |
Definition at line 489 of file giaEquiv.c.


| Gia_Man_t * Gia_ManEquivReduce | ( | Gia_Man_t * | p, |
| int | fUseAll, | ||
| int | fDualOut, | ||
| int | fSkipPhase, | ||
| int | fVerbose ) |
Function*************************************************************
Synopsis [Reduces AIG using equivalence classes.]
Description []
SideEffects []
SeeAlso []
Definition at line 677 of file giaEquiv.c.


Definition at line 811 of file giaEquiv.c.

| void Gia_ManEquivReduce2_rec | ( | Gia_Man_t * | pNew, |
| Gia_Man_t * | p, | ||
| Gia_Obj_t * | pObj, | ||
| Vec_Int_t * | vMap, | ||
| int | fDiveIn ) |
Function*************************************************************
Synopsis [Duplicates the AIG in the DFS order.]
Description []
SideEffects []
SeeAlso []
Definition at line 786 of file giaEquiv.c.


| void Gia_ManEquivReduce_rec | ( | Gia_Man_t * | pNew, |
| Gia_Man_t * | p, | ||
| Gia_Obj_t * | pObj, | ||
| int | fUseAll, | ||
| int | fDualOut ) |
Function*************************************************************
Synopsis [Duplicates the AIG in the DFS order.]
Description []
SideEffects []
SeeAlso []
Definition at line 649 of file giaEquiv.c.


Function*************************************************************
Synopsis [Reduces AIG while remapping equivalence classes.]
Description [Drops the pairs of outputs if they are proved equivalent.]
SideEffects []
SeeAlso []
Definition at line 1040 of file giaEquiv.c.


Function*************************************************************
Synopsis [Removes pointers to the unmarked nodes..]
Description []
SideEffects []
SeeAlso []
Definition at line 994 of file giaEquiv.c.


Function*************************************************************
Synopsis [Marks CIs/COs/ANDs unreachable from POs.]
Description []
SideEffects []
SeeAlso []
Definition at line 1075 of file giaEquiv.c.


| int Gia_ManEquivSetColors | ( | Gia_Man_t * | p, |
| int | fVerbose ) |
Function*************************************************************
Synopsis [Marks CIs/COs/ANDs unreachable from POs.]
Description []
SideEffects []
SeeAlso []
Definition at line 1097 of file giaEquiv.c.


Function*************************************************************
Synopsis [Reduces AIG using equivalence classes.]
Description []
SideEffects []
SeeAlso []
Definition at line 2034 of file giaEquiv.c.


Function*************************************************************
Synopsis [Duplicates the AIG in the DFS order.]
Description []
SideEffects []
SeeAlso []
Definition at line 1925 of file giaEquiv.c.


| void Gia_ManEquivTransform | ( | Gia_Man_t * | p, |
| int | fVerbose ) |
Function*************************************************************
Synopsis [Transforms equiv classes by removing the AB nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 1519 of file giaEquiv.c.

Function*************************************************************
Synopsis [Removes pointers to the unmarked nodes..]
Description []
SideEffects []
SeeAlso []
Definition at line 910 of file giaEquiv.c.

| int Gia_ManFilterEquivsForSpeculation | ( | Gia_Man_t * | pGia, |
| char * | pName1, | ||
| char * | pName2, | ||
| int | fLatchA, | ||
| int | fLatchB ) |
Function*************************************************************
Synopsis [Reduces AIG using equivalence classes.]
Description []
SideEffects []
SeeAlso []
Definition at line 2267 of file giaEquiv.c.

| void Gia_ManFilterEquivsUsingLatches | ( | Gia_Man_t * | pGia, |
| int | fFlopsOnly, | ||
| int | fFlopsWith, | ||
| int | fUseRiDrivers ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 2552 of file giaEquiv.c.
| int Gia_ManFilterEquivsUsingParts | ( | Gia_Man_t * | pGia, |
| char * | pName1, | ||
| char * | pName2 ) |
Function*************************************************************
Synopsis [Reduces AIG using equivalence classes.]
Description []
SideEffects []
SeeAlso []
Definition at line 2404 of file giaEquiv.c.

| ABC_NAMESPACE_IMPL_END ABC_NAMESPACE_IMPL_START int Gia_ManHasNoEquivs | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Returns 1 if AIG has dangling nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 2145 of file giaEquiv.c.

| ABC_NAMESPACE_IMPL_START void Gia_ManOrigIdsInit | ( | Gia_Man_t * | p | ) |
DECLARATIONS ///.
CFile****************************************************************
FileName [giaEquiv.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Scalable AIG package.]
Synopsis [Manipulation of equivalence classes.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
] FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Manipulating original IDs.]
Description []
SideEffects []
SeeAlso []
Definition at line 46 of file giaEquiv.c.

Definition at line 106 of file giaEquiv.c.


Definition at line 160 of file giaEquiv.c.

Definition at line 56 of file giaEquiv.c.


Definition at line 87 of file giaEquiv.c.


| int Gia_ManOrigIdsRemapPairsExtract | ( | Vec_Int_t * | vMap, |
| int | One ) |
Definition at line 81 of file giaEquiv.c.


| void Gia_ManOrigIdsRemapPairsInsert | ( | Vec_Int_t * | vMap, |
| int | One, | ||
| int | Two ) |
Definition at line 71 of file giaEquiv.c.


| void Gia_ManOrigIdsStart | ( | Gia_Man_t * | p | ) |
| void Gia_ManPrintStatsClasses | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 416 of file giaEquiv.c.

| void Gia_ManRemoveBadChoices | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Removes choices, which contain fanouts.]
Description []
SideEffects []
SeeAlso []
Definition at line 1986 of file giaEquiv.c.


| void Gia_ManSpecBuildInit | ( | Gia_Man_t * | pNew, |
| Gia_Man_t * | p, | ||
| Gia_Obj_t * | pObj, | ||
| Vec_Int_t * | vXorLits, | ||
| int | f, | ||
| int | fDualOut ) |
Function*************************************************************
Synopsis [Duplicates the AIG in the DFS order.]
Description []
SideEffects []
SeeAlso []
Definition at line 1341 of file giaEquiv.c.


| Gia_Man_t * Gia_ManSpecReduce | ( | Gia_Man_t * | p, |
| int | fDualOut, | ||
| int | fSynthesis, | ||
| int | fSpeculate, | ||
| int | fSkipSome, | ||
| int | fVerbose ) |
Function*************************************************************
Synopsis [Reduces AIG using equivalence classes.]
Description []
SideEffects []
SeeAlso []
Definition at line 1253 of file giaEquiv.c.


| void Gia_ManSpecReduce_rec | ( | Gia_Man_t * | pNew, |
| Gia_Man_t * | p, | ||
| Gia_Obj_t * | pObj, | ||
| Vec_Int_t * | vXorLits, | ||
| int | fDualOut, | ||
| int | fSpeculate, | ||
| Vec_Int_t * | vTrace, | ||
| Vec_Int_t * | vGuide, | ||
| Vec_Int_t * | vMap ) |
Function*************************************************************
Synopsis [Duplicates the AIG in the DFS order.]
Description []
SideEffects []
SeeAlso []
Definition at line 1175 of file giaEquiv.c.


Function*************************************************************
Synopsis [Creates initialized SRM with the given number of frames.]
Description []
SideEffects []
SeeAlso []
Definition at line 1390 of file giaEquiv.c.


| void Gia_ManSpecReduceInit_rec | ( | Gia_Man_t * | pNew, |
| Gia_Man_t * | p, | ||
| Gia_Obj_t * | pObj, | ||
| Vec_Int_t * | vXorLits, | ||
| int | f, | ||
| int | fDualOut ) |
Function*************************************************************
Synopsis [Duplicates the AIG in the DFS order.]
Description []
SideEffects []
SeeAlso []
Definition at line 1368 of file giaEquiv.c.


| Gia_Man_t * Gia_ManSpecReduceInitFrames | ( | Gia_Man_t * | p, |
| Abc_Cex_t * | pInit, | ||
| int | nFramesMax, | ||
| int * | pnFrames, | ||
| int | fDualOut, | ||
| int | nMinOutputs ) |
Function*************************************************************
Synopsis [Creates initialized SRM with the given number of frames.]
Description [Uses as many frames as needed to create the number of output not less than the number of equivalence literals.]
SideEffects []
SeeAlso []
Definition at line 1480 of file giaEquiv.c.


Function*************************************************************
Synopsis [Reduces AIG using equivalence classes.]
Description []
SideEffects []
SeeAlso []
Definition at line 1197 of file giaEquiv.c.


Definition at line 2699 of file giaEquiv.c.


Function*************************************************************
Synopsis [Transfer from new to old.]
Description []
SideEffects []
SeeAlso []
Definition at line 2779 of file giaEquiv.c.

| void Gia_ManTransferTest | ( | Gia_Man_t * | p | ) |
Definition at line 2731 of file giaEquiv.c.

Function*************************************************************
Synopsis [Returns 1 if pOld is in the TFI of pNode.]
Description []
SideEffects []
SeeAlso []
Definition at line 1877 of file giaEquiv.c.


| int Gia_ObjCheckTfi_rec | ( | Gia_Man_t * | p, |
| Gia_Obj_t * | pOld, | ||
| Gia_Obj_t * | pNode, | ||
| Vec_Ptr_t * | vVisited ) |
Function*************************************************************
Synopsis [Returns 1 if pOld is in the TFI of pNode.]
Description []
SideEffects []
SeeAlso []
Definition at line 1841 of file giaEquiv.c.

