#include <math.h>#include "mioInt.h"#include "base/main/main.h"#include "exp.h"#include "misc/util/utilTruth.h"#include "opt/dau/dau.h"#include "misc/util/utilNam.h"#include "map/scl/sclLib.h"#include "map/scl/sclCon.h"
Go to the source code of this file.
Functions | |
| ABC_NAMESPACE_IMPL_START void | Mio_LibraryDelete (Mio_Library_t *pLib) |
| DECLARATIONS ///. | |
| void | Mio_GateDelete (Mio_Gate_t *pGate) |
| void | Mio_PinDelete (Mio_Pin_t *pPin) |
| Mio_Pin_t * | Mio_PinDup (Mio_Pin_t *pPin) |
| int | Mio_CheckPins (Mio_Pin_t *pPin1, Mio_Pin_t *pPin2) |
| int | Mio_CheckGates (Mio_Library_t *pLib) |
| void | Mio_WritePin (FILE *pFile, Mio_Pin_t *pPin, int NameLen, int fAllPins) |
| void | Mio_WriteGate (FILE *pFile, Mio_Gate_t *pGate, int GateLen, int NameLen, int FormLen, int fPrintSops, int fAllPins) |
| void | Mio_WriteLibrary (FILE *pFile, Mio_Library_t *pLib, int fPrintSops, int fShort, int fSelected) |
| void | Exp_PrintNodeVerilog (FILE *pFile, int nVars, Vec_Int_t *p, Vec_Ptr_t *vNames, int Node, int fCompl) |
| void | Exp_PrintLitVerilog (FILE *pFile, int nVars, Vec_Int_t *p, Vec_Ptr_t *vNames, int Lit) |
| void | Exp_PrintVerilog (FILE *pFile, int nVars, Vec_Int_t *p, Vec_Ptr_t *vNames) |
| void | Mio_WriteGateVerilog (FILE *pFile, Mio_Gate_t *pGate, Vec_Ptr_t *vNames) |
| void | Mio_WriteLibraryVerilog (FILE *pFile, Mio_Library_t *pLib, int fPrintSops, int fShort, int fSelected) |
| int | Mio_DelayCompare (Mio_Gate_t **ppG1, Mio_Gate_t **ppG2) |
| int | Mio_AreaCompare (Mio_Cell_t *pG1, Mio_Cell_t *pG2) |
| int | Mio_AreaCompare2 (Mio_Cell2_t *pG1, Mio_Cell2_t *pG2) |
| Mio_Gate_t ** | Mio_CollectRoots (Mio_Library_t *pLib, int nInputs, float tDelay, int fSkipInv, int *pnGates, int fVerbose) |
| Mio_Cell_t * | Mio_CollectRootsNew (Mio_Library_t *pLib, int nInputs, int *pnGates, int fVerbose) |
| Mio_Cell_t * | Mio_CollectRootsNewDefault (int nInputs, int *pnGates, int fVerbose) |
| Mio_Cell2_t * | Mio_CollectRootsNew2 (Mio_Library_t *pLib, int nInputs, int *pnGates, int fVerbose) |
| Mio_Cell2_t * | Mio_CollectRootsNewDefault2 (int nInputs, int *pnGates, int fVerbose) |
| int | Mio_CollectRootsNewDefault3 (int nInputs, Vec_Ptr_t **pvNames, Vec_Wrd_t **pvTruths) |
| word | Mio_DeriveTruthTable6 (Mio_Gate_t *pGate) |
| void | Mio_DeriveTruthTable (Mio_Gate_t *pGate, unsigned uTruthsIn[][2], int nSigns, int nInputs, unsigned uTruthRes[]) |
| int | Mio_SopGetVarNum (char *pSop) |
| void | Mio_DeriveTruthTable2 (Mio_Gate_t *pGate, unsigned uTruthsIn[][2], int nTruths, int nInputs, unsigned uTruthRes[]) |
| void | Mio_DeriveGateDelays (Mio_Gate_t *pGate, float **ptPinDelays, int nPins, int nInputs, float tDelayZero, float *ptDelaysRes, float *ptPinDelayMax) |
| Mio_Gate_t * | Mio_GateCreatePseudo (int nInputs) |
| void | Mio_LibraryShiftDelay (Mio_Library_t *pLib, double Shift) |
| void | Mio_LibraryMultiArea (Mio_Library_t *pLib, double Multi) |
| void | Mio_LibraryMultiDelay (Mio_Library_t *pLib, double Multi) |
| void | Mio_LibraryTransferDelays (Mio_Library_t *pLibD, Mio_Library_t *pLibS) |
| void | Nf_ManPrepareGate (int nVars, word uTruth, int *pComp, int *pPerm, Vec_Wrd_t *vResult) |
| void | Nf_ManPreparePrint (int nVars, int *pComp, int *pPerm, char Line[2 *720 *64][8]) |
| void | Nf_ManPrepareLibrary (Mio_Library_t *pLib) |
| void | Nf_ManPrepareLibraryTest2 () |
| void | Mio_LibraryTransferCellIds () |
| void | Mio_LibraryReadProfile (FILE *pFile, Mio_Library_t *pLib) |
| void | Mio_LibraryWriteProfile (FILE *pFile, Mio_Library_t *pLib) |
| int | Mio_LibraryHasProfile (Mio_Library_t *pLib) |
| void | Mio_LibraryTransferProfile (Mio_Library_t *pLibDst, Mio_Library_t *pLibSrc) |
| void | Mio_LibraryTransferProfile2 (Mio_Library_t *pLibDst, Mio_Library_t *pLibSrc) |
| void | Mio_LibraryCleanProfile2 (Mio_Library_t *pLib) |
| void | Mio_LibraryHashGates (Mio_Library_t *pLib) |
| void | Mio_LibraryShortFormula (Mio_Gate_t *pCell, char *pForm, char *pBuffer) |
| void | Mio_LibraryShortNames (Mio_Library_t *pLib) |
| void | Mio_LibraryMatchesStop (Mio_Library_t *pLib) |
| void | Mio_LibraryMatchesStart (Mio_Library_t *pLib, int fPinFilter, int fPinPerm, int fPinQuick) |
| void | Mio_LibraryMatchesFetch (Mio_Library_t *pLib, Vec_Mem_t **pvTtMem, Vec_Wec_t **pvTt2Match, Mio_Cell2_t **ppCells, int *pnCells, int fPinFilter, int fPinPerm, int fPinQuick) |
| void | Mio_LibraryMatches2Stop (Mio_Library_t *pLib) |
| void | Mio_LibraryMatches2Start (Mio_Library_t *pLib) |
| void | Mio_LibraryMatches2Fetch (Mio_Library_t *pLib, Vec_Ptr_t **pvNames, Vec_Wrd_t **pvTruths, Vec_Int_t **pvTt2Match4, Vec_Int_t **pvConfigs, Vec_Mem_t *pvTtMem2[3], Vec_Int_t *pvTt2Match2[3]) |
Definition at line 321 of file mioUtils.c.


| void Exp_PrintNodeVerilog | ( | FILE * | pFile, |
| int | nVars, | ||
| Vec_Int_t * | p, | ||
| Vec_Ptr_t * | vNames, | ||
| int | Node, | ||
| int | fCompl ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 306 of file mioUtils.c.


Definition at line 332 of file mioUtils.c.


| int Mio_AreaCompare | ( | Mio_Cell_t * | pG1, |
| Mio_Cell_t * | pG2 ) |
Definition at line 416 of file mioUtils.c.


| int Mio_AreaCompare2 | ( | Mio_Cell2_t * | pG1, |
| Mio_Cell2_t * | pG2 ) |
Definition at line 437 of file mioUtils.c.


| int Mio_CheckGates | ( | Mio_Library_t * | pLib | ) |
Definition at line 175 of file mioUtils.c.


Function*************************************************************
Synopsis [Check if pin characteristics are the same.]
Description []
SideEffects []
SeeAlso []
Definition at line 157 of file mioUtils.c.

| Mio_Gate_t ** Mio_CollectRoots | ( | Mio_Library_t * | pLib, |
| int | nInputs, | ||
| float | tDelay, | ||
| int | fSkipInv, | ||
| int * | pnGates, | ||
| int | fVerbose ) |
Definition at line 515 of file mioUtils.c.


| Mio_Cell_t * Mio_CollectRootsNew | ( | Mio_Library_t * | pLib, |
| int | nInputs, | ||
| int * | pnGates, | ||
| int | fVerbose ) |
Definition at line 623 of file mioUtils.c.


| Mio_Cell2_t * Mio_CollectRootsNew2 | ( | Mio_Library_t * | pLib, |
| int | nInputs, | ||
| int * | pnGates, | ||
| int | fVerbose ) |
Definition at line 774 of file mioUtils.c.


| Mio_Cell_t * Mio_CollectRootsNewDefault | ( | int | nInputs, |
| int * | pnGates, | ||
| int | fVerbose ) |
Definition at line 715 of file mioUtils.c.


| Mio_Cell2_t * Mio_CollectRootsNewDefault2 | ( | int | nInputs, |
| int * | pnGates, | ||
| int | fVerbose ) |
Definition at line 877 of file mioUtils.c.


Function*************************************************************
Synopsis [Derives the truth table of the gate.]
Description []
SideEffects []
SeeAlso []
Definition at line 893 of file mioUtils.c.

| int Mio_DelayCompare | ( | Mio_Gate_t ** | ppG1, |
| Mio_Gate_t ** | ppG2 ) |
Function*************************************************************
Synopsis [Compares the max delay of two gates.]
Description []
SideEffects []
SeeAlso []
Definition at line 399 of file mioUtils.c.


| void Mio_DeriveGateDelays | ( | Mio_Gate_t * | pGate, |
| float ** | ptPinDelays, | ||
| int | nPins, | ||
| int | nInputs, | ||
| float | tDelayZero, | ||
| float * | ptDelaysRes, | ||
| float * | ptPinDelayMax ) |
Function*************************************************************
Synopsis [Derives the area and delay of the root of the gate.]
Description [Array of the resulting delays should be initialized to the (negative) SUPER_NO_VAR value.]
SideEffects []
SeeAlso []
Definition at line 1153 of file mioUtils.c.

| void Mio_DeriveTruthTable | ( | Mio_Gate_t * | pGate, |
| unsigned | uTruthsIn[][2], | ||
| int | nSigns, | ||
| int | nInputs, | ||
| unsigned | uTruthRes[] ) |
Function*************************************************************
Synopsis [Derives the truth table of the gate.]
Description []
SideEffects []
SeeAlso []
Definition at line 1036 of file mioUtils.c.

| void Mio_DeriveTruthTable2 | ( | Mio_Gate_t * | pGate, |
| unsigned | uTruthsIn[][2], | ||
| int | nTruths, | ||
| int | nInputs, | ||
| unsigned | uTruthRes[] ) |
Function*************************************************************
Synopsis [Derives the truth table of the root of the gate.]
Description [Given the truth tables of the leaves of the gate, this procedure derives the truth table of the root.]
SideEffects []
SeeAlso []
Definition at line 1080 of file mioUtils.c.

| word Mio_DeriveTruthTable6 | ( | Mio_Gate_t * | pGate | ) |
Function*************************************************************
Synopsis [Derives the truth table of the gate.]
Description []
SideEffects []
SeeAlso []
Definition at line 942 of file mioUtils.c.

| Mio_Gate_t * Mio_GateCreatePseudo | ( | int | nInputs | ) |
Function*************************************************************
Synopsis [Creates a pseudo-gate.]
Description [The pseudo-gate is a N-input gate with all info set to 0.]
SideEffects []
SeeAlso []
Definition at line 1199 of file mioUtils.c.

| void Mio_GateDelete | ( | Mio_Gate_t * | pGate | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 87 of file mioUtils.c.


| void Mio_LibraryCleanProfile2 | ( | Mio_Library_t * | pLib | ) |
Definition at line 1616 of file mioUtils.c.


| ABC_NAMESPACE_IMPL_START void Mio_LibraryDelete | ( | Mio_Library_t * | pLib | ) |
DECLARATIONS ///.
CFile****************************************************************
FileName [mioUtils.c]
PackageName [MVSIS 1.3: Multi-valued logic synthesis system.]
Synopsis [File reading/writing for technology mapping.]
Author [MVSIS Group]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - September 8, 2003.]
Revision [
] FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 51 of file mioUtils.c.


| void Mio_LibraryHashGates | ( | Mio_Library_t * | pLib | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 1634 of file mioUtils.c.


| int Mio_LibraryHasProfile | ( | Mio_Library_t * | pLib | ) |
Definition at line 1555 of file mioUtils.c.


| void Mio_LibraryMatches2Fetch | ( | Mio_Library_t * | pLib, |
| Vec_Ptr_t ** | pvNames, | ||
| Vec_Wrd_t ** | pvTruths, | ||
| Vec_Int_t ** | pvTt2Match4, | ||
| Vec_Int_t ** | pvConfigs, | ||
| Vec_Mem_t * | pvTtMem2[3], | ||
| Vec_Int_t * | pvTt2Match2[3] ) |
Definition at line 1830 of file mioUtils.c.

| void Mio_LibraryMatches2Start | ( | Mio_Library_t * | pLib | ) |
Definition at line 1821 of file mioUtils.c.


| void Mio_LibraryMatches2Stop | ( | Mio_Library_t * | pLib | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 1805 of file mioUtils.c.

| void Mio_LibraryMatchesFetch | ( | Mio_Library_t * | pLib, |
| Vec_Mem_t ** | pvTtMem, | ||
| Vec_Wec_t ** | pvTt2Match, | ||
| Mio_Cell2_t ** | ppCells, | ||
| int * | pnCells, | ||
| int | fPinFilter, | ||
| int | fPinPerm, | ||
| int | fPinQuick ) |
Definition at line 1785 of file mioUtils.c.


| void Mio_LibraryMatchesStart | ( | Mio_Library_t * | pLib, |
| int | fPinFilter, | ||
| int | fPinPerm, | ||
| int | fPinQuick ) |
Definition at line 1768 of file mioUtils.c.


| void Mio_LibraryMatchesStop | ( | Mio_Library_t * | pLib | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 1759 of file mioUtils.c.

| void Mio_LibraryMultiArea | ( | Mio_Library_t * | pLib, |
| double | Multi ) |
Function*************************************************************
Synopsis [Multiply areas/delays by values proportional to fanin count.]
Description []
SideEffects []
SeeAlso []
Definition at line 1257 of file mioUtils.c.

| void Mio_LibraryMultiDelay | ( | Mio_Library_t * | pLib, |
| double | Multi ) |
Definition at line 1269 of file mioUtils.c.

| void Mio_LibraryReadProfile | ( | FILE * | pFile, |
| Mio_Library_t * | pLib ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 1523 of file mioUtils.c.

| void Mio_LibraryShiftDelay | ( | Mio_Library_t * | pLib, |
| double | Shift ) |
Function*************************************************************
Synopsis [Adds constant value to all delay values.]
Description [The pseudo-gate is a N-input gate with all info set to 0.]
SideEffects []
SeeAlso []
Definition at line 1230 of file mioUtils.c.
| void Mio_LibraryShortFormula | ( | Mio_Gate_t * | pCell, |
| char * | pForm, | ||
| char * | pBuffer ) |
Definition at line 1680 of file mioUtils.c.


| void Mio_LibraryShortNames | ( | Mio_Library_t * | pLib | ) |
Definition at line 1711 of file mioUtils.c.

| void Mio_LibraryTransferCellIds | ( | ) |
Function*************************************************************
Synopsis [Install library.]
Description []
SideEffects []
SeeAlso []
Definition at line 1484 of file mioUtils.c.

| void Mio_LibraryTransferDelays | ( | Mio_Library_t * | pLibD, |
| Mio_Library_t * | pLibS ) |
Function*************************************************************
Synopsis [Transfers delays from the second to the first.]
Description []
SideEffects []
SeeAlso []
Definition at line 1300 of file mioUtils.c.


| void Mio_LibraryTransferProfile | ( | Mio_Library_t * | pLibDst, |
| Mio_Library_t * | pLibSrc ) |
Definition at line 1565 of file mioUtils.c.


| void Mio_LibraryTransferProfile2 | ( | Mio_Library_t * | pLibDst, |
| Mio_Library_t * | pLibSrc ) |
Definition at line 1590 of file mioUtils.c.


| void Mio_LibraryWriteProfile | ( | FILE * | pFile, |
| Mio_Library_t * | pLib ) |
Definition at line 1547 of file mioUtils.c.

| void Mio_PinDelete | ( | Mio_Pin_t * | pPin | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 114 of file mioUtils.c.

Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 131 of file mioUtils.c.

| int Mio_SopGetVarNum | ( | char * | pSop | ) |
Function*************************************************************
Synopsis [Reads the number of variables in the cover.]
Description []
SideEffects []
SeeAlso []
Definition at line 1059 of file mioUtils.c.

| void Mio_WriteGate | ( | FILE * | pFile, |
| Mio_Gate_t * | pGate, | ||
| int | GateLen, | ||
| int | NameLen, | ||
| int | FormLen, | ||
| int | fPrintSops, | ||
| int | fAllPins ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 226 of file mioUtils.c.


| void Mio_WriteGateVerilog | ( | FILE * | pFile, |
| Mio_Gate_t * | pGate, | ||
| Vec_Ptr_t * | vNames ) |
Definition at line 336 of file mioUtils.c.


| void Mio_WriteLibrary | ( | FILE * | pFile, |
| Mio_Library_t * | pLib, | ||
| int | fPrintSops, | ||
| int | fShort, | ||
| int | fSelected ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 262 of file mioUtils.c.

| void Mio_WriteLibraryVerilog | ( | FILE * | pFile, |
| Mio_Library_t * | pLib, | ||
| int | fPrintSops, | ||
| int | fShort, | ||
| int | fSelected ) |
Definition at line 357 of file mioUtils.c.

| void Mio_WritePin | ( | FILE * | pFile, |
| Mio_Pin_t * | pPin, | ||
| int | NameLen, | ||
| int | fAllPins ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 199 of file mioUtils.c.

Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 1342 of file mioUtils.c.


| void Nf_ManPrepareLibrary | ( | Mio_Library_t * | pLib | ) |
Definition at line 1404 of file mioUtils.c.


| void Nf_ManPrepareLibraryTest2 | ( | ) |
Definition at line 1463 of file mioUtils.c.

| void Nf_ManPreparePrint | ( | int | nVars, |
| int * | pComp, | ||
| int * | pPerm, | ||
| char | Line[2 *720 *64][8] ) |
Definition at line 1367 of file mioUtils.c.
