V0.9: A concatenation may also need a BUFZ to hold the drive strength

Just like a select a concatenation needs a BUFZ to hold the drive strength.
This commit is contained in:
Cary R 2013-02-12 18:35:28 -08:00
parent c84eec1d60
commit 2777a8b00b
1 changed files with 5 additions and 4 deletions

View File

@ -189,11 +189,12 @@ void PGAssign::elaborate(Design*des, NetScope*scope) const
need_driver_flag = false;
}
/* When we are given a non-default strength value and if the
* drive source is a bit, part or indexed select we need to
* add a driver (BUFZ) to convey the strength information. */
/* When we are given a non-default strength value and if the drive
* source is a bit, part, indexed select or concatenation we need
* to add a driver (BUFZ) to convey the strength information. */
if ((drive0 != Link::STRONG || drive1 != Link::STRONG) &&
(dynamic_cast<NetESelect*>(rval_expr))) {
((dynamic_cast<NetESelect*>(rval_expr)) ||
(dynamic_cast<NetEConcat*>(rval_expr)))) {
need_driver_flag = true;
}