cudd compilation
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
289f2f2f2a
commit
5a765a7606
|
|
@ -35,16 +35,19 @@
|
|||
#if CUDD
|
||||
// https://davidkebo.com/cudd
|
||||
#include "cudd.h"
|
||||
#endif // CUDD
|
||||
#else
|
||||
#define Cudd_Init(ignore1, ignore2, ignore3, ignore4, ignore5) nullptr
|
||||
#define Cudd_Quit(ignore1)
|
||||
#endif
|
||||
|
||||
namespace sta {
|
||||
|
||||
static LogicValue
|
||||
logicNot(LogicValue value);
|
||||
static Pin *
|
||||
findDrvrPin(const Pin *pin,
|
||||
Network *network);
|
||||
|
||||
#if CUDD
|
||||
|
||||
Sim::Sim(StaState *sta) :
|
||||
StaState(sta),
|
||||
observer_(nullptr),
|
||||
|
|
@ -62,6 +65,8 @@ Sim::~Sim()
|
|||
Cudd_Quit(cudd_manager_);
|
||||
}
|
||||
|
||||
#if CUDD
|
||||
|
||||
TimingSense
|
||||
Sim::functionSense(const FuncExpr *expr,
|
||||
const Pin *input_pin,
|
||||
|
|
@ -224,15 +229,6 @@ Sim::ensureNode(LibertyPort *port) const
|
|||
#else
|
||||
// No CUDD.
|
||||
|
||||
static LogicValue
|
||||
logicNot(LogicValue value)
|
||||
{
|
||||
static LogicValue logic_not[5] = {LogicValue::one, LogicValue::zero,
|
||||
LogicValue::unknown, LogicValue::unknown,
|
||||
LogicValue::unknown};
|
||||
return logic_not[int(value)];
|
||||
}
|
||||
|
||||
static LogicValue
|
||||
logicOr(LogicValue value1,
|
||||
LogicValue value2)
|
||||
|
|
@ -319,20 +315,6 @@ senseXor(TimingSense sense1,
|
|||
return xor_sense[int(sense1)][int(sense2)];
|
||||
}
|
||||
|
||||
Sim::Sim(StaState *sta) :
|
||||
StaState(sta),
|
||||
observer_(nullptr),
|
||||
valid_(false),
|
||||
incremental_(false),
|
||||
const_func_pins_valid_(false)
|
||||
{
|
||||
}
|
||||
|
||||
Sim::~Sim()
|
||||
{
|
||||
delete observer_;
|
||||
}
|
||||
|
||||
TimingSense
|
||||
Sim::functionSense(const FuncExpr *expr,
|
||||
const Pin *input_pin,
|
||||
|
|
@ -515,6 +497,15 @@ Sim::evalExpr(const FuncExpr *expr,
|
|||
|
||||
#endif // CUDD
|
||||
|
||||
static LogicValue
|
||||
logicNot(LogicValue value)
|
||||
{
|
||||
static LogicValue logic_not[5] = {LogicValue::one, LogicValue::zero,
|
||||
LogicValue::unknown, LogicValue::unknown,
|
||||
LogicValue::unknown};
|
||||
return logic_not[int(value)];
|
||||
}
|
||||
|
||||
void
|
||||
Sim::clear()
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue