|
HAL
|
#include "hal_core/netlist/boolean_function/simplification.h"#include <boost/fusion/include/at_c.hpp>#include <boost/fusion/sequence/intrinsic/at_c.hpp>#include <boost/spirit/home/x3.hpp>#include <mutex>#include <sstream>#include <string>
Go to the source code of this file.
Classes | |
| struct | Vec_Ptr_t_ |
| struct | Vec_Int_t_ |
| struct | Vec_Vec_t_ |
| struct | Hop_Obj_t_ |
| struct | Hop_Man_t_ |
| struct | Abc_Ntk_t_ |
| struct | Abc_Obj_t_ |
| struct | Abc_Frame_t_ |
Namespaces | |
| hal | |
Macros | |
| #define | ABC_FREE(obj) ((obj) ? (free((char*)(obj)), (obj) = 0) : 0) |
Typedefs | |
| typedef struct Vec_Ptr_t_ | Vec_Ptr_t |
| Copied from "src/misc/vec/vecPtr.h", see above for link to ABC's repository. More... | |
| typedef struct Vec_Int_t_ | Vec_Int_t |
| Copied from "src/misc/vec/vecInt.h", see above for link to ABC's repository. More... | |
| typedef struct Vec_Vec_t_ | Vec_Vec_t |
| Copied from "src/misc/vec/vecVec.h", see above for link to ABC's repository. More... | |
| typedef struct Nm_Man_t_ | Nm_Man_t |
| typedef struct Abc_Des_t_ | Abc_Des_t |
| typedef struct Mem_Fixed_t_ | Mem_Fixed_t |
| typedef struct Mem_Step_t_ | Mem_Step_t |
| typedef struct Abc_ManTime_t_ | Abc_ManTime_t |
| typedef struct Abc_Aig_t_ | Abc_Aig_t |
| typedef struct Abc_Cex_t_ | Abc_Cex_t |
| typedef struct st__table | st__table |
| typedef struct Gia_Man_t_ | Gia_Man_t |
| typedef struct Abc_Nam_t_ | Abc_Nam_t |
| typedef struct Dsd_Manager_t_ | DdManager |
| typedef void(* | Abc_Frame_Callback_BmcFrameDone_Func) (int, int, int) |
| typedef struct Vec_Wec_t_ | Vec_Wec_t |
| typedef int64_t | abctime |
| typedef struct Hop_Obj_t_ | Hop_Obj_t |
| Copied from "src/misc/vec/vecVec.h", see above for link to ABC's repository. More... | |
| typedef struct Hop_Man_t_ | Hop_Man_t |
| Copied from "src/aig/hop/hop.h", see above for link to ABC's repository. More... | |
| typedef struct Abc_Ntk_t_ | Abc_Ntk_t |
| Copied from "src/base/abc/abc.h", see above for link to ABC's repository. More... | |
| typedef struct Abc_Obj_t_ | Abc_Obj_t |
| Copied from "src/base/abc/abc.h", see above for link to ABC's repository. More... | |
| typedef struct Abc_Frame_t_ | Abc_Frame_t |
| Copied from "src/base/main/mainInt.h", see above for link to ABC's repository. More... | |
Enumerations | |
| enum | Abc_NtkFunc_t { ABC_FUNC_NONE = 0 , ABC_FUNC_SOP , ABC_FUNC_BDD , ABC_FUNC_AIG , ABC_FUNC_MAP , ABC_FUNC_BLIFMV , ABC_FUNC_BLACKBOX , ABC_FUNC_OTHER } |
| Copied from "src/base/abc/abc.h", see above for link to ABC's repository. More... | |
| enum | Abc_NtkType_t { ABC_NTK_NONE = 0 , ABC_NTK_NETLIST , ABC_NTK_LOGIC , ABC_NTK_STRASH , ABC_NTK_OTHER } |
| Copied from "src/base/abc/abc.h", see above for link to ABC's repository. More... | |
| enum | Abc_ObjType_t { ABC_OBJ_NONE = 0 , ABC_OBJ_CONST1 , ABC_OBJ_PI , ABC_OBJ_PO , ABC_OBJ_BI , ABC_OBJ_BO , ABC_OBJ_NET , ABC_OBJ_NODE , ABC_OBJ_LATCH , ABC_OBJ_WHITEBOX , ABC_OBJ_BLACKBOX , ABC_OBJ_NUMBER } |
| Copied from "src/base/abc/abc.h", see above for link to ABC's repository. More... | |
| enum | Hop_Type_t { AIG_NONE , AIG_CONST1 , AIG_PI , AIG_PO , AIG_AND , AIG_EXOR , AIG_VOID } |
| Copied from "src/aig/hop/hop.h", see above for link to ABC's repository. More... | |
| #define ABC_FREE | ( | obj | ) | ((obj) ? (free((char*)(obj)), (obj) = 0) : 0) |
| typedef struct Abc_Aig_t_ Abc_Aig_t |
Definition at line 1 of file simplification_abc.cpp.
| typedef struct Abc_Cex_t_ Abc_Cex_t |
Definition at line 1 of file simplification_abc.cpp.
| typedef struct Abc_Des_t_ Abc_Des_t |
Definition at line 1 of file simplification_abc.cpp.
| typedef void(* Abc_Frame_Callback_BmcFrameDone_Func) (int, int, int) |
Definition at line 122 of file simplification_abc.cpp.
| typedef struct Abc_Frame_t_ Abc_Frame_t |
Copied from "src/base/main/mainInt.h", see above for link to ABC's repository.
Definition at line 124 of file simplification_abc.cpp.
| typedef struct Abc_ManTime_t_ Abc_ManTime_t |
Definition at line 1 of file simplification_abc.cpp.
| typedef struct Abc_Nam_t_ Abc_Nam_t |
Definition at line 1 of file simplification_abc.cpp.
| typedef struct Abc_Ntk_t_ Abc_Ntk_t |
Copied from "src/base/abc/abc.h", see above for link to ABC's repository.
Definition at line 124 of file simplification_abc.cpp.
| typedef struct Abc_Obj_t_ Abc_Obj_t |
Copied from "src/base/abc/abc.h", see above for link to ABC's repository.
Definition at line 124 of file simplification_abc.cpp.
| typedef int64_t abctime |
Definition at line 124 of file simplification_abc.cpp.
| typedef struct Dsd_Manager_t_ DdManager |
Definition at line 1 of file simplification_abc.cpp.
| typedef struct Gia_Man_t_ Gia_Man_t |
Definition at line 1 of file simplification_abc.cpp.
| typedef struct Hop_Man_t_ Hop_Man_t |
Copied from "src/aig/hop/hop.h", see above for link to ABC's repository.
Definition at line 124 of file simplification_abc.cpp.
| typedef struct Hop_Obj_t_ Hop_Obj_t |
Copied from "src/misc/vec/vecVec.h", see above for link to ABC's repository.
Definition at line 124 of file simplification_abc.cpp.
| typedef struct Mem_Fixed_t_ Mem_Fixed_t |
Definition at line 1 of file simplification_abc.cpp.
| typedef struct Mem_Step_t_ Mem_Step_t |
Definition at line 1 of file simplification_abc.cpp.
| typedef struct Nm_Man_t_ Nm_Man_t |
List of forward declarations of specific ABC data types required within the data types that have to be known at compile-time.
Definition at line 1 of file simplification_abc.cpp.
Definition at line 1 of file simplification_abc.cpp.
| typedef struct Vec_Int_t_ Vec_Int_t |
Copied from "src/misc/vec/vecInt.h", see above for link to ABC's repository.
Definition at line 1 of file simplification_abc.cpp.
| typedef struct Vec_Ptr_t_ Vec_Ptr_t |
Copied from "src/misc/vec/vecPtr.h", see above for link to ABC's repository.
Definition at line 1 of file simplification_abc.cpp.
| typedef struct Vec_Vec_t_ Vec_Vec_t |
Copied from "src/misc/vec/vecVec.h", see above for link to ABC's repository.
Definition at line 1 of file simplification_abc.cpp.
| typedef struct Vec_Wec_t_ Vec_Wec_t |
Definition at line 122 of file simplification_abc.cpp.
| enum Abc_NtkFunc_t |
Copied from "src/base/abc/abc.h", see above for link to ABC's repository.
Since ABC is implemented in C (and we link towards the libabc.so within the HAL core), we have to forward declare and sometimes re-implement certain extern data types and (helper) functions we use from ABC [1]. Note that the code below is copied directy from ABC (and each data type or function is equipped with a '/// Copied from $FILENAME' to indiciate the original function implementation from ABC. Moreover note that we applied a code reformatting of various data types / functions in order to fit within the HAL code style.
[1] https://people.eecs.berkeley.edu/~alanmi/abc/
| Enumerator | |
|---|---|
| ABC_FUNC_NONE | |
| ABC_FUNC_SOP | |
| ABC_FUNC_BDD | |
| ABC_FUNC_AIG | |
| ABC_FUNC_MAP | |
| ABC_FUNC_BLIFMV | |
| ABC_FUNC_BLACKBOX | |
| ABC_FUNC_OTHER | |
Definition at line 31 of file simplification_abc.cpp.
| enum Abc_NtkType_t |
Copied from "src/base/abc/abc.h", see above for link to ABC's repository.
| Enumerator | |
|---|---|
| ABC_NTK_NONE | |
| ABC_NTK_NETLIST | |
| ABC_NTK_LOGIC | |
| ABC_NTK_STRASH | |
| ABC_NTK_OTHER | |
Definition at line 44 of file simplification_abc.cpp.
| enum Abc_ObjType_t |
Copied from "src/base/abc/abc.h", see above for link to ABC's repository.
| Enumerator | |
|---|---|
| ABC_OBJ_NONE | |
| ABC_OBJ_CONST1 | |
| ABC_OBJ_PI | |
| ABC_OBJ_PO | |
| ABC_OBJ_BI | |
| ABC_OBJ_BO | |
| ABC_OBJ_NET | |
| ABC_OBJ_NODE | |
| ABC_OBJ_LATCH | |
| ABC_OBJ_WHITEBOX | |
| ABC_OBJ_BLACKBOX | |
| ABC_OBJ_NUMBER | |
Definition at line 54 of file simplification_abc.cpp.
| enum Hop_Type_t |
Copied from "src/aig/hop/hop.h", see above for link to ABC's repository.
| Enumerator | |
|---|---|
| AIG_NONE | |
| AIG_CONST1 | |
| AIG_PI | |
| AIG_PO | |
| AIG_AND | |
| AIG_EXOR | |
| AIG_VOID | |
Definition at line 71 of file simplification_abc.cpp.
| int Abc_AigCleanup | ( | Abc_Aig_t * | ) |
| void Abc_FrameClearVerifStatus | ( | Abc_Frame_t * | ) |
| Abc_Frame_t* Abc_FrameGetGlobalFrame | ( | ) |
| void Abc_FrameReplaceCurrentNetwork | ( | Abc_Frame_t * | , |
| Abc_Ntk_t * | |||
| ) |
| Abc_Ntk_t* Abc_NtkAlloc | ( | Abc_NtkType_t | , |
| Abc_NtkFunc_t | , | ||
| int | |||
| ) |
| int Abc_NtkCheck | ( | Abc_Ntk_t * | ) |
| Abc_Obj_t* Abc_NtkCreateObj | ( | Abc_Ntk_t * | , |
| Abc_ObjType_t | |||
| ) |
| void Abc_NtkDelete | ( | Abc_Ntk_t * | ) |
| int Abc_NtkToAig | ( | Abc_Ntk_t * | ) |
| char* Abc_ObjAssignName | ( | Abc_Obj_t * | , |
| char * | , | ||
| char * | |||
| ) |
| char* Abc_ObjName | ( | Abc_Obj_t * | ) |
| void Abc_Start | ( | ) |
| void Abc_Stop | ( | ) |
| int Cmd_CommandExecute | ( | Abc_Frame_t * | , |
| const char * | |||
| ) |
| char* Extra_UtilStrsav | ( | const char * | ) |