![]() |
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 * | ) |