#include "exor.h"
Go to the source code of this file.
Classes | |
| struct | que |
Functions | |
| int | GetDistance (Cube *pC1, Cube *pC2) |
| EXTERNAL FUNCTIONS ///. | |
| int | GetDistancePlus (Cube *pC1, Cube *pC2) |
| void | ExorVar (Cube *pC, int Var, varvalue Val) |
| void | AddToFreeCubes (Cube *pC) |
| FREE CUBE LIST MANIPULATION FUNCTIONS ///. | |
| Cube * | GetFreeCube () |
| int | ExorLinkCubeIteratorStart (Cube **pGroup, Cube *pC1, Cube *pC2, cubedist Dist) |
| ExorLink Functions. | |
| int | ExorLinkCubeIteratorNext (Cube **pGroup) |
| int | ExorLinkCubeIteratorPick (Cube **pGroup, int g) |
| void | ExorLinkCubeIteratorCleanUp (int fTakeLastGroup) |
| int | IterativelyApplyExorLink2 (char fDistEnable) |
| FUNCTIONS OF THIS MODULE ///. | |
| int | IterativelyApplyExorLink3 (char fDistEnable) |
| int | IterativelyApplyExorLink4 (char fDistEnable) |
| int | CheckForCloseCubes (Cube *p, int fAddCube) |
| int | CheckAndInsert (Cube *p) |
| Iterative ExorLink Operation ///. | |
| void | UndoRecentChanges () |
| int | IteratorCubePairStart (cubedist Dist, Cube **ppC1, Cube **ppC2) |
| int | IteratorCubePairNext () |
| int | AllocateCubeSets (int nVarsIn, int nVarsOut) |
| CUBE SET MANIPULATION PROCEDURES ///. | |
| void | DelocateCubeSets () |
| void | CubeInsert (Cube *p) |
| Insertion Operators ///. | |
| Cube * | CubeExtract (Cube *p) |
| Cube * | IterCubeSetStart () |
| Cube Set Iterator ///. | |
| Cube * | IterCubeSetNext () |
| int | AllocateQueques (int nPlaces) |
| void | DelocateQueques () |
| void | PrintQuequeStats () |
| int | GetQuequeStats (cubedist Dist) |
| int | GetPosDiff (int PosBeg, int PosEnd) |
Variables | |
| ABC_NAMESPACE_IMPL_START cinfo | g_CoverInfo |
| EXTERNAL VARIABLES ///. | |
| unsigned char | BitCount [] |
| int | s_nPosAlloc |
| EXPORTED VARIABLES /// /////////////////////////////////////////////////////////////////////`. | |
| int | s_nPosMax [3] |
| int | s_fDecreaseLiterals = 0 |
| Cube * | s_q |
| int | s_Distance |
| int | s_DiffVarNum |
| int | s_DiffVarValueP_old |
| int | s_DiffVarValueP_new |
| int | s_DiffVarValueQ |
| Cube * | s_pCubeLast |
| CUBE ITERATOR ///. | |
|
extern |
FREE CUBE LIST MANIPULATION FUNCTIONS ///.
Definition at line 157 of file exorCubes.c.

| int AllocateCubeSets | ( | int | nVarsIn, |
| int | nVarsOut ) |
CUBE SET MANIPULATION PROCEDURES ///.
Memory Allocation/Delocation ///
Definition at line 792 of file exorList.c.


| int AllocateQueques | ( | int | nPlaces | ) |
Definition at line 1112 of file exorList.c.


| int CheckAndInsert | ( | Cube * | p | ) |
Iterative ExorLink Operation ///.
Definition at line 270 of file exorList.c.

| int CheckForCloseCubes | ( | Cube * | p, |
| int | fAddCube ) |
Definition at line 643 of file exorList.c.


Definition at line 843 of file exorList.c.

| void CubeInsert | ( | Cube * | p | ) |
Insertion Operators ///.
Definition at line 824 of file exorList.c.

| void DelocateCubeSets | ( | ) |
| void DelocateQueques | ( | ) |
|
extern |
Definition at line 710 of file exorLink.c.


|
extern |
Definition at line 560 of file exorLink.c.


|
extern |
Definition at line 682 of file exorLink.c.
ExorLink Functions.
ExorLink Functions.
FUNCTION DEFINTIONS ///.
FUNCTIONS OF THIS MODULE ///
Definition at line 376 of file exorLink.c.


Definition at line 197 of file exorBits.c.

EXTERNAL FUNCTIONS ///.
EXTERNAL FUNCTIONS ///.
Definition at line 214 of file exorBits.c.
Definition at line 246 of file exorBits.c.


|
extern |
Definition at line 174 of file exorCubes.c.

| int GetPosDiff | ( | int | PosBeg, |
| int | PosEnd ) |
| int GetQuequeStats | ( | cubedist | Dist | ) |
Definition at line 998 of file exorList.c.


| int IterativelyApplyExorLink2 | ( | char | fDistEnable | ) |
FUNCTIONS OF THIS MODULE ///.
Definition at line 277 of file exorList.c.


| int IterativelyApplyExorLink3 | ( | char | fDistEnable | ) |
Definition at line 405 of file exorList.c.


| int IterativelyApplyExorLink4 | ( | char | fDistEnable | ) |
Definition at line 524 of file exorList.c.


| int IteratorCubePairNext | ( | ) |
Definition at line 1073 of file exorList.c.

Definition at line 1023 of file exorList.c.

| Cube * IterCubeSetNext | ( | ) |
| Cube * IterCubeSetStart | ( | ) |
Cube Set Iterator ///.
EXTERNAL FUNCTIONS ///.
Definition at line 880 of file exorList.c.

| void PrintQuequeStats | ( | ) |
Definition at line 985 of file exorList.c.
| void UndoRecentChanges | ( | ) |
Definition at line 750 of file exorList.c.


|
extern |
Definition at line 138 of file exorBits.c.
| int CutValue |
Definition at line 1017 of file exorList.c.
| cubedist Dist |
Definition at line 1012 of file exorList.c.
| int fInput |
Definition at line 221 of file exorList.c.
| int fStarted |
Definition at line 1011 of file exorList.c.
|
extern |
EXTERNAL VARIABLES ///.
CFile****************************************************************
FileName [exorList.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Exclusive sum-of-product minimization.]
Synopsis [Cube lists.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]
///
Implementation of EXORCISM - 4 ///
An Exclusive Sum-of-Product Minimizer ///
///
Alan Mishchenko <alanmi@ee.pdx.edu> ///
///
///
Iterative Cube Set Minimization ///
Iterative ExorLink Procedure ///
Support of Cube Pair Queques ///
///
Ver. 1.0. Started - July 18, 2000. Last update - July 20, 2000 /// Ver. 1.1. Started - July 24, 2000. Last update - July 29, 2000 /// Ver. 1.2. Started - July 30, 2000. Last update - July 31, 2000 /// Ver. 1.4. Started - Aug 10, 2000. Last update - Aug 26, 2000 /// Ver. 1.5. Started - Aug 30, 2000. Last update - Aug 30, 2000 /// Ver. 1.6. Started - Sep 11, 2000. Last update - Sep 15, 2000 /// Ver. 1.7. Started - Sep 20, 2000. Last update - Sep 23, 2000 /// ///
This software was tested with the BDD package "CUDD", v.2.3.0 /// by Fabio Somenzi /// http://vlsi.colorado.edu/~fabio/ ///
EXTERNAL VARIABLES ///.
EXTERNAL FUNCTIONS ///.
MACRO DEFINITIONS ///.
CFile****************************************************************
FileName [exor.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Exclusive sum-of-product minimization.]
Synopsis [Main procedure.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]
///
Implementation of EXORCISM - 4 ///
An Exclusive Sum-of-Product Minimizer ///
Alan Mishchenko <alanmi@ee.pdx.edu> ///
///
///
Main Module ///
ESOP Minimization Task Coordinator ///
///
1) interprets command line ///
2) calls the approapriate reading procedure ///
3) calls the minimization module ///
///
Ver. 1.0. Started - July 18, 2000. Last update - July 20, 2000 /// Ver. 1.1. Started - July 24, 2000. Last update - July 29, 2000 /// Ver. 1.4. Started - Aug 10, 2000. Last update - Aug 26, 2000 /// Ver. 1.6. Started - Sep 11, 2000. Last update - Sep 15, 2000 /// Ver. 1.7. Started - Sep 20, 2000. Last update - Sep 23, 2000 /// ///
This software was tested with the BDD package "CUDD", v.2.3.0 /// by Fabio Somenzi /// http://vlsi.colorado.edu/~fabio/ ///
| Cube* p |
Definition at line 222 of file exorList.c.
| int PosStop |
Definition at line 1015 of file exorList.c.
| Cube** ppC1 |
Definition at line 1013 of file exorList.c.
| Cube** ppC2 |
Definition at line 1014 of file exorList.c.
| int PrevID |
Definition at line 230 of file exorList.c.
| int PrevPa |
Definition at line 224 of file exorList.c.
| int PrevPq |
Definition at line 226 of file exorList.c.
| int PrevPz |
Definition at line 227 of file exorList.c.
| int PrevQa |
Definition at line 223 of file exorList.c.
| int PrevQq |
Definition at line 225 of file exorList.c.
| int s_DiffVarNum |
Definition at line 638 of file exorList.c.
| int s_DiffVarValueP_new |
Definition at line 640 of file exorList.c.
| int s_DiffVarValueP_old |
Definition at line 639 of file exorList.c.
| int s_DiffVarValueQ |
Definition at line 641 of file exorList.c.
| int s_Distance |
Definition at line 637 of file exorList.c.
| int s_fDecreaseLiterals = 0 |
Definition at line 247 of file exorList.c.
| int s_nPosAlloc |
EXPORTED VARIABLES /// /////////////////////////////////////////////////////////////////////`.
Definition at line 179 of file exorList.c.
| int s_nPosMax[3] |
Definition at line 181 of file exorList.c.
| Cube* s_pCubeLast |
CUBE ITERATOR ///.
Definition at line 874 of file exorList.c.
| Cube* s_q |
Definition at line 636 of file exorList.c.
| int Value |
Definition at line 229 of file exorList.c.
| int Var |
Definition at line 228 of file exorList.c.