^/v for arc display
This commit is contained in:
parent
1154fb89fd
commit
e68203dcf4
|
|
@ -146,7 +146,7 @@ TransRiseFallBoth::TransRiseFallBoth(const char *name,
|
||||||
int sdf_triple_index,
|
int sdf_triple_index,
|
||||||
TransRiseFall *as_rise_fall) :
|
TransRiseFall *as_rise_fall) :
|
||||||
name_(name),
|
name_(name),
|
||||||
short_name_(short_name),
|
short_name_(stringCopy(short_name)),
|
||||||
sdf_triple_index_(sdf_triple_index),
|
sdf_triple_index_(sdf_triple_index),
|
||||||
as_rise_fall_(as_rise_fall)
|
as_rise_fall_(as_rise_fall)
|
||||||
{
|
{
|
||||||
|
|
@ -182,6 +182,12 @@ TransRiseFallBoth::matches(const Transition *tr) const
|
||||||
&& tr == Transition::fall());
|
&& tr == Transition::fall());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
TransRiseFallBoth::setShortName(const char *short_name)
|
||||||
|
{
|
||||||
|
short_name_ = stringCopy(short_name);
|
||||||
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
TransitionMap *Transition::transition_map_;
|
TransitionMap *Transition::transition_map_;
|
||||||
|
|
@ -218,7 +224,26 @@ Transition::init()
|
||||||
tr_X0_ = new Transition("X0", "X0", TransRiseFall::fall(), 9);
|
tr_X0_ = new Transition("X0", "X0", TransRiseFall::fall(), 9);
|
||||||
tr_XZ_ = new Transition("XZ", "XZ", NULL, 10);
|
tr_XZ_ = new Transition("XZ", "XZ", NULL, 10);
|
||||||
tr_ZX_ = new Transition("ZX", "ZX", NULL, 11);
|
tr_ZX_ = new Transition("ZX", "ZX", NULL, 11);
|
||||||
rise_fall_ = new Transition("*", "**", NULL, -1);
|
rise_fall_ = new Transition("*", "**", NULL, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
Transition::Transition(const char *name,
|
||||||
|
const char *init_final,
|
||||||
|
TransRiseFall *as_rise_fall,
|
||||||
|
int sdf_triple_index) :
|
||||||
|
name_(stringCopy(name)),
|
||||||
|
init_final_(init_final),
|
||||||
|
as_rise_fall_(as_rise_fall),
|
||||||
|
sdf_triple_index_(sdf_triple_index)
|
||||||
|
{
|
||||||
|
(*transition_map_)[name_] = this;
|
||||||
|
(*transition_map_)[init_final_] = this;
|
||||||
|
max_index_ = max(sdf_triple_index, max_index_);
|
||||||
|
}
|
||||||
|
|
||||||
|
Transition::~Transition()
|
||||||
|
{
|
||||||
|
stringDelete(name_);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -243,20 +268,6 @@ Transition::destroy()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Transition::Transition(const char *name,
|
|
||||||
const char *init_final,
|
|
||||||
TransRiseFall *as_rise_fall,
|
|
||||||
int sdf_triple_index) :
|
|
||||||
name_(name),
|
|
||||||
init_final_(init_final),
|
|
||||||
as_rise_fall_(as_rise_fall),
|
|
||||||
sdf_triple_index_(sdf_triple_index)
|
|
||||||
{
|
|
||||||
(*transition_map_)[name_] = this;
|
|
||||||
(*transition_map_)[init_final_] = this;
|
|
||||||
max_index_ = max(sdf_triple_index, max_index_);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
Transition::matches(const Transition *tr) const
|
Transition::matches(const Transition *tr) const
|
||||||
{
|
{
|
||||||
|
|
@ -275,6 +286,12 @@ Transition::asRiseFallBoth() const
|
||||||
return reinterpret_cast<const TransRiseFallBoth*>(as_rise_fall_);
|
return reinterpret_cast<const TransRiseFallBoth*>(as_rise_fall_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
Transition::setName(const char *name)
|
||||||
|
{
|
||||||
|
name_ = stringCopy(name);
|
||||||
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
TransRiseFallIterator::TransRiseFallIterator(const TransRiseFallBoth *tr)
|
TransRiseFallIterator::TransRiseFallIterator(const TransRiseFallBoth *tr)
|
||||||
|
|
|
||||||
|
|
@ -89,6 +89,7 @@ public:
|
||||||
const char *asString() const { return short_name_; }
|
const char *asString() const { return short_name_; }
|
||||||
const char *name() const { return name_; }
|
const char *name() const { return name_; }
|
||||||
const char *shortName() const { return short_name_; }
|
const char *shortName() const { return short_name_; }
|
||||||
|
void setShortName(const char *short_name);
|
||||||
int index() const { return sdf_triple_index_; }
|
int index() const { return sdf_triple_index_; }
|
||||||
bool matches(const TransRiseFall *tr) const;
|
bool matches(const TransRiseFall *tr) const;
|
||||||
bool matches(const Transition *tr) const;
|
bool matches(const Transition *tr) const;
|
||||||
|
|
@ -138,6 +139,7 @@ public:
|
||||||
static Transition *trX0() { return tr_X0_; }
|
static Transition *trX0() { return tr_X0_; }
|
||||||
static Transition *trXZ() { return tr_XZ_; }
|
static Transition *trXZ() { return tr_XZ_; }
|
||||||
static Transition *trZX() { return tr_ZX_; }
|
static Transition *trZX() { return tr_ZX_; }
|
||||||
|
void setName(const char *name);
|
||||||
// Matches rise and fall.
|
// Matches rise and fall.
|
||||||
static Transition *riseFall() { return rise_fall_; }
|
static Transition *riseFall() { return rise_fall_; }
|
||||||
const char *asString() const { return name_; }
|
const char *asString() const { return name_; }
|
||||||
|
|
@ -157,6 +159,12 @@ private:
|
||||||
const char *init_final,
|
const char *init_final,
|
||||||
TransRiseFall *as_rise_fall,
|
TransRiseFall *as_rise_fall,
|
||||||
int sdf_triple_index);
|
int sdf_triple_index);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
~Transition();
|
||||||
|
|
||||||
const char *name_;
|
const char *name_;
|
||||||
const char *init_final_;
|
const char *init_final_;
|
||||||
TransRiseFall *as_rise_fall_;
|
TransRiseFall *as_rise_fall_;
|
||||||
|
|
|
||||||
|
|
@ -93,12 +93,8 @@ Unit::asString(float value,
|
||||||
int digits) const
|
int digits) const
|
||||||
{
|
{
|
||||||
// Special case INF because it blows up otherwise.
|
// Special case INF because it blows up otherwise.
|
||||||
if (abs(value) >= INF * .1) {
|
if (abs(value) >= INF * .1)
|
||||||
if (value > 0.0)
|
return (value > 0.0) ? "INF" : "-INF";
|
||||||
return "INF";
|
|
||||||
else
|
|
||||||
return "-INF";
|
|
||||||
}
|
|
||||||
else {
|
else {
|
||||||
float scaled_value = value / scale_;
|
float scaled_value = value / scale_;
|
||||||
// prevent "-0.00" on slowaris
|
// prevent "-0.00" on slowaris
|
||||||
|
|
|
||||||
|
|
@ -2425,6 +2425,12 @@ set_rise_fall_short_names(const char *rise_short_name,
|
||||||
{
|
{
|
||||||
TransRiseFall::rise()->setShortName(rise_short_name);
|
TransRiseFall::rise()->setShortName(rise_short_name);
|
||||||
TransRiseFall::fall()->setShortName(fall_short_name);
|
TransRiseFall::fall()->setShortName(fall_short_name);
|
||||||
|
|
||||||
|
TransRiseFallBoth::rise()->setShortName(rise_short_name);
|
||||||
|
TransRiseFallBoth::fall()->setShortName(fall_short_name);
|
||||||
|
|
||||||
|
Transition::rise()->setName(rise_short_name);
|
||||||
|
Transition::fall()->setName(fall_short_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *
|
const char *
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,6 @@ class LibertyCell;
|
||||||
|
|
||||||
typedef Vector<VerilogNet*> VerilogNetSeq;
|
typedef Vector<VerilogNet*> VerilogNetSeq;
|
||||||
typedef Vector<VerilogStmt*> VerilogStmtSeq;
|
typedef Vector<VerilogStmt*> VerilogStmtSeq;
|
||||||
typedef Vector<const char*> StringSeq;
|
|
||||||
typedef Map<const char*, VerilogDcl*, CharPtrLess> VerilogDclMap;
|
typedef Map<const char*, VerilogDcl*, CharPtrLess> VerilogDclMap;
|
||||||
typedef Vector<VerilogDclArg*> VerilogDclArgSeq;
|
typedef Vector<VerilogDclArg*> VerilogDclArgSeq;
|
||||||
typedef Map<Cell*, VerilogModule*> VerilogModuleMap;
|
typedef Map<Cell*, VerilogModule*> VerilogModuleMap;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue