A signal can be an enumeration variable.
An enumeration variable can be a R-value in an enumeration assignment so pass on this attribute.
This commit is contained in:
parent
f957deeca7
commit
5347217b56
|
|
@ -2423,7 +2423,7 @@ const NetScope* NetEScope::scope() const
|
||||||
}
|
}
|
||||||
|
|
||||||
NetESignal::NetESignal(NetNet*n)
|
NetESignal::NetESignal(NetNet*n)
|
||||||
: NetExpr(n->vector_width()), net_(n), word_(0)
|
: NetExpr(n->vector_width()), net_(n), enum_type_(n->enumeration()), word_(0)
|
||||||
{
|
{
|
||||||
net_->incr_eref();
|
net_->incr_eref();
|
||||||
set_line(*n);
|
set_line(*n);
|
||||||
|
|
@ -2448,6 +2448,11 @@ perm_string NetESignal::name() const
|
||||||
return net_->name();
|
return net_->name();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
netenum_t* NetESignal::enumeration() const
|
||||||
|
{
|
||||||
|
return enum_type_;
|
||||||
|
}
|
||||||
|
|
||||||
const NetExpr* NetESignal::word_index() const
|
const NetExpr* NetESignal::word_index() const
|
||||||
{
|
{
|
||||||
return word_;
|
return word_;
|
||||||
|
|
|
||||||
|
|
@ -4086,6 +4086,7 @@ class NetESignal : public NetExpr {
|
||||||
virtual NetESignal* dup_expr() const;
|
virtual NetESignal* dup_expr() const;
|
||||||
NetNet* synthesize(Design*des, NetScope*scope, NetExpr*root);
|
NetNet* synthesize(Design*des, NetScope*scope, NetExpr*root);
|
||||||
NexusSet* nex_input(bool rem_out = true);
|
NexusSet* nex_input(bool rem_out = true);
|
||||||
|
netenum_t*enumeration() const;
|
||||||
|
|
||||||
virtual NetExpr*evaluate_function(const LineInfo&loc,
|
virtual NetExpr*evaluate_function(const LineInfo&loc,
|
||||||
std::map<perm_string,NetExpr*>&ctx) const;
|
std::map<perm_string,NetExpr*>&ctx) const;
|
||||||
|
|
@ -4110,6 +4111,7 @@ class NetESignal : public NetExpr {
|
||||||
|
|
||||||
private:
|
private:
|
||||||
NetNet*net_;
|
NetNet*net_;
|
||||||
|
netenum_t*enum_type_;
|
||||||
// Expression to select a word from the net.
|
// Expression to select a word from the net.
|
||||||
NetExpr*word_;
|
NetExpr*word_;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue