abc-master
|
#include "aig/aig/aig.h"
#include "aig/hop/hop.h"
#include "misc/tim/tim.h"
#include "map/if/if.h"
#include "bool/bdc/bdc.h"
#include "proof/fra/fra.h"
#include "proof/ssw/ssw.h"
#include "ntlnwk.h"
Go to the source code of this file.
Data Structures | |
struct | Nwk_Man_t_ |
struct | Nwk_Obj_t_ |
Macros | |
#define | Nwk_ManForEachCi(p, pObj, i) Vec_PtrForEachEntry( Nwk_Obj_t *, p->vCis, pObj, i ) |
ITERATORS ///. More... | |
#define | Nwk_ManForEachCo(p, pObj, i) Vec_PtrForEachEntry( Nwk_Obj_t *, p->vCos, pObj, i ) |
#define | Nwk_ManForEachPi(p, pObj, i) |
#define | Nwk_ManForEachPo(p, pObj, i) |
#define | Nwk_ManForEachObj(p, pObj, i) |
#define | Nwk_ManForEachNode(p, pObj, i) |
#define | Nwk_ManForEachLatch(p, pObj, i) |
#define | Nwk_ObjForEachFanin(pObj, pFanin, i) for ( i = 0; (i < (int)(pObj)->nFanins) && ((pFanin) = (pObj)->pFanio[i]); i++ ) |
#define | Nwk_ObjForEachFanout(pObj, pFanout, i) for ( i = 0; (i < (int)(pObj)->nFanouts) && ((pFanout) = (pObj)->pFanio[(pObj)->nFanins+i]); i++ ) |
#define | Nwk_ManForEachPiSeq(p, pObj, i) Vec_PtrForEachEntryStop( Nwk_Obj_t *, p->vCis, pObj, i, (p)->nTruePis ) |
#define | Nwk_ManForEachPoSeq(p, pObj, i) Vec_PtrForEachEntryStop( Nwk_Obj_t *, p->vCos, pObj, i, (p)->nTruePos ) |
#define | Nwk_ManForEachLoSeq(p, pObj, i) for ( i = 0; (i < (p)->nLatches) && (((pObj) = (Nwk_Obj_t *)Vec_PtrEntry(p->vCis, i+(p)->nTruePis)), 1); i++ ) |
#define | Nwk_ManForEachLiSeq(p, pObj, i) for ( i = 0; (i < (p)->nLatches) && (((pObj) = (Nwk_Obj_t *)Vec_PtrEntry(p->vCos, i+(p)->nTruePos)), 1); i++ ) |
#define | Nwk_ManForEachLiLoSeq(p, pObjLi, pObjLo, i) |
Typedefs | |
typedef typedefABC_NAMESPACE_HEADER_START struct Nwk_Obj_t_ | Nwk_Obj_t |
INCLUDES ///. More... | |
Enumerations | |
enum | Nwk_Type_t { NWK_OBJ_NONE, NWK_OBJ_CI, NWK_OBJ_CO, NWK_OBJ_NODE, NWK_OBJ_LATCH, NWK_OBJ_VOID } |
#define Nwk_ManForEachCi | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntry( Nwk_Obj_t *, p->vCis, pObj, i ) |
#define Nwk_ManForEachCo | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntry( Nwk_Obj_t *, p->vCos, pObj, i ) |
#define Nwk_ManForEachLatch | ( | p, | |
pObj, | |||
i | |||
) |
#define Nwk_ManForEachLiLoSeq | ( | p, | |
pObjLi, | |||
pObjLo, | |||
i | |||
) |
#define Nwk_ManForEachNode | ( | p, | |
pObj, | |||
i | |||
) |
#define Nwk_ManForEachObj | ( | p, | |
pObj, | |||
i | |||
) |
#define Nwk_ManForEachPi | ( | p, | |
pObj, | |||
i | |||
) |
#define Nwk_ManForEachPiSeq | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntryStop( Nwk_Obj_t *, p->vCis, pObj, i, (p)->nTruePis ) |
#define Nwk_ManForEachPo | ( | p, | |
pObj, | |||
i | |||
) |
#define Nwk_ManForEachPoSeq | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntryStop( Nwk_Obj_t *, p->vCos, pObj, i, (p)->nTruePos ) |
#define Nwk_ObjForEachFanin | ( | pObj, | |
pFanin, | |||
i | |||
) | for ( i = 0; (i < (int)(pObj)->nFanins) && ((pFanin) = (pObj)->pFanio[i]); i++ ) |
#define Nwk_ObjForEachFanout | ( | pObj, | |
pFanout, | |||
i | |||
) | for ( i = 0; (i < (int)(pObj)->nFanouts) && ((pFanout) = (pObj)->pFanio[(pObj)->nFanins+i]); i++ ) |
typedef typedefABC_NAMESPACE_HEADER_START struct Nwk_Obj_t_ Nwk_Obj_t |
INCLUDES ///.
CFile****************************************************************
FileName [nwk.h]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Logic network representation.]
Synopsis [External declarations.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]PARAMETERS ///BASIC TYPES ///
enum Nwk_Type_t |
DECLARATIONS ///.
CFile****************************************************************
FileName [nwkMan.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Logic network representation.]
Synopsis [Network manager.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Allocates the manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file nwkMan.c.
Function*************************************************************
Synopsis [Resynthesizes nodes using bi-decomposition.]
Description []
SideEffects []
SeeAlso []
Definition at line 129 of file nwkBidec.c.
DECLARATIONS ///.
CFile****************************************************************
FileName [nwkCheck.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Logic network representation.]
Synopsis [Consistency checking procedures.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Checking the logic network for consistency.]
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file nwkCheck.c.
|
inlinestatic |
Function*************************************************************
Synopsis [Cleans the temporary marks of the nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 464 of file nwkUtil.c.
|
inlinestatic |
Function*************************************************************
Synopsis [Creates a primary input.]
Description []
SideEffects []
SeeAlso []
Definition at line 70 of file nwkObj.c.
Function*************************************************************
Synopsis [Creates a primary output.]
Description []
SideEffects []
SeeAlso []
Definition at line 92 of file nwkObj.c.
Function*************************************************************
Synopsis [Creates a latch.]
Description []
SideEffects []
SeeAlso []
Definition at line 114 of file nwkObj.c.
Function*************************************************************
Synopsis [Creates a node.]
Description []
SideEffects []
SeeAlso []
Definition at line 134 of file nwkObj.c.
Function*************************************************************
Synopsis [Computes the delay trace of the given network.]
Description []
SideEffects []
SeeAlso []
Definition at line 326 of file nwkTiming.c.
Function*************************************************************
Synopsis [Prints the delay trace for the given network.]
Description []
SideEffects []
SeeAlso []
Definition at line 459 of file nwkTiming.c.
Function*************************************************************
Synopsis [Sorts the pins in the decreasing order of delays.]
Description []
SideEffects []
SeeAlso []
Definition at line 67 of file nwkTiming.c.
Function*************************************************************
Synopsis [Deletes the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 155 of file nwkObj.c.
Function*************************************************************
Synopsis [Deletes the node and MFFC of the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 183 of file nwkObj.c.
FUNCTION DECLARATIONS ///.
Function*************************************************************
Synopsis [Converts AIG into the network.]
Description []
SideEffects []
SeeAlso []
Definition at line 85 of file nwkAig.c.
Function*************************************************************
Synopsis [Returns the DFS ordered array of all objects except latches.]
Description []
SideEffects []
SeeAlso []
Definition at line 321 of file nwkDfs.c.
Function*************************************************************
Synopsis [Returns the set of internal nodes rooted in the given nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 378 of file nwkDfs.c.
Function*************************************************************
Synopsis [Returns the DFS ordered array of all objects except latches.]
Description []
SideEffects []
SeeAlso []
Definition at line 451 of file nwkDfs.c.
ABC_DLL void Nwk_ManDumpBlif | ( | Nwk_Man_t * | pNtk, |
char * | pFileName, | ||
Vec_Ptr_t * | vPiNames, | ||
Vec_Ptr_t * | vPoNames | ||
) |
Function*************************************************************
Synopsis [Dumps the BLIF file for the network.]
Description []
SideEffects []
SeeAlso []
Definition at line 257 of file nwkUtil.c.
Function*************************************************************
Synopsis [Reads the maximum number of fanins of a node.]
Description []
SideEffects []
SeeAlso []
Definition at line 71 of file nwkUtil.c.
DECLARATIONS ///.
CFile****************************************************************
FileName [nwkUtil.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Logic network representation.]
Synopsis [Various utilities.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Increments the current traversal ID of the network.]
Description []
SideEffects []
SeeAlso []
Definition at line 47 of file nwkUtil.c.
|
inlinestatic |
Function*************************************************************
Synopsis [Computes the number of logic levels not counting PIs/POs.]
Description [Does not assume that the objects are in a topo order.]
SideEffects []
SeeAlso []
Definition at line 215 of file nwkDfs.c.
Function*************************************************************
Synopsis [Computes the number of logic levels not counting PIs/POs.]
Description [Assumes that white boxes have unit level.]
SideEffects []
SeeAlso []
Definition at line 102 of file nwkDfs.c.
Function*************************************************************
Synopsis [Returns the array of objects in the AIG manager ordered by level.]
Description []
SideEffects []
SeeAlso []
Definition at line 269 of file nwkDfs.c.
Function*************************************************************
Synopsis [Computes the number of logic levels not counting PIs/POs.]
Description [Does not assume that the objects are in a topo order.]
SideEffects []
SeeAlso []
Definition at line 248 of file nwkDfs.c.
Function*************************************************************
Synopsis [Minimizes the support of all nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 563 of file nwkUtil.c.
|
inlinestatic |
Function*************************************************************
Synopsis [Prints the distribution of fanins/fanouts in the network.]
Description []
SideEffects []
SeeAlso []
Definition at line 357 of file nwkUtil.c.
ABC_DLL void Nwk_ManPrintStats | ( | Nwk_Man_t * | pNtk, |
If_LibLut_t * | pLutLib, | ||
int | fSaveBest, | ||
int | fDumpResult, | ||
int | fPower, | ||
Ntl_Man_t * | pNtl | ||
) |
Function*************************************************************
Synopsis [Prints stats of the manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 234 of file nwkMan.c.
Function*************************************************************
Synopsis [Minimizes the support of all nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 608 of file nwkUtil.c.
Function*************************************************************
Synopsis [Computes minimum cut for backward retiming.]
Description []
SideEffects []
SeeAlso []
Definition at line 523 of file nwkFlow.c.
Function*************************************************************
Synopsis [Computes minimum cut for forward retiming.]
Description []
SideEffects []
SeeAlso []
Definition at line 442 of file nwkFlow.c.
ABC_DLL Aig_Man_t* Nwk_ManSpeedup | ( | Nwk_Man_t * | pNtk, |
int | fUseLutLib, | ||
int | Percentage, | ||
int | Degree, | ||
int | fVerbose, | ||
int | fVeryVerbose | ||
) |
Function*************************************************************
Synopsis [Adds choices to speed up the network by the given percentage.]
Description []
SideEffects []
SeeAlso []
Definition at line 203 of file nwkSpeedup.c.
Function*************************************************************
Synopsis [Derives AIG from the logic network.]
Description [Assumes topological ordering of nodes.]
SideEffects []
SeeAlso []
Definition at line 99 of file nwkStrash.c.
Function*************************************************************
Synopsis [Returns the set of CI nodes in the support of the given nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 510 of file nwkDfs.c.
Function*************************************************************
Synopsis [Computes the sum total of supports of all outputs.]
Description []
SideEffects []
SeeAlso []
Definition at line 538 of file nwkDfs.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Function*************************************************************
Synopsis [Replaces the node and incrementally updates levels.]
Description []
SideEffects []
SeeAlso []
Definition at line 860 of file nwkTiming.c.
Function*************************************************************
Synopsis [Computes the level of the node using its fanin levels.]
Description []
SideEffects []
SeeAlso []
Definition at line 832 of file nwkTiming.c.
Function*************************************************************
Synopsis [Computes the arrival times for the given node.]
Description []
SideEffects []
SeeAlso []
Definition at line 427 of file nwkTiming.c.
DECLARATIONS ///.
CFile****************************************************************
FileName [nwkDfs.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Logic network representation.]
Synopsis [DFS traversals.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Verifies that the objects are in a topo order.]
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file nwkDfs.c.
Function*************************************************************
Synopsis [Interface with the FPGA mapping package.]
Description []
SideEffects []
SeeAlso []
Definition at line 360 of file nwkMap.c.
Function*************************************************************
Synopsis [Procedure used for sorting the nodes in decreasing order of levels.]
Description []
SideEffects []
SeeAlso []
Function*************************************************************
Synopsis [Procedure used for sorting the nodes in increasing order of levels.]
Description []
SideEffects []
SeeAlso []
ABC_DLL Hop_Obj_t* Nwk_NodeIfNodeResyn | ( | Bdc_Man_t * | p, |
Hop_Man_t * | pHop, | ||
Hop_Obj_t * | pRoot, | ||
int | nVars, | ||
Vec_Int_t * | vTruth, | ||
unsigned * | puCare, | ||
float | dProb | ||
) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Resynthesizes nodes using bi-decomposition.]
Description []
SideEffects []
SeeAlso []
Definition at line 67 of file nwkBidec.c.
Function*************************************************************
Synopsis [Creates fanout/fanin relationship between the nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 165 of file nwkFanio.c.
|
inlinestatic |
DECLARATIONS ///.
CFile****************************************************************
FileName [nwkFanio.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Logic network representation.]
Synopsis [Manipulation of fanins/fanouts.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Collects fanins of the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file nwkFanio.c.
Function*************************************************************
Synopsis [Collects fanouts of the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 65 of file nwkFanio.c.
Function*************************************************************
Synopsis [Removes fanout/fanin relationship between the nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 192 of file nwkFanio.c.
Function*************************************************************
Synopsis [Returns the number of the fanin of the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 85 of file nwkFanio.c.
Function*************************************************************
Synopsis [Returns the number of the fanout of the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 106 of file nwkFanio.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 150 of file nwk.h.
|
inlinestatic |
Definition at line 151 of file nwk.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Function*************************************************************
Synopsis [Collects the internal nodes of the MFFC limited by cut.]
Description []
SideEffects [Increments the trav ID and marks visited nodes.]
SeeAlso []
Definition at line 644 of file nwkDfs.c.
Function*************************************************************
Synopsis [Replaces a fanin of the node.]
Description [The node is pObj. An old fanin of this node (pFaninOld) has to be replaced by a new fanin (pFaninNew). Assumes that the node and the old fanin are not complemented. The new fanin can be complemented. In this case, the polarity of the new fanin will change, compared to the polarity of the old fanin.]
SideEffects []
SeeAlso []
Definition at line 231 of file nwkFanio.c.
Function*************************************************************
Synopsis [Replaces the node by a new node.]
Description []
SideEffects []
SeeAlso []
Definition at line 302 of file nwkFanio.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Function*************************************************************
Synopsis [Transfers fanout from the old node to the new node.]
Description []
SideEffects []
SeeAlso []
Definition at line 272 of file nwkFanio.c.
Function*************************************************************
Synopsis [Marks nodes for power-optimization.]
Description []
SideEffects []
SeeAlso []
Definition at line 198 of file nwkMan.c.