From 2777a8b00b7d365a347cfa58c0ef85ec4b78eb89 Mon Sep 17 00:00:00 2001 From: Cary R Date: Tue, 12 Feb 2013 18:35:28 -0800 Subject: [PATCH] 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. --- elaborate.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/elaborate.cc b/elaborate.cc index 9548e1ebe..ec436b9b0 100644 --- a/elaborate.cc +++ b/elaborate.cc @@ -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(rval_expr))) { + ((dynamic_cast(rval_expr)) || + (dynamic_cast(rval_expr)))) { need_driver_flag = true; }