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; need_driver_flag = false;
} }
/* When we are given a non-default strength value and if the /* When we are given a non-default strength value and if the drive
* drive source is a bit, part or indexed select we need to * source is a bit, part, indexed select or concatenation we need
* add a driver (BUFZ) to convey the strength information. */ * to add a driver (BUFZ) to convey the strength information. */
if ((drive0 != Link::STRONG || drive1 != Link::STRONG) && 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; need_driver_flag = true;
} }