diff options
Diffstat (limited to 'src/lib/netlist/nl_config.h')
-rw-r--r-- | src/lib/netlist/nl_config.h | 46 |
1 files changed, 21 insertions, 25 deletions
diff --git a/src/lib/netlist/nl_config.h b/src/lib/netlist/nl_config.h index 6a65abac40a..faa5008ff56 100644 --- a/src/lib/netlist/nl_config.h +++ b/src/lib/netlist/nl_config.h @@ -26,10 +26,21 @@ * linear memory pool. This is based of the assumption that * due to enhanced locality there will be less cache misses. * Your mileage may vary. - * This will cause crashes on OSX and thus is ignored on OSX. * */ -#define USE_MEMPOOL (0) +#define USE_MEMPOOL (1) + +/*! Store input values in logic_terminal_t. + * + * Set to 1 to store values in logic_terminal_t instead of + * accessing them indirectly by pointer from logic_net_t. + * This approach is stricter and should identify bugs in + * the netlist core faster. + * By default it is disabled since it is not as fast as + * the default approach. It is up to 5% slower. + * + */ +#define USE_COPY_INSTEAD_OF_REFERENCE (0) /* * FIXME: Using truthtable is a lot slower than the explicit device @@ -43,23 +54,13 @@ #define NL_MAX_LINK_RESOLVE_LOOPS (100) //============================================================ -// Solver defines -//============================================================ - -#define USE_GABS (1) -// savings are eaten up by effort -// FIXME: Convert into solver parameter -#define USE_LINEAR_PREDICTION (0) -#define NETLIST_GMIN_DEFAULT (1e-9) - - - -//============================================================ // DEBUGGING //============================================================ #define NL_DEBUG (false) #define NL_KEEP_STATISTICS (0) +//#define NL_DEBUG (true) +//#define NL_KEEP_STATISTICS (1) //============================================================ // General Macros @@ -86,24 +87,19 @@ #endif // !defined(USE_OPENMP) // Use nano-second resolution - Sufficient for now -#define NETLIST_INTERNAL_RES (UINT64_C(1000000000)) -#define NETLIST_CLOCK (NETLIST_INTERNAL_RES) + +static constexpr const auto NETLIST_INTERNAL_RES = 1000000000; +static constexpr const auto NETLIST_CLOCK = NETLIST_INTERNAL_RES; + +//#define NETLIST_INTERNAL_RES (UINT64_C(1000000000)) +//#define NETLIST_CLOCK (NETLIST_INTERNAL_RES) //#define NETLIST_INTERNAL_RES (UINT64_C(1000000000000)) //#define NETLIST_CLOCK (UINT64_C(1000000000)) //#define nl_double float -//#define NL_FCONST(x) (x ## f) - -//#define nl_double double -#define NL_FCONST(x) x using nl_double = double; -/* The following option determines how object::update is called. - * If set to 1, a virtual call is used. If it is left undefined, the best - * approach will be automatically selected. - */ - //============================================================ // WARNINGS //============================================================ |