abc-master
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include "misc/mem/mem2.h"
#include "misc/vec/vec.h"
#include "misc/vec/vecMem.h"
#include "misc/vec/vecHsh.h"
#include "misc/vec/vecWec.h"
#include "misc/util/utilTruth.h"
#include "mpmMig.h"
#include "mpm.h"
Go to the source code of this file.
Data Structures | |
struct | Mpm_Cut_t_ |
struct | Mpm_Uni_t_ |
struct | Mpm_Dsd_t_ |
struct | Mpm_Man_t_ |
Macros | |
#define | MPM_CUT_MAX 32 |
INCLUDES ///. More... | |
#define | MPM_UNIT_TIME 1 |
#define | MPM_UNIT_AREA 20 |
#define | MPM_UNIT_EDGE 50 |
#define | MPM_UNIT_REFS 100 |
#define | Mpm_ObjForEachCut(p, pObj, hCut, pCut) for ( hCut = Mpm_ObjCutList(p, pObj); hCut && (pCut = Mpm_CutFetch(p, hCut)); hCut = pCut->hNext ) |
#define | Mpm_ObjForEachCutSafe(p, pObj, hCut, pCut, hNext) for ( hCut = Mpm_ObjCutList(p, pObj); hCut && (pCut = Mpm_CutFetch(p, hCut)) && ((hNext = pCut->hNext), 1); hCut = hNext ) |
#define | Mpm_CutForEachLeafId(pCut, iLeafId, i) for ( i = 0; i < (int)pCut->nLeaves && ((iLeafId = Abc_Lit2Var(pCut->pLeaves[i])), 1); i++ ) |
#define | Mpm_CutForEachLeafLit(pCut, iLeafLit, i) for ( i = 0; i < (int)pCut->nLeaves && ((iLeafLit = pCut->pLeaves[i]), 1); i++ ) |
#define | Mpm_CutForEachLeaf(p, pCut, pLeaf, i) for ( i = 0; i < (int)pCut->nLeaves && (pLeaf = Mig_ManObj(p, Abc_Lit2Var(pCut->pLeaves[i]))); i++ ) |
Typedefs | |
typedef struct Mpm_Cut_t_ | Mpm_Cut_t |
BASIC TYPES ///. More... | |
typedef struct Mpm_Uni_t_ | Mpm_Uni_t |
typedef struct Mpm_Dsd_t_ | Mpm_Dsd_t |
typedef struct Mpm_Man_t_ | Mpm_Man_t |
#define MPM_CUT_MAX 32 |
INCLUDES ///.
CFile****************************************************************
FileName [mpmInt.h]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Configurable technology mapper.]
Synopsis [Interal declarations.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 1, 2013.]
Revision [
]PARAMETERS ///
#define Mpm_CutForEachLeaf | ( | p, | |
pCut, | |||
pLeaf, | |||
i | |||
) | for ( i = 0; i < (int)pCut->nLeaves && (pLeaf = Mig_ManObj(p, Abc_Lit2Var(pCut->pLeaves[i]))); i++ ) |
#define Mpm_CutForEachLeafId | ( | pCut, | |
iLeafId, | |||
i | |||
) | for ( i = 0; i < (int)pCut->nLeaves && ((iLeafId = Abc_Lit2Var(pCut->pLeaves[i])), 1); i++ ) |
#define Mpm_CutForEachLeafLit | ( | pCut, | |
iLeafLit, | |||
i | |||
) | for ( i = 0; i < (int)pCut->nLeaves && ((iLeafLit = pCut->pLeaves[i]), 1); i++ ) |
#define Mpm_ObjForEachCut | ( | p, | |
pObj, | |||
hCut, | |||
pCut | |||
) | for ( hCut = Mpm_ObjCutList(p, pObj); hCut && (pCut = Mpm_CutFetch(p, hCut)); hCut = pCut->hNext ) |
#define Mpm_ObjForEachCutSafe | ( | p, | |
pObj, | |||
hCut, | |||
pCut, | |||
hNext | |||
) | for ( hCut = Mpm_ObjCutList(p, pObj); hCut && (pCut = Mpm_CutFetch(p, hCut)) && ((hNext = pCut->hNext), 1); hCut = hNext ) |
typedef struct Mpm_Cut_t_ Mpm_Cut_t |
typedef struct Mpm_Dsd_t_ Mpm_Dsd_t |
typedef struct Mpm_Man_t_ Mpm_Man_t |
typedef struct Mpm_Uni_t_ Mpm_Uni_t |
void Kit_DsdPrintFromTruth | ( | unsigned * | pTruth, |
int | nVars | ||
) |
Function*************************************************************
Synopsis [Print the DSD formula.]
Description []
SideEffects []
SeeAlso []
Definition at line 490 of file kitDsd.c.
Mig_Man_t* Mig_ManCreate | ( | void * | pGia | ) |
FUNCTION DECLARATIONS ///.
Definition at line 83 of file mpmAbc.c.
Definition at line 186 of file mpmInt.h.
Function*************************************************************
Synopsis [Checks hash table for DSD class.]
Description []
SideEffects []
SeeAlso []
Definition at line 905 of file mpmDsd.c.
int Mpm_CutComputeDsd6 | ( | Mpm_Man_t * | p, |
Mpm_Cut_t * | pCut, | ||
Mpm_Cut_t * | pCut0, | ||
Mpm_Cut_t * | pCut1, | ||
Mpm_Cut_t * | pCutC, | ||
int | fCompl0, | ||
int | fCompl1, | ||
int | fComplC, | ||
int | Type | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 930 of file mpmDsd.c.
int Mpm_CutComputeTruth | ( | Mpm_Man_t * | p, |
Mpm_Cut_t * | pCut, | ||
Mpm_Cut_t * | pCut0, | ||
Mpm_Cut_t * | pCut1, | ||
Mpm_Cut_t * | pCutC, | ||
int | fCompl0, | ||
int | fCompl1, | ||
int | fComplC, | ||
int | Type | ||
) |
Definition at line 215 of file mpmTruth.c.
Definition at line 175 of file mpmInt.h.
|
inlinestatic |
Definition at line 174 of file mpmInt.h.
void Mpm_LibLutFree | ( | Mpm_LibLut_t * | pLib | ) |
Mpm_LibLut_t* Mpm_LibLutSetSimple | ( | int | nLutSize | ) |
DECLARATIONS ///.
CFile****************************************************************
FileName [mpmLib.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Configurable technology mapper.]
Synopsis [DSD manipulation for 6-input functions.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 1, 2013.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file mpmLib.c.
|
inlinestatic |
|
inlinestatic |
DECLARATIONS ///.
CFile****************************************************************
FileName [mpmGates.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Configurable technology mapper.]
Synopsis [Standard-cell mapping.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 1, 2013.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Finds matches fore each DSD class.]
Description []
SideEffects []
SeeAlso []
Definition at line 49 of file mpmGates.c.
void* Mpm_ManFromIfLogic | ( | Mpm_Man_t * | pMan | ) |
Definition at line 213 of file mpmAbc.c.
void Mpm_ManPerform | ( | Mpm_Man_t * | p | ) |
Definition at line 833 of file mpmMap.c.
void Mpm_ManPrecomputePerms | ( | Mpm_Man_t * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 755 of file mpmDsd.c.
void Mpm_ManPrepare | ( | Mpm_Man_t * | p | ) |
Function*************************************************************
Synopsis [Technology mapping experiment.]
Description []
SideEffects []
SeeAlso []
Definition at line 794 of file mpmMap.c.
void Mpm_ManPrintDsdStats | ( | Mpm_Man_t * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 665 of file mpmDsd.c.
void Mpm_ManPrintPerm | ( | unsigned | s | ) |
void Mpm_ManPrintStats | ( | Mpm_Man_t * | p | ) |
Definition at line 173 of file mpmMan.c.
void Mpm_ManPrintStatsInit | ( | Mpm_Man_t * | p | ) |
DECLARATIONS ///.
CFile****************************************************************
FileName [mpm.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Configurable technology mapper.]
Synopsis []
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 1, 2013.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file mpmMan.c.
void Mpm_ManStop | ( | Mpm_Man_t * | p | ) |
Definition at line 176 of file mpmInt.h.
Definition at line 203 of file mpmInt.h.
Definition at line 172 of file mpmInt.h.
Definition at line 180 of file mpmInt.h.
Definition at line 206 of file mpmInt.h.
Definition at line 193 of file mpmInt.h.
Definition at line 190 of file mpmInt.h.
Definition at line 197 of file mpmInt.h.
Definition at line 200 of file mpmInt.h.
|
inlinestatic |