abc-master
|
#include "abc.h"
#include "base/main/main.h"
#include "map/mio/mio.h"
#include "bool/dec/dec.h"
#include "misc/extra/extraBdd.h"
#include "opt/fxu/fxu.h"
Go to the source code of this file.
Variables | |
static int * | pSupps |
Function*************************************************************
Synopsis [Checks if the internal node has CO drivers with the same name.]
Description [Checks if the internal node can borrow its name from CO fanouts. This is possible if all COs with non-complemented fanin edge pointing to this node have the same name.]
SideEffects []
SeeAlso []
Definition at line 823 of file abcUtil.c.
int Abc_NodeIsExorType | ( | Abc_Obj_t * | pNode | ) |
int Abc_NodeIsMuxControlType | ( | Abc_Obj_t * | pNode | ) |
int Abc_NodeIsMuxType | ( | Abc_Obj_t * | pNode | ) |
Function*************************************************************
Synopsis [Returns 1 if the node is the root of MUX or EXOR/NEXOR.]
Description []
SideEffects []
SeeAlso []
Definition at line 1301 of file abcUtil.c.
Function*************************************************************
Synopsis [Recognizes what nodes are control and data inputs of a MUX.]
Description [If the node is a MUX, returns the control variable C. Assigns nodes T and E to be the then and else variables of the MUX. Node C is never complemented. Nodes T and E can be complemented. This function also recognizes EXOR/NEXOR gates as MUXes.]
SideEffects []
SeeAlso []
Definition at line 1389 of file abcUtil.c.
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 2492 of file abcUtil.c.
Abc_Ntk_t* Abc_NtkAddBuffs | ( | Abc_Ntk_t * | pNtkInit, |
int | fDirect, | ||
int | fReverse, | ||
int | nImprove, | ||
int | fVerbose | ||
) |
Definition at line 2416 of file abcUtil.c.
Definition at line 2306 of file abcUtil.c.
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 2290 of file abcUtil.c.
ABC_NAMESPACE_IMPL_START void* Abc_NtkAttrFree | ( | Abc_Ntk_t * | pNtk, |
int | Attr, | ||
int | fFreeMan | ||
) |
DECLARATIONS ///.
CFile****************************************************************
FileName [abcUtil.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Network and node package.]
Synopsis [Various utilities.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Frees one attribute manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 50 of file abcUtil.c.
void Abc_NtkCleanCopy | ( | Abc_Ntk_t * | pNtk | ) |
void Abc_NtkCleanCopy_rec | ( | Abc_Ntk_t * | pNtk | ) |
void Abc_NtkCleanData | ( | Abc_Ntk_t * | pNtk | ) |
void Abc_NtkCleanMarkA | ( | Abc_Ntk_t * | pNtk | ) |
void Abc_NtkCleanMarkAB | ( | Abc_Ntk_t * | pNtk | ) |
void Abc_NtkCleanMarkABC | ( | Abc_Ntk_t * | pNtk | ) |
void Abc_NtkCleanMarkB | ( | Abc_Ntk_t * | pNtk | ) |
void Abc_NtkCleanMarkC | ( | Abc_Ntk_t * | pNtk | ) |
void Abc_NtkCleanNext | ( | Abc_Ntk_t * | pNtk | ) |
void Abc_NtkCleanNext_rec | ( | Abc_Ntk_t * | pNtk | ) |
Function*************************************************************
Synopsis [Collects all latches in the network.]
Description []
SideEffects []
SeeAlso []
Definition at line 1627 of file abcUtil.c.
Function*************************************************************
Synopsis [Collects all objects into one array.]
Description []
SideEffects []
SeeAlso []
Definition at line 1725 of file abcUtil.c.
void Abc_NtkCompareCones | ( | Abc_Ntk_t * | pNtk | ) |
Function*************************************************************
Synopsis [Analyze choice node support.]
Description []
SideEffects []
SeeAlso []
Definition at line 2086 of file abcUtil.c.
int Abc_NtkCompareConesCompare | ( | int * | pNum1, |
int * | pNum2 | ||
) |
Function*************************************************************
Synopsis [Compares the supergates by their level.]
Description []
SideEffects []
SeeAlso []
void Abc_NtkCompareSupports | ( | Abc_Ntk_t * | pNtk | ) |
Function*************************************************************
Synopsis [Analyze choice node support.]
Description []
SideEffects []
SeeAlso []
Definition at line 2168 of file abcUtil.c.
float Abc_NtkComputeDelay | ( | Abc_Ntk_t * | pNtk | ) |
Function*************************************************************
Synopsis [Computes max delay using log(n) delay model.]
Description []
SideEffects []
SeeAlso []
Definition at line 2448 of file abcUtil.c.
int Abc_NtkCountCopy | ( | Abc_Ntk_t * | pNtk | ) |
int Abc_NtkCountMuxes | ( | Abc_Ntk_t * | pNtk | ) |
int Abc_NtkCrossCut | ( | Abc_Ntk_t * | pNtk | ) |
Function*************************************************************
Synopsis [Computes cross-cut of the circuit.]
Description []
SideEffects []
SeeAlso []
Definition at line 2009 of file abcUtil.c.
int Abc_NtkCrossCut_rec | ( | Abc_Obj_t * | pObj, |
int * | pnCutSize, | ||
int * | pnCutSizeMax | ||
) |
Function*************************************************************
Synopsis [Computes cross-cut of the circuit.]
Description [Returns 1 if it is the last visit to the node.]
SideEffects []
SeeAlso []
Definition at line 1962 of file abcUtil.c.
void Abc_NtkDetectMatching | ( | Abc_Ntk_t * | pNtk | ) |
Function*************************************************************
Synopsis [Creates the array of fanout counters.]
Description []
SideEffects []
SeeAlso []
Definition at line 1701 of file abcUtil.c.
void Abc_NtkFillTemp | ( | Abc_Ntk_t * | pNtk | ) |
Function*************************************************************
Synopsis [Fixes the CO driver problem.]
Description []
SideEffects []
SeeAlso []
Definition at line 858 of file abcUtil.c.
Abc_Ntk_t* Abc_NtkFromPla | ( | char ** | pPlas, |
int | nInputs, | ||
int | nOutputs | ||
) |
Function*************************************************************
Synopsis [Converts multi-output PLA into an AIG with logic sharing.]
Description [The first argument is an array of char*-strings representing individual output of a multi-output PLA. The number of inputs (nInputs) and the number of outputs (nOutputs) are the second and third arguments. This procedure returns the AIG manager with the given number of inputs and outputs representing the PLA as a logic network with sharing.
For example, if the original PLA is 1000 10 0110 01 0011 01 the individual PLA for each the two outputs should be 1000 1 and 0110 1 0011 1
Reprsentation in terms of two char*-strings will be: char * pPlas[2] = { "1000 1\n", "0110 1\n0011 1\n" }; The call to the procedure may look as follows: Abc_Ntk_t * pNtkAig = Abc_NtkFromPla( pPlas, 4, 2 );]
SideEffects []
SeeAlso []
Definition at line 2708 of file abcUtil.c.
void Abc_NtkFromPlaTest | ( | ) |
Definition at line 2746 of file abcUtil.c.
int Abc_NtkGetAigNodeNum | ( | Abc_Ntk_t * | pNtk | ) |
int Abc_NtkGetBddNodeNum | ( | Abc_Ntk_t * | pNtk | ) |
Function*************************************************************
Synopsis [Reads the number of BDD nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 240 of file abcUtil.c.
int Abc_NtkGetBufNum | ( | Abc_Ntk_t * | pNtk | ) |
int Abc_NtkGetChoiceNum | ( | Abc_Ntk_t * | pNtk | ) |
Function*************************************************************
Synopsis [Returns the array of CI IDs.]
Description []
SideEffects []
SeeAlso []
Definition at line 1747 of file abcUtil.c.
int Abc_NtkGetClauseNum | ( | Abc_Ntk_t * | pNtk | ) |
Function*************************************************************
Synopsis [Reads the number of BDD nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 293 of file abcUtil.c.
int Abc_NtkGetCubeNum | ( | Abc_Ntk_t * | pNtk | ) |
int Abc_NtkGetCubePairNum | ( | Abc_Ntk_t * | pNtk | ) |
int Abc_NtkGetExorNum | ( | Abc_Ntk_t * | pNtk | ) |
int Abc_NtkGetFaninMax | ( | Abc_Ntk_t * | pNtk | ) |
int Abc_NtkGetFanoutMax | ( | Abc_Ntk_t * | pNtk | ) |
int Abc_NtkGetLitFactNum | ( | Abc_Ntk_t * | pNtk | ) |
int Abc_NtkGetLitNum | ( | Abc_Ntk_t * | pNtk | ) |
double Abc_NtkGetMappedArea | ( | Abc_Ntk_t * | pNtk | ) |
Function*************************************************************
Synopsis [Computes the area of the mapped circuit.]
Description []
SideEffects []
SeeAlso []
Definition at line 334 of file abcUtil.c.
int Abc_NtkGetMultiRefNum | ( | Abc_Ntk_t * | pNtk | ) |
int Abc_NtkGetMuxNum | ( | Abc_Ntk_t * | pNtk | ) |
int Abc_NtkGetTotalFanins | ( | Abc_Ntk_t * | pNtk | ) |
void Abc_NtkInvertConstraints | ( | Abc_Ntk_t * | pNtk | ) |
int Abc_NtkIsTopo | ( | Abc_Ntk_t * | pNtk | ) |
int Abc_NtkLogicHasSimpleCos | ( | Abc_Ntk_t * | pNtk | ) |
Function*************************************************************
Synopsis [Returns 1 if COs of a logic network are simple.]
Description [The COs of a logic network are simple under three conditions: (1) The edge from CO to its driver is not complemented. (2) If CI is a driver of a CO, they have the same name.] (3) If two COs share the same driver, they have the same name.]
SideEffects []
SeeAlso []
Definition at line 909 of file abcUtil.c.
int Abc_NtkLogicMakeSimpleCos | ( | Abc_Ntk_t * | pNtk, |
int | fDuplicate | ||
) |
Function*************************************************************
Synopsis [Transforms the network to have simple COs.]
Description []
SideEffects []
SeeAlso []
Definition at line 1047 of file abcUtil.c.
int Abc_NtkLogicMakeSimpleCos2 | ( | Abc_Ntk_t * | pNtk, |
int | fDuplicate | ||
) |
Function*************************************************************
Synopsis [Transforms the network to have simple COs.]
Description [The COs of a logic network are simple under three conditions: (1) The edge from CO to its driver is not complemented. (2) If CI is a driver of a CO, they have the same name.] (3) If two COs share the same driver, they have the same name. In some cases, such as FPGA mapping, we prevent the increase in delay by duplicating the driver nodes, rather than adding invs/bufs.]
SideEffects []
SeeAlso []
Definition at line 954 of file abcUtil.c.
void Abc_NtkLogicMakeSimpleCosTest | ( | Abc_Ntk_t * | pNtk, |
int | fDuplicate | ||
) |
void Abc_NtkOrderCisCos | ( | Abc_Ntk_t * | pNtk | ) |
int Abc_NtkPrepareTwoNtks | ( | FILE * | pErr, |
Abc_Ntk_t * | pNtk, | ||
char ** | argv, | ||
int | argc, | ||
Abc_Ntk_t ** | ppNtk1, | ||
Abc_Ntk_t ** | ppNtk2, | ||
int * | pfDelete1, | ||
int * | pfDelete2 | ||
) |
Function*************************************************************
Synopsis [Prepares two network for a two-argument command similar to "verify".]
Description []
SideEffects []
SeeAlso []
Definition at line 1481 of file abcUtil.c.
void Abc_NtkPrint256 | ( | ) |
Function*************************************************************
Synopsis [Prints all 3-var functions.]
Description []
SideEffects []
SeeAlso []
Definition at line 2038 of file abcUtil.c.
void Abc_NtkPrintCiLevels | ( | Abc_Ntk_t * | pNtk | ) |
void Abc_NtkReassignIds | ( | Abc_Ntk_t * | pNtk | ) |
Function*************************************************************
Synopsis [Puts the nodes into the DFS order and reassign their IDs.]
Description []
SideEffects []
SeeAlso []
Definition at line 1769 of file abcUtil.c.
Definition at line 2633 of file abcUtil.c.
void Abc_NtkReverseTopoOrder | ( | Abc_Ntk_t * | p | ) |
Definition at line 2615 of file abcUtil.c.
void Abc_NtkReverseTopoOrder_rec | ( | Abc_Obj_t * | pObj, |
int | fThisIsPivot | ||
) |
Definition at line 2581 of file abcUtil.c.
void Abc_NtkReverseTopoOrderTest | ( | Abc_Ntk_t * | p | ) |
Definition at line 2644 of file abcUtil.c.
Function*************************************************************
Synopsis [Saves copy field of the objects.]
Description []
SideEffects []
SeeAlso []
Definition at line 595 of file abcUtil.c.
Definition at line 2539 of file abcUtil.c.
Function*************************************************************
Synopsis [Checks if the logic network is in the topological order.]
Description []
SideEffects []
SeeAlso []
Definition at line 2765 of file abcUtil.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 2578 of file abcUtil.c.
|
inlinestatic |
Definition at line 2579 of file abcUtil.c.
void Abc_NtkTransferCopy | ( | Abc_Ntk_t * | pNtk | ) |
Function*************************************************************
Synopsis [Adjusts the copy pointers.]
Description [This procedure assumes that the network was transformed into another network, which was in turn transformed into yet another network. It makes the pCopy pointers of the original network point to the objects of the yet another network.]
SideEffects []
SeeAlso []
Definition at line 1922 of file abcUtil.c.
Function*************************************************************
Synopsis [Transfers phase information to the new network.]
Description []
SideEffects []
SeeAlso []
Definition at line 2875 of file abcUtil.c.
|
inlinestatic |
int Abc_ObjPointerCompare | ( | void ** | pp1, |
void ** | pp2 | ||
) |